王燕妮,楊小寶
(西安建筑科技大學(xué)信息與控制工程學(xué)院,陜西 西安 710055)
在有霧的情況下,室外場(chǎng)景對(duì)比度和顏色因外部環(huán)境而降低,原始圖像中包含的許多細(xì)節(jié)特征被覆蓋或模糊,這給視覺(jué)系統(tǒng)應(yīng)用帶來(lái)許多不便。
目前,圖像去霧技術(shù)主要基于圖像增強(qiáng)以及物理模型復(fù)原兩大類[1-2]。圖像增強(qiáng)技術(shù)旨在通過(guò)去除圖像噪聲以增強(qiáng)圖像對(duì)比度,但易出現(xiàn)顏色失真及信息丟失等問(wèn)題,常用算法有直方圖均衡[3-4]、同態(tài)濾波[5]和Retinex算法[6-7]。圖像復(fù)原技術(shù)通過(guò)研究圖像劣化的原因和建立大氣降化模型,使用先驗(yàn)信息來(lái)實(shí)現(xiàn)除霧目的。例如,Tan等側(cè)重于增強(qiáng)圖像局部對(duì)比度進(jìn)行圖像去霧,但在去霧后圖像顏色過(guò)于飽和[8]。Tarel等應(yīng)用中值濾波進(jìn)行快速去霧,但沒(méi)有很好地保持圖像邊緣信息[9]。He等[10]提出暗通道先驗(yàn)(DCP)理論并使用Soft Matting算法[11]實(shí)現(xiàn)了較好的去霧效果,但該算法比較耗時(shí)且這一理論存在一定的失效情況。針對(duì)這一問(wèn)題,本文提出一種基于天空區(qū)域識(shí)別的DCP去霧改進(jìn)算法。
大多研究者在圖像去霧研究中廣泛使用的是圖1中Koschmieder所提出的大氣散射物理模型[12-13],其數(shù)學(xué)模型如下:
I(x)=J(x)t(x)+A(1-t(x))
(1)
式(1)中,I(x)為輸入霧天圖像,J(x)為輸出無(wú)霧圖像,A為大氣光值,t(x)為透射率。現(xiàn)已知條件為I(x),A及t(x)都未知,要求目標(biāo)值J(x),顯然這是一個(gè)欠定方程。因此,就需要一些先驗(yàn)信息進(jìn)行求解。

圖1 大氣散射物理模型Fig.1 Physical model of atmospheric scattering
暗原色先驗(yàn)理論表明:對(duì)任一彩色圖像I,其暗通道光強(qiáng)度最小值接近于0,可表示為:
(2)
式(2)中,Jc為輸入圖像任一顏色通道,Ω(x)為以像素x為中心的一個(gè)窗口。
He法中求解大氣光A值[10]方法如下:
1) 計(jì)算輸入圖像的暗通道圖,并選擇最高亮度像素的前0.1%個(gè)像素;
2) 在輸入圖像中選擇上述像素中具有最高亮度的像素值作為大氣光值。
由1.3節(jié)中已求得大氣光值A(chǔ),對(duì)式(1)進(jìn)行變形有:
(3)

(4)
通過(guò)引入一個(gè)[0,1]之間的參數(shù)w以自適應(yīng)為遠(yuǎn)處的物體保留一定程度的霧使人感受到景深的變化,其取值一般為0.95。可以從上述暗原色先驗(yàn)中獲得預(yù)估的透射率值為:
(5)
直接恢復(fù)易使去霧圖像產(chǎn)生噪聲,因此設(shè)置下限t0對(duì)t(x)進(jìn)行限制。當(dāng)t小于t0時(shí),令t=t0=0.1。從而輸出圖像復(fù)原公式如下:
(6)
文獻(xiàn)[10]去霧結(jié)果如圖2所示。

圖2 文獻(xiàn)[10]去霧結(jié)果Fig.2 Dehazing result of literature [10]
由圖1的去霧效果可以看出,去霧后在物體邊緣存在白色“塊效應(yīng)”以及天空區(qū)域出現(xiàn)了光暈和嚴(yán)重的顏色失真現(xiàn)象。“塊效應(yīng)”的存在是因?yàn)椴糠謭D像像素值十分接近大氣光值,當(dāng)像素值趨向于A時(shí),使得t(x)非常小,即t 1) 對(duì)彩色輸入圖像的灰度圖進(jìn)行給定亮度和灰度閾值分割以識(shí)別出天空區(qū)域。 2) 計(jì)算天空區(qū)域與輸入圖像占比q并根據(jù)其值大小選取合適的大氣光值。若q>5%,則將天空中前1%最亮像素點(diǎn)平均值取為大氣光值;否則,選取輸入圖像中前0.1%最高亮度像素均值。 3) 修正不滿足DCP理論的區(qū)域透射率并通過(guò)引入Guided Filter對(duì)其優(yōu)化。 4) 應(yīng)用式(1)進(jìn)行去霧,得到輸出圖像。 改進(jìn)算法流程圖如圖3所示。 圖3 改進(jìn)算法流程圖Fig.3 Improved algorithm flow chart 由式(4)可得透射率t(x)的準(zhǔn)確值應(yīng)為: (7) 由式(7)可知,諸如天空之類的明亮區(qū)域[14]暗通道值不趨于零。因此,式子中分母值小于1,故該區(qū)域透射率真實(shí)是大于He法中的計(jì)算值。He法中對(duì)圖像統(tǒng)一計(jì)算透射率的這一做法顯然是不合理的。因此,需采用不同的計(jì)算方式來(lái)求解兩部分區(qū)域透射率。天空部分通常來(lái)說(shuō)是高亮度、連通大而平滑的一些區(qū)域,因此可通過(guò)梯度來(lái)進(jìn)行判斷。梯度值越小,則該區(qū)域越平滑,也即可初步判定為天空區(qū)域。通過(guò)閾值分割[15]得到平滑明亮的連通區(qū)域,選擇面積最大的區(qū)域記為天空區(qū)域。設(shè)定亮度閾值θ用來(lái)判斷原始圖像中的某個(gè)像素點(diǎn)是否位于平滑區(qū)域,也即是否屬于天空區(qū)域;設(shè)定灰度閾值T用來(lái)從各個(gè)連通區(qū)域中選擇最合適的一個(gè)作為分割出的天空區(qū)域。具體方法如下: 1) 為減少后續(xù)操作計(jì)算量,將原始彩色含霧圖像轉(zhuǎn)化為灰度圖像G(x): G(x)=R·0.229+G·0.587+B·0.114 (8) 式(8)中,R,G,B是圖像I(x)的三個(gè)顏色通道。 2) 將灰度圖像G(x)轉(zhuǎn)化為梯度圖像F(x),以便后續(xù)進(jìn)行二值化處理: (9) 式(9)中,Gx,Gy是F(x)在x,y方向的梯度。 3) 對(duì)梯度圖像F(x)進(jìn)行二值化處理得到二值圖像B(x): (10) 4) 對(duì)二值圖像B(x)進(jìn)行形態(tài)學(xué)“閉”操作,得到所有的連通區(qū)域: B·S=(B⊕S)θS (11) 選擇平均閾值大于灰度閾值T并且面積最大的連通區(qū)域作為最終分割出的天空區(qū)域。 計(jì)算過(guò)程中,亮度閾值θ和灰度閾值T取經(jīng)驗(yàn)值θ=0.02,T=210。也即: (12) 算法流程圖如圖4所示。 圖4 天空分割算法流程圖Fig.4 Sky segmentation algorithm flow chart 通過(guò)亮度閾值和灰度閾值對(duì)天空區(qū)域進(jìn)行分割后的結(jié)果如圖5所示。 圖5 天空區(qū)域識(shí)別結(jié)果Fig.5 Result of sky area recognition 識(shí)別出天空區(qū)域之后,需要適當(dāng)增大天空區(qū)域透射率以改善He法中不滿足暗原色先驗(yàn)這一先決條件所引起的顏色失真現(xiàn)象。在文獻(xiàn)[16]中作者將天空區(qū)域透射率設(shè)置成以定值0.03,但這一做法顯然不妥。因此,引入透射率修正因子以自適應(yīng)增大天空區(qū)域透射率,并依然按照He法中的公式對(duì)非天空區(qū)域透射率進(jìn)行計(jì)算。修正后的計(jì)算公式如下: (13) 根據(jù)經(jīng)驗(yàn)公式[17],有: Y=-351.6+2.5×As+608.5×Ps-3.4×As×Ps (14) 式(13)、式(14)中,Y/I(x)-A為透射率修正因子,As為天空部分亮度值均值,Ps為天空區(qū)域占比。 修正后的透射率仍比較粗糙,直接用于去霧效果不甚理想,本文使用引導(dǎo)濾波器對(duì)其進(jìn)行優(yōu)化處理。引導(dǎo)濾波是一種自適應(yīng)加權(quán)濾波器,可以平滑圖像細(xì)節(jié)并保留邊緣以及降低算法復(fù)雜度。假設(shè)濾波后輸出q是以像素k為中心窗口wk中的線性變化: qi=akIi+bk,?i∈wk (15) 式(15)中,I為引導(dǎo)圖,ak與bk為在wk中恒定的線性函數(shù)系數(shù)。 為了求解線性系數(shù)并使得濾波輸入p和輸出q之間相似度更高,可最小化窗口中的成本函數(shù): (16) 通過(guò)回歸方程得到式(16)系數(shù): (17) 將上述線性模型應(yīng)用于整個(gè)圖像的所有局部窗口,但像素i于所包含i的所有窗口相關(guān)。因此可以通過(guò)求取所有包含i的可能值的均值來(lái)求解某一點(diǎn)輸出,也即: (18) 使用輸入霧天圖像的灰度圖作為導(dǎo)向圖對(duì)修正后的粗糙透射率進(jìn)濾波優(yōu)化的結(jié)果如圖6所示,優(yōu)化后的透射圖更加光滑,細(xì)節(jié)部分也更完整。此外,由相應(yīng)的噪聲平滑特性圖中也能明顯看出優(yōu)化后透射更加精細(xì)。 當(dāng)輸入圖像中存在白色建筑物或物體時(shí),He法對(duì)大氣光值的估計(jì)值選取會(huì)出現(xiàn)偏差,使得通過(guò)式(5)獲得的透射率計(jì)算值不夠準(zhǔn)確,從而不能夠很好地進(jìn)行去霧處理。在文獻(xiàn)[16]中,作者使用天空區(qū)域像素均值作為大氣光值的估計(jì),但對(duì)于天空較小甚至某些沒(méi)有天空的圖像,這種方法還不夠合理。因此,本文提出了以下方法來(lái)獲得大氣光值A(chǔ)。 首先,通過(guò)2.1節(jié)設(shè)定的閾值計(jì)算天空區(qū)域像素與整幅圖像像素比例。若該比例小于5%,則在He法基礎(chǔ)上,將前0.1%個(gè)最高亮度像素均值作為大氣光值;否則,選擇2.1節(jié)分割識(shí)別出的天空區(qū)域中前1%個(gè)最高亮度像素均值。 圖6 透射率優(yōu)化前后結(jié)果Fig.6 Result before and after of transmittance optimization He法和改進(jìn)大氣光值獲取方法效果如圖7所示。藍(lán)色框標(biāo)記的是圖像中像素值最大的點(diǎn),也即He法對(duì)大氣光值的估計(jì);黃色框標(biāo)記的是改進(jìn)算法的估計(jì)結(jié)果。可以看出,改進(jìn)算法相比原算法更準(zhǔn)確,有效避免了大氣光值得誤估計(jì)問(wèn)題。 圖7 He法和改進(jìn)算法大氣光值估計(jì)結(jié)果Fig.7 Result of atmospheric light value estimation of He and improved algorithm 在Windows操作系統(tǒng),TMi5-4010處理器,4 GB內(nèi)存計(jì)算機(jī),Matlab2014a平臺(tái)上采用Tarel法、雙邊濾波法、He法以及改進(jìn)算法進(jìn)行圖像去霧模擬實(shí)驗(yàn)。輸入霧天圖片均選自網(wǎng)上或相關(guān)文獻(xiàn)中的測(cè)試圖像。 分別選取包含天空及無(wú)天空霧天圖像進(jìn)行測(cè)試,限于篇幅大小只顯示其中的部分圖像去霧前后效果。 圖8是原始霧天圖像,圖9—12依次是文獻(xiàn)[9]、文獻(xiàn)[18]、文獻(xiàn)[11]以及改進(jìn)的DCP算法去霧效果圖。可以看出,Tan法、Tarel法和 He法完成去霧后,前三幅圖像均有不同程度的顏色失真, 其中Tan法失真情況最為嚴(yán)重,天空區(qū)域全部偏色且有大幅塊效應(yīng)的產(chǎn)生;Tarel法和He法去霧后圖像具有一定程度的過(guò)飽和現(xiàn)象,并且在場(chǎng)景的邊緣處存在光暈現(xiàn)象。 經(jīng)過(guò)改進(jìn)后的算法去霧后圖像更加清晰真實(shí),天空區(qū)域顏色失真以及邊緣光暈現(xiàn)象都得到了較好的改善,保留了更加豐富的圖像細(xì)節(jié),圖像整體也具有較好的視覺(jué)效果。 圖8 原始霧天圖像Fig.8 Original foggy image 圖9 文獻(xiàn)[9]去霧圖像Fig.9 Dehazing image of literature[9] 圖10 文獻(xiàn)[18]去霧圖像Fig.10 Dehazing image of literature[18] 圖11 文獻(xiàn)[11]去霧圖像Fig.11 Dehazing image of literature[11] 圖12 本文改進(jìn)算法去霧圖像Fig.12 Dehazing image of improved algorithm 為了更加客觀地評(píng)價(jià)上述幾種去霧算法實(shí)驗(yàn)效果[19],采取信息熵、結(jié)構(gòu)相似性和峰值信噪比,用于評(píng)估除霧前后的圖像質(zhì)量。同時(shí),利用算法執(zhí)行時(shí)間評(píng)價(jià)各自算法效率。實(shí)驗(yàn)結(jié)果如表1—表4所示。 表1 信息熵(H) 表2 結(jié)構(gòu)相似性(SSIM) 表3 峰值信噪比(PSNR) 表4 算法執(zhí)行時(shí)間 1) 信息熵(H) 信息熵反映了圖像中包含的信息量,熵值越大表明其圖像信息量越多,細(xì)節(jié)越豐富。計(jì)算公式如下: (19) 式(19)中,pi為像素i出現(xiàn)的概率。 2) 結(jié)構(gòu)相似性(SSIM) 結(jié)構(gòu)相似性用于描述原始圖像和復(fù)原圖像之間的相似程度,其值越接近1,則兩幅圖像的相似性越高,也即復(fù)原效果越好。計(jì)算公式如下: (20) 式(20)中,μi,μj,σi,σj分別為圖像I(x)、J(x)的均值和方差,σij為I(x)、J(x)的協(xié)方差。 3) 峰值信噪比(PSNR) 峰值信噪比描述圖像最大像素值與噪聲的比值。PSNR值越大,圖像越清晰。計(jì)算公式如下: (21) (22) 式(21)、式(22)中,MSE是均方誤差,F(xiàn)(x,y)為去霧圖像,f(x,y)為有霧圖像,M、N是圖像長(zhǎng)和寬。 從表1—表3可以看出,四幅圖像中,He法和改進(jìn)算法去霧后圖像的信息熵值均大于原始圖像,也即更好地恢復(fù)了圖像細(xì)節(jié)。在結(jié)構(gòu)相似性和峰值信噪比方面,He法和改進(jìn)算法在不同圖像中各占優(yōu)勢(shì),總體來(lái)說(shuō)去霧效果不分上下。Tarel法和雙邊濾波法去霧后的信息熵、結(jié)構(gòu)相似性以及峰值信噪比均小于He法和本文改進(jìn)算法。對(duì)于三個(gè)客觀質(zhì)量評(píng)價(jià)指標(biāo)整體而言,改進(jìn)算法去霧的綜合效果明顯優(yōu)于其他三種算法。此外,雖然He法在個(gè)別圖像去霧中也具有不錯(cuò)的效果,但其算法因復(fù)雜度過(guò)高導(dǎo)致去霧過(guò)程太過(guò)耗時(shí),算法效率與改進(jìn)算法相比相差甚遠(yuǎn)。由表4也可以看出,改進(jìn)算法具有較低的運(yùn)行時(shí)間。 本文提出了一種基于天空區(qū)域識(shí)別的DCP去霧改進(jìn)算法。該方法首先使用雙閾值分割識(shí)別出天空區(qū)域;然后通過(guò)計(jì)算天空區(qū)域和整個(gè)圖像的比例來(lái)合理選則大氣光值;最后修正透射率計(jì)算公式并引入引導(dǎo)濾波對(duì)其進(jìn)行優(yōu)化處理以改善圖像去霧效果并降低算法執(zhí)行時(shí)間。經(jīng)過(guò)理論和實(shí)驗(yàn)客觀指標(biāo)分析表明,改進(jìn)算法相比其他幾種常用去霧算法而言,不僅明顯改善了傳統(tǒng)方法存在的邊緣“塊效應(yīng)”、天空區(qū)域出現(xiàn)光暈和顏色失真現(xiàn)象以及大氣光值可能出現(xiàn)的誤估問(wèn)題。此外,除霧后圖像也具有較高的清晰度和良好的細(xì)節(jié),還具有較低的運(yùn)行時(shí)間。
2.1 天空區(qū)域識(shí)別




2.2 透射率改進(jìn)

2.3 大氣光值改進(jìn)


3 實(shí)驗(yàn)結(jié)果比較與分析
3.1 去霧效果主觀評(píng)價(jià)





3.2 去霧效果客觀評(píng)價(jià)




4 結(jié)論