趙長霞,段錦,李光明,彭杰
(長春理工大學 電子信息工程學院,長春 130022)
霧天條件下,由于大氣對光的吸收與散射作用常常會造成獲得的圖像嚴重退化,圖像清晰度降低,對比度差,給視頻監控、交通運輸以及軍事偵察等工作帶來很大的困難。因此,復原霧天圖像具有重要的實際意義。目前圖像去霧算法主要有圖像增強算法和基于大氣散射物理模型的去霧算法。圖像增強算法不考慮圖像退化的原因,因此這種算法可能損失圖像的重要細節信息。而基于大氣散射物理模型的去霧算法是建立在霧天成像的物理過程基礎上的,所以這種去霧算法具有針對性,去霧效果也比較理想,因此成為圖像去霧技術研究的熱點。
Tan[1]提出通過擴大復原圖像的局部對比度來達到去霧目的;Fattal[2]采用盲源分離技術提取了景物深度信息,從而達到去霧目的;He等人[3]提出基于暗原色先驗的去霧方法。上述三種方法均能實現單幅圖像自動去霧,但都需要復雜的求解運算,因此適時性不好。王勇等人[4]提出一種基于大氣背景抑制的偏振去霧算法,實現圖像去霧,但算法對于無窮遠處光強求取不夠精準,導致去霧效果不佳。周浦城等人[5]針對霧天退化圖像,提出一種自適應圖像復原方法,這種方法能夠改善圖像質量,但這種方法沒有考慮場景深度對偏振度的影響,導致離視點較遠的場景區域去霧效果下降;夏宏麗[6]提出一種基于偏振特性的圖像去霧算法,這種算法相對于有天空區域圖像準確性較好,但對于無天空區域圖像該算法適用性較差;Schechner等人[7,8]根據大氣偏振特性獲取場景的深度信息,最終復原霧天退化圖像,但需要通過手工選取圖像中的區域來估計相關參數。
本文通過研究霧天條件下偏振圖像的屬性特征,利用偏振成像優勢,結合暗原色先驗去霧理論,在研究前人的一些去霧方法基礎上,針對其去霧方法的不足,提出一種基于大氣散射模型的偏振圖像去霧方法。
根據大氣散射模型,在霧天情況下,起主導作用的是衰減模型和大氣光模型[7,8]。衰減模型描述了光波從場景傳播到觀測點之間的削弱過程。大氣光模型描述了光經大氣散射后對觀測點接收光強的影響。因為場景光強隨距離呈指數衰減,而大氣光強隨距離呈指數遞增,這可以近似地認為到達線偏振成像系統的光波偏振態主要是由大氣光造成的[8]。因此計算機視覺和計算機圖形中常用的去霧模型[3]如下:

其中,I(x)表示人眼或是成像設備所觀測到的霧天降質圖像;J(x)表示場景中未降質的無霧圖像;A∞表示沿著觀測者視線方向無窮遠處的光照強度;t(x)為傳輸率函數,公式表述如式(2):

t(x)反映了光線對霧的穿透能力;β(λ)為大氣散射系數。
根據光學原理可知,光波經物體表面反射后其偏振態將發生改變,對于線偏振成像系統總光強I(x)為:

其中,I//(x)表示平行于入射面的線偏振光的強度;I⊥(x)表示垂直于入射面的線偏振光的強度。
結合式(1)、式(3),基于大氣散射模型的偏振圖像去霧模型為:

為了獲取I//(x)、I⊥(x),需要用到偏振相機獲得偏振圖像。由于實驗條件有限,本文采用相機鏡頭加偏振片組成采集偏振圖像的裝置,由此來獲取I//(x)、I⊥(x)。結合暗原色先驗理論自動估計A∞、估計傳輸率圖t(x),并采用改進的導向濾波的方法優化傳輸率圖,最終可得到復原圖像J(x)。
Schechner等人提出的去霧方法存在以下幾點不足:(1)算法涉及的有關參數需要通過人工交互選取,不便于計算機自動處理;(2)算法實用性較差,對于無天空區域圖像存在較大誤差;(3)沒有考慮景深的變化對參數的影響,導致離視點較遠處去霧效果不佳,存在圖像細節信息丟失的問題。針對上述不足,擬做出以下改進。
大氣光的選取最為關鍵,它直接影響到圖像傳輸率圖的求取,進而影響圖像的復原效果。為了避免受到場景中白色物體或高亮噪聲的干擾,本文不能直接選取圖像中最亮的像素作為大氣光的估計值,需要提出具有更高魯棒性的估計方法。
本文假定霧在大氣中均勻分布,則圖像上霧最厚的地方應該是無窮遠處的天空區域。根據暗原色先驗原理,首先選取暗通道中亮度最大的0.1%像素;然后將這些像素與輸入圖像中相同位置像素對應;最后為避免直接選取最亮像素點存在的較大誤差,本文以最亮像素的3×3鄰域的值作為參考,將3×3鄰域像素點的平均強度值作為大氣光估計值。這里約定最大偏差不大于δ,即:

根據暗原色先驗可知,在大多數無霧圖像里都至少存在一個強度值較低的顏色通道,由于其被霧干擾后亮度值變大,所以被霧覆蓋的圖像區域的暗原色具有較高的強度值。由此可根據這些暗像素來估計大氣光的透射信息。其中暗通道的定義為:

其中,Jc是圖像J的某一個顏色通道,Ω(x)是以x為中心的一個方形區域。在不考慮天空區域的情況下,Jdark的強度值通常很低,且趨近于零。如果圖像J是戶外的無霧圖像,則Jdark就為J的暗原色,以上通過觀察總結得到的經驗性規律稱為暗原色先驗原理[3]。
為了求取傳輸率圖,首先假定t(x)在以像素點x為中心的圖像子塊Ω(x)是一個常量,用t(x)表示,式(6)使用最小運算符得:

又由于Ac總大于0,式(7)可以表示為:

由式(8),對三個顏色通道進行最小操作運算,得:

根據暗原色先驗知,無霧圖像J的暗通道Jdark趨近于0,所以有
綜上所述,我們可以簡單地估算出傳輸率:

事實上,我們不需要單獨區分有無天空區域,式(10)均可以較好地處理[3]。為了讓去霧后的圖像看起來更加真實自然,將式(10)引入一個常數ω(0<ω≤1),由此來修正傳輸率圖[9]可得

這一修正具有優美的特性,對于遠處的物體能相應地保留更多的霧。ω的取值根據具體情況而定。
傳統的優化方法軟摳圖可以更精確的獲得傳輸率圖t(x)。但是軟摳圖算法非常耗時,這里采用改進的導向濾波的方法優化t(x),其方法簡述如下:
首先我們定義導向濾波,假設在導向圖像I和輸出圖像q之間導向濾波是一個局部線性模型。在以k為中心的窗口ωk中,假設q為I的線性變換:

(ak,bk)是在窗口ωk中的線性系數,假定其是相關的。為了確定線性系數(ak,bk),我們需要約束輸入的濾波圖像 p。輸入圖像 p去掉一些無用的信息n(噪聲等),定義為輸出圖像q:

尋求一個在保證式(12)為線性模型的前提下,將q和 p之間的差異最小化的方法。在窗口ωk中
最小化下面的代價函數:

其中,ε是一個正則化參數。式(14)是線性邊緣回歸模型,它的參數求取如下:

其中,μk和是導向圖像I的窗口ωk的平均值與方差中的像素個數;是p在ωk中的平均值。根據式(12),結合獲得的線性系數(ak,bk),可得到濾波輸出圖像qi。但是,像素點i涉及到包含i的所有窗口ωk,所以式(12)中qi的值當用不同的窗口計算時不是相同的,我們需要平均所有qi的可能值。所以,通過計算圖像中所有窗口ωk的(ak,bk)值,我們計算濾波輸出為:


綜上,把粗略估計得到的傳輸率圖t(x),運用導向濾波的方法進行優化。輸入粗略估計得到的傳輸率圖,輸出即為優化后的傳輸率圖。
綜上所述,提出的基于大氣散射模型的偏振圖像去霧方法描述如下:
(1)偏振成像系統獲取2個正交偏振方向的圖像,即可得到 I//(x)、I⊥(x);
(2)獲取大氣光信息,可自動估計出A∞;
(3)根據式(6)-(11)可得到初始傳輸率圖;
(4)利用式(12)-(18)可以得到優化后的傳輸率圖t(x);
(5)將所求的結果代入式(4),即可得到霧天復原圖像J(x)。
為了驗證算法的有效性與實用性,利用偏振成像系統獲取霧天條件下的多組圖像,在內存為4GB、32位操作系統的計算機上,利用MATLAB軟件進行算法編碼。經過大量實驗,可證明本文算法的有效性與實用性。本文選取兩組場景將不同去霧算法進行對比。為了便于對比,本文借用文獻[6]中的偏振圖像。圖1大小為342*283,圖2大小為460*333,均為bmp格式。圖1為文獻[6]去霧結果、文獻[8]去霧結果及本文去霧結果的效果圖。

圖1 文獻[6]、文獻[8]與本文算法效果圖
為了更好地比較去霧的效果,本文采用客觀評價方法進行評價。評價指標為圖像熵、灰度方差、平均梯度(清晰度)3個指標。其中,圖像熵表示圖像信息的豐富程度;灰度方差表示圖像中各像素灰度值偏離圖像平均值的程度;平均梯度反映了圖像中的微小細節特征,同時也反映了圖像的清晰度。各指標參數值越大說明圖像越清晰,去霧效果越好。
比較文獻[6]算法、文獻[8]算法及本文算法去霧效果,客觀評價如表1。
如表1所示,本文算法的清晰度為8.9760,復原前圖像的清晰度為4.7685,提高了88.2%;比較后不難發現,復原后的圖像在清晰度方面有了明顯地改善。本文算法比文獻[6]算法的清晰度提高了20.5%;相比文獻[8]算法的清晰度,提高了33.8%。比較圖1(c)、圖1(d)、圖1(e)可知,遠處白色建筑物,即圖像上面部分,本文算法看起來更清晰,且經過本文算法去霧處理后,遠處建筑物較其他兩種方法容易分辨,且場景目標的層次清晰分明。結合表1,在上述三種方法中,本文提出的復原方法得到的圖像在圖像熵、平均梯度及灰度方差方面均最大。文獻[6]提出的去霧方法在圖像熵、灰度方差與平均梯度方面均優于文獻[8]提出的方法。此組試驗表明,利用本文算法近處和遠處的景物去霧效果均較好,驗證了本文算法的優越性。

表1 不同去霧算法的定量比較結果
圖2為第二組實驗場景的文獻[5]、文獻[6]及本文算法效果圖。

圖2 文獻[5]、文獻[6]與本文算法去霧效果圖
從圖2可以看出,和第一組實驗相比,第二組實驗為濃霧條件下的圖像,文獻[5]、文獻[6]將圖中與天空相連的霧比較濃厚的部分景物,視為天空處理了,導致這部分圖像細節信息丟失,如圖2中圈出部分,復原效果不佳。文獻[5]算法能夠改善圖像質量,提高圖像的對比度及清晰度,但這種方法沒有考慮場景深度對偏振度的影響,導致離視點較遠的場景區域去霧效果嚴重下降;文獻[6]算法雖然考慮到了場景深度對偏振度的影響,但是當圖像中有大片白色景物時,去霧效果不佳。文獻[5]、文獻[6]的復原方法均有細節信息丟失,而本文方法沒有細節信息丟失,復原效果較好。
比較文獻[5]算法、文獻[6]算法及本文算法去霧效果,定量評價結果如表2。

表2 不用復原方法的定量比較結果
如表2所示,本文算法的清晰度為4.0800,復原前圖像的清晰度為2.2695,經過本文算法去霧后,圖像清晰度提高了79.8%;相比文獻[5]算法的清晰度提高了15.9%;相比文獻[6]算法的清晰度提高了23.1%。從表中可以看出,通過去霧處理,各圖像清晰度指標均有所提高,且本文算法復原的圖像要比文獻[5]算法和文獻[6]算法復原的圖像更加理想。第二組實驗結果表明,本文算法復原的圖像清晰度比文獻[5]算法和文獻[6]算法的清晰度高。雖然文獻[5]算法和文獻[6]算法的圖像熵和平均梯度略高,但是卻丟失了部分信息,如圖2中圈出部分。本文算法沒有丟失信息,清晰度較高,復原效果較好。
上述實驗結果均表明,本文方法對圖像有無天空區域沒有限制,考慮到了不同深度對參數值的影響,且不丟失細節信息,當圖像出現大片白色物體時,去霧效果也較理想,實用性較強,驗證了本文算法的有效性與優越性。
本文利用偏振信息實現圖像去霧,實驗驗證了該方法在霧天條件下的可行性與有效性,能夠達到去霧目的,提高了圖像的清晰度與對比度,獲得了較好的復原效果。采集該算法所用圖像的實驗設備簡單,方法易行。本文去霧算法易于工程實現,有利于在實際中的具體應用。該算法可應用于視頻監控、智能交通以及軍事偵察等領域。
[1]Tan R.Visibility in bad weather from a single image[A]//Proceeding of IEEE Conference on Computer Vision and Pattern Recognition[C].Washington DC,USA:IEEE Computer Society,2008:l-7.
[2]Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):72-80.
[3]He K,Sun J,Tang X.Single image haze removal using dark channel prior[A]//Proceeding of IEEE Conference on Computer Vision and Pattern Recognition[C].Washington DC.USA:IEEE Computer Society,2009:1956-1963.
[4]王勇,薛模根,黃勤超.基于大氣背景抑制的偏振去霧算法[J].計算機工程,2009,35(4):271-275.
[5]周浦城,薛模根,張洪坤,等.利用偏振濾波的自動圖像去霧[J].中國圖象圖形學報,2011,16(7):1178-1183.
[6]夏宏麗.基于偏振特性的圖像去霧算法研究[D].合肥:合肥工業大學,2013.
[7]Schechner Y Y,Narasimhan S G,Nayar S K.Instantdehazing ofimages using polarization[J].In Proceeding of CVPR,2001,1:325-332.
[8]Schechner Y Y,Narasimhan S G,Nayar S K.Polarization-based vision through haze[J].Applied Optics,2003,42(3):511-525.
[9]孫小明,孫俊喜,趙立榮,等.暗原色先驗單幅圖像去霧改進算法[J].中國圖象圖形學報,2014,19(3):381-385.