唐 斌 馬思根 陳清容 龍 文
1(貴州財經(jīng)大學(xué)信息學(xué)院 貴州 貴陽 550025)2(貴州財經(jīng)大學(xué)貴州省經(jīng)濟(jì)系統(tǒng)仿真重點(diǎn)實(shí)驗(yàn)室 貴州 貴陽 550025)
在有霧的低照度環(huán)境下,攝像機(jī)、數(shù)碼相機(jī)等圖像傳感器所采集的視頻或圖像通常能見度較低,圖像紋理可辨識度不高。在進(jìn)行機(jī)器識別或目標(biāo)跟蹤之前需要對有霧圖像做清晰化預(yù)處理。
有霧圖像清晰化處理的方法層出不窮。根據(jù)其使用技術(shù)的特征,可將去霧算法分為兩大類。第一類是以增加對比度為目的的增強(qiáng)算法。使用直方圖均衡的方法是通過拉伸方式改變像素值的分布概率達(dá)到增強(qiáng)對比度的目的,但可能會丟失圖像的部分細(xì)節(jié)[1]。Retinex理論[2]認(rèn)為有霧圖像是由環(huán)境光照射分量和物體表面反射光分量組成,那么可以使用同態(tài)濾波減弱環(huán)境光照射分量從而提高反射光分量,最終增加對比度,但是該類方法容易出現(xiàn)偏色問題。第二類是基于大氣散射模型的還原算法,該類方法的關(guān)鍵在于估算透射率和大氣環(huán)境光。He等[3]發(fā)現(xiàn)暗原色先驗(yàn)理論并利用此理論估算透射率,該方法簡單易行,去霧效果較好,但存在Halo效應(yīng),處理速度較慢。Zhu等[4]發(fā)現(xiàn)顏色衰減先驗(yàn)理論,構(gòu)建了場景深度與亮度、飽和度之間的線性模型,根據(jù)此模型可以計算透射率。該方法同樣簡單可行,去霧后的圖像清晰,但線性模型中的系數(shù)容易受訓(xùn)練數(shù)據(jù)集影響。Kim等[5]以圖像均方誤差和信息丟失量構(gòu)建了一個反映對比度的成本函數(shù),通過最大化成本函數(shù)的方法獲取透射率。該方法不僅適合非天空區(qū)域,也適用于天空區(qū)域,但存在偏色現(xiàn)象。由于深度學(xué)習(xí)在圖像識別領(lǐng)域的卓越表現(xiàn),基于卷積神經(jīng)網(wǎng)絡(luò)去霧的算法逐漸出現(xiàn)。Cai等[6]構(gòu)建端到端的卷積神經(jīng)網(wǎng)絡(luò)DehazeNet,通過深度學(xué)習(xí)提取有霧圖像特征而估算透射率,但深度學(xué)習(xí)需要大量的數(shù)據(jù)集訓(xùn)練。
本文采用第二類方法去霧,根據(jù)每個像素點(diǎn)的最小顏色值和全局大氣環(huán)境光值估算粗糙大氣透射圖。粗糙大氣透射圖除了包含有景深邊緣外,還包含部分紋理信息,因此再使用全變分濾波平滑粗糙大氣透射圖的紋理信息和保留景深邊緣,全變分濾波迭代次數(shù)與濾波效果成正比關(guān)系,但會增加去霧時間。為降低計算復(fù)雜度,在全變分濾波前,對粗糙透射圖下采樣再進(jìn)行全變分濾波,最后獲取精細(xì)大氣透射圖。
根據(jù)大氣散射模型理論[7],物體表面光在霧天環(huán)境中傳播時會因?yàn)轭w粒的散射作用而出現(xiàn)衰減,因此圖像傳感器設(shè)備采集的圖像可用如下模型描述:
I(x)=J(x)e-βd(x)+A(1-e-βd(x))
(1)
式中:J(x)表示無衰減的無霧圖像;A表示大氣環(huán)境光;e-βd(x)為衰減系數(shù),也稱為大氣透射率t(x);β為大氣散射系數(shù);d(x)為景深。受顆粒的散射作用影響,無霧圖像和大氣環(huán)境光分別衰減為J(x)t(x)和A(1-t(x))(大氣耗散函數(shù)),圖像傳感器采集的有霧圖像I(x)則由這兩個衰減項之和組成。
式(1)中,已知條件為有霧圖像,在缺乏其他約束條件的情況下,無霧圖像的值存在著多種可能。為恢復(fù)無霧圖像,需要從有霧圖像中提取大氣環(huán)境光A和大氣透射率t(x)。
通常采用有霧圖像比較明亮的像素值估算大氣環(huán)境光。He等[3]對有霧圖像的RGB像素值進(jìn)行降序排序,然后檢索出前0.1%值所對應(yīng)的像素點(diǎn)坐標(biāo),這些坐標(biāo)對應(yīng)像素點(diǎn)的RGB三個平均值就是三個顏色通道的大氣環(huán)境光值。大量的實(shí)驗(yàn)結(jié)果表明:使用這種大氣環(huán)境光復(fù)原后的圖像亮度偏暗,顏色偏藍(lán)。Kim等[5]認(rèn)為大氣環(huán)境光與白色(RGB三個顏色值都為255)最接近,但有霧圖像中存在的白色發(fā)光物體會干擾大氣環(huán)境光值的估算。為了排除這種干擾,可以采用四叉樹方法搜索最接近白色的像素點(diǎn)。具體方法是:將有霧圖像切割成四個圖像塊,選取均方差最小的圖像塊繼續(xù)切割成四部分,直至切割圖像塊尺寸小于閾值才停止,然后在均方差最小的圖像塊中搜索出最接近白色的像素點(diǎn),該像素點(diǎn)的RGB值就是大氣環(huán)境光值。大量的實(shí)驗(yàn)結(jié)果表明:使用這種大氣環(huán)境光復(fù)原后的圖像亮,顏色偏黃。
在估算大氣環(huán)境光前,首先對有霧圖像進(jìn)行伽瑪矯正,然后分別使用He等[3]和Kim等[5]的方法估算出兩種大氣環(huán)境光值,最后使用線性加權(quán)方法獲取最終大氣環(huán)境光。計算方法如下:
A=αAHE+(1-α)AKIM
(2)
經(jīng)過多次試驗(yàn)觀測,α的經(jīng)驗(yàn)值設(shè)置為0.6。
大氣耗散函數(shù)A(1-t(x))中包含有大氣透射率t(x),因此本文使用該函數(shù)估算大氣透射率。假設(shè)V(x)=A(1-t(x)),那么大氣透射率的估算公式如下:
(3)
大氣耗散函數(shù)V(x)如果直接使用有霧圖像每個像素點(diǎn)的最小顏色值W(x),那么結(jié)合大氣環(huán)境光A,估算出的粗糙大氣投射率如下:
(4)
式中:粗糙大氣透射率最小值設(shè)置為0.2;系數(shù)ω設(shè)置為0.95。式(4)估算的值之所以稱為粗糙大氣透射率,是因?yàn)閃(x)不僅包括了較多躍變的景深邊緣信息,還具有較多平滑的圖像紋理信息。雖然景深邊緣信息可以用來估算透射率,但圖像紋理信息對透射率的估算具有干擾作用。
Rudin等[8]提出的全變分模型具有平滑細(xì)節(jié)和保留邊緣特點(diǎn),廣泛應(yīng)用于圖像去霧領(lǐng)域[9-13]?;谌兎值膱D像降噪可以用極小化能量泛函如下描述:
(5)
式中:第一項是基于l1范數(shù)的全變分正則項,其作用是保留擴(kuò)散系數(shù)小的邊緣,平滑擴(kuò)散系數(shù)大的平坦區(qū);第二項是基于降噪圖像u與噪聲圖像i之間差值平方的擬合項,其作用是確保降噪圖像u與原始圖像具有較高的相似度,λ為正則項和擬合項的平衡系數(shù)。
根據(jù)極值條件和變分法,極小化能量泛函需要對歐拉-拉格朗日方程求解。該方程可以使用梯度下降法、迭代法或Bregman法求解,但這三種求解方法都不夠簡練。Gong等[14]設(shè)計了一種新的全變分濾波器,使用濾波的方法最小化正則項,從而獲取降噪圖像u。全變分濾波器的輸入為BT、WT、WC和BC等四幅無交集圖像。這四幅圖像數(shù)據(jù)分別取自于噪聲圖像坐標(biāo)為(2n,2n)、(2n,2n+1)、(2n+1,2n)、(2n+1,2n+1)所對應(yīng)點(diǎn)的像素值。具體對應(yīng)關(guān)系如圖1所示,圖中黑色三角形、白色三角形、白色圓形和黑色圓形分別表示BT、WT、WC和BC的像素。

圖1 BT 、WT 、WC、BC坐標(biāo)圖
將噪聲圖像切割成BT、WT、WC和BC四幅子圖像后,對每幅子圖像單獨(dú)進(jìn)行全變分濾波。全變分濾波工作原理為:以過中心像素點(diǎn)的對稱軸將尺寸為3×3的全窗口切割成兩部分,計算半窗口內(nèi)除中心像素點(diǎn)外其他5個像素的平均值,然后計算該平均值與中心像素點(diǎn)的差值。由于3×3的全窗口存在4條對稱軸,故對應(yīng)的差值存在8個。選取絕對值最小的差值更新中心像素點(diǎn)。以圖2為例,全變分濾波細(xì)節(jié)如下:
(1) 以過中心像素點(diǎn)P0的對稱軸為分界線,將圖2切割成8個不同的半窗口。
(2) 計算下列表達(dá)式計算8個不同的差值di。
d0=(P1+P2+P3+P4+P5)/5-P0
(6)
d1=(P2+P3+P5+P7+P8)/5-P0
(7)
d2=(P4+P5+P6+P7+P8)/5-P0
(8)
d3=(P1+P2+P4+P6+P7)/5-P0
(9)
d4=(P1+P2+P3+P5+P8)/5-P0
(10)
d5=(P1+P4+P6+P7+P8)/5-P0
(11)
d6=(P1+P2+P3+P4+P6)/5-P0
(12)
d7=(P3+P5+P6+P7+P8)/5-P0
(13)
(3) 選擇最小值di采用下列公式更新中心像素P0的值。
P0=P0+min{|di|,i=0,1,2,3,4,5,6,7}
(14)

圖2 WC半窗口切割方法
為了獲取精細(xì)大氣透射率,還需要濾除W(x)中的紋理細(xì)節(jié),同時保留躍變景深邊緣信息[15]。全變分濾波對全變分值大的躍變景深邊緣具有保持作用,對全變分值小的紋理信息具有平滑作用,因此使用全變分濾波獲取精確的大氣耗散值。其計算過程如下:
(15)
WTV(x)=TVfilter(Wdown(x),iteration)
(16)
WUP(x)=imresize(WTV(x),scale,′bicubic′)
(17)
全變分濾波需要通過多次迭代才可以獲取較好的保邊去細(xì)節(jié)效果,但增加迭代次數(shù)(itertation)會增加濾波時間從而犧牲實(shí)時性。為減少計算時間,本文沒有直接對W(x)進(jìn)行全變分濾波,而是采用式(15)對W(x)進(jìn)行下采樣,然后使用式(16)進(jìn)行全變分濾波,最后使用式(17)進(jìn)行上采樣恢復(fù)精確大氣耗散值,將該值代入式(3)即可獲取精細(xì)透射率。由于圖像縮放同樣具有均值濾波功能,因此縮放比例scale的設(shè)置非常關(guān)鍵,常用的縮放算法包括最臨近值法、雙線插值法和雙三次插值法(bicubic),其中雙三次插值算法縮放后的圖像比較光滑,因此本文選擇雙三次插值算法縮放透射圖。由于雙三次插值法是根據(jù)鄰域內(nèi)16個像素獲取插值點(diǎn)值,因此縮放比例scale最佳值設(shè)置為4。其他值只能小于或等于4,如果大于4,將導(dǎo)致上采樣后的圖像出現(xiàn)“halo”效應(yīng)。
圖3給出了群馬圖像的三種不同情況下的透射率。其中:(a)是有霧圖像;(b)是無縮放和無全變分濾波處理的粗糙透射圖,該透射圖的紋理信息豐富;(c)是經(jīng)過迭代次數(shù)為60的全變分濾波處理但無縮放處理的透射圖,該透射圖紋理信息較少;(d)是經(jīng)過迭代次數(shù)為60的全變分濾波處理但縮放比例scale為4的縮放處理的精細(xì)透射圖,該圖紋理信息最少。

圖3 三種不同情況下的透射圖
根據(jù)本文算法對互聯(lián)網(wǎng)上部分有霧圖像進(jìn)行去霧處理以驗(yàn)證本文算法的有效性和實(shí)時性,實(shí)驗(yàn)中的硬件和軟件環(huán)境分別是:主頻是1.7 GHz的四核Core i5處理器;在Windows 8操作系統(tǒng)上運(yùn)行的MATLAB R2014b軟件。
由于縮放處理可以減少全變分濾波的計算工作量,同時還具有均值濾波作用,因此縮放操作在本文算法中具有較重要的作用,縮放比例scale的設(shè)置非常關(guān)鍵,該值設(shè)置過大雖然均值作用明顯,但“halo”現(xiàn)象同樣嚴(yán)重。設(shè)置過小,全變分濾波計算量減少不夠明顯。根據(jù)前面的理論分析,其最佳值為4。圖4給出了街景圖不同縮放比例的處理結(jié)果圖,其中:(a)是有霧圖像;(b)的縮放比例scale為2;(c)的縮放比例scale為4;(d)的縮放比例scale為5;(e)的縮放比例scale為6;(f)的縮放比例scale為8。五種不同下采樣比例恢復(fù)的圖像主觀視覺效果大致相近,但從白色方框標(biāo)示區(qū)域的圖像可以看出:縮放比例scale小于或等于4時,“halo”現(xiàn)象較弱,尤其是縮放比例scale為4時最弱;而縮放比例scale大于4時,“halo”現(xiàn)象比前兩幅圖像明顯,縮放比例scale越大,該現(xiàn)象越嚴(yán)重。


圖4 四種縮放比例的去霧結(jié)果
根據(jù)平均梯度比、新增可見邊之比、熵、運(yùn)行速度等客觀指標(biāo)以及直觀視覺效果對本文算法進(jìn)行了驗(yàn)證,并且與文獻(xiàn)[3]算法、文獻(xiàn)[4]算法進(jìn)行對比以驗(yàn)證本文算法的有效性和實(shí)時性。本文算法的參數(shù)設(shè)置為:迭代次數(shù)為10,縮放比例scale為4;文獻(xiàn)[3]算法的導(dǎo)向?yàn)V波半徑為60;文獻(xiàn)[4]算法的導(dǎo)向?yàn)V波半徑為15。實(shí)驗(yàn)結(jié)果如圖5所示,其中:第1列為有霧圖像,第2列為本文算法去霧結(jié)果,第3列為文獻(xiàn)[3]算法去霧結(jié)果,第4列為文獻(xiàn)[4]算法去霧結(jié)果。

圖5 三種算法的去霧結(jié)果
五幅圖像經(jīng)過圖像去霧處理后視覺效果相當(dāng),圖像細(xì)節(jié)比有霧圖像豐富,三種算法去霧效果接近,但部分細(xì)節(jié)存在差異。文獻(xiàn)[3]算法和文獻(xiàn)[4]算法處理后的圖像中部分物體變黑,如:文獻(xiàn)[3]算法處理后的群馬圖的輪胎、公路圖的垃圾桶、天鵝圖的草坪和樹干、廣場圖的大理石圍欄;文獻(xiàn)[4]算法處理后的群馬圖的輪胎和馬脖子、公路圖的部分樹、廣場圖的樹和建筑物第一樓層。而本文算法出現(xiàn)變黑的物體較少。


表1 三種算法的客觀指標(biāo)
雖然客觀指標(biāo)值表明三種算法客觀指標(biāo)相近,但表2的運(yùn)行時間表明:下采樣有效地減少了計算工作量,提高了去霧的速度。本文算法與文獻(xiàn)[3]相比,最大加速比可達(dá)15.8倍,最小加速比為6倍;與文獻(xiàn)[4]相比,最大加速比為7.2倍,最小加速比為2.7倍。圖像分辨率越大,對應(yīng)的加速比也越大。

表2 三種算法的運(yùn)行時間

續(xù)表2
本文結(jié)合最小濾波、全變分濾波提出了一種快速的單幅圖像去霧算法?;谌兎值膱D像處理雖然可以獲取較好的保邊和平滑效果,但歐拉-拉格朗日方程的求解復(fù)雜繁瑣,因此本文借助全變分濾波器濾除大氣耗散函數(shù)中的圖像紋理細(xì)節(jié),保留與場景深度對應(yīng)的景深邊緣。濾波器的計算方式簡單易行,只需直接使用3×3領(lǐng)域內(nèi)的半個窗口的像素更新中心像素值即可。全變分濾波需要多次迭代導(dǎo)致計算耗時較長,所以采用下采樣的方法降低計算復(fù)雜度。通常縮放比例越大,計算量越小,但較大的縮放比例會導(dǎo)致嚴(yán)重的“halo”效應(yīng),故本文給出了縮放比例的取值范圍,小于4的縮放比例可以減少該現(xiàn)象。仿真結(jié)果表明:本文算法的去霧效果與其他兩種算法相近,但其運(yùn)行速度更快,最大加速比為15.8,最小加速比為2.7,加速比與圖像分辨率成正比。因此本文算法具有較好的適應(yīng)性,適合應(yīng)用在對實(shí)時性要求較高的工程場合。