王偉鵬,項文杰
(閩南科技學院 光電信息學院,福建 泉州 362332)
霧天環境下拍攝的畫面容易出現顏色偏移、飽和度不足和對比度下降等問題,并且霧霾掩蓋了圖像中的部分細節信息,造成目標景物特征無法分辨.這給圖像的后續處理帶來了諸多不便,嚴重影響了室外安防監控、目標分析、自動交通駕駛等方面的應用.尤其在實時監控方面,亟需一種快速有效的去霧方法.
近年來,基于先驗假設和神經網絡學習的去霧算法研究取得了較大進展.Fattal[1]假設透射率與景物局部陰影具有不相關性,采用獨立成分分析估計介質透射率.該方法對于濃霧圖像的處理效果不佳,且需要對顏色進行統計,因此對灰度圖像無效.Tarel[2]提出采用中值濾波器對大氣光幕進行優化的快速方法來實現圖像去霧,然而在景深突變的邊緣處容易產生光暈現象,去霧效果不自然.He[3]通過對大量戶外無霧圖像進行統計觀察,總結得出暗原色先驗理論,并用于單幅圖像去霧,取得良好的視覺效果,得到了業內研究者的廣泛關注,然而算法中采用軟摳圖具有較大的時間復雜度.Meng[4]對介質透射率的邊界進行條件約束,結合正則化方法優化建模,從而得到細節精細的結果.Zhu[5]提出顏色衰減先驗,結合監督學習進行深度信息的重建,從而估計透射率以及復原清晰圖像.Wang[6]采用線性變換的方式對透射率進行快速計算,并通過弱化方式解決局部失真現象.Sebastian[7]計算有霧圖像的最小通道圖,并在其基礎上利用多層感知器獲取透射率的估計值.曾接賢[8]在暗原色先驗的基礎上,采用雙邊濾波器替代軟摳圖算法求解介質透射率,提高了算法的實時性.崔倩男[9]利用引導濾波器對透射率進行細化處理,并通過調整因子對暗原色失效的區域進行修正,從而復原清晰無霧的圖像.邵明省[10]通過區分霧天圖像的遠景、近景,并做不同程度的優化處理,改進了暗原色先驗算法.譚龍江[11]和曾浩洋[12]分割霧天圖像的天空區域求取大氣亮度,結合暗通道對透射率的估計方式進行改進.Ren[13]采用多尺度深層網絡學習用于介質透射率的估計,對合成圖像和自然圖像的去霧取得良好的效果.Cai[14]結合卷積網絡與大氣散射模型預測介質透射率,從而恢復高質量的無霧圖像.陳清江[15]構建有霧圖像和清晰圖像的殘差網絡,采用多尺度卷積獲取霧氣特征,結合引導濾波進行恢復.
目前基于先驗信息的去霧算法普遍存在場景適應性不足的缺陷,而基于深度學習的方法對自然圖像的處理效果有待提高.為了克服上述局限,本文采用卷積變換的思想和分段映射后處理,結合大氣散射模型實現霧化圖像的細節提升.仿真實驗顯示,本文的主觀評價和客觀指標均有較大的優勢.
大氣散射模型被廣泛應用于圖像去霧、夜間圖像增強和水下圖像增強等方面的研究,其數學表達式如下:
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y))
(1)
其中,I(x,y)為霧化的原始圖像;J(x,y)為去霧后的清晰圖像;A為大氣亮度,一般當做全局常量;t(x,y)為介質傳輸透射率,當光線在均勻介質中傳輸時,有:
t(x,y)=e-βd(x,y)
(2)
其中,β為大氣散射系數;d(x,y)為景物深度,反映景物與圖像采集設備之間的距離信息.式(1)等號右邊的第2項定義為大氣光幕:
V(x,y)=A(1-t(x,y))=A(1-e-βd(x,y))
(3)
大氣光幕反映了環境光線的散射導致圖像中景物產生色彩失真和細節模糊的程度.結合式(1)和式(3),已知霧天圖像I(x,y)的前提下,求得模型中的A、V(x,y)或t(x,y),便可反解求出清晰的無霧圖像J(x,y).
基于大氣散射模型,本文算法可分為3個步驟:一是根據模型分析大氣光幕的特征,利用空域降維變換和歸一化卷積獲取光幕值;二是結合形態學腐蝕與最大通道計算大氣亮度;三是根據模型復原圖像,并進行分段線性映射調整.
根據模型中光線散射的特性,可提取霧天圖像的3個通道最小值作為初始估計,即:
(4)
由上述分析和式(3)可知,大氣亮度A為全局常量的前提下,大氣光幕V與場景深度d成正相關,即景深一致時,光幕值基本相同;景深突變的區間,光幕值隨之突變.由此可得,大氣光幕僅與景物所處的深度相關,與景物表面的紋理無關.因此,為了獲得準確的估計值,需要完全濾除最小通道圖Im中的紋理信息,且完整保留其邊緣結構,此處采用基于空間變換的歸一化卷積[16]來實現這一操作.
該變換定義了高維空間中2維圖像在流形上的曲線與實線之間的等距,保留了曲線上各點之間的測地距離,自適應地對輸入信號進行變形,使卷積變換能在線性時間內有效地進行.

(5)

(6)
根據等距變換的思想進行降維,卷積核H的響應速度與F保持高度一致,即可起到邊緣保持的作用.通過理論分析和實踐驗證,得出變換形式τ如下:
(7)
其中,I′m表示對圖像Im求導數;σs和σr分別表示空域和值域的標準差.在均方意義上,最優的降維卷積結果可由歸一化卷積獲得,即:
(8)
圖1(a)為原始霧天圖像,經式(8)計算得到的大氣光幕如圖1(b)所示,圖中景深突變的結構邊緣被保留,景深基本一致的區間被有效平滑濾除,如樹木綠葉的紋理和建筑物的細節基本不可見,整體與自然場景下的深度特征相符.

圖1 本文算法去霧效果Fig.1 Dehazing result using proposed algorithm
復原圖像的另一個關鍵參數是全局大氣亮度值.楊紅[17]提取天空的亮度最大值,將原始圖像中對應的亮度均值作為初始估計,再進行精細化校正,該方法針對不含天空或天空界限不明顯的圖像將產生較大誤差.李喆[18]保留暗原色圖和深度圖中小部分坐標重合的像素,再將最大值作為大氣亮度,然而自然圖像的深度信息是未知的,提取難度較大,難以滿足實際應用的需求.根據大氣散射的特性,大氣亮度位于整幅圖像中霧氣最濃的區域,因此找出濃霧區域即可求得準確值.本文提出的濃霧區域的檢測步驟如下:
Step 1.對原始圖像的3個通道分別進行形態學腐蝕處理,結果記為Ie;
Step 2.取Ie中3個通道的最大值,得到最大通道圖Ia,即:
(9)
Step 3.標記Ia中最亮的前1%像素點坐標,對應Ie中相同坐標的像素集合指定為霧最濃區域;
通過上述方法得到的結果如圖1(c)所示,黑色標記區域位于圖像最上方,即景深的最深處.由于自然環境下的霧氣具有各向均勻性,深度越大所疊加的霧氣越多,因此該區域可認定為合理的霧最濃區域.取該區域內3個通道的平均值作為大氣亮度A.
利用估計得到的大氣光幕V和大氣亮度A,根據式(3)計算傳輸透射率:
(10)
其中,0≤ω≤1,表示能見度還原系數,可有效控制圖像的去霧程度.ω=1說明100%去除霧氣影響,此時取值偏大容易導致過度處理,出現過飽和以及像素溢出現象;取值偏小則會造成去霧力度不足,清晰度不佳.為了兼顧飽和度和清晰度,經過大量圖像測試驗證,取ω=0.9時效果最佳.將透射率和大氣亮度代入式(1),根據散射模型恢復清晰的結果:
(11)
其中,設置傳輸透射率的下限值t0,可避免由于噪聲干擾而出現分母為零的現象,本文取t0=0.01.
由于原始圖像中的絕大多數像素值小于大氣亮度A,經過式(11)計算后,圖像亮度比實際場景偏暗,造成部分細節可見性不足[19,20],因此需要對圖像的細節進行優化,亮度進行提升.本文采用分段線性映射進行不同程度的拉伸,對較暗的前50%灰度實行大幅度提升,后50%灰度的提升程度分2次逐步放緩.按照圖2所示的3段線性映射進行優化,去霧的最終結果如圖1(d)所示,對比原始霧天圖像可以發現,霧氣被有效去除,細節得到優化,對比度和層次感增強,整體亮度符合視覺特性.

圖2 優化映射圖Fig.2 Optimization mapping
在Windows10系統下運行MATLAB 8.5軟件進行仿真實驗,硬件配置為4GB內存的i5處理器.用于對比的算法有He算法[3]、Meng算法[4]、Ren算法[13]、Cai算法[14]和Sebastian算法[7],通過主觀上的評價和客觀指標分析來驗證本文方法的優勢.
使用本文算法提升圖像細節效果(見圖3).圖3(a)為霧天圖像,圖3(b)為本文算法的去霧結果,對比可知,圖像中的霧氣被有效去除,對比度和能見度有了很大提升.對白色框中的細節進行放大,結果如圖3(c)和圖3(d)所示,不難看出,本文對細節優化的效果出眾,有利于目標特征的檢測與識別.

圖3 圖像細節的提升Fig.3 Improvement of image detail
圖4給出了本文與5種當前主流算法的對比結果.圖img1和img2中,He、Meng和Ren的清晰度不足,Cai的霧氣去除不徹底,Sebastian上方出現明顯的像素值溢出現象.圖img3中,He、Cai和Sebastian的樹葉偏暗,Meng和Ren的樹葉縫隙間仍有霧氣存在.圖img4中,本文對火車的恢復效果最佳,其余方法在細節上均有不同程度的模糊現象.圖img5中,He、Meng和Cai的對比度不夠高;相比之下,本文的結果明亮通透,層次感和視見度更佳.圖img6中,He和Meng的天空出現噪聲點;Ren的樹葉周圍仍然有部分霧氣沒有去除;Cai和Sebastian的左側樹葉亮度較暗,細節不明顯;本文的對比度較高,且對噪聲不敏感,能夠基本保持天空的良好視覺效果.通過6組圖片的對比可知,本文在細節清晰度的恢復優于其他方法.
客觀評價指標采用平均梯度G和信息熵E.平均梯度用來衡量清晰程度,數值越大說明圖像的清晰度越高,計算式如下:
(12)
其中,M和N分別表示圖像的行數和列數,I(x,y)表示坐標位置為(x,y)的像素值.
信息熵反映圖像的信息量,數值越大表明信息越豐富,圖像質量越高,計算式如下:
(13)
其中,px表示圖像灰度值x的出現概率.
圖4的2項客觀指標如表1所示,其中的加粗數據為每行最優值.從總體上來看,本文的2項指標均占較大優勢.統計表1的數據,得出本文的G指標相比He算法提高72.39%,相比Meng算法提高37.14%,相比Ren算法提高61.78%,相比Cai算法提高67.44%,相比Sebastian算法提高15.72%;E指標相比He算法提高5.85%,相比Meng算法提高10.27%,相比Ren算法提高8.14%,相比Cai算法提高5.51%,相比Sebastian算法提高2.43%.客觀指標進一步驗證了本文算法的優勢,與主觀評價的結果一致.

圖4 實驗結果比較Fig.4 Comparison of experimental results

表1 客觀指標比較Table 1 Comparison of objective index
本文采用卷積變換與細節優化相結合的方法對圖像進行去霧處理.在散射模型的基礎上,首先對大氣光幕值進行初始估計,并將其定義為高維信號,再通過降維變換和卷積運算得到細化后的精確值;其次,應用腐蝕操作消除干擾,融合最大通道圖進行大氣亮度的計算;最后恢復無霧圖像并利用分段映射關系實現細節優化.實驗結果證明:本文算法對霧天圖像的細節優化效果明顯,客觀指標突出,平均梯度整體提高了50.89%,信息熵整體提高了6.44%,能夠滿足對清晰度和細節的要求.