吳峻江,儲(chǔ) 珺,盧 昂,冷 璐
1.南昌航空大學(xué) 軟件學(xué)院,南昌 330063
2.南昌航空大學(xué) 江西省圖像處理與模式識(shí)別重點(diǎn)實(shí)驗(yàn)室,南昌 330063
霧是一種常見的大氣現(xiàn)象,懸浮在空氣中的顆粒物會(huì)引起光的散射和衰減,因此在有霧天氣下所拍攝到的圖像質(zhì)量嚴(yán)重下降,出現(xiàn)對比度低,顏色失真等問題。不僅嚴(yán)重影響視覺效果,也對后續(xù)的高級視覺任務(wù)如目標(biāo)檢測[1]、目標(biāo)跟蹤[2]、視頻監(jiān)控等產(chǎn)生影響。圖像去霧作為底層視覺領(lǐng)域的一項(xiàng)子任務(wù)受到了極大的關(guān)注。
單幅圖像去霧的方法可以分為兩大類:基于先驗(yàn)信息的圖像去霧方法和基于深度學(xué)習(xí)的圖像去霧方法?;谙闰?yàn)信息的圖像去霧方法主要是在大氣散射模型[3]基礎(chǔ)上,利用圖像固有的先驗(yàn)信息屬性來估計(jì)出大氣散射模型中的傳輸圖與大氣光值。如He 等人[4]提出了一種暗通道先驗(yàn)算法。算法假設(shè)在無霧圖像的非天空區(qū)域,至少有一個(gè)顏色通道會(huì)有很低的值,通過此先驗(yàn)知識(shí)結(jié)合大氣散射模型進(jìn)行去霧。Zhu等人[5]提出了一種顏色衰減先驗(yàn)算法,通過對大量有霧圖像分析發(fā)現(xiàn)霧的濃度隨景深的變化而變化,霧濃度越大,景深越大。根據(jù)該先驗(yàn)信息實(shí)現(xiàn)投射率的估計(jì)和無霧圖像的恢復(fù)。Berman等人[6]提出了一種非局部先驗(yàn)算法,算法假設(shè)在RGB空間中,清晰圖像中的每個(gè)顏色簇都變成了霧線,然后通過先驗(yàn)公式對清晰圖像進(jìn)行線性恢復(fù)。這類算法通常具有較低的時(shí)間復(fù)雜度,但在實(shí)際應(yīng)用場景下,很難找到一個(gè)通用的先驗(yàn)知識(shí),因此會(huì)違背先驗(yàn)假設(shè),對透射圖的估計(jì)不準(zhǔn)確,導(dǎo)致去霧不徹底、顏色失真。
基于深度學(xué)習(xí)的圖像去霧方法主要分為兩類:第一類基于大氣散射模型,使用網(wǎng)絡(luò)學(xué)習(xí)并生成透射圖,隨后估計(jì)出大氣光值,并通過大氣散射模型推導(dǎo)出去霧結(jié)果。如Li等人[7]提出的AOD-Net,它利用重新規(guī)劃的大氣散射模型,將大氣光值和透射率融合成一個(gè)新值K,并通過卷積神經(jīng)網(wǎng)絡(luò)估計(jì)K值,然后將K代入大氣散射模型得到去霧圖像。Cai等人[8]基于CNN提出DehazeNet,它以有霧圖像作為輸入,以學(xué)習(xí)的方式來估計(jì)透射率,然后通過簡單的像素操作恢復(fù)出無霧圖像。上述基于大氣物理模型的深度學(xué)習(xí)方法雖然取得了不錯(cuò)的效果,但和基于先驗(yàn)信息的傳統(tǒng)圖像去霧方法一樣,它們依賴大氣散射模型。
第二類是端到端的直接去霧的深度學(xué)習(xí)方法。其中有基于生成對抗網(wǎng)絡(luò)(generating adversarial network,GAN)去霧算法和基于編解碼結(jié)構(gòu)的去霧算法?;贕AN 的方法有:如Qu 等人[9]提出增強(qiáng)型Pix2pix GAN。利用增強(qiáng)器對生成圖像在顏色和細(xì)節(jié)方面進(jìn)行增強(qiáng)。Dong 等人[10]提出一個(gè)帶有融合判別器的端到端GAN。融合判別器在訓(xùn)練階段將頻率信息作為額外的先驗(yàn)因素進(jìn)行整合?;诰幗獯a結(jié)構(gòu)的方法是圖像去霧領(lǐng)域的主流方法,通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)有霧圖像到無霧圖像的映射。如Ren 等人[11]提出一個(gè)基于編解碼的門控融合網(wǎng)絡(luò)(gated fusion network),對輸入圖像先做預(yù)處理(即白平衡、對比度增強(qiáng)、伽馬矯正),處理得到的三個(gè)圖像作為網(wǎng)絡(luò)輸入,并采用多尺度結(jié)構(gòu)對去霧結(jié)果進(jìn)行細(xì)化。Wu等人[12]提出一種基于知識(shí)遷移的編解碼結(jié)構(gòu)網(wǎng)絡(luò)。算法利用無霧圖像訓(xùn)練教師網(wǎng)絡(luò),用它監(jiān)督中間特征,利用特征相似性鼓勵(lì)去霧網(wǎng)絡(luò)模仿教師網(wǎng)絡(luò)進(jìn)行去霧,并在兩個(gè)網(wǎng)絡(luò)的最后一層卷積前都使用增強(qiáng)模塊來融合不同感受野層的特征。Feng等人[13]受U-Net[14]和ResNet[15]的啟發(fā),設(shè)計(jì)了基于U-Net 的殘差網(wǎng)絡(luò)。通過混合卷積與HSV顏色空間損失函數(shù)來學(xué)習(xí)有無圖像和無霧圖像之間的殘差圖像,實(shí)現(xiàn)去霧。Mei 等人[16]提出了一種有效的類U-Net結(jié)構(gòu)的編解碼網(wǎng)絡(luò),通過漸進(jìn)式特征融合的方式逐漸恢復(fù)圖像細(xì)節(jié)。Liu等人[17]提出了一種具有網(wǎng)格狀的去霧網(wǎng)絡(luò),直接重建清晰的圖像。通過注意力機(jī)制有效地緩解傳統(tǒng)多尺度融合去霧方法中的瓶頸問題。Yang 等人[18]提出基于內(nèi)容特征和風(fēng)格特征融合的圖像去霧網(wǎng)絡(luò),通過學(xué)習(xí)內(nèi)容與風(fēng)格特征去霧的同時(shí)保持原始圖像的色彩特征。Dong等人[19]提出了一個(gè)多尺度的增強(qiáng)密集特征融合去霧網(wǎng)絡(luò),網(wǎng)絡(luò)總體采用U-Net架構(gòu),利用反向投影技術(shù)設(shè)計(jì)了一個(gè)密集特征融合模塊,利用非鄰近特征的同時(shí)也糾正高分辨率特征中缺失的空間信息。Chen 等人[20]提出了一個(gè)基于門控融合上下文信息的編解碼網(wǎng)絡(luò),并利用門控機(jī)制融合不同層次的特征,但是缺少對編碼階段與解碼階段的特征進(jìn)行信息交互。Yang 等人[21]提出一種結(jié)構(gòu)類似于字母Y的多尺度特征聚合的編解碼網(wǎng)絡(luò),但是在網(wǎng)絡(luò)編碼階段連續(xù)下采樣過程中沒有保留不同尺度特征信息,導(dǎo)致圖像特征丟失,影響圖像高頻細(xì)節(jié)的恢復(fù)。
上述端到端的方法在網(wǎng)絡(luò)設(shè)計(jì)時(shí)沒有充分提取與利用不同分辨率層次的多尺度特征信息,以及在特征轉(zhuǎn)換階段沒有對不同空間上下文層次的特征進(jìn)行有效的提取與融合,特征感受野大小的不足導(dǎo)致圖像去霧不徹底,霧氣存留在圖上。而且在訓(xùn)練階段,大多數(shù)圖像去霧算法只考慮了逐像素點(diǎn)的恢復(fù),并沒有考慮重建的圖像是否符合人類視覺感知,因此恢復(fù)出的圖像雖然峰值信噪比指標(biāo)高,但是圖像不符合人眼的視覺感知,且有一定的顏色失真。
針對上述問題,本文提出了一個(gè)基于感知監(jiān)督和多層次特征融合的圖像去霧網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)是類UNet結(jié)構(gòu)的編解碼去霧網(wǎng)絡(luò)。本文主要?jiǎng)?chuàng)新點(diǎn)包括:
(1)設(shè)計(jì)多層次特征融合模塊,包括分辨率層次特征復(fù)用與融合模塊,以及空間下上文層次特征提取與融合模塊。通過分辨率層次特征的復(fù)用與融合在編碼階段提取每個(gè)不同分辨率層次的豐富特征,為重建圖像提供更多的不同尺度紋理信息;通過空間上下文層次特征提取與融合模塊,提取不同層次的空間上下文特征,并且通過層次特征融合模塊學(xué)習(xí)和融合不同層次的特征,使得網(wǎng)絡(luò)能夠更加關(guān)注重要的特征信息。
(2)引入感知損失和多尺度結(jié)構(gòu)相似度損失。在訓(xùn)練階段,引入感知損失和多尺度結(jié)構(gòu)相似度損失,和平滑L1 損失組成聯(lián)合損失函數(shù)對網(wǎng)絡(luò)訓(xùn)練過程進(jìn)行監(jiān)督,使網(wǎng)絡(luò)學(xué)習(xí)更多亮度,對比度等人類視覺感知屬性。去霧后圖像保證高的評價(jià)指標(biāo)的同時(shí)也更符合人類視覺感知。
算法網(wǎng)絡(luò)為類U-Net結(jié)構(gòu)的編解碼網(wǎng)絡(luò),構(gòu)建了分辨率層次特征復(fù)用與融合模塊(resolution hierarchical feature reuse and fusion module,RHFRF),空間上下文層次特征提取與融合模塊(spatial context hierarchical feature extraction and fusion),以及自適應(yīng)特征融合模塊(adaptive feature integration module,AFIM)。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure
在編碼階段,與傳統(tǒng)的類UNet 編解碼網(wǎng)絡(luò)在每次下采樣后使用普通的卷積層或殘差塊提取特征不同,本文在每個(gè)卷積層后使用一個(gè)分辨率層次特征復(fù)用與融合模塊,提取的特征包含更多不同尺度的結(jié)構(gòu)細(xì)節(jié)信息,有更強(qiáng)的表達(dá)能力;在特征轉(zhuǎn)換階段,相比于以往用多個(gè)普通殘差塊級聯(lián)來提取深層特征的方式,本文利用多個(gè)級聯(lián)的基于注意力機(jī)制的平滑擴(kuò)張卷積塊,提取不同擴(kuò)張率層次的空間上下文特征,并且自適應(yīng)學(xué)習(xí)與融合不同層次的特征;最后在解碼階段,利用自適應(yīng)特征融合模塊代替通用編解碼網(wǎng)絡(luò)中的跳躍連接,實(shí)現(xiàn)上下采樣階段的特征交互,補(bǔ)充丟失的信息,再逐漸上采樣回到原始分辨率。
在訓(xùn)練階段,采用感知監(jiān)督聯(lián)合逐像素監(jiān)督對網(wǎng)絡(luò)訓(xùn)練過程進(jìn)行約束。感知監(jiān)督是通過具有人類視覺感知屬性(亮度、結(jié)構(gòu)等)的損失函數(shù)對訓(xùn)練過程進(jìn)行監(jiān)督。相比于只有逐像素的監(jiān)督過程,感知監(jiān)督能考慮去霧后的圖像與Ground Truth之間的視覺差異,使得去霧后的圖像在視覺效果方面變得更加符合人的視覺感知和審美。
通用的類UNet 編解碼網(wǎng)絡(luò)在編碼階段,采用普通卷積層進(jìn)行下采樣和下采樣后的特征提取。普通3×3的卷積提取特征會(huì)不可避免地丟失了一些圖像細(xì)節(jié)或紋理等結(jié)構(gòu)信息。本文結(jié)合殘差密集塊設(shè)計(jì)分辨率層次特征復(fù)用與融合模塊。如圖2所示。
圖2 分辨率層次特征復(fù)用與融合模塊Fig.2 Resolution hierarchical feature reuse and fusion module
模塊有四個(gè)卷積塊和一層1×1 卷積構(gòu)成。模塊的前四層卷積塊緊密連接在一起,用以學(xué)習(xí)當(dāng)前分辨率尺度下更多的信息。其中每一層的輸入都會(huì)復(fù)用之前所有層的特征,這樣既保持了前饋特性,又同時(shí)提取到了不同尺度霧圖的細(xì)節(jié)特征和局部密集特征。最后一層用連接操作按通道連接之前所有層的特征,并且用1×1卷積自適應(yīng)融合不同層產(chǎn)生的特征圖,將前四層融合后的結(jié)果Fres作為殘差值與Finput相加得到最終輸出。
根據(jù)文獻(xiàn)[22]所述,本文將模塊的增長率設(shè)置為16。并且為了平衡性能與計(jì)算復(fù)雜度,兩次下采樣分別將特征圖的大小改變?yōu)樵挤直媛实?/4和1/4,通道數(shù)分別為32和64。此結(jié)構(gòu)可以充分利用當(dāng)前分辨率下輸入圖像的所有分層特征,并且殘差學(xué)習(xí)的結(jié)構(gòu)有益于網(wǎng)絡(luò)收斂。文獻(xiàn)[23]證明了在底層視覺領(lǐng)域,批歸一化(batch normalization,BN)對像素級別的圖像重建任務(wù)作用很小,去除BN層有助于提高峰值信噪比性能并降低計(jì)算復(fù)雜度,但實(shí)例歸一化能夠加速模型收斂,保持每個(gè)圖像實(shí)例之間的獨(dú)立性,因此在模塊中以實(shí)例歸一化層代替BN 層,插入卷積層和ReLU 激活函數(shù)之間。操作表示如下:
為了加深網(wǎng)絡(luò)深度以提高網(wǎng)絡(luò)性能,同時(shí)防止訓(xùn)練時(shí)由于梯度消失導(dǎo)致網(wǎng)絡(luò)性能下降,之前許多工作[13,16]在特征轉(zhuǎn)換階段,也就是編碼器和解碼器之間的連接處,采用多個(gè)殘差塊級聯(lián)的方式來提取深層次的特征。但是普通殘差塊的卷積層都是3×3的小尺寸卷積核,存在感受野不足,提取到的有霧圖像特征上下文信息十分有限的問題。對于圖像去霧這類像素級任務(wù),需要更大的感受野來提取更多的空間上下文信息以保證結(jié)構(gòu)信息的準(zhǔn)確恢復(fù)。
因此為了在不進(jìn)一步降低特征圖分辨率以換取更小計(jì)算損耗的情況下,擴(kuò)大感受野來提取不同層次的空間上下文信息,本文結(jié)合殘差學(xué)習(xí)思想設(shè)計(jì)了空間上下文特征提取與融合模塊。模塊由三組級聯(lián)的基于注意力機(jī)制的平滑擴(kuò)張卷積模塊以及層次特征融合子模塊組成?;谧⒁饬C(jī)制的平滑擴(kuò)張卷積模塊用以提取不同層次的空間上下文信息,獲得不同感受野的特征;層次特征融合子網(wǎng)絡(luò)用以融合三個(gè)不同層次的特征,提高特征的豐富性。
1.2.1 基于注意力機(jī)制平滑擴(kuò)張卷積模塊
特征轉(zhuǎn)換階段采用三組不同擴(kuò)張率的基于注意力機(jī)制的平滑擴(kuò)張卷積模塊(ABSDC),提取三個(gè)不同空間層次的上下文特征信息。通過消融實(shí)驗(yàn)驗(yàn)證,三組ABSDC 的擴(kuò)張率分別采用2、4、1。每個(gè)ABSDC 模塊結(jié)構(gòu)如圖3 所示,由兩個(gè)平滑擴(kuò)張卷積塊,兩個(gè)殘差塊和一個(gè)通道注意力機(jī)制模塊,通過局部跳躍連接和塊全局跳躍連接構(gòu)成。局部殘差學(xué)習(xí)和塊全局殘差學(xué)習(xí)可以讓網(wǎng)絡(luò)跳過薄霧區(qū)域,低頻區(qū)域,讓網(wǎng)絡(luò)更加關(guān)注有效的高頻信息[24]。
圖3 ABSDC模塊與殘差塊結(jié)構(gòu)Fig.3 Architecture of ABSDC module and Res Block
為了解決使用擴(kuò)張卷積所帶來的網(wǎng)格偽影現(xiàn)象,根據(jù)文獻(xiàn)[25],在擴(kuò)張卷積層前增加一層可分離共享的卷積層,提高輸入特征像素點(diǎn)之間的交互,減緩網(wǎng)格偽影現(xiàn)象。殘差塊也采用擴(kuò)張卷積,擴(kuò)張率和平滑擴(kuò)張卷積塊相同。通道注意力機(jī)制模塊的卷積核大小仍然為3×3。
設(shè)輸入當(dāng)前第i個(gè)ABSDC 塊的特征為Fi,則第i個(gè)ABSDC塊的輸出可以表示為:
其中,F(xiàn)ABSDCi表示第i個(gè)ABSDC 模塊的輸入特征。φ表示經(jīng)過一組平滑擴(kuò)張卷積塊和一組殘差塊的特征輸出。Fresi表示當(dāng)前ABSDC塊的全局殘差。CA表示通道注意力模塊[24]。
1.2.2 層次特征融合子模塊
融合不同層次的特征對于底層視覺的恢復(fù)任務(wù)是有益的,因此本文對三個(gè)不同擴(kuò)張率的ABSDC 輸出特征進(jìn)行融合,利用通道注意力機(jī)制自適應(yīng)地學(xué)習(xí)不同重要性的融合權(quán)重。實(shí)現(xiàn)具體過程如下:
首先,將來自ABSDC 模塊的三個(gè)不同擴(kuò)張率層次的輸出F1ABSDC、F2ABSDC、F3ABSDC在通道方向上連接起來,得到連接后的特征向量FC∈RC×H×W,其中C表示連接后的特征圖通道數(shù)。
然后,將連接后的特征FC使用全局平均池化函數(shù)把維度從C×H×W變?yōu)镃×1×1。為了得到不同通道的權(quán)重因子,將經(jīng)過全局平均池化函數(shù)的特征圖再通過兩個(gè)卷積層和ReLU 激活函數(shù)后,由sigmoid 函數(shù)得到帶有不同權(quán)重的特征向量F′C。
隨后將F′C按通道劃分為三個(gè)不同重要程度的特征向量,記作w1、w2、w3。將ABSDC 模塊的三個(gè)輸出與權(quán)重相乘得到最后的輸出。設(shè)經(jīng)過層次特征融合模塊后的輸出為FHFFM,輸出結(jié)果公式表示如下:
通過權(quán)重機(jī)制,能夠讓網(wǎng)絡(luò)更加關(guān)注高頻紋理等有效信息,且抑制冗余信息,使去霧效果更加好。
在編碼階段中,提取特征的過程時(shí)常伴隨著下采樣。下采樣會(huì)減小圖像的分辨率,增加特征圖的通道數(shù)。這個(gè)過程導(dǎo)致圖像高頻信息丟失。解碼過程由于缺乏特征圖所攜帶的高頻信息,解碼得到圖像缺乏細(xì)節(jié)紋理等高頻信息。
之前有很多的工作[13,16]對編解碼同層級特征相加,或在通道方向上進(jìn)行串聯(lián),但是這些方式的跳躍連接平等對待編解碼的同層級特征。但是編碼階段的下采樣提取更多的局部細(xì)節(jié)特征,這一部分對重建圖像細(xì)節(jié)保持很重要。因此本文構(gòu)建自適應(yīng)特征融合模塊,希望網(wǎng)絡(luò)能夠根據(jù)不同信息的重要性自適應(yīng)地融合上采樣與下采樣層的特征。融合后的特征既包含來自編碼階段(下采樣)的淺層高頻特征,也包含解碼階段(上采樣)的深層低頻特征。模塊結(jié)構(gòu)如圖4所示。
圖4 自適應(yīng)特征融合模塊Fig.4 Adaptive feature integration module
自適應(yīng)融合后的特征為:
其中,wi是可學(xué)習(xí)的參數(shù),它的值由兩個(gè)輸入按通道方向連接后,經(jīng)過3×3 卷積,1×1 卷積后由sigmoid 函數(shù)σ得到。
最終的去霧結(jié)果由一個(gè)全局的殘差學(xué)習(xí)與自適應(yīng)特征混合模塊的最終輸出相加得到,表示如下:
其中,F(xiàn)hazy表示整個(gè)網(wǎng)絡(luò)的輸入,F(xiàn)AFIM1表示整個(gè)自適應(yīng)特征融合模塊的最終輸出,F(xiàn)dehazed表示最終的去霧結(jié)果。
圖像去霧網(wǎng)絡(luò)的訓(xùn)練最常采用L2損失函數(shù)或L1損失函數(shù)[26-27]。L1和L2損失函數(shù)逐像素計(jì)算重建后圖像與真實(shí)值Ground Truth之間的差值,在訓(xùn)練過程中監(jiān)督模型更好地重建像素點(diǎn)。但是這種逐像素比較容易造成高頻細(xì)節(jié)信息的丟失[28]。為此本文引入了感知損失函數(shù)與多尺度結(jié)構(gòu)相似度函數(shù)對訓(xùn)練過程進(jìn)行感知監(jiān)督。
通過感知損失比較圖像特征方面的差異保證重建更多的細(xì)節(jié)。多尺度結(jié)構(gòu)相似度損失函數(shù)考慮了亮度、對比度以及結(jié)構(gòu)三個(gè)指標(biāo),這符合人類視覺感知,生成的結(jié)果也更符合人類視覺系統(tǒng)[29]。因此本文的損失函數(shù)由三個(gè)不同的部分組成。去霧后的圖像、Ground Truth和有霧圖像分別定義為I^ 、Igt、Ihazy。
第一個(gè)損失函數(shù)為平滑L1損失。本文將平滑L1損失作為主損失函數(shù),目的是確保去霧后的圖像能夠更好地接近無霧圖像。平滑L1損失函數(shù)是一個(gè)比L1損失更加魯棒,并且被證明比L2損失函數(shù)更加適用于圖像恢復(fù)任務(wù)[30]。因?yàn)長2損失函數(shù)對于異常值點(diǎn)特別敏感,會(huì)放大異常像素點(diǎn)的誤差,不利于圖像重建。平滑L1損失的定義如下:
其中,I^c(i)和Igt c(i)代表像素i在第c個(gè)通道的強(qiáng)度。N代表所有像素點(diǎn)的個(gè)數(shù)。
第二個(gè)損失函數(shù)是感知損失。人類視覺模型指出基于逐像素誤差的損失并不適合于對損壞圖像的感知質(zhì)量評價(jià)[31]。針對這一缺陷,本文將感知損失作為總損失的第二個(gè)損失函數(shù)。感知損失是由文獻(xiàn)[32]提出,并且在圖像風(fēng)格遷移中得到了廣泛的應(yīng)用。該損失能在高層特征空間對特征提供額外的監(jiān)督,通過感知損失的訓(xùn)練,可以讓模型更好地重建細(xì)節(jié),生成的圖像也更加符合人類的視覺感官。本文使用的感知損失是在ImageNet[33]上預(yù)訓(xùn)練好的VGG-16 模型的權(quán)重。感知損失函數(shù)定義如下:
其中,Cj、Hj、Wj分別表示在骨干網(wǎng)絡(luò)中第j層特征圖的通道數(shù)、高和寬。φj表示第j層的激活函數(shù)。
第三個(gè)損失函數(shù)為多尺度結(jié)構(gòu)相似度損失(multiscale structure similarity,MS-SSIM)。感知損失主要從高層特征空間來對圖像重建過程進(jìn)行監(jiān)督,而多尺度結(jié)構(gòu)相似度損失更加關(guān)注重建圖像與GT 之間結(jié)構(gòu)相似度之間的差異,讓網(wǎng)絡(luò)學(xué)習(xí)生成視覺上符合人類感知的圖像。
O和G分別代表去霧后的圖像和無霧圖像的兩個(gè)大小相同的窗口,窗口以像素i為中心。然后將高斯濾波器應(yīng)用于O和G,計(jì)算出均值μO、μG,標(biāo)準(zhǔn)差σO、σG以及協(xié)方差σOG。MS-SSIM定義如下:
其中,C1、C2表示兩個(gè)穩(wěn)定變量,用弱分母運(yùn)算來穩(wěn)定除法運(yùn)算。l(·)表示亮度,cs(i)表示對比與結(jié)構(gòu)措施。α和β表示默認(rèn)的參數(shù),M表示尺寸總數(shù)。
本文提出的聯(lián)合損失函數(shù)可以表示為如下,且根據(jù)經(jīng)驗(yàn)將λ1、λ2分別設(shè)置為0.05與0.5:
為了說明本文方法的有效性,在數(shù)據(jù)集RESIDE[34]上與主流方法進(jìn)行定量和定性比較,并對本文所提出的模塊進(jìn)行消融實(shí)驗(yàn)。
RESIDE數(shù)據(jù)集是圖像去霧領(lǐng)域的一個(gè)大型的基準(zhǔn)數(shù)據(jù)集,自該數(shù)據(jù)集提出之后,便成為了評判圖像去霧工作有效性的一個(gè)基準(zhǔn)。本文選擇RESIDE 數(shù)據(jù)集中的室內(nèi)訓(xùn)練數(shù)據(jù)集(ITS)和室外訓(xùn)練數(shù)據(jù)集(OTS)作為訓(xùn)練集。ITS 包括1 399 張清晰圖像和13 990 張有霧圖像,大小都為620×460。根據(jù)大氣光值范圍在[0.7,1.0]與散射系數(shù)在[0.6,1.8]的不同組合,每一張清晰圖片使用大氣散射物理模型產(chǎn)生10 張霧濃度不同的有霧圖像。OTS 數(shù)據(jù)集的生成方式與ITS 類似。OTS 共有296 695 張有霧圖片。測試采用合成客觀SOTS 的室內(nèi)測試集和室外測試集,分別含有500張室內(nèi)有霧圖像和室外有霧圖像。
訓(xùn)練使用RGB圖像作為輸入,并且在ITS的訓(xùn)練上使用數(shù)據(jù)增強(qiáng),將圖片隨機(jī)旋轉(zhuǎn)角度(90°,180°,270°),水平翻轉(zhuǎn)。整個(gè)網(wǎng)絡(luò)使用AdamW優(yōu)化器對模型進(jìn)行訓(xùn)練,指數(shù)衰減率β1為0.9,β2為0.999。初始學(xué)習(xí)率設(shè)置為0.001,網(wǎng)絡(luò)訓(xùn)練的批大小設(shè)置為8。網(wǎng)絡(luò)在ITS上共訓(xùn)練100 個(gè)epoch,學(xué)習(xí)率每經(jīng)過30 輪訓(xùn)練衰減為原來的0.1倍。在OTS上不做數(shù)據(jù)增強(qiáng),共訓(xùn)練20個(gè)epoch,學(xué)習(xí)率每經(jīng)過6 個(gè)epoch 衰減為原來的0.1 倍。實(shí)驗(yàn)基于Pytorch框架實(shí)現(xiàn),硬件為RTX 3090GPU。
將本文算法與幾種基于單幅圖像去霧的SOTA 算法在合成數(shù)據(jù)集上進(jìn)行定量和定性的比較。用于定量比較的方法有最為經(jīng)典的傳統(tǒng)去霧方法DCP[4],以及當(dāng)前先進(jìn)的基于深度學(xué)習(xí)的方法:AOD-Net[7]、DehazeNet[8]、EPDN[9]、GCANet[20]、GridDehazeNet(GDN)[17]、GFN[11]、URNet[13]、MSBDN[19]。這些都是圖像去霧領(lǐng)域最為經(jīng)典且具有代表性的工作。其中AOD-Net 與DehazeNet屬于基于大氣散射模型的深度學(xué)習(xí)去霧方法,利用網(wǎng)絡(luò)學(xué)習(xí)大氣光值與透射圖。而GCANet、GridDehazeNet、URNet、MSBDN都是屬于端到端的深度學(xué)習(xí)去霧方法,利用編解碼結(jié)構(gòu)網(wǎng)絡(luò)直接學(xué)習(xí)有霧圖像到無霧圖像的映射。EPDN則是基于GAN的端到端去霧算法。
2.2.1 SOTS定量分析比較
定量比較采用圖像處理中最常用的兩個(gè)質(zhì)量指標(biāo),即峰值信噪比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似度(structural similarity,SSIM)來評估不同方法的性能。實(shí)驗(yàn)結(jié)果表1所示。從表中可以看出,與其他幾種SOTA圖像去霧方法相比,本文算法在室內(nèi)有霧數(shù)據(jù)集上的兩個(gè)評價(jià)指標(biāo)均好于其他方法;在室外有霧數(shù)據(jù)集上,SSIM指標(biāo)略低于GridDehazeNet算法。
表1 本文算法與其他SOTA算法在SOTS測試集上定量比較Table 1 Qualitative comparisons among proposed algorithm and other SOTA algorithms on SOTS indoor dataset
2.2.2 SOTS定性分析比較
為了驗(yàn)證本文算法去霧視覺效果以及對圖像細(xì)節(jié)的恢復(fù)能力,本文對室內(nèi)數(shù)據(jù)集以及室外數(shù)據(jù)集的上去霧圖像進(jìn)行定性分析比較。室內(nèi)測試集上的去霧效果的定性比較如圖5 所示。從圖中可以觀察到由于對霧的厚度的估計(jì)不準(zhǔn)確,DCP 不能成功去除霧,而且恢復(fù)的圖像存在顏色失真的情況,通常比GT 更暗,如圖5(b)三、四行所示。AOD-Net 會(huì)在物體邊界周圍造成光暈現(xiàn)象,而且在五幅圖像上均存在去霧不干凈。GCANet產(chǎn)生的結(jié)果能生成視覺上令人滿意的圖像,但是對于厚霧濃霧仍不能完成去除,墻壁顏色也會(huì)比原圖更黑。MSBDN恢復(fù)的圖像也有著不錯(cuò)的質(zhì)量,但是仍然會(huì)產(chǎn)生一點(diǎn)灰色雜色的偽影,如圖5(g)第三行圖片椅子邊所示,而且在圖5(g)第四行圖片浴室遠(yuǎn)處門縫里依然存在大量去霧沒有去除。相比之下,本文算法與以上SOTA算法相比,生成的圖像要更貼近于人眼感觀,比較自然,而且細(xì)節(jié)復(fù)雜以及厚霧區(qū)域表現(xiàn)出色。
圖5 在SOTS室內(nèi)數(shù)據(jù)集上不同方法的定性比較結(jié)果Fig.5 Qualitative comparison results of different methods on SOTS indoor dataset
除了在室內(nèi)測試集上做了定性分析,也在SOTS室外測試集進(jìn)行了定性的比較,結(jié)果如圖6所示。DCP算法在三幅圖像的天空區(qū)域都出現(xiàn)了顏色失真的問題。原因是DCP對天空區(qū)域的大氣光值與透射率的估計(jì)不準(zhǔn)確。AOD-Net在三幅室外圖像上表現(xiàn)很差,基本上沒有去除霧,而且有一定的顏色失真。同樣DehazeNet在天空區(qū)域也有一定的顏色偏移,如圖6(d)所示。GCANet在圖6(e)的第一幅和第三幅圖的天空區(qū)域都有光暈現(xiàn)象產(chǎn)生,尤其是在第三幅圖片上特別顯著,光暈將天空的藍(lán)色和背景白色割裂開。GridDehazeNet(GDN)在第一幅圖樹葉處的細(xì)節(jié)紋理沒有處理好,而且在第二幅圖遠(yuǎn)處大樓的墻壁上存在霧沒有去除,與GT相比,顏色更淺。MSBDN與本文算法產(chǎn)生的結(jié)果相似,但本文算法在天空區(qū)域的顏色比MSBDN 恢復(fù)得更好,更加柔和,符合人類視覺感觀。
圖6 在SOTS室外數(shù)據(jù)集上不同方法的定性比較結(jié)果Fig.6 Qualitative comparison results of different methods on SOTS outdoor dataset
為了進(jìn)一步驗(yàn)證本文模型的泛化性與有效性,本文使用在RESIDE 室內(nèi)訓(xùn)練集上訓(xùn)練的模型用于對真實(shí)世界有霧圖像進(jìn)行測試,并且與SOTA 算法進(jìn)行比較,去霧結(jié)果如圖7所示。
圖7 在真實(shí)有霧圖像上不同方法的定性比較結(jié)果Fig.7 Qualitative comparison results of different methods on real hazy images
從圖7(c)可以看出,AOD-Net在兩幅圖上都不能很好去霧,特別是在濃霧區(qū)域。DehazeNet 方法對遠(yuǎn)景處的去霧效果不好,如圖7(d)所示。GirdDehazeNet 處理的結(jié)果整體很黑,出現(xiàn)顏色失真的問題。在第一幅圖中,其他算法在右上角白色娃娃處以及左上角綠色帽子處都存在霧殘留和細(xì)節(jié)模糊。在第二幅圖右上角遠(yuǎn)處的沙包處,其他算法都不能去除遠(yuǎn)景的霧,且沙包的輪廓恢復(fù)不清楚,相比之下本文算法結(jié)果較好,如在第一幅圖上遠(yuǎn)景的濃霧處理比較好,同時(shí)在遠(yuǎn)景處的沙包上細(xì)節(jié)輪廓恢復(fù)較好。從以上實(shí)驗(yàn)結(jié)果來看,本文方法能有效去除薄霧區(qū)域的霧,濃霧和厚霧區(qū)域也能較好地去除,同時(shí)保持了圖像原有的色彩以及細(xì)節(jié)紋理,更符合人類視覺感知。
為了驗(yàn)證本文所提出的圖像去霧網(wǎng)絡(luò)中每個(gè)子模塊的有效性,將提出的各模塊在SOTS室內(nèi)測試集上進(jìn)行消融實(shí)驗(yàn),討論各模塊對峰值信噪比和結(jié)構(gòu)相似度影響程度,實(shí)驗(yàn)結(jié)果如表2所示。移除四個(gè)組件的基礎(chǔ)網(wǎng)絡(luò)的峰值信噪比和結(jié)構(gòu)相似度為29.85 和0.979。本文的模型比基礎(chǔ)網(wǎng)絡(luò)的峰值信噪比提高4.59 dB。此外本文所提出的每個(gè)組件都能對基礎(chǔ)網(wǎng)絡(luò)的性能帶來改善,特別是ABSDC 模塊,能在峰值信噪比上超越基礎(chǔ)網(wǎng)絡(luò)2.88 dB,主要原因是其能夠有效提取多個(gè)層次的豐富上下文特征用以融合。由于特征感受野的提升,對圖像結(jié)構(gòu)以及細(xì)節(jié)恢復(fù)是有益的。并且從表中兩個(gè)指標(biāo)可知,與只加入分辨率層次特征融合模塊或空間上下文層次特征融合模塊的效果相比,逐漸加入多個(gè)層次的特征融合模塊能夠很好提升去霧表現(xiàn),這說明各個(gè)多層次的特征融合模塊的去霧效果是相互促進(jìn),比單一層次的特征融合要好。
表2 在SOTS室內(nèi)數(shù)據(jù)集上各個(gè)組件的消融實(shí)驗(yàn)結(jié)果Table 2 Ablation results of various components on SOTS indoor dataset
2.4.1 ABSDC模塊分析
為了說明ABSDC模塊中使用平滑擴(kuò)張卷積和普通卷積層的性能差異及擴(kuò)張率的不同排列順序?qū)χ亟ńY(jié)果的影響,設(shè)置兩組對比實(shí)驗(yàn):(1)在ABSDC模塊中,將平滑擴(kuò)張卷積塊替換為普通卷積層(即無擴(kuò)張率的正常卷積),保持其他結(jié)構(gòu)不變,結(jié)果如表3所示。(2)進(jìn)一步量化不同擴(kuò)張率層次的ABSDC模塊的排列順序?qū)ψ罱K去霧效果的影響,結(jié)果如表4所示。
表3 平滑擴(kuò)張卷積與常規(guī)卷積對比Table 3 Comparison between smooth dilated convolution and conventional convolution
表4 不同擴(kuò)張率的ABSDC模塊排列順序?qū)χ亟ǖ挠绊慣able 4 Influence of order of ABSDC modules with different expansion rates
從表4 結(jié)果來看,三個(gè)ABSDC 模塊的幾種排列順序中,2,4,1 這種排列對重建效果是最好的。在三個(gè)ABSDC模塊中,相對淺層的ABSDC的感受野相對比較小,使用較大擴(kuò)張率的ABSDC 模塊提取更加全局的信息;相對深層的ABSDC的感受野比較大,故使用較小擴(kuò)張率的ABSDC模塊提取不相關(guān)的背景信息。在去霧階段,通過感受野的擴(kuò)大有助于獲得更多相鄰像素的信息,這可以使圖像去霧結(jié)果更清晰,并且利用不同層次的特征信息互補(bǔ),提高了去霧效果。
2.4.2 AFIM模塊分析
為了驗(yàn)證AFIM 模塊對于編解碼階段特征信息融合交互的有效性,在基礎(chǔ)網(wǎng)絡(luò)上將AFIM模塊與跳躍連接進(jìn)行對比,結(jié)果如表5所示。相比于跳躍連接這種直接將上采樣層與下采樣層的特征直接相加的方式,AFIM模塊通過學(xué)習(xí)上下采樣層的一個(gè)權(quán)重因子來自適應(yīng)地融合特征要比跳躍連接效果好。
表5 跳躍連接與AFIM模塊比較Table 5 Comparison between skip connection and AFIM
2.4.3 聯(lián)合損失對于重建結(jié)果的影響
為了進(jìn)一步驗(yàn)證本文提出的聯(lián)合損失函數(shù)對于重建效果的影響,在SOTS 室內(nèi)數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表6 所示。無論是在基礎(chǔ)網(wǎng)絡(luò)上還是完整的網(wǎng)絡(luò)上,相比采用L2損失函數(shù),本文提出的聯(lián)合損失函數(shù)都會(huì)明顯提高圖像重建后的性能。從圖8 中的去霧結(jié)果可以看出,在不加任何子模塊的基礎(chǔ)網(wǎng)絡(luò)上,使用L2損失監(jiān)督網(wǎng)絡(luò)訓(xùn)練與使用聯(lián)合損失監(jiān)督網(wǎng)絡(luò)相比,使用聯(lián)合損失訓(xùn)練出的網(wǎng)絡(luò)恢復(fù)出的圖像視覺效果更好,并且能更好地去除霧,例如圖8 中左上角紅色墻上的霧。
表6 聯(lián)合損失函數(shù)與L2損失函數(shù)比較Table 6 Comparison of joint loss function and L2 loss function
圖8 聯(lián)合損失消融實(shí)驗(yàn)比較結(jié)果Fig.8 Comparison of ablation results of joint loss function
本文提出了一種有效的基于感知監(jiān)督引導(dǎo)和多層次特征融合的圖像去霧網(wǎng)絡(luò)。網(wǎng)絡(luò)通過有效的提取、融合不同分辨率層次的多尺度特征和不同擴(kuò)張率層次的空間上下文特征增強(qiáng)了圖像細(xì)節(jié)與結(jié)構(gòu)信息,使得恢復(fù)后的圖像細(xì)節(jié)保留更好,空間位置精確。并且在訓(xùn)練階段采用平滑L1損失結(jié)合感知損失與多尺度結(jié)構(gòu)相似度損失來監(jiān)督網(wǎng)絡(luò)訓(xùn)練,使得恢復(fù)的圖片顏色保真且更加符合視覺感知。在合成有霧數(shù)據(jù)集以及真實(shí)有霧圖像上做了廣泛的測試,并與目前先進(jìn)的單幅圖像去霧方法進(jìn)行了定量與定性比較。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)絡(luò)去霧后圖像整體顏色和細(xì)節(jié)紋理更接近清晰圖像。在客觀指標(biāo)上,也驗(yàn)證了本文方法的良好性能。