王效靈,胡志杰,徐帥帥,黃浩如
(浙江工商大學 信息與電子工程學院,杭州 310018)
霧霾是常見的大氣污染現象,是由空氣中的灰塵硫酸還有硝酸等顆粒物組成的溶膠系統(tǒng)造成的視覺障礙,導致霧霾天成像結果低質,不利于計算機視覺的后續(xù)研究,因此圖像去霧具有重要的研究意義。
目前,圖像去霧領域大致有基于圖像增強、基于深度學習和基于圖像復原三大研究方向?;趫D像增強的方法有直方圖均衡[1]、基于Retinex 理論[2-4]等,雖然霧圖的對比度等得到了增強,也改善了視覺效果,但無法真實地實現圖像去霧。基于深度學習的方法是通過訓練網絡模型實現端到端去霧,缺點是訓練耗時,且目前合成的霧數據集多而自然霧數據集少。ZHANG等[5]提出DCPD 模型,結合語義分割的生成器和判別器實現去霧。CHEN等[6]提出一種基于生成對抗網絡的無監(jiān)督學習訓練去霧模型GCANet。REN等[7]提出一種多尺度特征的CNN 模型來訓練霧圖的透射率進行去霧。ZHAO等[8]提出兩階段弱監(jiān)督RefineDNet 模型,一階段采用暗通道恢復可見性,二階段使用未配對的霧狀清晰圖像進行對抗性學習提高復原真實性。YANG等[9]提出可實現自增強的去霧網絡框架,但對過亮區(qū)域的透射率估計偏高,引起深度網絡對這些區(qū)域的深度預測值偏低。LI等[10]提出一種沙漏式結構且基于殘差網絡的Hourglass-DehazeNet,在多尺度上進行靈活的信息交互和聚合?;趫D像復原的方法是使用特定物理成像模型實現霧氣的退化,是目前流行的真實去霧方法。LIU等[11]根據亮度和飽和度呈正相關的規(guī)律估計透射率,但對于景深處的去霧效果差。HE等[12]提出經典的暗通道先驗(Dark Channel Prior,DCP)去霧算法,利用統(tǒng)計先驗知識并結合大氣散射模型高效復原無霧圖,但出現了一定的光暈偽影、色彩偏移等問題,且在天空區(qū)域中會失效。RAIKWAR等[13]將透射率估計問題映射為模糊圖像與無霧圖像間最小值通道差的估計問題。JU等[14]在大氣散射模型中增加光吸收系數來提升恢復圖像的可見度,但其拉伸策略的全局性較差。何濤等[15]利用可自動調整的霧氣保留參數和容差機制改進了暗通道先驗算法,改善對天空區(qū)域的處理,但容差系數的固定選擇無法適用于不同場景的霧圖。LI等[16]和王碩等[17]運用暗通道置信度的理論,自適應修正了DCP 不適用區(qū)域的透射率,但處理后圖像的景深處去霧效果差。王國棟等[18]利用散射介質成像模型,基于低秩分解并結合像素置亂方法進行去霧,但對霧氣分布不均勻的圖像處理不佳。吳向平等[19]利用深度學習模型得到霧圖的物理景深估計模型,基于景深信息進行自適應圖像Retinex 操作實現去霧。
本文提出基于結構相似性(Structural Similarity,SSIM)指標和側重因子的穩(wěn)定透射率擬合算法和結合非線性規(guī)劃(Non-Linear Programming,NLP)模型和偏度知識的新大氣光值確定方法,結合并調整置信度解決DCP 在天空區(qū)域的失效問題,同時對圖像進行策略性的增強融合。
計算機視覺和圖形圖像領域一般利用大氣散射模型來描述霧天圖像降質的過程,可表示如下:
其中:x表示圖像像素;I(x)表示霧圖;J(x)表示無霧圖;A表示全局大氣光值;t(x)表示透射率;A[1-t(x)]表示大氣光幕[20]。在均勻介質中,t(x)可表示如下:
其中:θ表示介質散射系數;d(x)表示成像景深。
因此,根據大氣散射模型,輸入霧圖、大氣光值和透射率就能反解方程得到去霧圖。
除室外無霧圖像的非天空區(qū)域外,圖像的其他部分至少有一個顏色通道強度趨近于0,對于霧圖I(x),暗通道可表示如下:
其中:Jdark(x)表示暗通道;Ω(x)表示最小值濾波窗口;c表示R、G、B顏色通道。
結合式(1)和式(3),對于給定的全局大氣光值A,計算出霧圖的透射率t(x):
其中:ω表示霧氣保留系數,一般取為0.95,維持圖像的少量霧氣以保證真實性。
根據大氣散射模型,得出最終的去霧圖像J(x)可表示如下:
其中:tω設置為0.1,避免分母為0。
結構相似性[21]從亮度、對比度、結構化3 個層面,對A、B進行相似性的客觀評估,可表示如下:
其中:Lig(A,B)表示亮度相似度;Con(A,B)表示對比度相似度;Str(A,B)表示結構化相似度。A、B兩圖SSIM 的值域為[0,1],SSIM(A,B)越大,說明圖像A、B整體越相似。
改進暗通道先驗和策略性融合的圖像去霧算法流程如圖1 所示。首先,獲取多窗口下DCP 算法的透射率ti(x)和相應大氣光值Ai;接著,使用基于SSIM 的調節(jié)因子αi和側重因子βi擬合透射率;然后,假設一個非線性規(guī)劃模型,通過系數約束和偏度約束,從Ai組中計算A,繼續(xù)引入并調整置信度補償天空區(qū)域的透射率,并快速引導濾波細化;最后,反解大氣散射模型,轉換為HSV 模型增強亮度V,結合置信度特點進行增強前后圖像的策略性融合,得到最終的去霧圖。
暗通道先驗算法去霧效果如圖2 所示(彩色效果見《計算機工程》官網HTML 版)。選擇15×15 像素的最小值濾波窗口對最小值通道進行處理,具有較好的去霧能力且復原度高,但透射率精細度較低、信息丟失導致去霧圖存在光暈現象,如圖2(c)所示。通過逐漸縮小最小值濾波窗口的尺寸,雖然透射率越來越高,但復原效果越來越差,圖像失真、過飽和嚴重,如圖2(i)所示。
根據不同尺寸的最小值濾波窗口,基于暗通道先驗算法可得到不同效果傾向的復原圖。因此,本文提出一種基于SSIM 指標的調節(jié)和側重因子并用于擬合多窗口透射率的算法。
首先,選取3×3、6×6、9×9、12×12、15×15 像素的最小值濾波窗口,使用式(3)和式(4)處理霧圖,分別得到對應的透射率t0(x)、t1(x)、t2(x)、t3(x)、t4(x)和大氣光值A0、A1、A2、A3、A4,其中,t0(x)精細度相對較高但復原度相對較低,t4(x)反之。
接著,結合式(6)定義調節(jié)因子αi:
其中:SSSIM[ti(x),t0(x)],i∈[0,4]為相對精細程 度;SSSIM[ti(x),t4(x)]為相對復原程度;αi=1 表示第i幅霧圖的透射率在樣本組中沒有相對信息提供,αi越大,說明能提供越多的相對信息。
然后,計算全局側重數β:
其中:N=4;β>1 表示在擬合過程中側重于相對精細程度大的透射率,反之側重于相對復原效果好的透射率。側重因子βi可表示如下:
其中:若全局側重數β>1,當透射率ti(x)對應的相對精細程度大于相對復原程度,則令其側重因子βi=β,否則保持為1;若全局側重數β≤1,當ti(x)對應的相對復原程度大于相對精細程度,則令側重因子否則保持為1。
結合式(7)~式(9),擬合得到新的透射率t(x):
表1 給出了原始霧圖的各透射率,可以看出通過αi和βi擬合出的透射率相對信息最多,穩(wěn)定性更好。
表1 原始霧圖的透射性能Table 1 Transmission performance of the original hazy images
利用暗通道先驗算法得到大氣光值A0、A1、A2、A3和A4,因為理論穩(wěn)定 或者波動幅度 不大,所以稱(A0,A1,A2,A3,A4)為大氣光值組。當它們全部相等時,則認為得到穩(wěn)定可靠的全局大氣光值;當它們不完全相等時,則必然存在最大值、最小值導致大氣光值誤差。
因此,基于NLP 模型求取霧圖的全局大氣光值A,使A在一定約束條件下保持理論合理性,假設:
其中:Z是待求取符合約束條件的最大值,避免了過小的不準確大氣光值;Amin、Aavg和Amax分別是(A0,A1,A2,A3,A4)中的最小值、平均值和最大值;通過差值步長比控制求和權重進行系數約束,增加異常Amin或者Amax情況下的容錯性;條件約束是計算偏度PZ并迫使其盡可能靠近0。亮通道原理[22]指出:霧圖的像素點的亮通道強度趨近于其無霧時的大氣光值強度。霧圖亮通道的所有強度值可視作一個大氣光值組。從目前規(guī)模較大的單幅圖像去霧數據集RESIDE[23]中隨機取4 000 幅霧圖,根據亮通道原理[22]求取各像素的亮通道強度組成大氣光值組,利用MATLAB 庫函數Skewness 計算各組的偏度值,4 000 幅隨機霧圖大氣光值組的偏度統(tǒng)計分布如圖3 所示。
圖3 4 000 幅霧圖大氣光值組的偏度統(tǒng)計分布Fig.3 Skewness statistical distribution of atmospheric light group in 4 000 hazy images
增加樣本繼續(xù)進行統(tǒng)計,可以發(fā)現:對于不完全相等的隨機大氣光值組而言,理論成立的樣本光越多,其組元素值表現為相對均勻地分布在均值兩側,即偏度趨近于0。
因此,使用Z對(A0,A1,A2,A3,A4)隨機組進行偏度校正。偏度PZ可表示如下:
其中:AZ,i表示新大氣光值組(A0,A1,A2,A3,A4,Z)元 素;λZ表示該組的標準差;AZ,avg表示該組的均值。
最后,將式(12)代入式(11)求解NLP 模型符合條件的最優(yōu)Z值,并取當前組的AZ,avg為全局大氣光值A。
暗通道先驗算法不能處理天空區(qū)域,引入置信度[17]并調整,以補償這些區(qū)域的透射率。首先,結合二維高斯函數,利用HSV 模型的V、S空間信息,計算置信度C(x):
其中:Vmin(x)、Smax(x)是分別對V、S分量進行最小值和最大值濾波的結果;文獻[17]令V、S分量濾波窗口的大小等于其計算暗通道時的窗口大小,由于采用多窗口擬合透射率,為了穩(wěn)定尺寸,選取第2.1 節(jié)的中間窗口大小,即9×9 像素;C(x)設定閾值為0.5,防止透射率過補償;c是自適應調節(jié)參數。c可表示如下:
其中:A為全局大氣光值,可自動調節(jié)c以取得更好的算法效果。
包含不同尺寸的天空區(qū)域的霧圖和對應圖如圖4 所示(彩色效果見《計算機工程》官網HTML版)。觀察圖4(d)并結合像素點值可得一般區(qū)域的置信度非常大并接近1,利用該特點進行透射率的快速補償[如式(15)所示]。采用快速引導濾波器進一步細化得到最終的透射率,反解大氣散射模型得到去霧圖。對比圖4(b)和圖4(e)可以看出,在對置信度調整后,既能補償天空區(qū)域的透射率,又能維持一般區(qū)域的穩(wěn)定性,復原效果更佳。
基于暗通道先驗算法的復原圖像往往整體偏暗,因此將復原圖轉換成HSV 模型,對亮度V空間進行增強。
在V空間進行對比度受限的自適應直方圖均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE),將對比度限制為0.01 防止圖像過增強,使用2×2 像素的滑塊進行局部均衡。
如圖5 所示(彩色效果見《計算機工程》官網HTML 版),對比圖像增強前后,非天空場景的視覺效果得到顯著提升,但天空區(qū)域出現了一定的偽影和紋理,CLAHE 造成天空失真,反觀增強前的天空場景保留完好,因此設計一種圖像融合策略。
圖5 圖像增強前后對比Fig.5 Comparison of images before and after enhancement
首先,將置信圖的天空部分(背景色)和非天空部分(前景色)天然粗分割,可直接用最大類間方差法快速進行二值分割。對于置信圖C(x),將非天空區(qū)域和天空背景的閾值記作k,屬于非天空區(qū)域的像素點數占C(x)總像素數的比值為φ0,平均像素值為μ0。同理,天空背景有φ1和μ1。類間方差g可表示如下:
遍歷C(x)的像素值,得到使g最大情況下的最優(yōu)閾值k,分割置信圖得到二值圖K(x),如圖6所示。
圖6 置信圖的二值分割Fig.6 Binary segmentation of confidence image
令CLAHE 前后的去霧圖分別為Jbef(x)和Jaft(x),為了減弱K(x)的0-1 突變邊緣造成最終圖像J(x)在拼接處的明顯痕跡以及違和感,采用各向同性的高斯平滑核增加標準差σ來模糊置信度二值圖,可表示如下:
設置方形高斯平滑核的尺寸如下:
σ越小,拼接區(qū)域越突兀;σ越大,Jbef(x)天空區(qū)域的權值越不穩(wěn)定,且會弱化圖像整體增強效果,因此一般取15。最終圖像J(x)可表示如下:
融合圖像的天空背景真實準確,非天空場景得到很好的視覺性增強且融合效果不突兀。
為了驗證所提算法的有效性,搭建實驗平臺進行驗證。硬件平臺配置為Intel Core i7-6700HQ@2.60 GHz,12 GB 內存,Windows 10 專業(yè)版,軟件平臺為MATLAB R2019a。實驗圖片來自去霧領域的相關論文和單幅圖像去霧數據集RESIDE[23],混合主觀測試子集HSTS 包含了10 張真實霧圖以及10 張對應的已知樣本真值圖片(合成),從主客觀角度與其他算法進行比較分析。
通過主觀評價能直接快速對復原效果進行分析,所提算法與其他去霧算法的復原效果比較如圖7所示(彩色效果見《計算機工程》官網HTML 版)。
圖7 不同算法的復原效果比較1Fig.7 Comparison 1 of restoration effects of the different algorithms
如7 圖所示,image 1、2、3 是不包含天空區(qū)域的霧圖,image 4、5、6 霧圖分別存在不同尺寸的天空場景。由圖7 可以看出:文獻[6]算法處理的image 4、5、6 天空區(qū)域效果不穩(wěn)定,其中,image 4 的天空嚴重失真,處理的image 1、2、3 存在一定的顏色偏移,視覺效果較差;文獻[12]算法由于較低的透射率導致image 3、5、6 存在明顯光暈效應,因為圖像中高亮像素的影響導致image 1 的顏色偏移、image 2、3 圖像過暗,image 4、5、6 的天空失真嚴重;文獻[15]算法引入容差機制但由于容差系數過大,導致image 1、2、3、4 的去霧效果不理想;文獻[17]算法用自適應校正透射率算法進行去霧,觀察image 1、3、5 存在景深突變區(qū)域霧氣殘留問題,image 2、6 顏色過暗,image 4 天空輕微失真。經過大量霧圖的測試實驗可知,所提算法對包含不同尺寸天空區(qū)域的霧圖表現良好,能夠復原并增強場景細節(jié)和色彩,同時不失去圖像去霧真實性。
相較于主觀評價,客觀評價可以更好地分析算法的性能表現。使用HAUTIèRE等[24]提出的可見邊增率(l)、信息熵(H)、平均梯度(G)3 個性能指標進行客觀評價。
l計算圖像的邊緣信息變化程度,值越大,圖像復原效果越好[25],可表示如下:
其中:lr和lo分別為恢復圖像和原始圖像的可見邊數。
H計算圖像的信息量程度,值越大,包含的信息越多,可表示如下:
其中:M是不同像素點值ai的總數;R(ai)表示每個ai值在所有像素中出現的概率。
G計算圖像的紋理復雜程度,值越大,圖像越清晰,分辨率越高,可表示如下:
其中:m和n分別是圖像的總行數和總列數;G(x,y)為圖像第x行和第y列的灰度值。
根據圖7,各算法處理得到的圖像與各霧圖之間的l指標如表2 所示,其中,最優(yōu)指標值用加粗字體標示。由表2 可以看出,所提算法對不同場景下的霧圖均有較高的l值,較其他算法提升約79%~131%,在保護霧圖強邊緣細節(jié)的同時,能夠恢復出大量被霧氣影響的邊緣信息。
表2 不同算法處理各霧圖的l 指標比較Table 2 Comparison of l indexes for processing various hazy images using different algorithms
根據圖7,各算法處理得到的圖像與各霧圖之間的H、G指標如表3、表4 所示,其中,最優(yōu)指標值用加粗字體標示。由表3、表4 可以看出:其他算法的處理導致一些霧圖的失真或是本該平滑的區(qū)域(如天空)出現過多紋理,存在拉高了H和G指標的情況;所提算法的H、G表現優(yōu)勢明顯,較其他算法分別提升3%~9%、39%~81%,同時保留了平滑區(qū)域,符合主觀評價中圖像信息豐富、分辨率高、天空自然的復原效果。
表3 不同算法處理各霧圖的H 指標比較Table 3 Comparison of H indexes for processing various hazy images using different algorithms
通過綜合比較分析可知,所提算法處理不同場景下的霧圖時去霧效果真實、細節(jié)豐富、圖像清晰,取得了很好的去霧效果。
圖8 給出了文獻[8,10,19]以及所提去霧算法在HSTS 測試集上的定性結果(彩色效果見《計算機工程》官網HTML 版)。對照各樣本真值圖8(f)可以看出:文獻[8]算法在天空區(qū)域有云團和圖像陰暗處的處理效果不佳;文獻[10]算法的沙漏式多尺度操作會引起一些場景細節(jié)的丟失;文獻[19]算法的整體色彩還原度欠佳,采用雙線性插值映射法減弱塊與塊間的不連續(xù)邊緣能力有限。
SSIM 和峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)是兩種廣泛使用的評價去霧圖像質量的指標。各算法處理得到的圖像與各霧圖樣本真值之間的SSIM、PSNR 指標定量比較如表5 所示,其中,最優(yōu)指標值用加粗字體標示。由表5 可以看出:文獻[8,10]算法在若干圖上取得了較高的SSIM 或PSNR 指標,該結果是符合預期的,因為文獻[8]算法使用場景數據集ITS 的全部樣本進行訓練,在一定程度上增強了模型對測試子集HSTS 的有效性,文獻[10]算法也是類似的;所提算法雖然基于暗通道先驗理論,但是對于基于深度學習去霧常用的開源數據集,也具有一定的性能優(yōu)勢。
表5 不同算法處理各霧圖的定量比較Table 5 Quantitative comparison for processing various hazy images using different algorithms
為了驗證改進模塊的有效性,進行消融實驗。消融實驗進行如下分組:組1(DCP),組2(DCP+透射率擬合模塊),組3(DCP+天空區(qū)域優(yōu)化模塊),組4(DCP+透射率擬合模塊+天空區(qū)域優(yōu)化模塊),組5(DCP+透射率擬合模塊+天空區(qū)域優(yōu)化模塊+策略性融合模塊,即所提算法)。消融實驗結果如表6 所示,可以看出:設置對照組1、2 和3,透射率擬合模塊(增加透射率的相對信息)和天空區(qū)域優(yōu)化模塊(解決DCP 不適用于天空、明亮區(qū)域的問題)均能提升DCP 算法的性能;設置對照組2、3 和4,模塊級聯(lián)疊加使用效果更佳;設置對照組4 和5,增加策略性融合模塊能顯著提升l指標(視覺表現),同時維持SSIM 和PSNR 在較高水平上,驗證了所提算法能在策略性融合過程中盡可能地減少圖像增強環(huán)節(jié)帶來的失真,提高復原質量。
表6 消融實驗結果Table 6 Ablation experimental results
為了解決基于暗通道先驗去霧算法存在的不足,本文提出一種改進暗通道先驗和策略性融合的圖像去霧算法,通過定義調節(jié)和側重因子擬合多窗口透射率得到穩(wěn)定且圖像信息豐富的結果,同時利用大氣光值組結合非線性規(guī)劃模型和偏度估計出準確的大氣光值,引入置信度快速修正天空區(qū)域的透射率,最后對去霧圖進行策略性的增強融合。實驗結果表明,所提算法復原的圖像去霧效果好,天空區(qū)域處理真實自然,主觀評價較對照算法更具優(yōu)勢,客觀性能表現同樣較好。但由于算法濾波窗口尺寸選取存在一定局限性,目前計算的調節(jié)及側重因子為全局量,后續(xù)將使用霧氣塊或場景特征塊將因子計算改進為局部動態(tài)量計算,進一步提升整體去霧效果。