趙雪峰
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
在霧天情況下,空氣中存在大量的懸浮顆粒物,會(huì)對(duì)光線產(chǎn)生散射,導(dǎo)致物體反射出的光線發(fā)生衰減,同時(shí)反射光與成像設(shè)備接收到的光線發(fā)生混合,造成成像設(shè)備獲取到的圖像的對(duì)比度和清晰度等特征都發(fā)生改變,細(xì)節(jié)信息大量丟失。因此,需要使用去霧算法對(duì)此類低質(zhì)模糊圖像進(jìn)行預(yù)處理,以保證成像設(shè)備獲得高質(zhì)量的圖像。
目前,去霧算法主要分為三大類。第一類是圖像增強(qiáng)技術(shù),主要通過(guò)提高對(duì)比度進(jìn)行去霧。該類算法適用范圍廣,運(yùn)行速度快,但當(dāng)霧霾濃度比較高時(shí)處理效果不理想。典型的代表算法主要有小波變換、直方圖均衡化等方法。第二類是圖像復(fù)原技術(shù),主要通過(guò)建立圖像退化模型,利用先驗(yàn)知識(shí)實(shí)現(xiàn)圖像去霧。該技術(shù)去霧的效果較明顯,但存在運(yùn)行時(shí)間相對(duì)較長(zhǎng)的問(wèn)題。典型代表算法主要有基于暗通道先驗(yàn)原理的圖像去霧等方法。最后一類是深度學(xué)習(xí)的去霧算法,主要利用神經(jīng)網(wǎng)絡(luò)對(duì)模型中的參數(shù)進(jìn)行估計(jì),該技術(shù)去霧的效果相對(duì)較好,但存在著去霧網(wǎng)絡(luò)模型的訓(xùn)練參數(shù)過(guò)多等問(wèn)題。TAN[1]基于清晰的圖像比有霧圖像對(duì)比度更高和大氣光成分趨于平滑的假設(shè)建立了馬科夫模型的代價(jià)方程進(jìn)行圖像去霧。朱青松[2]通過(guò)對(duì)有霧圖像的場(chǎng)景深度建模,提出了一種基于顏色衰減先驗(yàn)的去霧算法。任文琦[4]提出了一種多尺度的卷積神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)模糊圖像的傳輸映射,它由一個(gè)描述網(wǎng)絡(luò)預(yù)測(cè)一個(gè)整體傳輸圖和一個(gè)微小尺度的網(wǎng)絡(luò)來(lái)細(xì)化地圖。OAKLEY[5]通過(guò)構(gòu)建霧霾與圖像場(chǎng)景信息的物理模型進(jìn)行對(duì)比度增強(qiáng)的圖像去霧。TAREL[6]提出了一種利用估計(jì)的大氣霧霾折射率與中值濾波器對(duì)霧霾進(jìn)行銳化的去霧算法。何愷明[3]利用估計(jì)的暗通道、大氣光成分與透射率代入大氣光學(xué)散射模型進(jìn)行去霧的先驗(yàn)暗通道的算法。楊冬[7]根據(jù)先驗(yàn)的暗通道算法訓(xùn)練了一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)的去霧模型。ANCUTI[8]采用多尺度融合的方式將霧霾圖像分別輸入拉普拉斯金字塔和高斯金字塔進(jìn)行夜間的圖像去霧。金亦州[9]利用霧的濃度與大氣光學(xué)散射模型的關(guān)系訓(xùn)練了一個(gè)無(wú)監(jiān)督條件的糾纏網(wǎng)絡(luò)進(jìn)行圖像去霧。
本文提出一種基于L1 正則化的對(duì)比度增強(qiáng)的圖像算法,通過(guò)增加圖像的對(duì)比度來(lái)消除霧霾,設(shè)計(jì)一個(gè)包含L1 正則項(xiàng)的成本函數(shù)來(lái)降低霧霾造成的信息損失。L1 正則項(xiàng)可以在約束對(duì)比度增強(qiáng)的同時(shí)對(duì)去霧過(guò)程中造成的圖像失真進(jìn)行補(bǔ)償,進(jìn)一步優(yōu)化透射率,求出最優(yōu)的矩形窗口。實(shí)驗(yàn)結(jié)果表明,該算法能夠有效地恢復(fù)圖像細(xì)節(jié)信息并減少高對(duì)比度區(qū)域的顏色失真。
大量的霧霾會(huì)導(dǎo)致明亮的顏色,因而式(1)中的大氣光通常被估計(jì)為圖像中最亮的顏色,但是,在現(xiàn)實(shí)場(chǎng)景中可能出現(xiàn)比大氣光A更亮的物體,從而導(dǎo)致圖像去霧失真。為了避免這種情況發(fā)生,本文利用天空等模糊區(qū)域的像素值通常較低的事實(shí)來(lái)估計(jì)大氣光,采用一種基于四叉樹(shù)分層的方法將一個(gè)輸入圖像劃分成四個(gè)矩形窗口。然后,定義一個(gè)值表示每個(gè)窗口內(nèi)所有像素的平均值與標(biāo)準(zhǔn)差值之間的差。將差值高的窗口進(jìn)一步劃分為4 個(gè)較小的窗口,重復(fù)此過(guò)程,直到選定區(qū)域的大小小于預(yù)先指定的閾值,最后確定最小化的像素值作為選擇的矩形窗口的大氣光。實(shí)驗(yàn)表明該方法選擇的像素越接近天空區(qū)域,對(duì)大氣光A的估計(jì)就越準(zhǔn)確。無(wú)霧圖像的模型表示如下,計(jì)算方法如下:
式中:I(x)是有霧圖像,J(x)表示消除大氣中各種懸浮顆粒干擾后的無(wú)霧圖像,A表示大氣光照強(qiáng)度,t表示透射率。
以往的經(jīng)驗(yàn)表明,有霧區(qū)域的對(duì)比度較小,當(dāng)透射率減小時(shí),恢復(fù)得到的無(wú)霧圖像的對(duì)比度會(huì)增大。但是,如果透射率過(guò)小,無(wú)霧圖像中的像素的值有可能超出[0,1]的范圍,從而造成信息的丟失。有霧區(qū)域產(chǎn)生了較低的對(duì)比度,并且對(duì)比度隨著透射率的降低而增加。本文使用一種直觀的平均誤差(Mean Square Error,MSE)對(duì)比度來(lái)計(jì)算恢復(fù)圖像的對(duì)比度。CMSE的計(jì)算如(2)所示:
L1 正則化的計(jì)算式如式(5)所示:
式中:Ic與是Jc(x)與Ic(x)在矩形區(qū)域q處的平均值,Nc是矩形區(qū)域q處的像素值。為了得到最優(yōu)對(duì)比度的函數(shù),本文定義一個(gè)整體成本函數(shù)。
最優(yōu)對(duì)比度函數(shù)計(jì)算公式如(6)所示:
式中:λ,β是兩個(gè)平衡對(duì)比度函數(shù)與信息損失函數(shù)的超參數(shù)。值得注意的是,λ,β較大時(shí),信息損失函數(shù)的值會(huì)降低。無(wú)霧圖像Jc(x)的像素值的取值范圍為[0,255]。Jc(x)的像素值的取值范圍如式(7)、式(8)所示:
將式(7)、式(8)代入式(3),可得到透射率t的取值范圍。透射率t的取值范圍如式(9)、式(10)所示:
將式(9)與式(10)合并,可得到完整的透射率取值范圍公式。完整的透射率取值范圍如式(11)所示:
值得注意的是,式(11)的取值范圍與何愷明在先驗(yàn)的暗通道算法[3]里使用的取值范圍是相同的,但先驗(yàn)暗通道算法使用式(11)的假設(shè)是清晰圖像中物體要比大氣光暗,當(dāng)清晰圖像中的物體比大氣光亮?xí)r是無(wú)法有效估計(jì)透射率的。因此本文同時(shí)采用式(11)進(jìn)行約束,保證該算法對(duì)估計(jì)透射率的準(zhǔn)確性。
當(dāng)假設(shè)一個(gè)矩形窗口中的所有像素共享一個(gè)透射率t時(shí),場(chǎng)景深度在窗口中可能會(huì)發(fā)生空間的變化,使去霧后的圖像的部分區(qū)域出現(xiàn)條紋、色度失真等情況。為了解決這個(gè)問(wèn)題,本文使用邊緣保持濾波器來(lái)改進(jìn)矩形窗口的透射率,達(dá)到去除條紋并增強(qiáng)圖像細(xì)節(jié)的目的。這里采用快速導(dǎo)向?yàn)V波器[12]來(lái)實(shí)現(xiàn)圖像的平滑與細(xì)化。相比傳統(tǒng)的導(dǎo)向?yàn)V波器,快速導(dǎo)向?yàn)V波器可以顯著地降低算法的時(shí)間復(fù)雜度。
為了驗(yàn)證本文算法的有效性,使用自然場(chǎng)景的霧霾圖像作為輸入圖像實(shí)驗(yàn),并將本文算法與何愷明的暗通道先驗(yàn)算法、朱青松的顏色衰減先驗(yàn)算法、金鎮(zhèn)煥的對(duì)比度增強(qiáng)算法[11]進(jìn)行分析對(duì)比。首先,調(diào)整λ,β兩個(gè)超參數(shù),根據(jù)金[12]等人的實(shí)驗(yàn)經(jīng)驗(yàn),設(shè)置λ=5,并通過(guò)實(shí)驗(yàn)調(diào)整β的值來(lái)獲得算法最佳的效果。設(shè)置β=2 時(shí),去霧后的圖像對(duì)比度明顯增強(qiáng),但不能完全消除霧霾。經(jīng)過(guò)反復(fù)調(diào)整,最終得到β=1.1 時(shí),可以有效地防止信息損失,消除霧霾。對(duì)比實(shí)驗(yàn)過(guò)程結(jié)果如圖1 所示??梢钥闯?,暗通道算法具有明顯的條紋,本文的方法表現(xiàn)得更好。為了測(cè)試魯棒性,進(jìn)一步與多個(gè)算法在草木霧圖場(chǎng)景中進(jìn)行實(shí)驗(yàn)比較,從圖中可以清晰地看到由于暗通道算法估計(jì)的透射率整體偏高,導(dǎo)致了結(jié)果亮度偏暗。去霧后的圖像內(nèi)的遠(yuǎn)景輪廓細(xì)節(jié)表明本文的算法相比傳統(tǒng)的對(duì)比度增強(qiáng)算法更有效地保留了信息損失。
圖1 草木霧圖
采用客觀評(píng)價(jià)指標(biāo)的方法驗(yàn)證提出算法的有效性??陀^評(píng)價(jià)指標(biāo)的公式如下所示:
式中:nr,n0分別表示有霧圖像與無(wú)霧圖像的可見(jiàn)邊。
式中:ri表示p處的Sobel 梯度與原圖像在此處的Sobel 梯度的比值,?表示無(wú)霧圖像的可見(jiàn)邊集合。
式中:i表示直方圖維數(shù),fi表示去霧后的圖像直方圖,gi表示去霧前的圖像直方圖。圖像對(duì)于有霧圖像的質(zhì)量評(píng)價(jià)指標(biāo)[14]選擇可見(jiàn)邊e,平均梯度r,直方圖相似度HCC為客觀指標(biāo)進(jìn)行定量分析。去霧圖像的客觀指標(biāo)對(duì)比如表1 所示。從表1 可以看出,在自然霧圖場(chǎng)景下,暗通道算法由于自身的缺陷導(dǎo)致了客觀指標(biāo)較差;顏色衰減算法由于采用與暗通道算法不同的先驗(yàn),所以客觀指標(biāo)優(yōu)于后者;對(duì)比度增強(qiáng)算法只考慮了對(duì)比度的優(yōu)化,因而客觀指標(biāo)并不理想。本文所提算法的效果優(yōu)于對(duì)比實(shí)驗(yàn)的其他3 個(gè)算法。
表1 去霧算法的客觀指標(biāo)比較
實(shí)驗(yàn)采用MATLAB 語(yǔ)言實(shí)現(xiàn),并在主頻2.5 GHz中央處理器的個(gè)人計(jì)算機(jī)上進(jìn)行測(cè)試。所提出的算法需要20~30 s 的時(shí)間來(lái)去除100 幅圖像,而傳統(tǒng)的對(duì)比度增強(qiáng)算法與暗通道的算法分別需要大約280 s、70 s,時(shí)間復(fù)雜度的結(jié)果驗(yàn)證了快速導(dǎo)向?yàn)V波器的有效性。
本文提出了一種基于正則項(xiàng)的對(duì)比度增強(qiáng)的圖像去霧算法,為從優(yōu)化對(duì)比度角度進(jìn)行圖像的去霧提供了新思路。采用四叉樹(shù)的分層搜索的方法優(yōu)化大氣光的估計(jì),為了更準(zhǔn)確地平衡對(duì)比度增強(qiáng)后帶來(lái)的信息損失,定義了一個(gè)正則項(xiàng)約束的成本函數(shù),并且較為準(zhǔn)確地估計(jì)出了透射率。此外,采用快速導(dǎo)向?yàn)V波器在有效地解決圖像去霧后可能出現(xiàn)的偽影等問(wèn)題的同時(shí),算法運(yùn)行效率比傳統(tǒng)方法更高,在客觀指標(biāo)上也取得了理想的結(jié)果。未來(lái)將進(jìn)一步探索使用深度學(xué)習(xí)的方法來(lái)進(jìn)行遠(yuǎn)距離、高濃度等不同場(chǎng)景下的圖像去霧工作。