王 蓉,楊 燕
(蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070)
霧、霾等惡劣天氣條件下,由于空氣中懸浮的氣溶膠、水滴等顆粒會對光線產生散射,導致捕獲的室外圖像出現對比度降低、顏色失真和細節模糊等降質問題[1],對戶外物體識別、障礙物檢測、視頻監控和智能運輸等計算機視覺系統造成極大影響。因此,對降質圖像進行有效的清晰化處理具有重要的研究意義和實際應用價值。
目前,圖像去霧算法主要分為3大類:基于圖像增強的算法、基于圖像復原的算法和基于機器學習的算法。基于圖像增強的算法并未考慮圖像退化的本質原因,僅通過提高對比度、突出場景特征對降質圖像作簡單的清晰化處理,極易造成圖像過度增強且丟失局部細節,從而不能實現真正意義上的去霧。經典的基于圖像增強的算法包括小波變換[2]、直方圖均衡化[3]和Retinex算法[4]等。
基于機器學習的算法通過構建網絡模型并對其進行訓練,進而得到復原的無霧圖像。Cai等人[5]提出了一種基于端到端的卷積神經網絡架構,通過學習有霧圖像與其對應透射率圖之間的映射關系來實現場景復原。Ren等人[6]提出了一種多尺度卷積神經網絡去霧算法,首先使用粗尺度網絡對場景透射率進行粗略估計,再通過另一個細尺度網絡進一步優化得到復原圖像。Li等人[7]根據重構的大氣散射模型提出一種一體化去霧網絡AOD-Net(All-in-One Dehazing Netwok),該網絡與大多數分別估計透射率和大氣光的模型不同,可通過輕量級卷積神經網絡直接生成無霧圖像。Qin等人[8]提出了一種端到端的特征融合注意力網絡FFA-Net(Feature Fusion Attention Network),可以有效提取圖像特征并直接恢復無霧圖像,但對于真實場景有霧圖像復原效果并不理想。盡管深度學習是目前各個領域的研究熱點,但對于圖像去霧而言,由于缺乏大量的真實圖像數據集對網絡進行訓練,導致該類方法在真實場景霧圖處理方面效果欠佳,因而在實際應用中具有一定的局限性。
基于圖像復原的算法通過分析圖像退化機理建立物理模型,利用特定的先驗或假設估計模型中的未知參數,實現自然場景的有效復原。Tan[9]基于大量統計信息發現無霧圖像對比度遠高于有霧圖像,進而采取最大化局部對比度來達到去霧的目的,得到的復原圖像具有較好的視覺效果,但容易出現過飽和及光暈效應。Fattal[10]假設物體表面陰影與介質傳輸率局部不相關,通過獨立成分分析法實現場景復原,但由于缺乏足夠的顏色信息,對于濃霧圖像及灰度圖像該算法無效。He等人[11]通過觀察大量無霧圖像統計特性,提出了暗通道先驗理論,并結合大氣散射模型復原出清晰無霧的圖像,但該算法不適用于含有天空等明亮區域的圖像,且復原結果在景深突變處易出現光暈及塊狀偽影。Meng等人[12]提出了一種基于邊界約束的正則化去霧算法,以犧牲部分細節為代價來獲得較好的復原結果。Zhu等人[13]提出了一種線性顏色衰減先驗理論,對霧圖景深(指有霧圖像的場景深度)進行建模并使用監督方法學習模型參數,能恢復較多的細節信息但去霧不夠徹底。
針對上述圖像復原算法的不足,本文提出了一種改進算法,在避免暗通道先驗算法景深突變處易產生光暈偽影及天空等明亮區域偏色現象的同時,保持復原結果去霧徹底且清晰自然。首先,對大氣散射模型作對數變換,結合暗通道先驗理論提出對數域正相關關系;然后建立高斯函數進行擬合得到粗級透射率,再利用自適應伽馬校正技術與交叉雙邊濾波操作對透射率進行優化;最后,設定不同尺寸的濾波核執行閉操作,以獲得改進后的局部大氣光,結合大氣散射模型實現無霧圖像的有效復原。實驗結果表明,本文算法去霧效果較好,能有效地恢復出圖像的細節信息。
在計算機視覺和圖像處理領域中,通常以大氣散射模型[14,15]為理論基礎對霧圖形成過程進行描述,如式(1)所示:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,I(x)為有霧圖像;J(x)為無霧圖像;A為大氣光;t(x)為場景透射率,表示光線在傳播過程中未被散射且到達成像設備的部分。當大氣同質時,t(x)可表示為式(2):
t(x)=e-βd(x),0≤t(x)≤1
(2)
其中,β為大氣散射系數,d(x)為場景深度?;谖锢砟P腿レF的關鍵在于通過估計未知參數A和t(x),結合大氣散射模型從I(x)中恢復出J(x)。顯然該復原過程是一個典型的病態問題,因此需要借助一些先驗知識或約束條件來達到圖像去霧的目的。
He等人[11]通過對大量戶外無霧圖像進行統計,得出在無霧圖像非天空區域中至少存在一個顏色通道,其像素值很低甚至趨近于0,該通道稱為暗通道,用公式可表示為如式(3)所示:
(3)
其中,Jdark(x)稱為無霧圖像暗通道,Ω(x)是以像素x為中心的鄰域窗口,c表示r,g,b通道中的某個顏色通道。假設大氣光A為常數,對式(1)兩邊同時作2次最小值運算可得到式(4):
(4)
其中,Idark(x)表示有霧圖像的暗通道。結合式(3)可得透射率表達式如式(5)所示:
(5)
由于暗通道采用了2次最小值濾波操作,導致恢復圖像在景深突變處產生嚴重的光暈現象,為此He等人[11]引入Soft Matting方法對透射率進行優化,以獲得較好的邊緣保持特性,但其時間復雜度極高。后來,He等人[16]又提出使用引導濾波技術代替軟摳圖處理,算法效率得到了很好的提升。
針對暗通道先驗算法在天空等高亮區域透射率估計不準確,以及景深突變處易產生光暈效應等問題,本文提出了一種基于轉換域和自適應伽馬校正的圖像去霧算法,算法流程如圖1所示。第1部分是對透射率進行估計,首先,對大氣散射模型兩邊作對數變換,提出一種對數域正相關關系,通過構造高斯函數對其進行擬合得到透射率的粗略估計;然后,將有霧圖像轉換至HSV色彩空間提取亮度分量,構造自適應伽馬校正因子對粗級透射率進行修正,再使用交叉雙邊濾波得到優化透射率。第2部分是大氣光估計,受到局部大氣光探索方法的啟示,本文分別采用2個不同尺寸的濾波核執行閉操作處理,然后求取二者算術平均值得到均衡后的閉操作結果,從而得到改進后的大氣光A。最后,利用大氣散射模型得到復原的無霧圖像。

Figure 1 Flowchart of the proposed algorithm圖1 本文算法流程圖
假設大氣光A已知,對式(1)進行變換可得式(6):
(6)
由于有霧圖像I(x)、透射率t(x)及無霧圖像J(x)之間必然存在某種相關關系,因此為了便于分析各變量之間的相關性,可對式(6)兩邊作對數變換,將其轉換至對數域實現變量分離,并結合式(5),得到式(7):
(7)
大氣光A不影響式(7)兩邊變量之間的相關性,因此基于式(7),本文提出了一種對數域正相關關系,如式(8)所示:
ln(1-J(x))∝{ln(1-I(x))-ln(1-Idark(x))}
(8)
其中,I(x)和Idark(x)均為已知量。為了方便推導可設定中間變量temp(x),其表達式如式(9)所示:
temp(x)=ln(1-I(x))-ln(1-Idark(x))
(9)
將temp(x)從對數域轉換至標準空間,結合式(8)得到標準域下的正相關關系,如式(10)所示:
1-J(x)∝etemp(x)
(10)
由于高斯函數具有較好的分布特性,并且可以通過調節方差使其函數形狀可控[17],因此本文提出采用均值為1,方差為σ2的高斯函數來擬合式(10)中的正相關關系,從而實現無霧圖像的初始估計J0(x),如式(11)所示:
J0(x)=1-e-(1-etemp(x))2/σ2
(11)

Figure 2 Dehazing results with different values of σ圖2 不同σ值時的最終復原結果
其中,σ為標準差,其取值大小會影響無霧圖像的最終復原質量。圖2為選取不同σ值時的最終復原結果對比。從圖2b~圖2e可以看出,當σ值較小時,復原圖像較為自然,但仍有殘霧存在;當σ值較大時,圖像去霧比較徹底,但又會出現輕微的過飽和現象。通過對大量霧圖進行仿真,實驗得出當σ取0.6時圖像去霧后的復原質量最佳。
上述基于有霧圖像及其暗通道估計的初始無霧圖像J0(x)存在嚴重的塊狀偽影及光暈現象,并不能作為最終的復原結果,此處仍然估計J0(x)的目的在于實現本文透射率的粗略估計。
假設大氣光A已知,對式(1)兩邊同時執行最小通道操作,得到最小通道大氣散射模型,如式(12)所示:
(12)
對式(12)進行變形得到透射率,如式(13)所示:
(13)

(14)
其中,k為衰減系數,代表有霧圖像與其最小通道之間的衰減程度。根據大氣成像理論,無霧圖像與其最小通道間存在同樣的衰減關系,因此可通過該衰減系數對J0(x)作近似衰減,得到式(15):
(15)
結合式(13)可以得到透射率的粗略估計,如式(16)所示:
(16)
通過粗級透射率所復原的無霧圖像在部分區域出現發黑現象,并且圖像整體偏暗。為了克服上述不足,本文使用伽馬校正技術對粗級透射率進行修正,如式(17)所示:

(17)
其中,γ為校正因子。當γ>1時,圖像整體灰度值變小,即圖像變暗;當γ<1時,圖像整體灰度值變大,即圖像變亮。為了避免透射率估計不足所引起的圖像偏暗,設定γ的取值為[0,1]。然而,對于不同的有霧圖像,需分別設置不同的γ值來使復原圖像擁有最佳效果,這導致算法存在手動設置參數的缺陷。另外,在圖像不同區域均采用所設定值對透射率進行修正,會使得部分區域透射率估計不準確,從而產生顏色失真現象。因此,本文提出采用亮度分量構造自適應伽馬校正因子,實現在圖像不同區域采用不同的γ值對粗級透射率進行校正,這不僅降低了算法復雜度,而且有效避免了部分區域顏色失真現象。首先,將有霧圖像轉換至HSV色彩空間以提取亮度分量v(x),然后對其作如式(18)所示的處理,得到自適應伽馬校正因子:
γ=1-α·v(x)
(18)
其中,α為控制參數,控制圖像去霧程度,經驗取值為0.4。結合式(17)和式(18)得到自適應伽馬校正之后的透射率,再利用交叉雙邊濾波對其作平滑處理,得到優化透射率。
圖3為粗級透射率校正前后復原結果對比圖。圖3b是透射率未校正之前所得的復原結果,可以看出圖像中鐵軌處發黑嚴重且復原結果整體偏暗;圖3c為自適應伽馬校正之后所得的復原結果,局部區域發黑現象明顯得到抑制,且復原圖像明亮度適宜,去霧效果較好。

Figure 3 Comparison of recovered results before and after transmission correction圖3 透射率校正前后復原結果對比

如圖4所示,與Sun算法[18]相比,本文大氣光估計更為準確且在局部區域內具有更多細節信息。同時,本文算法的復原結果亮度適宜,邊緣處沒有出現光暈現象,整體效果較好。

Figure 4 Comparison of atmospheric light and recovered results圖4 大氣光及復原結果對比
基于上述內容得出大氣光A和優化透射率,將二者代入大氣散射模型便可得到最終的復原圖像J(x),如式(19)所示:
(19)
其中,設定t0為透射率的下限值,取值為0.1,目的是為了避免分母趨于0。
為了驗證所提算法的有效性與可行性,本文選取多幅霧霾天氣圖像進行對比實驗,從主觀評價和客觀評價2方面對算法復原結果進行分析。
主觀評價是以人的主觀感受為準,存在一定的片面性,但可以直觀地反映出圖像的復原效果。本文選取6幅具有不同特征的霧天圖像作為實驗樣本,其中包括近景與遠景區域、天空與非天空區域、薄霧與濃霧區域?;谶@些圖像將本文算法與文獻[16]中的算法(簡稱He算法)、文獻[12]中的算法(簡稱Meng算法)、文獻[6]中的算法(簡稱Ren算法)、文獻[7]中的算法(簡稱Li算法)和文獻[8]中的算法(簡稱Qin算法)進行對比,實驗結果如圖5所示。

Figure 5 Comparison of experimental results圖5 實驗結果對比
圖5a為輸入的有霧圖像。圖5b為He算法中使用暗通道先驗算法復原的結果,可以看到霧氣基本去除,但在景深突變區域仍存在嚴重的光暈效應且去霧不夠徹底,如第1和第6幅圖像。另外,對于包含天空區域的圖像透射率估計不準確,導致天空區域出現偏色現象,如第2和第3幅圖像。圖5c為Meng算法中使用的邊界約束算法復原的結果,恢復圖像細節明顯增多但色彩保真度較差,出現了顏色失真及過飽和現象,尤其在天空及景深變化區域偏色嚴重,如第2、第3和第6幅圖像。圖5d為Ren算法中使用多尺度卷積神經網絡算法復原的結果,對于薄霧圖像去霧比較徹底,但在部分區域仍存在嚴重的偏色及過飽和現象,如第1和第2幅圖像中的樹葉和天空區域。圖5e為Li算法中使用一體化去霧網絡算法復原的結果,存在輕微的過飽和現象,且復原結果整體偏暗,因而視覺效果一般,如第1和第4幅圖像。圖5f為Qin算法中使用特征融合注意力網絡算法復原的結果,恢復圖像在天空區域具有較好的表現,但在景深突變處仍有輕微的光暈效應,如第1和第6幅圖像。圖5g為本文算法復原的結果,整體而言恢復圖像去霧徹底,僅在極少區域有殘霧現象,并且明亮度適宜,具有良好的色彩保真度。與其它幾種算法相比,本文算法抑制了光暈效應及塊狀偽影的產生,同時能恢復出較多細節信息,如第4和第6幅圖像,此外天空區域保持相對較好,沒有出現顏色失真現象。
為了使實驗對比更加全面有效,本文采用Hautiere等人[20]提出的無參考圖像質量評估方法,選取可見邊集合數e、平均梯度r、峰值信噪比PSNR(Peak Signal-to-Noise Ratio)及運行時間t作為客觀評價指標。其中,峰值信噪比是指有用信號與噪聲之間的比值,e和r的值越大也說明算法的復原效果越好,其定義如式(20)和式(21)所示:
(20)
(21)

仍以圖5中的6幅有霧圖像作為實驗樣本,采用目前經典的圖像去霧算法與本文算法進行客觀對比,實驗結果如圖6所示。從圖6a可以看出,相比于其他5種算法,本文算法在可見邊指標上取得了最佳效果。圖6b為平均梯度,本文算法的該指標性能明顯優于He算法、Li算法及Qin算法,但與Meng算法相比略有不足。圖6c為峰值信噪比,各算法在該指標上的性能差異不是很大,但整體而言本文算法表現較好。圖6d為運行時間,本文算法雖不及He算法,但相比其他4種算法而言時間復雜度較低。綜上,與其他經典算法相比,本文算法具有一定的優越性。

Figure 6 Objective evaluation圖6 客觀評價

Figure 7 Comparison of experimental results圖7 實驗結果對比
除了上述真實場景下的有霧圖像對比實驗,本文還在合成有霧圖像數據集上進行了比較,以進一步驗證所提算法的有效性。如圖7所示,以隨機選取的幾幅合成圖像作為實驗樣本,對各算法復原結果進行主觀分析,可以看出本文算法在合成圖像處理中同樣具有較好的復原效果。其中,He算法及Meng算法恢復圖像具有明顯的過飽和現象,且天空區域偏色嚴重;Ren算法和Li算法天空區域復原效果自然,但部分區域存在去霧不徹底現象;Qin算法雖去霧徹底,但復原圖像整體偏暗,相比之下,本文算法復原結果明亮度適宜,天空區域沒有失真現象且整體去霧比較徹底。
在客觀評價上,本文采用峰值信噪比PSNR和結構相似性SSIM(Structural SIMilarity)作為評價指標[21]。其中,結構相似性用來衡量2幅圖像的相似度,值越大,代表算法性能越好。從表1可以看出,與其他算法相比,本文算法在PSNR指標上取得了最優效果,SSIM指標性能也相對較好,進一步證明了所提算法的有效性。

Table 1 PSNR and SSIM on synthetic hazy images
為了避免暗通道先驗算法中存在的光暈效應以及天空等明亮區域顏色失真現象,本文提出了一種基于轉換域與自適應伽馬校正的圖像去霧算法。將大氣散射模型轉換至對數域提出對數域正相關關系;然后采用高斯函數對其擬合得到粗級透射率,利用亮度分量構造自適應伽馬校正因子對粗級透射率進行修正得到優化透射率,并結合改進后的局部大氣光得到最終的復原圖像。實驗結果表明,本文算法復原圖像去霧徹底且清晰自然,在保持較好色彩保真度的同時有效地抑制了天空區域偏色及光暈現象。但是,該算法在時間復雜度方面還略有不足,將作為下一步工作進行改進。