陳 平
(徽商職業(yè)學(xué)院 電子信息系,合肥 230022)
在計(jì)算機(jī)視覺領(lǐng)域中,高質(zhì)量的圖像對目標(biāo)檢測和圖像識別等計(jì)算機(jī)視覺任務(wù)起著重要的作用.然而,在實(shí)際環(huán)境中,圖像的質(zhì)量經(jīng)常會(huì)受到空氣中懸浮物(霧霾、灰塵等)的影響,這些懸浮物遮擋了背景信息,使圖像變得模糊.因此,如何得到清晰的無霧圖像已成為計(jì)算機(jī)視覺的研究熱點(diǎn).
為了消除空氣中霧霾對于圖像質(zhì)量的影響,幾十年來,研究人員對此不懈努力,現(xiàn)有的去霧方法大致可分為3 類:第1 種方法是圖像增強(qiáng)算法.主要基于信號處理原理,如直方圖均衡化、同態(tài)濾波、對比度增強(qiáng)、多尺度Retinex 等[1].但是圖像增強(qiáng)方法可能會(huì)導(dǎo)致一些關(guān)鍵信息在處理過程中丟失,因此應(yīng)用范圍相對較窄[2];第2 種方法是基于大氣散射模型的物理模型算法.根據(jù)估計(jì)景深的不同,將其進(jìn)一步分為基于場景深度信息的三維建模方法[3],圖像去噪先驗(yàn)理論方法以及深度學(xué)習(xí)方法[4].通過深度學(xué)習(xí)方法估計(jì)大氣散射模型參數(shù)的去霧效果非常好,可是由于無法獲得比較大的標(biāo)準(zhǔn)數(shù)據(jù)集,它僅限于實(shí)驗(yàn)室環(huán)境,無法大規(guī)模推廣[5].第3 種方法是基于CycleGAN的圖像風(fēng)格轉(zhuǎn)換去霧方法[6],CycleGAN 可以實(shí)現(xiàn)無配對訓(xùn)練數(shù)據(jù)的模型訓(xùn)練,解決了數(shù)據(jù)集的問題,具有很強(qiáng)的現(xiàn)實(shí)意義[7].然而,由于去霧效果相對一般,不能滿足人們的期望,去霧能力有待進(jìn)一步提高.所以到目前為止,還沒有一種算法不僅擁有良好的去霧性能,而且具備較強(qiáng)的實(shí)用性.
為了解決這一問題,本文提出了一種基于明暗通道的循環(huán)GAN 網(wǎng)絡(luò)(bright and dark channel CycleGAN network,BDCCN)算法,以CycleGAN為基本框架,采用固定參數(shù)和訓(xùn)練參數(shù)相結(jié)合方式,基于明暗通道先驗(yàn)理論,改進(jìn)循環(huán)感知損失,利用網(wǎng)絡(luò)完成無配對訓(xùn)練數(shù)據(jù)的模型訓(xùn)練,增強(qiáng)了CycleGAN 網(wǎng)絡(luò)對霧霾的敏感性.除此之外,本文基于CycleGAN 網(wǎng)絡(luò)中引用感知損失思想的經(jīng)驗(yàn),在訓(xùn)練中增加了改進(jìn)的循環(huán)感知損失,約束了網(wǎng)絡(luò)的訓(xùn)練方向,增強(qiáng)了去霧效果.
總的來說,本文的工作主要是在以下兩點(diǎn):
(1)首次將明暗通道先驗(yàn)理論引入到以CycleGAN為基本框架的去霧網(wǎng)絡(luò)中,通過提高明暗通道的損失函數(shù),提高了網(wǎng)絡(luò)對訓(xùn)練過程中霧霾特性的敏感性,得到了較好的去霧效果.
(2)增加了改進(jìn)的循環(huán)感知損失,進(jìn)一步增強(qiáng)了網(wǎng)絡(luò)的去霧能力.通過在RESIDE 數(shù)據(jù)集[8]上的實(shí)驗(yàn),驗(yàn)證了本文網(wǎng)絡(luò)比CycleGAN 具有更好的去霧能力,恢復(fù)的效果更接近于背景圖像.
本文的以下章節(jié)是:第2 節(jié)介紹了與深度學(xué)習(xí)網(wǎng)絡(luò)相關(guān)的工作;第3 節(jié)介紹了BDCCN 網(wǎng)絡(luò)及其改進(jìn);第4 節(jié)介紹了仿真實(shí)驗(yàn)的方法和結(jié)果,并與其他方法進(jìn)行了比較;第5 節(jié)對本文進(jìn)行了總結(jié).
單幅圖像去霧算法主要分為3 類:基于信號處理原理的圖像增強(qiáng)算法、基于大氣散射模型的去霧算法和基于CycleGAN的風(fēng)格轉(zhuǎn)移方法[9].其中,圖像增強(qiáng)算法容易出現(xiàn)信息丟失問題,應(yīng)用場景經(jīng)常受到限制;基于大氣散射模型的去霧視覺算法可以細(xì)分為三維建模方法,先驗(yàn)理論方法以及深度學(xué)習(xí)方法.雖然三維建模方法的去霧效果不錯(cuò),但是該模型的建立成本過大,應(yīng)用范圍非常有限;現(xiàn)有的先驗(yàn)理論方法比較簡單易用,但對于圖像天空區(qū)域的處理能力較差,處理后的圖像容易產(chǎn)生過曝性,背景信息嚴(yán)重丟失;基于深度學(xué)習(xí)[10]的方法可以很好地進(jìn)行圖像的區(qū)域分割和景深估計(jì),但模型的訓(xùn)練需要依賴于大的標(biāo)準(zhǔn)數(shù)據(jù)集,在實(shí)際環(huán)境中通常難以獲得此類數(shù)據(jù)集,導(dǎo)致基于標(biāo)準(zhǔn)數(shù)據(jù)集訓(xùn)練的方法只能通過模擬數(shù)據(jù)實(shí)現(xiàn),實(shí)用性差.基于CycleGAN的風(fēng)格轉(zhuǎn)移方法解決了數(shù)據(jù)集依賴問題[11],但其無監(jiān)督訓(xùn)練方法的結(jié)果使得去霧效果不理想.目前,還缺乏一種不依賴于標(biāo)準(zhǔn)數(shù)據(jù)集且具有理想去霧效果的算法.本文的研究是基于CycleGAN和大氣物理散射模型理論,因此后文主要介紹基于大氣散射模型的主流去霧算法和基于CycleGAN 網(wǎng)絡(luò)的風(fēng)格轉(zhuǎn)移去霧算法的研究現(xiàn)狀.
基于大氣散射模型的去霧方法通過建立大氣散射模型,研究模糊圖像的物理機(jī)制,可以得到懸浮顆粒對大氣光的散射效應(yīng)及其對圖像的影響,從而得出更加真實(shí)的無霧圖像.該模型主要受2 個(gè)參數(shù)(大氣光值和大氣透射率)影響,大氣透射率與景深成正比,因此,基于大氣散射模型的去霧算法主要通過各種方法估計(jì)景深和大氣成分參數(shù).估計(jì)參數(shù)的方法有3 種:三維建模方法、先驗(yàn)理論方法和深度學(xué)習(xí)方法.三維建模方法可以直接讀取三維模型參數(shù),但是其實(shí)用性并不高,本文主要介紹后兩種方法.
1)基于先驗(yàn)理論的去霧方法
Fattal[12]提出了采用獨(dú)立元素分析估計(jì)恒定矢量的反反射率,并假設(shè)透射率與局部物體表面的色度不相關(guān),推導(dǎo)出新的透射率圖.Ancuti 等[13]提出了一種通過分析原始圖像和半逆圖的色調(diào)差異來估計(jì)霧霾密度的方法.Tarel 等[14]假設(shè)大氣損失函數(shù)在一定的區(qū)域內(nèi)近似于一個(gè)最大值,并使用改進(jìn)的中值濾波來估計(jì)透射率.He 等[15]提出了暗通道先驗(yàn)理論,首先找出圖像的局部暗通道,通過大氣光值推導(dǎo)透射率,消除邊緣塊效應(yīng),最后恢復(fù)無霧圖像,暗通道先驗(yàn)理論可以很好地處理非天空區(qū)域部分,但是無法消除圖像中的天空區(qū)域的濃霧.Meng 等[16]在文獻(xiàn)[15]的基礎(chǔ)上做了進(jìn)一步工作,提出通過正則化方法解決圖像邊緣平滑的問題,進(jìn)而提高了圖像的分辨率.Fattal[17]最近提出了一種基于馬爾科夫隨機(jī)場(GMRF)原理完善初步傳輸圖的方法,GMRF 含有平滑的高斯項(xiàng),可以平滑圖像中的細(xì)節(jié)信息.Zhu 等[18]最近提出了一個(gè)顏色衰減先驗(yàn)?zāi)P?CAP)的框架,該方法認(rèn)為無霧圖像中的飽和度和亮度之差通常接近于零,且假設(shè)場景的深度為飽和度和亮度的線性組合.與其他算法不同,該算法的先驗(yàn)理論是全局性的,從而不必估計(jì)大氣光值和傳輸圖.為了消除粗略的透射率在景深中突然變化區(qū)域的光暈問題,He 等[19]提出了引導(dǎo)濾波算法來提高透射率的優(yōu)化效率.Gibson 等[20]提出了一種基于中值濾波的去霧方法,有效地避免了圖像方法中容易產(chǎn)生偽影的缺點(diǎn).Berman等[21]提出一種根據(jù)圖像的RGB 值分析有霧圖像特征的方法,該方法認(rèn)為有霧圖像中的RGB 值通常分布為RGB 空間中的一條線,線的兩端分別是像素的原始輻射值和大氣光值.因此,可以通過這個(gè)屬性來估計(jì)每個(gè)像素的模型參數(shù),而干凈圖像的RGB 值通常以簇的形式分布在RGB 空間中.
一般來說,基于先驗(yàn)理論的去霧方法主要手段是尋求大氣物理散射模型的參數(shù),這種方法簡單有效,但是并不能應(yīng)用所有場景[22].比如,在實(shí)際應(yīng)用中,暗通道先驗(yàn)算法在處理圖像中的天空區(qū)域或者濃霧區(qū)域時(shí)會(huì)出現(xiàn)嚴(yán)重的過曝現(xiàn)象,處理后的圖像色彩嚴(yán)重失真.本文利用先驗(yàn)理論知識,將霧的濃度轉(zhuǎn)化為損失函數(shù)來約束CycleGAN 網(wǎng)絡(luò)的訓(xùn)練,通過CycleGAN 網(wǎng)絡(luò)完成圖像的去霧過程,可以有效利用先驗(yàn)理論的優(yōu)勢,避免了基于先驗(yàn)的方法泛化能力不強(qiáng)等問題.
2)基于深度學(xué)習(xí)的去霧方法
近年來,研究人員將深度學(xué)習(xí)方法引入圖像去霧領(lǐng)域,通過CNN 網(wǎng)絡(luò)對輸入圖像進(jìn)行特征提取和分析,估計(jì)每個(gè)圖像的透射率,然后利用大氣散射模型進(jìn)行圖像去噪.Cai 等的DehazeNet[23]通過將模糊圖像輸入到網(wǎng)絡(luò)中,得到透射率矩陣,然后將其帶入大氣散射模型中,得到無霧圖像.Ren 等[24]提出了一種多尺度神經(jīng)網(wǎng)絡(luò)去噪霧方法,用粗尺度估計(jì)場景深度,然后使用精細(xì)尺度網(wǎng)絡(luò)細(xì)化網(wǎng)格.Li 等的AOD-Net[25]對大氣散射模型進(jìn)行了變形,用新的參數(shù)表示透射率和大氣成分,用簡化的U-NET 網(wǎng)絡(luò)直接將模糊的圖像轉(zhuǎn)化為無霧圖像[26–28].
基于深度學(xué)習(xí)的去霧算法可以很好地處理場景邊界的景深變化,準(zhǔn)確地估計(jì)景深,所以去霧效果較好.然而,網(wǎng)絡(luò)的訓(xùn)練需要依靠成熟的大規(guī)模標(biāo)準(zhǔn)數(shù)據(jù)集,在現(xiàn)實(shí)中建立數(shù)據(jù)集時(shí),在同一場景中得到的有霧霾或無霧霾的圖像除了具有霧霾特征外,還受到光照和天氣變化的影響,很難做到單一因素的差異,所以很難建立標(biāo)準(zhǔn)數(shù)據(jù)集.因此,現(xiàn)有的方法通常使用仿真數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練.雖然這種訓(xùn)練方法在測試集上取得了很好的效果,但當(dāng)處理數(shù)據(jù)集風(fēng)格變化較大的圖像時(shí),生成的圖像的真實(shí)性和可信度并不是很可靠,視覺效果往往不理想.
近年來,生成對抗性網(wǎng)絡(luò)(GAN)[29,30]的提出為圖像去噪的研究提供了一種新的思想,即GAN 網(wǎng)絡(luò)可以實(shí)現(xiàn)不同小數(shù)據(jù)集之間的數(shù)據(jù)轉(zhuǎn)換.Zhu 等[31]在2017年提出的CycleGAN 甚至可以通過未配對的訓(xùn)練數(shù)據(jù)實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換.
CycleGAN 由2 個(gè)鏡像對稱的GAN 網(wǎng)絡(luò)組成,并形成環(huán)網(wǎng).兩個(gè)GAN 共享兩個(gè)生成器,分別設(shè)一個(gè)判別器,總共有兩個(gè)判別器和兩個(gè)生成器.CycleGAN 可以將一種類型的圖像轉(zhuǎn)換成另一種類型的圖像,并且由于它自身的環(huán)形結(jié)構(gòu),訓(xùn)練時(shí)兩種類型的圖像可能不存在一一對應(yīng)關(guān)系.訓(xùn)練數(shù)據(jù)集不同于傳統(tǒng)的標(biāo)準(zhǔn)數(shù)據(jù)集,無需對應(yīng)即可完成訓(xùn)練,解決了因數(shù)據(jù)集過少而無法進(jìn)行網(wǎng)絡(luò)訓(xùn)練的問題.但是,由于網(wǎng)絡(luò)自身約束相對較弱,變換后的圖像可能存在一些異常,具有較大的隨機(jī)性,效果不是特別理想.
在此基礎(chǔ)上,2018年Engin 等[32]的Cycle-Dehaze網(wǎng)絡(luò)在CycleGAN的基礎(chǔ)上增加了拉普拉斯變換,利用拉普拉斯變換放大圖像,輸出圖像后得到干凈圖像.Cycle-Dehaze的循環(huán)感知損失是利用VGG16[33]對輸入圖像和重建圖像進(jìn)行高維特征變換,然后計(jì)算高維向量的方差,得到另一種循環(huán)損失函數(shù).但只是在周期一致性損失上略有加強(qiáng)的約束,雖然做了一些改進(jìn),仍存在轉(zhuǎn)換結(jié)果出現(xiàn)奇怪現(xiàn)象的問題,去霧效果仍不理想[34–37].
深度學(xué)習(xí)方法可以很好地解決圖像分割和場景深度估計(jì)的問題,但需要依靠大型標(biāo)準(zhǔn)數(shù)據(jù)集;而CycleGAN框架的深度學(xué)習(xí)方法,雖然擺脫了對數(shù)據(jù)集的依賴,但它與監(jiān)督法相比,無監(jiān)督訓(xùn)練的去霧效果更差.因此,本文主要研究如何對CycleGAN 網(wǎng)絡(luò)進(jìn)行進(jìn)行優(yōu)化,使其得到性能更好的去霧模型.基于明暗通道的循環(huán)GAN 網(wǎng)絡(luò)總體框架如圖1所示.
圖1 明暗通道的循環(huán)GAN 網(wǎng)絡(luò)總體框架圖
本文提出的BDCCN 網(wǎng)絡(luò)是在CycleGAN 網(wǎng)絡(luò)的基礎(chǔ)上,結(jié)合了明暗通道的損失評估機(jī)制,擴(kuò)展并增強(qiáng)了網(wǎng)絡(luò)的去霧功能.并且為了克服先驗(yàn)方法的缺陷,本文采用了預(yù)先訓(xùn)練好的FC-DenseNet 語義分割模型[37]對輸入的模糊圖像進(jìn)行分割,將圖像中的天空部分和濃霧部分分離開,并進(jìn)行單獨(dú)處理.此外,我們還在生成器損失中加入了明暗通道損失,使模型在訓(xùn)練過程中更容易向正確的方向收斂.為了使模型更好地保留圖像的細(xì)節(jié)信息,本文參考了EnhanceNet,將改進(jìn)后的周期損失函數(shù)添加到網(wǎng)絡(luò)中.本文算法流程如圖2.
圖2 本文算法流程圖
如圖2所示,本文提出的BDCCN 包含2 個(gè)完全相同的生成器(生成器A2B,生成器B2A),2 個(gè)相同判別器(判別器A、判別器B).與傳統(tǒng)的生成對抗網(wǎng)絡(luò)中的損失函數(shù)不同,本文不僅創(chuàng)新性地在生成器中添加明暗通道損失,還在周期一致性損失中增加了增強(qiáng)型循環(huán)感知損失,可以使網(wǎng)絡(luò)在完成去霧任務(wù)的同時(shí),保留更多的圖像細(xì)節(jié)信息.明暗通道損失則在一定程度上定義了圖像中的霧濃度,并且,為了防止因明暗損失函數(shù)造成的圖像過暗的現(xiàn)象,本文提出的周期一致性損失和循環(huán)感知損失需要一起工作.前者起了主導(dǎo)作用,因此其權(quán)重也應(yīng)大于后者.除此之外,BDCCN 中生成器B2A的作用是生成模糊圖像,所以本文只在生成器A2B 中添加了明暗通道損失,而生成器B2A 中依舊使用CycleGAN 損失函數(shù).
He 等[15]的暗通道先驗(yàn)理論(dark channel prior,DCP)將原來由3 個(gè)通道(RGB)的圖像轉(zhuǎn)換為只有一個(gè)通道的暗通道圖像,轉(zhuǎn)換過程如式(1)所示.Jdark(x)是暗通道圖像,Jc(x)為背景圖像,c表示像素點(diǎn),用函數(shù)表示的過程是將原圖像中每個(gè)像素點(diǎn)的3 個(gè)通道的像素值進(jìn)行比較,得到最小值,形成單通道暗圖像.其公式如式(1).
根據(jù)觀察,沒有霧霾的暗圖像幾乎是全黑的,暗通道值為0;在圖像中的天空區(qū)域或霧霾區(qū)域,暗圖像會(huì)比較亮,霧霾濃度越大,暗圖像的亮度越大,其通道值為1,本文稱為明通道.所以明暗通道理論(bright and dark channel prior,BDCP)可以在一定程度上描述圖像霧霾的密度,因此根據(jù)BDCP 理論,本文將圖像轉(zhuǎn)換為明暗通道圖像,然后歸一化得到BDCP 損失.以 λ進(jìn)行歸一化處理.因?yàn)橄袼氐姆秶?–255,所以在訓(xùn)練過程中 λ被取為255.
根據(jù)BDCP 理論,霧霾濃度與BDCP 損失呈正相關(guān),因此BDCP 損失可作為評價(jià)圖像去霧效果的指標(biāo).然而,由于DCP 理論的一個(gè)缺陷,即在圖像的天空區(qū)域或白色區(qū)域,DCP 理論將失去有效性.為了克服這個(gè)缺點(diǎn),在計(jì)算BDCP 損失之前,本文先通過預(yù)先訓(xùn)練好的FC-DenseNet 語義分割模型識別出天空部分,然后用[200,200,200]作為閾值來分離圖像中的白色區(qū)域(根據(jù)觀察,一般模糊區(qū)域不超過[200,200,200],只有當(dāng)霧的濃度極度密集或原背景接近白色時(shí)才會(huì)超過這個(gè)閾值).式(2)表示BDCP 損失,首先分別計(jì)算輸入的模糊圖像的暗通道圖和亮通道圖平均像素值,然后除
受Durugkar 擴(kuò)展的GANS 多判別器結(jié)構(gòu)的啟發(fā),在生成器損失后增加了明暗通道損失,可以提高模型訓(xùn)練的效果.損失函數(shù)改進(jìn)為式(3):
其中,L(G,F)為原CycleGAN的生成器損失,LBDCP(G)為去霧圖像的明暗通道損失,并且本文為了防止明暗通道損失值過大,導(dǎo)致圖像整體顏色變暗,加入權(quán)重系數(shù) λ1.在實(shí)際訓(xùn)練中,λ1取為0.1.由于明暗通道損失更適合約束網(wǎng)絡(luò)的訓(xùn)練方向,而我們只關(guān)注去霧效率,所以明暗通道損失只加到去霧方向的生成器損失上,因此判別器部分仍是原來的損失函數(shù).
周期一致性損失是通過計(jì)算原始圖像和恢復(fù)后的干凈圖像之間的L1 范數(shù)來定義的,在CycleGAN 網(wǎng)絡(luò)中通常使用周期一致性損失函數(shù)以保持映射的唯一性.但是,周期一致性損失函數(shù)通常只考慮了輸入圖像與輸出圖像之間的映射關(guān)系,無法做到清晰地描述圖像細(xì)節(jié)信息,使其恢復(fù)后的無霧圖像清晰度低.
針對這種現(xiàn)象,Cycle-Dehaze 網(wǎng)絡(luò)提出循環(huán)感知損失約束周期一致性損失,循環(huán)感知損失是利用VGG16提取的圖像高維和低維特征向量而進(jìn)行的MSE 計(jì)算,然后描述輸入圖像與恢復(fù)后的無霧圖像在高維空間的差異.然而,循環(huán)感知損失在約束周期一致性損失的同時(shí)也約束了自己,在實(shí)驗(yàn)中當(dāng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),生成的圖像與原始圖像相差甚遠(yuǎn).因此,本文提出增強(qiáng)型的循環(huán)感知損失,通過將中間生成的圖像加入到損失函數(shù)計(jì)算中來緩解這一現(xiàn)象.本文提出的增強(qiáng)循環(huán)感知損失使用方差的計(jì)算方法來描述輸入圖像和重建圖像之間的區(qū)別,同時(shí)也限制了生成的圖像和輸入的圖像在高維空間的差距,使輸出后的無霧圖像更加清晰.如果沒有這種限制,在BDCP 損失函數(shù)的作用下,會(huì)造成去霧過度的現(xiàn)象發(fā)生,影響圖像的正常景深.具體公式為如式(4)所示.
其中,?代表VGG16 提取的第2 層和第5 層外高維特征向量,在這兩組中,x∈X,y∈Y,x,y分別代表輸入的有霧圖和無霧圖,生成器G代表X→Y,生成器F代表Y→X.首先計(jì)算輸入圖像x、y的高維向量? (x)、? (y),然后計(jì)算對應(yīng)生成圖像G(x)、G(y)的高維向量? (G(x))、?(F(y)),再計(jì)算高維向量之間的L1 范數(shù).得出? (G(x))、?(F(y))和重構(gòu)圖像F(G(x))、G(F(y))的高維向量?(F(G(x)),以及計(jì)算? (G(x))、? (F(y)) 與重構(gòu)圖像F(G(x))、G(F(y))之間高維向量? (F(G(x))、? (G(F(y))的L1 范數(shù).最后,我們進(jìn)行方差計(jì)算,得到增強(qiáng)的感知損失.
與CycleGAN 相比,BDCCN的損失函數(shù)只增加了增強(qiáng)的循環(huán)感知損失和BDCP 損失,其余的保持不變.BDCCN的周期一致性損失如式(5)所示,在CycleGAN(G,F,Dx,Dy)的基礎(chǔ)上,增加增強(qiáng)循環(huán)感知損失Lperceptual,并設(shè)權(quán)重系數(shù) λ2,平衡增強(qiáng)循環(huán)感知損失和周期一致性損失.由于增強(qiáng)循環(huán)感知損失與周期一致性損失相比非常大,λ2在訓(xùn)練中被設(shè)置為0.5×10?7.BDCCN 對CycleGAN和Cycle-Dehaze 網(wǎng)絡(luò)進(jìn)行優(yōu)化,通過式(6)得到生成器的生成結(jié)果G*、F*如式(6)所示.
其中,G*是本文重點(diǎn)關(guān)注的去霧后圖像,Dx,Dy為判別器,并在第4 節(jié)用于和其他算法進(jìn)行測試和比較.
在本節(jié)中,我們將對實(shí)驗(yàn)方法和結(jié)果進(jìn)行介紹和分析.首先,本文的實(shí)驗(yàn)是在RESIDE 數(shù)據(jù)集(室外數(shù)據(jù)集(OTS)和室內(nèi)數(shù)據(jù)集(ITS))進(jìn)行訓(xùn)練和測試的,并在真實(shí)數(shù)據(jù)上進(jìn)行了實(shí)驗(yàn),并將結(jié)果與其他算法進(jìn)行了比較.
RESIDE 訓(xùn)練集包含1 399 張清晰圖像和13 990張由相應(yīng)清晰圖像生成的有霧圖像.全球大氣光的范圍從0.8 到1.0,散射參數(shù)從0.04 變?yōu)?.2.為了與當(dāng)前的最新方法進(jìn)行比較,本文采用了PSNR和SSIM 指標(biāo),并在綜合目標(biāo)測試集(SOTS)中進(jìn)行了全面的比較測試,該測試集包含500 張室內(nèi)圖像和500 張室外圖像.最后在真實(shí)數(shù)據(jù)集上,本文的網(wǎng)絡(luò)依舊表現(xiàn)出良好的去霧能力,本文方法在圖像細(xì)節(jié)和顏色保真度方面表現(xiàn)良好,其結(jié)果如圖3所示.
圖3 圖像去霧的細(xì)節(jié)對比圖
本部分在RESIDE 室外數(shù)據(jù)集(OTS)上進(jìn)行訓(xùn)練和測試,并將實(shí)驗(yàn)結(jié)果與當(dāng)前先進(jìn)的算法進(jìn)行對比,實(shí)驗(yàn)結(jié)果如圖4所示.我們可以看到DCP 算法在處理圖像的過程中可以很好的去除圖像的朦朧感,具有很強(qiáng)的去霧能力,但是DCP 算法無法處理濃霧或者圖像中亮度比較大的地方,會(huì)使圖像出現(xiàn)明顯的失真.AODNet 算法無法有效的去除圖像的霧霾部分,去霧效果不是很明顯,并且傾向于輸出低亮度圖像.相比之下,PyTorch算法可以恢復(fù)某些相對于背景真實(shí)情況而言亮度過高的圖像,但是對于濃霧圖像效果依舊不是很理想.FFA算法輸出的結(jié)果中大部分圖像只出現(xiàn)局部去霧,無法完全的去除圖像霧霾效果,且出現(xiàn)圖像色彩偏暗現(xiàn)象.相反,本文算法在去霧同時(shí)能很大程度的保留圖像本身的紋理和色彩,去霧效果接近背景圖像.
圖4 室外合成圖像去霧效果對比圖
本部分在RESIDE 室外數(shù)據(jù)集(ITS)上進(jìn)行訓(xùn)練和測試,并將實(shí)驗(yàn)結(jié)果與當(dāng)前先進(jìn)的算法進(jìn)行對比,實(shí)驗(yàn)結(jié)果如圖5所示.各算法在室內(nèi)數(shù)據(jù)集中表現(xiàn)良好,但是DCP 算法依舊出現(xiàn)局部亮度過高問題,AOD-Net和PyTorch 算法出現(xiàn)去霧不徹底現(xiàn)象.FFA-Net 在室內(nèi)數(shù)據(jù)集中表現(xiàn)優(yōu)秀,復(fù)原效果接近真實(shí)圖像.本文算法在完成去霧任務(wù)的同時(shí),仍舊保留了圖像細(xì)節(jié)特征.
圖5 室內(nèi)合成圖像去霧效果對比圖
本部分選取部分真實(shí)圖像,將本文算法與各算法對比.實(shí)驗(yàn)結(jié)果如圖6所示,DCP 算法依舊有良好的去霧能力,但是不可避免的出現(xiàn)局部區(qū)域亮度過高情況.AOD-Net 很好的完成了去霧任務(wù),也沒有出現(xiàn)圖像色彩失真狀況.FFA-Net 去霧能力一直不穩(wěn)定,與室外合成數(shù)據(jù)集表現(xiàn)一樣,始終出現(xiàn)圖像部分去霧現(xiàn)象.本文算法一如既往表現(xiàn)良好,在完成去霧任務(wù)的同時(shí),最大程度的保留了圖像的紋理細(xì)節(jié).
圖6 真實(shí)圖像去霧效果對比圖
不同方法的PSNR和SSIM 對比結(jié)果如表1所示.
表1 不同方法的PSNR和SSIM 對比結(jié)果
為了進(jìn)一步展示特征融合注意網(wǎng)絡(luò)體系結(jié)構(gòu)的優(yōu)越性,本文通過考慮提出的明暗通道的循環(huán)GAN 網(wǎng)絡(luò)的不同模塊來進(jìn)行消融研究.本文通過增減了部分殘差塊以及卷積層來對比一下最終的測試集結(jié)果.增減不同模塊的室內(nèi)圖像測試集比較結(jié)果如表2.
如表2所示,在本文的框架中,PSNR 達(dá)到31.76 dB,SSIM為0.942 6.由此可知,本文所考慮的每個(gè)因素在網(wǎng)絡(luò)性能中都起著重要作用,尤其是明暗通道的循環(huán)GAN 網(wǎng)絡(luò).我們還可以清楚地看到,在增減部分結(jié)構(gòu)的時(shí)候,輸出的結(jié)果往往不是很令人滿意,維持本文的現(xiàn)有模塊使網(wǎng)絡(luò)訓(xùn)練穩(wěn)定,同時(shí)也能提高了網(wǎng)絡(luò)性能明暗通道的結(jié)合也使我們的結(jié)果達(dá)到了很高的水平.
表2 增減不同模塊的室內(nèi)圖像測試集比較
本文提出了BDCCN 單幅圖像去霧網(wǎng)絡(luò),可以直接將模糊圖像轉(zhuǎn)換為干凈圖像,而不需要大氣散射模式參數(shù).而且,我們的模型在訓(xùn)練過程中也不需要配對訓(xùn)練.為了獲得更真實(shí)、更清晰的去無陰影圖像,我們提出了基于明暗通道理論的損失函數(shù),并將其添加到生成器損失函數(shù)上,同時(shí)增加了改進(jìn)的循環(huán)感知損失對循環(huán)一致?lián)p失的影響.實(shí)驗(yàn)結(jié)果表明,本文的方法相對于CycleGAN 及其變體在SSIM和PSNR 上有很大的提高,相對于其他最先進(jìn)的算法在室外實(shí)像上也有更好的效果.