湯旭,李婕(通訊作者),孫園翔,周宇晗
(湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北武漢,430068)
霧是一種自然的天氣現(xiàn)象,它導(dǎo)致能見(jiàn)度降低,霾則是由空氣中大量微小粒子所導(dǎo)致的空氣渾濁,其核心物質(zhì)是懸浮于空中的細(xì)微灰塵,即氣溶膠顆粒。在霧霾的影響下,圖像和視頻的對(duì)比度會(huì)有所降低、清晰度會(huì)退化。因此,在對(duì)戶外采集到的圖像進(jìn)行處理時(shí),霧霾會(huì)產(chǎn)生惡劣的影響。所以,去霧技術(shù)去除圖像中霧霾信號(hào)的干擾、恢復(fù)清晰的圖像內(nèi)容、保正駕駛輔助系統(tǒng)的安全性等方面的研究,具有重要意義。
圖像去霧發(fā)展至今主要有兩個(gè)基本的思路,本文的該部分主要參照了文獻(xiàn)[1]中提到的兩個(gè)角度。
去霧作為圖像增強(qiáng)的方法中的一種,其不關(guān)心導(dǎo)致圖像退化的具體因素,僅對(duì)圖像中有價(jià)值的部分進(jìn)行增強(qiáng),去掉無(wú)用部分。一般來(lái)說(shuō),霧天圖像經(jīng)過(guò)圖像增強(qiáng)后對(duì)比度較之增強(qiáng)前會(huì)有明顯提高,去霧后的圖像會(huì)更加符合人的視覺(jué)習(xí)慣,并且會(huì)較之去霧前更加適合計(jì)算機(jī)進(jìn)行圖像處理。不過(guò),通常情況下去霧后的圖像會(huì)有一些較為嚴(yán)重的失真。
1.1.1 直方圖均衡去霧
該方法的基礎(chǔ)是概率累積函數(shù)變換法,通過(guò)把已知圖像的灰度概率分布轉(zhuǎn)變成均勻概率分布的手段,來(lái)提高圖像的對(duì)比度。全局直方圖均衡化是一種基本的算法,絕大多數(shù)的研究者在進(jìn)行去霧效果的對(duì)比時(shí),都會(huì)與該方法進(jìn)行比較。但是這種方法是對(duì)并沒(méi)有考慮到圖像的局部特征,當(dāng)整幅霧天圖像的場(chǎng)景景深單一時(shí),這種方法會(huì)獲得不錯(cuò)的去霧效果。然而,實(shí)際生活中,場(chǎng)景景深總是復(fù)雜的并且差距會(huì)較大,對(duì)整個(gè)圖像做同一種處理就很容易會(huì)丟失邊緣特征,即失真。當(dāng)單幅圖像中的R,G,B三個(gè)分量中有某個(gè)分部的較為極端時(shí),簡(jiǎn)單的來(lái)說(shuō)就是某種顏色比較突出時(shí),對(duì)進(jìn)行全局直方圖均衡化的時(shí)候明顯的不合理的,甚至?xí)钸@種顏色更加突出。
1.1.2 基于Retinex理論的去霧算法
基于Retinex理論[7]的去霧算法認(rèn)為物質(zhì)是其實(shí)都是無(wú)色的,顏色只是光與物質(zhì)作用后的結(jié)果,因此物體的顏色取決于物體表面對(duì)光線的反射特性,每個(gè)顏色是由色光三原色紅、綠、藍(lán)中的一種或多種構(gòu)成的,只跟物質(zhì)本身的物特性有關(guān)系。其與傳統(tǒng)的線性或者非線性算法不盡相同,傳統(tǒng)的線性或者非線性圖像處理算法只是突出圖像的某一類特征,只是單方面的增強(qiáng)或削弱某類信息,無(wú)法在多個(gè)方面共同滿足處理要求。而Retinex算法能夠在縮小圖像顏色動(dòng)態(tài)范圍、邊緣銳化提取和顏色恒常性等多個(gè)領(lǐng)域都有較好的發(fā)揮,因此可對(duì)類型互不相同的因霧霾導(dǎo)致的低清晰度圖像進(jìn)行隨機(jī)增強(qiáng)。Retinex的多種圖像處理方法都適用于圖像去霧處理中,可達(dá)到增強(qiáng)對(duì)比度和邊緣信息的效果。
該方法認(rèn)為圖像退化的第一因素是霧,通過(guò)精確的霧天成像模型,將圖像退化的全過(guò)程進(jìn)行反向推算,還原出無(wú)霧的圖像,這種方法僅對(duì)霧天圖像有效,還原后的去霧圖像效果較好,邊緣特征沒(méi)有較大丟失。模型參數(shù)的估算是該方法的要害,參數(shù)的數(shù)值直接影響圖像還原的結(jié)果。
暗通道先驗(yàn)去霧算法:何凱明等提出過(guò)簡(jiǎn)便易行的圖像復(fù)原方法,其基礎(chǔ)是暗原色先驗(yàn)的單幅圖像去霧算法。這種方法去霧效率極高。文獻(xiàn)[8]中提到,在天氣晴朗時(shí)拍攝的圖像RBG三通道中總會(huì)有一些顏色通道值低的點(diǎn)。出現(xiàn)霧霾的時(shí)候,利用空氣中光對(duì)它們的影響,估算此時(shí)霧霾的濃度。然后,根據(jù)霧的濃度復(fù)原無(wú)霧圖像。但在使用這種方法的過(guò)程中,同樣存在著透射率求解不夠精確、計(jì)算耗時(shí)等問(wèn)題。
直方圖均衡化算法即是把灰度圖像進(jìn)行非線性拉伸,將圖像的像素值從新進(jìn)行分配,使一定灰度范圍內(nèi)的像素?cái)?shù)量大致相同。假定變換函數(shù)如式(1)所示:


圖1 直方圖均衡化處理流程
Retinex理論指出一幅給定的圖像S(X,Y)可以分解為兩種不同的圖像的和,如式(2)所示。

其中,R(X,Y)為反射圖像、L(X,Y)為亮度圖像(或入射圖像)。該理論利用圖像S來(lái)獲取物體的反射特性,想辦法消除或者減少入射光L的影響,恢復(fù)物體的真實(shí)亮度。
單尺度的Retinex算法最簡(jiǎn)單基礎(chǔ),因此給出廣義上的Retinex去霧算法大致步驟:
step1:通過(guò)取對(duì)數(shù)的方法區(qū)分入射光分量和反射光分量;

Step2:一般會(huì)把最終的反射圖像假設(shè)的作為空間平滑圖像,所以可用高斯模板對(duì)圖像做卷積,這相當(dāng)于使用一個(gè)低通濾波器進(jìn)行低通濾波,低通濾波后的圖像為D(X,Y),F(xiàn)(X,Y)表示高斯濾波函數(shù);

Step3:在對(duì)數(shù)域中,用原圖像與低通濾波后的圖像相減,得到高頻增強(qiáng)圖像G(X,Y)。

Step4:把G(X,Y)取反對(duì)數(shù),得到增強(qiáng)后的圖像R(X,Y);

暗原色先驗(yàn)理論通過(guò)分析無(wú)霧圖像的特征,獲取一種特定的規(guī)律,稱之為暗原色先驗(yàn)。在了解暗通道前,先回顧一下大氣散射模型:

式(7)中,I(x)表示未處理的初始圖像,J(x)表示要還原的無(wú)霧圖像,A為全球大氣光成分,t(x)表示介質(zhì)透射率。先驗(yàn)理論認(rèn)為在大部分非天空的局部區(qū)域里,RBG三通道中總會(huì)有一些顏色通道值低的點(diǎn),這片區(qū)域中光強(qiáng)度的最小是是一個(gè)極小的數(shù)。

Jdark稱為圖像J的暗原色,理論上這個(gè)值非常小,并且會(huì)無(wú)限趨近于0,Jc為圖像J的RBG三通道中的一個(gè),?( x)是以 x 為中心的局部塊區(qū)域。通過(guò)式(7)可知,要獲得去霧圖像首先必須獲得透射率 t與環(huán)境大氣值 A。
在使用暗原色先驗(yàn)理論進(jìn)行圖像去霧時(shí),首先通過(guò)暗原色先驗(yàn)理論計(jì)算獲得霧天圖像的暗原色圖。第二步假設(shè)大氣光值A(chǔ)已知,通過(guò)暗原色圖對(duì)圖像透射率 t 進(jìn)行估算,獲取圖像透射率的傳輸圖。第三部通過(guò)暗原色對(duì)大氣光值進(jìn)行估算,這個(gè)時(shí)候A 和 t 都有了估計(jì)值,可以通過(guò)式(7)求出對(duì)應(yīng)的去霧圖像。

其中,c表示r,g,b三個(gè)顏色通道。對(duì)上式兩邊求最小值得到:

由先驗(yàn)理論有:


現(xiàn)實(shí)中要對(duì)霧進(jìn)行一定量的保存,將結(jié)果修正為:


在此算法中影響效果的主要有兩點(diǎn),一是窗口的大小,窗口選擇的越大去霧的效果越不明顯最為合適的大小為15×15,其次是由于ω值的選取,去霧效果與ω值的大小成正比。
本論文去霧算法都是通過(guò)matlab仿真處理,直方圖去霧主要運(yùn)用了matlab中自帶的直方圖均衡對(duì)原圖像的三色分量圖進(jìn)行直方圖均衡化,然后將處理后三色圖融合成完整的圖片即可。該方法去霧效果對(duì)比如圖2所示。
由以上結(jié)果可以看出,在進(jìn)行全局去霧時(shí),尤其是對(duì)場(chǎng)景單一,霧分布均勻時(shí)直方圖去霧的方法有較好的效果,如圖2(b)。但是在處理霧濃度大的圖片是效果就不太理想,對(duì)局部處理效果欠佳,如圖2(d)中明顯將圖片的右下角中非霧部分過(guò)度增強(qiáng),影響到了整體的去霧效果,圖2(f)中也有著類似的問(wèn)題,把圖中的天空部分進(jìn)行了過(guò)度增強(qiáng)。
應(yīng)用Retinex算法去霧時(shí),從利用matlab來(lái)實(shí)現(xiàn)的代碼來(lái)說(shuō)相對(duì)而言比較復(fù)雜,按照上述的思路利用matlab編程分別實(shí)現(xiàn)對(duì)原圖的三個(gè)圖像分量圖進(jìn)行處理,最終也要將色彩分量圖進(jìn)行融合來(lái)獲取完整的處理后的圖像。該方法去霧效果如圖3所示。
由以上結(jié)果可以看出Retinex算法的去霧效果較好,但是在處理多彩色圖片的時(shí)候會(huì)失真,如圖3(d)中處理過(guò)的圖像在色彩較多的地方出現(xiàn)失真,而且在全局上的處理還是不完善。
應(yīng)用暗通道先驗(yàn)算法實(shí)現(xiàn)去霧時(shí),具體的實(shí)現(xiàn)原理詳見(jiàn)2.3小節(jié),與Retinex算法去霧不同的是,暗通道去霧的方法估算了空間的透射率,但應(yīng)用暗通道先驗(yàn)去霧可直接對(duì)原始圖片進(jìn)行相應(yīng)的處理,不需要對(duì)原始圖片的彩色分量圖進(jìn)行處理。本文中的算法ω的值經(jīng)過(guò)調(diào)試后選取為0.85,在這個(gè)ω值下處理的圖片使人看起來(lái)最為舒適。該方法去霧效果如圖4所示。
由圖4所示,經(jīng)過(guò)暗通道處理的結(jié)果圖偏暗,但是能夠處理霧濃度很大的遠(yuǎn)距離物體,去霧的效果也比較明顯但是物體的邊緣有一些模糊。但很明顯的是經(jīng)處理后的圖像較好的實(shí)現(xiàn)了去霧,而且對(duì)原圖色彩的保真性很高,人眼看起來(lái)更為舒適,同時(shí)由于保留了部分霧氣所以結(jié)果更接近人所看到的實(shí)際場(chǎng)景。

圖2 直方圖去霧效果

圖3 Retinex去霧效果

圖4 暗通道去霧效果
對(duì)于直方圖均衡化和Retinex去霧算法的結(jié)果失真的問(wèn)題,經(jīng)過(guò)分析可知由于這兩方法都是通過(guò)使用非模型的增強(qiáng)的方法,來(lái)對(duì)圖像的對(duì)比度以及亮度進(jìn)行一定程度的提高,沒(méi)有考慮有霧圖像降質(zhì)的原理以及導(dǎo)致降質(zhì)的因素方面的處理方法,僅僅是提高了圖像的視覺(jué)效果而已,并不是真正意義上的去霧。而暗通道的方法是則是基于物理模型的復(fù)原方法實(shí)現(xiàn)了去除霧氣,在圖片保真上的優(yōu)點(diǎn)就很明顯了,但是暗原色先驗(yàn)最為人詬病的也就是其計(jì)算的空間復(fù)雜度以及時(shí)間復(fù)雜度,也就表現(xiàn)在其計(jì)算的速度比較慢,在這個(gè)方面有不少學(xué)者都提出了改進(jìn)的算法,例如文獻(xiàn)[3]中提出了用圖像插值法來(lái)提高圖片去霧的實(shí)時(shí)性。值得一提的是在去霧這個(gè)領(lǐng)域中,各種算法都不是絕對(duì)的獨(dú)立的,所以也就有了各種將以上方法聯(lián)合起來(lái)使用以達(dá)到更好的去霧效果,如文獻(xiàn)[2]和文獻(xiàn)[4]中都是將兩種中方法結(jié)合起來(lái)應(yīng)用到實(shí)際中從而獲得更好的效果。
本文主要研究了直方圖均衡,Retinex算法及暗通道先驗(yàn)算法的原理,并在計(jì)算機(jī)上應(yīng)用matlab實(shí)現(xiàn)了用上述算法對(duì)圖像進(jìn)行去霧處理,分別用這三種算法處理圖片說(shuō)明了其可行性及優(yōu)點(diǎn),然后對(duì)這三種算法的處理結(jié)果進(jìn)行對(duì)比,分析了各自的不足,同時(shí)在相關(guān)的文獻(xiàn)中找到了對(duì)應(yīng)的改進(jìn)辦法。本文相對(duì)而言做的較多的是各自算法的實(shí)現(xiàn)及對(duì)比,相關(guān)的改進(jìn)算法有待繼續(xù)學(xué)習(xí)與研究。