程 玉, 陳洪剛, 王正勇, 卿粼波, 吳曉紅
(四川大學(xué) 電子信息學(xué)院, 成都610065)
天氣狀況不但影響我們的日常生活,而且影響許多視覺系統(tǒng)的功能使用,例如戶外視頻監(jiān)控系統(tǒng)和車輛輔助駕駛系統(tǒng)等。 不同的天氣其能見度也有所區(qū)別,惡劣天氣下(例如雨天、霧天)獲取的視頻圖像質(zhì)量和清晰度不高,會(huì)顯著降低依賴于圖像、視頻特征提取或視覺注意力建模的戶外視覺系統(tǒng)的性能。
一般來說,戶外天氣分類方法可以分為基于傳統(tǒng)手工特征的分類方法和基于卷積神經(jīng)網(wǎng)絡(luò)的分類方法。 Roser 等人[1]定義雨天圖像中的感興趣區(qū)域(ROI),并利用直方圖特征來識(shí)別雨天天氣。 Yan等人[2]提出采用梯度直方圖、顏色直方圖以及道路輔助信息對晴天、陰天和雨天進(jìn)行分類。 Zhao 等人[3]提出動(dòng)態(tài)天氣條件(雨、雪等)的像素強(qiáng)度隨時(shí)間波動(dòng),而靜態(tài)天氣條件(晴、霧等)幾乎保持不變,并且根據(jù)差異利用時(shí)空和顏色特征來進(jìn)一步估計(jì)天氣類別。 Li 等人[4]提出根據(jù)不同特征之間的距離構(gòu)建決策樹并對天氣進(jìn)行分類。
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像分類、目標(biāo)檢測與識(shí)別等各種計(jì)算機(jī)視覺任務(wù)中表現(xiàn)出了壓倒性的性能,包括AlexNet[5]、VGGNet[6]和ResNet[7]等一些優(yōu)秀的卷積神經(jīng)網(wǎng)絡(luò)在很大程度上超越了傳統(tǒng)的天氣分類算法。 Elhoseiny 等人[8]提出在兩類天氣分類數(shù)據(jù)集上直接對AlexNet[5]網(wǎng)絡(luò)進(jìn)行微調(diào),取得了較好的結(jié)果。 Lu 等人[9]將傳統(tǒng)天氣特征與CNN 提取的特征相結(jié)合,進(jìn)一步提高了分類性能。 Liu 等人[10]提出訓(xùn)練一個(gè)CNN 模型,結(jié)合稀疏分解對天氣狀況進(jìn)行分類。 Guerra 等人[11]在已有方法的基礎(chǔ)上,提出一個(gè)基于超像素掩碼、CNN 和SVM 分類器的框架來檢測雨、霧和雪這3 個(gè)天氣類別;Zhao等人[12]提出使用一個(gè)基于CNN 的模型,該模型包含一個(gè)LSTM 注意模型,在給定時(shí)間內(nèi)根據(jù)輸入圖像的特征推斷出天氣類別。 Hapsari 等人[13]采用基于主成分分析和線性判別分析的方法,設(shè)計(jì)基于云圖像的天氣分類系統(tǒng)。 然而,目前大多數(shù)相關(guān)算法只研究了較少的天氣種類,準(zhǔn)確率也有待提高。 因此,如何在保證天氣分類準(zhǔn)確性的同時(shí)增加天氣的種類,逐漸成為天氣分類算法的研究趨勢。
本文提出一種端到端的多類天氣分類算法。 首先通過卷積網(wǎng)絡(luò)ResNet 提取圖像的特征圖,然后利用全局-局部注意模型獲得圖像的全局及局部特征,再將特征進(jìn)一步結(jié)合以增強(qiáng)特征表達(dá),得到最終天氣分類結(jié)果。
隨著深度卷積網(wǎng)絡(luò)的不斷完善,在網(wǎng)絡(luò)訓(xùn)練精度達(dá)到飽和后暴露出快速退化的問題。 為了解決這個(gè)問題,He 等人[7]提出了一種基于殘差學(xué)習(xí)的深度卷積神經(jīng)網(wǎng)絡(luò)-ResNet,減輕了深度網(wǎng)絡(luò)的降級(jí)問題。 網(wǎng)絡(luò)中多個(gè)層組成的結(jié)構(gòu),當(dāng)輸入為x 時(shí),學(xué)習(xí)的特征表示為H(x) ,殘差學(xué)習(xí)的目的是確定學(xué)習(xí)特征和輸入之間的殘差F(x)=H(x) -x,即獲取的特征為H(x)= F(x) +x。 與VGGNet 和GoogleNet等網(wǎng)絡(luò)模型相比,多層網(wǎng)絡(luò)直接擬合x 與H(x) 之間的映射關(guān)系更容易學(xué)習(xí)殘差關(guān)系。 殘差學(xué)習(xí)單元的結(jié)構(gòu)如圖1 所示,建立x 與F(x) 的映射,通過恒等映射直接得到x,當(dāng)F(x) 為0 時(shí),殘差學(xué)習(xí)單元相當(dāng)于進(jìn)行簡單的映射,這不會(huì)降低網(wǎng)絡(luò)性能。 但是在實(shí)際情況下F(x) 不為0 ,因此,殘差學(xué)習(xí)單元可以基于圖像輸入學(xué)習(xí)新特征并改善網(wǎng)絡(luò)性能。 具體可以表示為:
其中,xl和xl+1表示第一個(gè)殘差學(xué)習(xí)單元的輸入和輸出,F(xl,Wl) 表示殘差函數(shù), h(xl) 表示恒等映射。
圖1 殘差學(xué)習(xí)單元Fig. 1 Residual learning unit
本文提出了一種基于全局-局部注意機(jī)制的戶外交通圖像天氣分類算法,算法框架如圖2 所示,主要步驟為:
(1)輸入待分類圖像,選擇ResNet-50 作為基礎(chǔ)網(wǎng)絡(luò),獲得圖像的卷積特征圖。
(2)構(gòu)建一種改進(jìn)的通道注意模型來引入全局注意分支(Global attention mechanism),通過堆疊一系列的卷積層、非線性層和池化層,獲得能夠充分表征全局信息的特征。
(3)結(jié)合局部注意分支網(wǎng)絡(luò)(Local attention mechanism),通過學(xué)習(xí)得到與圖像語義信息最具鑒別性的局部特征。
(4)將圖像的全局特征和局部特征進(jìn)行特征融合,增強(qiáng)之后的特征圖用于天氣分類模型,得到天氣分類結(jié)果。
圖2 本文算法框架Fig. 2 Algorithm framework of proposed method
戶外圖像的特征提取和信息表達(dá)可以為天氣分類提供重要的分析依據(jù),圖像內(nèi)容特征提取最終可以反映圖像中包含的信息。 多數(shù)研究認(rèn)為不同信道的特征權(quán)值比例相同,實(shí)際上圖像中某些通道特征比其他通道特征具有更多的信息,從不同的通道中選擇特征有助于提高分類的準(zhǔn)確性。 因此,Hu 等人[14]提出壓縮-激活網(wǎng)絡(luò)(SE-Net) 建立各通道之間的相互依賴關(guān)系以增強(qiáng)分類網(wǎng)絡(luò)的表征能力。 受SE-Net 的啟發(fā),本文使用Sequeeze-Exciatation 模塊學(xué)習(xí)不同通道特征圖之間的相互關(guān)系,并對各通道權(quán)重進(jìn)行自適應(yīng)調(diào)整。 SE 模塊的結(jié)構(gòu)如圖3 所示,包含壓縮變換和激活變換。 給定輸入特征圖F =[F1,F2,...,FC] ,C 表示特征圖的通道數(shù),利用全局平均池化對圖像進(jìn)行壓縮操作,即:
其中,H × W 表示特征圖大小, Fc(m,n) 表示在(m,n) 處的特征圖,zc表示F 的全局統(tǒng)計(jì)特征。
其次是激活操作,通過全連接層(FC)降低通道數(shù),而后經(jīng)過relu 激活層和下一個(gè)全連接層,將通道數(shù)還原至C 個(gè)通道,最后利用Sigmoid 激活函數(shù)得到各通道的權(quán)重系數(shù),此過程可以表示為
其中,σ 和δ 分別表示Sigmoid 激活函數(shù)和relu激活函數(shù),W1c∈和W2c表示兩個(gè)全連接層的權(quán)重。
圖3 全局注意機(jī)制Fig. 3 Global attention mechanism
通過學(xué)習(xí)特征 圖的通道權(quán)重信息以引入全局分支,對不同的通道分配不同的權(quán)重,進(jìn)行特征的通道自適應(yīng)調(diào)整。 則各通道的全局特征可以表示為:
從整幅圖像中提取的全局特征可以獲得圖像上下文信息,但也忽略了局部細(xì)節(jié)信息。 因此,在基于SE-Net 的全局注意模塊之外,構(gòu)建一種有效的局部注意模塊,提取圖像的局部特征圖。 通過局部注意分支,從相同的特征圖中學(xué)習(xí)更多的判別語義信息,將局部特征和全局特征結(jié)合起來,得到一個(gè)綜合的特征表示。
空間注意能夠強(qiáng)調(diào)或抑制不同空間位置的特征,突出更有用的局部空間信息。 如圖4 所示,采用一種基于空間信息的注意模塊以提取圖像不同空間的特征信息,首先對輸入卷積特征圖譜F ∈RH×W×C進(jìn)行最大值池化和平均池化操作,分別得到兩個(gè)特征圖fmax∈RH×W×1和favg∈RH×W×1。 然后將兩者進(jìn)行特征級(jí)聯(lián),得到級(jí)聯(lián)之后的特征圖fsum∈RH×W×2,即
其中⊕表示特征級(jí)聯(lián)操作。 為保證特征圖大小不變,使用步長為1,填充大小為1,卷積核大小為3×3的卷積層對fsum進(jìn)行卷積操作,即
其中,fl表示通過卷積運(yùn)算得到的中間層特征圖譜。 通過Sigmoid 激活函數(shù)將各空間位置的權(quán)重歸一化到區(qū)間[0,1],得到各空間位置的權(quán)重系數(shù)。此過程可以表示為
其中, σ 表示Sigmoid 激活函數(shù), i ∈[1,W],j ∈[1,H] 表示各空間位置。 各位置的局部空間特征可以表示為:
通過引入局部注意分支得到最具鑒別性的局部空間特征信息可以表示為
全局注意機(jī)制和局部注意機(jī)制分別從全局和局部對特征圖進(jìn)行自動(dòng)校正,突出有用信息并抑制無用信息,從而增強(qiáng)特征圖的判別能力。
圖4 局部注意機(jī)制Fig. 4 Local attention mechanism
實(shí)驗(yàn)數(shù)據(jù)集大部分圖片來自BDD100K 數(shù)據(jù)集。 BDD100K 數(shù)據(jù)集包含100 000 張行車視頻圖像,涵蓋了晴天、陰天和雨天等不同的天氣狀況。 由于BDD100K 數(shù)據(jù)集中晴天圖像較多,訓(xùn)練數(shù)據(jù)分布不均勻,采取減少晴天圖像數(shù)量的策略,并從其他數(shù)據(jù)集中獲取霧天、雨天圖像,完成相應(yīng)的標(biāo)簽處理,數(shù)據(jù)集共有100 000張各類天氣的圖片,訓(xùn)練集和測試集比例為8 ∶2 。
實(shí)驗(yàn)環(huán)境為Ubuntu18.04 64 位操作系統(tǒng),顯卡為NVIDIA GTX 2080Ti,深度學(xué)習(xí)框架選用Pytorch?;A(chǔ)網(wǎng)絡(luò)為ResNet-50,網(wǎng)絡(luò)訓(xùn)練迭代次數(shù)為20次,學(xué)習(xí)率設(shè)為0.001,batch_size 設(shè)為16。
為了衡量算法的性能,選擇分類的準(zhǔn)確率作為評價(jià)指標(biāo),其計(jì)算方法如公式(12):
其中, nsamples表示樣本總數(shù);1(x) 是一個(gè)指標(biāo)函數(shù),表示分類結(jié)果和樣本標(biāo)簽相同。
算法對測試集中各類天氣分類結(jié)果如表1 所示。
表1 本文算法的天氣分類結(jié)果Tab. 1 Weather classification results of proposed method
從表1 可以看出,該算法對不同天氣類別的圖像分類結(jié)果有較高的準(zhǔn)確率。 測試集包含4144 張晴天圖像、4831 張陰天圖像、3547 張霧天圖像、3209張雨天圖像和4269 張雪天圖像,其中晴天圖像的正確分類數(shù)量為4025,準(zhǔn)確率為97.13%;陰天圖像的正確分類數(shù)量為4441,準(zhǔn)確率為91.93%;霧天圖像的正確分類數(shù)量為3249,準(zhǔn)確率為91.60%;雨天圖像的正確分類數(shù)量為2910,準(zhǔn)確率為90.68%;雪天圖像的正確分類數(shù)量為4022,準(zhǔn)確率為94.21%。 在測試中也存在分類錯(cuò)誤的情況,例如,由于拍攝角度的問題,晴朗天空區(qū)域只占圖片的小部分,大部分為陰影覆蓋的道路,容易將晴天圖像分類為陰天圖像。另外,由于數(shù)據(jù)集中有些雨天圖片也存在霧氣,導(dǎo)致霧天圖像和雨天圖像之間存在相互誤檢的情況。
為了評估該算法的有效性,以ResNet50 為主干網(wǎng)絡(luò),分別使用不同的注意機(jī)制網(wǎng)絡(luò)提取圖像特征,并對戶外圖像進(jìn)行分類,基于不同注意機(jī)制的分類準(zhǔn)確率統(tǒng)計(jì)如表2 所示。
表2 天氣分類結(jié)果對比Tab. 2 Comparison of weather classification results %
表2 中,ResNet-50 表示不使用注意機(jī)制,ResNet- 50 +GAM 表示只引入全局注意機(jī)制,ResNet-50+LAM 表示只引入局部注意機(jī)制,ResNet-50+GAM+LAM 表示基于全局-局部注意機(jī)制的天氣分類算法。 由表2 可知,該算法平均準(zhǔn)確率為93.11%,對于不同天氣的圖像有更高的準(zhǔn)確性。ResNet-50 主干網(wǎng)絡(luò)提取的特征是淺層語義特征,針對晴天圖像和陰天圖像分類的準(zhǔn)確率較高,這是因?yàn)榍缣旎蜿幪斓膱D像特征比較明顯。 引入全局注意機(jī)制后,各類天氣的分類準(zhǔn)確率得到了較大的提高,但是對于具有混淆性的圖像無法得到準(zhǔn)確的結(jié)果,例如對比晴天圖像分類準(zhǔn)確率為90.48%,雪天圖像分類準(zhǔn)確率為88.07%,雨天圖像的分類準(zhǔn)確率為80.10%,因?yàn)橛晏靾D像中含有水汽,霧氣等特征,比較容易混淆。 局部注意機(jī)制只關(guān)注圖像的局部特征而無法反映圖像整體信息,導(dǎo)致分類準(zhǔn)確率較低。結(jié)合全局和局部注意機(jī)制,在圖像整體信息的基礎(chǔ)上得到具有鑒別性的局部特征,不僅能夠?qū)σ话銘敉鈭D像的天氣進(jìn)行準(zhǔn)確分類,還提高了混淆性圖像的天氣分類準(zhǔn)確率。 綜上所述,該算法具有更好的天氣圖像分類性能。
本文提出一種用于戶外交通場景圖像天氣分類算法,通過引入全局注意機(jī)制和局部注意機(jī)制,學(xué)習(xí)全局上下文信息和局部語義信息,將全局信息和局部信息進(jìn)行融合形成一種有效的特征表示,對于多種天氣的圖像均有較好的分類效果。