韋照川,王皓坤,紀元法
(桂林電子科技大學廣西精密導航技術與應用重點實驗室,廣西 桂林 541004)
霧霾是大自然界中十分常見的一種天氣現象。在霧天環(huán)境下,大氣中的水分凝結成細微水滴懸浮于空氣中,大氣中可見光傳的傳播途經這些微型水滴產生折射和散射,致使多媒體系統捕獲到景物圖像的入射光線發(fā)生衰減,成像畫質偏灰白色、色彩飽和度以及對比度降低。圖像內部眾多細節(jié)信息丟失,提高了目標檢測與跟蹤、情感分割等高級視覺任務的難度。圖像去霧問題在計算機視覺、圖像處理領域中是一個經典問題,對霧天環(huán)境中捕獲到的霧霾圖像進行有效的去霧處理、恢復圖像視覺效果、增強場景內部細節(jié)信息等研究受到了廣泛關注,文獻[1-3]中提出了基于圖像去霧算法的研究。
早期進行去霧的方法大多是基于圖像增強技術,常用的此類方法主要包括直方圖均衡化算法[4]、同態(tài)濾波算法[5]、Retinex算法(視網膜皮層理論)[6]。此類去霧算法直接通過該改變圖像對比度、飽和度和亮度等內在信息,以突顯出圖像中有價值的信息,在一定程度上改善圖像的視覺效果。但此類方法沒有考慮到圖像霧化的物理模型,沒有真正意義上的實現去霧。基于先驗的去霧算法通常使用先驗理論或假設對全局大氣光值和透射率進行估計,將所得估計值帶入大氣散射模型中恢復出清晰圖像。由何凱明等人[7]通過對大量戶外清晰圖像觀察統計,提出的暗通道先驗去霧算法是基于先驗方法中具有代表性的一種。此外,Zhu[3]等人,對有霧圖像建立線性模型,使用監(jiān)督學習的方法對模型中的參數進行訓練,取得了良好的去霧效果。相比于圖像增強去霧方法,此類算法效果得到明顯的提升,但由于強烈依賴所提先驗假設理論的準確性,假設不準確情況下去霧結果中通常會出現色彩失真、光暈偽影以及物體輪廓模糊等現象,致使去霧后的圖像不能滿足高級視覺任務的需求。
圖1 多路連接與特征聚合圖像去霧網絡
近些年,深度學習的崛起在計算機視覺領域中體現出良好的性能,越來越多的研究人員致力于將深度學習的方法用于解決圖像去霧問題中。如:ren等[8]通過使用一種多尺度卷積神經網絡對透射率進行估計,實現單幅圖像去霧。Cai等[2]在可訓練端到端去霧網絡中首次使用了雙邊整流線性單元(BReLu)作為激活函數,對輸入霧霾圖像的透射率進行估計,實現去霧。Li等[9]提出一種多合一除霧網絡,該網絡重新構造大氣散射模型參數,將透射率和全局大氣光值引入到一個新的參數中,通過輕量級卷積神經網絡直接恢復出無霧圖像。Zhang等[10]提出一種端到端深度學習除霧網絡,同時對全局大氣光值、透射率和去霧圖像學習。Shao等[11]利用一種域自適應范式,利用清晰圖像的特性將真實模糊圖像融入訓練網絡中,進一步提高區(qū)域的自適應去霧。上述基于深度學習的去霧算法,學習過程中忽略了圖像本身的內在信息,導致去霧后的圖像輪廓細節(jié)不清晰,并且網絡中使用的最大池化操作,容易造成信息丟失導致去霧不完全等問題。
基于以上提出的諸多問題,本文提出一種基于多尺度連接的區(qū)域自適應去霧算法。網絡框架類似于U-Net網絡,主要由編碼部分、上采樣層、下采樣層和解碼部分組成,其網絡結構如圖1所示。算法相比于其算法有以下優(yōu)點:1)在編碼網絡和解碼網絡之間使用新穎的交互式多路連接,將各級編碼層中提取到的特征信息送入解碼網絡,為解碼操作提供足夠的細節(jié)信息。2)利用“微元”的思想使用眾多矩形像素塊,將圖像中的霧霾區(qū)域劃分為多個霧濃度分布“近似”均勻的矩形區(qū)域,對各區(qū)域執(zhí)行非局部操作提取背景信息。3)使用離散小波變換(Discrete Wavelet Transformation,DWT)[12]和逆離散小波變換(Inverse Discrete Wavelet Transform,IDWT)[12]進行尺度變化操作,防止采樣過程中特征信息丟失。
在此節(jié)中,將描述本文所提出網絡的體系結構,該結構能在合成數據集和真實數據集之間準確的去除霧霾并且保留原始圖像中的背景細節(jié)。此網絡類似于U-Net網絡結構,整體流程如圖1所示。
所述去霧網絡大致由編碼器和解碼器兩個部分組成,網絡的前三個階段構成編碼器部分,后四個階段構成解碼器部分。本文提出交互式多路鏈接,將編碼器中每一階段的輸出作為解碼器中各階段的部分輸入,多路鏈接的思想使去霧過程中可以使用更多來自不同編碼層的特征信息,不同尺度的特征信息可以使去霧的結果中保留原圖中更多細節(jié)。網絡中各級編碼器均由一個密集連接殘差網絡(Densely Connected Residual Network,DCRN)和一個矩形區(qū)域非局部(Rectangle Regional Non-Local,RRNL)塊組成。密集連接殘差網絡是在三個相同的3*3卷積操作和PReLU整流函數之間,使用跨越連接所構成。由于來自個各編碼層的特征信息尺度大小不同,為了在多路級連之后自適應的調整特征通道,需要在每個解碼階段前面添加了一個“壓縮激勵”(Squeeze-and-Excitation,SE)塊和一個緊隨SE塊之后的1*1卷積操作去調節(jié)通道數量。
2.1.1 壓縮激勵塊
在CNNs中逐通道注意的方法并不少見,其主要思想是利用特征之間的通道相關性。本文提出算法采用SE塊進行逐通道調整特征,SE塊的主要思想是通過顯式建模通道之間的相互依賴性來自適應地重新調整通道特征響應[13]。在SE-Net中通過全局平均池化層(Global Average Pooling,GAP),利用局部接受域之外的全局上下文信息獲取通道統計特性。為完全捕獲通道相關性,本文引入了一種門控機制,以形成通過比例去降低或提升維度的兩個全連接層(Fully Connected Layers,FC)。本文結合殘差塊[14]和逐通道注意的思想,如圖2所示構建SE塊。
圖2 SE塊模型
給定輸入特征圖X,SE塊fSE(·)能夠被表示為如下形式
S=σ(W2δ(W1HG(X)))
(1)
(2)
2.1.2 多路連接
通常類似于U-Net網絡中,編碼器和解碼器之間的連接僅存在于同一層中特征尺度相同之間,這種情況下解碼器在低級特征恢復期間,各級特征信息不能得到充分利用。然而,圖像去霧是一項低級視覺任務,需要豐富的特征信息來恢復圖中的細節(jié)。受到[15]的啟示,本文制定交互式多路連接將自各級編碼層之間的所有特征傳輸到解碼網絡中。網絡中上采樣部分的每個階段,將所有來自下采樣部分的特征信息進行聚合。因為不同層之間的特征具有不同的尺度特性,所以采用SE塊來自適應的調整通道特征。
(3)
(4)
2.1.3 密集連接殘差網絡
各編碼層將提取到不同尺度的特征信息,隨著網絡層數的持續(xù)加深,不同層之間的特征信息和層次信息組合將增多。理論上講,當然是網絡深度越深所提取到的細節(jié)信息越多,實驗結果的準確度也會相對提高。但是,在以往的大量研究中發(fā)現,隨著網絡深度加深所面臨的主要問題有“梯度彌散”或“梯度爆炸”。采用傳統解決方式對數據進行初始化和正則化,這樣雖然解決了梯度的問題,但是卻帶來了網絡性能退化和準確度降低等新問題。
本文使用殘差網絡優(yōu)化網絡性能退化問題,同時緩和了網絡加深所帶來的梯度問題。密集連接殘差網絡如圖3所示,此殘差網絡的設計簡單有效,在標準前饋卷積網絡上加入一些跳躍連接,將這一層卷積之后的特征疊加到下一層的輸入中,使網絡之間的數據流通更加順暢,提取到的特征信息更加豐富。
圖3 密集連接殘差網絡
將RRNL的輸入特征表示為,將輸入特征劃分到一個像素塊的網格中,其中是像素塊的個數,網格劃分如圖4所示,用生成輸出的線性嵌入公式如下所示
(5)
(6)
(7)
(8)
(9)
上述網絡中使用離散小波變換(DWT)和逆離散小波變換(IDWT)[12]分別進行下采樣和上采樣操作。特別的,本文還使用Haar變換,得利于這種方法的簡單性與實用性,因此Haar變換在圖像處理領域中得到廣泛的運用[16]。該變換大致基于四個濾波器進行計算。
(10)
(11)
給定濾波器fLL與平均池化層具有相同的功能,LL通過壓縮特征圖的尺寸來實現局部平移不變性(式(10、11))。LH、HL和HH包含采樣圖像中的邊緣信息。特別地,LH包含垂直邊緣信息,HL包含水平邊緣信息,因此可以有效地獲得霧霾分布的特征。上采樣過程中的IDWT操作是DWT的逆操作。
在本節(jié)中,首先介紹了本文網絡在數據集上的實現細節(jié),針對合成圖像數據集和真實圖像數據集對提出算法進行實驗。最后,進行消融研究以確定算法中各個部分的重要性。
RESIDE數據集[17]分為五個子集,包含了室內場景和室外場景圖像對(霧霾圖像/清晰圖像),分別是ITS(室內訓練集)、OTS(室外訓練集)、SOTS(合成測試集)、URHI(未注釋真實模糊圖像)和RTTS(真實驅動數據集)。對于合成模糊圖像,從ITS和OTS數據集中各選4000張共8000張合成霧圖進行訓練。從URHI真實數據集中選擇2000張真實有霧圖像進行訓練網絡。SOTS是RESIDE數據集的測試子集,為了便于分析所有進行比較的算法都在選定訓練數據集中訓練,并在SOTS測試集上評估。根據以下經典去霧算法對本文所提出的去霧算法進行對比分析:DCP[7]、CAP[3]、DehazeNet[2]、MSCNN[8]、AOD-Net[9]和GFN[1]。
使用SOT數據集,對所提網絡框架進行性能評估。如圖5所示,不同圖像去霧算法在SOTS數據集上的仿真結果,在圖5(c)和(e)中可以觀察到CAP和GFN除霧算法具有明顯的色彩失真現象,去霧后的圖片跟真實無霧圖片相差較大。如圖5(g)所示,GFN算法中某些區(qū)域的亮度明顯偏安,DCP除霧算法的第一張去霧圖像中,天空區(qū)域顯示出了明顯的色彩失真和光暈偽影等現象,而在DehazeNet和AOD-Net去霧的圖像中某些區(qū)域的部分霧霾沒有去除干凈。比較圖5中列舉出來的去霧算法,本文所提算法恢復出的無霧圖像具有更清晰的細節(jié)和輪廓,更接近真實無霧圖像。
如表1所示,在SOTS測試集中對各去霧算法進行定量比較,表中所示本文所提算法對PSNR和SSIM均有提升的表現。與較新的GDN[18]去霧算法相比,PSNR增加了1.77dB,SSIM增加了0.02。
表1 去霧結果在SOTS數據集上的定量比較(平均PSNR/SSIM)
為了進一步驗證本文所提出算法的實用性,運用六種不同經典去霧方法與本文提出算法進行實驗對比。圖6中顯示六種較新去霧算法在真實圖像上的去霧效果,MSCNN和GFN算法出現嚴重色彩失真、光暈偽影等現象,某些區(qū)域跟本文去霧效果相比更暗。DCP算法中第二行和第三行去霧后天空區(qū)域與真實情況有偏差,MSCNN中的第二行也有此類似情況出現。AOD-Net和DehazeNet去霧結果中仍有殘留霧霾出現在部分區(qū)域中。CAP去霧效果與提出的方法進行對比明顯偏暗??傮w而言,對比圖6中各算法去霧效果,本文提出的算法去霧過程中保留了更多的細節(jié)信息,去霧后的圖像色彩飽滿并且視覺效果令人愉悅。
圖5 各去霧算法在SOTS數據集上進行視覺比較注:(a)霧霾圖像、(b)DCP、(c)CAP、(d)DehazeNet、(e)MSCNN、(f)AOD-Net、(g)GFN、(h)本文提出算法、(i)清晰圖像。
圖6 在真實霧霾圖像上的視覺比較注:(a)霧霾圖像、(b)DCP、(c)CAP、(d)DehazeNet、(e)MSCNN、(f)AOD-Net、(g)GFN、(h)本文提出算法
在本節(jié)執(zhí)行消融研究,以證明本文網絡框架中所使用方法的重要性。在RESIDE數據集上進行兩個實驗的消融研究。例出實驗數據的平均值以進行觀察比對。
3.4.1 應用策略的消融研究
對提出的策略進行消融研究以評估其性能,用于比較類似U-Net的基準模型,每個階段由對應的DCRN組成。分別采用了2×2的最大池化層操作和pixel shuffle操作作為下采樣和上采樣操作。從表2中可以明顯觀察到,每種策略對于峰值信噪比(PSNR)和結構相似度(SSIM)的提高都有明顯幫助。
表2 對網絡中所提出各種策略的消融研究
3.4.2 非局部塊區(qū)域類型消融研究
為比較PRNL塊的性能,本文分別使用高矩形、寬矩形和方形非局部塊進行性能評估。表3中結果表明,方形非局部塊無論是在PSNR還是SSIM上都表現的比較出色,這表明方形像素塊對去霧效果影響較大。
表3 非局部塊區(qū)域類型的消融研究
針對傳統去霧方法對物體細節(jié)恢復不清晰以及對霧濃度不均勻的圖像去霧不干凈等問題,提出一種基于多尺度連接的區(qū)域自適應去霧算法。運用交互式多路連接和區(qū)域性非局部塊操作提取到豐富的特征信息供解碼時使用。消融研究中的數據顯示,本文提出的網絡模型和RRNL塊在去霧工作中扮演著重要的角色。對運用在RESIDE數據集上的實驗結果定性、定量分析后得出:相比GDN去霧算法,本文所提算法PSNR提高了1.77dB、SSIM提高了0.02去霧效果得到明顯提升,解決了去霧后物體細節(jié)不清晰以及去霧不完全等問題。