楊燕,武旭棟,杜康
(蘭州交通大學電子與信息工程學院,甘肅蘭州 730070)
在霧霾等天氣條件下,光線經過大氣會受到大氣中懸浮顆粒(如灰塵、泡沫、薄霧等)的吸收和散射效應的影響,使得在霧霾天氣條件下拍攝的圖像質量嚴重降低,產生對比度下降、圖像模糊、顏色失真[1]等一系列問題,給后續更高級的計算機視覺任務造成困難.例如在衛星遙感監測、無人駕駛系統等對圖像質量有著嚴格要求的圖像處理系統中,輸入因霧霾導致的降質圖像會嚴重影響處理系統的效能.因此,對受霧霾影響的圖像進行清晰化處理在圖像處理系統中具有非常現實的研究意義.
由于有霧圖像中霧氣分布不均勻,霧濃度難以估計,導致對單幅霧圖進行清晰化處理變得非常困難.經過多年的發展,研究人員提出了三類不同的去霧方法,即基于圖像增強的方法、基于圖像先驗知識的方法及基于深度神經網絡的方法[2].在早期的圖像去霧算法研究中,研究人員利用圖像增強的方法有效改善了霧圖的視覺感知效果,但是基于圖像增強的方法在處理過程中并未考慮圖像降質的本質原因,導致復原圖像部分細節信息丟失.基于先驗知識的方法主要是以大氣散射模型[3]為基礎,輔以不同的先驗信息估計出透射率和大氣光值,代入模型實現圖像清晰化.例如,Tan[4]在清晰圖像對比度高于有霧圖像的假設基礎上,通過對局部對比度進行最大化的方法來復原霧圖;He 等人[5]通過對大量圖片的觀察實驗提出了暗通道先驗,該方法可以簡單有效地獲取有霧圖像透射率,從而對多數霧圖進行有效的恢復.此類方法中還包括Zhu等人[6]提出的顏色衰減先驗、Wang等人[7]提出的線性傳輸等,盡管這些基于先驗知識的去霧算法在物理模型的支撐下取得了極大的進展,但是多數先驗知識仍具有很大的局限性,在處理霧圖時常會因為不滿足先驗知識而導致復原圖像出現色彩失真、去霧不徹底的問題.
目前,圖像去霧領域的研究主流逐漸向基于深度學習的方法靠近[8].Cai 等人[9]在深度學習應用于圖像去霧領域的初期階段提出了一種基于卷積神經網絡CNN(Convolutional Neural Network)的去霧網絡(DehazeNet),該網絡提出了利用深度學習獲取有霧圖像與透射率之間的關系從而得到霧圖透射率的方法來代替傳統算法中使用先驗知識來獲取有霧圖像的透射率;為了能夠盡量減小復原過程中所產生的誤差,Li 等人[10]提出一種一體化除霧網絡AOD-Net(All-in-One Network for Dehazing),將大氣散射模型中的未知透射率和大氣光值統一簡化為參數K,通過卷積神經網絡來學習有霧圖像和K之間的關系,從而達到圖像去霧的目的;Ren 等人[11]提出一種用于圖像去霧的多尺度卷積神經網絡,該網絡利用粗尺度網絡對透射率進行粗略估計,同時用另一個細尺度網絡對粗略透射率進行優化.Zhang 等人[12]基于大氣散射模型提出了密連金字塔去霧網絡DCPDN(Densely Connected Pyramid Dehazing Network),它可以共同學習霧圖透射率、大氣光值來進行去霧,然而該網絡在進行透射率估計的過程中未充分考慮各特征圖之間的信息差異,導致網絡處理性能受到影響;Qin等人[13]提出了一種基于神經網絡的特征融合注意力網絡FFA-NET(Feature Fusion Attention Network),該網絡通過多次使用通道、像素注意力機制來有效提取圖像全局及局部信息,但該網絡在學習過程中忽略了圖像整體細節紋理信息的提取,對于真實天氣下的霧圖處理效果不佳.上述基于深度學習的去霧方法在一定程度上改善了霧圖的質量,但網絡結構往往沒有充分考慮霧圖的各項特征,容易出現過擬合現象,并且對真實霧圖去霧不徹底容易出現顏色過飽和[14]等問題.
針對上述問題,本文提出一種能夠有效提取細節紋理特征及全局內容特征的圖像去霧網絡.利用離散小波變換充當固定參數的卷積塊來提取圖像細節紋理特征,同時使用本文提出的特征注意力模塊獲得圖像全局內容特征.隨后,采用T 型結構將不同時期獲取的圖像特征進行融合,最終經過圖像復原模塊獲得最終復原圖像.本文所提網絡能夠全面獲取圖像特征,復原結果清晰自然.
本文在傳統CNN 網絡的基礎上,設計了一個結合離散小波變換及注意力機制的T 型去霧網絡結構,該網絡不同于傳統網絡模型,可直接實現從有霧圖像到清晰無霧圖像的復原過程.本文網絡主要包含三個部分:多級特征[15]提取模塊、多級特征融合模塊以及復原模塊.接下來將對所提網絡的主要構成部分、總體框架以及所使用的損失函數進行介紹.
作為一種傳統的圖像處理手段,小波變換[16]通過將圖像信號分解為由原始小波位移和縮放之后的一組小波來對圖像進行變換,在圖像處理領域有著非常廣泛的應用.二維離散小波變換在圖像處理中的分解及重構過程如圖1 所示,圖像首先通過低通濾波器以及高通濾波器,并沿每一行的方向進行下采樣,從而獲得原始圖像在水平方向上的低頻分量L和高頻分量H,之后使變換所得數據再次通過低通和高通濾波器,并沿列方向進行下采樣,最終獲得4個分量,分別為{LL,LH,HL,HH}.與此相反,逆離散小波變換則是通過對獲得的4 個分量分別在垂直和水平方向上使用相同濾波器進行上采樣來重構原始圖像.離散小波變換在圖像處理中的應用過程如圖1所示,正如之前提到的,圖像首先被分解為來自原始圖像的低頻分量以及原始圖像水平、垂直、對角線方向的高頻信息.重構過程則利用相同濾波器進行上采樣,獲得原始圖像.

圖1 二維離散小波變換過程示意圖Fig.1 Process of the 2D discrete wavelet transform
由于離散小波變換對圖像進行處理的過程與神經網絡中對圖像進行卷積采樣操作的過程類似[17],因此神經網絡中的小波變換完全可以視為固定參數的卷積層,且由于離散小波變換的可逆性,其在處理過程中不會造成信息丟失,所以在網絡模型中采用離散小波變換可以更好地提取和保留圖像的細節信息[18].因此,本文將離散小波變換嵌入網絡模型中來代替進行上、下采樣的卷積層,并通過多次迭代使用以提取多尺度的邊緣細節信息.
全局特征主要專注于整幅圖像的顏色和紋理等,可以提供良好的全局視覺效果,但是局部特征中所包含的局部顏色和局部紋理也會影響整體的視覺感知效果.為此,本文設計了一種新的注意力模塊,包括全局特征提取分支以及局部特征提取分支,通過對兩個分支的聯結,將全局特征與局部細節特征充分融合,如圖2 所示.具體地,全局特征提取分支由卷積神經網絡注意模塊CBAM(Convolutional Block Attention Module)及3 × 3 的卷積層組成,局部特征提取分支則由像素注意力模塊及3 × 3 卷積層構成.

圖2 殘差空間-像素注意力模塊Fig.2 The structure of RC-PA
1.2.1 CBAM塊
圖3 顯示了CBAM 模塊[19]的整體結構,這是一種適用于卷積神經網絡的簡單注意力模塊,它通過對輸入的中間特征圖像分別沿著通道和空間兩個獨立維度進行推斷得出初始注意力權重,之后再通過對初始中間特征圖像進行殘差連接自適應特征調整.為了能夠更為完整地學習需要強調或抑制的信息來有效提升網絡性能,CBAM 模塊依次應用通道和空間注意力模塊,以便每個分支都能夠學習通道和空間軸上參與的內容和位置信息,提升網絡對全局特征的把控能力.

圖3 CBAM模塊圖Fig.3 The structure of CBAM
1.2.2 像素注意力模塊
圖4 顯示了像素注意力模塊的結構,該模塊利用了霧度特征在圖像不同像素區域分布不均勻的現象,直接將中間特征F輸入具有兩個卷積層及Relu和Sigmoid 激活函數的像素注意力模塊之中來提升網絡的表示能力,并通過對輸入特征進行逐像素的調整來達到有選擇性加強局部細節及抑制無用特征的目的.通過對像素注意力模塊的使用,使得網絡對高頻及濃霧區域的關注度更高,增強了網絡對有霧圖像邊緣區域及紋理細節的學習效果.其表達式如式(1)所示:

圖4 像素注意力模塊Fig.4 The structure of pixel attention

最后,為更好提升網絡性能,將輸入中間特征F與PA 進行殘差連接來獲得像素注意模塊的最終輸出特征F*,如式(2)所示:

1.2.3 網絡整體結構
本文所提網絡整體結構如圖5 所示.首先將輸入的三通道圖像經過離散小波變換及卷積變換轉換為12通道及16通道的圖像數據,然后將其輸入殘差空間-像素注意力模塊來獲取圖像細節及全局特征,之后多次迭代使用離散小波變換及其逆變換和殘差空間-像素注意力模塊來提取多尺度霧圖特征.在此過程中,圖像特征經過離散小波變換的運算,數據大小轉換為上級特征的四分之一,通道數變為上級特征的4 倍,而離散小波逆變換則在圖像重構過程中將圖像數據大小和通道數進行恢復.

圖5 網絡整體結構Fig.5 Architecture of the network
為了能夠在網絡學習過程中更好地表達圖像主要特征,本文在利用多級特征提取模塊獲得不同尺寸的霧圖特征之后,通過所提出的T 型網絡結構將各級對應尺寸的分解及重構特征進行融合,并使用上采樣操作將不同尺寸的融合特征調整為相同大小,之后利用離散小波逆變換重構清晰圖像.最后,將重構清晰圖像與原始霧圖進行殘差連接來進行色彩恢復得到最終清晰復原圖像.
在本文網絡訓練過程中,選擇使用將均方誤差損失及感知損失進行組合得到的組合損失函數來訓練本文網絡.均方誤差損失是單幅圖像去霧中最為廣泛使用的損失函數,具有提升有霧圖像與原始圖像之間結構相似性的優勢,其表達式如式(3)所示:

式中:N、W、H分別表示圖像維度、寬度、高度,Ji表示有霧圖像表示原始圖像.
感知損失則用于加強有效特征提取并保留原始顏色信息,利用感知損失可以計算霧圖與原始圖像之間的特征差異,基于VGG16[20]圖像分類網絡,其定義如式(4)所示:

式中:CjWjHj表示第j層特征圖尺寸大小.
最后,將上述兩項損失函數進行線性組合得到最終完整損失函數,其表達式如下:

式中:Lmse和Lper分別表示均方誤差損失及感知損失函數,α用來調整兩個損失函數之間的權重.
在本節中,首先將對實驗過程中所使用的數據集及訓練細節進行介紹,其次通過消融實驗來證明T型網絡結構中各模塊的合理性,最后對網絡在合成和真實世界數據集中進行定量和定性評價,證明本文算法的有效性.
數據集:本文使用RESIDE數據集[21]進行網絡模型訓練和測試工作,在訓練過程中,采用了RESIDE數據集中的兩個由合成室外和室內霧圖所組成的子集ITS 和SOTS 進行訓練和測試.其中ITS 包含1 399 張室內深度數據集的清晰圖像及由其衍生出的13 990 張合成霧圖,SOTS 則由500 張室內和500張戶外合成有霧圖像和其對應的清晰圖像組成.
訓練設置:為了能夠加速網絡訓練過程,本文采用適應性矩陣估計(Adam)優化算法[22],并將學習動量參數和學習率變化比率分別設置為0.9 和0.999.此外,將輸入的訓練圖像尺寸統一設置為680×480,初始學習率設置為0.0 001,batchsize 設置為8,在基于pytorch 框架下,在Ubuntu 環境下使用NVIDIA 1080Ti GPU對網絡進行100次迭代訓練.
為進一步證實本文所提殘差空間-像素注意力模塊及利用離散小波變換代替上下采樣操作方法的優越性,本文分別從以下兩個方面進行消融實驗來評估本文所提方法的優勢.
首先,利用殘差空間-像素注意力模塊中不同組件進行消融實驗來評估所提模塊的影響,主要考慮以下組合:1)Conv+Relu 組合;2)殘差空間注意力模塊(RCA);3)殘差像素注意力模塊(RPA);4)殘差空間-像素注意力模塊(RC-PA),即所提網絡模塊.為公平起見,在訓練過程中各組合輸入圖像尺寸大小及訓練次數等基礎實驗設置完全一致,結果如表1所示.

表1 消融實驗中PSNR和SSIM 結果Tab.1 Comparison of PSNR and SSIM tested on ablation experiments
表1 展現了在SOTS 室內數據集中利用上述4 個不同組合模塊進行實驗后得到的對比結果,可以從實驗結果中觀察到本文所提出的RC-PA 模塊相較于其他組合模塊擁有更高的峰值信噪比PSNR(Peak Signal to Noise Ratio)和結構相似性SSIM(Structural Similarity)[23],也從側面證明通過對各組合的疊加可以有效提升網絡去霧性能,獲得更好的視覺感知效果.
其次,通過將離散小波變換替換為普通卷積層進行上下采樣來獲得在網絡中使用離散小波變換與上下采樣卷積層的對比結果,從而評定離散小波變換對網絡整體性能所帶來的具體影響.客觀對比實驗結果如表2所示.
在表2 中可以觀察到使用離散小波代替上下采樣卷積層的做法能夠大幅度提升PSNR 及SSIM,證明了在網絡模塊中嵌入離散小波變換來代替進行上下采樣的卷積層具有更高的實用性,能夠有效提升網絡整體表現能力.

表2 離散小波變換的影響Tab.2 Influence of the DWT
為驗證本文所提算法在具體應用中的有效性,將本文所提網絡與DCP[5]、AOD-Net[10]、Dehaze-Net[9]、FFA-Net[13]和KTDN[24]等5 種現有算法分別在合成數據集及真實霧圖數據集中進行測試,采用SSIM 和PSNR 將本文算法與現有去霧算法進行比較,通過對比試驗來證明本文算法的優越性.
2.3.1 在合成數據集上實驗
表3 展示了在ITS 室內合成數據集和SOTS 合成數據集中進行對比實驗之后所獲得的各算法平均SSIM 和PSNR.從表3 中可以看出,本文所提T-NET去霧算法相較于其他算法可以獲得更高的SSIM 和PSNR,從客觀指標中證明了由本文算法進行處理后獲得的無霧圖像更接近于原始清晰圖像.

表3 在合成數據集上PSNR 和SSIM 結果Tab.3 Comparison of PSNR and SSIM tested on synthetic hazy images
圖6 和圖7 分別展示了在合成室內圖像和合成戶外圖像上進行的主觀對比實驗結果,通過對實驗結果的觀察可以發現其余算法都存在部分缺陷.由圖6(b)、圖7(b)可知,盡管DCP 算法的去霧效果圖更加清晰,但它在部分區域會產生一定的顏色失真.AOD-Net 和DehazeNet 算法在圖像顏色細節的恢復中略有不足并且復原結果伴隨著部分偽影.FFANet算法則無法對霧濃度較高的圖像進行復原,復原結果常會有偽影產生,并且部分建筑區域的輸出結果會有過度增強的問題.KTDN 算法在對霧圖中的天空等高頻信息進行處理時會產生偏色等問題,嚴重影響復原圖像的主觀視覺感知效果.與上述算法相比,本文所提出的T-Net 網絡復原結果更加清晰,在高頻區域復原顏色正常,更為接近自然圖像.

圖6 室外合成霧圖的實驗結果Fig.6 Experimental results of the outdoor synthetic hazy images

圖7 室內合成霧圖的實驗結果Fig.7 Experimental results of the indoor synthetic hazy images
2.3.2 在真實數據集上實驗
為了能夠更進一步展現T-Net 網絡的普遍適用性,本文在真實霧圖數據集中選取部分圖片對T-Net網絡及現有算法分別在客觀評價指標及主觀視覺方面進行實驗對比.具體對比結果分別如圖8和表4所示.

圖8 真實場景霧圖的實驗結果Fig.8 Experimental results of real hazy images
為獲得更全面的對比實驗,引入無參考圖像質量評估方法[25],選取飽和像素點占比(r)、可見邊增加率(e)作為真實有霧圖像復原的客觀評價指標,其中可見邊增加率越大,表明圖像可視性越好,而飽和像素點占比取值越小越好.選取20 幅真實有霧圖進行實驗,并對各項指標取平均值,實驗對比結果如表4所示.

表4 有霧真實圖上r和e結果Tab.4 Comparison of r and e tested on real hazy images
從表4 中可以看出,在復原圖像的飽和像素點占比方面,本文算法對比FFA-Net 算法及KTDN 算法略有不足,但相較于其余算法具有良好的效果,說明本文算法所復原的圖像不易出現過飽和現象.其次,在可見邊增加率方面,本文算法優于其他各算法,證明了本文算法在去霧程度方面要優于現存算法,復原圖像更為清晰.綜合分析各指標,可以得出本文算法在圖像去霧方面具有一定的優越性的結論.
真實場景霧圖的實驗結果如圖8 所示,基于先驗條件的DCP算法在處理天空區域時常會錯誤估計透射率導致復原圖像在天空區域出現嚴重的偏色現象,其次受DCP算法中大氣光值選取方法的限制,大氣光值的選取常會出現較大誤差導致圖像偏亮或偏暗,如圖8(b)中第4幅圖所示.AOD-Net算法雖然整體復原效果較為良好,但是對于部分區域去霧不徹底,且細節保留能力較差.如圖8(d)中第5幅圖片所示,DehazeNet 算法雖然在霧度去除方面較為良好,但是所恢復的圖像整體色調偏暗.從圖8(e)中可以看出,FFA-Net 對景深較大的區域無法做到有效去霧,如第2 幅和5 幅圖片整體去霧程度較低,并且從第3 幅圖片可以看出處理過后的天空區域產生了嚴重的偏色現象.由KTDN 算法在圖8(f)中的表現可以看出:該算法雖然可以去除大部分區域的霧氣,但是恢復的圖像整體色調偏白,如第2幅和第5幅圖片所示,同時對部分區域仍存在去霧不徹底的問題.相較于上述算法,從圖8(g)中可以看出,本文算法在實際場景中的復原效果良好,在有效去除圖像整體霧氣的同時也很好地保留了圖像的細節信息,具有良好的視覺感知效果.
本文提出了一種能夠有效提取細節紋理特征及全局內容特征的圖像去霧網絡.首先利用離散小波變換在圖像處理過程中的可逆性及其與上下采樣卷積層的相似性,將離散小波變換視為固定參數的卷積層嵌入網絡模型中代替進行上下采樣的卷積層,以此方法來提取更多的圖像邊緣細節特征.此外,在網絡結構中使用了一種兼顧全局特征及局部信息提取的特征注意力模塊,提升了網絡在視覺感知和細節紋理信息的學習能力.最后,創新性地提出了一種T型網絡結構,通過T 型連接的方式將網絡提取的多尺度特征進行融合,擴展了網絡的表示能力.對比其他先進算法,在合成和真實世界數據集中的實驗結果表明,本文算法具有更好的魯棒性,并且在恢復圖像細節和場景適用性方面具有更大優勢.