張家豪,俞 雷,張 娟
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
霧是大氣中懸浮的微粒,如粉塵、水汽和煙塵等吸收物體的反射光后,導(dǎo)致大氣光發(fā)生散射而產(chǎn)生的一種常見自然現(xiàn)象。霧不僅會降低能見度,還會讓采集的圖像對比度下降、顏色失真。在霧天拍攝物體會丟失大量細(xì)節(jié)特征,圖像嚴(yán)重退化[1-2],從而對目標(biāo)檢測、目標(biāo)追蹤、語義分割和自動駕駛等各種計算機視覺任務(wù)造成不利影響。因此,圖像去霧已經(jīng)成為近年來計算機視覺領(lǐng)域的一個重要研究課題,去霧算法能提高惡劣天氣條件下各類計算機視覺辨識的性能和魯棒性。
目前,圖像去霧算法可分為2 類。一類是傳統(tǒng)圖像處理方法,該類算法以大氣散射模型為基礎(chǔ)通過各種先驗知識模型恢復(fù)清晰圖像。另一類是基于學(xué)習(xí)的方法。
傳統(tǒng)圖像處理方法通過先驗信息對圖像進行增強,改善圖像的對比度、亮度等使圖像變清晰。常用于去霧的圖像增強算法包括直方圖均衡化、Retinex算法[3-5]和小波變換等。由霧氣引起的圖像退化通常用大氣退化模型來描述:
其中,I(x)和J(x)分別表示有霧圖像和清晰圖像;t(x)是大氣光強度值;A是大氣透射率。由大氣散射模型可知,清晰圖像可以通過估算大氣光強度和大氣透射率來得到。He 等人[6]通過觀察發(fā)現(xiàn)在室外清晰圖像的非天空區(qū)域內(nèi),局部的某些像素至少有一個通道的強度較小或接近0,因此提出可以用暗通道先驗原理得到大氣透射率,進而恢復(fù)有霧圖像。該方法在光線均勻的場景下有較好的效果,但仍存在天空及白色物體區(qū)域內(nèi)色彩失真、附近帶有光暈的問題。文獻[7]通過對大量有霧圖像進行分析,發(fā)現(xiàn)在有霧情況下圖像的深度、亮度和飽和度之間存在正相關(guān),基于觀察到的先驗知識提出了顏色衰減先驗來求解大氣透射率,進而得到清晰圖像。該算法可以有效去除圖像中近景的霧,但遠景去霧效果不佳。
近年來,卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺領(lǐng)域獲得了可觀的進展?,F(xiàn)已將一些基于學(xué)習(xí)的方法用于單幅圖像去霧算法中。這類方法主要可以分為2 類。一類是基于大氣退化模型利用卷積神經(jīng)網(wǎng)絡(luò)估計大氣退化模型的參數(shù)來恢復(fù)圖像。例如DehazeNet[8]使用設(shè)計好的卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)霧天大氣光的強度參數(shù)t(x),隨后利用大氣退化模型恢復(fù)出無霧圖像。另一類是基于端到端的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型直接學(xué)習(xí)輸入的有霧圖像和清晰圖像的映射關(guān)系,克服了傳統(tǒng)算法需要手工提取特征的不足[9]。AODNet[10]使用端到端的CNN 直接提取有霧圖像中的背景特征重構(gòu)清晰圖像,不再依賴估算大氣退化模型的未知參數(shù)A和t(x)恢復(fù)圖像。GFN[11]通過提取不同尺度下有霧圖像的特征恢復(fù)清晰圖像。文獻[12]將原始圖像分別使用3 個不同尺度的卷積核進行卷積,經(jīng)過一系列特征提取,得到場景透射率的近似值,隨后將學(xué)習(xí)到的場景透射率用于清晰圖像的恢復(fù)。基于學(xué)習(xí)的方法往往需要大量的成對訓(xùn)練樣本進行訓(xùn)練,然而成對的有霧和清晰圖像獲取十分困難,所以大多數(shù)基于學(xué)習(xí)的單幅圖像去霧算法使用合成數(shù)據(jù)集進行訓(xùn)練。這些算法雖然在合成數(shù)據(jù)集上表現(xiàn)優(yōu)異,但在真實場景中的表現(xiàn)往往不佳。近幾年對抗生成網(wǎng)絡(luò)(Generated Adversarial Network,GAN)[13]憑借能在目標(biāo)域生成肉眼難以區(qū)別的偽造圖像,被廣泛應(yīng)用于圖像分割、風(fēng)格轉(zhuǎn)換和圖像修復(fù)等領(lǐng)域。Zhu 等人[14]在Cycle-GAN 中提出了周期一致性損失,不但有效提高了無監(jiān)督圖像轉(zhuǎn)換任務(wù)中的穩(wěn)定性,而且顯著改善了圖像的重建質(zhì)量。Cycle-Dehaze Net[15]使用類似的架構(gòu),通過周期一致性損失和感知損失來獲得清晰圖像。文獻[16]提出了一種基于對抗生成網(wǎng)絡(luò)的霧霾場景轉(zhuǎn)換算法,實現(xiàn)了無霧圖像和有霧圖像之間的轉(zhuǎn)換。
本文提出了一種只需圖像類別信息,無需成對訓(xùn)練數(shù)據(jù)集的弱監(jiān)督去霧算法,利用卷積網(wǎng)絡(luò)構(gòu)成的內(nèi)容信息編碼器和霧分布信息編碼器對有霧圖像進行解耦。其中,內(nèi)容信息編碼器能從有霧圖像中分離出內(nèi)容信息,并對無霧圖像的內(nèi)容信息進行編碼;霧分布信息編碼器從有霧圖像中分離出霧的分布信息,然后再使用有霧圖像生成器和清晰圖像生成器生成有霧圖像和清晰圖像。為了能使用非成對圖像來對網(wǎng)絡(luò)進行訓(xùn)練,本文使用了對抗一致性損失來保證去霧圖像更接近目標(biāo)域,通過相對熵[17](Kullback-Leibler Divergence)對霧分布編碼器的潛在分布空間進行約束,使霧編碼器提取的信息中盡量不包含內(nèi)容信息。此外,本文還使用了感知損失提高生成器對圖像細(xì)節(jié)和高頻信息的恢復(fù)。實驗表明本文去霧算法在合成數(shù)據(jù)集和真實場景下都能有效完成去霧任務(wù)。
近年來,GAN 在風(fēng)格轉(zhuǎn)換、圖像生成等領(lǐng)域引發(fā)各方關(guān)注,由GAN 網(wǎng)絡(luò)生成的圖片達到了人眼無法辨識真假的程度,現(xiàn)已廣泛應(yīng)用于語義分割、風(fēng)格遷移和圖像超分辨率等圖像轉(zhuǎn)換任務(wù)中。對于不同氣候條件下的同一場景來說,可以看成一種風(fēng)格遷移,因此GAN 網(wǎng)絡(luò)也可以用于去霧任務(wù)中。受到風(fēng)格轉(zhuǎn)換算法DRIT[18]的啟發(fā),本文提出了一種基于解耦重構(gòu)的去霧算法模型,由大氣退化模型可知,有霧圖像可以簡化為如下表示:
由式(2)可知,有霧圖像可以看作由清晰圖像作為內(nèi)容信息和與內(nèi)容信息無關(guān)的大氣光強度、大氣投射圖所構(gòu)成的環(huán)境信息的組合。因此本文提出利用編碼器網(wǎng)絡(luò)將有霧圖像進行解耦,將內(nèi)容信息和霧分布信息分別嵌入到與環(huán)境信息無關(guān)的內(nèi)容信息域B和與內(nèi)容無關(guān)的霧分布域H中。具體工作原理如圖1 所示。內(nèi)容信息編碼器從非配對有霧和無霧圖像中提取高層次圖像內(nèi)容信息到潛在的內(nèi)容信息域,其中通過分享內(nèi)容編碼器中最后3 層的權(quán)重信息,保證了從有霧圖像和清晰圖像中提取的內(nèi)容信息嵌入到相同的潛在空間。霧分布信息通過變分編碼器提取到與內(nèi)容無關(guān)的霧分布域H,并使用相對熵?fù)p失把從有霧圖像提取的霧分布信息約束在多元高斯分布空間。霧分布信息編碼器的輸出h{μh,} 和無霧內(nèi)容編碼器的輸出一起送到有霧圖像生成器GH來生成有霧圖像。將有霧圖像內(nèi)容編碼器的輸出和霧編碼器的輸出送入清晰圖像生成器GB生成清晰圖像。為了對生成器的內(nèi)容進行約束,本文使用了對抗損失和循環(huán)一致性損失來維持生成器的魯棒性,使用判別器不斷提高生成器的生成能力。判別器能判別生成圖像和真實圖像的相似程度,生成器和判別器的互相對抗能有效提高生成器生成圖像的能力。下面將對算法中使用的各個模塊進行介紹。
圖1 網(wǎng)絡(luò)整體架構(gòu)圖Fig. 1 Network architecture
卷積神經(jīng)網(wǎng)絡(luò)能夠通過卷積核高效提取圖像的高維特征,本文的內(nèi)容信息編碼器和霧分布信息編碼器中分別先使用4 組步長為1 的卷積層和Relu激活函數(shù)組成的卷積模塊提取圖像的低維特征信息,隨后采用步長為2 的卷積層加正則下采樣模塊來進行下采樣,減少信息的損失。后續(xù)結(jié)構(gòu)中還加入3 個卷積殘差塊提取圖像的高維特征,該模塊的使用緩解了網(wǎng)絡(luò)層次過深而導(dǎo)致的梯度彌散。為了能讓有霧內(nèi)容信息編碼器和清晰圖像內(nèi)容信息編碼器提取的特征嵌入在相同的潛在空間,還在內(nèi)容信息編碼器的最后加入了一個殘差塊,共享2個編碼器的權(quán)重。霧分布信息編碼器使用類似的結(jié)構(gòu),和內(nèi)容編碼器不同的是去除了最后的權(quán)重分享模塊,將其替換成了全連接層,用全連接層作為編碼部分輸出,輸出霧分布信息編碼器的分布向量z{μh,}。
生成器的作用是將原始圖像中提取的高維特征信息恢復(fù)成目標(biāo)域圖像。本文使用了2 個生成器分別用來重構(gòu)無霧圖像和有霧圖像。因為不管是有霧圖像、還是無霧圖像的內(nèi)容信息都通過內(nèi)容信息編碼器提取到了相同的潛在空間域B中,所以2 個生成器先使用相同的4 組步長為1 的卷積層和Relu激活函數(shù)組成卷積模塊來共享權(quán)值參數(shù),之后分別使用3 組卷積殘差塊和2 組卷積上采樣殘差塊映射學(xué)習(xí)到的高維特征,并將圖像恢復(fù)到原來的尺寸。在上采樣模塊中使用了雙線性插值加卷積的操作,降低了直接使用轉(zhuǎn)置卷積帶來的細(xì)節(jié)和高頻信息丟失的可能,減少了恢復(fù)圖像中產(chǎn)生的棋盤效應(yīng)和圖像偽影[19]。
判別器的作用是判別生成圖像的真假。生成器要盡可能迷惑判別器,而判別器要盡可能區(qū)分生成圖像和真實圖像,兩者不斷博弈,最終生成器生成的圖像使得判別器無法辨別真假。本文一共使用了2個判別器,用來判別生成的有霧圖像和真實的有霧圖像。判別器使用了3 組由卷積層、批歸一化層(Batch Normalization,BN)和Relu激活函數(shù)組成的特征提取模塊對圖像特征進行提取和鑒別,此后采用卷積層加Sigmoid激活函數(shù)輸出判別器對輸入圖片的分?jǐn)?shù)。若為真實圖片,判別器會輸出高分,否則給出一個接近零的低分。生成器和判別器采取交替訓(xùn)練的模式進行學(xué)習(xí),直到判別器無法判別圖像真實性為止。
在本文中使用判別器輔助無霧圖像生成器和有霧圖像生成器生成偽造圖像。無霧圖像生成器GB的目的是根據(jù)有霧圖像中提取的內(nèi)容信息和霧分布信息生成一張無霧圖像,而無霧圖像判別器DB的目標(biāo)是最大化生成的清晰圖像和真實無霧圖像的價值函數(shù)。假設(shè)a表示滿足p(a)分布的真實清晰圖像樣本,b表示滿足p(b)分布的生成清晰圖像的樣本,則對抗損失函數(shù)可由如下公式進行描述:
對于判別器來說,要盡可能判斷出圖像的真假,當(dāng)樣本服從真實樣本分布時,準(zhǔn)確預(yù)測DB(a)=1。當(dāng)樣本為負(fù)樣本時,準(zhǔn)確預(yù)測DB(GB((b),EH(b)))=0。通過最大化損失函數(shù)讓判別器的判別能力不斷提高。對于生成器GB則恰好相反,GB希望生成的圖像能夠騙過DB,通過兩者之間的博弈,鑒別能力不斷提高,直到兩者達到平衡。使用類似的方式來訓(xùn)練有霧圖像判別器DH,DH的目標(biāo)是最大化真實有霧圖像和生成的有霧圖像之間的損失函數(shù)。DH的損失函數(shù)和DB類似,表示為:
當(dāng)卷積神經(jīng)網(wǎng)絡(luò)層數(shù)足夠深、計算能力足夠強時,網(wǎng)絡(luò)能夠把噪聲作為輸入映射到任意的目標(biāo)域,生成和目標(biāo)域類型一致的圖像,但這種方法無法精確保證生成圖像的具體內(nèi)容。因此對抗性損失并不能保證學(xué)習(xí)到的映射函數(shù)能夠把輸入穩(wěn)定映射為指定的輸出。受到Cycle-GAN 的啟發(fā),本文使用對抗一致性損失來保證清晰圖像生成器的清晰圖像Jb能夠通過有霧圖像生成器還原成輸入的有霧圖像b,有霧圖像生成器生成的有霧圖像能夠通過清晰圖像生成器還原成清晰圖像a。和Cycle-GAN 不同的是,本文沒有對2 類圖像直接使用編碼器進行編碼,然后使用生成器對圖像進行還原。本文在其中加入了解耦模塊提取圖像中的環(huán)境信息,實驗結(jié)果表明此方法可以取得更好的去霧效果。還原圖像和輸入圖像之間使用L1距離進行約束,其中對有霧圖像進行去霧和對無霧圖像進行加霧的過程可以表示為:
將圖像重新還原成有霧和無霧圖像的過程可以表示為:
完整的損失函數(shù)可以表示為:
在訓(xùn)練過程中,本文使用非成對的訓(xùn)練數(shù)據(jù)作為樣本,因此對于霧分布信息編碼器來說,能夠提取正確的霧分布信息到潛在的分布空間十分重要。對于內(nèi)容信息編碼器來說,通過共享2 個內(nèi)容信息編碼器最后3 層的權(quán)重信息,能有效引導(dǎo)不同類型的圖像內(nèi)容信息編碼到相同的潛在分布空間。對于霧分布信息編碼器,同樣希望只是提取霧的分布信息而不包含內(nèi)容信息。為了達到這一目的,本文使用了2 種方法來抑制霧分布信息編碼器中的內(nèi)容信息。首先,在使用有霧圖像生成器生成有霧圖像Ia時,輸入的是來自內(nèi)容編碼器的輸出(a)和霧分布信息編碼器的輸出EH(b),這種結(jié)構(gòu)鼓勵霧分布信息編碼器中不包含來自b的內(nèi)容信息。其次,使用的變分編碼器模型能對霧的分布信息進行有效約束,因為生成模型所使用的霧分布信息編碼器輸出的后驗概率滿足各項同性正態(tài)分布,這樣霧編碼器的輸出z{μh,} 應(yīng)該接近于正態(tài)分 布p(z)~N(0,1),霧分布信息編碼器的輸出在潛在空間的均值和方差分別用μ和σ表示。那么該輸出和標(biāo)準(zhǔn)正態(tài)分布之間的差異可以用KL散度計算,即霧分布信息編碼器的相對熵?fù)p失可以表示為:
其中,zi表示z的第i維變量。
實驗證明感知損失在圖像轉(zhuǎn)換類型[20]任務(wù)中能夠幫助網(wǎng)絡(luò)生成質(zhì)量更高的圖像,預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)中包含著豐富的語義信息,因此可以作為結(jié)構(gòu)相似性的一種評價方式。本文使用了VGG19作為特征提取器提取生成器輸出的清晰圖像和重構(gòu)有霧圖像的高層信息,讓彼此在全局結(jié)構(gòu)相互逼近。感知損失的函數(shù)定義如下:
總的損失函數(shù)表達式如下所示:
其中,λD,λcyc,λKL和λp是網(wǎng)絡(luò)超參數(shù)。
(1)數(shù)據(jù)集。RESIDE[21]是近幾年使用最為廣泛的大型合成去霧數(shù)據(jù)集。由于采集成對的數(shù)據(jù)集十分具有挑戰(zhàn)性,所以RESIDE 的訓(xùn)練集利用從NYU2[22]和middlebury stereo[23]數(shù)據(jù)集上收集的1 399張清晰的室內(nèi)圖像和對應(yīng)的深度圖,合成了13 990張有霧圖像。其中,每一張清晰圖片使用不同的大氣光強度值和大氣透射率合成10 張有霧圖像。為了能更好地評價本文提出去霧算法的有效性,本算法在RESIDE 數(shù)據(jù)集的測試集SOTS 上進行了測試,SOTS 包含了500 張不存在于訓(xùn)練集中的清晰圖像和對應(yīng)的合成有霧圖。此外,本文還在RESIDE 提供的室外數(shù)據(jù)集上進行了實驗。實驗過程中還對比了其它去霧算法在此數(shù)據(jù)集上的結(jié)果,對提出算法的有效性進行了客觀分析和評價。
(2)評價指標(biāo)。本文對去霧效果的評價采用了2 個指標(biāo),分別是結(jié)構(gòu)相似性(Structural Similarity,SSIM)和峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)。其中,SSIM是一種衡量2 張圖像相似程度的指標(biāo),SSIM更符合人眼對相似度的判斷,取值范圍是[0,1],SSIM的值越大,表示圖像失真越小。PSNR的值是基于2 張圖像之間對應(yīng)像素間的誤差,值越大表明對應(yīng)像素之間的均方差越小,2 張圖片越接近。
(3)實驗環(huán)境。本文算法使用Pytorch 進行部署,硬件設(shè)備為GPU GTX 2080,處理器為Intel Xeon CPU E5-2603,內(nèi)存為32 G,操作系統(tǒng)為Ubuntu 16.04。實驗中,輸入圖像的分辨率為256*256,使用Adam 優(yōu)化器進行梯度下降優(yōu)化,批大小設(shè)置為2,使用高斯分布對網(wǎng)絡(luò)的權(quán)重進行初始化。初始學(xué)習(xí)率設(shè)置為0.000 2,網(wǎng)絡(luò)超參數(shù)設(shè)置為λD =10,λcyc =10,λKL =0.1,λp =0.01,使用余弦退火策略來控制學(xué)習(xí)率下降,一共對網(wǎng)絡(luò)進行150 輪訓(xùn)練。
本文將提出的去霧算法和幾種先進的基于先驗信息和學(xué)習(xí)的去霧算法進行了比較,其中包括基于先驗知識的傳統(tǒng)去霧算法DCP、基于學(xué)習(xí)的全監(jiān)督去霧算法DehazeNet、AOD-Net、以及EPDN[24],此外還與無需成對去霧數(shù)據(jù)集的無監(jiān)督去霧算法Cycle-Dehaze Net 進行了對比。在對比過程中為了保持公平,本文使用了作者提供的源代碼,按照作者給出的設(shè)置在相同的硬件設(shè)備下進行訓(xùn)練測試。在SOTS上的測試結(jié)果見表1。可以看出本文算法和一些全監(jiān)督的學(xué)習(xí)算法相比取得了不錯的結(jié)果,在室外和室內(nèi)合成測試集上都取得了最高的SSIM和PSNR。圖2 展示了本文去霧算法在SOTS 室內(nèi)和室外數(shù)據(jù)集上的一些視覺結(jié)果以及和其他一些去霧算法的對比。從圖2 可以看出,在視覺觀感上本文去霧結(jié)果更接近真實的無霧圖像,DCP、DehazeNet和AOD-Net 無法完全去除場景中的霧,Cycle-Dehaze Net 能夠有效去除圖像中的霧,但會產(chǎn)生嚴(yán)重的對比度偏差。EPDN 能夠移除有霧場景中大部分霧,并且細(xì)節(jié)還原較好,但和原始清晰圖像對比時會發(fā)現(xiàn)天空區(qū)域有一定的對比度偏移。從圖2 中還可以看出,本文算法能夠有效去除室外和室內(nèi)的霧,并且結(jié)果更接近真實的無霧場景,圖像還原效果較佳;去除有霧圖像中的霧的同時還能夠保留更多的紋理和細(xì)節(jié)信息,還原出真實的清晰圖像。為了進一步驗證本文算法的有效性,本文還進行了消融實驗分析各個模塊在算法中的作用。消融實驗的數(shù)據(jù)集選擇了RESIDE 室內(nèi)數(shù)據(jù)集部分。在提出的去霧算法中最核心的模塊是解耦模塊,本文與傳統(tǒng)生成網(wǎng)絡(luò)的不同之處是使用了內(nèi)容編碼器和霧分布編碼器對有霧圖像進行了解耦,因此對移除解耦模塊進行消融實驗?zāi)苡行炞C本文算法的有效性,實驗的對比結(jié)果見圖3 和表2。從圖3 中可以看出,移除了霧編碼分支后,網(wǎng)絡(luò)也能完成去霧任務(wù),但是恢復(fù)的圖像中存在大量的偽影,丟失了大量的紋理和細(xì)節(jié)。這是因為有霧圖像中包含了大量與圖像內(nèi)容無關(guān)的場景信息,普通的生成對抗網(wǎng)絡(luò)中的編碼器無法有效地從有霧圖像中提取圖像的內(nèi)容信息,消融實驗結(jié)果驗證了本文提出解耦重構(gòu)模型的有效性。此外,本文還對實驗使用的損失函數(shù)進行了消融實驗,驗證所使用的loss函數(shù)的有效性。具體結(jié)果參見表2。
圖2 SOTS 數(shù)據(jù)集視覺結(jié)果Fig. 2 Visual comparisons on SOTS datasets
圖3 消融實驗結(jié)果對比Fig. 3 Comparison of ablation experiment results
表1 在公共合成測試集上對比分析結(jié)果Tab.1 Quantitative comparisons with other state-of-the-art methods on public synthetic testing datasets
表2 消融實驗結(jié)果Tab.2 Results of ablation experiments
基于學(xué)習(xí)的去霧模型通常使用合成數(shù)據(jù)集進行訓(xùn)練,但合成數(shù)據(jù)集是利用大氣散射模型進行合成的,整幅圖像霧的分布都是均勻的,這并不符合真實戶外場景的特性。真實的有霧圖像在各個區(qū)域霧的濃度不是均勻分布的,這也隨之增加了去霧的難度。為了驗證本文算法在真實世界的表現(xiàn),本文還在O-HAZE 和 I -HAZE 數(shù)據(jù)集上進行了實驗。O-HAZE和I-HAZE 數(shù)據(jù)集是NTIRE 2018 挑戰(zhàn)賽上提出的真實去霧數(shù)據(jù)集。其中,O-HAZE 數(shù)據(jù)集包含45 幅成對的高分辨率清晰有霧戶外圖像,每對圖像都是在相同的光照條件和角度下拍攝的。I-HAZE數(shù)據(jù)集包含35 對室內(nèi)場景高分辨率圖像。所有的圖像都是在真實場景中拍攝,并且使用專業(yè)的煙霧生成機器來形成真實的霧。各算法在真實世界數(shù)據(jù)集上的表現(xiàn)結(jié)果參見表3。從表3 中可以看出,本文算法的PSNR和SSIM也處于領(lǐng)先地位,在真實世界的泛化能力優(yōu)于其他算法。
表3 真實世界去霧數(shù)據(jù)集結(jié)果Tab.3 Results on dehazing dataset in the real scene
在本文實驗中,使用了2 個生成器分別用于去霧和合成有霧圖像。其中,去霧模塊在測試的時候只需經(jīng)過有霧圖像內(nèi)容編碼器和霧分布信息編碼器提取內(nèi)容信息和霧分布信息,而后送入清晰圖像生成器中就可以生成清晰圖像。可以用下列公式來表示這一過程:
利用網(wǎng)絡(luò)另一分支還能生成更加接近真實有霧場景的圖像。有霧圖像的生成可用下列公式表示:
其中,z是霧分布信息編碼器輸出的多維正態(tài)分布向量的采樣結(jié)果。合成霧圖像的結(jié)果見圖4。由圖4 可見,采用本文方法合成的有霧圖像更接近自然界中真實有霧場景,滿足真實世界中霧區(qū)近淡遠濃的特點。在合成有霧圖像時不需要獲取清晰圖像的深度信息,大大降低了合成有霧圖像的難度。
圖4 有霧圖像合成對比Fig. 4 Hazy image synthesis contrast
設(shè)計了一種基于解耦重構(gòu)的弱監(jiān)督單幅圖像去霧算法,在訓(xùn)練過程中無需成對的有霧和無霧圖像。使用內(nèi)容信息編碼器和霧分布信息編碼器對輸入圖像進行解耦,使有霧圖像的內(nèi)容和霧特征實現(xiàn)了分離,同時還加入了循環(huán)一致性損失,提高了生成器重構(gòu)圖像的魯棒性,相比于現(xiàn)有監(jiān)督學(xué)習(xí)算法和非監(jiān)督學(xué)習(xí)算法,去霧效果在視覺和客觀指標(biāo)上都有提升。此外,本文算法還可用于基于學(xué)習(xí)的去霧算法的數(shù)據(jù)增強,利用本文方法能合成更接近真實世界的有霧圖像,提高現(xiàn)有去霧算法在真實世界去霧效果的泛化能力。未來本文算法將會繼續(xù)擴充使用場景,針對雨天、雪天等惡劣天氣場景下的圖像恢復(fù)進行研究,進一步提高本算法實用價值和泛化能力。