呂建威,錢 鋒,韓昊男,張 葆*
(1. 中國科學(xué)院 長春光學(xué)精密機械與物理研究所,吉林 長春 130033;2. 中國科學(xué)院大學(xué),北京 100049)
隨著科技和工業(yè)的高速發(fā)展,霧霾天氣成為了非常常見的自然現(xiàn)象。在這樣的天氣條件下,大氣光經(jīng)過空氣中的懸浮粒子發(fā)生了散射,導(dǎo)致光學(xué)系統(tǒng)獲取到的圖像出現(xiàn)對比度下降、細(xì)節(jié)不清晰、局部亮度偏高,飽和度降低等一系列降質(zhì)退化現(xiàn)象。圖像降質(zhì)退化給后續(xù)的目標(biāo)檢測與跟蹤、圖像識別等計算機視覺領(lǐng)域的技術(shù)工作造成了很大的影響,給醫(yī)學(xué)、軍事、工業(yè)以及交通等行業(yè)的工作帶來了極大的不便。因此,研究如何復(fù)原有霧的圖像,提高有霧條件下圖像的清晰度,降低有霧天氣對成像系統(tǒng)的影響有著極其重要的意義。
現(xiàn)有的圖像去霧算法主要可分為三大類:基于圖像增強的方法[1-2]、基于物理模型的方法[3-5]以及基于深度學(xué)習(xí)的方法?;趫D像增強的方法有直方圖均衡化[6]、Retinex 圖像增強理論[7-8]、高斯濾波、中值濾波、快速傅里葉變換以及小波變換等。這類方法并沒有考慮霧的形成機制,而是通過對比度增強的方式來提高圖像質(zhì)量,無法真正有效地實現(xiàn)去霧?;谖锢砟P偷姆椒ㄊ且訬arasimhan 和Nayar 提出的大氣散射模型為基礎(chǔ)[9],根據(jù)不同的先驗知識和大氣光估計方法來求解模型并復(fù)原無霧圖像。He 等人[10]提出了暗通道先驗(Dark Channel Prior,DCP)理論,具體過程為首先估計出暗通道圖并結(jié)合大氣散射模型推導(dǎo)出透射率的值,然后利用軟摳圖原理[11]或者引導(dǎo)濾波[12]對透射率圖進行優(yōu)化。該算法原理簡單,運行效率高,應(yīng)用廣泛,許多去霧算法都是以該算法為基礎(chǔ)被提出的[13-16]。但是,當(dāng)圖像中出現(xiàn)大面積濃霧、高亮以及白色物體時,大氣光及透射率估計不準(zhǔn)確,暗通道先驗失效。Zhu 等人[16]提出了顏色衰減先驗(Color Attenuation Prior,CAP)方法,具體做法是通過實驗規(guī)律發(fā)現(xiàn)霧氣的濃度分布與亮度和飽和度之差呈正相關(guān)并建立線性模型,然后學(xué)習(xí)訓(xùn)練大量樣本得到透射率估計圖。Berman 等人[17]提出的非局部先驗(Non-local Prior,NLP)去霧法是將無霧圖像的RGB 值利用K-means 聚類后形成了不同的簇,在霧的影響下這些像素點不再形成簇,而是形成了霧線,根據(jù)霧線可以進一步估計每個像素點的透射率值。Meng 等[18]在暗通道先驗方法的基礎(chǔ)上加入邊界約束條件,使得改進后的去霧圖片中對于天空的處理效果會有顯著提升。Ancuti等人[19]提出了RGB 和LAB 之間的顏色變換方法來進行圖像去霧。
近年來,基于深度學(xué)習(xí)的去霧方法受到了越來越多研究者們的關(guān)注,此類方法通過建立神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖像間的內(nèi)在關(guān)聯(lián),通過大量訓(xùn)練獲得無霧圖像。Cai 等人[20]提出基于卷積神經(jīng)網(wǎng)絡(luò)的DehazeNet 結(jié)構(gòu)來提高恢復(fù)的無霧圖像的質(zhì)量,DehazeNet 是一種端到端的訓(xùn)練模型,利用神經(jīng)網(wǎng)絡(luò)來對大氣退化模型中的透射率進行估計。但該方法存在的缺點是將大氣光值設(shè)置為全局常量,去霧后的圖像往往顏色失真。Li 等人[21]將大氣散射模型中的大氣光和透射率兩個參數(shù)通過變形合并成一個參數(shù),在此基礎(chǔ)上提出了一種基于CNN 的輕量級端到端卷積神經(jīng)網(wǎng)絡(luò)模型AOD-Net。AOD-Net 最終輸出的是復(fù)原后的無霧圖像,并沒有輸出透射率和大氣光的估計圖,這樣可以有效避免大氣光和透射率帶來的誤差,但由于網(wǎng)絡(luò)模型深度淺,無法提取到圖像中更深層次的信息。Ren 等人[22]提出了一種多層深度神經(jīng)網(wǎng)絡(luò),通過有霧圖像和對應(yīng)的無霧圖像的數(shù)據(jù)集來學(xué)習(xí)它們之間存在的映射關(guān)系,先采用粗尺度卷積神經(jīng)網(wǎng)絡(luò)來估計粗略的透射率分布,再利用細(xì)尺度卷積神經(jīng)網(wǎng)絡(luò)進一步優(yōu)化透射率?;谏疃葘W(xué)習(xí)的算法往往需要大量的樣本訓(xùn)練,但目前沒有大量真實的有霧圖像數(shù)據(jù)集,用于訓(xùn)練的都是經(jīng)過合成的有霧圖像數(shù)據(jù)集,所以恢復(fù)圖像存在缺陷[23-26]。
總之,基于圖像增強的方法不考慮圖像中霧的形成機制,只考慮視覺增強效果,容易造成對比度過度增強、顏色失真等現(xiàn)象,無法真正實現(xiàn)去霧。基于深度學(xué)習(xí)的方法不考慮圖像的先驗信息,去霧性能易受訓(xùn)練圖像類型限制,占用內(nèi)存較大,往往會出現(xiàn)顏色失真、過飽和等現(xiàn)象?;诖?,本文提出一種天空分割和霧氣濃度估計的去霧方法,有效解決了天空區(qū)域恢復(fù)不真實問題。針對非天空區(qū)域霧氣濃度分布問題,提出了霧氣濃度估計模型提高霧氣濃度的估計精度。為了獲得透射率圖,分別估計天空和非天空區(qū)域的透射率,結(jié)合像素點概率分布得到疊加后的透射率結(jié)果,最終能夠得到去霧更徹底、細(xì)節(jié)更清晰的復(fù)原圖像。
最常用的白天去霧模型中認(rèn)為相機捕獲的大氣中的散射光包含文獻[27]中提出的直接傳輸和空氣光:
其中:I(x)是在像素x處觀察到的圖像像素大小,J(x)是場景反射或沒有霧時的理想的恢復(fù)圖像,A是在白天除霧時被認(rèn)為是恒定常數(shù)的大氣光值,t(x)是到達攝像機之前場景的透射率,β是經(jīng)霧中顆粒散射后的衰減因子,d(x)是相機與被稱為景深的場景之間的光學(xué)厚度或距離。J(x)t(x) 稱 為 直 接 傳 輸,A[1-t(x)] 是 空氣光。
暗通道先驗理論表明:在絕大多數(shù)的非天空的局部區(qū)域中,對于每一幅圖像的每一個像素的RGB 三個顏色通道,某一些像素總會有至少一個顏色通道具有很低的值。暗通道表示如下:
其中:Jc表示實際無霧圖像的一個顏色通道,ω(x)表示以像素點位置x為中心的鄰域圖像塊,Jdark表示實際無霧圖像的暗通道。暗通道先驗的原理表明:Jdark的值總是趨近于0。
式(1)兩邊同時進行暗通道操作,可以得到粗略的透射率值為:
在進行算法模擬時發(fā)現(xiàn),若利用上述公式徹底去霧,圖像會丟失部分信息,造成圖像看起來不真實,因此引入有霧因子υ,保留圖像中的一部分霧,υ=0.95。修正后的公式如下:
為了提高透射率的精度,最開始采用軟摳圖的方法來精細(xì)化透射率,由于軟摳圖的運行效率低,后來采用引導(dǎo)濾波的方法具有更好地保持邊緣能力,大大提高運行效率。得到精細(xì)化的透射率之后,最終的圖像去霧結(jié)果為:
一般情況下取t0為0.1。
算法原理框圖如圖1 所示。首先由梯度圖像進行閾值分割并設(shè)定亮度約束條件分割出天空區(qū)域,根據(jù)改進的暗通道先驗法和四叉樹細(xì)分法得到大氣光的估計值。然后,對于非天空區(qū)域提出了線性霧氣濃度估計模型得到透射率的值。對于天空區(qū)域利用亮通道先驗方法得到透射率的值,再結(jié)合像素點概率值進行疊加得到新的透射率圖像。最后,利用大氣散射模型得到去霧圖像結(jié)果。
圖1 算法原理圖Fig.1 Block diagram of algorithm principle
在對圖像大氣光和透射率進行估計時,通常由于天空區(qū)域的存在導(dǎo)致霧的濃度估計精度不足,得到的結(jié)果會在天空區(qū)域出現(xiàn)顏色失真等現(xiàn)象。因此,為了提高圖像透射率的估計精度,本文提出了新的圖像分割天空區(qū)域的方法,并獲得像素點是否屬于天空區(qū)域的概率分布。
本文所提出的天空分割方法步驟如下:
步驟1:將圖像轉(zhuǎn)換為灰度圖像,并通過Sobel 算子計算圖像的梯度,得到梯度圖像信息;
步驟2:對梯度信息進行適當(dāng)?shù)娜ピ牒蜑V波,這里采用引導(dǎo)濾波的方法,能夠較好地去噪和保邊;
步驟3:將梯度圖像進行最大值最小值歸一化,隨機設(shè)置梯度閾值將圖像進行二值化,超過該閾值的區(qū)域像素值大小為0(黑色),反之為1(白色),最終得到能夠初步分割出圖像天空區(qū)域的閾值N=0.02;
步驟4:對步驟3 中梯度圖二值化分割后的每個連通的白色區(qū)域統(tǒng)計其原始圖像在對應(yīng)位置的像素的亮度大小,即變換到HSV 空間中亮度V 的大?。唤y(tǒng)計V 的大小后,盡可能保留較大的亮度值,如果大于閾值T則保留,閾值設(shè)置為T=0.80 時能夠在之后的步驟中識別出天空區(qū)域;
步驟5:在符合步驟3 和步驟4 條件下,圖像中最大的連通區(qū)域可以作為識別出的天空區(qū)域,一般情況下連通區(qū)域大小超過整幅圖像的5%時可以認(rèn)為是天空區(qū)域。
得到天空分割結(jié)果后,可以利用概率值α(x)來表示像素點是否屬于天空區(qū)域,如果像素點對應(yīng)的梯度值大于閾值N,說明像素點梯度較大,認(rèn)為不屬于天空區(qū)域,反之,則認(rèn)為像素點屬于天空區(qū)域。這樣,可以利用分段函數(shù)表示為:
其中:G(x)表示圖像歸一化后的梯度分布圖,V表示HSV 空間中亮度V 的大小,T表示亮度閾值,N表示對梯度圖進行閾值分割后獲得的能夠分割天空區(qū)域的閾值大小。圖像天空分割結(jié)果如圖2 所示,可以看出本文所提出的方法能夠有效提取天空區(qū)域的信息,如圖2(a)和圖2(b)所示。若圖像中沒有天空區(qū)域時,如圖2(c)所示,可以看到結(jié)果全是黑色,說明算法可以識別無天空區(qū)域的圖像。
圖2 圖像天空分割結(jié)果Fig.2 Results of sky segmentation.
在暗通道先驗中,大氣光的估計方法是將暗通道中的像素點值大小進行排序,選擇0.1%的最亮像素的平均值作為大氣光估計值。然而,當(dāng)場景中白色部分較多(如過亮的天空,濃度很厚的霧,白色物體等)時,可能會錯誤選取大氣光的估計位置,造成后續(xù)處理的結(jié)果出現(xiàn)顏色失真等現(xiàn)象。圖3 為有霧圖像及其大氣光估計結(jié)果,其中填滿紅色區(qū)域為最終選定區(qū)域。Kim 等[28]首先對圖像進行四叉樹分割,得到像素平均值最大的圖像子塊,繼續(xù)對該子塊進行分割,重復(fù)上述步驟,直到分割次數(shù)達到預(yù)先設(shè)定的值為止。最后,從得到的最后子塊中選取距離(255,255,255)最小的RGB 分量作為大氣光值。這種方法在大部分圖像中,大氣光估計較為精確,但如果圖像中存在白色過多的區(qū)域或者過曝的白光區(qū)域,大氣光估計往往會出現(xiàn)偏差,四叉樹分割方法的偏差示例如圖3(b)所示。為了提高大氣光值的估計精度,提取不重疊區(qū)域l(x),在各個不重疊區(qū)域中選取全部像素的最小值作為改進的暗通道估計圖[29],表示如下:
根據(jù)文獻中的敘述,選擇子塊大小為30×30。
圖3(c)展示了本節(jié)方法的暗通道改進圖??梢园l(fā)現(xiàn),改進后的暗通道像素強度值比原始圖像子塊平均值更低一些,之后就可以利用四叉樹細(xì)分方法來估計大氣光的值。經(jīng)過以上改進后就可以排除上述的干擾問題,如圖3(c)所示,選擇大氣光的估計點并不是在下方的建筑區(qū),而是左上方的天空區(qū)域,大氣光的估計精度有了明顯的提高。
圖3 有霧圖像及其大氣光估計結(jié)果Fig.3 Hazy image and its atmosphere light estimation results
在絕大部分有霧的場景中,霧中的懸浮顆粒會對大氣光產(chǎn)生散射,造成光學(xué)成像設(shè)備獲取到的圖像出現(xiàn)飽和度低,局部亮度高,細(xì)節(jié)模糊等現(xiàn)象。對于任意的場景,霧越濃的區(qū)域,懸浮顆粒對經(jīng)過物體反射的光線產(chǎn)生的散射作用越大,該區(qū)域的細(xì)節(jié)越模糊,亮度越大,飽和度越低。
為了能夠更準(zhǔn)確地描述霧的濃度特點,需要在Zhu 等人[16]和鞠銘燁等人[30]方法的基礎(chǔ)上進行改進,具體的改進方法是假設(shè)霧的濃度與圖像的深度呈線性關(guān)系,霧氣的濃度分布與局部亮度、飽和度和梯度三者有關(guān),以此為基礎(chǔ)并建立了線性霧氣濃度估計模型,表示如下:
其中:a1,a2,a3代表線性權(quán)重系數(shù);ζ代表模型的隨機誤差;L(x),S(x),G(x)分別表示圖像在像素點位置x的亮度,飽和度以及梯度;霧氣濃度圖c(x)取決于像素點鄰域內(nèi)局部的梯度平均值、飽和度平均值和亮度平均值,霧氣越濃的區(qū)域,亮度值越大,飽和度和梯度值越小,反之亦然。這里圖像的梯度用Sobel 算子計算得到,具體的特征描述為:
其中:Ω(x)表示以像素點x為中心的鄰域;|Ω|表示像素總數(shù);?I,L,S分別表示梯度,亮度以及飽和度分布(均需要歸一化處理)。
為了求得圖像深度估計模型的線性系數(shù),從O-HAZY 和D-HAZY 數(shù)據(jù)集[31]中整理出大量圖片,通過合成隨機深度的1 000 幅有霧圖像以及對應(yīng)的無霧圖像獲得訓(xùn)練樣本。在無霧圖像中隨機合成深度為0.5~1 的霧,合成的霧圖需要設(shè)置大氣光的向量值為A(k,k,k),其中大氣光向量的三個維度分別代表RGB 空間中的三個分量,k的取值在0.8~1.0。設(shè)置好參數(shù)之后就得到1 000 張合成的有霧圖像和對應(yīng)的無霧圖像。此外,通過合成的樣本獲取了所有其中有霧圖像的局部亮度、飽和度、梯度等特征。部分無霧圖像和對應(yīng)合成的有霧圖像如圖4 所示。
圖4 部分無霧圖像和對應(yīng)合成的有霧圖像Fig.4 Parts of haze-free images and the corresponding synthetic hazy images
此外,獲取了所有夜間有霧圖像的亮度,飽和度以及梯度等特征,采用文獻[32]里面的方法,這樣圖像深度模型表示為:
其中:i表示第i組訓(xùn)練樣本,aT=[a1,a2,a3]T。
Xi=[L(xi),S(xi),G(xi)],第i組訓(xùn)練樣本的有霧圖像的深度圖為di(x),通過線性表示的深度圖模型為d(xi),根據(jù)1000 幅訓(xùn)練樣本,利用最小化損失誤差來求得線性系數(shù)和線性誤差,表示法如下:
這樣最小化損失誤差E就可以表示為:
為了解決最小化損失函數(shù)的問題,我們將作以下的求導(dǎo),令該求導(dǎo)值為0,可以得到:
其中,XTX為滿秩的正則矩陣,這樣可以求得a*為:
由于上述提到霧氣濃度與圖像的深度呈線性關(guān)系,說明霧氣濃度和圖像深度的變化趨勢相似,所以我們可以近似地認(rèn)為霧的濃度分布變化等價于圖像的深度分布。這樣圖像的透射率與霧氣濃度的關(guān)系表示為:
經(jīng)過反復(fù)實驗,所獲得的最終線性系數(shù)的結(jié)果 為a1=1.026 7,a2=-0.626 5,a3=0.185 5,隨機誤差ζ=0.014 34,局部塊大小取15×15時,得到的霧氣濃度分布較為精準(zhǔn)。與此同時,得到量化的霧氣濃度估計圖通常在深度變化較小的位置比較粗糙,在細(xì)節(jié)邊界處會產(chǎn)生許多噪聲。由于引導(dǎo)濾波具有非常優(yōu)秀的保持邊緣、減少噪聲的能力,因此可利用引導(dǎo)濾波進行平滑處理。本節(jié)采用不同濃度霧的圖像進行濃度估計,最終得到霧氣濃度估計結(jié)果和對應(yīng)的去霧結(jié)果如圖5 所示。
圖5 霧氣濃度估計結(jié)果和去霧結(jié)果Fig.5 Results of haze density estimation and image dehazing
由霧氣濃度分布圖中可知,得到的結(jié)果對于處在不同深度的場景有明顯的區(qū)分,大部分區(qū)域都處在濃霧場景中,較小區(qū)域則處在薄霧場景中。對比處理前后效果可得出,本文算法的恢復(fù)圖像顏色看起來更加自然,對比度和可視度提升較大。另外,從霧氣的濃度圖來看,其內(nèi)在的深度結(jié)構(gòu)基本可以大體刻畫出原圖像的深度信息,原圖像的細(xì)節(jié)之處能夠明顯地體現(xiàn)出來。
對于天空區(qū)域和高亮區(qū)域,通常會有較多的白色區(qū)域,而較濃的霧的顏色接近于高亮,如果只是通過霧氣濃度估計模型來獲得透射率,得到的結(jié)果就會出現(xiàn)顏色失真、恢復(fù)不自然等情況。因此在本文的算法中,為了提高透射率的估計精度,需要單獨對天空區(qū)域進行處理。
為了更好地處理天空區(qū)域的透射率估計問題,本文采用了亮通道先驗[33]的方法,即在較亮區(qū)域內(nèi),某些像素在至少一個顏色通道內(nèi)有較高的值并趨近于1,表達式為:
其中:Jc表示實際無霧圖像的一個顏色通道,ω(x)表示以像素點位置x為中心的鄰域圖像塊,Jbright表示實際無霧圖像的亮通道。
公式(1)兩邊同時進行亮通道操作,可以得到粗略的透射率值為:
這樣就可以得到天空區(qū)域的透射率的估計值。對于非天空區(qū)域,結(jié)合公式(2)可以求得非天空區(qū)域透射率的估計值tnon-sky(x)。
最后利用像素點的概率值將天空區(qū)域和非天空區(qū)域的透射率估計值進行線性疊加,就可以得到整幅圖像的透射率,得到的表達式為:
其中,α(x)表示像素點x屬于天空區(qū)域的概率值,為公式(7)的結(jié)果。
為了更好地得到去霧圖像,需要利用引導(dǎo)濾波對透射率圖進行優(yōu)化,保持邊緣并減少噪聲。獲得大氣光和透射率的值后,利用大氣散射模型得到圖像復(fù)原表達式如下:
得到透射率和對應(yīng)的去霧的結(jié)果如圖6 所示,從透射率圖中能夠明顯觀察到圖像中的細(xì)節(jié)之處,恢復(fù)后的圖像細(xì)節(jié)非常清晰。
圖6 有霧圖像的透射率估計和去霧結(jié)果Fig.6 Results of hazy images transmission and dehazing
為了驗證所提出的去霧算法的有效性,本文從圖像主觀質(zhì)量評價,客觀質(zhì)量評價以及算法運行時間三個方面對所提出的算法和其它的去霧算法進行比較。
本實驗采用的軟件和環(huán)境為:ASUS X556URK Inter Corei7-7500U 2.90 GHz,8 GB RAM,NVIDIA GEFORCE 930MX。經(jīng)過對測試樣本的訓(xùn)練,得到的數(shù)據(jù)如下:a1=1.026 7,a2=-0.626 5,a3=0.185 5,ζ= 0.014 34,局 部塊大小取15×15。本節(jié)從Flickr 和Getty Image網(wǎng)站和D-HAZY[31]數(shù)據(jù)集選取了白天有霧測試圖像運用現(xiàn)有的主流去霧算法進行去霧處理,將其結(jié)果和本文算法的恢復(fù)圖像進行對比。
本文將圖像分成含天空區(qū)域和不含天空區(qū)域兩類進行主觀質(zhì)量評價比較,所選擇的算法有Zhu 等的顏色衰減先驗算法[16]、He 等的暗通道先驗 算 法[10]、Berman 等 的 非 局 部 先 驗 算 法[17]、Cai等的端對端神經(jīng)網(wǎng)絡(luò)算法[20],結(jié)果如圖7 和圖8所示。
對于不含天空區(qū)域的有霧圖像,去霧后的結(jié)果如圖7 所示。從第二和第三幅圖可以看出,Cai的算法無法徹底地去霧,尤其對于第三幅航拍圖像,本文的方法與其它方法相比能夠消除更多的霧。比較第一幅圖右上角紅樓處、第二幅圖的娃娃頭部以及第三幅圖下方的白樓處,Berman 算法恢復(fù)的結(jié)果顏色出現(xiàn)失真的現(xiàn)象。He 算法、Zhu 的算法和本文算法對于不含天空區(qū)域的圖像都具有良好的去霧效果。
圖7 不含天空圖像去霧算法比較Fig.7 Comparison of the dehazing methods without sky
圖8 為含有不同顏色天空區(qū)域的圖像去霧效果比較。Cai 算法在有天空的場景中同樣保留了許多霧的成分。從圖8(c)的第一和第二幅圖、圖8(d)第二和第三幅圖中可以看出,He 算法和Berman 算法在天空區(qū)域的處理會出現(xiàn)明顯的顏色失真現(xiàn)象,天空區(qū)域的恢復(fù)看起來不真實,特別是圖8(c)的第二幅圖產(chǎn)生了大量的光暈現(xiàn)象,本文算法相比于其它算法在天空區(qū)域的顏色恢復(fù)效果更真實自然。比較第三幅圖的左下角的灰色樓房區(qū)域,Zhu 算法和Cai 的算法在該區(qū)域細(xì)節(jié)恢復(fù)不清晰。Zhu 在第四幅圖黑色帽子周圍產(chǎn)生了白色光暈。在第一和第四幅圖的遠(yuǎn)處場景,本文算法去霧效果更好,能夠更清楚地觀察細(xì)節(jié)。總之,本文算法可以適用于不同類型的圖像,在含有天空和不含有天空的有霧圖像中不僅都能實現(xiàn)有效地去霧,而且可以完整復(fù)原圖像各處的細(xì)節(jié)和顏色,更好地解決了天空區(qū)域的恢復(fù)問題。但本文的算法也存在著一定的缺點,例如,部分圖像如第一和第四幅圖像顏色恢復(fù)之后存在飽和度偏高的現(xiàn)象,這需要在之后的工作中進一步解決。另外,在霧氣濃度估計模型中加入梯度因素可更清晰地體現(xiàn)出原圖像模糊或者暗處的細(xì)節(jié),通過適當(dāng)?shù)木€性參數(shù)還能更好地平衡圖像的整體亮度和顏色。
圖8 含天空白天圖像去霧算法比較Fig.8 Comparison of the dehazing methods with sky
經(jīng)過以上實驗中圖像主觀質(zhì)量評價比較后,為了更全面地驗證去霧效果,本文采用圖像盲評價和結(jié)構(gòu)相似度方法,從圖像細(xì)節(jié)、顏色、對比度以及結(jié)構(gòu)信息等角度來衡量圖像質(zhì)量的好壞。
圖像盲評價指標(biāo)是Hautiere 等人[34]所提出的用于霧天復(fù)原圖像質(zhì)量的評價參數(shù)指標(biāo),利用原始有霧圖像與恢復(fù)后的去霧圖像的新可見邊數(shù)比e、可見邊梯度比r等評價圖像的去霧效果。大多數(shù)情況下,e和r值越大,說明圖像的邊緣和細(xì)節(jié)增強越明顯,進而增加了圖像的清晰度,原始圖像的復(fù)原效果越好。圖像結(jié)構(gòu)相似度(Structural Similarity Index Measurement,SSIM)方法可以用來度量圖像的結(jié)構(gòu)。峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)方法是通過計算復(fù)原圖像與參考標(biāo)準(zhǔn)圖像的對應(yīng)像素點全局差異大小來量化圖像質(zhì)量。PSNR 值越大,表明復(fù)原圖像與參考標(biāo)準(zhǔn)圖像之間的失真程度越小,圖像恢復(fù)效果越好。Jobson 等人[35]提出了統(tǒng)計特征參數(shù)H,可用來測量色彩的恢復(fù)程度。通常情況下,SSIM 值越大表示圖像結(jié)構(gòu)越完整,H值越小就代表色彩保真度會越高。表1 利用圖8 中的四幅有霧圖像對比了其它去霧算法與本文算法去霧結(jié)果的評價參數(shù)e,r和H。表2 利用圖9 中的四幅有霧圖像和對應(yīng)的無 霧圖像獲得參數(shù)PSNR 和SSIM。
圖9 有霧圖像和對應(yīng)的無霧圖像Fig.9 Hazy images and the corresponding ground truth images
從表1 參數(shù)e和r值的比較來看,本文算法的e值比其它算法更大一些,r值僅僅比Berman算法更低一些,說明本文算法在圖像去霧,對比度和細(xì)節(jié)表現(xiàn)方面同樣有著很高的水準(zhǔn),表現(xiàn)較為均衡。比較所有算法的H值,可以發(fā)現(xiàn)在第2 和第3 幅圖中,本方法的H值更低,說明在含有非藍色的天空的圖像顏色恢復(fù)上普遍較好。但對于含有藍色的天空的圖像(第1 和第4幅圖)H值更高,本文算法結(jié)果出現(xiàn)飽和度偏高的現(xiàn)象,這是因為所提出的算法是對整體的圖像深度作估計,并沒有局部進行優(yōu)化,會導(dǎo)致在圖像局部的透射率估計存在一些偏差,在以后的工作中我們會進一步改進優(yōu)化方法。
表1 圖像質(zhì)量評價參數(shù)比較Tab.1 Comparison of the parameters of image quality assessment
通過對表2 中的數(shù)據(jù)進行分析,本文的算法的PSNR 值僅在第一幅圖中接近并低于Berman 算法,第一和第二幅圖的SSIM 值略小于Berman 算法,其它圖像中均略高于另外幾種算法。這說明本文算法表現(xiàn)出了高質(zhì)量的去霧效果,圖像的結(jié)構(gòu)恢復(fù)更加完整,失真程度更小,對比度增強明顯,細(xì)節(jié)清晰,顏色自然。總之,本文的算法可以適用于不同類型的圖像,不僅可以有效處理含有薄霧或較濃的霧的圖像,還能復(fù)原含有天空和不含有天空的圖像。利用本文方法最終可以獲得去霧效果明顯,高質(zhì)量的復(fù)原圖像。
表2 PSNR 和SSIM 參數(shù)比較Tab.2 Comparison of PSNR and SSIM values
為了驗證算法的運行速率,本節(jié)選取了圖8所示的四幅測試圖像進行算法的運行時間比較。每一幅圖像的大小和每個算法測試時間如表3 所示。從運行時間結(jié)果中不難看出,本文算法的運行速度僅次于Zhu 算法,相比于另外三種算法運行耗時更少。這說明本文所提出的算法的運行速率與其它主流算法相當(dāng),可以推測本文算法在經(jīng)過算法優(yōu)化或是經(jīng)硬件加速后可以滿足實時性的要求。在未來的研究工作中,我們將進一步驗證算法的實時性。
表3 圖像去霧算法運行時間比較Tab.3 Comparison of running time of image dehazing algorithms
本文針對圖像去霧中存在的天空區(qū)域圖像恢復(fù)失效的問題,提出了圖像天空區(qū)域分割的方法,并分別進行天空區(qū)域和非天空區(qū)域的透射率估計。針對霧氣濃度估計精度不足的問題,提出了線性霧氣濃度估計模型解決了在非天空區(qū)域的透射率估計問題。實驗結(jié)果表明,本文算法在天空區(qū)域圖像恢復(fù)效果良好,去霧徹底且不存在顏色失真現(xiàn)象,非天空區(qū)域去霧效果表現(xiàn)良好,圖像細(xì)節(jié)體現(xiàn)更加清晰,整體圖像復(fù)原比較理想。雖然本文算法的運行速度僅次于Zhu算法,但從圖像的去霧恢復(fù)效果來看,本文算法的圖像恢復(fù)質(zhì)量比Zhu 方法更高。另外,本文算法相比于另外三種算法運行耗時更少,從圖像質(zhì)量評價指標(biāo)上來看,本文算法在不同場景下的去霧穩(wěn)定性優(yōu)于其它算法。綜上所述,本文所提出的算法運行速率快,去霧效果明顯,適用于圖像去霧領(lǐng)域。