張道華
在霧天條件下獲得的圖像由于光受到空氣中介質(zhì)(如浮質(zhì)、灰塵、霧和煙)的影響發(fā)生散射,出現(xiàn)圖像發(fā)生退化、信息模糊等現(xiàn)象,這一現(xiàn)象會大大降低圖像的利用價值.例如,高速公路上的監(jiān)控器在霧天情況下無法清楚地監(jiān)控路況和獲取來往車輛的信息;在涉及國家安全的行動中,圖像的退化會導致信息的不準確,增加了決策不確定性;在遙感探測、衛(wèi)星成像中,帶霧圖像會引起信息處理與識別的偏差,不能較好地對圖像數(shù)據(jù)進行研究分析.因此,研究圖像去霧算法有非常重要的意義.鑒于此,基于Matlab構(gòu)建圖像去霧系統(tǒng),分析比較三種經(jīng)典去霧算法,以期為其他去霧算法的研究提供技術(shù)參考.
Matlab是矩陣實驗室(Matrix Laboratory)的簡稱[1].Matlab作為面向?qū)ο蟮目茖W計算語言,它的符號計算與數(shù)值計算能力非常健壯、自然、簡明.Matlab因其卓越的數(shù)值計算能力而成為科研領(lǐng)域進行仿真與計算的首選平臺.它包括Matlab和Simulink兩大部分,為用戶提供了各種豐富的控件和組件,用以制作圖形用戶界面.
本去霧系統(tǒng)的構(gòu)建與開發(fā)是在Matlab 2011a下完成的,因此,運行模塊程序需在計算機上安裝Matlab 2011a或更高版本.打開Matlab,在“文件”(File)菜單欄中選擇“打開…”(Open…)在文件選擇對話框中選擇“.fig”文件,均可進入相應界面的編輯窗口.
本圖像去霧系統(tǒng)集成了暗通道優(yōu)先、直方圖均衡化、Retinex三種去霧算法,不僅能夠獲取每種算法的中間結(jié)果和處理結(jié)果,還能夠?qū)θN算法進行評價系數(shù)比較[2].該系統(tǒng)可根據(jù)需要進行迭代更新,增加新的去霧算法.系統(tǒng)的結(jié)構(gòu)設(shè)計如圖1.
圖1 去霧系統(tǒng)的結(jié)構(gòu)
通過對各個模塊進行算法設(shè)計與代碼實現(xiàn),得到的去霧系統(tǒng)的主界面如圖2.代碼中“Dehaze-Sysm.fig”為主菜單界面配置文件“,DehazeSysm.m”為主菜單后臺程序;“darkchannel.fig”為暗通道優(yōu)先算法模式界面配置文件,“darkchannel.m”為暗通道優(yōu)先算法模式后臺程序;“Histo.fig”為直方圖均衡化算法模式界面配置文件,“Histo.m”為直方圖均衡化算法模式后臺程序“;Retinex.fig”為Retinex算法模式界面配置文件,“Retinex.m”為Retinex算法模式后臺程序;“Contrast.fig”為三種算法對比模式界面配置文件,“Contrast.m”為三種算法對比模式后臺程序.
在主菜單下可進入暗通道優(yōu)先算法模式、直方圖均衡化算法模式、Retinex算法模式和對比模式四種模式,點擊“生成”或“對比”則可以生成處理結(jié)果,點擊“清除”按鈕可以將界面中的圖像和按鈕置為初始狀態(tài).
圖2 去霧系統(tǒng)主界面
在三種算法模式下,除了可以在右上角顯示去霧后的增強圖像,還可以在下方顯示算法產(chǎn)生的對應中間結(jié)果,包括:暗通道優(yōu)先處理算法的暗通道圖和透射圖;直方圖均衡化算法中能夠顯示去霧前后RGB通道的灰度直方圖;Retinex算法中處理前后的通道分量圖[3].在對比模式下,處理展示三種算法的處理結(jié)果,并在表格中顯示三種算法的運算速度,以及三種算法結(jié)果和原圖的亮度、對比度、峰值信噪比.
如果已知I是霧化圖像的顏色值(Observed Intensity),J是場景無霧情況下的顏色值(Scence Radiance),A是大氣光顏色值(Global Atmosphere Light),而t則是場景色彩在各個區(qū)域通過程度的描述(Transmission Map,透射圖).去霧方法的本質(zhì)就是從I獲取J,A和t.則:
在大氣光均勻的條件下,t可以描述為
其中,β是大氣散射系數(shù),d是場景深度.
其中Jc是J的顏色通道,Ω(x)是以x,為中心的一小塊區(qū)域.暗通道圖是兩個最小值運算的結(jié)果在每個像素上作的運算是最小值過濾器.我們稱以下這個觀察結(jié)果為暗通道優(yōu)先理論,
由于陰影、彩色物體的表面、暗色的物體或物體的陰面三種因素會導致暗通道中像素亮度較低,因此需要估算t.
假設(shè)大氣光A是已知的.
這里,每個顏色通道是獨立的.
由于Ac恒為正,因此
根據(jù)上式得?t(x)→0,所以引入一個常量參數(shù)ω(0<ω≤1),
在本文中將ω的值定為
接下來是軟摳圖(Soft Matting)的計算,圖像摳圖等式為
改進的t可以通過解下面的稀疏線性系統(tǒng)求得
估算大氣光A的等式如下
其中R≤1,是場景中各點的反射比,得
并將式修改為
這種基于暗通道優(yōu)先的方法比探測最亮點的方式更加有效,本文中對所有圖像的大氣光的估測均使用這種方法.
最后是恢復場景色彩,最終的場景恢復式為
t0的值可以設(shè)為0.1,本文中 Ω(x)選用15×15.
算法實現(xiàn)流程如圖3.
圖3 暗通道優(yōu)先處理算法流程圖
暗通道優(yōu)先運行結(jié)果如圖4,核心代碼設(shè)計如下:
圖4 暗通道優(yōu)先運行效果圖處理結(jié)果
從信息的角度看,當數(shù)據(jù)的分布接近均勻分布的時候,數(shù)據(jù)所承載的信息量(熵)為最大.為了增強圖像,達到使其更加清晰的目的,直方圖均衡化的基本思想是利用線性或非線性的方法,展寬圖像中像素個數(shù)多的灰度級,壓縮像素個數(shù)少的灰度級,從而調(diào)整灰度色調(diào),提高圖像的對比度.直方圖均衡化的步驟如下.
則原圖的灰度分布概率pf為[4]
其中,Nf=M×N(M,N分別為圖像的長和寬)為圖像的總像素的個數(shù);
pa(i)為圖像中第i個灰度值的累計分布概率[5],則有
其中,令pa(0)=0.
進行直方圖均衡化計算,得到處理后圖像的像素值g(i,j)為[6]
算法實現(xiàn)流程如圖5.
直方圖均衡化運行效果如圖6,核心代碼設(shè)計如下.
圖5 直方圖均衡化算法流程
圖6 直方圖均衡化運行效果圖
Retinex理論中,成像過程可以用下式表示:
這種理論從心理物理實驗研究色彩恒常性的行為,Land研究了人類視覺彩色感知和亮度的心理物理,提出了一個已使機器視覺有類似性能的理論.在上式中S是已知的,然后通過求解得到反射部分R(即反射圖像),也就得到了增強后的圖像.其可以表示為
其中k為歸一化因子,c是高斯函數(shù)的尺度參數(shù),為了便于計算,對其作對數(shù)處理.
由以上分析
可以得到增強模型,
再作線性變換,就可以得到增強后的圖像.Retinex算法用數(shù)學公式可以概括為
Si(x,y)為原圖的第i個色帶,*是卷積運算,F(xiàn)(x,y)是環(huán)繞函數(shù),一般選取高斯環(huán)繞函數(shù),所以才會有上面出現(xiàn)的G(x,y),有很多文章上也用G(x,y).下文是對Retinex幾個關(guān)鍵問題進行的分析.
首先是環(huán)繞函數(shù)的選取.事實上,在Retinex理論發(fā)展的早期,曾經(jīng)有幾種形式的函數(shù)被用作環(huán)繞函數(shù).比如,Land曾建議用平方反比函數(shù)
作為環(huán)繞函數(shù).后來被修改成
Moore提出了帶絕對值的指數(shù)形式:
因為該形式類似于超大規(guī)模集成電路阻抗網(wǎng)絡(luò)的響應.
Hurlbert提出了這種類型的高斯:
因為該公式在自然和機器視覺中廣泛應用.
其次是尺度參數(shù)的選擇,直接決定著SSR的性能,因此它被稱為尺度參數(shù)[7].
其中RM是MSR在第i個彩色空間的輸出,
i N為尺度個數(shù),ωn為對應一個尺度的權(quán)值,且
在實際使用的時候,我們選擇卷積函數(shù)的尺度參數(shù)應盡量包含各個范圍的尺度,比如選擇一個較小尺度,一個中間尺度,一個較大尺度.
算法流程如圖7所示:
圖7 Retinex算法流程圖
Retinex算法處理結(jié)果如圖8所示,核心代碼如下:
圖8 Retinex算法運行效果圖
通過對三種經(jīng)典的去霧算法進行討論和分析,并基于算法進行代碼設(shè)計與實現(xiàn),為了綜合比較三種算法的性能,針對同一幅帶霧圖像,分別使用三種算法處理,并計算對應算法的亮度、對比度及峰值信噪比[8],對比效果如圖9所示.
圖9 三種算法對比
隨著圖像處理技術(shù)在眾多科學和工程領(lǐng)域的廣泛應用,戶外監(jiān)視系統(tǒng)、智能交通系統(tǒng)以及軍用的探測系統(tǒng)等計算機視覺系統(tǒng)的應用受到了越來越高的重視.然而霧霾天氣下,道路可視性變差,獲取的圖像嚴重退化,對比度降低,顏色嚴重偏移與失真,場景模糊,給戶外圖像采集帶來了嚴重不便,嚴重影響了交通系統(tǒng)和戶外視覺系統(tǒng)的正常工作.因此,為了實現(xiàn)計算機視覺系統(tǒng)的全天候工作,圖像去霧成為亟需解決的課題.針對霧天圖像增強處理的研究已經(jīng)成為計算機視覺和圖像處理領(lǐng)域的研究熱點,吸引了國內(nèi)外大量研究者,提出了大量算法,文中三種算法都能在一定程度上完成對帶霧圖像的清晰化處理,但是在處理效果和處理速度上仍然各有差別,各有優(yōu)缺點,暗通道優(yōu)先算法的去霧效果最好,但運算時間要遠高于其他兩種算法.為了實現(xiàn)霧天路況監(jiān)控視頻的即時去霧,更加快速、有效的算法的設(shè)計仍在不斷發(fā)展和完善之中.