黃鶴, 宋京, 郭璐, 王萍, 王會峰
1.長安大學 電子與控制工程學院, 陜西 西安 710064;2.陜西省道路交通智能檢測與裝備工程技術研究中心, 陜西 西安 710064;3.西北工業大學 第365研究所, 陜西 西安 710065
霧霾天氣下,圖像采集設備受大氣中懸浮的小水滴、灰塵對光線散射、折射等影響,使采集到的圖像信息受到很大程度衰減,這限制了交通信息監控等國計民生行業的發展。含霧交通圖像的對比度和顏色飽和度都比較低,圖像灰白不清,導致單幅圖像去霧時已知信息過少,處理難度增大。因而,圖像去霧是一項非常具有挑戰性的難題。
目前,國內外圖像去霧的主流方法從原理上大致可分為2類:基于圖像增強的去霧方法和基于物理模型的圖像復原方法。前者的缺點是未考慮導致圖像降質的因素,僅通過提升圖像對比度實現去霧,并沒有從本質上去除,效果并不理想[1-2]。在基于物理模型的圖像復原方法研究過程中,Oakley等人建立了一個多參數統計退化模型[3],考慮外界天氣條件對成像的影響,利用統計模型估計參數,對灰度場景進行可見性復原。Tan等人對統計退化模型進行了改進[4],將其用于彩色霧天圖像的可見性復原。這些方法都是建立在已知圖像場景深度的基礎上,一般情況下含霧圖像的詳細深度信息都要依靠高精度測距設備才能獲得,因此,實際應用有一定的局限性。Nayar和Narasimhan等人通過獲取圖像的輔助信息,從多個角度研究了場景深度的獲取方法,進而恢復出圖像[5]。這類方法在使用中要求提供多幅不同天氣條件下的同一場景退化圖像作為輔助信息,實際應用也受到局限。近年來,很多學者轉向研究依托先驗知識或者假設的單幅圖像去霧方法[6]。He等人統計分析大量圖像后,發現在不含有天空的清晰圖像區域中,取局部區域像素R,G,B的最小值,該值總是趨向于0,將其定義為暗通道[7]。利用暗通道作為先驗信息估計大氣光和透射率,同時通過軟摳圖對獲取的透射率粗估計濾波,得到精確透射率,再利用霧霾天氣下成像模型來恢復出清晰圖像。一般情況下,此方法得到的去霧效果較好,但暗通理論不適用圖像中天空等明亮區域,且軟摳圖的計算量過大。后來,He等人又提出了引導濾波算法[8],對透射率圖像進行濾波處理,相對于軟摳圖和雙邊濾波,引導濾波的時效性有了較大提高,但仍有進一步的提升空間。
因此,本文在引導濾波算法的基礎上改進,提出了一種基于新的中值引導濾波的去霧算法。該算法不僅保留傳統引導濾波算法平滑圖像和保持引導圖像特征的優點,且較大的提升了運算效率,實時性得到保證,適用于視頻處理。
霧霾天氣下,空氣中懸浮微粒會對光線造成散射和折射,使采集的圖像模糊不清且含有較多噪聲。在分析含霧圖像時,要充分考慮空氣介質對成像的影響,即入射光衰減和大氣光成像過程,并建立模型,才能對霧天圖像的降質原理進行分析。建立的降質模型如圖1所示[9],通過分析該模型可以得到霧霾顆粒對光線及成像的影響。

圖1 霧霾顆粒對成像影響示意圖
(1)
公式(1)由入射光衰減模型和大氣光成像模型組成,其中,L(x,y)是可見光鏡頭采集的霧天降質圖像,L0(x,y)e-kd(x,y)為入射光衰減模型,Ls(1-e-kd(x,y))為大氣光成像模型。由于大氣微粒的散射作用導致一部分入射光線無法到達鏡頭,造成入射光衰減。在入射光衰減模型中,L0(x,y)表示該點的場景反射光強度,即固有未衰減時光的強度。d(x,y)為場景深度,可見入射光衰減率與場景點到接收裝置的距離有關。k為大氣散射系數,其與波長λ和大氣中微粒大小γ關系如公式(2)所示。
(2)
在大氣光成像模型中,Ls為環境光亮度,e-kd(x,y)為透射率分布。通過模型分析可以看出導致霧霾天圖像降質的原因是由于霧霾顆粒(1~10 μm)的尺寸遠遠大于純空氣微粒(10-4μm左右),使得此時公式(2)中相對于波長,決定大氣散射系數的因子變成微粒的大小,此時可認為大氣對不同顏色的可見光散射系數近似,即所有可見光等量散射,所以看到的霧霾為灰白色,霧霾天氣下得到的圖像也就變得灰白不清。此外,由于霧霾微粒影響光線散射,從入射光衰減模型L0(x,y)e-kd(x,y)可以看出圖像固有亮度受到景深影響呈指數衰減,導致霧天圖像亮度降低,同時霧霾微粒對光線散射和折射也會產生較多噪點,導致獲取圖像質量較差。
去霧中引導濾波器的工作流程是:將含霧的待處理圖像作為引導圖像,利用其邊緣輪廓信息,將透射率的粗估計作為待濾波圖像,得到精細化后的透射率。用數學公式表示引導濾波時,首先定義一個局部線性濾波器,像素點濾波結果可表示為
(3)
式中,I為輸入引導圖像,P為輸入待濾波圖像,Pj為待濾波圖像中的像素點,q為輸出的濾波圖像,qi代表輸出像素點,i,j為像素索引,Wij是由引導圖像和待濾波圖像組成的濾波核函數。
假設濾波過程是局部范圍內的線性變換。當前待濾波窗口中心像素為k,待濾波像素為i,窗口大小為Wk,局部線性窗口內濾波輸出圖像表示為
qi=akIi+bk,?i∈ωk
(4)
式中,ak和bk是以像素k為中心的窗口系數,對上式兩邊求梯度,可得
q=aI
(5)
公式(5)說明,輸出圖像q和輸入圖像I具有梯度相關性,這也是引導濾波保持邊緣原因。為使輸入圖像和輸出圖像之間差異最小,即需求出ak和bk的一組最優解,等價為下式的值最小,即:
(6)
式中,調節系數ε用來預防系數a過大,也可以調節濾波效果。通過最小二乘法求出公式(6)的最優解為
(7)
(8)

由公式(4),(7),(8)可知,在計算系數ak和bk時,同一個像素會被多個窗口包含計算,則就會有多個系數。為解決這一問題,在具體計算某一點的系數時,用該點在這些不同窗口中的系數平均值作為該點系數,將原公式修訂為
(9)
可簡化為:
(10)

(11)
(12)
式中,Ikm為引導圖像I在窗口ωk中的Z中值,Pkm為輸入濾波圖像P在窗口ωk中的中值,ε為調整系數,此處取ε=10-6。本文中窗口wk的大小為3×3。
對比公式(7)和(8),新算法采用中值方法來構造系數ak和bk,在計算系數ak和bk時避免了文獻[9]方法中需要對引導圖像和濾波圖像求方差和協方差,同時對濾波框內臨近像素點采用同一ak和bk,減少了引導濾波器的計算量,提升了計算速度。
透射率t(x)與距離和霧的濃度有關,其大小表征了光線在大氣中的穿透能力。透射率越大,表示較多光線能夠穿過霧霾進入圖像采集設備,即光線傳輸能力較強,光線受散射影響較小。透射率越低,則表示光線較難穿透霧霾進入圖像采集設備,光線受散射影響較大,較少參與成像。
基于物理模型的圖像去霧方程經過變形為:
(13)

(14)
根據He等人統計不含霧霾圖像的暗通道規則[7],即:
(15)
而大氣光的值Ac相對大很多,即
(16)
得到透射率為
(17)

(18)
這里根據經驗取ω=0.8。
公式(18)完成了對透射率的粗估計。但此時估計值還不夠精確,容易出現“halo”效應。利用中值引導濾波對透射率的粗估計進行精細化處理,得到透射率的精確估計,從而得到去霧圖像:
(19)
式中,I(x,y)為輸入含霧圖像中的某點像素,A為大氣光值,J(x,y)為去霧后該像素點的值,t-d為中值引導濾波處理后的精準透射率。有些像素所對應透射率t(x)很小,幾乎趨近于0,其衰減項J(x)t(x)也趨于0。在這種情況下,若依然根據(19)式直接計算,在透射率過小時,圖像中的噪聲信息將會被過度增強,且圖像局部區域對比度會下降,圖像偏白,因而對透射率設下限t0。最終復原的霧化圖像J1為
(20)
根據經驗取t0=0.1。
實驗采用GPU硬件平臺——NVIDIA GeForce GTX650M,由于目前并無標準霧天視頻庫,需采集相關含霧交通圖像視頻。將采集的每幀像素為1 200×1 000的一段含霧視頻分別采用雙邊濾波去霧算法、梯度雙邊濾波去霧算法及引導濾波去霧算法及本文算法進行處理,第1 068,2 016,3 012,4 096關鍵幀實驗結果如圖2中所示。同時,表1中引入了模糊系數K、平均梯度、信息熵等客觀參數,來對不同算法的去霧效果進行客觀評價。

圖2 去霧結果對比
結合圖1和表1~表2分析實驗結果可以看出,經過雙邊濾波去霧算法得到的復原圖像與原圖像相比,雖然有一定的去霧效果,但模糊系數較小即圖像清晰度較低,細節不夠明顯,去霧效果差且算法耗時較高。與雙邊濾波相比,梯度雙邊濾波去霧結果在模糊系數和平均梯度等方面均有一定提升,但算法耗時最高,難以應用于實際交通視頻去霧處理中。引導濾波效果與雙邊濾波和梯度雙邊濾波相近,處理時間有較大幅度的縮短,但仍然有提升空間。而本文算法得到復原圖像與原圖像相比模糊系數最大,清晰度最高,圖像平均梯度、信息熵及細節強度較高,處理時間與前幾種算法相比有較大幅度縮短,實時性最高。

表1 去霧圖像參數評價

表2 GPU平臺下去霧算法耗時比較
現有傳統圖像去霧算法雖然能取得一定的去霧效果,但是處理時間較長,在交通監控視頻處理等應用場合難以滿足要求。本文提出了一種新的中值引導濾波去霧算法,對霧霾天氣下交通視頻的去霧效果略優于同類文獻的幾種算法,同時較大提升了運算效率,實時性得到保證,可處理交通視頻。