車雯雯,李竹林,徐雪麗
(延安大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,陜西 延安 716000)
現(xiàn)如今,霧霾天氣頻繁出現(xiàn)[1],無論用什么設(shè)備捕捉到的圖像,都會(huì)受到大氣中懸浮的水汽氣溶膠等微小顆粒物光學(xué)散射的影響,導(dǎo)致拍攝的圖像不清晰。如果是在霧霾天氣下的戶外拍攝,圖片將會(huì)變得更模糊,前景和背景混為一體研究對(duì)象不突出,使得圖像利用價(jià)值不高,給交通、國防、航空等領(lǐng)域的研究和應(yīng)用帶來一系列的影響[2]。因此,多年來圖像去霧一直是計(jì)算機(jī)視覺研究的熱點(diǎn),國內(nèi)外許多研究者提出了可行的方法,同時(shí)也存在一些不足[3-5]。所以,探究具有更好適用性與可靠性的圖像去霧算法仍是一個(gè)極具挑戰(zhàn)的課題[6]。
目前的圖像去霧算法主要有兩大類:一類是圖像增強(qiáng)法,另一類是圖像復(fù)原法。常見的圖像增強(qiáng)去霧方法有Retinex算法[7]和直方圖均衡算法[8],該類方法的實(shí)質(zhì)并不是屬于真正的去霧,而是通過增強(qiáng)圖像對(duì)比度來突出研究對(duì)象,雖然效果不是特別理想,但是該方法的優(yōu)點(diǎn)是成本低,易操作。圖像復(fù)原法是基于物理模型一種去霧方法,何愷明在2009年提出了暗通道先驗(yàn)原理去霧算法(以下簡(jiǎn)稱何算法)[9],很多研究者在此基礎(chǔ)上提出了自己的改進(jìn)方法[10-14]。因此,近些年基于暗通道先驗(yàn)原理去霧的圖像復(fù)原取得了很大突破,大量實(shí)驗(yàn)表明,圖像復(fù)原比圖像增強(qiáng)效果更好。然而該理論基于物理模型,是根據(jù)霧形成的原理反解出無霧圖像,在求解的過程中,存在假設(shè)與估算,導(dǎo)致圖像復(fù)原結(jié)果存在圖像顏色失真、亮度下降、輪廓處光暈現(xiàn)象明顯等缺點(diǎn)。本文針對(duì)上述缺點(diǎn),在暗通道先驗(yàn)原理去霧算法的基礎(chǔ)上,提出了一種結(jié)合雙邊濾波的常數(shù)c補(bǔ)償算法,既保護(hù)了圖像的邊緣又通過常數(shù)c對(duì)圖像的亮度進(jìn)行補(bǔ)償,最后將大氣光及透射率當(dāng)成一個(gè)整體并結(jié)合峰值信噪比構(gòu)造了優(yōu)化條件的迭代算法,實(shí)現(xiàn)了自適應(yīng)圖像去霧。實(shí)驗(yàn)表明這種方法有良好的去霧效果,減少了光暈現(xiàn)象且降低了圖像的失真。
圖像去霧中常用的濾波有均值濾波、中值濾波和雙邊濾波等[15]。均值濾波也稱為線性濾波,采用的主要方法為鄰域平均法,基本原理是用鄰域均值代替原圖像中的各個(gè)像素值,這種濾波在圖像去噪的同時(shí)也破壞了圖像的細(xì)節(jié)部分,使圖像變得模糊,不能很好地保護(hù)圖像細(xì)節(jié)。中值濾波法是一種非線性平滑技術(shù),它的基本原理是將每一像素點(diǎn)的灰度值設(shè)置為該點(diǎn)某鄰域窗口內(nèi)的所有像素點(diǎn)灰度值的中值,缺點(diǎn)是易造成圖像的不連續(xù)性[11]。以上算法中圖像的邊緣信息不能很好的被保留,所以本文利用文獻(xiàn)[16,17]的雙邊濾波來進(jìn)行邊緣保護(hù)。
雙邊濾波(Bilateral filter)是一種結(jié)合圖像的空間鄰近度和像素值相似度的一種折衷處理的非線性的濾波方法,能達(dá)到保邊去噪的目的,且具有簡(jiǎn)單、非迭代、局部的特點(diǎn)[18]。其表達(dá)式為:
Ifiltered(x)=
(1)
(2)
其中,Ifiltered是濾波后的圖像,I是原圖像,x是濾波圖像中的像素,Ω是像素x的窗口,fr是平滑不同程度范圍的核(rangekernel),gs是空間的卷積核。跟一般的卷積相比,就是把圖像中變化劇烈的部位(邊緣)加一個(gè)小的權(quán)重,這樣求和之后值就很小了,邊緣的像素點(diǎn)沒有被模糊,起到了保護(hù)邊界的作用[19]。
對(duì)彩色圖像先進(jìn)行R、G、B三通道顏色分離,分別對(duì)R、G、B分量進(jìn)行雙邊濾波,最后再對(duì)三通道進(jìn)行合成形成新的彩色圖像,如圖1所示,可以看出雙邊濾波之后的有霧圖像邊緣處更清晰。
圖1 雙邊濾波結(jié)果圖
光線通過有塵埃的空氣或遇到小微粒而使傳播方向改變,并向各個(gè)方向散開,稱之為散射[20]。散射使原傳播方向的輻射強(qiáng)度減弱,而增加向其他各方向的輻射。盡管強(qiáng)度不大,但從遙感數(shù)據(jù)角度分析,太陽輻射照在地面又反射到傳感器的過程中,兩次通過大氣,在照射地面時(shí),由于散射增加了漫入射的成分,使反射的輻射成分有所改變。返回傳感器時(shí),除反射光外還增加了散射光也進(jìn)入了傳感器。通過二次影響增加了信號(hào)中的噪音成分,造成圖像的質(zhì)量下降[21]。
何愷明經(jīng)過大量實(shí)驗(yàn)統(tǒng)計(jì)之后,發(fā)現(xiàn)在不含有天空區(qū)域的無霧圖像每個(gè)子區(qū)域至少在一個(gè)顏色通道上存在亮度很小的值[9]。假設(shè)一幅圖像是J,那么這幅圖像的暗通道可以表示為:
(3)
而對(duì)于無霧的非天空區(qū)域其暗通道接近于0,即:
Jdark(x)→0。
(4)
由大氣散射模型可知單幅圖像復(fù)原過程可由物理模型(5)描述:
I(x)=J(x)t(x)+A(1-t(x)),
(5)
其中J(x)為去霧后的圖像,I(x)為霧霾天氣下所拍攝的圖像,A為大氣光的值,t(x)為透射率(0≤t(x)≤1)。推導(dǎo)出A和t(x)的值J(x)也就迎刃而解。所以推導(dǎo)A和t(x)是實(shí)驗(yàn)的關(guān)鍵。
由(5)式可得:
J(x)=(1-A)/t(x)+A,
(6)
對(duì)3個(gè)通道進(jìn)行局部最小值,再對(duì)(5)式兩邊同時(shí)除以A進(jìn)行標(biāo)準(zhǔn)化,可得到:
(7)
根據(jù)(4)式,無霧圖像區(qū)域暗通道趨于0,所以(7)式可變?yōu)椋?/p>
(8)
假設(shè)在上述過程中大氣光A值已知的情況下,通過(8)式可計(jì)算出透射率的粗略值。
本節(jié)中首先通過引入常數(shù)c對(duì)透射率進(jìn)行補(bǔ)償,然后結(jié)合峰值信噪比構(gòu)造優(yōu)化條件,設(shè)計(jì)迭代去霧算法,模擬實(shí)驗(yàn)結(jié)果表明,算法的改進(jìn)取得了較好的效果。
(9)
何愷明同時(shí)提出暗通道先驗(yàn)理論來估測(cè)大氣光的值[9],對(duì)大多數(shù)圖像復(fù)原去霧算法而言,大氣光值A(chǔ)可以由輸入圖像的像素計(jì)算獲得這種方法具有很好的魯棒性[4]。
在實(shí)際中,可以借助于暗通道圖來從有霧圖像中獲取該值。具體步驟如下:先從暗通道圖中按照亮度的大小取前0.1%的像素;再在這些位置中,在原始有霧圖像J(x)中尋找對(duì)應(yīng)的具有最高亮度的點(diǎn)的值,作為A值,可以表示為:
A=max(max(Jdark(x)))。
(10)
經(jīng)過大量實(shí)驗(yàn)后,圖2是以其中的兩幅圖片為例子顯示不同c值下的圖像復(fù)原效果。
圖2 不同c值的復(fù)原效果圖
通過大量對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)圖像隨著c的增大發(fā)生明顯的變化。c的取值太小,圖像不清楚;取得越大,圖像越模糊。最終選取c的大小為0.1,效果最佳。
將這種方法用于含天空區(qū)域的圖像,模擬實(shí)驗(yàn)結(jié)果顯示效果并不理想,甚至出現(xiàn)色彩嚴(yán)重失真,近景目標(biāo)輪廓出現(xiàn)光暈甚至近景無霧景顯得更模糊。所以此算法中c=0.1并不適用于含天空區(qū)域的亮度較高的圖像。
一般情況下,研究者在研究圖像去霧時(shí)都把大氣光和透射率分開單獨(dú)優(yōu)化。在文獻(xiàn)[23]中,作者提到了將兩者作為一個(gè)整體采用迭代的算法進(jìn)行優(yōu)化,當(dāng)亮度平均值達(dá)到一定標(biāo)準(zhǔn)時(shí)停止運(yùn)算。但當(dāng)有霧圖像中含有大量白色建筑時(shí)亮度平均值就會(huì)整體偏大,導(dǎo)致該算法有一定的誤差?;谶@個(gè)缺點(diǎn)本文引入峰值信噪比作為算法停止優(yōu)化的評(píng)判標(biāo)準(zhǔn)。
暗通道先驗(yàn)的迭代算法:采用二元優(yōu)化策略將有霧圖像多次去霧,直至達(dá)到優(yōu)化標(biāo)準(zhǔn)。由(5)式可知輸入圖像、輸出圖像、透射率及大氣光之間存在一定的關(guān)系。將條件初始定義為:
(11)
其中I為有霧圖像,將I賦值給J0,A0是有霧圖像J0的大氣光值,t0為有霧圖像J0的透射率。由物理模型可推導(dǎo)出迭代公式:
(12)
其中n等于1、2、3,先用3.1中的方法計(jì)算出大氣光A的值,將第一次的復(fù)原圖像作為第二次的輸入圖像一次次迭代直到達(dá)到優(yōu)化條件停止迭代。
峰值信噪比(Peak signal-to-noiseratio)是一個(gè)工程術(shù)語指到達(dá)噪音比率的頂點(diǎn)信號(hào)[24]。由于許多信號(hào)都有非常寬的動(dòng)態(tài)范圍,峰值信噪比常用對(duì)數(shù)分貝單位來表示。峰值信噪比經(jīng)常用作圖像壓縮等領(lǐng)域中信號(hào)重建質(zhì)量的測(cè)量方法,它常簡(jiǎn)單地通過均方誤差(MSE)進(jìn)行定義。峰值信噪比作為一種評(píng)價(jià)圖像質(zhì)量的客觀指標(biāo)其數(shù)學(xué)表達(dá)式為:
(13)
(14)
其中MAXI是表示圖像點(diǎn)顏色的最大數(shù)值,如果每個(gè)采樣點(diǎn)用8位表示,那么就是255。式中MSE為原圖像與處理后圖像的方差,I(i,j)為輸入圖像,J(i,j)為處理后的圖像,m,n為圖像的尺寸。
優(yōu)化過程中,當(dāng)
|PSNRi-PSNRi-1|≤ε(ε=0.001),
此時(shí)的A和t作為最佳值。
迭代去霧算法步驟如下:
Step1輸入大氣退化圖像I并且將I賦值給J0;
Step2由式(12)得到大氣光Ai的值,i=1,2,3…n,(n為最高迭代次數(shù));
Step3由式(6)得到第i次的去霧圖像Ji;
Step4由式(15)(16)得到去霧圖像的峰值信噪比,如果達(dá)到優(yōu)化條件則輸出此時(shí)的A,t的值,否則進(jìn)行Step5;
Step5將Jn-1賦值給Jn重復(fù)Step2—Step4,直至峰值信噪比遞增值小于0.001 dB。
最后由(6)式得到最終的去霧圖像。
現(xiàn)將何算法、雙邊濾波保護(hù)算法、常數(shù)c補(bǔ)償算法及迭代去霧算法結(jié)果進(jìn)行比較:
其中(a)和(f)是有霧圖像,(b)和(g)是何算法得到的去霧圖像,(c)和(h)是增加常數(shù)c補(bǔ)償算法得到的去霧圖像,(d)和(i)結(jié)合雙邊濾波的常數(shù)c補(bǔ)償算法,(e)和(j)是迭代算法得到的去霧圖像。由圖3可以觀察到4種算法的去霧結(jié)果在亮度和清晰度上都有明顯的提高。
圖3 幾種去霧算法結(jié)果的比較
常用的評(píng)判實(shí)驗(yàn)結(jié)果性能的方法有MES均方差、PSNR峰值信噪比、COV協(xié)方差及CONTRAST亮度對(duì)比度等[25]。如圖3所示,可以很直觀的看出去霧結(jié)果,但這只是直觀效果。對(duì)圖3中的圖像進(jìn)行性能評(píng)價(jià)參數(shù)計(jì)算,結(jié)果如表1和表2所示,其中表1是圖3中(b)—(e)算法的各類性能參數(shù)值;表2是圖3中(g)—(j)算法的各類性能參數(shù)值。
表1 去霧算法性能對(duì)比(b)-(e)
表2 去霧算法性能對(duì)比(g)-(j)
由圖3、表1及表2可以看出,常數(shù)c補(bǔ)償算法與何算法在性能參數(shù)上幾乎相接近。雙邊濾波去霧算法在各參數(shù)方面有進(jìn)一步的提高。迭代算法各項(xiàng)參數(shù)較佳,尤其在均方差與亮度對(duì)比兩方面突出,且在主觀體驗(yàn)上與其它去霧算法相比較圖像更為清晰。
本文從圖像復(fù)原角度出發(fā),研究幾種圖像去霧處理的方法。通過引入常數(shù)c對(duì)透射率進(jìn)行補(bǔ)償且通過實(shí)驗(yàn)得出,當(dāng)c值為0.1時(shí),具有較好的去霧結(jié)果,但是結(jié)果仍然不理想。通過引進(jìn)雙邊濾波對(duì)圖像邊緣進(jìn)行保護(hù)提出了基于常數(shù)c補(bǔ)償?shù)碾p邊濾波算法,實(shí)驗(yàn)結(jié)果表明復(fù)原后的圖像邊緣飽和度更強(qiáng)效果更好。將大氣光和透射率看成一個(gè)整體通過迭代的算法進(jìn)行優(yōu)化,不僅實(shí)現(xiàn)了自適應(yīng)去霧,實(shí)驗(yàn)結(jié)果也表明不管是去霧后圖像的清楚度還是各項(xiàng)評(píng)價(jià)性能參數(shù)均取得很好的結(jié)果。但是本文算法仍然存在很多不足,算法的實(shí)時(shí)性需要進(jìn)一步提高,對(duì)于含有天空區(qū)域的有霧圖像仍需進(jìn)一步展開研究。