高濤,劉夢尼,陳婷,王松濤,蔣碩
(長安大學信息工程學院,710000,西安)
霧霾中的懸浮微粒對光線的吸收、散射和反射作用,嚴重影響了空氣的能見度,降低了可視距離。霧霾天氣下采集到的圖像往往會出現(xiàn)亮度偏低、對比度下降、細節(jié)模糊、色彩失真等現(xiàn)象,導致圖像難以作為有效信息的來源。因此,如何更加快速地復原霧霾天氣條件下采集的圖像仍然是國內(nèi)外學者研究的熱點[1-2]。
目前,圖像去霧算法可大致劃分為3類[3]:第1類是基于圖像增強的去霧方法,其中具有代表性的方法為Retinex算法、Liu等人在結合帶色彩恢復的多尺度視網(wǎng)膜增強算法(MSRCR)的基礎上提出的一種新的圖像保真度評估框架[4]以及Zhang等人提出的一種多通道卷積的MSRCR去霧算法[5]等。但是,基于Retinex理論的方法均未完全從根本上解決光暈問題。第2類是基于圖像復原的去霧方法,其中最具有代表性的就是He等人提出的暗通道先驗的去霧算法,獲得了良好的去霧效果[6];在此基礎上,He等人又提出了引導濾波的算法來解決原有方法中軟摳圖運算量較大,算法過于復雜的問題[7]。然而,基于圖像復原的方法沒有能夠解決高亮區(qū)域的透射率和大氣光值估值產(chǎn)生偏差以及去霧過程中去霧參數(shù)固定等問題。之后,Xu等人提出了一種使用暗通道和亮通道結合的方法來進行圖像去霧[8];Li等人提出了一種基于同態(tài)濾波和球模型改進的暗通道先驗的兩階段圖像去霧算法[9];Wang等人提出了一種改進鄰域結合暗通道先驗的去霧算法[10]。第3類是基于深度學習的去霧方法,其中Engin等提出Cycle-Dehaze算法,該算法的模型效果對于煙霧效果處理甚好,但是對霧霾處理效果欠佳[11]。Li等提出基于殘差圖像學習的去霧算法,該算法對大氣散射模型進行變形,用卷積神經(jīng)網(wǎng)絡估計參數(shù)并代入模型,得到去霧圖像[12]。Zhang等人提出了一種融合的端對端的密集連接金字塔去霧網(wǎng)絡(DCPDN),取得了不錯的圖像復原效果[13]。Ren等人提出了一種由編碼器和解碼器組成的端到端可訓練神經(jīng)網(wǎng)絡,并采用多尺度方法訓練網(wǎng)絡,避免出現(xiàn)去霧圖像的光暈現(xiàn)象[14]。Chen等人提出使用端對端的上下文聚合網(wǎng)絡來進行圖像的去霧,所恢復的無霧圖像在相關的客觀評價指標上有了很大的提升,方法也具有一定的通用性[15]。但基于深度學習的去霧方法往往依賴于同一場景下的有霧圖像和無霧清晰圖像對,在實際情況中難以獲取,所以該類方法通常通過大量仿真霧天數(shù)據(jù)進行學習得到網(wǎng)絡結構,在真實霧天場景下效果欠佳。
目前主流的基于暗原色先驗的去霧方法主要存在不適用于大面積白色區(qū)域、大氣光估值過高和去霧參數(shù)較為單一等問題。為此,本文提出了一種結合暗亮通道先驗的遠近景融合去霧算法,去霧后的圖像具有更好的對比度和亮度,同時展示出了更好的視覺感受,解決了傳統(tǒng)暗通道先驗方法所存在的問題。
目前廣泛使用的大氣散射模型表述如下
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中:x表示有霧圖像中各個像素點對應的位置;I(x)表示觀測到的有霧圖像;J(x)表示復原的圖像;A和t(x)分別表示大氣光值和透射率。
假設大氣分布均勻,透射率t(x)的表達式如下
t(x)=e-β d(x)
(2)
式中:β為大氣散射系數(shù);d(x)為場景深度。
2009年,He等提出了暗原色先驗理論,即絕大多數(shù)的無霧圖像在非天空區(qū)域的某些像素在RGB的3個通道中至少有1個顏色通道的像素值很低甚至趨近于0,并將這些像素點稱為暗原色像素點[7]。暗原色Jdark(x)的表達式如下
(3)
用Ic(x)和Jc(x)分別表示某通道下的有霧圖像和清晰圖像。將式(1)兩邊同時除以大氣光值Ac可得
(4)
對等式兩邊同時進行局部區(qū)域最小值運算和顏色通道最小值的操作,可以得到
(5)
(6)
由于保留一定的霧氣會使圖片有景深感,為了使圖片在人眼觀察下更加真實自然,文獻[6]中引入經(jīng)驗值ω=0.95進行調(diào)節(jié),來保留一定程度的霧氣,粗估計的透射率公式改進為
(7)
在式(1)中,如果透射率t(x)過小,將導致直接衰減項J(x)t(x)→0,復原圖像J(x)容易產(chǎn)生噪聲,文獻[6]中對于閾值進行了經(jīng)驗值設定,設置閾值t0=0.1作為t(x)的下限。此時,最終的去霧算法改進為
(8)
He等人提出了引導濾波的方法來細化透射率[7],這種方法不僅大大減少了處理時間,并且經(jīng)過引導濾波細化后的圖像邊緣細節(jié)更加清晰,“塊狀”效應大大減少,去霧效果更好。引導濾波的公式定義為[7]
(9)
式中:|ω|為窗口ωk中的像素個數(shù);ak、bk是窗口ωk的線性參數(shù),為兩個固定常數(shù),它們的值分別為
(10)
(11)
1978年,Otsu提出了一維最大類間方差法,即Otsu算法[16]。該算法以其分割效果良好、適用范圍廣泛并且簡單有效而引起了人們的廣泛關注。但由于圖像中的目標和背景的灰度區(qū)別不明顯時,會導致分割出的圖像信息丟失,因此文獻[17]將一維Otsu閾值法推廣到了二維,二維Otsu算法利用原圖像與其鄰域平滑圖像構建二維直方圖,具有較好的抗噪性。由于霧天條件下,圖像灰度信息區(qū)別較小,在薄霧區(qū)域即近景區(qū)域圖像信息部分缺失以及近景區(qū)域存在亮色物體等原因?qū)е露SOtsu算法分割不均勻,不能準確將近景和遠景區(qū)域分割出來,所以結合二值圖像的腐蝕算法,對分割區(qū)域進行邊界腐蝕,最后選取最大連通區(qū)域作為最終的近景區(qū)域,圖像分割流程圖如圖1所示。
圖1 改進的二維Otsu圖像分割算法流程圖Fig.1 A flow chart of the improved two-dimensional Otsu algorithm
Otsu分割算法與本文分割算法的分割區(qū)域?qū)Ρ热鐖D2所示。在圖2a中,山體應為近景區(qū)域,天空區(qū)域應為遠景區(qū)域,由于山頂存在積雪即亮色物體,Otsu算法沒有準確分割出近景區(qū)域,本文算法在原有基礎上進行改進,較好地分割出了近景區(qū)域。在圖2b中,公路和兩側的樹林應為近景區(qū)域,遠處中間位置的樹林和天空區(qū)域應為遠景區(qū)域,但由于公路存在亮黃色的標志線,Otsu算法沒有準確分割出近景區(qū)域,本文算法在較好地保留了樹的邊緣信息的前提下良好地分割出了近景區(qū)域。
(a)山體場景分割
(b)戶外場景分割圖2 Otsu分割算法與本文分割算法分割區(qū)域?qū)Ρ葓DFig.2 A comparison diagram of segmentation regions between Otsu algorithm and the proposed segmentation algorithm
(12)
(a)城市建筑暗通道對比圖
(b)道路交通暗通道對比圖圖3 傳統(tǒng)暗通道和混合暗通道對比圖Fig.3 A comparison of traditional and mixed dark channels
在基于圖像復原的去霧算法中,大多數(shù)的算法都是基于式(1)所示的大氣光散射模型為基礎進行無霧圖像的復原。在式(1)中,大氣光值A被認為是一個常量,通過大量的實驗發(fā)現(xiàn),大氣光值并非一個唯一確定的值,恒定的大氣光值并不適用于整幅圖像,因此將大氣光散射模型改進為
I(x)=J(x)t(x)+A(x)(1-t(x))
(13)
本文引入亮通道先驗理論對大氣光值進行更為精準的估計。亮通道先驗理論與暗通道先驗理論相對應,經(jīng)過對大量戶外霧天圖像的觀察和實驗,該理論認為:對于霧天圖像的絕大部分區(qū)域,至少存在1個顏色通道具有較大的像素值。對于任意一張有霧圖像I,其亮通道Ilight表達式為
(14)
式中:Ic表示圖像I某一顏色通道的圖像;Ω(x)表示以像素點x為中心的局部區(qū)域。
亮通道理論指出,有霧圖像的某一像素點的亮通道值接近于該有霧圖像對應的無霧圖像的大氣光值[8],可得出下式
Ilight(x)→Alight(x)
(15)
式中:Alight(x)為亮通道所估計的大氣光值,通過式(14)和式(15)可以得到
(16)
由上式可知,有霧圖像的大氣光值可以由其對應的亮通道值來獲取,為了增強大氣光值的魯棒性,本文結合亮通道和混合暗通道對大氣光值的求取進行適當?shù)恼{(diào)整,避免了只利用暗通道獲取大氣光值估值過高的問題。新的大氣光值估值表達式如下
A(x)=mAlight(x)+nA0
(17)
式中:A0的求取方法為首先獲取混合暗通道圖中前0.1%最亮的像素點,其次找到這些像素點所對應的原有霧圖像的像素點,最后再取它們的均值;m和n是調(diào)整參數(shù)。由于實際情況中大氣光值強度大于無霧圖像的強度值,即J(x)≤A(x),又由式(6)可知t(x)∈(0,1),故可以得出J(x)≤I(x)≤A(x)。由前面步驟可知,Alight(x)和A0的計算過程涉及到對I(x)取最大值,所以應該滿足m+n<1,由于亮通道像素值接近無霧圖像的大氣光值,因此通常設置m>n,使通過亮通道獲取的大氣光值權重較大。有霧圖像及其大氣光圖如圖4所示。
(a)城市建筑改進大氣光圖
(b)道路交通改進大氣光圖圖4 有霧圖像與其大氣光圖Fig.4 Foggy image and its atmospheric light map
為了更直觀地觀察去霧算法,將式(13)變形如下
(18)
式中:JY(x)、IY(x)分別表示YCbCr空間的復原圖像和有霧圖像;AY(x)、tY(x)分別表示YCbCr空間的大氣光值和透射率。
求取YCbCr空間的大氣光值時,直接利用傳統(tǒng)暗通道圖中前0.1%最亮的像素點并找到這些像素點對應的原有霧圖像在YCbCr空間中對應的像素點,并求取它們的均值作為大氣光值,如下式所示
(19)
根據(jù)式(7)可得,在YCbCr空間中有
(20)
圖5 YCbCr空間粗透射率細化流程圖Fig.5 Flow chart of refining rough transmittance in YCbCr space
將RGB空間的復原圖像與YCbCr空間的復原圖像進行加權融合,可增強復原圖像的真實感和色彩飽和度,復原圖像修正模型表達式如下
J(x)=pJc(x)+qJY(x)
(21)
式中:p、q是調(diào)節(jié)參數(shù),均為常數(shù),且滿足p+q=1;Jc(x)代表RGB空間的復原圖像;JY(x)代表YCbCr空間的復原圖像;J(x)代表最終的復原圖像。
本文通過實驗的方式確定了調(diào)節(jié)參數(shù)的取值,實驗結果如圖6所示。由圖6可知,當p>0.5、q<0.5時,霧天圖像去霧力度欠缺,圖像中還存在著少量霧氣,當p<0.5、q>0.5時,圖像存在明顯失真。當p=q=0.5時,圖像去霧效果良好,色彩飽和度適中,細節(jié)信息保留完好,達到了較為理想的去霧效果。因此,本文中將參數(shù)值設定為p=q=0.5。
(a)城市有霧圖像
(b)p=1,q=0
(c)p=0.75,q=0.25
(d)p=0.5,q=0.5
(e)p=0.25,q=0.75
(f)p=0,q=1圖6 基于本文算法的不同參數(shù)值下去霧效果對比圖Fig.6 A comparison of defog effects based on different parameter values of the proposed algorithm
經(jīng)過上述的工作,已經(jīng)得到了恢復無霧圖像的條件,在改良的大氣光散射模型中通過提出的暗亮通道融合模型求取出大氣光圖并引入原始圖像的灰度圖作為引導圖像細化透射率,進而在RGB和YCbCr空間分別求取出復原圖像,最后進行基于視覺感知的亮度/顏色補償修正。本文的算法流程圖如圖7所示。
圖7 算法流程圖Fig.7 Flow chart of the algorithm
選取Tarel算法[18]、He算法[19]、Tufail算法[20]以及Xie算法[21]與本文算法進行對比實驗,實驗結果如圖8~圖11所示。
由圖8可見:Tarel算法在整幅圖像呈現(xiàn)灰暗,天空部分失真嚴重;He算法在天空與城市的銜接部分呈現(xiàn)灰霾,存在失真;Tufail算法在整幅圖片上顏色飽和度過高,使圖片發(fā)黃發(fā)暗;Xie算法在城市建筑物邊緣存在一些塊狀效應,并且天空部分出現(xiàn)大面積失真;本文算法在天空區(qū)域還原出了云朵部分以及較為自然的藍色,城市部分清晰,色彩飽和度在視覺感受上更為自然真實。
(a)原圖
(b)Tarel算法[18]
(c)He算法[19]
(d)Tufail算法[20]
(e)Xie算法[21]
(f)本文算法圖8 城市有霧圖像去霧效果對比圖Fig.8 A comparison of defogging effects of image of city with fog
由圖9可見:Tarel算法在整幅圖像顏色飽和度較低,存在噪聲干擾;He算法在整幅圖像偏暗,但去霧效果良好;Tufail算法使圖片呈現(xiàn)大面積藍黑色,出現(xiàn)嚴重失真現(xiàn)象;Xie算法在樹干和車輛邊緣存在一些塊狀效應,整體顏色偏暗;本文算法在遠景濃霧區(qū)域去霧效果良好,色彩飽和度在視覺感受上更為自然真實。
(a)原圖
(b)Tarel算法[18]
(c)He算法[19]
(d)Tufail算法[20]
(e)Xie算法[21]
(f)本文算法圖9 道路有霧圖像去霧效果對比圖Fig.9 A comparison of defogging effects of road foggy image
由圖10可見:Tarel算法在整幅圖像顏色偏灰暗,色彩飽和度較低;He算法在天空區(qū)域偏暗,存在失真;Tufail算法在遠景區(qū)域呈現(xiàn)大面積失真,顏色過暗;Xie算法在建筑物邊緣存在光暈,整體顏色不夠明亮;本文算法在遠景山體及濃霧區(qū)域去霧效果良好,色彩飽和度在視覺感受上更為自然真實。
(a)原圖
(b)Tarel算法[18]
(c)He算法[19]]
(d)Tufail算法[20]
(e)Xie算法[21]
(f)本文算法圖10 鄉(xiāng)鎮(zhèn)有霧圖像去霧效果對比圖Fig.10 A comparison of defogging effects of country foggy image
在圖11中,Tarel算法在遠景區(qū)域還殘存少量薄霧;He算法在遠景區(qū)域出現(xiàn)失真現(xiàn)象;Tufail算法在遠景區(qū)域呈現(xiàn)大面積黑色,圖片出現(xiàn)失真現(xiàn)象;Xie算法在建筑物邊緣存在一些塊狀效應,并且圖片亮度偏低;本文算法在遠景區(qū)域去霧效果相對良好,色彩飽和度在視覺感受上更為自然真實。
(a)原圖
(b)Tarel算法[18]
(c)He算法[19]
(d)Tufail算法[20]
(e)Xie算法[21]
(f)本文算法圖11 港口有霧圖像去霧效果對比圖Fig.11 A comparison of defogging effects of port foggy image
客觀質(zhì)量評價采用通用質(zhì)量指數(shù)(Universal Quality Index,UQI)[22]、結構相似度(Structural Similarity Index Measurement,SSIM)[23]、峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)[24]和信息熵[25]這4個評價指標。結構相似度和通用質(zhì)量指數(shù)為有霧圖像和復原圖像結構相似性的評價指標,數(shù)值越高表示去霧后的圖像結構越合理;峰值信噪比和信息熵分別是衡量圖像失真水平以及圖像信息含量的評價指標,數(shù)值越大表示圖像信息越豐富,圖像細節(jié)越清晰。
4組對比實驗的評價結果如表1~表4所示。
表1 第1組圖像基于5種去霧算法去霧后的客觀評比結果Table 1 Objective evaluation results on the first group of dehazed images based on five defogging algorithms
表2 第2組圖像基于5種去霧算法去霧后的客觀評比結果Table 2 Objective evaluation results on the second group of dehazed images based on five defogging algorithms
表3 第3組圖像基于5種去霧算法去霧后的客觀評比結果Table 3 Objective evaluation results on the third group of dehazed images based on five defogging algorithms
表4 第4組圖像基于5種去霧算法去霧后的客觀評比結果Table 4 Objective evaluation results on the fourth group of dehazed images based on five defogging algorithms
由于Tarel采用的中值濾波方法會造成復原圖像在景深發(fā)生突變的邊緣出現(xiàn)光暈現(xiàn)象,在第1組對比實驗中表現(xiàn)稍差,在其他3組對比實驗中僅次于本文,也展現(xiàn)出了相對良好的復原效果;He的算法由于對大氣光估值不準確,容易造成天空區(qū)域的失真,在第1組對比實驗中評比結果僅次于本文,但在其他3組對比實驗中表現(xiàn)稍差;由于Tufail的算法在YCbCr空間進行大氣光值以及透射率的求取,造成復原圖像色彩飽和度過高,在4組對比實驗中表現(xiàn)最不理想;Xie的算法基于PSNR對透射率中的調(diào)節(jié)參數(shù)進行改進,缺乏對于大氣光值估計以及透射率細化的改進,容易造成圖像部分失真,在4組對比實驗中表現(xiàn)較差,未達到理想效果;本文在改進了對透射率以及大氣光值估計的基礎上,又增加了補償模型進一步改善了圖像的色彩飽和度,所以在4組對比實驗的評比結果中均達到了最優(yōu)值,驗證了本文算法的有效性。
結合暗通道先驗原理本文提出了一種結合暗亮通道先驗的遠近景融合去霧算法。首先提出了改進的二維Otsu圖像分割算法,進而改進了傳統(tǒng)暗通道算法和大氣光散射模型,再通過暗亮通道融合模型求取大氣光圖,進而使用原始有霧圖像的灰度圖作為引導圖像對透射率進行細化,最后引入基于視覺感知的亮度/顏色補償模型提升了圖像的飽和度和對比度。通過圖像質(zhì)量評估實驗得出,本文算法在主觀和客觀角度均取得最好的效果,可以得到更加清晰、細節(jié)更加突出、結構更加明顯的復原圖像,更適于人眼的觀察。