李洪平 , 趙 波, 金汝寧, 李炎炎
(1.四川大學(xué)機(jī)械工程學(xué)院, 成都 610065;2.先進(jìn)制造技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室, 成都 610065)
如今戶外圖像采集廣泛應(yīng)用于無人駕駛、視頻監(jiān)控和地形勘測(cè)等各個(gè)領(lǐng)域,但當(dāng)水蒸氣、灰塵或其他微粒在穩(wěn)定的大氣中積聚時(shí),就會(huì)出現(xiàn)霧霾[1-2].霧霾中的微粒會(huì)散射或者吸收光線,從而導(dǎo)致戶外采集的圖像出現(xiàn)色彩失真,紋理模糊.這不僅對(duì)圖像處理等后期工作帶來了不便,還會(huì)導(dǎo)致戶外圖像采集設(shè)備的工作性能下降.因此,對(duì)圖像去霧算法展開研究,從有霧圖像中復(fù)原出清晰的圖像具有重要的研究意義.
目前圖像去霧算法主要分為圖像增強(qiáng)、深度學(xué)習(xí)和圖像復(fù)原三類.圖像增強(qiáng)去霧的主要算法有CLAHE算法、Retinex算法[3]以及小波變化算法[4]等,但圖像增強(qiáng)的本質(zhì)是利用圖像增強(qiáng)技術(shù)提升對(duì)比度,去除噪點(diǎn),還原圖像的視覺效果,但忽略了霧天圖像降質(zhì)的機(jī)理,圖像去霧的效果有限.受益于計(jì)算資源和計(jì)算能力的發(fā)展,基于深度學(xué)習(xí)的圖像去霧算法[5-8]得到廣泛研究,它主要通過卷積神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)有霧圖像,從而構(gòu)建圖像去霧模型,但模型的訓(xùn)練需要大量的霧天圖像,數(shù)據(jù)集的采集和模型的可靠性限制了基于深度學(xué)習(xí)去霧算法的普適性.
近年來,基于大氣散射物理模型的圖像復(fù)原算法受到廣泛關(guān)注,通過結(jié)合假設(shè)或先驗(yàn)知識(shí),利用有霧圖像反演推導(dǎo)無霧圖像.Fattal[9]提出了圖像局部透射率與明暗程度不相關(guān)的假設(shè),消除了散射光的影響,復(fù)原了具有高能見度、高對(duì)比度的圖像,但在非均勻、濃霧區(qū)域不能有效地去霧.Berman等[10]統(tǒng)計(jì)大量圖片發(fā)現(xiàn)霧天圖像顏色聚類特性,提出了霧線先驗(yàn),可根據(jù)圖像RGB值直接估計(jì)透射率,但當(dāng)圖像亮度不均勻、天空色彩不自然時(shí),算法將失效.Zhu等[11]提出了一種簡(jiǎn)單而有效的顏色衰減先驗(yàn)算法,利用亮度和飽和度的差異來估計(jì)霧濃度,建立深度模型進(jìn)行去霧,但該算法對(duì)遠(yuǎn)景處的去霧效果一般.Liu等[12]利用霧度通常分布在低頻域的特征,提出了開放暗通道模型,實(shí)現(xiàn)低頻霧消除,有效提升了濃霧區(qū)域的感知能見度,但復(fù)原圖像整體偏暗.He等[13]提出了暗通道先驗(yàn)理論,在圖像去霧領(lǐng)域一直被廣泛關(guān)注,但軟摳圖法時(shí)間復(fù)雜度高,且暗通道先驗(yàn)在亮區(qū)域(天空和白色區(qū)域)將會(huì)失效.之后,他們又提出了引導(dǎo)濾波代替軟摳圖法[14],加快了透射率的細(xì)化.但引導(dǎo)濾波會(huì)導(dǎo)致圖像邊緣處透射率估計(jì)不準(zhǔn)確,從而產(chǎn)生Halo效應(yīng)[15-16].曾接賢等[17]在暗通先驗(yàn)的基礎(chǔ)上,同時(shí)考慮空域信息和灰度信息,采用自適應(yīng)雙邊濾波進(jìn)行復(fù)原圖像的邊緣保持,但并未徹底解決Halo效應(yīng),且在高亮區(qū)域復(fù)原失效.
針對(duì)上述分析,基于He等[13-14]提出的暗通道先驗(yàn)理論在解決亮區(qū)域顏色失真和引導(dǎo)濾波引起的Halo效應(yīng)方面的不足,本文提出了基于亮區(qū)域暗通道矯正和加權(quán)聚合引導(dǎo)濾波的改進(jìn)算法.該方法首先基于相對(duì)景深閾值分割亮區(qū)域,然后采用飽和度和灰度值校正亮區(qū)域暗通道,利用加權(quán)聚合引導(dǎo)濾波細(xì)化透射率,最后將復(fù)原圖像轉(zhuǎn)化到HSV色彩空間,對(duì)亮度進(jìn)行矯正,并基于霧濃度均值加權(quán)聚合得到最終結(jié)果.實(shí)驗(yàn)結(jié)果表明,所提算法亮區(qū)域分割準(zhǔn)確,復(fù)原圖像邊緣紋理清晰,色彩自然,去霧徹底.
如圖1所示,本文算法分為三部分.(1) 亮區(qū)域暗通道矯正.基于亮度分量和飽和分量求取輸入圖像的相對(duì)景深圖,根據(jù)閾值分割出圖像中的亮區(qū)域,并基于飽和度和灰度值對(duì)亮區(qū)域的暗通道進(jìn)行矯正.(2) 加權(quán)引導(dǎo)濾波.為解決引導(dǎo)濾波容易導(dǎo)致Halo現(xiàn)象,本文引入加權(quán)引導(dǎo)濾波對(duì)初始投射率進(jìn)行細(xì)化,在引導(dǎo)濾波的聚合階段為不同的窗口分配權(quán)值,準(zhǔn)確求解場(chǎng)景透射率.(3) 亮度矯正.將復(fù)原圖像J1(x)轉(zhuǎn)換到HSV空間,對(duì)V分量進(jìn)行均衡化后轉(zhuǎn)回RGB空間得到J2(x),利用相對(duì)霧濃度均值對(duì)J1(x),J2(x)進(jìn)行線性加權(quán),得到最終的復(fù)原圖像J(x).
圖1 基于亮區(qū)域暗通道矯正和加權(quán)聚合引導(dǎo)濾波的圖像去霧算法流程圖
在圖像去霧研究領(lǐng)域,Narasimhan等[18-19]提出的大氣散射模型被廣泛應(yīng)用,其物理模型如下.
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中,I(x)表示霧天圖像;J(x)表示復(fù)原后的圖;t(x)為場(chǎng)景透射率;A為大氣光值;x表示像素點(diǎn).由此可知,A、t(x)未知,求解復(fù)原圖像J(x)本身是一個(gè)病態(tài)問題,因此求解J(x)需要強(qiáng)有力的先驗(yàn)或假設(shè).
大氣光值的選取直接影響圖像復(fù)原的效果,一般定義無窮遠(yuǎn)處的像素點(diǎn)強(qiáng)度值作為大氣光強(qiáng)值.He等[13]選取有霧圖像暗通道亮度值前0.1%的像素點(diǎn),然后找到這些像素點(diǎn)在有霧圖像中的最大通道值作為大氣光值,但白色建筑或明亮區(qū)域的暗通道值一般都較高,容易導(dǎo)致大氣光值的誤判.Kim等[20]采用四叉樹搜索法估計(jì)全局大氣光,通過將有霧圖像分成四個(gè)圖像區(qū)域,隨后選取均方差最小的區(qū)域繼續(xù)四分,直至小于閾值,然后在所得到均方差最小的圖像區(qū)域找出像素強(qiáng)度值最大的像素點(diǎn).該像素點(diǎn)的RGB三通道值即為環(huán)境大氣光值.該方法可準(zhǔn)確有效地找出環(huán)境大氣光值,因此,本文采用四叉樹搜索法求取大氣光值.
暗通道先驗(yàn)理論表明,在一幅彩色圖像中,絕大多數(shù)非天空區(qū)域的像素點(diǎn),R、G、B三個(gè)通道中,總有一個(gè)通道強(qiáng)度值很小,近似為0,數(shù)學(xué)表達(dá)式如下.
(2)
其中,Jdark(x)表式像素點(diǎn)處的暗通道值;c表示圖像RGB三通道中的某一通道;Ω(x)表示像素x的鄰域;y表示領(lǐng)域中的一個(gè)像素點(diǎn).對(duì)式(1)兩邊求取局部最小值,并將式(2)代入式(1),得到透射率的表達(dá)式.
(3)
為了防止去霧太過徹底,恢復(fù)出的景物不自然,應(yīng)引入?yún)?shù)ω=0.95,重新定義透射率為:
(4)
暗通道先驗(yàn)在亮區(qū)域去霧時(shí),會(huì)導(dǎo)致顏色失真,這是因?yàn)樵诹羺^(qū)域的RGB三通道值均很大,暗通道先驗(yàn)將會(huì)失效,因此需對(duì)該區(qū)域的暗通道值進(jìn)行矯正.Zhu等[11]根據(jù)大量實(shí)驗(yàn)表明,景深或霧濃度越大,該處像素的飽和度越小,亮度越大,且與圖像亮度和飽和度的差值成正相關(guān).
d(x)∝c(x)∝[v(x)-s(x)]
(5)
式中,d(x)為場(chǎng)景深度;c(x)為霧濃度;v(x)為圖像亮度;s(x)為圖像飽和度.v(x)-s(x)一定程度可以直接反應(yīng)場(chǎng)景的深度信息,因此用相對(duì)場(chǎng)景深度圖D(x)來表示.
D(x)=v(x)-s(x)
(6)
其中,D(x)值越大,像素點(diǎn)的相對(duì)場(chǎng)景深度越深,該區(qū)域就越接近于亮區(qū)域.設(shè)置自適應(yīng)閾值T,用式(7)表示,對(duì)圖像2(a)的亮區(qū)域進(jìn)行分割,分割結(jié)果如圖2(b)所示.
T=0.8×max(D(x))
(7)
當(dāng)像素點(diǎn)處于亮區(qū)域時(shí),其透射率應(yīng)趨于1,由式(4)可知,該處像素點(diǎn)的暗通道值應(yīng)很低.由于亮區(qū)域灰度值均很高,為更好地還原亮區(qū)域圖像細(xì)節(jié),利用Igray(x)×s(x)作為亮區(qū)域暗通道矯正值,用式(8)表示,當(dāng)像素點(diǎn)飽和度增加時(shí),暗通道值自適應(yīng)增加,對(duì)校正后地暗通道進(jìn)行均值濾波,消除圖像中噪點(diǎn)的影響,最終暗通道矯正結(jié)果如圖2(c)所示.
(8)
式中,Idark(x)表示圖像最小值濾波后的暗通道圖;Igray(x)為像素點(diǎn)灰度值;s(x)為像素點(diǎn)飽和度值.由圖2(b)可知,所提算法可有效地分割出圖像亮區(qū)域,圖2(d)的復(fù)原圖像亮區(qū)域復(fù)原色彩真實(shí)自然,無色彩失真,表明基于圖像亮區(qū)域灰度值和飽和度來矯正暗通道值的有效性和魯棒性.
圖2 亮區(qū)域自適應(yīng)分割與暗通道矯正Fig.2 Adaptive segmentation of bright regions and correction of dark channel
由式(4)求取的透射率因最小值濾波會(huì)導(dǎo)致“塊效應(yīng)”.為了更好地保留圖像邊緣細(xì)節(jié),He等[14]提出了引導(dǎo)濾波細(xì)化透射率.引導(dǎo)濾波是假設(shè)在一個(gè)很小的,以像素k為中心的局部窗口ωk內(nèi),引導(dǎo)圖像I與輸出圖像Q呈線性變換關(guān)系,其數(shù)學(xué)表達(dá)式如下.
Qi=akIi+bk, ?i∈ωk
(9)
式中,ak、bk分別為局部窗口ωk內(nèi)的線性系數(shù).窗口ωk中的代價(jià)函數(shù)用于衡量待濾波圖像P與輸出圖像Q之間的差異,其表達(dá)式為:
(10)
(11)
(12)
式中,|ω|為窗口ωk內(nèi)的像素總數(shù);σk2、μk分別為窗口內(nèi)方差和均值.最后對(duì)所有包含像素點(diǎn)i的窗口鄰域ωk取均值,得到引導(dǎo)濾波的最終結(jié)果.
(13)
引導(dǎo)濾波在平滑透射率時(shí),由于無法兼顧圖像全局信息,會(huì)使一些弱紋理被模糊,從而導(dǎo)致Halo效應(yīng).陳彬等[16]在引導(dǎo)濾波的聚合階段為不同的窗口分配權(quán)值,賦予接近真實(shí)值的窗口較大權(quán)值,反之賦予較小的權(quán)值,在平滑圖像紋理的同時(shí),清晰地保留了圖像邊緣信息,有效地解決了引導(dǎo)濾波導(dǎo)致的Halo效應(yīng).其數(shù)學(xué)表達(dá)式如下.
(14)
(15)
其中,ek為窗口ωk的均方誤差;η是一個(gè)很小的常數(shù)[16].
(16)
采取加權(quán)聚合引導(dǎo)濾波對(duì)初始透射率進(jìn)行細(xì)化,其中濾波半徑r= 35,正則化參數(shù)ε=0.001,通過反復(fù)試驗(yàn),當(dāng)η取經(jīng)驗(yàn)值0.03時(shí),復(fù)原圖像的保邊性能最好.聚合權(quán)值βk隨窗口均方誤差ek的變化關(guān)系如圖3所示.當(dāng)ek較小時(shí),該窗口與像素點(diǎn)i的整體相似度大,因此所占權(quán)重應(yīng)越大,即βk也就越大,反之越??;當(dāng)ek增大時(shí),βk下降迅速,說明加權(quán)聚合引導(dǎo)濾波對(duì)圖像邊緣處像素差異響應(yīng)靈敏,能有效地保護(hù)復(fù)原圖像的邊緣紋理信息.
基于加權(quán)引導(dǎo)濾波細(xì)化透射率的復(fù)原效果如圖4所示,其中圖4(a)為原圖.對(duì)比圖4(b)、圖4(c)和圖4(d)可知,基于引導(dǎo)濾波復(fù)原圖像邊緣模糊,有明顯霧感;基于雙邊濾波復(fù)原圖像邊緣相對(duì)清晰,但在樹干等細(xì)節(jié)復(fù)雜處仍存在部分偽影.對(duì)比局部放大圖可知,加權(quán)聚合引導(dǎo)濾波的復(fù)原圖像,邊緣無Halo效應(yīng),其保邊性能明顯優(yōu)于引導(dǎo)濾波和雙邊濾波.由此可知,基于加權(quán)引導(dǎo)濾波可有效準(zhǔn)確地細(xì)化場(chǎng)景透射率,消除邊緣偽影,復(fù)原出紋理清晰、去霧徹底的圖像.
圖3 加權(quán)聚合權(quán)值與均方誤差的變化關(guān)系
圖4 引導(dǎo)濾波復(fù)原效果Fig.4 Restoration effect of the guided filter
采用四叉樹搜索法求取大氣光值A(chǔ),將大氣光值A(chǔ)和加權(quán)聚合引導(dǎo)濾波細(xì)化后的透射率t(x)帶入式(1),得到最終復(fù)原圖像.為保留一定的霧感,透射率下限值設(shè)定為t0=0.1,得到復(fù)原圖像J1(x).
(17)
針對(duì)圖像去霧后圖像整體偏暗,Lee等[21]將復(fù)原圖像轉(zhuǎn)換到HSV色彩空間,對(duì)V分量進(jìn)行均衡化處理,然后再轉(zhuǎn)化到RGB空間得到亮度矯正后的復(fù)原圖像,并基于霧濃度對(duì)矯正前后的圖像進(jìn)行線性擬合.但文中沒有給出與霧濃度相關(guān)的權(quán)值系數(shù)表達(dá)式.由式(5)可知,霧濃度與景深成正比,D(x)越大,說明此處像素點(diǎn)受霧的影響越大;當(dāng)D(x)<0時(shí),說明此處像素點(diǎn)受霧的影響程度很小.為綜合表示相對(duì)霧濃度的分布情況,提出相對(duì)霧濃度分布圖C(x),且C(x) =D(x).對(duì)于受霧影響較小的區(qū)域,C(x)取下限值0.01,如下式所示.
(18)
采用相對(duì)霧濃度C(x)的均值α表示圖像整體的霧濃度情況,考慮到薄霧天氣,設(shè)定α的下限值為0.1,如式(19)所示.
α=max(0.1,mean(C(x)))
(19)
將復(fù)原圖像轉(zhuǎn)到J1(x)轉(zhuǎn)換到HSV空間,對(duì)亮度分量進(jìn)行均衡化處理,然后在轉(zhuǎn)化到RGB空間得到亮度矯正后的復(fù)原圖像J2(x),并基于加權(quán)系數(shù)α進(jìn)行線性加權(quán),得到最終的復(fù)原圖像J(x),如式(20).
J(x)=(1-α)J1(x)+αJ2(x)
(20)
仿真實(shí)驗(yàn)的硬件環(huán)境如下:Intel Core i7-8750H CPU@ 2.20 GHz; 8 GB RAM,操作系統(tǒng)為64位Windows 10.仿真軟件環(huán)境MATLAB R2019a.
本文分別選取含建筑近景、少量天空、大量天空、濃霧天氣和人物5幅不同場(chǎng)景下的有霧圖像,分別記為Image1~I(xiàn)mage5,并與文獻(xiàn)[11-12,14,17]等經(jīng)典算法對(duì)比,實(shí)驗(yàn)結(jié)果如圖5所示.文獻(xiàn)[17]算法復(fù)原圖像去霧較好,但在細(xì)節(jié)復(fù)雜的圖像邊緣處輕微模糊,且在高亮區(qū)域去霧將會(huì)失效,如圖5(b)的Image4.文獻(xiàn)[14]算法可以去除大部分霧,但在景物邊緣處會(huì)出現(xiàn)模糊,產(chǎn)生Halo效應(yīng),且天空等亮區(qū)域去霧后出現(xiàn)失真,如圖5(c).文獻(xiàn)[12]算法近景處復(fù)原效果明顯,相對(duì)于文獻(xiàn)[14]算法有效地解決了天空等亮區(qū)域失真的問題,但對(duì)遠(yuǎn)景出的復(fù)原效果一般,如圖5(d).文獻(xiàn)[11]算法去霧徹底,近景、遠(yuǎn)景去霧后圖像復(fù)原自然,但整體偏暗,如圖5(e).對(duì)比圖5第一行可知,本文算法復(fù)原的圖像邊緣無Halo現(xiàn)象,紋理清晰且去霧徹底;對(duì)比圖5第二和第三行,可有效解決天空等亮區(qū)域暗通先驗(yàn)失效問題,在少量天空、大量天空條件下均能有效復(fù)原,有較強(qiáng)的魯棒性;對(duì)比圖5第四行可知,在濃霧天氣下,恢復(fù)細(xì)節(jié)能力強(qiáng),效果明顯優(yōu)于對(duì)比算法;對(duì)比圖5第五行可知,復(fù)原圖像色彩真實(shí)自然,很好地保留原圖像的色彩紋理信息,可靠性強(qiáng).
為更加綜合地評(píng)價(jià)所提算法的去霧性能,選取峰值信噪比、平均梯度、信息熵和算法運(yùn)行時(shí)間作為指標(biāo)對(duì)圖5進(jìn)行客觀評(píng)價(jià),評(píng)價(jià)結(jié)果如圖6所示.峰值信噪比(PSNR)反應(yīng)對(duì)去霧前后的圖像進(jìn)行差異性比較,其值越大,失真程度越低,去霧效果越好.平均梯度反映圖像對(duì)微小細(xì)節(jié)反差的表達(dá)能力,平均梯度越大,說明圖像越清晰,去霧的效果越好.信息熵反映圖像的信息量,信息熵越大,去霧的效果越好.
從圖6(a)~6(c)可以看出,本文算法復(fù)原圖像的峰值信噪比和平均梯度整體優(yōu)于其他算法,說明復(fù)原的圖像色彩保持好,失真程度低,有更清晰的輪廓.在Image2中,峰值信噪比和平均梯度有最大提升,分別為34.46%、99.49%.信息熵顯著高于其他經(jīng)典算法,說明本文算法復(fù)原圖像有更豐富的細(xì)節(jié),復(fù)原效果好.在Image4中信息熵提升最大,為21.18%.由圖6(d)可知,本文所提算法在引導(dǎo)濾波階段引入了加權(quán)聚合步驟,執(zhí)行效率略低于文獻(xiàn)[17]和文獻(xiàn)[14]算法,但優(yōu)于其他經(jīng)典算法,有較高的執(zhí)行效率.
圖5 各算法去霧效果對(duì)比圖Fig.5 Comparison of the effect of each algorithm on fog removal
圖6 各算法去霧客觀評(píng)價(jià)結(jié)果圖Fig.6 Objective evaluation results of each algorithm for fog removal
為解決暗通道先驗(yàn)在亮區(qū)域失效和引導(dǎo)濾波引起的邊緣模糊的現(xiàn)象,本文提出了一種基于亮區(qū)域暗通道自適矯正和加權(quán)引導(dǎo)濾波的圖像去霧算法.首先利用有霧圖像的亮度和飽和度得到相對(duì)景深圖,自適應(yīng)得到亮區(qū)域分割閾值;其次基于像素灰度值和飽和度對(duì)亮區(qū)域暗通道進(jìn)行矯正;然后利用加權(quán)引導(dǎo)濾波細(xì)化透射率;最后基于相對(duì)霧濃度均值矯正圖像亮度,得到復(fù)原結(jié)果.實(shí)驗(yàn)結(jié)果表明,所提算法亮區(qū)域分割準(zhǔn)確,解決了引導(dǎo)濾波引起的邊緣模糊問題,去霧徹底.算法具有較強(qiáng)的可靠性和魯棒性.同時(shí)與經(jīng)典算法對(duì)比,本文所提算法復(fù)原結(jié)果的峰值信噪比、平均梯度與信息熵的最大提升分別為34.46%、99.49%和21.18%.如何進(jìn)一步提高本文算法執(zhí)行效率,保證圖像去霧的實(shí)時(shí)性,需要后續(xù)進(jìn)一步深入研究.