肖 杰,李同亮,翟東海
(西南交通大學信息科學與技術學院,四川成都611756)
在霧霾天氣下,空氣中漂浮著很多細微顆粒物,導致其散射波長較長的光比較多,最終導致交通圖像模糊不清,對道路交通的安全造成很大影響;同時,還會造成彩色圖像的顏色出現嚴重的失真和錯位,給計算機視覺系統地應用帶來很大困難;例如城市交通,智能車輛,高速公路上視頻監控等。因此,圖像去霧霾技術已成為數字圖像處理和計算機視覺領域的一個重要課題。
交通圖像去霧霾的目的是將模糊的交通圖像恢復成清晰的交通圖像。近年,基于大氣散射模型的圖像去霧霾的算法主要有兩類,第一類是利用多幅同一場景圖像得到清晰的無霧霾圖像,即在不同天氣下獲取的多幅圖像[1-2],或者是不同偏振程度的多幅圖像[3]。但是,在實際應用場景中,這樣的特殊條件通常無法滿足。第二類是,通過估計單幅圖像的景深或景深相關項[4-5],恢復清晰準確的圖像[6-9]。Tan[6]發現無霧霾圖像的對比度比有霧霾圖像更高,通過將有霧霾圖像的局部對比度擴大,從而達到去霧霾的目的。盡管該算法在一些場景下取得一定的效果,但是這種算法主要依據顏色的對比度處理,并不符合真實的物理模型。Fattal[7]根據物體的傳播衰減率與投影系數之間互不相關性,獲得介質透射率最終復原無霧霾圖像,但是該方法對于霧霾濃度高的圖像處理效果不佳。He等[8]通過對戶外無霧霾圖像數據庫進行統計,提出一種簡單有效的暗原色先驗單一圖像去霧霾方法,對一般戶外圖像取得了很好的去霧霾效果。但是該算法的時間復雜度高、執行速度慢、并且對于不符合暗原色通道原理的圖像的白色區域不能很好地處理、導致圖像的失真。蔣建國等[10]提出改進的基于暗原色先驗的圖像去霧霾算法,引入一種容差機制,雖然能夠很好地處理圖像中一些不符合暗原色通道原理的區域,但是并沒有提高算法的效率。
為了有效提高圖像去霧霾效率,很多相關算法被提出。褚宏莉等[11]提出基于黑色通道的圖像快速去霧霾優化算法,對圖像邊緣和非邊緣分別采用不同的模板處理得到透射率,雖然算法的時間復雜度降低,但是未實現處理不符合暗原色原理區域的圖像。文獻[12]利用一種新的引導濾波器優化投射率代替軟摳圖算法,該算法在很大程度上提升了計算效率,但是該算法去霧霾效果不夠徹底,在處理后的圖像中仍存在霧霾,且仍然導致明亮區域色彩失真。文獻[13]采用效率較高的中值濾波的優化大氣散射光,提升了去霧霾效率,但是因為中值濾波不能很好的保留邊緣信息,導致去霧霾后的圖像不夠真實。
雖然目前一些單幅圖像去霧霾算法針對相應場景下的圖像可以獲得不錯的效果,但都存在不同程度的缺陷,比如采用較復雜的方法優化投射率會產生效率低問題;采用一些快速濾波算法造成的邊緣信息丟失問題以及天空、地面的白色區域失真問題。為了有效改善圖像去霧霾效果,提高算法的執行效率,提出一種基于局部維納濾波的去霧霾算法。該算法從兩方面出發:首先,利用大氣散射光構造維納濾波去噪模型,并結合暗通道先驗原理估計出相關參數進行求解;其次,分析基于暗通道理論的去霧霾算法在白色區域產生色彩失真的原因,并基于此提出一種自適應調節參數大小的方法以進一步優化透射率;最后,通過實例驗證文中算法的時效性。
圖像去霧霾問題是一個需要利用場景的先驗知識及相關推理方法來解決的約束性問題。在圖像中觀測到的霧霾量取決于物體與相機間的距離、光線的波長和大氣中散射粒子的尺寸大小。給定霧霾天圖像的像素位置x,I(x)∈R3,去霧霾后的圖像J(x)∈R3,二者的關系由大氣散射模型[14]描述如下

式中t(x)∈R表示介質的透射率,A表示天空光亮度,A∈R3。式(1)中J(x)t(x)稱為直接衰減項,它描述了場景的真實輻射值及其在介質中的衰減。(1-t(x))A稱為大氣散射光,源于大氣散射,并使場景的顏色發生偏移,因而大氣散射光計算公式可以表示為

文獻[14]表明透射率t的取值依賴于一個空間不變量β和場景深度r(x),結合式(1)中J(x)t(x)說明霧霾的存在是導致場景輻射照度發生直接衰減的重要原因,并且這種衰減因場景深度r的變化產生指數級變化。

將(3)式帶入式(2)得V(x)=A(1-e-βr(x)),可以看出大氣散射光取值取決于大氣光自身的特性和圖像中場景的深度信息。
假設知道所有期望的參數,則可以得到

t0為一個很小的數,文獻[8]建議取0.01。A的具體求解過程參考文獻[8-10]中方法。
根據暗通道先驗理論假設原始圖像中任意一點在某一個或多個通道內像素值趨近于零則有

式中c代表某一顏色通道,暗通道先驗知識通常被用于粗略估計透射率,文中則與之不同,而是利用暗通道先驗理論粗略估計大氣散射光(如式5),然后利用后文算法細化大氣散射光,之后再利用以下模型求解透射率。

在式(6)中ω(0<ω≤1)為一常數,目的是保留一定的景深,讓復原后的圖像看起來更加真實,與ω相乘的項可以看做是Ic(y)/Ac的暗通道,A代表已知的大氣光。
式(5)得到的大氣散射光V(x)是一種粗略的估計,因為當圖像中明亮區域較多時存在某些像素點在各個顏色通道內像素值均不為零,這時暗通道先驗理論失效。另外,圖像中場景的紋理也是引入噪聲的一個重要因素。而此時V(x)的估計值偏差較大,因此需要對其進行優化。目前優化大氣耗散耗散函數的方法有基于統計平滑算子的方法和譜摳圖算法。提出一種利用局部維納濾波優化V(x)方法。而且文中算法可以根據圖像中的霧霾程度執行多次迭代優化處理,進而獲得更加精確的大氣散射光。同時,算法在處理天空,地面等明亮區域時采用里動態調節參數大小的策略,可以保證去霧霾后的圖像顏色不失真。
根據局部維納濾波[15]理論,結合大氣散射光的特點,給出如下模型

式中V0dark(x)為實際觀察量,具有局部統計特性。Vdark(x)為期待的有效值,n(x)為加性噪聲。進而可以得到局部維納濾波模型

方法簡單容易實現,并且該濾波器的步長可以自動更新,以適應場景深度的不連續性,當μ(x)變小時則可以做平滑處理,當μ(x)變大時則可以保留場景深度的不連續性。式中Vkdark為第k此迭代得到的估計值為第k-1次估計值Vk-1dark在局部區域Ω(x)內的均值,式(9)中的分子部分為第k-1次估計值Vk-1dark在局部區域Ω(x)內x點的方差。分母為第k-1次估計場景中的噪聲方差與Vk-1dark在局部區域Ω(x)內x點的方差之和。式中各參數值得估計如下
初始時,V0dark(x)為式(5)中得到的粗略估計值

模型的難點在于如何估計各參數值,借鑒文獻[13]的思想:利用信號自身估計該信號的局部方差和均值。由此可以估計大氣散射光在局部區域Ω(x)內的均值和方差。

Ω(x)代表局部抽樣區域內像素的個數。而噪聲方差的估計和文獻[6]和[7]的方法類似,即透射率的估計與抽樣窗口的大小及較低的信號方差相關。這里假設初始時,信號的方差遠遠小于噪聲方差,則隨著濾波迭代次數的增加信號中所含的噪聲信號越來越小,為此,構造了如下噪聲方差估計方法k為迭代次數,M為整幅圖像中像素點個數,ε定義為平衡調節參數(0<ε<1)在實驗過程中經過反復試驗ε取值0.2效果比較好。

通過大量實驗得知,對一些霧霾圖像,基于暗原色先驗的去霧霾結果出現色彩失真,如圖1(b)所示,(去霧霾后的圖像)中的天空區域出現嚴重的光暈現象。通過實驗統計觀察,這些圖像中一般包含天空、水面、偏白色物體等白色區域。實際上,這些白色區域即使在無霧霾條件下,它們的像素值也很大,在該區域內很難找到像素值接近于零的暗原色點,所以暗原色先驗理論在這些區域不成立。所以單純用暗原色理論去霧霾會出現顏色失真,光暈等現象。為了克服這個缺點,必須擴展暗原色先驗,以應對交通場景的霧霾圖像,提高算法魯棒性。從估計大氣光A的算法可以看出,當圖像存在白色區域時,A基本落在這些白色區域。通過式(4)求解透射率t的分布時不難發現:當I與A的值越接近其t值就越小,由于圖像中白色區域的暗通道像素值與A值接近,所以該區域對應的t值變很小,即透射率很小。然而,這樣計算得到的t值是建立在暗原色先驗理論在該區域成立的基礎之上,但是由前面的分析可知,該區域顯然不滿足暗原色先驗理論,進而得知該區域透射率的計算結果不準確。
假設不考慮暗原色,那么由式(1)可以直接求解得到準確透射率為

圖1 原始算法去霧霾結果

根據暗原色先驗理論可知,在實際計算中(14)式中的分母近似為1,但對于霧霾圖像中的白色區域不符合暗通道理論,因此實際的透射率應該比根據暗通道算法得到的值明顯要大。所以單純運用暗通道算法會出現色彩失真或者明亮的光暈(如圖1)。
針對上述原因提出一種簡單的自適應參數大小的透射率求解算法,見式(15)和式(16)

式中A為霧霾圖像中的大氣光的值,Idark(x)為暗原色圖像中的某一像素點的像素值。之前的算法中參數ω(取值為大于0小于1的數)大小是固定不變,該參數的作用是為了保持圖像的景深,使去霧后的圖像顯得更加真實。然而,固定的參數必然導致去霧霾過程的固化,不能區分白色區域和普通區域,最終導致白色區域的色彩失真,或者出現光暈現象。而文中算法中ω的值是動態變化的,不難看出,在白色區域(不符合暗通道理論的區域)暗原色的像素值與大氣光的值很接近時,|1-Idark(x)/Adark|變小,透射率t(x)變大(接近于1),這時去霧霾強度減弱,更加符合理論值;而在符合暗通道理論的區域,|1-Idark(x)/Adark|值接近1,去霧霾強度變大,此時符合暗通道理論。
用matlab語言在PC機上驗證文中算法。代碼運行環境為Windows 7系統,Intel(R)Core(TM)i3-2350M CPU@2.30GHZ with 2.00 GB RAM,32位操作系統。去霧霾算法中核心部分是對大氣散射光的估計和細化以及參數ω的自適應調節。維納濾波中參數ε和k的選取會影響去霧霾效果,輸入圖像不同,選取的參數也不同。但是對于大部分霧霾圖像,ε=0.2和k=2時可以得到不錯的去霧霾效果。在實驗過程中,取值為ε=0.2,k=2。在以上參數選擇的基礎上,圖2和圖3展現了文中算法在去霧霾過程中的對相關圖像的處理。不難看出,去霧霾后的圖像與原始霧霾圖像相比更加清晰,很好保留了圖像深度和邊緣信息,并且在天空區域圖像的顏色沒有失真。

圖2 去霧霾處理中間過程

圖3 去霧霾處理中間過程
為了驗證文中算法的有效性和可靠性,將文中算法與文獻[8]的算法及文獻[11]的算法進行性能比較,圖4給出了實驗結果對比圖。其中圖4(b)、(c)分別利用文獻[8]和文獻[11]的算法得到的實驗結果,可以明顯的看出文獻[8]的算法在處理霧霾交通圖像的天空區域時出現彩色失真現象,主要表現為不規則的彩色光暈現象。而文獻[11]的處理結果在景深及邊緣細節上處理的不夠精細,部分細節信息丟失。圖4(d)為文中算法的去霧霾結果,可以看出文中算法在景深及邊緣細節處理上更加精細,明顯地改善了恢復后的圖像,圖像的對比度更強,同時,讓去霧霾后的圖像沒有出現色彩失真現象。

圖4 去霧霾結果對比
除了以上主觀的實驗比較外,還引用信息熵、標準差和平均梯度作為去霧霾效果的客觀定量評價指標。對于信息熵、標準差和平均梯度,輸出值越大表示實驗結果越好。文中算法和文獻[8]算法及文獻[11]算法去霧霾后結果客觀上的評價比較如表1所示。可以看出文中算法去霧霾后的圖像在標準差,信息熵和平均梯度方面均有不同程度的提升,進而從客觀角度表明文中算法處理后的圖像更加清晰,證明了文中算法的有效性。

表1 客觀比較結果
算法效率主要是通過算法處理完一幅圖片所消耗的時間體現,因此通過表2從圖像去霧霾耗時角度將文中算法分別與文獻[8]算法和文獻[11]算法分別進行比較,實驗過程中3幅原始圖片大小分別為236×176、305×203、461×247。實驗數據表明文中算法明顯縮短了去霧霾過程消耗的時間,提升了算法效率。

表2 去霧霾算法效率比較結果
介紹了大氣散射模型,并分析了原始的基于暗通道先驗理論去霧霾算法中存在的問題。然后采用局部維納濾波方法并結合暗通道理論求解并優化大氣散射光,極大提升了去霧霾效率。除此之外還研究了傳統基于暗通道理論的去霧霾算法在白色區域產生色彩失真的原因,并提出一種自適應參數大小的透射率求解算法,用以解決色彩失真問題。最后提出的算法用于實例驗證,實驗結果表明:文中算法在去霧霾效率上較提升了2~倍,同時,保證了圖像白色區域的色彩不失真。
[1] NARASIMHAN S G,NAVAR S K.Chromatic framework for vision in bad weather[C]//Proc of IEEE CVPR 00.Washington:IEEE Computer Society,2000:598-605.
[2] NARASIMHAN S G,NAVAR S K.Contrast restoration of weather degraded images[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2003,25(6):713-724.
[3] YOU Y L,KAVEH M.Fourth-order partial differential equations for noise removal[J].IEEE Trans on Image Processing,2000,9(10):1723-1730.
[4] TAREL J P,HAUTIERE N.Fast visibility restoration from a single color or gray level image[C].IEEE International Conference on Computer Vision,Kyoto,Japan:IEEE Press,2009:1-8.
[5] 郭珈,王孝通,胡程鵬,等.基于鄰域相似性的暗原色先驗圖像去霧方法[J].計算機應用,2011,31(5):1224-1226.
[6] TAN R T.Visibility in bad weather from a single image[C].IEEE Conference on Computer Vision and Pattern Recognition,Anchorage,USA:IEEE Press,2008:1-8.
[7] FATTAL R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.
[8] HE K,SUN J,TANG X.Single image haze removal using dark channel prior[C].IEEE Conference on Computer Vision and Pattern Recognition,Miami,USA:IEEE Press,2009:1956-1963.
[9] 周雨薇,陳強,孫權森,等.結合暗通道原理和雙邊濾波的遙感圖像增強[J].中國圖象圖形學報,2014,19(2):313-321.
[10] 蔣建國,侯天峰,齊美彬.改進的基于暗原色先驗的圖像去霧算法[J].電路與系統學報,2011,16(2):7-12.
[11] 褚宏莉,李元祥,周則明,等.基于黑色通道的圖像快速去霧優化算法[J].電子學報,2013(4):791-797.
[12] He K,Sun J,Tang X.Guided image filtering[C]//Proceedings of European Conference on Computer Vision.Crete,Greece:Springer,2010:1-14.
[13] Tarel J,Hauti N.Fast visibility restoration from a single color or gray level image[C]//Proceedings of IEEE International Conference on Computer Vision.Kyoto,Japan:IEEE Computer Society,2009:2201-2208.
[14] K Gibson,T Nguyen.Fast single image fog removal using the adaptive wiener filter[C].in Proc.20th IEEE ICIP,Sep,2013:714-718.
[15] Xiaobo Zhang,Xiangchu Feng.Hybrid gradient-domain image denoising[J].International Journal of Electronics and Communications,2014,68(3):179-185.