金仙力,張威,劉林峰
(南京郵電大學(xué)計(jì)算機(jī)學(xué)院,江蘇 南京 210023)
近年來(lái),計(jì)算機(jī)視覺(jué)系統(tǒng)在智能駕駛、人臉識(shí)別、交通檢測(cè)等領(lǐng)域已得到廣泛應(yīng)用。然而,霧霾天氣下得到的圖像往往會(huì)出現(xiàn)對(duì)比度下降、色彩失真、可視性下降和細(xì)節(jié)模糊等圖像降質(zhì)問(wèn)題。圖像降質(zhì)對(duì)計(jì)算機(jī)視覺(jué)系統(tǒng)的目標(biāo)識(shí)別和特征提取等后期處理過(guò)程產(chǎn)生了極大影響。因此,對(duì)圖像進(jìn)行有效的去霧具有重要的研究?jī)r(jià)值。
在霧霾天氣下,受到大氣中雜質(zhì)分子的影響,拍攝圖像存在嚴(yán)重的降質(zhì)現(xiàn)象,許多細(xì)節(jié)信息丟失,這種現(xiàn)象在景深較大區(qū)域尤其明顯。如圖1(a)所示,近景處水面上的鵝雖然也變得模糊,但是相對(duì)來(lái)說(shuō)可以看清,而景深處人物和樹(shù)木則幾乎完全被霧霾掩蓋。經(jīng)過(guò)對(duì)大量帶霧圖像的灰度直方圖進(jìn)行研究,如圖1(b)所示,其中,縱坐標(biāo)表示灰度值,橫坐標(biāo)表示灰度值對(duì)應(yīng)的像素點(diǎn)的個(gè)數(shù)。相較于晴朗天氣下拍攝的圖像,霧霾天氣拍攝的圖像灰度值分布集中,這說(shuō)明霧霾天氣拍攝的圖像的大量有效信息丟失,且圖像的色彩會(huì)變得不夠豐富。
圖1 霧霾天氣拍攝的圖像及其灰度直方圖
當(dāng)前主流去霧算法可分為兩類(lèi),一類(lèi)是基于非物理模型的去霧算法,另一類(lèi)是基于物理模型的去霧算法。常見(jiàn)的基于非物理模型的去霧算法,有全局、局部直方圖均衡化算法[1]以及基于Retinex 原理[2]的去霧算法,此類(lèi)基于非物理模型的去霧算法均是從帶霧圖像本身出發(fā),并沒(méi)有分析霧霾天氣下圖像出現(xiàn)退化的原因,因此在去霧的過(guò)程中,圖像會(huì)損失大量細(xì)節(jié)信息[3],同時(shí)存在對(duì)比度降低等問(wèn)題[4]?;谖锢砟P偷娜レF算法對(duì)霧霾天氣圖像降質(zhì)的原因進(jìn)行分析并建立數(shù)學(xué)模型,據(jù)此復(fù)原出無(wú)霧圖像,此類(lèi)方法不易出現(xiàn)圖像信息丟失的現(xiàn)象,復(fù)原圖像更加接近真實(shí)圖像[5]。已有多種基于多幅圖像的去霧算法被提出[6-8],但是這類(lèi)方法需要多幅圖像處在單一場(chǎng)景下,所以在實(shí)際應(yīng)用中效果欠佳且穩(wěn)健性較差。文獻(xiàn)[9]根據(jù)無(wú)霧圖像比有霧圖像有較大對(duì)比度這一先驗(yàn)條件來(lái)完成圖像去霧處理,但該方法復(fù)原出的圖像的局部區(qū)域會(huì)出現(xiàn)過(guò)飽和問(wèn)題。文獻(xiàn)[10]假設(shè)場(chǎng)景物體表面遮光部分與局部透射率不相關(guān),并以此來(lái)估計(jì)透射率。但該方法處理濃霧時(shí)通常會(huì)出現(xiàn)失真現(xiàn)象。文獻(xiàn)[11]通過(guò)假設(shè)大氣耗散函數(shù)在某區(qū)域與最大值相近來(lái)完成圖像去霧,但該方法在景深突變區(qū)域去霧能力較差。文獻(xiàn)[12]提出了基于暗通道先驗(yàn)的圖像去霧算法,該方法效率較低且在天空等明亮區(qū)域去霧后會(huì)出現(xiàn)失真。此外,研究人員還提出了暗通道去霧的改進(jìn)算法。文獻(xiàn)[13]引入了一種容差機(jī)制來(lái)解決復(fù)原圖像天空失真的問(wèn)題,但是該方法存在非明亮區(qū)域的誤補(bǔ)償以及過(guò)度補(bǔ)償?shù)葐?wèn)題。文獻(xiàn)[14]提出了引導(dǎo)濾波來(lái)解決去霧圖像邊緣細(xì)節(jié)保持不夠充分的問(wèn)題,該方法雖然提高了去霧算法的效率,但去霧后圖像在天空區(qū)域仍存在失真現(xiàn)象。此外,文獻(xiàn)[15]根據(jù)天空區(qū)域的像素特點(diǎn)對(duì)天空區(qū)域進(jìn)行識(shí)別提取,調(diào)整了天空區(qū)域的透射率,該方法耗時(shí)較長(zhǎng),且會(huì)出現(xiàn)天空區(qū)域誤分割的情況。文獻(xiàn)[16]定義了雙透射率水下成像模型,在拓展暗通道算法應(yīng)用場(chǎng)景的同時(shí)增強(qiáng)了算法的穩(wěn)健性。文獻(xiàn)[17]基于大氣散射模型和卷積神經(jīng)網(wǎng)絡(luò),提出了AOD-Net(all-in-one dehazing network)模型,通過(guò)輕量級(jí)的卷積神經(jīng)網(wǎng)絡(luò)直接生成清晰圖像。文獻(xiàn)[18]根據(jù)McMs-CNN(multi-channel multi-scale convolutional neural network)生成暗通道中估計(jì)場(chǎng)景的傳輸率,從而實(shí)現(xiàn)對(duì)單幅圖像的去霧。此外,一種端到端的對(duì)抗生成網(wǎng)絡(luò)算法也被提出用于單幅圖像去霧[19],該方法也是直接復(fù)原圖像而不考慮透射率的計(jì)算等問(wèn)題。文獻(xiàn)[20]提出了一種可訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)用于對(duì)圖像進(jìn)行去霧,相較于手工預(yù)處理,該方法能取得更好的效果,同時(shí)在一定程度上緩解了常規(guī)多尺度方法遇到的問(wèn)題,減少了復(fù)原圖像的偽影現(xiàn)象。文獻(xiàn)[21]基于卷積神經(jīng)網(wǎng)絡(luò),通過(guò)比較器完成對(duì)透射率的估計(jì),但對(duì)環(huán)境光值的估計(jì)存在偏差。此類(lèi)基于深度學(xué)習(xí)的方法往往需要大量數(shù)據(jù)的支持,且難以在不同數(shù)據(jù)的泛化性上保證效果。此外,圖像去霧算法已經(jīng)應(yīng)用于多個(gè)實(shí)際場(chǎng)景中[22-23]。
針對(duì)上述問(wèn)題,本文提出一種基于引導(dǎo)濾波和自適應(yīng)容差的圖像去霧算法(IDAFT,image defogging algorithm based on guided filtering and adaptive tolerance)。引導(dǎo)濾波器是快速的邊緣保持濾波器之一,可以使輸出圖像與引導(dǎo)圖像的邊緣保持一致,因此其可以用于代替軟摳圖來(lái)降低算法的時(shí)間復(fù)雜度。自適應(yīng)容差能夠根據(jù)圖像天空區(qū)域的大小確定不同的容差參數(shù),解決了引導(dǎo)濾波不能解決的天空區(qū)域去霧后的失真問(wèn)題,修正該類(lèi)區(qū)域的透射率值,得到更加準(zhǔn)確的透射率,從而復(fù)原出更加優(yōu)質(zhì)的去霧圖像。首先,通過(guò)求取不同尺寸鄰域窗口的暗通道圖和透射率圖,對(duì)兩幅透射率圖進(jìn)行線性擬合,得到相對(duì)準(zhǔn)確的透射率圖。然后,利用引導(dǎo)濾波,將帶霧圖像的灰度圖作為引導(dǎo)圖像,對(duì)透射率進(jìn)一步細(xì)化。此外,為了解決復(fù)原圖像的天空等區(qū)域的失真問(wèn)題,提出一種自適應(yīng)容差機(jī)制,對(duì)這些區(qū)域的透射率進(jìn)行修正,使此類(lèi)區(qū)域的透射率更加準(zhǔn)確。最后,將圖像從RGB 顏色空間轉(zhuǎn)換到HSV顏色空間,對(duì)圖像的亮度和對(duì)比度進(jìn)行補(bǔ)償,最終轉(zhuǎn)換到RGB 顏色模型完成圖像復(fù)原。
大氣散射模型被廣泛應(yīng)用于圖像去霧領(lǐng)域[12],簡(jiǎn)化后的大氣散射模型可用于描述霧霾天氣圖像成因,具體如式(1)所示。
其中,I(x)和J(x)分別表示帶霧圖像和無(wú)霧圖像;t(x)表示透射率;A表示大氣光值;J(x)t(x)表示直接衰減項(xiàng),可描述為光線在透射介質(zhì)中的輻射和衰減;表示環(huán)境光成像,是大氣散射現(xiàn)象的結(jié)果?;谠撐锢砟P偷膱D像去霧工作實(shí)際上是根據(jù)已知的帶霧圖像I(x)以及強(qiáng)力的先驗(yàn)知識(shí)或假設(shè)條件,得出A和t(x),進(jìn)而復(fù)原出J(x)的過(guò)程。
暗通道先驗(yàn)可描述為在絕大多數(shù)非天空局部區(qū)域內(nèi),某些像素總會(huì)有至少一個(gè)顏色通道具有很低的值。其數(shù)學(xué)表述為
其中,Jdark為暗通道,Ω(x)為以x像素為中心的方形鄰域窗口,Jc為帶霧圖像J的R、G 和B 這3個(gè)顏色通道。由暗通道先驗(yàn)理論可知,在非天空區(qū)域Jdark一般很小,甚至趨近于0。
在假設(shè)A已知的情況下,對(duì)式(1)進(jìn)行變換可得
其中,θ取值范圍為(0,1)。
將暗通道圖中所有像素按亮度大小進(jìn)行排序,選取亮度最大的前0.1%的像素點(diǎn),在帶霧圖像中找到對(duì)應(yīng)的像素點(diǎn),將亮度最大的像素點(diǎn)取出,作為大氣光值A(chǔ)。
根據(jù)式(1)復(fù)原出無(wú)霧圖像。在圖像去霧過(guò)程中,為了防止t(x)趨近于0 導(dǎo)致復(fù)原圖像整體白場(chǎng)過(guò)度,為透射率設(shè)定一個(gè)下限值t0=0.1,最終得到復(fù)原圖像為
暗通道算法中窗口大小的選取對(duì)結(jié)果有重要的影響,文獻(xiàn)[12]對(duì)去霧圖像進(jìn)行了統(tǒng)一尺寸處理,然后選取固定的鄰域窗口。在實(shí)際應(yīng)用中,往往要處理尺寸各異的圖像。一方面,如果選取的鄰域窗口過(guò)大,那么窗口中出現(xiàn)暗通道的概率較大,但是在景深突變區(qū),得到的暗通道和透射率圖存在塊效應(yīng),使復(fù)原圖像存在白邊缺陷。另一方面,如果選取的鄰域窗口過(guò)小,則會(huì)因?yàn)檩^多區(qū)域不存在暗通道使復(fù)原圖像出現(xiàn)色彩偏移。
此外,在暗通道算法中引入軟摳圖對(duì)透射率進(jìn)行細(xì)化,雖然去霧圖像白邊缺陷得到了較好的解決,但是因?yàn)檐洆笀D要涉及大型矩陣的計(jì)算,因此算法效率低下。
在天空等明亮區(qū)域中,像素點(diǎn)的3 個(gè)通道值都很大,不存在暗通道,此時(shí)根據(jù)式(3)計(jì)算像素點(diǎn)的真實(shí)透射率,且有,這就導(dǎo)致此類(lèi)區(qū)域真實(shí)透射率大于計(jì)算所得透射率。因?yàn)橥干渎实腻e(cuò)誤估計(jì),導(dǎo)致復(fù)原后的這些區(qū)域出現(xiàn)失真現(xiàn)象,如圖2 所示。這嚴(yán)重影響了復(fù)原圖像的視覺(jué)效果。此外,暗通道算法去霧后的復(fù)原圖像還存在整體偏暗的問(wèn)題。
圖2 暗通道算法去霧后天空區(qū)域失真現(xiàn)象
本節(jié)提出一種基于引導(dǎo)濾波和自適應(yīng)容差的圖像去霧算法,首先利用雙窗口擬合和引導(dǎo)濾波得到細(xì)化的透射率,然后利用自適應(yīng)容差的方法修正天空等區(qū)域的透射率,最后基于HSV 顏色模型對(duì)圖像亮度和對(duì)比度進(jìn)行調(diào)整,得到最終的復(fù)原圖像。
在暗通道去霧算法中,計(jì)算暗通道圖時(shí)鄰域窗口大小的選取對(duì)圖像去霧的效果有著重要影響。本文采用一種雙窗口分別求取初始透射率,隨后進(jìn)行線性擬合的方法。首先分別選取15×15 和3×3 這2種尺寸大小的鄰域窗口,根據(jù)式(2)分別求取2 種窗口對(duì)應(yīng)的暗通道圖。然后根據(jù)式(4)分別得到鄰域窗口為15×15 和3×3 的透射率t15(x)和t3(x)。最后由式(6)對(duì)2 幅透射率圖進(jìn)行線性擬合得到透射率t(x)。
其中,γ為調(diào)節(jié)因子,本文設(shè)置γ=0.5。
未擬合和擬合后的透射率結(jié)果如圖3 所示。
圖3 不同情況下的透射率結(jié)果
IDAFT與暗通道先驗(yàn)算法求取大氣光值A(chǔ)的方法類(lèi)似,求取鄰域窗口大小為15×15 的暗通道圖,選取亮度最大的前0.1%的像素點(diǎn),在帶霧圖像中找到對(duì)應(yīng)的像素點(diǎn)。不同的是IDAFT 將這前0.1%的像素點(diǎn)的每個(gè)顏色通道的平均值作為大氣光值A(chǔ),取平均值是為了避免小面積白色非天空區(qū)域的影響,使取得的大氣光值A(chǔ)能夠更加趨近于真實(shí)值。
雖然線性擬合得到的透射率相較于單一窗口的穩(wěn)健性得到了提高,但是在邊緣細(xì)節(jié)保持方面仍然顯得不足,且算法復(fù)雜度仍然較高,為了解決此問(wèn)題,IDAFT 采用引導(dǎo)濾波對(duì)透射率進(jìn)行細(xì)化。
引導(dǎo)濾波假設(shè)引導(dǎo)圖像I和輸出圖像q在以像素k為中心的方形窗口區(qū)域ωk內(nèi)存在局部線性關(guān)系,即
由式(7)可知,q與I的梯度呈線性關(guān)系。在窗口ωk中代價(jià)函數(shù)可表示為
其中,ε為正則化參數(shù),用于避免線性系數(shù)ak過(guò)大。ak和bk可以通過(guò)線性回歸求解代價(jià)函數(shù)得到,即
IDAFT 將帶霧圖像的灰度圖作為引導(dǎo)濾波的引導(dǎo)圖像,通過(guò)引導(dǎo)濾波得到細(xì)化后的圖像透射率。圖4 為引導(dǎo)濾波細(xì)化后的透射率結(jié)果。
圖4 引導(dǎo)濾波細(xì)化后的透射率結(jié)果
為了解決圖像去霧后天空區(qū)域出現(xiàn)失真的問(wèn)題,在處理天空等明亮區(qū)域時(shí),提出一種自適應(yīng)容差機(jī)制,使容差參數(shù)能夠根據(jù)圖像包含天空等區(qū)域的大小來(lái)自適應(yīng)地進(jìn)行取值,這樣使天空等明亮區(qū)域的透射率得到修正,而對(duì)于其他區(qū)域則保持原來(lái)的透射率。這種自適應(yīng)調(diào)節(jié)機(jī)制既能夠保證去霧后天空等明亮區(qū)域不會(huì)出現(xiàn)失真,也不會(huì)使大量非天空區(qū)域的透射率得到誤補(bǔ)償,從而能復(fù)原出質(zhì)量更高的去霧圖像。
在IDAFT 中,首先定義容差調(diào)節(jié)圖為
其中,I c(x)為輸入的帶霧圖像,α為調(diào)節(jié)因子,本文設(shè)置α=0.95。
其中,Stol為容差調(diào)節(jié)圖中所有像素大于0 的元素集合,Snum為集合Stol中元素的總個(gè)數(shù)。
同時(shí),定義容差參數(shù)為
其中,Ic(x)num表示輸入圖像中所有元素的個(gè)數(shù)。為容差參數(shù)設(shè)定上限,避免容差參數(shù)過(guò)大而導(dǎo)致非天空區(qū)域被誤判為天空區(qū)域,從而減少非天空區(qū)域誤補(bǔ)償帶來(lái)的影響。但是該上限值不宜過(guò)大,如果該值過(guò)大,則會(huì)導(dǎo)致大部分區(qū)域被判斷為天空區(qū)域,使得到的透射率不準(zhǔn)確,經(jīng)過(guò)多次實(shí)驗(yàn),當(dāng)透射率取0.3 時(shí),處理天空區(qū)域都能取得較好的效果,本文取該上限值為0.3。通過(guò)式(14),即可得到自適應(yīng)的容差值K。圖5 為不同場(chǎng)景下的帶霧圖像,圖5(a)包含極少的天空區(qū)域,圖5(b)則包含大量的天空區(qū)域。圖6 為圖5 中2 幅圖像的容差參數(shù)K隨調(diào)節(jié)因子α的變化曲線。
圖5 不同場(chǎng)景下的帶霧圖像
圖6 容差參數(shù)K 隨調(diào)節(jié)因子α 的變化曲線
引入容差機(jī)制為
根據(jù)自適應(yīng)容差修正透射率,具體步驟如算法1 所示。
算法1自適應(yīng)容差修正透射率
輸入輸入圖像I,透射率t(x),大氣光值A(chǔ),容差調(diào)節(jié)參數(shù)α,容差參數(shù)閾值β
輸出透射率t(x)
根據(jù)已經(jīng)得到的大氣光值、透射率圖和已知的帶霧圖像,通過(guò)式(1)對(duì)圖像進(jìn)行去霧,即可得到初始復(fù)原圖像。
在霧霾天氣下,受到空氣中顆粒物對(duì)光的吸收和散射作用的影響,通常得到的圖像像素點(diǎn)的亮度要比晴朗天氣下的大。去霧后的初始復(fù)原圖像整體偏暗,因此要對(duì)復(fù)原后的無(wú)霧圖像進(jìn)行色彩補(bǔ)償。IDAFT 基于HSV 顏色模型對(duì)復(fù)原圖像進(jìn)行顏色補(bǔ)償,流程如圖7 所示。
圖7 復(fù)原圖像顏色補(bǔ)償流程
首先,將得到的復(fù)原圖像作為輸入圖像,將圖像轉(zhuǎn)換到HSV 顏色模型,對(duì)圖像的S 和V 分量進(jìn)行調(diào)整。然后,將調(diào)整后的圖像轉(zhuǎn)換到RGB顏色模型,輸出圖像即為顏色補(bǔ)償后的最終復(fù)原圖像。
為了驗(yàn)證IDAFT 的有效性,分別對(duì)若干幅霧霾天氣圖像進(jìn)行實(shí)驗(yàn),對(duì)去霧后的圖像采用主觀視覺(jué)評(píng)價(jià)和客觀量化指標(biāo)這2 種方式進(jìn)行分析。實(shí)驗(yàn)的運(yùn)行環(huán)境主要配置參數(shù)為64 位Windows10 操作系統(tǒng),CPU 為Core i5-6300HQ@2.30 GHz,內(nèi)存為8 GB。仿真實(shí)驗(yàn)的軟件平臺(tái)為Matlab R2018a。主要仿真參數(shù)如表1 所示。
表1 主要仿真參數(shù)
求取透射率調(diào)節(jié)參數(shù)θ是為了保留遠(yuǎn)處少部分的霧,這是因?yàn)殪F的存在是人感知深度的一個(gè)基本因素[12]。θ的存在使去霧后的圖像更加真實(shí),θ越小,保留的霧就越多,通常取θ=0.95[12]。γ越大,擬合后的圖像與大窗口得到的透射率圖越相似;反之,與小窗口得到的透射率圖越相似。γ在[0.4,0.6]范圍時(shí)擬合效果較好,本文取γ=0.5。經(jīng)過(guò)多次實(shí)驗(yàn)可知,當(dāng)α在[0.93,0.96]范圍時(shí)有較好的效果,本文取α=0.95。γ取值對(duì)去霧效果的影響與處理圖像的尺寸有關(guān),本文取r=60像素。ε是一個(gè)很小的數(shù)[14],ε在(0,0.01]范圍時(shí)都能取得較好的實(shí)驗(yàn)結(jié)果,本文取ε=0.001。
分別選取不含天空區(qū)域、含較少天空區(qū)域、含較多天空區(qū)域和含大量天空區(qū)域的帶霧圖像進(jìn)行實(shí)驗(yàn),不同場(chǎng)景下各算法去霧效果比較如圖8 所示。圖8 中前三行的圖像均來(lái)自He[12]主頁(yè),圖8(d1)~圖8(d6)和圖9 來(lái)自Flickr.com 和百度圖片搜索引擎,為包含大量天空區(qū)域的圖像。通過(guò)仿真實(shí)驗(yàn),分別對(duì)每幅圖像使用文獻(xiàn)[12]算法、文獻(xiàn)[14]算法、文獻(xiàn)[21]算法、文獻(xiàn)[24]算法以及IDAFT 進(jìn)行去霧處理。
通過(guò)將去霧圖像與帶霧圖像進(jìn)行比較可以看出,5 種算法都有一定的去霧效果。在不含天空區(qū)域、含較少天空區(qū)域和含較多天空區(qū)域的場(chǎng)景下,5 種算法都能夠?qū)D像完成有效的去霧,IDAFT 在景深突變區(qū)過(guò)渡更加自然,色彩還原度更高,在遠(yuǎn)景處能取得更好的效果。在包含較多天空區(qū)域的場(chǎng)景下,文獻(xiàn)[12]算法和文獻(xiàn)[14]算法在天空區(qū)域去霧后出現(xiàn)了失真現(xiàn)象,這種情況在包含大量天空區(qū)域的圖像中尤其明顯,而文獻(xiàn)[21]算法、文獻(xiàn)[24]算法和IDAFT 在這些區(qū)域沒(méi)有出現(xiàn)失真現(xiàn)象,能夠很好地對(duì)圖像進(jìn)行去霧,而且從圖8(d)可以看出,IDAFT 復(fù)原圖像整體的色彩還原度更高。此外,由圖9 可以直觀地看出,IDAFT 在對(duì)天空等區(qū)域的處理也能得到很好的處理效果。
圖8 不同場(chǎng)景下各算法去霧效果比較
圖9 包含大范圍天空區(qū)域場(chǎng)景下各算法去霧效果比較
為了更加全面地測(cè)試各算法的去霧效果,選取包括平均梯度、可見(jiàn)邊的規(guī)范化梯度均值[25]、信息熵和算法運(yùn)行時(shí)間作為評(píng)價(jià)指標(biāo)對(duì)算法進(jìn)行量化的比較。
平均梯度反映了圖像的細(xì)節(jié),平均梯度越大,表明圖像的輪廓信息越清晰。
其中,M和N分別為圖像的寬和高,ΔIx和ΔIy分別為水平方向的梯度和垂直方向的梯度。
可見(jiàn)邊的規(guī)范化梯度均值反映了去霧后圖像邊緣對(duì)比度的變化,可見(jiàn)邊的規(guī)范化梯度均值越大,表明圖像的去霧效果越好。
其中,nr表示去霧后圖像的可見(jiàn)邊數(shù)目[25],Pi表示可見(jiàn)邊上的像素點(diǎn),? r表示去霧圖像所有可見(jiàn)邊的集合,zi表示可見(jiàn)邊的相關(guān)系數(shù)。
信息熵反映了圖像的信息量,信息熵越大,表明圖像包含的信息越多,去霧效果越好。
其中,M和N分別表示圖像的寬和高,L表示圖像的最高灰度級(jí),Hw表示灰度級(jí)為w的像素的個(gè)數(shù)。
算法運(yùn)行時(shí)間反映了算法運(yùn)行所耗時(shí)間,時(shí)間越少,表明算法的效率越高,算法執(zhí)行代價(jià)越低。5 種算法對(duì)不同圖像的去霧能力比較如表2 所示。
從表2 中可以看出,IDAFT 的運(yùn)行時(shí)間與文獻(xiàn)[24]算法時(shí)間相近,遠(yuǎn)低于文獻(xiàn)[12]算法,略高于文獻(xiàn)[14]算法,且有較高的效率。這是因?yàn)槲墨I(xiàn)[12]算法利用軟摳圖的方式優(yōu)化透射率,而軟摳圖涉及大型拉普拉斯矩陣的運(yùn)算,該矩陣的大小為去霧圖像大小的平方,因此算法效率低;文獻(xiàn)[14]算法通過(guò)引導(dǎo)濾波優(yōu)化透射率,算法效率較高;本文同樣運(yùn)用引導(dǎo)濾波,并且對(duì)天空等區(qū)域的透射率進(jìn)行了再一次細(xì)化,同時(shí)對(duì)圖像色彩進(jìn)行補(bǔ)償,因此IDAFT 運(yùn)行時(shí)間要略大于文獻(xiàn)[14]算法。文獻(xiàn)[21]算法因?yàn)橐M(jìn)行模型訓(xùn)練,此過(guò)程需要大量時(shí)間,遠(yuǎn)高于其他4 種算法,因此在表2 中沒(méi)有記錄。文獻(xiàn)[12]算法、文獻(xiàn)[14]算法、文獻(xiàn)[24]算法及IDAFT運(yùn)行時(shí)間隨圖像尺寸變化曲線如圖10 所示。
圖10 4 種算法運(yùn)行時(shí)間隨圖像尺寸變化曲線
表2 5 種算法對(duì)不同圖像的去霧能力比較
同時(shí)從表2 也可以看出,對(duì)于圖8(a1)~圖8(a6)、圖8(b1)~圖8(b6)和圖8(c1)~圖8(c6),IDAFT 在除算法運(yùn)行時(shí)間外的其他各個(gè)評(píng)價(jià)指標(biāo)相較于其他4種算法都有更好的表現(xiàn)。圖8(d1)~圖8(d6)中,IDAFT 的平均梯度和可見(jiàn)邊的規(guī)范化梯度均值整體優(yōu)于其他4 種算法。在信息熵方面,對(duì)于包含較多天空區(qū)域的圖8(d1)~圖8(d6),IDAFT 得到的圖像信息熵要低于其他4 種算法,這與其他4 種算法在天空去霧后出現(xiàn)失真后引入了噪聲有關(guān),同時(shí)這也說(shuō)明IDAFT 在針對(duì)天空區(qū)域透射率的修正是更加有效的。
為了更全面地對(duì)算法進(jìn)行比較,從Flickr.com和百度等圖片搜索引擎中獲取包含較多天空區(qū)域的帶霧圖像,并與He 主頁(yè)帶霧圖像構(gòu)成圖像集。然后將該圖像集的圖像根據(jù)包含天空區(qū)域面積的大小再均分(包含圖片數(shù)量相等)為3 個(gè)圖像集:不包含或者包含極少天空的圖像組成圖像集1,包含少量天空區(qū)域的圖像組成圖像集2,包含大范圍天空區(qū)域的圖像組成圖像集3。
對(duì)3 個(gè)圖像集的所有圖像分別用5 種算法進(jìn)行去霧處理,得到平均梯度、可見(jiàn)邊的規(guī)范化梯度均值、信息熵這3 項(xiàng)量化指標(biāo)各自的平均值,分別如圖11~圖13 所示。
圖11 平均梯度指標(biāo)比較
從平均梯度指標(biāo)來(lái)看,IDAFT 在圖像集1 的表現(xiàn)優(yōu)于其他4 種算法,在圖像集2 和圖像集3 的表現(xiàn)與文獻(xiàn)[24]算法相近,低于文獻(xiàn)[21]算法,優(yōu)于其他2 種算法。從可見(jiàn)邊的規(guī)范化梯度均值指標(biāo)來(lái)看,IDAFT 除了在圖像集3 的表現(xiàn)略差于文獻(xiàn)[24]算法之外,相較于其他算法均有更好的表現(xiàn)。從信息熵指標(biāo)來(lái)看,IDAFT 在圖像集1 和圖像集2 的整體表現(xiàn)優(yōu)于其他4 種算法,在圖像集3 得到的結(jié)果低于其他4 種算法,這與其他算法在該類(lèi)區(qū)域去霧后失真引入噪聲等因素有關(guān)。因此,通過(guò)實(shí)驗(yàn)可以證明,IDAFT 是可行且有效的。
圖12 可見(jiàn)邊的規(guī)范化梯度均值指標(biāo)比較
圖13 信息熵指標(biāo)比較
本文針對(duì)暗通道算法圖像去霧后存在天空區(qū)域失真等問(wèn)題,提出一種基于引導(dǎo)濾波和自適應(yīng)容差機(jī)制的圖像去霧算法。首先,分別計(jì)算不同尺寸窗口暗通道和透射率圖,對(duì)兩幅透射率圖進(jìn)行線性擬合,得到了更加精確的透射率。然后,將灰度圖作為引導(dǎo)圖像對(duì)透射率進(jìn)行引導(dǎo)濾波,在解決景深突變區(qū)塊效應(yīng)的同時(shí),提高了圖像去霧算法的效率。特別地,通過(guò)自適應(yīng)容差機(jī)制,可以對(duì)天空區(qū)域的透射率進(jìn)行修正,解決了此類(lèi)區(qū)域去霧后出現(xiàn)的失真問(wèn)題。最后,基于HSV 顏色模型對(duì)去霧圖像進(jìn)行顏色補(bǔ)償。仿真實(shí)驗(yàn)結(jié)果表明,IDAFT 得到的復(fù)原圖像亮度更高,色彩更加鮮艷,圖像的整體視覺(jué)效果更佳,對(duì)于天空和非天空區(qū)域都能夠取得較好的去霧效果,在平均梯度、可見(jiàn)邊的規(guī)范化梯度均值、信息熵量化指標(biāo)也有很好的表現(xiàn)。