邵明省
(鶴壁職業(yè)技術(shù)學(xué)院電子信息工程學(xué)院,河南 鶴壁 458030)
霧天條件下獲取的紅外圖像容易丟失信息,如圖像對(duì)比度下降、遠(yuǎn)景變得模糊等等,紅外圖像去霧算法不但需要增強(qiáng)其對(duì)比度和細(xì)節(jié),同時(shí)不能破壞紅外圖像像素分布信息[1-2]。
暗通道算法(Dark Channel Prior,DCP)由何愷明提出[3],通過分析有霧圖像暗通道先驗(yàn)假設(shè)進(jìn)行去霧,去霧效果自然并且真實(shí),但是暗通道算法適合圖像中不包含天空區(qū)域或者圖像中沒有明亮區(qū)域。田源對(duì)通過混合通道把暗通道算法劃分遠(yuǎn)景和近景區(qū)域(Near and Far Scene Dark Channel Prior,NFCDCP),并且在不同區(qū)域設(shè)置調(diào)節(jié)系數(shù)以便優(yōu)化調(diào)節(jié)[4],但是此方法適合圖像中遠(yuǎn)景、近景區(qū)域比較容易分割的圖像,如果遠(yuǎn)景、近景區(qū)域連接處出現(xiàn)相互交疊現(xiàn)象,則不太適合使用。宋瑞霞提出含有大片天空區(qū)域圖像的去霧算法(Large Sky Region Dark Channel Prior,LSRDCP),通過圖像的亮度值對(duì)天空區(qū)域進(jìn)行分割[5],最終圖像去霧的色調(diào)更加自然,但是對(duì)天空區(qū)域比較小的圖像或白色物體比較多的圖像不易找出正確的分割閾值。Zhu提出圖像亮度和暗通道先驗(yàn)(Fusion of Luminance and Dark Channel Prior,FLDCP)的融合方法對(duì)有霧圖像恢復(fù)[6],適合圖像中有廣鏡頭的天空區(qū)域,但是若空中的光線是在太陽周圍區(qū)域選取,將使圖像發(fā)生顏色偏移,導(dǎo)致恢復(fù)效果不佳。Gao 等人提出多聚焦圖像融合方法(Multi-Focus Image Fusion,MFIF),通過引入天空區(qū)域的分割求取全局大氣背景光[7],但是需要拉普拉斯濾波,導(dǎo)致處理時(shí)間較長(zhǎng)。以上方法雖然能夠獲得完整的天空區(qū)域,但是若天空區(qū)域和非天空區(qū)域之間出現(xiàn)交叉現(xiàn)象,交界處在去霧后出現(xiàn)邊緣殘留現(xiàn)象。
本文采用天空區(qū)域識(shí)別暗通道算法(Sky Region Recognition of DCP,SRRDCP)對(duì)圖像進(jìn)行去霧,雙閾值算法把圖像劃分為天空區(qū)域、非天空區(qū)域、交叉區(qū)域,增加了不同區(qū)域的大氣光值、透射率計(jì)算的差異性。實(shí)驗(yàn)仿真顯示本文算法的紅外圖像去霧效果清晰,評(píng)價(jià)指標(biāo)較優(yōu)。
在最大限度地保留天空區(qū)域可見光圖像清晰部分的前提下,將非天空區(qū)域模糊不清的部分轉(zhuǎn)換為近紅外圖像,從而得到一幅符合人眼視覺特性的清晰圖像[8]。通過上限閾值α、下限閾值β來對(duì)圖像進(jìn)行天空區(qū)域、非天空區(qū)域、交叉區(qū)域識(shí)別,0<β<α<255,當(dāng)圖像大于上限閾值α的區(qū)域即為天空區(qū)域,當(dāng)圖像小于下限閾值β的區(qū)域即為非天空區(qū)域,介于α、β之間的區(qū)域?yàn)樘炜諈^(qū)域和非天空區(qū)域之間的交叉區(qū)域。
由于天空區(qū)域顏色較亮且平滑,上限閾值α獲取方法:
(1)
其中,mean(L)為圖像亮度均值。
非天空區(qū)域顏色較暗并且像素梯度變化大,下限閾值β獲取方法:
(2)
2.2.1 基于八個(gè)三角形循環(huán)的天空區(qū)域大氣光值估算
把有霧圖像天空區(qū)域劃分為八個(gè)相同三角形[9],分別計(jì)算八個(gè)區(qū)域的像素均值與標(biāo)準(zhǔn)差之間的差值,并選取差值最高的區(qū)域進(jìn)行繼續(xù)劃分為八個(gè)三角形,一直重復(fù)此迭代操作。大氣光值估算要在霧濃度最高的區(qū)域確定,即像素均值與標(biāo)準(zhǔn)差之間的差值比較大的區(qū)域:
S(ni)=|M(ni)-D(ni)|
(3)
其中,i=1,2,…,8,S(ni)為第i個(gè)三角形區(qū)域的均值和標(biāo)準(zhǔn)差之間的差值;M(ni)和D(ni)分別為該區(qū)域的均值和標(biāo)準(zhǔn)差。
2.2.2 天空區(qū)域透射率估算
為了避免天空區(qū)域去霧圖像亮度發(fā)暗和發(fā)白的現(xiàn)象出現(xiàn),設(shè)置參數(shù)λ:
λ=ρmav
(4)
其中,0≤ρ≤1/mav,mav為全部像素的平均值。
(5)
其中,Num為像素總數(shù)。
如果當(dāng)整個(gè)有霧圖像在亮度方面有點(diǎn)發(fā)暗時(shí),mav變小,則λ變小,使得大氣透射率t(x)變大,去霧后的圖像稍微變亮一點(diǎn);當(dāng)有霧圖像發(fā)亮?xí)r,進(jìn)行相反操作。
對(duì)λ進(jìn)行界定:
λ=min(ρmav,0.9)
(6)
得到透射率表達(dá)式:
(7)
其中,Amin為圖像天空區(qū)域的大氣光值最小值。
交叉區(qū)域?yàn)樘炜諈^(qū)域與非天空區(qū)域相互交疊的區(qū)域,在不同圖像交叉區(qū)域中的天空區(qū)域、非天空區(qū)域所占比例不同,若按天空區(qū)域、非天空區(qū)域進(jìn)行直接計(jì)算,將導(dǎo)致大氣光值、透射率過大或者過小,如果大氣光值比真實(shí)值偏大,則去霧圖像遠(yuǎn)景較暗,近景較亮;若比真實(shí)值偏小,則去霧圖像遠(yuǎn)景較亮,近景較暗。
2.3.1 交叉區(qū)域大氣光值
交叉區(qū)域既有天空區(qū)域也有非天空區(qū)域,需要對(duì)所含的天空區(qū)域、非天空區(qū)域分別求取大氣光值再進(jìn)行均值操作。
選擇交叉區(qū)域中的天空區(qū)域亮度值前0.1 %像素的平均值作為大氣光值:
An=mean(max0.01 %I(x))
(8)
交叉區(qū)域中非天空區(qū)域大氣光值通過暗通道求取:
(9)
其中,Jdarkm(x)為非天空區(qū)域的暗通道均值;φ為微調(diào)參數(shù),避免交叉區(qū)域中非天空區(qū)域高亮物體對(duì)大氣光值的影響。
交叉區(qū)域大氣光值:
(10)
2.3.2 透射率估算
交叉區(qū)域中天空區(qū)域透射率求取:
tn=min(τAn(1-min(min(In(x)/An))),1)
(11)
其中,τ為比例因子,即天空區(qū)域在交叉區(qū)域所占的比例。
交叉區(qū)域中非天空區(qū)域透射率求取:
(12)
其中,ε∈(0,1)為常數(shù),本文取0.95。
交叉區(qū)域透射率:
(13)
暗通道算法適合非天空區(qū)域的紅外圖像去霧,但是由于暗通道算法選擇有霧圖像中亮度值排序中靠前的0.1 %像素,將這些像素最大值作為有霧圖像的大氣光值。但是有時(shí)最亮點(diǎn)可能為非天空區(qū)域的白色物體、反射光物體,因此在非天空區(qū)域計(jì)算中要避免白色高亮物體。
2.4.1 非天空區(qū)域大氣光值
對(duì)暗通道算法計(jì)算出的非天空區(qū)域大氣光值A(chǔ)0進(jìn)行修正。
(14)
其中,w=7+9e-20v,v為修正因子,log(vw)>0,給大氣光值適量的增加,log(vw)<0,不進(jìn)行校正。
2.4.2 透射率估算
對(duì)暗通道算法的透射率進(jìn)行優(yōu)化操作[10]。
(15)
其中,Idark(x)為非天空區(qū)域的暗通道值。
(16)
其中,tq≤1是非天空區(qū)域像素透射率的最小值。
在得到全局大氣光值和各區(qū)域的透射率后,可估計(jì)出無霧圖像:
(17)
算法流程:
①輸入圖像;
②通過雙閾值對(duì)圖像劃分天空區(qū)域、交叉區(qū)域、非天空區(qū)域;
③計(jì)算天空區(qū)域大氣光值、透射率;
④計(jì)算交叉區(qū)域大氣光值、透射率;
⑤計(jì)算非天空區(qū)域大氣光值、透射率;
⑥按公式(17)進(jìn)行紅外圖像去霧;
⑦輸出有霧圖像。
在實(shí)驗(yàn)對(duì)比中,計(jì)算機(jī)操作系統(tǒng)為WIN7,CPU為3.0 GHz,內(nèi)存為8 GB,軟件環(huán)境為Matlab 7.0。涉及到的算法有:DCP、NFCDCP、LSRDCP、FLDCP、MFIF、SRRDCP。
視覺效果分析如圖1、圖2所示,其中圖1(a)、圖2(a)為有霧圖像,圖1(b)、圖2(b)為DCP算法去霧效果,圖1(c)、圖2(c)為NFCDCP算法去霧效果,圖1(d)、圖2(d)為L(zhǎng)SRDCP算法去霧效果,圖1(e)、圖2(e)為FLDCP算法去霧效果,圖1(f)、圖2(f)為MFIF算法去霧效果,圖1(g)、圖2(g)為本文SRRDCP算法去霧效果。
圖1 有霧圖像1視覺去霧效果分析
圖2 有霧圖像2視覺去霧效果分析
圖1(a)為天空區(qū)域幾乎被非天空區(qū)域覆蓋的有霧圖像,圖2(a)為天空區(qū)域、非天空區(qū)域交界處包含復(fù)雜交叉區(qū)域的有霧圖像,從圖1、圖2的處理結(jié)果可以看出本文SRRDCP算法能夠?qū)μ炜諈^(qū)域、非天空區(qū)域、交叉區(qū)域進(jìn)行較好的去霧,視覺效果清晰,對(duì)于天空區(qū)域、非天空區(qū)域交界處的交叉區(qū)域也能夠進(jìn)行有區(qū)分去霧,這是因?yàn)楸疚腟RRDCP算法通過雙閾值對(duì)圖像進(jìn)行了劃分了天空區(qū)域,也對(duì)天空區(qū)域、非天空區(qū)域之間的交叉區(qū)域進(jìn)行了劃分,不再單一性的只對(duì)天空區(qū)域或者非天空區(qū)域進(jìn)行去霧,這樣提高去霧的清晰度。
3.2.1 平均梯度
根據(jù)圖形在某一個(gè)方向細(xì)節(jié)變化,評(píng)判該細(xì)節(jié)的清晰度,公式為:
(18)
其中,Z(i,j)為去霧后的圖像,M、N為圖像尺寸。
D平均梯度數(shù)值越大,圖像的層次感越好,某些細(xì)節(jié)部分處理得很好。
3.2.2 綜合評(píng)價(jià)模型
(19)
其中,S為結(jié)構(gòu)相似函數(shù),用于衡量結(jié)構(gòu)信息的保留程度;hist為直方圖相似函數(shù),越接近于1越好;L為有效細(xì)節(jié)強(qiáng)度函數(shù),用Canny算子提取圖像邊緣數(shù)量再統(tǒng)計(jì)獲得,越大越好;Q值越大其效果越佳[11]。
各種算法對(duì)去霧圖像各進(jìn)行40次實(shí)驗(yàn),有霧圖像1去霧的平均梯度、綜合評(píng)價(jià)結(jié)果如圖3所示,有霧圖像2去霧的平均梯度、綜合評(píng)價(jià)結(jié)果如圖4所示。
從圖3、圖4可以看出,本文SRRDCP算法對(duì)紅外圖像去霧在平均梯度、綜合評(píng)價(jià)指標(biāo)對(duì)比分析較優(yōu),其中對(duì)天空區(qū)域與非天空區(qū)域有比較復(fù)雜的交叉區(qū)域的有霧圖像1去霧后的平均梯度值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分別提高了28.02 %、24.14 %、21.55 %、17.24 %、12.93 %;綜合評(píng)價(jià)值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分別提高了19.88 %、16.87 %、15.06 %、14.76 %、12.05 %。有霧圖像2去霧后的平均梯度值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分別提高了29.73 %、24.77 %、22.52 %、18.02 %、13.51 %;綜合評(píng)價(jià)值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分別提高了31.13 %、26.42 %、23.58 %、18.87 %、14.15 %。
圖3 有霧圖像1各種算法去霧評(píng)價(jià)指標(biāo)分析
圖4 有霧圖像2各種算法去霧評(píng)價(jià)指標(biāo)分析
本文對(duì)有霧圖像的天空區(qū)域識(shí)別后進(jìn)行去霧,把圖像劃分為天空區(qū)域、非天空區(qū)域、交叉區(qū)域,同時(shí)不同的區(qū)域采用不同的方法計(jì)算大氣光值、透射率,避免暗通道算法不適合含有天空區(qū)域紅外圖像去霧的局限性。實(shí)驗(yàn)仿真顯示本文算法能夠有效地去除含有天氣區(qū)域圖像中的霧氣,平均梯度、綜合評(píng)價(jià)相比其他算法較好,為紅外圖像去霧研究提供了一種新方法。但是,本文算法由于對(duì)有霧圖像劃分了天空區(qū)域、非天空區(qū)域、交叉區(qū)域,分別求取了大氣光值、透射率,導(dǎo)致在處理時(shí)間上不具有明顯優(yōu)勢(shì),提升處理時(shí)間這將是以后研究的重點(diǎn)。