陳子妍,龍道銀,王 霄,覃 濤,楊 靖
(1.貴州大學 電氣工程學院,貴陽 550025;2.中國電建集團貴州工程有限公司,貴陽 550025)
霧是由懸浮空中的細小水滴形成的氣溶膠。由于霧會降低地面水平能見度,因此在霧天采集的戶外圖像通常存在模糊不清、顏色失真等退化現(xiàn)象。近年來,隨著大氣污染物排放量的增加,霧霾的出現(xiàn)日益頻繁,導致戶外視覺系統(tǒng)無法正常工作。因此,研究有效的圖像去霧算法具有重要意義。
目前主流的圖像去霧算法主要包括基于圖像增強[1]的去霧算法和基于物理模型復原圖像[2]的去霧算法?;趫D像增強的去霧算法包括直方圖均衡化算法[3]、同態(tài)濾波算法[4]、小波變換算法[5]和Retinex算法[6]?;谖锢砟P蛷驮瓐D像的去霧算法是通過分析圖像退化原因建立霧天圖像退化模型,然后反推出無霧圖像。該算法可得到去霧后真實的圖像,能有效避免圖像信息大量丟失,具有較好的去霧效果,其主要包括多幅圖像去霧算法和單幅圖像去霧算法。常見的多幅圖像去霧算法有偏振光學成像去霧算法[7]和利用圖像深度信息估算場景模型復原圖像的去霧算法[8]。在單幅圖像去霧方面,文獻[9]提出一種增加物體表面陰影的估計傳輸函數(shù)去霧算法。文獻[10]利用中值濾波估計大氣耗散函數(shù),取得了一定的去霧效果。文獻[11]利用暗通道先驗理論估計大氣光值與透射率復原圖像。雖然暗通道先驗去霧算法的去霧效果較自然,但其對天空等白色物體高亮度區(qū)域大氣光的估計值偏大,同時透射率計算精度較低會造成光暈偽影,導致整體去霧效果偏暗。文獻[12]提出一種有效的正則化去霧算法,將透射率的邊界約束與基于加權L1 范數(shù)的上下文正則化相結合,建立模型估計未知場景透射率。文獻[13]提出一種基于多尺度小波變換的去霧算法,其可對低頻圖像進行去霧處理,同時增強高頻圖像的細節(jié)紋理信息。文獻[14]通過一系列伽馬校正對模糊圖像進行人工欠曝光操作,再利用多尺度拉普拉斯混合方案將所得多幅曝光圖像集處理為無霧圖像集。文獻[15]采用自適應閾值分割算法將圖像分割為亮白區(qū)域與非亮白區(qū)域,并根據灰度計算權重,提高透射率。文獻[16]將顏色線先驗估計的透射率圖和暗通道先驗估計的透射率圖進行加權融合,有效提高了透射率的準確性。
深度學習技術也被應用于圖像去霧處理。文獻[17]提出一種多尺度深度神經網絡去霧算法,利用粗尺度神經網絡估計透射率,并通過細尺度神經網絡細化透射率圖的局部細節(jié)。文獻[18]提出一種基于殘差的深度卷積神經網絡去霧算法,有效提高了去霧效率。針對深度學習算法去霧后仍有殘霧的問題,文獻[19]提出一種雙域分解的多尺度深度學習去霧算法,利用結合高頻子霧網絡與低頻子霧網絡的多尺度深度學習網絡獲得良好的去霧效果,但該算法復雜度較高。
本文針對暗通道先驗去霧算法得到的圖像透射率不精確、去霧后整體偏暗以及大氣光值偏大等問題,提出一種改進的暗通道去霧算法。根據可見光在霧天衰減速度不同的特點,通過求取霧天圖像藍色通道的逆通道來校正暗通道圖,在引導濾波中引入權重因子對平滑因子進行自適應調整,以獲得圖像不同位置的濾波強度,從而更準確地細化透射率。在此基礎上,結合最大類間方差法和形態(tài)學分割得到圖像的天空部分,選取其中亮度最大像素值的平均值作為大氣光值,最終修復得到去霧圖像。
大氣散射模型[20]主要包括霧天圖像成像過程與各個要素,其常用于圖像的去霧修復,表達式如下:
其中,I(x)為輸入圖像(有霧圖像),J(x)為輸出圖像(去霧圖像),A為無窮遠的大氣光值,x為圖像中像素點的位置,t(x)為透射率(傳輸函數(shù)),表示經過粒子散射后達到成像設備的光比例。
文獻[11]對大量去霧圖像進行統(tǒng)計后發(fā)現(xiàn),在非天空區(qū)域圖像的紅色通道(R)、綠色通道(G)和藍色通道(B)中存在至少1 個顏色通道的像素值很低且趨近于0,在此基礎上提出暗通道先驗理論,將任意去霧圖像的暗通道表示為:
其中,Jc為去霧圖像J的某個顏色通道,Ω(x)為以x為中心的矩形窗口,Jdark為J的暗通道。假設已知大氣光值A,且在每個局部窗口的透射率t不變,則對式(1)取最小值:
取3 個顏色通道中的最小值:
根據暗通道先驗理論計算如下:
由于Ac>0,因此可粗略估算出透射率t為:
因為空氣中存在細小顆粒,在晴天觀察遠處物體時有霧存在,所以為使圖像保持深度感[11],在遠處有霧的情況下引入常數(shù)ω(0<ω≤1,通常ω取0.95)進行計算,計算公式如下:
當t(x)接近0 時,修復圖像中包含噪音,因此設定下限透射率t0,得到最終修復圖像J(x)為:
由于粗略估算的透射率t會使修復圖像出現(xiàn)塊效應,可用軟摳圖的方法優(yōu)化透射率[11],但該方法計算時間較長,實用性較差,因此采用引導濾波優(yōu)化透射率以提高算法執(zhí)行速度[11]。
由于霧對不同波長可見光的吸收率不同,導致其衰減速度不同,其中在霧天藍光衰減速度最快[21],藍色通道像素值接近0。由式(7)可知,要得到透射率t的估計值需計算所輸入霧天圖像I的暗通道。本文在計算霧天圖像I的暗通道時考慮紅色通道和綠色通道以及藍色通道的逆通道,藍色通道的逆通道可表征藍光衰減情況,將藍色通道的逆通道定義如下:
式(7)中霧天圖像I的暗通道表達式為:
不同算法的暗通道和去霧效果如圖1 所示。由圖1(b)和圖1(c)可以看出,本文利用藍色通道的逆通道所得暗通道圖像在無窮遠處的暗通道值比HE等人[11]提出的暗通道去霧算法(以下稱為HE 算法)中暗通道值更低,避免了透射率估計值偏小的問題,不會出現(xiàn)光暈現(xiàn)象。圖1(d)和圖1(e)分別為HE 算法和本文改進算法(以下稱為本文算法)的去霧效果圖,可以看出,由于霧天大氣光濃度較大,有霧圖像的暗通道強度值較高,使最終效果圖(見圖1(d))整體偏暗,且在無窮遠處(天空區(qū)域)計算所得透射率t較小,容易在天空區(qū)域產生光暈(見圖1(d)方框處),本文算法所得圖像的無窮遠處(見圖1(e)方框處)色彩過渡平緩自然,圖像整體清晰度更高。
圖1 不同算法的暗通道和去霧效果圖Fig.1 Dark channel and defogging effect images of different algorithms
引導濾波算法[22]具有復雜度低、計算速度快和執(zhí)行效率高等特性,其在進行濾波處理時需要引導圖像。假設輸出圖像q與引導圖像I存在如下關系:
其中,ωk為以像素k為中心的局部窗口,ak與bk為引導圖像在局部窗口ωk的線性不變系數(shù)。
為得到ak和bk的最優(yōu)解并最小化輸入圖像p與輸出圖像q的差異,使濾波處理后的圖像與輸入圖像p基本相同,其細節(jié)紋理與引導圖像相同,采用最小二乘法擬合線性關系,擬合函數(shù)表達式為:
其中,ε為平滑因子。利用ε去除過大的ak值,相關計算公式如下:
其中,μk和分別為I在局部窗口ωk的平均值和方差,為局部窗口ωk中輸入圖像p的平均值。
因為引導濾波在不同窗口采用相同的平滑因子ε,且ak所受約束力相同,所以暫不考慮各個窗口內像素之間存在的紋理性差異。由于過大的ak會導致濾波效果過度,使圖像邊緣出現(xiàn)光暈現(xiàn)象[23],因此引入權重因子λ對平滑因子ε進行自適應調整,在圖像邊緣疊加較小的平滑因子ε來增強算法的魯棒性。
改進的引導濾波算法步驟如下:
1)用Sobel 算子自動設定邊緣閾值t,利用圖像梯度模值M表示圖像中每個像素灰度變化的特征(圖像邊緣處梯度值大,非邊緣處梯度值?。?,將邊緣閾值t與梯度值M進行比較,以檢測出位于邊緣的像素點。
2)引入權重因子λ,將原有的平滑因子ε調整為自適應平滑因子ε/λ。由于要在圖像邊緣疊加較小的平滑因子ε,因此邊緣處的λ值和像素點局部方差需較大,根據上述圖像邊緣的特點,定義權重因子λ為:
加入權重因子后得到擬合函數(shù)如下:
改進前后引導濾波的透射率效果如圖2 所示,引導圖像I為原始圖,輸入圖像p為粗透射率效果圖。可以看出,改進后的濾波圖整體上與輸入圖像p相似,其在細節(jié)紋理上與引導圖像相同,整體效果較改進前算法更優(yōu)。
圖2 改進前后引導濾波透射率效果圖Fig.2 Effect images of transmittance of guided filtering before and after improvement
因為圖像中有大氣光,其與霧疊加后較自身更亮,透射率t一般較小,所以霧覆蓋圖像的暗通道具有較高強度值,可將暗通道強度值作為霧濃度的粗略近似值。因此,HE 算法選取暗通道中亮度最大0.1%的像素[11],并將輸入圖像I中強度最大的像素點設定為大氣光值。
由于部分圖像包含白色物體、車燈和路燈等人造光源,導致所選大氣光值偏大,從而會影響后續(xù)圖像的處理。因為霧天圖像中天空的顏色與大氣光非常接近,所以將圖像分割為天空部分與非天空部分[24],根據天空部分計算大氣光值,具體步驟如下:
1)利用最大類間差法OTSU[25]將有霧圖像進行二值化分割。
2)采用形態(tài)學膨脹與腐蝕操作將圖像分割為前景(天空部分)與背景(非天空部分)圖像。
3)提取前景圖像,選取天空中亮度最大0.1%像素的平均值作為大氣光值。
天空區(qū)域分割前后的效果如圖3 所示,采用上述方法不僅可避免白色物體、車燈和路燈等造成的大氣光取值偏差,還能減弱圖像的噪聲干擾。
圖3 天空區(qū)域分割前后的效果圖Fig.3 Effect images before and after sky area segmentation
本文算法的具體流程如下:
1)分離出霧天圖像的紅、綠、藍3 個顏色通道,由霧天圖像藍色通道的逆通道Binverse得到新的霧天圖像暗通道
2)利用新的霧天圖像暗通道I′dark,粗略計算得到初始透射率t。
3)將霧天圖像的灰度圖作為引導圖像,利用加入自適應平滑因子的改進引導濾波細化初始透射率。
4)采用最大類間差法分割圖像的天空部分,選取天空中亮度最大0.1%像素的平均值作為大氣光值A。
5)利用透射率t和大氣光值A得到無霧圖像J。
本文在MATLAB2014b平臺對所提算法進行驗證。仿真實驗采用Windows10 操作系統(tǒng),Intel Core i5@2.3 GB,4 GB 內存和840 MB 顯卡。參數(shù)設置為:暗通道中最小值濾波窗口Ω=7,透射率下限值t0=0.1,改進引導濾波的濾波半徑r=56,平滑因子ε=0.01。
為評估本文算法的有效性,將本文算法的圖像修復效果與采用暗通道先驗去霧的HE 算法[11]、文獻[12]中基于邊界限制的去霧算法(以下稱為文獻[12]算法)、文獻[13]中多尺度小波去霧算法(以下稱為文獻[13]算法)、文獻[14]中基于融合的圖像去霧算法(以下稱為文獻[14]算法)的圖像修復效果進行對比。
由于主觀評價是根據評價人員主觀意識得到的評價結果,為更準確評估本文算法,選取峰值信噪比(Peak Signal to Noise Ratio,PSNR)、均方誤差(Mean Square Error,MSE)[26]和結構相似性(Structual Similarity,SSIM)3 個常用的全參考客觀評價指標,以及可見邊增加比率e、飽和像素點比率σ和規(guī)范化的可見邊梯度均值rˉ3 個適用于霧天圖像質量評價的無參考評價指標[27]。峰值信噪比與均方誤差是根據待測圖像與參考圖像之間灰度值的差異衡量圖像質量,峰值信噪比越大,表明圖像失真度越小,圖像質量越好;均方誤差越小,圖像質量越好。相關計算公式如下:
其中,fij為霧天圖像在(i,j)處的像素值,為去霧后圖像在(i,j)處的像素值,L=255 為峰值信號。
結構相似性反映出圖像質量的優(yōu)劣程度和兩幅圖像的相似度,SSIM 值越大表明圖像質量越好,其計算公式如下:
其中,l為亮度信息,c為對比度信息,s為結構信息,α、β、γ均大于0。l、c和s的計算公式如下:
其中,μx和μy分別為霧天圖像和去霧圖像的均值,σx和σy分別為霧天圖像和去霧圖像的方差,σxy為協(xié)方差,C1、C2和C3是防止分母為0 的常數(shù)。
文獻[26]提出的對比度增強評價方法是通過可見邊檢測得到圖像對比度,利用可見邊增加比率e、飽和像素點比率σ和規(guī)范化的可見邊梯度均值3個指標值衡量圖像對比度的增強能力,其計算公式如下:
其中,n0和nr分別為霧天圖像和去霧圖像中可見景物邊緣輪廓的數(shù)量,ns為灰度值為0 的像素數(shù)目,dimx和dimy分別為圖像的寬度和長度,?r為去霧圖像的可見邊集合,Pi為去霧圖像可見邊的像素點,ri為去霧圖像在Pi處的Sobel 梯度與霧天圖像在Pi處Sobel 梯度的比值。當e與rˉ值越大且σ值越小時,表明去霧后的圖像質量越好。
本文算法與HE 算法、文獻[12]算法、文獻[13]算法、文獻[14]算法得到的圖像修復效果如圖4~圖7所示。由圖4(f)~圖7(f)可以看出:HE 算法所得圖像的天空部分出現(xiàn)不同程度的光暈現(xiàn)象,特別是圖6(f)和圖7(f)中較明顯;圖4(f)出現(xiàn)色偏現(xiàn)象,圖像局部顏色偏黃;圖5(f)從主觀視覺上看整體較暗。上述現(xiàn)象是由透射率與大氣光值估計不準確導致。文獻[12]算法所得圖像雖未出現(xiàn)光暈現(xiàn)象,但在圖4(g)~圖7(g)中天空部分出現(xiàn)大面積的亮白區(qū)域,去霧效果不自然,且圖4(g)和圖6(g)中建筑物區(qū)域存在顏色失真問題。文獻[13]算法所得圖像整體效果優(yōu)于HE 算法和文獻[12]算法,但圖6(i)和圖7(i)的天空區(qū)域仍有輕微光暈,圖4(i)~圖7(i)中景物偏暗,局部區(qū)域非常模糊,失去物體的層次感。文獻[14]算法所得圖像的天空部分雖然未出現(xiàn)光暈現(xiàn)象,圖像整體亮度適中,但存在顏色失真問題,且物體邊緣處灰度不連續(xù),呈現(xiàn)輕微鋸齒狀。由圖4(j)~圖7(j)可以看出,本文算法所得圖像的天空區(qū)域均未出現(xiàn)光暈偽影現(xiàn)象,圖像整體亮度適中,不存在色偏和顏色失真問題,物體邊緣清晰且立體感較強,有效解決了HE 算法存在的不足。
圖4 不同算法得到的天安門效果圖Fig.4 Effect images of Tian An Men obtained by different algorithms
圖5 不同算法得到的風景效果圖Fig.5 Effect images of landscape obtained by different algorithms
圖6 不同算法得到的城市效果圖Fig.6 Effect images of city obtained by different algorithms
圖7 不同算法得到的樓房效果圖Fig.7 Effect images of buildings obtained by different algorithms
HE 算法、文獻[12]算法、文獻[13]算法、文獻[14]算法及本文算法的PSNR 值、MSE 值和SSIM 值對比如表1~表3 所示。由表1 可見本文算法的PSNR 值高于其他算法,表明其所得修復圖像的失真度更小。由表2可見本文算法所得修復圖像的MSE 值明顯小于其他算法,表明去霧圖像與原始圖像的像素之間差異更小。由表3 可見本文算法修復圖像與原始圖像相似度更高,較好地保留了圖像的原有信息。
表1 不同算法的PSNR 值對比Table 1 Comparison of PSNR values of different algorithms dB
表2 不同算法的MSE 值對比Table 2 Comparison of MSE values of different algorithms
表3 不同算法的SSIM 值對比Table 3 Comparison of SSIM values of different algorithms
HE 算法、文獻[12]算法、文獻[13]算法、文獻[14]算法及本文算法的e值、σ值和rˉ值對比如表4~表6所示??梢钥闯?,本文算法的e值與rˉ值更大且σ值更小,表明其所得圖像修復效果更優(yōu)。結合主觀和客觀的評價結果可知,本文算法能有效復原圖像。
表4 不同算法的e 值對比Table 4 Comparison of e values of different algorithms
表5 不同算法的σ 值對比Table 5 Comparison of σ values of different algorithms %
表6 不同算法的rˉ值對比Table 6 Comparison of rˉvalues of different algorithms
本文提出一種結合逆通道與改進引導濾波的暗通道去霧算法。引入藍色光的逆通道得到修正的霧天圖像暗通道圖,利用改進的暗通道圖與自適應引導濾波計算透射率,通過最大類間方差法和形態(tài)學操作分割出圖像的天空部分得到大氣光值,最終得到去霧圖像。實驗結果表明,與基于邊界限制的去霧算法和多尺度小波去霧算法相比,該算法的去霧效果更優(yōu),圖像色彩明亮且對比度高,邊緣信息保留完整,視覺效果更真實自然。后續(xù)將改進算法進一步提高實時性,以應用于監(jiān)控視頻去霧。