呂東霞, 楊燕, 張金龍, 張雯波
(蘭州交通大學 電子與信息工程學院, 甘肅 蘭州 730070)
在霧霾等惡劣天氣條件下,成像設備獲取的圖像會出現細節丟失、顏色偏移、局部偏亮、飽和度降低和質量退化等問題[1],導致圖片承載的信息價值利用率降低,因此,對霧霾天氣下拍攝的圖像進行清晰化處理有著重大的科學研究意義。目前,對霧霾圖像清晰化的處理方法有兩大類:傳統方法和基于深度學習的方法。傳統方法包括圖像增強和基于物理模型的圖像復原。圖像增強是通過一定手段對降質圖像有選擇性地突出圖像中感興趣的特征或抑制圖像中某些不需要的特征來改善圖像的質量。圖像增強類方法[1-3]有直方圖均衡化、Retinex算法、小波變換[4]等,但這類方法不考慮圖像的退化機制,增強結果存在信息丟失、去霧效果不理想等問題。
圖像復原類算法利用圖像退化的物理機制反演退化過程,建立數學模型,通過先驗知識或假設估計關鍵未知參量,實現圖像復原。基于物理模型復原的方法近年來發展迅速。He等[5]通過對大量清晰圖像的觀察提出暗通道先驗去霧算法,該算法認為清晰圖像的局部非天空區域存在通道值較低甚至接近于0的像素點,由此直接估計透射率進行去霧。該方法簡單有效并取得了顯著的去霧效果,但復原結果在天空區域出現失真并且在景深變化劇烈區域存在殘霧。Zhu等[6]通過觀察有霧圖像的HSV顏色通道發現,圖像亮度和飽和度的差值與霧濃度呈正相關關系,因此提出顏色衰減先驗去霧算法。該算法通過近似估計景深達到去霧目的,但復原結果依然存在去霧不徹底現象。Wang等[7]提出基于線性變換的快速去霧算法,該算法通過構造有霧圖像與無霧圖像最小通道的線性關系估計清晰圖像暗通道,實現去霧。該方法獲得了較好的去霧效果,但復原結果整體較暗,顏色失真嚴重。Yang等[8]提出一種以邊緣保持函數代替最小濾波擬合暗通道的去霧算法,該算法利用冪律壓縮和線性衰減克服了最小濾波的局限性,進而得到了較為準確的透射率,但是一些含有超遠景區域的圖像會產生一定的失真現象。Tarel等[15]結合大氣光幕固有約束條件與中值濾波得到大氣光幕,實現快速去霧,但是恢復的部分圖像會出現視覺模糊的效果。基于物理模型的霧圖復原盡管需要先驗和假設進行透射率和相關參數的輔助計算,但因其考慮了霧圖的成因,因此,此類方法能夠得到更加真實的去霧圖像。
基于深度學習的方法經常需要對大量的樣本進行訓練來獲取模型參數,搭建網絡實現圖像去霧。Ren等[9]設計了一種用于透射率估計的多尺度網絡(Multi-scale Convolutional Neural Network, MSCNN),其主要思想是對粗級網絡與精細尺度網絡得到的透射率進行融合,獲得了較好的復原結果。Li等[10]將透射率與大氣光整合為一個參量,設計了一種輕量化多尺度網絡結構(All-in-One Dehaze Network, AOD-Net)。該網絡消除了大氣光與透射率分開訓練的誤差,取得了較好的復原效果,但該算法存在去霧不徹底、復原結果整體偏暗的問題。Qin等[11]提出一種端到端的特征融合注意力網絡(Feature Fusion Attention Network, FFA-Net),可以有效提取圖像特征并直接恢復無霧圖像,但是網絡結構存在過擬合問題,對于真實場景有霧圖像復原效果不理想。此類方法近年來使用較多,但因為模型固有的缺陷和數據集因素,導致該類方法對真實環境下的霧圖處理效果較差。
針對圖像去霧研究中存在的去霧不徹底、顏色偏暗、處理速度較慢等問題,本文提出了一種基于對數-S型函數分段估計的快速去霧算法,通過對大氣散射模型的分析和推導得到大氣光幕與有霧圖像最小通道的正相關關系,利用分段函數快速估計遠近景大氣光幕。并利用中值濾波獲取有霧圖像中通道,對其進行形態學閉操作,再經交叉雙邊濾波處理得到大氣光。最后通過大氣散射模型得到去霧圖像。實驗結果表明,本文算法的復原結果具有顏色鮮艷、細節信息豐富、去霧效果顯著的優點。
在計算機視覺領域中,霧天條件下的圖像退化過程通常用大氣散射模型來描述[12-14]:
式中:I(x)表示有霧圖像;J(x)表示無霧圖像;A為大氣光;t(x)為透射率;A(1-t(x))被定義為大氣光幕,描述了粒子對大氣光的散射作用,具體表述為:
當大氣介質均勻時,透射率可表示為:
其中:q表示大氣散射系數,d(x)表示場景深度。根據式(1)可知:大氣光幕V(x)小于退化場景I(x)并且為正值,以上約束關系可描述為:
式中:min(Ιc(x))表示退化場景的最小通道圖像,c∈(r,g,b)表示退化場景的3個顏色通道。在大氣散射模型中,I(x)是唯一的已知項,因此,實現去霧的關鍵是對透射率t(x)和大氣光A的精確估計。根據公式(2)發現,可從大氣光幕的角度進行去霧。Yang等[18]結合大氣光幕固有約束條件與聯合雙邊濾波得到大氣光幕,實現了單幅圖像去霧。該算法雖然取得了較好的去霧效果,但邊緣信息的丟失導致在去霧圖像上出現了模糊的視覺效果。
本文算法流程如圖1所示。首先求取有霧圖像的最小通道和最大通道值,將最小通道值通過對數-S型函數分區域處理得到大氣光幕。再將最大通道值進行中值濾波,經過形態學閉操作得到大氣光。最后通過大氣散射模型恢復無霧圖像。

圖1 算法流程框圖Fig.1 Algorithm flow block diagram
在使用大氣散射模型去霧時,對透射率的估計較為常見。對式(1)兩端進行最小值操作,經過變形推導透射率:
用A進行歸一化處理可得:
由式(2)可得:
當A已知時,結合式(5)、(6)可得:
觀察式(7),可以得到大氣光幕V(x)與最小通道值存在一定的正相關關系:
對式(1)兩端進行最小值操作,經過變形可得:
在圖像去霧理論中,大氣光幕反映了一定的霧濃度信息,即在有霧圖像遠景區域,霧濃度[17-19]分布較高,大氣光幕較大;在有霧圖像中近景區域,霧濃度分布較低,大氣光幕較小。基于上述大氣光幕在遠近景區域分布的差異,為得到較為準確的大氣光幕,對其進行分區域估計。由于霧氣的存在影響了圖像亮度,結合霧氣在遠景區域的分布特征,本文用有霧圖像像素均值作為閾值將圖像分為近景區域和遠景區域。根據Yang等人[16]提出的基于最小通道與景深雙約束的大氣光幕估計方法可知,濃霧區域的大氣光幕灰度值較大且相鄰像素之間的差異性很小,而薄霧區域大氣光幕灰度值較小且差異性明顯。此關系描述如圖2所示,可以觀察到大氣光幕隨退化圖像最小顏色通道的變化關系在遠近景具有不同的速率:在中近景區域,大氣光幕隨最小通道變化較為劇烈,在遠景區域變化緩慢。在大氣光和大氣散射系數已知的前提下,根據式(3)可知,透射率與景深呈負相關。大氣光幕與景深具有相似性,景深與大氣光幕存在一定的正相關,最小通道與透射率呈現負相關,與景深存在正相關。最小通道在一定程度上表示景深,因此采用最小通道代替景深估計大氣光幕。式(2)、(3)、(11)的透射率、大氣光幕、最小通道、景深的關系如圖3所示。

圖2 大氣光幕與最小通道的對應關系Fig.2 Correspondence between atmospheric light veil and minimum channel

圖3 透射率、大氣光幕、最小通道和景深的關系。Fig.3 Relationship of transmittance, atmospheric light veil, minimum channel, and depth of field.
根據上述特征,本文提出了一種基于對數-S型函數分段估計模型。模型采用的分段函數包括兩部分,分別為對數函數和S型函數。在圖像空間域增強中,對數變換可以對高灰度值部分進行壓縮,低灰度值部分進行擴展。S型函數也可以對高灰度值部分進行壓縮,低灰度值部分進行擴展,但是對數函數和S型函數的壓縮擴展程度不同。考慮到大氣光幕與最小通道變化關系的特征,選取S型函數對遠景區的高亮像素進行壓縮,對數函數對中近景區域進行處理,通過以上一組分段函數對大氣光幕進行估計。具體函數表達式為:
式中:x表示有霧圖像的最小通道值;f(x)表示估計大氣光幕;a、b表示去霧參數;m表示有霧圖像的像素均值,用于區分遠近景區域。具體實驗結果如圖4所示。經過對數復原的圖像在遠景區域去霧不徹底,在近景區域去霧效果較好,保留了豐富的紋理細節;經過S型函數復原的圖像在遠景區域去霧徹底,顏色自然,在近景區域出現了偏色以及失真等問題。利用對數-S型函數分區域處理后的圖像綜合了對數、S型函數的優點,從視覺效果來看,具體表現為在遠近景處去霧徹底,顏色自然,亮度適宜,保留了豐富的紋理細節。

圖4 不同函數對圖像的復原Fig.4 Recovery of images by different functions
圖5中,a、b為去霧參數,目的是控制去霧程度。為了直觀地說明a、b對去霧程度的影響,選取具有遠近景的有霧圖像進行仿真。實驗結果如圖5所示,當a、b的值不同時,去霧程度也是不同的。當a、b的值較小時,去霧不徹底;當a、b的值較大時,去霧徹底但出現了失真。因此,對一副圖像取不同的a、b會產生不同的復原結果。首先設置a為定值,b隨一定規律變化,同樣設置b為定值,a隨一定規律變化,根據視覺效果對比選取去霧效果最佳的參數。為了提高普適性,進行了大量圖像的仿真測試。結合新增可見邊e和信息熵s對圖5不同參數下的恢復圖像進行評價,當a=0.90,b=0.85時,圖5(e)獲得了很好的視覺效果,指標值達到了最大(表1)。所以當a=0.90,b=0.85可以獲得最佳的去霧效果。

表1 不同參數下的圖像恢復指標Tab.1 Image recovery indicators with different parameters
用Yang算法[18]獲得的大氣光幕恢復的圖像取得了較好的去霧效果,但整體偏暗,并且遠景去霧不徹底。本文大氣光幕恢復的圖像色彩自然,亮度適中,去霧徹底。實驗結果如圖6所示。

圖6 Yang 與本文的大氣光幕以及復原圖對比Fig.6 Comparison of the atmospheric light veil and the recovery in Yang and ours
在圖像去霧中,大氣光值[5,8,16-20]是關鍵參數之一。大氣光的估計會影響去霧圖像的亮度,若估計過高,則恢復的圖像偏暗;若估計過低,則恢復的圖像偏亮。He[5]等人算法選取暗通道中排名前0.1%的最亮像素點對應的像素均值作為全局大氣光值。該方法易受白色等高亮物體的影響,導致大氣光值估計不準確,去霧效果不理想。為了避免全局大氣光估計誤差帶來的問題,Sun[21]等人提出了一種在場景中局部光源與局部大氣光相同的前提下,從有霧圖像的局部定義大氣光的方案,該方法對有霧圖像最大值通道進行形態學操作和濾波處理得到局部大氣光函數,獲得了較好的去霧效果。局部大氣光相較于全局大氣光在低亮度區域處理更加準確,因此,本文提出了中通道局部大氣光估計方法。提取有霧圖像的最大值通道,如式(13)所示:
其中:MF(·)是中值濾波函數,mid(x)為獲取的中通道。對中通道進行形態學閉操作得到A1(x):
其中:imclose(·)表示形態學閉操作。為了解決形態學閉操作處理后局部過亮問題,對A1(x)進行交叉雙邊濾波處理得到局部大氣光A(x)。本文局部大氣光與Sun局部大氣光對比如圖7所示。對于近景地區和超遠景天空的退化圖像,本文大氣光估計更加準確。在獲取圖像的大氣光后,結合大氣光幕,根據式(1)、(2),清晰圖像的表達式為:

圖7 大氣光對比Fig.7 Atmospheric light comparison
為了驗證本文算法的可行性和有效性,從主觀和客觀兩方面對各算法復原結果進行對比。對比算法分別選取He等人[5]提出的暗通道先驗算法、Wang等人[7]提出的線性傳輸算法、Yang等人[8]提出的Haze Removal算法、Qin等人[11]提出的特征融合注意力網絡算法(Feature Fusion Attention Network,FFA-Net)(訓練條件:選擇SOTS數據集,運行環境為Windows 10, PyTorch, NVIDIA GPU+CUDA)和Wu等人[16]提出的自適應gamma矯正估計的圖像去霧算法。
主觀分析可以最直觀地反映出恢復圖像的效果。本文從真實有霧圖像到測試集有霧圖像各方面進行實驗分析。對于真實有霧圖像,選取含天空區域和不含天空區域兩類有霧圖像。對于測試集圖像,從RESIDE數據集中選取5張室內室外有霧圖像。第一類圖像復原結果如圖8所示,第二類含有天空區域的復原結果如圖9所示,測試集復原結果如圖10所示。從He等人[5]算法可以看到,霧氣基本去除干凈,但在景深突變區域存在嚴重的光暈效應且去霧不夠徹底,天空區域出現偏色現象且顏色偏暗。Wang等人[7]算法的邊緣保持較好,在很大程度上消除了光暈和偽影,但出現了明顯的去霧不徹底現象和顏色偏暗問題。Wu等人[16]算法的效果較好,但存在去霧不徹底現象且復原結果偏亮,因而視覺效果一般。Qin等人[11]的特征融合注意力網絡算法恢復的圖像霧氣殘留過多,細節紋理信息不明顯。Yang等人[8]算法解決了暗通道先驗算法中最小值濾波引入的光暈和偽影問題,利用一種冪律壓縮函數求取有霧圖像的暗通道圖,較好地消除了光暈偽影,但存在輕微的去霧不徹底現象,去霧效果相對較好。本文算法能夠徹底去霧,恢復的圖像亮度清晰,色彩自然。與其他幾種算法相比,本文算法抑制了光暈效應及塊狀偽影的產生,同時能恢復出較多細節紋理信息,天空區域保持相對較好,沒有出現顏色失真現象。如圖10所示,在測試集的對比圖中,很明顯可以看出本文算法同樣具有很好的復原效果。其中He等人[5]算法、Wang等人[7]算法、Qin等人[11]算法在天空區域出現了不同程度的失真、光暈、顏色偏暗和過飽和現象。Yang等人[8]算法有輕微的去霧不徹底現象。Wu等人[16]算法具有相對較好的效果,但也存在去霧不徹底現象,明顯不及本文算法。本文算法在細節、顏色、亮度上取得了很好的效果。

圖8 不含天空區域霧圖復原效果對比Fig.8 Comparison of haze images restoration without sky area

圖9 含天空區域霧圖復原效果對比Fig.9 Comparison of haze images restoration with sky area

圖10 合成霧圖復原效果對比Fig.10 Comparison of composite haze images restoration
為了進一步驗證算法的可行性和有效性,本文從定量指標的角度對各算法進行對比。對于真實環境下的有霧圖像采用無參考圖像質量評價指標[22-24],選擇新增可見邊e、平均梯度r、信息熵s和運行時間t作為評價指標。對于指標e、r、s;值越大越好;對于t,值越小越好。對于測試集復原的圖像采用峰值信噪比(Peak Signal to Noise Ratio, PSNR)和結構相似性(Structural Similarity, SSIM)作為評價指標,PSNR和SSIM的值越大越好。這些指標的數學表達式分別如式(12)~(21)所示:
其中:n0為有霧圖像的可見邊數;nr為復原圖像的可見邊數;ri表示pi處復原圖像與原有霧圖像的平均梯度比;φr為復原圖像的可見邊集合。
其中:M和N分別表示圖像的寬和高,L表示圖像的最高灰度級,Hw表示灰度級為w的像素的個數。
式中:fmax為最大像素值,通常取255;MSE為原有霧圖像與復原圖像的均方誤差;SSSIM為結構相似性;PPSNR為峰值信噪比;μi和μ0分別為有霧圖像和清晰圖像的均值;σ1和σ2分別為有霧圖像和清晰圖像的協方差;w1和w2分別為避免分母為0的常數。本文對圖8、圖9的10幅真實有霧圖像和圖10測試集下的5幅有霧圖像進行客觀指標的計算對比,如表2、表3所示。可以看出本文算法在新增可見邊、平均梯度、信息熵和運行時間幾個方面都取得了較好的效果,尤其在平均梯度和信息熵指標上優勢明顯,并且運行時間優于其他算法。在表4中,測試集下本文復原的圖像的峰值信噪比(PSNR)和結構相似性(SSIM)均有一定的優勢,指標不及Qin算法,是因為Qin算法的去霧網絡過擬合,在真實有霧圖像上基本不去霧,這也是該網絡需要優化的問題。所以無論是真實有霧圖像的復原還是測試集下圖像的復原,本文算法都取得了很好的去霧效果。

表2 客觀評價指標e和rTab.2 Objective evaluation on index e and r

表3 客觀評價指標s和tTab.3 Objective evaluation on index s and t

表4 數據集評測指標Tab.4 Indictors of dataset
針對現有霧天圖像清晰化方法存在的光暈、偽影、去霧不徹底等問題,本文提出一種基于對數-S型函數分段估計的快速去霧算法。利用像素均值區分遠近景區域,將最小通道值通過對數-S型函數擬合大氣光幕,然后結合本文提出的的中通道局部大氣光的估計方法,利用大氣散射模型恢復無霧圖像。通過實驗發現,本文算法對真實有霧圖像和測試集下的圖像均有很好的去霧效果,復原圖像的新增可見邊、平均梯度、信息熵分別提升了17.4%、50.5%、30%,運行時間比傳統快速去霧算法降低了17.5%,解決了存在的光暈、偽影、去霧不徹底問題且快速有效。