王欣欣,何明一,何人杰,姜芳芳
(西北工業大學 陜西 西安 710072)
霧霾等惡劣天氣條件下,由于大氣中懸浮著的氣溶膠、微小水滴等隨機介質的散射作用,使成像設備所拍攝的圖像對比度降低,細節信息不明顯或部分缺失,從而直接限制和影響了智能導航、衛星遙感、航空偵察等系統效用的發揮。因此,對霧天圖像進行有效的降霧處理是戶外成像系統克服惡劣天氣的影響,穩定、可靠工作的保證。
近年來,眾多學者對圖像降霧技術進行了深入研究。已有的降霧算法可分為兩大類:基于多幅圖像的降霧算法和基于單幅圖像的降霧算法。利用不同天氣條件下同一場景的兩幅或多幅圖像,來估計場景的三維結構和顏色,從而恢復出清晰圖像[1]。利用偏振片獲取同一場景的不同偏振度的兩幅或者多幅圖像估計大氣光,恢復出清晰圖像。利用場景的先驗信息或用戶交互獲得全部或部分參數,以得到降霧圖像[2]。此外,還有利用圖像本身構造約束估計模型參數達到降霧目的[3-6]。
本文在深入分析和研究He K等人[3]提出的基于暗原色先驗的單幅圖像降霧算法的基礎上,提出了一種基于半反圖像的透射率優化降霧算法,解決了經暗原色先驗降霧算法處理后的圖像灰白區域出現顏色失真問題。
根據光在霧天條件下傳輸的物理特性,Nayar等人[1]提出了霧霾天氣條件下的二色大氣散射模型,其數學表達式為:

式中:I(x)表示成像設備采集到的衰減后的圖像;A為等效的全局大氣光;J(x)為景物的場景輻射;t(x)為透射率分布,用來描述光線在傳播的過程中衰減的程度,可以表述為:

其中,β為大氣散射系數;d為場景深度。
圖像降霧的目的就從霧化圖像I(x)中估計出透射率t(x)、大氣光A和無霧圖像J(x)。而在方程(1)中只有I(x)為已知量,A、J(x)和均為未知量,所以這是一個病態問題。
暗原色先驗理論是He K等人[3]對大量的戶外無霧圖像統計分析而得出的,基本內容為:在絕大多數戶外無霧圖像非天空的局部區域里,總可以找到一些特殊的像素,這些像素總會有至少一個顏色通道的值很小,且接近于零。將通過局部區域求最小值的方法得到的值定義為暗原色,并將以上通過統計得出的規律稱為暗原色先驗規律。
針對一幅戶外無霧圖像求取暗原色點Jdrak的表達式為:

其中,Jc為J的一個顏色通道,Ω(x)是以x為中心的局部區域。
本節中,首先利用半反圖像[6]確定圖像的明亮區域,并從中獲取大氣光,然后在暗原色先驗[4]的基礎上獲取粗略的透射率分布,并對明亮區域的透射率進行修正,再用引導濾波器對修正后的透射率分布圖進行平滑處理,最后根據大氣散射模型進行圖像降霧處理。
由于文獻[3]中算法對圖像中不滿足暗原色先驗規律的明亮區域處理效果不佳,會出現顏色失真現象。文中先利用半反圖像[6]對圖像進行明亮區域檢測,然后再進行后續處理。
文獻[7]指出:1)在絕大多數的戶外無霧且非天空圖像的任意局部小區域內,總存在至少一個像素,它的某一個或幾個顏色通道的強度值很低,且接近于零;2)天空或嚴重霧化圖像的局部小區域中每個像素點的RGB3個通道的強度值都比較大。在上述先驗信息的基礎上,文獻[7]提出了一種半反算法,其主要內容為:首先利用求反算子表示圖像I(x)的RGB3通道中某一通道值)求得半反圖像Isi(x),再將半反圖像Isi(x)和霧化圖像I(x)轉換到Lab顏色空間,通過比較這兩個圖像在Lab顏色空間的色調差異來確定明亮區域。
由于該方法需要進行顏色空間轉換,算法復雜,而實際上直接在RGB顏色空間便可比較半反圖像Isi(x)和霧化圖像I(x)的差異,所以文中直接在RGB顏色空間進行處理。定義半反圖像與原始霧化圖像的差為:

顯然,明亮區域RW,整體偏灰白,其RGB三通道值都比較大,故的值都為 0;而非明亮區域RB的大部分像素點中至少有一個通道的強度值很小,即至少有一個像素滿足,也就是中至少有一個大于0。因此,可以將的像素點定義為明亮像素,從而檢測出明亮區域。
文獻[2]取圖像中的最大強度值作為大氣光,但實際上,圖像中的強度最大值可能是某個目標(如圖1中的燈光),而并非天空。文獻[3]選取暗原色中亮度最高的0.1%像素,在這些像素中,把對應的輸入圖像I中強度最大的像素點作為大氣光。對于天空區域較大或者含有較小的白色物體霧化圖像,該方法能獲得準確的大氣光。但是對于含有大面積白色物體,且其像素值大于霧霾天空像素值的圖像,因為暗通道無法過濾掉比模板大的白色物體,所以該方法會造成一定的誤差(如圖1中的白色屋頂)。
文中在由2.1節確定的明亮區域中選取大氣光:選取明亮區域中暗通道強度值前1%的像素點并將對應的輸入圖像中強度最大的像素點作為大氣光。針對于含有大面積白色物體的圖像,本方法較文獻[2]和文獻[3]方法獲取的大氣光更為準確(如圖1所示,圖中方框的中心是被作為大氣光的像素點)。

圖1 大氣光估計Fig.1 Estimation of atmospheric light
2.3.1 透射率的粗略估計
使用[3]中計算透射率的估計式:

2.3.2 明亮區域透射率的修正
從[4]中估計大氣光的方法出發,當霧化圖像中包含天空、水面、偏白色物體等大面積明亮區域時,大氣光基本落在這些明亮區域[3]。利用求透射率分布時,明亮區域的像素值I(x)與大氣光A非常接近,所以其對應的透射率t(x)趨于很小的值。然而如此計算出的透射率t(x)的正確性是建立在暗原色先驗假設成立的基礎之上,但這類明亮區域中每個像素點的RGB3個通道的強度值都比較大,顯然不滿足暗原色先驗假設的要求,所以計算出的透射率t(x)是不準確的,由此錯誤的透射率分布求解降霧圖像必然會導致降霧效果不佳。
那么,如果不考慮暗原色先驗假設,直接根據式(1)推導出的準確透射率函數應該為:

若想消除顏色失真,就必須調整明亮區域的透射率~t(x),使其更加符合實際透射率tactual(x),同時最好能不破壞暗原色降霧的統一框架。基于此,本節在明亮區域RW中,對2.3.1節中求得的初始透射率~t(x)進行修正。由于透射率分布t(x)=e-βd(x)服從指數分布,而且當I與A越接近時,其實際透射率比基于暗原色先驗計算出的透射率大得多,即基于暗原色先驗計算出的透射率誤差越大,因此,將明亮區域透射率修正公式定義為:

即,在I與A越接近的區域,透射率的增量越大。這里α是常數,文中取0.02。
式(7)保證了明亮區域的透射率不會錯誤地偏向很小的值。這種對透射率的修正其實是對基于暗原色先驗圖像降霧算法的一種補充和擴展,使其能夠更好地處理含有大面積明亮區域的霧化圖像,但并沒有脫離暗原色先驗假設,而是在其基礎上對霧化圖像中明亮區域的透射率做了修正,仍然統一于原暗原色先驗框架之內。也可以理解為:對圖像中像素值接近大氣光的區域,降低降霧力度,因為從實際情形考慮,霧化在偏白色的場景中是不明顯的,也就是說可以弱化處理這些偏白色的明亮區域。圖2為透射率修正前后的對比圖。

圖2 透射率分布圖Fig.2 Transmission map
由圖2可以看出,修正后天空區域的透射率明顯大于修正前天空區域的透射率,這與前面的分析相符,說明本文對透射率的修正是符合實際要求的。
2.3.3 透射率優化
由于在利用暗原色先驗估計透射率的過程中,采用模板計算會造成圖像出現塊效應,即視覺上的“halo”現象,而且會導致透射率在場景變換的邊緣處出現暗區域擴張,而吞噬明亮區域的部分邊緣,直接影響降霧效果。文獻[4]用軟摳圖的方法對初始透射率進行了優化,優化結果很好地消除了塊效應,吞噬現象也得到了明顯的改善,但是其計算過程需要構建摳圖拉普拉斯矩陣,算法時間復雜度較高,計算量大。因此,為了提高透射率優化的速度,文中采用引導濾波器[8]對初始透射率進行優化。
引導濾波器使用引導圖像來輔助產生濾波器的核,其輸出為引導圖像的局部線性變換,它具有良好的邊緣保持的特點,而且沒有梯度反轉的缺陷,同時引導濾波器與用于圖像摳圖的拉普拉斯矩陣之間有著密切的關系,并且該濾波器的時間復雜度為,遠低于軟摳圖的時間復雜度。
經上面所有步驟之后,已經得到了準確的大氣光A和t(x)透射率,因此,可以利用霧天成像模型恢復出無霧圖像J(x):

其中,t0為常數,是為透射率t(x)設置的下限,文中取為0.1,以保證J(x)t(x)不接近于0,也意味著某些霧濃度較大的區域仍然保留著一定數量的霧。
從主觀視覺效果、客觀質量兩個方面,對本文方法與He K[3]、Gibson[4]、Xu H[5]方法的處理結果進行比較。其中,He K[3]在暗原色先驗假設的基礎上,用軟摳圖的方法對透射率分布圖像進行修補,從而達到降霧的目的;Gibson[5]利用中值濾波代替He K的最小值濾波來估算透射率,以達到降霧目的;Xu H[5]利用雙邊濾波代替軟摳圖優化透射率,進行降霧處理。
圖3和圖4給出了本文算法和幾種比較典型的算法的處理結果。圖中(a)~(e)分別是原始霧化圖像,He K方法,Gibson方法,Xu H方法和本文方法得到的降霧圖像。
從圖3可以看出,針對這種不含天空等灰白區域的圖像,這些方法都能取得較好的效果。但Gibson方法恢復出的無霧圖像顏色略有偏移;Xu方法對景深不連續區域處理效果不佳;相比之下,本文方法方法對顏色保持的效果較好。
從圖4可知,針對這種含天空區域的圖像,這些方法的處理效果差異較大。經He K方法處理后,圖像天空區域顏色失真嚴重;Gibson方法也使會天空區域出現顏色失真,而且整幅圖像的顏色都偏暗;Xu方法對天空區域和景深不連續區域處理效果不佳;本文方法對天空區域的處理效果最好,且能較好的保持原圖的顏色信息。

圖3 城市圖像降霧結果Fig.3 Dehazing results of city view

圖4 花叢圖像降霧結果Fig.4 Dehazing results of flowers
綜上知,文中方法適用性較廣,能處理各種不同場景的圖像,尤其對天空等灰白區域的處理效果較其他幾種方法好,且恢復出的圖像更符合真實場景。
本文利用Tarel等人提出的可見邊梯度法對圖像質量進行定量分析,通過比較輸入的霧化圖像和處理后的無霧圖像,來獲取圖像新增可見邊緣比、平均對比度和圖像飽和像素點比3個參數。其中,新增可見邊緣比反映復原出圖像中可見邊緣的能力,該指標越大表明算法復原出可見邊緣的能力越強;平均對比度越大,表明算法的對比度增強能力越強;圖像飽和像素點越大,表明算法處理后的圖像中過飽和的像素點越多。因此,一幅質量好的圖像應該有較大的和,較小的。
對圖3和4中的霧化圖像,表1和表2給出了用不同算法處理后圖像質量評價指標值。

表1 城市圖像的質量評價(圖3)Tab.1 Quantitative evaluation of city view(Fig.3)

表2 花叢圖像的質量評價(圖4)Tab.2 Quantitative evaluation of flowers(Fig.4)
由表1和表2中的統計結果可知,由于本文算法對明亮區域的處理使得復原圖像有更多的可見邊緣和較高的平均對比度,即和較大,并且處理結果不會出現過飽和點。
另外,由于文中采用引導濾波器來優化透射率圖,很大程度上提高了運算速率,所以本文方法的處理速度相比其他幾種算法的處理速度有較大程度的提高。
本文提出了一種基于半反圖像的降霧算法,通過對明亮區域的檢測來獲取大氣光的方法,提高了大氣光估計的準確性和算法的運算速度;其次,文中對圖像明亮區域透射率的修正改善了復原圖像的復原效果,提高了算法的適用性;另外,選用引導濾波器優化初始透射率不僅保證了算法的效果,而且降低了算法的時間復雜度。實驗結果表明,本文算法具有簡單易行、適用性廣的特點,并且復原后的圖像真實、自然。
[1]Nayar S K,Narasimhan S G.Vision in Bad Weather[C]//Proc.of IEEE Int.Conf.on Computer vision (ICCV).Kerkyra,Greece,1999,2:820-827.
[2]Schechner Y Y,Narasllnhan S G,Nayar S K.Instant dehazing of images using polarization[C]//Proc.of IEEE Conf.on Computer Vision and Pattern Recognition (CVPR).Kauai,HI,USA,2001,1:I325-I332.
[3]He K,Sun J,Tang X.Sing image haze removal using dark channel prior[C]//Proc.of IEEE Conf.on Computer Vision and Pattern Recognition(CVPR).Miami,FL,USA,2009:1956-1963.
[4]Gibson K,Vo D,Nguyen T.An investigation in dehazing compressed images and video[C]//OCEANS 2010.Seattle,WA,2010:1-8.
[5]Xu H,Guo J,Liu Q.Fast image dehazing using improved dark channel prior[C]//2012 Int.Conf.on Information Science and Technology(ICIST).Wuhan,China,2012:663-667.
[6]Ancuti C O,Ancuti C,Hermans C.A fast semi-inverse approach to detect and remove the haze from a single image[M].Computer Vision-ACCV 2010.Springer Berlin Heidelberg,2011.