陳清江,張 雪
(西安建筑科技大學(xué) 理學(xué)院, 陜西 西安 710055)
在霧霾天氣下,采集到的圖像識別度較低,這是由于大氣中存在隨機(jī)介質(zhì),光從物體表面反射到達(dá)相機(jī)的過程中會發(fā)生散射和吸收等物理變化,傳播路線會發(fā)生偏離,而一些其他光路的空氣光由于散射進(jìn)入該光路,因此導(dǎo)致圖像對比度降低,飽和度降低,色調(diào)偏移,這極大地影響了各種戶外視覺系統(tǒng)效用的發(fā)揮,例如,視頻監(jiān)控系統(tǒng),智能汽車,導(dǎo)航控制等。所以,霧天圖像的清晰化處理具有十分重要的意義。
近年來,圖像去霧算法主要分為兩類:基于非模型的圖像增強(qiáng)方法和基于物理模型的圖像恢復(fù)方法?;诜悄P偷膱D像增強(qiáng)方法[1-2]不考慮圖像霧化降低過程,處理的圖像不能滿足視覺的要求?;谖锢砟P偷膱D像復(fù)原算法從圖像退化的物理模型出發(fā),恢復(fù)出盡可能逼真的清晰圖像。如使用馬爾可夫隨機(jī)場(MRF)模型[3]拉伸圖像對比度,獨立分量分析的方法[4](ICA),有效的正則化方法[5],聯(lián)合估計場景深度恢復(fù)清晰圖像的方法[6],近年來暗原色先驗知識統(tǒng)計理論[7]和大氣散射模型[8]以及顏色衰減理論[9]也引起了眾多學(xué)者的研究。盡管上述算法取得了很大的進(jìn)步,但它們?nèi)匀灰蕾囉诟鞣N先驗知識和假設(shè),具有一定的局限性。目前,隨著卷積神經(jīng)網(wǎng)絡(luò)在語義分割[10],超分辨率重建[11]和圖像融合[12]等方面的不斷發(fā)展,將該理論用于圖像去霧領(lǐng)域也獲得了較好的效果,如 Ren等[13]利用卷積神經(jīng)網(wǎng)絡(luò)估計了場景的透射率,根據(jù)大氣散射模型,恢復(fù)出無霧圖像。徐巖,孫美雙等[14]提出了基于多特征融合的卷積神經(jīng)網(wǎng)絡(luò)去霧算法,算法采用直接從霧天圖像到清晰無霧圖像映射的學(xué)習(xí)方式,恢復(fù)出清晰圖像。
主要從圖像復(fù)原角度出發(fā)進(jìn)行分析,利用清晰RGB圖像引導(dǎo)濾波優(yōu)化全卷積神經(jīng)網(wǎng)絡(luò)模型估計的傳輸圖,并由暗原色先驗理論[7]估計出大氣光值,根據(jù)大氣散射模型[8]恢復(fù)出清晰無霧圖像,該方法不但未造成圖像中有用信息的損失,并且恢復(fù)的圖像色彩自然,克服了光暈效應(yīng)以及色彩失真問題,提高了恢復(fù)圖像的質(zhì)量。
首先,提出的卷積神經(jīng)網(wǎng)絡(luò)用來學(xué)習(xí)霧天圖像與介質(zhì)傳輸之間的映射關(guān)系,得到估計的介質(zhì)傳輸圖,為了避免邊緣偽影,使用引導(dǎo)濾波細(xì)化介質(zhì)傳輸圖;其次,根據(jù)暗原色先驗理論先求出暗原色圖中強(qiáng)度值最大的前0.1%像素點,把其在霧天圖像中對應(yīng)的最大值作為大氣光的值;最后,細(xì)化之后的傳輸圖與大氣光合并,得到去霧圖像,算法流程如圖1所示。
式中如果直接用介質(zhì)傳輸圖作為輸入,當(dāng)傳輸圖的取值趨于0時,就會給復(fù)原的圖像帶入大量噪聲,所以在式中設(shè)置下限值t0為0.1,以避免這種情況的發(fā)生。
由于多尺度的卷積神經(jīng)網(wǎng)絡(luò)可以增強(qiáng)網(wǎng)絡(luò)的魯棒性,因此,采用三尺度全卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)霧天圖像與介質(zhì)傳輸之間的映射關(guān)系,得到預(yù)測的介質(zhì)傳輸圖,本文網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖1 算法流程圖
圖2 本文網(wǎng)絡(luò)結(jié)構(gòu)
首先,尺度1由5個卷積層和一個Concatenate層組成,并且每個卷積層都由3×3×16的卷積核組成,3×3為卷積核的尺寸,16為卷積核的個數(shù)。Concatenate層將第2、3、4層得到的特征圖進(jìn)行連接卷積,能夠減少圖像信息損失。
本文選用參數(shù)修正線性單元(PReLU)作為網(wǎng)絡(luò)結(jié)構(gòu)的激活函數(shù),除去最后一層,其余每個卷積層的末端都接入此激活函數(shù)。
其次,尺度2由4個卷積層和一個Concatenate層組成,第一層卷積層為5×5×16的卷積核,將尺度1得到的較為粗略的傳輸圖連接到尺度2的第二層,進(jìn)行3次卷積,卷積核大小均為3×3×16,輸出得到較為精細(xì)的傳輸圖。
最后,尺度3由3個卷積層和一個Concatenate層組成,第一層卷積層是7×7×16的卷積核,第二層卷積核大小為5×5×16,將尺度2得到的較為精細(xì)的傳輸圖連接到尺度3的第三層,進(jìn)行一次卷積層,卷積核大小為3×3×1,輸出獲得精細(xì)的傳輸圖。
在網(wǎng)絡(luò)訓(xùn)練過程中,使用歐氏距離作為損失函數(shù),用來計算輸入霧天圖像與預(yù)測的介質(zhì)傳輸圖兩者差值的平方和,公式為
(1)
式中:yi表示第i組清晰圖像值;xi表示網(wǎng)絡(luò)結(jié)構(gòu)的第i組輸出值;N為樣本訓(xùn)練數(shù)目。
由1.1部分得到的傳輸圖是較為精細(xì)的,圖像的輪廓信息和結(jié)構(gòu)信息都較為完整。但是預(yù)測的傳輸圖邊緣細(xì)節(jié)不夠明顯,因此,使用引導(dǎo)濾波進(jìn)行優(yōu)化預(yù)測的傳輸圖,將霧天RGB圖像作為引導(dǎo)圖像,假設(shè)濾波輸出圖像qi與引導(dǎo)圖像Ii是線性相關(guān)的,定義函數(shù)為
qi=akIi+bk,?i∈ωk
(2)
式中:i為像素坐標(biāo);ωk為引導(dǎo)圖像Ii中以像素k為中心的鄰域,a,b為窗口ωk內(nèi)的恒定系數(shù),代價函數(shù)為
(3)
使得輸出圖像qi與輸入圖像pi的均方誤差最小,式中,ε是一個正則化參數(shù),用于抑制ak過大。輸出圖像為
(4)
由于引導(dǎo)濾波最大的優(yōu)勢在于,它可以很好地克服雙邊濾波中出現(xiàn)的梯度翻轉(zhuǎn)現(xiàn)象,因為假設(shè)前提便是存在線性關(guān)系,可以保證梯度一致,而對于雙邊濾波而言,對于梯度變化大的地方,由于周圍沒有相似的像素,高斯函數(shù)的權(quán)重不穩(wěn)定,導(dǎo)致最終梯度出現(xiàn)反轉(zhuǎn)現(xiàn)象,且易產(chǎn)生光暈現(xiàn)象。因此,使用引導(dǎo)濾波可以達(dá)到更好的濾波效果。
本節(jié)描述了實驗數(shù)據(jù)的獲取與實驗設(shè)置,并且將文中去霧算法與Meng算法[5], Li算法[6],He算法[7],Zhu算法[9],Ren算法[13]5種算法在合成霧天圖像與自然霧天圖像上的去霧結(jié)果進(jìn)行了主觀視覺和客觀評價指標(biāo)的對比分析。
本文實驗數(shù)據(jù):因為網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練需要收集大量的標(biāo)簽數(shù)據(jù),而現(xiàn)實中大量的霧天圖像和對應(yīng)的清晰圖像是不可用的,因此,我們采用數(shù)據(jù)集Middlebury Stereo Datasets通過大氣散射模型得到的霧天圖像來訓(xùn)練網(wǎng)絡(luò)。為了能夠適應(yīng)不同天氣下的霧濃度,將散射率β隨機(jī)設(shè)置為(0.75,1.5),防止β過大使得傳輸圖接近于0。大氣光值在圖像的光亮區(qū)域取得,隨機(jī)設(shè)置為(0.7,1.0),挑選有霧圖像和無霧圖像4 000對作為訓(xùn)練樣本,600對作為測試樣本。
實驗設(shè)置:利用Caffe框架實現(xiàn)網(wǎng)絡(luò),每層的權(quán)重濾波器均采用均值為0,方差為2/n的高斯分布進(jìn)行隨機(jī)初始化,采用固定的學(xué)習(xí)率,設(shè)置為0.000 01,加快了整個網(wǎng)絡(luò)模型的收斂,并提高了網(wǎng)絡(luò)模型的精度。動量參數(shù)設(shè)置為0.9,迭代次數(shù)為105次,利用隨機(jī)梯度下降法(SGD)和反向傳播算法進(jìn)行網(wǎng)絡(luò)優(yōu)化得到最優(yōu)的網(wǎng)絡(luò)參數(shù)。
為驗證本文算法對合成霧天圖像的去霧效果,下面將本文算法與其他5種算法去霧結(jié)果進(jìn)行了比較。圖3~圖6展示了部分合成霧天圖像去霧結(jié)果的主觀視覺對比,表1~表4為不同算法去霧的評價指標(biāo)的對比結(jié)果。
圖3 霧天圖像Cones采用不同算法去霧效果對比結(jié)果
圖4 霧天圖像Teddy采用不同算法去霧效果對比結(jié)果
圖5 霧天圖像Reindeer采用不同算法去霧效果對比結(jié)果
圖6 霧天圖像Cloth采用不同算法去霧效果對比結(jié)果
為了定量地評價這些方法,使用交叉熵(cross entropy),色調(diào)還原度(tone reduction),信息熵(entropy),平均梯度(average gradient),結(jié)構(gòu)相似度(SSIM)[15]和峰值信噪比(PSNR/dB)[16]重要的圖像評價標(biāo)準(zhǔn)來衡量去霧圖像的質(zhì)量。各個評價指標(biāo)的數(shù)學(xué)公式分別如下。
1) 交叉熵定義:
(5)
式中:p真實標(biāo)記的分布;q則為訓(xùn)練后的模型的預(yù)測標(biāo)記分布,交叉熵?fù)p失函數(shù)可以衡量p與q的相似性。
2) 色調(diào)還原程度:
(6)
式中:L為直方圖矢量的維數(shù);qi和si為歸一化值。
3) 信息熵:
H(X)=E[log2P(X)-1]=
(7)
式中:X表示隨機(jī)變量;P(X)表示輸出概率函數(shù)。變量的不確定性越大,熵也就越大.
4) 平均梯度定義::
(8)
5) SSIM定義:
(9)
6) PSNR定義:
(10)
式中:fin為清晰無霧圖像;fout為去霧圖像。如果PSNR值越大,圖像的失真就越小。這意味著圖像質(zhì)量越高,去霧性能越好。
表1 圖像Cones采用不同算法去霧后評價指標(biāo)結(jié)果
表2 圖像Teddy采用不同算法去霧后評價指標(biāo)結(jié)果
表3 圖像Reindeer采用不同算法去霧后評價指標(biāo)結(jié)果
表4 圖像Cloth采用不同算法去霧后評價指標(biāo)結(jié)果
由以上可知,He算法,Meng算法和Li算法去霧圖像顏色過于飽和,大面積色彩失真,而且物體邊緣產(chǎn)生了嚴(yán)重的光暈現(xiàn)象;Ren算法和Zhu算法去霧圖像信息完整,較為清晰;本文的去霧圖像更加平滑,細(xì)節(jié)和紋理更加明顯,且接近真實清晰圖像。對于6種評價指標(biāo)值,本文算法基本優(yōu)于其他對比算法,因此,無論在主觀視覺還是在客觀評價指標(biāo)上都有良好的表現(xiàn)。
為驗證本文算法基于自然霧天圖像去霧結(jié)果的有效性,下面將本文算法與其他5種算法去霧結(jié)果進(jìn)行了比較。圖7~圖9所示為主觀視覺對比結(jié)果;圖10~圖11為不同算法在信息熵和平均梯度2個評價指標(biāo)方面的對比結(jié)果。
圖7 霧天圖像Tian An Men采用不同算法去霧效果對比結(jié)果
圖8 霧天圖像Girls采用不同算法去霧效果對比結(jié)果
圖9 霧天圖像Pumpkin采用不同算法去霧效果對比結(jié)果
圖10 不同算法的平均梯度的對比結(jié)果
圖11 不同算法的信息熵的對比結(jié)果
由圖7~圖11可看出,He算法,Meng算法與Li算法高估了霧霾的厚度,出現(xiàn)了過度增強(qiáng)的區(qū)域,恢復(fù)的圖像顏色存在失真情況,光暈現(xiàn)象明顯,如圖Tian An Men,天空區(qū)域顏色分別變成了黃色,紫色和淡黃色(彩圖見電子版);Zhu算法與Ren算法的結(jié)果在天空區(qū)域都有顯著改善,但在稠密的霧霾區(qū)域仍有一些殘留的霧霾。因為卷積神經(jīng)網(wǎng)絡(luò)中的塊屬性可以在網(wǎng)絡(luò)結(jié)構(gòu)的隱藏層中學(xué)習(xí),它有助于在天空中達(dá)到良好的去霧效果,因此,本文方法去霧結(jié)果具有良好的對比度和生動的色彩,提高了圖像的可見性,并且評價指標(biāo)值都相對較高,表明本文去霧算法的效果較為優(yōu)越。
提出了一種基于全卷積神經(jīng)網(wǎng)絡(luò)的圖像去霧算法。全卷積神經(jīng)網(wǎng)絡(luò)由3個尺度的卷積網(wǎng)絡(luò)結(jié)構(gòu)生成預(yù)測的介質(zhì)傳輸圖,經(jīng)過引導(dǎo)濾波后可以得到精細(xì)的傳輸圖,由暗原色先驗原理估計出大氣光值,最后,根據(jù)大氣散射模型從霧的物理特性上恢復(fù)出無霧圖像。實驗結(jié)果表明,由該算法得到的介質(zhì)傳輸圖恢復(fù)出的去霧圖像具有更好的視覺效果,邊緣信息得到了更好的保留,清晰度、對比度與細(xì)節(jié)信息均優(yōu)于其他對比算法。