楊燕 陳高科 周杰
霧、霧霾是常見的自然現(xiàn)象,主要是由于大氣中的懸浮固體顆粒和水蒸氣等介質對光的散射和吸收現(xiàn)象形成.這種現(xiàn)象的存在,導致獲取的戶外圖像質量嚴重下降,例如對比度下降、細節(jié)丟失、顏色發(fā)生偏移等,使得戶外視覺系統(tǒng)對圖像的分析造成了一定的障礙.因此,對于霧天圖像的清晰化處理具有一定的研究意義和實際應用價值.
目前,針對單幅圖像去霧算法的研究已經(jīng)取得了一定的成果.按照應用的方法主要分為四類:圖像增強、圖像復原、圖像融合以及機器學習[1].圖像增強方法主要是從圖像本身出發(fā),不考慮圖像退化的本質原因,以消弱/增強某些信息來達到去霧的目的,常見的方法主要是基于Retinex理論的去霧方法[2],這類方法由于缺少一定的模型支持,因此不能達到真正意義上的去霧;圖像復原方法是目前經(jīng)常采用的方法,這種方法從圖像降質的本質出發(fā),建立霧天圖像退化模型,利用先驗知識以及假設逼近模型參數(shù)真實值,從而達到去霧的目的,這類方法有一定的優(yōu)越性,也是目前圖像去霧領域的研究熱點[3],經(jīng)典的方法是暗通道先驗去霧算法[4];圖像融合方法是一種基于融合策略的去霧方法,這種方法通過對退化圖像進行分層研究,從而選取不同的權重圖進行融合,可以取得相對優(yōu)越的效果,但是由于權重值選取上的不足,存在一定的局限性,典型的是多尺度融合圖像去霧算法[5];機器學習方法通過訓練數(shù)據(jù)獲得更加優(yōu)越的去霧模型,從而獲得更好的去霧效果.盡管該方法已經(jīng)取得了一定成果,但是考慮到模型復雜以及數(shù)據(jù)集的約束,目前在去霧領域發(fā)展有限[1].
近年來,基于單幅霧天圖像復原方法的研究取得了巨大的成果.Tan[6]通過大量實驗觀察,發(fā)現(xiàn)無霧圖像比有霧圖像的對比度大,從而提出最大化局部對比度的方法,可以獲取有效的視覺效果,但是復原圖像出現(xiàn)過度飽和現(xiàn)象并且存在光暈現(xiàn)象.Fattal[7]在假設傳輸率與表面色度局部無關的前提下,提出了一種估計場景反照率和介質傳輸率的方法,這種方法物理有效并且可以取得優(yōu)越的效果,但是在假設失效時,就會出現(xiàn)濃霧圖像去霧不成功或失效現(xiàn)象.He等[4]通過對大量的無霧圖像進行實驗統(tǒng)計,提出一種暗通道先驗去霧方法,利用先驗知識解決了大氣散射物理模型的病態(tài)問題,對于滿足暗通道先驗的圖像可以取得很好的去霧效果,但是在不滿足暗通道先驗的區(qū)域可能失效且Soft Matting算法時間復雜度高.后人在暗通道先驗的基礎上,提出了很多改進算法并且取得了一定成果.Meng等[8]考慮到大氣散射模型病態(tài)問題,從而增加約束條件,提出一種基于邊界約束的圖像去霧方法,利用犧牲部分細節(jié)來復原較好的無霧圖像.Sun等[9]提出一種局部大氣光估計方法,可以改善暗通道先驗中全局大氣光值選取不足現(xiàn)象.
本文通過對大量單幅圖像去霧方法的研究,提出一種基于高斯權重衰減的迭代優(yōu)化去霧方法,首先通過構造的高斯函數(shù)對有霧圖像的最小通道進行衰減來達到暗通道先驗的統(tǒng)計效果,然后利用交叉雙邊濾波進行紋理效應消除,從而得到粗略透射率;假設在最優(yōu)透射率前提下,提出無霧圖像高斯暗通道和該最優(yōu)透射率的乘積灰度級趨于0的假設,從而對粗略透射率進行高階濾波迭代優(yōu)化以后向驗證;其次,對于大氣光的選取,采用局部大氣光的策略;最后,結合大氣散射模型復原無霧圖像.實驗結果顯示,本文方法可以取得顯著的去霧效果.
根據(jù)Mie的散射理論,McCartney首次提出了大氣散射模型,后由Narasimhan推導演化而來[4,8?9].
其中,I是視覺系統(tǒng)獲取的有霧圖像,J是最終需要復原的無霧圖像,t是透射率,d是場景深度,表示場景點到系統(tǒng)的距離,A是大氣光值.
He等通過對無霧圖像觀察提出暗通道操作,即
利用式(3)對5000多幅清晰圖像進行統(tǒng)計發(fā)現(xiàn),86%的像素灰度級分布在[0,16]的窄范圍之內,因此提出暗通道先驗
假設全局大氣光A已知,因此,結合式(1)和式(4),可得到透射率
其中,Idark(x)表示有霧圖像的暗通道結果.由于暗通道先驗算法采用了式(3)的最小濾波方法,從而在復原的無霧圖像中會出現(xiàn)明顯的光暈現(xiàn)象.He等利用Soft matting方法細化透射率,盡管取得顯著效果,但是犧牲了時間復雜度.He又提出引導濾波算法[10],時間復雜度明顯減小,但是在復原圖像邊緣區(qū)域留有殘霧.
針對暗通道先驗算法最小濾波的不足,提出一種基于高斯權重衰減的迭代優(yōu)化去霧方法,算法流程如圖1所示.首先,利用構造高斯函數(shù)方法得到高斯暗通道,然后利用交叉雙邊濾波器消除紋理效應得到粗略透射率,為了驗證所提假設成立,利用一組高階濾波器對粗略透射率進行迭代優(yōu)化處理得到優(yōu)化透射率,接著進行后向驗證假設;同時,對大氣光的估計采用局部大氣光的估計方法,首先對有霧圖像最大通道進行形態(tài)學閉操作,然后利用交叉雙邊濾波器進行平滑處理.圖2給出了本文算法具體的實現(xiàn)效果.
考慮到大氣散射物理模型本質上的病態(tài)問題,He等提出了先進的暗通道先驗去霧算法,從而消除了物理模型本身不可解問題,但是暗通道先驗算法采用最小濾波操作導致復原圖像產生嚴重光暈現(xiàn)象或者說透射率出現(xiàn)了明顯的塊狀效應,因此需要耗時的Soft matting算法進行細化處理,從而不能應用于實時處理系統(tǒng),嚴重阻礙了該方法的擴展性,盡管He等后又提出引導濾波替代Soft matting方法,但是處理后的圖像遺留有殘霧.針對上述問題,本文透射率估計方法從基于像素的角度考慮,提出一種利用高斯函數(shù)來衰減有霧圖像最小通道的策略來逼近暗通道先驗統(tǒng)計結果,從而消除最小濾波影響.
2.1.1 高斯暗通道
圖1 本文算法流程圖Fig.1 The flowchart of our algorithm
圖2 本文算法實現(xiàn)過程效果圖Fig.2 The process effect map of our algorithm
高斯函數(shù)在數(shù)字圖像領域具有廣泛的應用,主要是因其具有形狀可控性特點,根據(jù)高斯函數(shù)的數(shù)學特征可知,高斯函數(shù)的曲線以鐘形分布,峰值和寬度可以調整.因此,本文為了消除暗通道先驗算法最小濾波的不足,提出利用高斯函數(shù)的方法來逼近暗通道.首先,利用Kirsch邊緣檢測算子中的一個算子對原始霧圖的亮度值分量進行濾波,從而準確檢測到圖像的邊緣信息,然后進行構造高斯函數(shù),最后利用高斯函數(shù)對有霧圖像的最小通道加權處理.本文將這一結果稱為高斯暗通道,其數(shù)學表達為
其中,M表示最小通道圖,WF是本文構造的高斯函數(shù),具體的數(shù)學表示為
其中,σ是標準差,通過對3000多幅實驗圖像進行大量的實驗測試,σ2=3.5時可以獲得最佳效果,表示用Kirsch邊緣檢測算子對HSV通道中的V分量進行濾波的結果,使用的檢測算子為[?3?3?3;?3 0?3;?3 5 5],通過式(8)可以對邊緣深度交替的像素灰度級進行自適應調整,在邊緣區(qū)域,較大,因此WF(x)變小,相反,在平滑區(qū)域選擇較大的WF(x)值,進而使求得的高斯暗通道可以保持良好的邊緣特性.根據(jù)大氣散射模型,為了使高斯暗通道像素灰度級不高于最小通道像素灰度級,高斯暗通道必須滿足如下約束:
如圖2(c)所示,考慮到高斯暗通道紋理效應比較明顯.為了消除紋理效應,同時保持圖像邊緣信息,采用文獻[9]中的交叉雙邊濾波器,如下所示:
式(10)的效果如圖2(d)所示,從圖中可以看出,利用交叉雙邊濾波后的結果局部平滑,且高斯暗通道更暗,基本上可以反映圖像深度信息,同時具有良好的邊緣保持特性.
假設透射率已知且可以最佳地反映圖像深度信息,那么對于一幅有霧圖像而言,在有霧區(qū)域(白色像素近似于霧)其透射率相對較小,而該有霧圖像對應的最佳無霧圖像在經(jīng)過高斯暗通道處理后其灰度級基本上都趨于最小灰度級,其效果如圖3所示.因此,可以給出如下結論:式(1)中的乘積項J(x)t(x),也即直接衰減項在最佳的情況下,其高斯暗通道下的灰度級必然趨于一個極小范圍,因此,可以得出
圖3 無霧圖像高斯暗通道灰度級分布Fig.3 Gaussian dark channel grayscale distribution of dehazed images
利用高斯暗通道及式(11)的假設可以將式(1)簡化為
那么假設大氣光值A在已知的條件下,就可以得到粗略的透射率,具體表達式為
其中,參數(shù)ω是為了保持復原的無霧圖像的真實性,從而在景深區(qū)域保留少量的霧,本文取ω=0.95,效果如圖2(f)所示.
2.1.2 局部大氣光估計
大氣光值是基于物理模型去霧方法中的一個重要參數(shù),其準確性直接決定著最終復原圖像的質量,根據(jù)式(1)可知,如果選取的全局大氣光值大于其真實值,那么復原的圖像偏暗,需要再進行增強處理,同時伴隨著細節(jié)丟失,反之偏亮,大量細節(jié)丟失.在目前的圖像去霧算法研究中,對于大氣光值選取方面的研究不是很多.針對目前的研究,主要分為兩個思路:全局大氣光值和局部大氣光值.經(jīng)典的暗通道先驗算法通過選取暗通道中亮度最大的前0.1%的像素,然后將這些像素對應到輸入圖像上,選取輸入圖像中對應像素最高強度的像素值作為大氣光A[4];文獻[8]首先對輸入圖像的每個顏色通道進行最小濾波,然后將每個顏色通道中的最大值作為大氣光向量;文獻[11]提出一種自動獲取大氣光值的方法,通過判斷大氣光矢量方向來確定大氣光值.文獻[4]和文獻[8]的方法很容易受到強光源或者大片白色區(qū)域像素影響,具有一定局限性;文獻[11]盡管可以獲得良好的大氣光值,但是在大氣光矢量方向判斷失誤時則失效.考慮到全局大氣光值在出現(xiàn)誤差時會影響整體效果,本文采用Sun等提出的局部大氣光值估計方法[9],首先對輸入的有霧圖像取最大值通道得到Amc(x),接著對Amc(x)執(zhí)行形態(tài)學閉操作,利用形態(tài)學閉操作可以消除局部內部分像素的干擾,最后利用交叉雙邊濾波得到平滑且邊緣保持良好的局部大氣光A(x),實驗效果如圖4所示.利用局部大氣光可以消除全局大氣光估計不準確對整體的影響,從而可以避免由于估計不準確而增加的后處理操作.
通常,透射率反映圖像的深度信息,因此在一個小的局部區(qū)域內的像素應當擁有相同深度值.文獻[8]利用相鄰像素的色差構造加權函數(shù)W(x,y)使得相鄰像素之間的透射率差趨于0,即滿足W(x,y)(t(y)?t(x))≈0.文獻[8]利用Kirsch邊緣檢測算子和Laplacian邊緣檢測算子構成的一組高階濾波器構造的加權函數(shù)為
其中,Dj是一組高階濾波器,j是圖5所示濾波器組的索引,i表示第j個濾波器構造的第i個加權函數(shù),其中i=j=1,2,···,9,參數(shù)σ是標準差.
圖4 局部大氣光過程效果圖Fig.4 The process map of local atmospheric light estimation
圖5 高階濾波器組(中心為Laplacian算子,周圍為Kirsch算子)Fig.5 High order filter bank(Laplacian center,Kirsch operator around)
本文采用Meng等[8]提出的基于L1范式的迭代優(yōu)化方法,給出的目標函數(shù)為
為了優(yōu)化式(15),Meng等采用變量分裂法引進輔助變量uj構造子問題,構造新的代價函數(shù)為
其中,符號?表示元素級的乘法運算符,參數(shù)λ是一個歸一化參數(shù),參數(shù)β是一個權重值,ω是高階算子索引值,?t是式(13)獲取的粗略透射率.通過解決式(16)的代價函數(shù),可以得到最終的優(yōu)化透射率為
其中,F(·)表示傅里葉變換,表示傅里葉逆變換,表示復共軛.參數(shù)β以為縮放因子在β0=1到βmax=28的范圍進行迭代.迭代效果如圖6所示.
圖6 透射率迭代優(yōu)化過程效果圖Fig.6 The transmission iterative optimization process map
從圖6可以看出,隨著高階濾波算子不斷迭代,紋理效應逐漸趨于平滑,深度交替區(qū)域趨于平滑過渡,景深區(qū)域的透射率逐漸減小且更能反映深度信息.
在確定了透射率和大氣光值后,根據(jù)大氣散射物理模型,就可以復原最終的無霧圖像.結合式(1)和式(17)可以恢復圖像為
其中,下限t0是為了防止分母項趨于0.
實驗在MATLAB R2014Ra環(huán)境下運行,硬件環(huán)境為Intel(R)Core(TM)i3-3110M CPU@2.40GHz,6.0GB RAM.為了驗證本文方法的有效性和實用性,本文從視覺效果和客觀評價兩個方面進行實驗對比,對比方法選用經(jīng)典的圖像去霧方法.此外,對式(11)的假設,本節(jié)給出驗證,充分說明本文方法透射率估計的準確性.
視覺上分析是從人的主觀意識出發(fā),往往具有一定的片面性,但是可以快速看出恢復效果的好壞.本文選取目前經(jīng)典的去霧方法做對比,主要有He等的暗通道先驗算法[4]、Meng等的邊界約束算法[8]、Sun等的局部大氣光遮罩估計算法[9]、Zhu等的顏色衰減先驗算法[12]、Cai等的基于端對端系統(tǒng)的去霧方法[13]以及Ren等提出的基于多尺度卷積神經(jīng)網(wǎng)絡去霧方法[14],如圖7所示.
圖7(b)為暗通道先驗去霧效果,恢復的效果細節(jié)明顯增多,基本上去除了霧氣干擾,但是在深度交替的邊緣區(qū)域遺留有殘霧并且圖像明顯偏暗,主要是因為大氣光估計不準確,再者,遠景細節(jié)不是很突出.圖7(c)為邊界約束去霧效果,該方法增加約束條件來解決大氣散射模型病態(tài)問題,盡管恢復的效果細節(jié)增多,但是犧牲了圖像色彩保真度,恢復的圖像出現(xiàn)了明顯的偏色現(xiàn)象并且有偽影出現(xiàn),具有一定的局限性.圖7(d)為局部大氣光遮罩估計的去霧效果,該方法恢復的圖像亮度較好,基本去除了圖像中的霧氣,但是在部分圖像中出現(xiàn)了顏色失真現(xiàn)象,主要是由于形態(tài)學操作的使用所致,再者,恢復的圖像過度飽和、亮度過亮.圖7(e)為Zhu等[12]提出的顏色衰減先驗(Color attenuation prior)去霧方法,該方法通過觀察有霧圖像在HSV(Hue-saturation-value)的分布情況,提出利用飽和度和值的差值估計景深,并提出線性模型進行驗證,從復原的結果可以看出,該方法復原的結果可以凸顯更多的細節(jié),但是仍然存在霧感,即去霧不徹底,并且亮度偏暗,且該方法很難復原濃霧區(qū)域的細節(jié)(圖7(e)右邊兩幅),存在一定的局限性.圖7(f)為Cai等[13]提出的基于端對端系統(tǒng)的去霧方法,該方法利用提出的端對端系統(tǒng)訓練透射率圖以達到最優(yōu)效果,并且提出一種雙邊線性修正單元來提升復原圖像的質量,具有優(yōu)越的性能,并且能夠復原大量的細節(jié)信息,但是由于該方法是基于前人先驗和約束假設的基礎上提出,因此存在一定的不足,例如去霧不徹底以及濃霧去霧效果不佳等.圖7(g)為Ren等[14]提出的基于多尺度卷積神經(jīng)網(wǎng)絡的單幅圖像去霧方法,通過學習霧圖與對應透射率之間的映射關系,提出了深度神經(jīng)網(wǎng)絡去霧方法,該方法利用粗尺度網(wǎng)絡(Coarse-scale net)估計整體透射率,利用優(yōu)化級網(wǎng)絡(Fine-scale net)修正局部結果,但是在訓練多級深度網(wǎng)絡時采用的是合成數(shù)據(jù)集,因此并不適應所有圖像,例如對有大片天空區(qū)域的圖像,復原效果嚴重失真,出現(xiàn)過度飽和與偏色現(xiàn)象(圖7(g)左圖);對濃霧圖像復原力度不夠(圖7(g)右圖);對薄霧且深度交替明顯的圖像,去霧效果相對一些經(jīng)典方法稍有不足(圖7(g)中間兩幅).圖7(h)為本文所提算法實現(xiàn)的去霧效果,從圖中可以看出,恢復圖像細節(jié)明顯增多,亮度適宜.相比暗通道先驗,本文方法復原圖像細節(jié)多,尤其在遠景區(qū)域,并且明亮度相對較好;相比邊界約束方法,本文方法具有良好的色彩保真度性能,并且復原圖像的細節(jié)更多;相比局部大氣光遮罩估計方法,本文實現(xiàn)效果對比度和飽和度都有一定的優(yōu)勢,但是亮度上有所不足;相比Cai等和Ren等的機器學習方法,本文方法對濃霧圖像的處理效果優(yōu)于Ren方法和Cai方法,薄霧圖像雖然復原細節(jié)明顯增多,但略顯飽和,在有天空區(qū)域的圖像處理效果優(yōu)于Ren方法,但不及Cai方法.綜上所述,本文方法在視覺效果上取得了一定的成果,基本復原了圖像的細節(jié),并且對濃霧區(qū)域的處理效果相對更好,亮度比He方法、Meng方法、Zhu方法、Cai方法、Ren方法較好,但是相對Sun方法,本文方法復原的圖像亮度不足,并且由于形態(tài)學的使用,導致對霧霾濃度估計過高,從而出現(xiàn)了局部區(qū)域顏色過度飽和現(xiàn)象.
本文在第2.1.1節(jié)給出如下假設:在最優(yōu)透射率條件下,乘法項滿足Gdark(x)t(x)→0.為了驗證本文透射率的最優(yōu)性,本文對大量的實驗圖像進行測試,主要分為原始有霧圖像和無霧圖像兩類,本節(jié)給出具體驗證.首先給出本文復原圖像的高斯暗通道Gdark(x),然后求得優(yōu)化透射率t(x),為了便于觀察,采用柱狀圖的關系展示,具體如圖8所示,采用的無霧圖像為圖7(h)恢復效果圖.
從圖8可以看出,對于恢復的無霧圖像而言,其對應的高斯暗通道灰度級主要集中分布在[0 50]范圍內,如圖8(a2)和8(b2)所示,說明本文恢復的無霧圖像效果相對較好;其次,對Gdark(x)t(x)的灰度級分布進行大量實驗統(tǒng)計發(fā)現(xiàn),其灰度級基本上分布在[0 16]的范圍之內.因此可以說明本文獲取的透射率基本上是接近真實值,并且可以說明文中所提假設成立.
主觀上的評價往往具有一定的局限性,因此必須采用客觀評價進行說明.對于圖像質量的評估主要分為全參考圖像質量評估、縮減參考圖像質量評估和無參考圖像質量評估[1]三個方面.由于全參考/縮減參考需要相應的清晰圖像,因此很難實現(xiàn),所以在圖像去霧領域,無參考的圖像質量評估方法經(jīng)常使用,常見的有峰值信噪比(PSNR)、結構相似性(SSIM)[15]、信息熵、平均梯度、以及全局對比度[1].本文采用Hautire[16]提出的基于可見邊的對比度增強的評價方法.其中可見邊(e)、歸一化的平均梯度越大越好,恢復圖像的飽和像素點個數(shù)(σ)越小越好.對應的數(shù)學表示為
圖7 實驗效果對比Fig.7 Comparison of experimental results
其中,n0是原有霧圖像的可見邊數(shù),nr是復原圖像的可見邊數(shù),ri是Pi處復原圖像與原有霧圖像的梯度比,?i是復原圖像的可見邊的集合,ns表示飽和像素點數(shù).W和H分別表示圖像的寬和高.實驗對比數(shù)據(jù)如圖9所示.
從圖9所示的客觀評價數(shù)據(jù)可以看出,Meng方法和Ren方法復原的圖像可見邊出現(xiàn)了負值,這也與主觀上出現(xiàn)嚴重偏色相互對應.從圖9(a)可見,本文方法基本上取得了優(yōu)異效果,但相比于Sun方法略顯不足,主要是因為本文方法復原結果亮度相對偏暗;從圖9(b)可以看出,Meng方法顯出了不足之處,本文方法相比Zhu方法、Cai方法和Ren方法整體效果偏好;圖9(c)為飽和像素點數(shù),從圖中可以看出,本文方法在圖1中明顯飽和,因此本文方法對于色彩過度鮮艷的圖像處理結果不好,但依然在可接受范圍之內;圖9(d)為運行時間對比,從圖中可以看出,幾種經(jīng)典方法處理濃霧圖像基本上都比較耗時,本文方法由于采用了形態(tài)學操作和交叉雙邊濾波,因此時間復雜度較高;綜合考慮,本文方法具有一定的優(yōu)越性.
為了改善暗通道先驗算法最小濾波使用導致的透射率塊狀效應/光暈現(xiàn)象,本文提出一種基于高斯權重衰減的迭代優(yōu)化去霧方法.該方法利用高斯衰減代替暗通道先驗中的最小濾波方法,提出高斯暗通道操作,并且提出無霧圖像高斯暗通道與最優(yōu)透射率的乘積趨于灰度級0的假設,從而簡化大氣散射模型,得到粗略透射率;為了使得透射率最優(yōu),本文選用一組高階濾波器的L1范式迭代處理,從而達到預期的效果.對于大氣光的選取,本文從局部大氣光的角度出發(fā),得到局部大氣光圖.最終結合大氣散射模型復原無霧圖像,通過大量實驗測試驗證,本文所提假設成立,并且復原的圖像細節(jié)明顯,明亮度適宜,在客觀評價中也體現(xiàn)出了優(yōu)勢.
圖8 假設驗證效果圖Fig.8 The effect image of validate the hypothesis
圖9 客觀評價(實驗圖像為圖7(a)圖像,從左到右依次為圖1~4)Fig.9 Objective evaluation(experimental images as shown in Fig.7(a)image,followed by left to right for Figs.1~4)