于 萍,郭 鑫,王 巖,周 研,司振惠
(吉林師范大學 計算機學院,吉林 四平 136000)
隨著科技進步,計算機被運用到許多領(lǐng)域中[1-3],而因現(xiàn)代工農(nóng)業(yè)的迅猛發(fā)展,惡劣天氣頻發(fā),人們對景物的拍攝與觀察受到嚴重影響.例如,2019年澳大利亞的叢林大火,悉尼和墨爾本等地均出現(xiàn)了濃煙和霧霾天氣,由于人們拍攝的照片無法清晰地呈現(xiàn)景象,給救援任務(wù)和新聞報道工作帶來了極大的挑戰(zhàn),由此圖像去霧受到科研工作者的重視,成為了近幾年的研究熱點.
圖像去霧算法大致可被歸納為四類:通過物理公式實現(xiàn)的圖像去霧算法、基于色彩增強的圖像去霧算法[4-6]、基于神經(jīng)網(wǎng)絡(luò)的圖像去霧算法[6-9]和基于圖像融合的圖像去霧算法[10-12].其中,基于物理公式的圖像去霧算法通過考慮霧霾的成因,并對成因進行建模實現(xiàn)對圖像去霧,效果良好.M.H.Kai等[13]提出的暗通道先驗理論,通過粗略估計透射率,引導濾波[14]進一步優(yōu)化、以暗通道圖像獲取大氣光值實現(xiàn)去霧;蔣建國等[15]針對暗通道先驗理論[13]估計透射率及大氣光不準確的問題,在其基礎(chǔ)上引入容差值對透射率進行重新估計,使用容差值K判斷圖像明亮區(qū)域并對明亮區(qū)域的透射率進行優(yōu)化,從而避免暗通道先驗理論在明亮區(qū)域不成立的問題;黃小芬等[16]通過瑞利散射優(yōu)化大氣光值的選取,使大氣光值進一步優(yōu)化;孫啟隆等[17]通過將暗通道先驗理論[13]與圖像增強算法相結(jié)合,實現(xiàn)了沙塵圖像增強.
上述算法從不同角度實現(xiàn)了圖像去霧,但明亮區(qū)域仍有時存在光暈現(xiàn)象、亮度不佳等情況.為解決上述問題,本文采取引導濾波與二值分割法優(yōu)化大氣光值的選取,將容差值改為定值后優(yōu)化透射率,進行去霧.經(jīng)過對比實驗驗證,本文處理得到的圖像綜合質(zhì)量高,且亮度更佳.
大氣散射模型,一般用于解釋物體的成像原理,即
I(x)=J(x)t(x)+A(1-t(x)).
其中:I(x)代表原始有霧圖像;J(x)為清晰的無霧圖像;A代表全局大氣光值;t(x)表示的是圖像透射率.該公式是大部分基于物理公式實現(xiàn)圖像去霧算法的基礎(chǔ)理論體系.由于公式中同時存在三個未知變量,因此利用原始有霧圖像準確估計大氣光值與透射率,是基于物理公式實現(xiàn)圖像去霧算法能否高效恢復出清晰圖像的關(guān)鍵所在,也是探索該領(lǐng)域的難題之一.
M.H.Kai等[13]為解決大氣散射模型中存在三個未知數(shù)的問題,提出暗通道圖像的概念.他觀察大量戶外無霧圖像,發(fā)現(xiàn)圖像中的非明亮區(qū)域中總存在一些像素值趨近于零的像素點.將這些像素點拼接成整體像素值接近于零的新圖像,即暗通道圖像.M.H.Kai等[13]通過選取圖像中最亮的0.1%的點作為全局大氣光,經(jīng)過等式變化,可得到
其中引入?yún)?shù)ω的意義在于,即使在晴空萬里的天氣條件下,空氣中也難免存在小部分空氣粒子與入射光線發(fā)生交互作用,為使圖像自然,參數(shù)ω取值0.95[13].
獲取到A與T(x)后便可實現(xiàn)去霧,具體公式為
為避免透射率出現(xiàn)零的情況,引入了參數(shù)t0,其取值為0.1.
為避免常規(guī)算法在明亮區(qū)域出現(xiàn)光暈現(xiàn)象、圖像整體亮度不佳等問題,本文算法通過改進二值分割法,以引導濾波和改進后的二值分割將圖像對大氣光值進行優(yōu)化,通過二值分割得到引導濾波優(yōu)化后的明亮區(qū)域IFL和非明亮區(qū)域IFD,求取大氣光值A(chǔ)L和AD;以兩個區(qū)域的大氣光值A(chǔ)L和AD求取全局大氣光值A(chǔ)M,然后估計全局透射率T(x);通過改進后的二值分割法將原始有霧圖像I分割為明亮區(qū)域IL,非明亮區(qū)域ID;為減少算法復雜度,對蔣的容差值K[15]進一步優(yōu)化,將容差值取為定值后優(yōu)化明亮區(qū)域得粗略透射率T(x),進行相應(yīng)區(qū)域去霧,得到修復圖像JR;通過YUV通道進行降低亮度,再與原始有霧圖像進行加權(quán)融合得出最終的清晰圖像J,本文流程圖如圖1所示.
2.2.1 二值圖像分割法
常規(guī)的圖像分割法會保留一定的像素值,需要采用設(shè)定閾值進行判斷,這也使所劃分的明亮區(qū)域出現(xiàn)極大的誤差,且操作復雜.而在二值圖像分割圖像中,像素值非1即0,判斷難度降低,劃分出的明亮區(qū)域更加準確,且操作方法簡單,因此,選用二值分割檢測圖像中的明亮區(qū)域與非明亮區(qū)域.在將彩色圖像處理成二值圖像的時候,會根據(jù)彩色圖像整體像素值評定一個標準值δ,高于標準δ的像素值歸為1,即明亮區(qū)域;低于標準δ的像素值歸為0,即為非明亮區(qū)域.為使劃分區(qū)域更為準確,經(jīng)過多次實驗發(fā)現(xiàn),在標準值δ基礎(chǔ)上加0.2會使分割出的圖像更加合理,極大程度上減少了色差問題出現(xiàn)的概率,具體公式如下:
其中:i,j是兩幅圖像的橫縱坐標;I為原始有霧圖像;IF為平滑圖像;IL,IFL為分別為兩幅圖像的明亮區(qū)域;ID,IFD為兩幅圖像的非明亮區(qū)域;δ為標準值.
為證明引入標準值的必要性,觀察圖2.圖2為引入標準值前后分割對比圖像,圖2(A)中的明亮區(qū)域較多,通過引入標準值處理,圖2 (B)中的明亮區(qū)域明顯變小,尤其是左下角及右上角區(qū)域.在對原始有霧圖像的分割處理中,圖2(C)中顯示,非天空區(qū)域的明亮部分被篩選到天空區(qū)域,而在引入標準值后,即圖2(D)明亮區(qū)域范圍變小,使得樹木部分的細節(jié)更加突出,為進一步提高圖像清晰度,避免出現(xiàn)光暈現(xiàn)象提供了可能.
(A)未引入標準值平滑圖像分割;(B)引入標準值平滑圖像分割;(C)未引入標準值原始有霧圖像分割;(D)引入標準值原始有霧圖像分割
2.2.1 大氣光值
暗通道先驗理論[13]選取的大氣光值會導致選取的大氣光值有偏大的可能性,這直接導致了圖像偏暗、圖像色彩飽和度偏高的問題.針對此問題,本文用引導濾波[14]實現(xiàn)原始有霧圖像的模糊化,減弱噪聲影響,相對減少極亮點的像素值,有效避免了處理后的清晰圖像明亮區(qū)域和非明亮區(qū)域的界限過于明顯與選取的大氣光值過大的問題.通過二值圖像分割法將平滑圖像分割出明亮區(qū)域IFL和非明亮區(qū)域IFD,以兩區(qū)域前0.1%像素點的平均值作為相應(yīng)大氣光值,公式為
其中:AL為明亮區(qū)域的大氣光值;AD為非明亮區(qū)域的大氣光值;mean()函數(shù)為均值函數(shù);max0.1%()函數(shù)為取圖中前0.1%像素點的函數(shù).
圖3是平滑圖像分割及明亮區(qū)域?qū)Ρ葓D.其中,圖3(A)為原始有霧圖像,圖3(B)為平滑圖像,通過對比可以看出,平滑后的圖像極亮點的大小被降低,但其相對梯度保持不變;圖3(C)為平滑圖像的二值分割圖像,雖然由于平滑舍去了部分天空區(qū)域,但所選取的明亮區(qū)域都來自于天空,避免了非天空區(qū)域明亮區(qū)域的干擾;圖3(D)和圖3(E)分別為平滑圖像的非明亮區(qū)域和明亮區(qū)域,兩幅圖進一步驗證了選取天空區(qū)域的準確性;圖3(E)和圖3(F)分別為平滑圖像和原始有霧圖像的明亮區(qū)域,通過對比可以發(fā)現(xiàn),圖3(E)將圖3(F)中的汽車和地面等非天空區(qū)域的明亮區(qū)域過濾,保留的部分全部為天空區(qū)域,避免了干擾,進一步證明了引導濾波的必要性.
(A)原始有霧圖像;(B)平滑圖像;(C)平滑圖像的二值圖像;(D)平滑圖像的非明亮區(qū)域;(E)平滑圖像的明亮區(qū)域;(F)原始有霧圖像的明亮區(qū)域
暗通道先驗理論[13]在明亮區(qū)域存在弊端,即估計的透射率不夠準確,易出現(xiàn)光暈現(xiàn)象.本文算法針對此問題,同時也為避免算法在明亮區(qū)域與非明亮區(qū)域出現(xiàn)色差問題,將明亮區(qū)域的大氣光值A(chǔ)L與非明亮區(qū)域的大氣光值A(chǔ)D做平均值,記為AM,通過AM估計全局透射率T(x),公式為
其中:AM為均值大氣光值;AL和AD分別為明亮區(qū)域和非明亮區(qū)域的大氣光值;mean()函數(shù)為均值函數(shù);x,y為像素點;i,j為相應(yīng)的橫縱坐標值;C為三個通道中的任意一個相應(yīng)的通道值;Ω為以x像素為中心的過濾窗口.
在得到明亮區(qū)域大氣光值A(chǔ)L、非明亮區(qū)域大氣光值A(chǔ)D與全局透射率T(x)后,將原始有霧圖像以二值圖像分割法分為明亮區(qū)域與非明亮區(qū)域,用AD和T(x)修復原始有霧圖像的非明亮區(qū)域.為避免天空處出現(xiàn)光暈現(xiàn)象,引入容差值K[15]進行部分霧氣的保留,優(yōu)化明亮區(qū)域的T(x),避免光暈現(xiàn)象產(chǎn)生.
由于蔣建國等[15]依靠容差值K在算法中判斷原始有霧圖像的明亮區(qū)域,當圖像改變時,需要對容差值手動重新選取,加大了算法復雜度.而本文中通過二值分割法判斷原始有霧圖像的明亮區(qū)域,容差值僅起到優(yōu)化透射率的作用,算法不再依靠容差值尋找明亮區(qū)域,所以無需隨著清晰圖像的改變做出改變,取定值0.5即可,不僅保證圖像質(zhì)量進一步提升,且減少了算法負責度.得到優(yōu)化后的透射率T(x)后與AL對原始有霧圖像明亮區(qū)域進行修復處理,公式為
其中:i,j為圖像的橫縱坐標;JR為修復圖像;I為原始有霧圖像;IL,ID分別代表原始有霧圖像的明亮區(qū)域和非明亮區(qū)域;AL為明亮區(qū)域的大氣光值;AD為非明亮區(qū)域的大氣光值;T(i,j)為坐標為(i,j)處的透射率;K為容差值.
圖4為原始有霧圖像的分割圖及修復圖像.圖4(A)為原始有霧圖像,圖4(B)和圖4(C)分別為原始有霧圖像的非明亮區(qū)域ID與明亮區(qū)域IL,通過對比可以看出,二值分割能夠很好地進行明亮區(qū)域的劃分,圖4(D)是修復后的圖像JR、通過與圖4(A)進行對比,可以看到,原始有霧圖像中的霧被有效去除,右側(cè)的楓樹,地面的植被和道路等區(qū)域的顏色還原度較高,清晰度良好.
(A)原始有霧圖像;(B)原始有霧圖像非明亮區(qū)域;(C)原始有霧圖像明亮圖像;(D)修復圖像
在YUV顏色空間中,Y代表圖像的明亮度,即圖像的灰度圖像,U,V代表圖像的顏色色度[18].
圖5為YUV顏色通道優(yōu)化圖像亮度對比圖,圖5(A)為原始有霧圖像去霧后的效果,可以看出,圖像整體偏亮,如圖像下方紅框中的道路,整體偏白,將圖5(A)在YUV顏色通道中調(diào)節(jié)亮度后的效果如圖5(B)所示,通過對比可以看出,圖像亮度降低,紅框內(nèi)的馬路更加自然.由于在后期的加權(quán)融合過程中,原始有霧圖像的引入將大幅提升圖像整體的亮度,因此有針對性的降低參與融合圖像的亮度是十分必要的.
(A)修復圖像;(B)YUV通道優(yōu)化亮度
加權(quán)融合的公式為D=λB+C.其中:B為原始有霧圖像;C為清晰圖像;D為融合圖像;λ為融合系數(shù).本文算法中,既要考慮保留原始有霧圖像的細節(jié),又要考慮原始有霧圖像存在霧的影響,因此,λ的取值小于1.圖6為圖像融合效果圖.圖6(A)為YUV顏色通道優(yōu)化后的清晰圖像,可以看出在天空與樹的連接處有著明顯的輪廓,將圖6(A)與原始有霧圖像融合后的效果顯示在圖6(B)中,輪廓邊緣被淡化,圖像整體更加自然,本文融合系數(shù)λ為0.2.
(A)YUV通道優(yōu)化亮度;(B)融合圖像后效果
本文實驗在64位操作系統(tǒng)的普通PC機上進行,實驗環(huán)境為:系統(tǒng)內(nèi)存為8 GB、處理器為Intel(R) Core(TM) i7-6700 CPU @ 3.40 GHz 3.40 GHz,算法運行的軟件為Matlab2016.
為驗證本文算法的優(yōu)勢,本文算法與文獻[10,16-18]從主觀視覺的效果和客觀參數(shù)評價兩方面進行比較,實驗中選取的圖像主要來源于網(wǎng)絡(luò).主觀視覺的效果對比為圖7—9所示.
(A)原始有霧圖像;(B)文獻[13]圖像;(C)文獻[19]圖像;(D)文獻[20]圖像;(E)文獻[21]圖像;(F)本文算法圖像
(A)原始有霧圖像;(B)文獻[13]圖像;(C)文獻[19]圖像;(D)文獻[20]圖像;(E)文獻[21]圖像;(F)本文算法圖像
(A)原始有霧圖像;(B)文獻[13]圖像;(C)文獻[19]圖像;(D)文獻[20]圖像;(E)文獻[21]圖像;(F)本文算法圖像
由圖7可見,文獻[13]算法獲得的圖像色彩過深,且圖像亮度過暗,在天空右側(cè)樹枝處出現(xiàn)了較明顯的光暈現(xiàn)象;文獻[19]算法增強后的圖像中,馬路、石階上被引入大量噪聲,圖像整體被過度增強;文獻[20]算法增強后的圖像中,樹枝的顏色飽和度偏大,樹枝顯得有些突兀;文獻[21]算法增強后的圖像,屏幕左側(cè)近端的樹枝部分被過度增強,已出現(xiàn)圖像部分失真的現(xiàn)象;本文算法所處理的圖像,整體亮度相比于其他算法表現(xiàn)良好,色彩恢復度較理想,圖像左右兩側(cè)的綠色草叢與黃色地表,對比明顯,圖像右側(cè)的楓樹顏色恢復程度遠優(yōu)于其他算法,汽車處的對比度較好.
由圖8可見,文獻[13]算法增強后的圖像整體顏色較深、亮度偏暗,圖像右上角的天空云彩部分出現(xiàn)了明顯的顏色失真現(xiàn)象;文獻[19]算法增強后的圖像,中間山體部分的部分區(qū)域顏色發(fā)白,引入噪聲過多,圖像效果增強過度;文獻[20]算法獲得的圖像整體亮度表現(xiàn)不佳,天空右側(cè)區(qū)域的云彩出現(xiàn)光暈現(xiàn)象;文獻[21]算法增強后的圖像整體顏色偏紅,右邊的房子變成了深藍色,山體中間區(qū)域變成了紅色,顏色失真明顯,人形處和其附近的茅屋、山體顏色過度飽和;本文算法獲得的圖像天空色彩鮮艷,山體部分、茅屋和右側(cè)房屋顏色自然,圖像亮度適中,圖像細節(jié)部分處保存良好.
由圖9可見,文獻[13]算法增強后的圖像,天空出現(xiàn)明顯光暈現(xiàn)象,圖像整體亮度過低,景深過大,色彩飽和度過高,山體部分的細節(jié)已無法分辯,遠處雪山部分的夕陽被嚴重放大,影響了雪山原本的顏色;文獻[19]算法增強后的圖像,近處的山峰部分被引入噪聲,使山峰部分色彩發(fā)白,較遠處的山峰與近處的山峰交界處去霧不徹底,邊界突兀;文獻[20]算法增強后的圖像也過度放大了遠處雪山上的夕陽,圖像整體色調(diào)不和諧;文獻[21]算法增強后的圖像,圖像整體偏暗,近處的山峰處色彩飽和度被過度增強,影響了視覺效果.本文算法增強后的圖像如圖9(F)所示,從圖中可以觀察到,圖像色彩自然,遠處山峰與天空,遠處山峰與近處山峰的邊界處清晰自然,在天空處保留了原始有霧圖像的顏色,效果更接近于原始有霧圖像,去霧后的圖像效果更佳.
本文主要通過峰值信噪比(Peak Signal-To-Noise Ratio,PSNR)、結(jié)構(gòu)相似度(Structural Similarity,SSIM)、像素平均值(Average,AVE)及通用質(zhì)量指標(Universal Quality Index,UQI)四個參數(shù)進行評估.PSNR表示圖像的失真程度,PSNR的值越大,說明圖像的失真程度越??;SSIM根據(jù)亮度、對比度和圖像結(jié)構(gòu)三方面計算相似程度,其值越大,說明圖像的相似程度越高;AVE代表圖像像素值的均值,其值越大,說明圖像的亮度越好;UQI根據(jù)圖像綜合相關(guān)性損失、亮度失真和對比失真度設(shè)計出的客觀參數(shù),其值越高,說明圖像綜合素質(zhì)越高.
圖7—9的客觀評價參數(shù)結(jié)果列于表1—3.
表1 圖7的客觀評價參數(shù)
表2 圖8的客觀評價參數(shù)
表3 圖9的客觀評價參數(shù)
空氣中的霧通常會減弱拍攝圖像的對比度與色彩飽和度,使人很難清晰分辯圖像中的目標.大多的算法往往存在著圖像亮度表現(xiàn)不佳、景深過大及天空處存在光暈等問題.本文算法一是利用引導濾波平滑圖像,再用二值圖分割法分割平滑圖像,選取大氣光值,其中引導濾波解決了圖像亮點干擾、因二值圖分割法所產(chǎn)生的區(qū)域邊緣對比度過大等問題,二值圖分割法則選取了更為準確的區(qū)域大氣光值;二是為使圖像的透射率更加貼近圖像整體,以兩個區(qū)域的大氣光值的平均值估計圖像透射率,所估計的透射率更適合全局圖像;三是通過二值圖分割法對原始有霧圖像分割,以定值容差K對明亮區(qū)域粗略透射率進行優(yōu)化,進行明亮區(qū)域和非明亮區(qū)域的去霧修復;四是通過YUV和加權(quán)融合算法做最后的優(yōu)化.本文算法獲取的清晰圖像,就主觀觀察,顏色鮮艷,圖像亮度良好,且避免了光暈的出現(xiàn);就客觀參數(shù)來看,算法比其他算法的參數(shù)略高,圖像質(zhì)量高于其他算法,體現(xiàn)出了本文算法的可行性與有效性.