魏紅偉,田 杰,肖卓朋
(1.湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410082;2.張家界航空工業(yè)職業(yè)技術(shù)學(xué)院,湖南 張家界 427000)
隨著工業(yè)的飛速發(fā)展,大氣污染越來越嚴(yán)重,由此帶來的霧霾天氣使室外拍攝的圖片和視頻發(fā)生質(zhì)量退化現(xiàn)象,給智能交通帶來很大安全隱患。此外,室外監(jiān)控與遙感系統(tǒng)也會因濃霧對成像的退化作用而發(fā)生癱瘓。因此,提高霧天圖像質(zhì)量是目前亟待解決的重要問題。
霧霾天氣下室外能見度低,這是由于空氣中存在大量細(xì)微顆粒,光線從物體表面反射回來并向成像設(shè)備傳播的過程中,這些顆粒對大氣中的光線產(chǎn)生折射和反射作用,導(dǎo)致圖像對比度下降,邊緣與紋理信息丟失,使最終生成的圖像或視頻不能真實描述所處環(huán)境。這種場景輻射衰減與大氣光散射疊加會隨著傳播距離的增加而逐漸累積,進(jìn)行去霧操作時需要從給定的單幅霧圖中同時恢復(fù)未知的大氣環(huán)境光以及場景深度,因此恢復(fù)無霧原始圖像是一項極具挑戰(zhàn)的任務(wù)。為提高霧霾環(huán)境下圖像的采集質(zhì)量,降低塵霧天氣對戶外成像系統(tǒng)帶來的不利影響,國內(nèi)外學(xué)者對圖像去霧技術(shù)開展了大量研究,根據(jù)去霧算法原理,可將其分為基于多幅圖像的去霧算法、基于圖像增強(qiáng)的去霧算法、基于物理模型的去霧算法以及基于神經(jīng)網(wǎng)絡(luò)的去霧算法4 種,其中基于物理模型的去霧算法與基于神經(jīng)網(wǎng)絡(luò)的去霧算法是目前該領(lǐng)域的主流解決方案[1]。以下針對4 類算法分別進(jìn)行分析。
根據(jù)輸入源數(shù)量可將去霧算法分為單圖去霧和多圖去霧兩種。由于單幅圖像去霧問題中缺少諸多關(guān)鍵信息,因此早期研究者嘗試使用多幅圖像或補(bǔ)充額外信息的方法為霧圖成像的欠定方程增加約束。Narasimhan 等[2]通過在相同場景中拍攝多張不同天氣條件下圖片的方法恢復(fù)無霧圖像,但需要等待天氣變化;Schechner 等[3]和Tali 等[4]考慮到天氣條件變化,提出基于偏振圖像的去霧算法,即在相同場景下拍攝多幅不同偏振圖像;Kopf 等[5]提出在去霧算法中將場景幾何信息作為補(bǔ)充輸入信息。雖然上述算法可有效實現(xiàn)圖像去霧,但在實際應(yīng)用場景中,獲取這些額外信息并不容易[6],一般研究較多的是單圖去霧。
基于圖像增強(qiáng)的去霧算法不考慮圖像降質(zhì)原因,而是通過增強(qiáng)對比度的方法改善圖像視覺效果。該類算法使用范圍廣,但是對于突出部分的信息可能會造成一定損失或過增強(qiáng)現(xiàn)象。根據(jù)操作對象是整幅圖像還是局部區(qū)域,基于圖像增強(qiáng)的去霧算法可分為全局化圖像增強(qiáng)與局部化圖像增強(qiáng)兩大類[6],具體如圖1 所示。其中,直方圖均衡化是將霧圖的灰度直方圖變換為均勻分布的形式,通過增加像素灰度值范圍以提高圖像對比度,如Stark[7]和Kim等[8]分別提出了自適應(yīng)直方圖均衡化算法和部分重疊的子塊直方圖均衡化算法。同態(tài)濾波是一種廣泛用于信號和圖像處理的技術(shù),其將灰度變換與頻率過濾相結(jié)合用于改善圖像質(zhì)量[9]。Retinex 是一種模擬人類在不同光照條件下視物情況的彩色視覺模型[10]?;谠撃P停珹drian 等[11]提出一種效果顯著的霧圖增強(qiáng)算法。基于局部方差的圖像增強(qiáng)算法[11-12],通過計算并比較局部標(biāo)準(zhǔn)方差大小判斷圖像增強(qiáng)程度,進(jìn)而進(jìn)行局部灰度拉伸。然而,上述方法均未考慮霧圖退化的本質(zhì)原因,因此增強(qiáng)效果有限且魯棒性往往較差。
Fig.1 Defogging algorithm based on image enhancement圖1 基于圖像增強(qiáng)的去霧算法
霧天能見度較低是由大氣中的懸浮粒子對光的吸收和散射造成的。研究者們通過建立數(shù)學(xué)模型,解釋了霧天圖像的成像過程與包含要素。該模型最早由McCartney[13]根據(jù)米氏大氣散射理論提出,后續(xù)由Narasimha 等[2]推導(dǎo)得到。該模型認(rèn)為在強(qiáng)散射介質(zhì)下,引起探測系統(tǒng)成像結(jié)果降質(zhì)的主要原因有兩個[14]:一是目標(biāo)反射光受到大氣中懸浮粒子的吸收和散射作用造成能量衰減,導(dǎo)致探測系統(tǒng)的成像亮度降低、對比度下降;二是太陽光等環(huán)境光受大氣中介質(zhì)的散射作用影響形成背景光,兩部分光疊加在一起到達(dá)成像設(shè)備,影響成像效果?;诖髿馍⑸湮锢砟P偷撵F天物體成像過程如圖2 所示。
Fig.2 Foggy picture formation process based on atmospheric scattering model圖2 基于大氣散射模型的霧圖形成過程
根據(jù)物理模型去霧算法的理論基礎(chǔ),可將圖像在惡劣天氣下的退化描述為:
該模型的前提是場景中的霧是均勻分布的。式中,x表示圖像像素點(diǎn)位置,J(x)和I(x)分別表示待恢復(fù)的無霧圖和成像的有霧圖,(tx)和A分別表示場景光透射率和當(dāng)前大氣環(huán)境光。
圖像去霧即從給定的有霧圖像I(x)中恢復(fù)出無霧圖像J(x),但由于(tx)和A為未知項,故其是一個病態(tài)問題。要想恢復(fù)出高質(zhì)量無霧圖像,關(guān)鍵步驟是預(yù)測透射率(tx)和大氣環(huán)境光A,再根據(jù)散射模型反演出去霧圖像。以該物理模型為參考,許多優(yōu)秀去霧算法被提出。如He 等[15]提出了暗通道去霧算法;Raanan[16]根據(jù)無霧圖像與有霧圖像的色線分布不同求解場景透射圖,提出了單幅圖像去霧算法,該方法耗時較長,不能用于處理霧濃度較高的圖像;Robby[17]根據(jù)對比度不同,提出一種基于馬爾科夫隨機(jī)場的代價函數(shù)恢復(fù)無霧圖像,雖然能夠獲得視覺感受較好的去霧圖像,但常發(fā)生過度飽和以及圖像失真現(xiàn)象;Meng等[18]提出一種正則化去霧方法,通過挖掘大氣透射率函數(shù)固有的邊界約束提升大氣透射率精度,取得了很好的去霧效果;Berman 等[19-20]基于非局部先驗提出一種全局評估透射圖方法,能夠同時恢復(fù)景深和無霧圖像,然而在大氣光非常強(qiáng)烈時,該方法會由于不能很好地檢測霧線而失效;Zhu 等[21]提出基于顏色衰減先驗的去霧方法,根據(jù)霧濃度與圖像亮度和飽和度的差值呈正相關(guān)的關(guān)系建立線性模型,并通過監(jiān)督學(xué)習(xí)方法學(xué)習(xí)模型參數(shù),恢復(fù)場景深度信息,從而實現(xiàn)單幅圖像去霧。還有一些研究基于暗通道先驗,在算法效率與復(fù)原精度方面進(jìn)行了優(yōu)化[22-26]。以下將詳細(xì)介紹暗通道先驗去霧算法。
暗通道先驗由He 等[15]基于物理模型率先提出,給圖像去霧帶來了變革性發(fā)展。其利用暗通道去霧原理計算透射率,采用軟摳算法對透射率進(jìn)一步優(yōu)化,最終實現(xiàn)圖像去霧。暗通道原理如下:
式中,Ω(x)為像素點(diǎn)x的鄰域,Jdark為圖像的暗通道,Jc為圖像的顏色通道。
由暗通道先驗理論可知,無霧圖像局部圖塊的最小通道值趨近于0,該通道被稱為暗通道,而霧圖由于大氣光的影響,其暗通道并不趨近于0,可通過霧圖的暗通道值判斷霧氣濃薄程度,從而得到大氣光和透射圖。根據(jù)該理論簡化大氣散射模型,并進(jìn)行相應(yīng)變形得到:
兩邊取最小值,等號右邊第一部分即為暗通道,其值趨于0,這樣便可得到(tx,y)。
He 等[15]在處理透視圖像時采用了soft mapping 軟摳圖,較其他圖像去霧方法取得了更好效果。暗通道先驗是對大量戶外無霧照片的統(tǒng)計結(jié)果,若目標(biāo)場景中有物體顏色與大氣光類似,如雪地、白墻、大海等,將無法獲得滿意的去霧效果。
近年來,卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的代表算法備受研究者們關(guān)注。由于該網(wǎng)絡(luò)具有表征學(xué)習(xí)能力,能有效捕捉輸入信號與輸出信號之間的潛在映射關(guān)系,在圖像處理領(lǐng)域表現(xiàn)出較好性能。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,通常由卷積層、池化層與全連接層組成[27]。卷積層利用卷積操作完成圖像特征提取,池化層完成下采樣,對提取出的特征降維,相鄰兩層組成一個卷積組,通過若干個卷積層與全連接層連接,最終全連接層實現(xiàn)對圖像特征信息的分類。經(jīng)過多層卷積與池化操作,數(shù)據(jù)量龐大的圖像處理問題的復(fù)雜度有所降低。
基于神經(jīng)網(wǎng)絡(luò)的去霧方法分為兩階段去霧算法和單階段去霧算法兩種。前者依賴于大氣退化模型,利用神經(jīng)網(wǎng)絡(luò)對模型中的參數(shù)進(jìn)行估計,早期去霧方法大多是基于這種思路;后者則是利用神經(jīng)網(wǎng)絡(luò)將輸入的有霧圖像直接恢復(fù)得到去霧圖像,也即深度學(xué)習(xí)中常說的端到端去霧。兩階段去霧算法利用神經(jīng)網(wǎng)絡(luò)以一種回歸的方式求取透射圖或大氣光值,同時還需結(jié)合傳統(tǒng)先驗評估,也就是說神經(jīng)網(wǎng)絡(luò)只是求取大氣光或透射圖的一個工具,最終還是要根據(jù)大氣散射模型求出無霧圖像。單階段神經(jīng)網(wǎng)絡(luò)去霧算法則完全脫離了大氣散射模型,無需通過先驗評估透射率和大氣光,而是通過訓(xùn)練學(xué)習(xí)輸入有霧與無霧圖像之間的映射關(guān)系,再通過映射關(guān)系求出無霧圖像。
目前越來越多的研究者傾向于單階段去霧方法,比較有代表性的包括:Cai 等[28]提出了一種名為DehazeNet 的網(wǎng)絡(luò),利用神經(jīng)網(wǎng)絡(luò)估計輸入圖像的大氣透射率,根據(jù)大氣散射模型求得無霧圖像;Li 等[29]提出一種名為AOD-Net 的網(wǎng)絡(luò),將大氣散射模型公式進(jìn)行適當(dāng)變形,通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)其相關(guān)參數(shù);Zhu 等[30]提出DehazeGAN 算法,采用與AOD-Net 相似的方法,在一個生成對抗網(wǎng)絡(luò)中同時估計透射率與大氣光值;Ren 等[31]提出MSCNN 算法,通過多尺度網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建不同粗細(xì)粒度的子網(wǎng),實現(xiàn)透射圖的粗略與精細(xì)化評估,該算法有效抑制了去霧過程中出現(xiàn)的光暈現(xiàn)象;Mei 等[32]完全摒棄物理模型,將神經(jīng)網(wǎng)絡(luò)視為黑盒,通過訓(xùn)練得到霧圖與無霧圖之間的映射關(guān)系,并采用編碼器—解碼器聯(lián)合殘差網(wǎng)絡(luò)塊的結(jié)構(gòu)實現(xiàn)了端到端去霧。
Fig.3 Convolution neural network structure圖3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
DehazeNet 是Cai 等[28]于2016 年提出的可訓(xùn)練的端到端網(wǎng)絡(luò)結(jié)構(gòu),其通過神經(jīng)網(wǎng)絡(luò)直接學(xué)習(xí)有霧圖像與透射圖之間的映射關(guān)系,進(jìn)而求出透射率。其還提出新穎的非線性激活函數(shù)BReLU,通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行非線性回歸得到透射圖,采用假設(shè)先驗求出大氣光A,最后根據(jù)大氣散射模型恢復(fù)出無霧圖像。DehazeNet 結(jié)構(gòu)如圖4 所示。
與傳統(tǒng)先驗去霧方法相比,DehazeNet 的去霧效果明顯提升。雖然該方法在透射率計算上具有優(yōu)勢,但對于全局大氣光的計算卻存在一定缺陷。由于真實的大氣環(huán)境十分復(fù)雜,化學(xué)成分的多樣性和顆粒分布的不均勻性導(dǎo)致大氣中不同位置對光的吸收、散射與透射作用程度不同,從而使得環(huán)境光并非均勻分布。
Fig.4 DehazeNet structure圖4 DehazeNet 結(jié)構(gòu)
AOD-Net 是Li 等[33]于2017年國際計算機(jī)視覺大會(ICCV)上首次提出的端到端去霧網(wǎng)絡(luò)。其認(rèn)為對透射率與大氣光分別進(jìn)行評估,再代入大氣散射模型恢復(fù)無霧圖像會導(dǎo)致誤差疊加放大,因此將其集成在神經(jīng)網(wǎng)絡(luò)中同步完成,并對大氣散射模型進(jìn)行如下變形:
式(6)中,I(x)、J(x)、(tx)和A分別表示原始無霧圖像、輸入霧圖、場景透射率和環(huán)境大氣光,而b為算法引入的參數(shù)。Li 等[33]將透射率與大氣光合并為一個中間變量K,利用輕量級神經(jīng)網(wǎng)絡(luò)回歸變量K恢復(fù)出無霧圖像。
基于神經(jīng)網(wǎng)絡(luò)的圖像去霧方法是目前該領(lǐng)域的主流研究方向,大量仿真霧天數(shù)據(jù)集通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),取得了很好的去霧效果。但由于自然場景中的有霧、無霧圖對很難獲得,數(shù)據(jù)集基本都是自然場景圖片進(jìn)行人工加霧處理而得,導(dǎo)致神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時數(shù)據(jù)集易產(chǎn)生過擬合現(xiàn)象,因此該算法用于真實自然場景的去霧效果與仿真場景有一定偏差。
分別對直方圖均衡化、暗通道先驗去霧[34]、DehazeNet和AOD-Net去霧算法進(jìn)行測試,實驗結(jié)果如圖5和表1所示。
Fig.5 Comparison of several defogging algorithms圖5 幾種去霧算法效果對比
Table 1 Calculation time of several defogging algorithms表1 幾種去霧算法計算時間 單位:s
從圖5 中可以看出,基于圖像增強(qiáng)的直方圖均衡化算法的去霧圖像對比度明顯增強(qiáng),由于不考慮降質(zhì)原因,在增加對比度的同時也對噪聲進(jìn)行了放大,出現(xiàn)細(xì)節(jié)丟失與色彩偏差現(xiàn)象?;谖锢砟P偷陌低ǖ廊レF算法、基于神經(jīng)網(wǎng)絡(luò)的DehazeNet 和AOD-Net 算法的去霧效果較直方圖均衡化算法更佳。
從表1 可以看出,基于圖像增強(qiáng)的直方圖均衡化算法和基于物理模型的暗通道算法去霧所用時間較短,具有較強(qiáng)的實時性,而基于神經(jīng)網(wǎng)絡(luò)的DehazeNet 和AOD-Net 去霧算法由于計算量大,去霧所需時間較長。
基于圖像增強(qiáng)的去霧方法使去霧圖像的對比度顯著提高,視覺效果明顯,應(yīng)用較為廣泛,但該方法沒有考慮圖像降質(zhì)原因,會出現(xiàn)細(xì)節(jié)信息損失或過增強(qiáng)現(xiàn)象?;谖锢砟P偷娜レF方法考慮到物體成像原理,根據(jù)大氣散射模型求得無霧圖像,去霧效果明顯優(yōu)于基于圖像增強(qiáng)的去霧方法,但對于透射率與全局大氣光的評估需要通過先驗假設(shè),而這些假設(shè)在特定情況下會失效?;谏窠?jīng)網(wǎng)絡(luò)的圖像去霧方法利用卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,取得了顯著效果,其中基于神經(jīng)網(wǎng)絡(luò)的兩階段去霧不是真正的端到端去霧,而是先利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)評估出透射率和大氣光,再根據(jù)大氣散射模型求出無霧圖像。如果對二者估計不準(zhǔn)確,由于累積效應(yīng),最后使用物理模型恢復(fù)無霧圖像時可能會出現(xiàn)顏色失真現(xiàn)象。端到端單階段去霧方法完全脫離了大氣散射模型,避免了透射率和大氣光的評估,通過訓(xùn)練學(xué)習(xí)輸入有霧圖像與無霧圖像之間的映射關(guān)系得到無霧圖像,但這種方法更依賴于仿真數(shù)據(jù)集,網(wǎng)絡(luò)模型容易發(fā)生過擬合現(xiàn)象,導(dǎo)致在仿真數(shù)據(jù)集上的去霧效果明顯優(yōu)于真實場景??梢?,如何將真實場景圖像數(shù)據(jù)加入到訓(xùn)練數(shù)據(jù)集中是基于深度學(xué)習(xí)的圖像去霧領(lǐng)域亟待解決的問題。
目前,圖像去霧技術(shù)雖已取得較大進(jìn)步,但由于真實大氣場景十分復(fù)雜,每種方法都有其局限性,后續(xù)研究可關(guān)注以下幾個問題:
(1)復(fù)雜度和實時性。目前多數(shù)去霧算法都存在算法復(fù)雜、時間和空間復(fù)雜度過高的缺點(diǎn),在一些實時性要求高的場合無法滿足需求,因此可從降低算法復(fù)雜度和利用計算機(jī)硬件加速兩方面著手。
(2)普適性。目前的算法并不能適用于所有場景,尤其是濃霧時往往會失效,需要人工干預(yù)。智能交通、實時監(jiān)控等系統(tǒng)對圖像和視頻的去霧要求較高,因此去霧算法應(yīng)在不同場景條件下自動作出調(diào)整,以適應(yīng)多種去霧要求。
(3)評價體系。目前去霧效果評價方法較少,且現(xiàn)有評價方法存在一定局限性,不能全面評價算法優(yōu)劣,缺少認(rèn)可度高的客觀評測體系。建立并完善一套圖像去霧評價體系將有利于相關(guān)技術(shù)的規(guī)范發(fā)展。