王科平 段雨朦 楊 藝 費(fèi)樹岷,2
在霧天條件下,空氣中懸浮的各種霧霾微粒會對光線進(jìn)行吸收和散射,導(dǎo)致采集到的戶外圖像出現(xiàn)對比度降低、顏色失真、邊緣模糊等現(xiàn)象.在此類環(huán)境下獲取的霧霾圖像既不利于圖像的視覺觀察,也阻礙人工智能領(lǐng)域中以圖像為主要處理對象的計(jì)算機(jī)視覺任務(wù)的進(jìn)行[1].因此,研究霧霾圖像的降質(zhì)原理,提高其清晰化程度具有重要的研究意義和應(yīng)用前景.
早期的圖像去霧算法主要采用圖像增強(qiáng)手段以改善圖像的對比度、清晰度,提升圖像的視覺效果,如直方圖均衡化[2]、Retinex[3]算法、同態(tài)濾波[4]、大氣散射模型[5]等.依據(jù)算法的發(fā)展脈絡(luò).圖像去霧算法可劃分為兩類:基于先驗(yàn)知識的圖像去霧算法和基于深度學(xué)習(xí)的圖像去霧算法.
基于先驗(yàn)知識的圖像去霧算法常通過一些額外的先驗(yàn)信息或約束條件輔助估計(jì)模型中的參數(shù),再反演清晰圖像.He等[6]提出DCP(Dark Channel Prior)信息約束大氣散射模型,能準(zhǔn)確預(yù)測霧霾圖像的透射率,消除局部區(qū)域的霧霾.Zhu等[7]提出CAP(Color Attenuation Prior),通過監(jiān)督學(xué)習(xí)的方式訓(xùn)練線性模型,依次估計(jì)場景深度信息和透射圖,可復(fù)原較多的細(xì)節(jié)信息,但仍存在一定程度的霧殘留.
近年來,深度學(xué)習(xí)因其強(qiáng)大的非線性映射能力和優(yōu)秀的學(xué)習(xí)能力受到廣泛關(guān)注,學(xué)者們將其應(yīng)用到圖像去霧領(lǐng)域.Cai等[8]提出DehazeNet,利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)估計(jì)大氣散射模型的中間參數(shù),構(gòu)建霧霾圖像到參數(shù)的映射關(guān)系.Ren等[9]提出MSCNN(Multi-scale CNN),通過粗尺度神經(jīng)網(wǎng)絡(luò)和細(xì)尺度神經(jīng)網(wǎng)絡(luò)提取圖像中的特征信息,可有效學(xué)習(xí)有霧圖像與其對應(yīng)透射率之間的映射關(guān)系.Zhang等[10]提出DCPDN(Densely Connected Pyramid Dehazing Network),共同學(xué)習(xí)透射率、大氣光值和去霧圖像,并通過基于生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)[11]的聯(lián)合鑒別器,判斷得到的去霧圖像和透射率是否真實(shí).陳永等[12]將霧圖進(jìn)行雙域分解后送入深度學(xué)習(xí)模型中訓(xùn)練,將學(xué)習(xí)到的高/低頻透射率進(jìn)行融合,得到場景透射率圖,去霧后圖像質(zhì)量較好.
上述方法包括兩個(gè)階段:1)參數(shù)估計(jì),2)將參數(shù)代入大氣散射模型反演清晰圖像.這種兩階段式去霧算法一方面要求參數(shù)估計(jì)準(zhǔn)確無誤,另一方面需要模型較好地描述霧霾圖像成像過程,否則會出現(xiàn)誤差累積,無法獲得清晰圖像全局的最優(yōu)效果.
針對這一問題,學(xué)者們提出一些端到端的圖像去霧網(wǎng)絡(luò),直接構(gòu)建有霧圖像與無霧圖像之間的映射關(guān)系.Li等[13]提出AOD-Net(All-in-One Dehazing Network),轉(zhuǎn)換大氣散射模型,并將其嵌入去霧網(wǎng)絡(luò)中,直接學(xué)習(xí)有霧圖像與無霧圖像之間的映射關(guān)系,最后結(jié)合Faster R-CNN[14]評價(jià)去霧效果對高水平視覺任務(wù)的影響.Qin等[15]提出FFA-Net(End-to-End Feature Fusion Attention Network),利用像素注意力與通道注意力結(jié)合的特征注意力模塊,靈活處理不同的特征和像素,取得較好的去霧效果.Wang等[16]提出MST-Net(Multi-scale Transposed Convolutional Network),利用級聯(lián)的多尺度轉(zhuǎn)置重建去霧圖像,取得較優(yōu)的去霧效果且無顏色失真.Chen等[17]提出GCANet(End-to-End Gated Context Aggregation Net-work),通過平滑空洞卷積避免網(wǎng)格化偽影,并使用門控子網(wǎng)融合不同級別的特征,大幅提升去霧效果.Swinehart等[18]分別從深度多區(qū)域角度和多尺度角度提出分層網(wǎng)絡(luò)結(jié)構(gòu),去除圖像中的非均勻霧霾.Zheng等[19]提出解決高分辨率圖像的去霧算法,由3個(gè)CNN組成,分別實(shí)現(xiàn)低分辨率霧霾特征提取、高分辨率圖像高頻特征重構(gòu)及特征映射融合的功能.Wu等[20]提出對比正則化算法,不僅利用清晰圖像指導(dǎo)圖像去霧,而且將霧霾圖像作為負(fù)樣本,在表示空間中將恢復(fù)后的圖像拉近到清晰圖像,并將恢復(fù)后的圖像遠(yuǎn)離模糊圖像.Li等[21]提出基于GAN的去霧算法,通過對損失函數(shù)的重構(gòu),有效消除一般GAN容易出現(xiàn)的霧霾殘留問題.Raj等[22]提出改進(jìn)條件GAN,實(shí)現(xiàn)圖像去霧算法,采用具有較高參數(shù)學(xué)習(xí)效率的Tiramisu模型[23]代替經(jīng)典的U-Net模型作為生成器,并選擇基于塊的判別算法,減少重構(gòu)圖像的偽影.
基于端到端的圖像去霧算法無需考慮構(gòu)建霧霾圖像的成像模型,也無需通過估計(jì)模型參數(shù)再重建圖像,直接由深度神經(jīng)網(wǎng)絡(luò)建立清晰圖像與霧霾圖像的映射,獲得全局最優(yōu)解.上述算法在圖像去霧方面取得顯著成果,但仍存在一些不足:算法主要以均勻霧霾圖像作為研究內(nèi)容.然而,自然界中霧霾產(chǎn)生的因素較多,產(chǎn)生霧霾的位置也較隨機(jī),所以,大氣中的霧霾介質(zhì)可能會產(chǎn)生隨機(jī)、不均勻的噪聲,其在圖像中呈現(xiàn)非均勻分布特性.上述算法在處理非均勻霧霾圖像時(shí),容易出現(xiàn)霧霾殘留的問題.
為此,本文提出基于傳遞注意力機(jī)制的非均勻霧圖去霧算法.首先,針對霧霾分布不均勻的特點(diǎn),融合視覺注意力機(jī)制,在學(xué)習(xí)過程中更關(guān)注圖像中霧較重的區(qū)域.將各個(gè)注意力模塊學(xué)習(xí)到的注意力特征圖傳遞到下一個(gè)注意力模塊,使模塊間可相互配合,充分發(fā)揮注意力機(jī)制的優(yōu)勢.為了避免深度卷積網(wǎng)絡(luò)下采樣和池化容易造成的細(xì)節(jié)信息丟失,保證網(wǎng)絡(luò)的去霧性能和計(jì)算效率,以由普通卷積與平滑空洞卷積交錯(cuò)構(gòu)成的稀疏塊為主體框架提取圖像特征信息,加強(qiáng)復(fù)原圖像的細(xì)節(jié)信息.
針對霧霾濃度的隨機(jī)性和非均勻性,本文提出基于傳遞注意力機(jī)制的非均勻霧圖去霧算法.算法充分學(xué)習(xí)不同級別特征圖中不同位置的注意力權(quán)重,并通過通道拼接的方式連接注意力模塊,使權(quán)重信息在各個(gè)注意力模塊之間流動并相互配合,充分發(fā)揮注意力機(jī)制的優(yōu)勢.構(gòu)建稀疏結(jié)構(gòu)平滑空洞卷積,進(jìn)行特征提取及圖像復(fù)原,在擴(kuò)大感受野的同時(shí)減少細(xì)節(jié)特征信息的丟失.
本文算法整體結(jié)構(gòu)如圖1所示,虛線框內(nèi)為網(wǎng)絡(luò)的主體部分.先通過3個(gè)卷積層初步提取輸入圖像的特征信息,卷積層3的步長為2,可減小特征圖尺寸,降低網(wǎng)絡(luò)的計(jì)算復(fù)雜度.再利用5個(gè)級連的稀疏塊(S1~S5)提取圖像中不同層的特征,避免下采樣操作的使用,從而減少細(xì)節(jié)信息的丟失.然后,利用門控融合網(wǎng)絡(luò),直接將提取的低、中、高級別的特征圖進(jìn)行門控融合,有效聚合不同級別的圖像特征,獲得包含豐富特征信息的特征圖.最后,通過轉(zhuǎn)置卷積,將融合后的特征圖還原到與輸入霧圖相同的尺寸.
為了處理輸入圖像中復(fù)雜的非均勻霧噪聲, 本文在網(wǎng)絡(luò)中加入注意力模塊(A0~A6),用于學(xué)習(xí)中間特征圖中不同位置的權(quán)重信息,為不同的特征賦予相應(yīng)的注意力.并利用通道拼接的方式,使注意力模塊中的注意力特征圖逐級向后傳遞,引導(dǎo)網(wǎng)絡(luò)的特征提取過程,充分發(fā)揮注意力機(jī)制的優(yōu)勢.為了抑制轉(zhuǎn)置卷積帶來的“棋盤效應(yīng)”,加入卷積層6和卷積層7.并通過并聯(lián)殘差結(jié)構(gòu)ResNet Block提取輸入霧圖中的顏色特征,彌補(bǔ)復(fù)原圖像中缺失的顏色信息.
圖1 本文算法結(jié)構(gòu)圖
圖像去霧算法是像素級別的重建過程,大量的下采樣操作容易丟失圖像細(xì)節(jié)信息,為無霧圖像的重建帶來巨大的挑戰(zhàn).因此,在擴(kuò)大圖像感受野的同時(shí)盡可能多地保留細(xì)節(jié)信息尤為重要.本文提出稀疏結(jié)構(gòu)平滑空洞卷積,實(shí)現(xiàn)特征提取,并采用門控融合的方式融合不同級別的特征.
由文獻(xiàn)[24]可知,稀疏機(jī)制可有效應(yīng)用于圖像修復(fù)領(lǐng)域.與文獻(xiàn)[24]類似,本文采用平滑空洞卷積與普通卷積交錯(cuò)的形式構(gòu)建稀疏塊.平滑空洞卷積可擴(kuò)大感受野,映射更多的背景信息,這些層可視為稀疏機(jī)制中的高能激活部分.普通卷積層可視為稀疏機(jī)制中的低能量激活點(diǎn).普通卷積與平滑空洞卷積交錯(cuò)組合構(gòu)成稀疏塊,提取圖像中不同級別的特征信息,共同表征圖像.
稀疏塊結(jié)構(gòu)如圖2所示,先利用兩層普通卷積層提取圖像中的特征信息,并引入跳躍連接抑制過擬合現(xiàn)象.之后,利用兩層級聯(lián)的平滑空洞卷積,更大范圍地提取圖像中的特征信息.跳躍連接的加入可有效抑制深層網(wǎng)絡(luò)梯度消失的問題,提高網(wǎng)絡(luò)學(xué)習(xí)能力.在本文算法中,5個(gè)級聯(lián)稀疏塊用于提取輸入圖像的特征信息,稀疏塊中平滑空洞卷積的擴(kuò)張率分別為2,2,4,4,4.
平滑空洞卷積的使用在擴(kuò)大卷積核感受野的同時(shí)避免池化等下采樣操作造成信息丟失,有效消除“網(wǎng)格偽影”的現(xiàn)象,有利于無霧圖像的重建.另一方面,普通卷積與平滑空洞卷積交錯(cuò)組成的稀疏結(jié)構(gòu)雖然加深網(wǎng)絡(luò)深度,但不會大幅增加計(jì)算量,有效提高算法整體性能,使去霧算法在計(jì)算效率與去霧性能上達(dá)到平衡.
圖2 稀疏塊結(jié)構(gòu)圖
霧霾在人的視覺感官中呈現(xiàn)明顯的隨機(jī)分布特征,當(dāng)人觀察圖像時(shí),注意力機(jī)制會引導(dǎo)人類給予霧霾更多的關(guān)注度,從而更好地獲取圖像信息.以清晰樣本為標(biāo)準(zhǔn),在大量訓(xùn)練數(shù)據(jù)指導(dǎo)下,注意力算法會逐漸從輸入信息中選擇和去霧任務(wù)相關(guān)的信息,主動聚焦霧霾圖像中的濃霧區(qū)域,并在保留圖像背景特征的同時(shí)有區(qū)別地處理不同濃度的霧噪聲.
在圖像中,霧霾表現(xiàn)顏色相對一致,多為白色.因此,從色彩通道上考慮霧霾,存在天然的注意力機(jī)制.為此,可在處理過程中加入通道注意力.同時(shí),在網(wǎng)絡(luò)結(jié)構(gòu)中同樣引入空間注意力.通道注意力實(shí)質(zhì)是一個(gè)可學(xué)習(xí)的向量,用于表述通道的重要程度.空間注意力也是一個(gè)可學(xué)習(xí)的二維向量,用于表述像素或特征在空間中的注意力.本文將不同級別的注意力進(jìn)行傳遞并進(jìn)行自適應(yīng)融合,即將上一級的注意信息傳遞到下一級處理,建立注意力信息傳輸鏈路.該鏈路與圖像特征鏈路相對分離,以此提升圖像特征處理的能力.
本文算法融入傳遞注意力算法,分別學(xué)習(xí)不同級別特征圖中的通道注意力特征圖與像素注意力特征圖,賦予每個(gè)通道不同的權(quán)重值,并使網(wǎng)絡(luò)更關(guān)注濃霧區(qū)域和高頻區(qū)域,自適應(yīng)地學(xué)習(xí)特征圖在不同權(quán)值下的特征映射.然后將模塊中的通道注意力特征圖與像素注意力特征圖分別向后傳遞,使注意力特征圖中的權(quán)重信息在各個(gè)注意力塊之間流動并相互配合,充分發(fā)揮注意力機(jī)制優(yōu)勢.
為了方便表述,本文從去霧網(wǎng)絡(luò)中拆分注意力機(jī)制,具體傳遞注意力機(jī)制結(jié)構(gòu)如圖3所示,圖中A0~A6表示圖1中的注意力模塊,每個(gè)模塊結(jié)構(gòu)相同,都由通道注意力與像素注意力組成,…表示去霧網(wǎng)絡(luò)中除注意力機(jī)制以外的其它部分.
圖3 傳遞注意力機(jī)制結(jié)構(gòu)圖
1.2.1 注意力機(jī)制
特征圖中不同通道的重要程度不盡相同,為了提高去霧網(wǎng)絡(luò)的學(xué)習(xí)能力,利用通道注意力學(xué)習(xí)特征圖中各通道的權(quán)重值并賦予網(wǎng)絡(luò).通道注意力結(jié)構(gòu)如圖3所示,先通過一層卷積核大小為3×3、步長為2的卷積層,對特征圖特征進(jìn)行預(yù)處理,降低特征圖尺寸.然后利用池化層對預(yù)處理特征圖逐通道平均池化,得到每個(gè)通道的特征描述,經(jīng)過一層全連接層卷積和激活函數(shù)的處理后,得到各通道的權(quán)重系數(shù),即通道注意力特征圖.最后將原始特征圖與對應(yīng)通道的權(quán)重系數(shù)逐像素相乘.
為了處理有霧圖像中不同像素位置上非均勻霧噪聲,在通道注意力后連接像素注意力,用于學(xué)習(xí)不同像素的權(quán)重系數(shù),使網(wǎng)絡(luò)更關(guān)注霧圖中的高頻區(qū)域和濃霧區(qū)域.像素注意力結(jié)構(gòu)如圖3所示,通過兩層卷積層學(xué)習(xí)特征圖的像素權(quán)重信息,并在通道維度上對其進(jìn)行壓縮,經(jīng)過激活函數(shù)處理后得到1通道的像素注意力特征圖,再與各特征圖中對應(yīng)元素相乘,賦予每個(gè)像素不同的權(quán)重值.
1.2.2 傳遞注意力
注意力模塊根據(jù)輸入圖像特征的重要程度在通道維度和像素維度上分別生成注意力特征圖,為特征圖不同位置賦予不同的權(quán)重值,使算法在學(xué)習(xí)過程中更靈活處理非均勻有霧圖像中的霧噪聲,提升算法對不同特征的處理能力.然而,每個(gè)注意力模塊只是根據(jù)算法中當(dāng)前位置的特征生成注意力特征圖,并未考慮不同級別的注意力特征圖之間的聯(lián)系,無法充分挖掘注意力機(jī)制的優(yōu)勢.為此,本文提出傳遞注意力機(jī)制,將每個(gè)注意力模塊中的通道注意力特征圖和像素注意力特征圖使用通道拼接的方式分別傳遞到下一個(gè)注意力模塊中,使注意力特征圖中的權(quán)重信息在各個(gè)注意力塊之間流動.合并后的通道注意力特征圖和像素注意力特征圖均采用卷積層與原始特征圖進(jìn)行維度匹配.
由于注意力機(jī)制中傳遞結(jié)構(gòu)的引入,網(wǎng)絡(luò)中各層的注意力信息在模塊之間流動,可相互配合學(xué)習(xí)輸入圖像中的不同特征及各個(gè)特征的權(quán)重信息,并不局限于當(dāng)前特征圖,引導(dǎo)整體網(wǎng)絡(luò)的學(xué)習(xí)過程,有效避免模塊之間信息的頻繁變動,提升算法對非均勻有霧圖像的去霧效果.
為了更直觀地說明傳遞注意力機(jī)制可有效處理非均勻霧霾噪聲,為不同特征賦予相應(yīng)的權(quán)重值,將注意力模塊A6的輸出特征圖進(jìn)行可視化,轉(zhuǎn)化為熱力圖,具體如圖4所示.熱力圖中紅色區(qū)域?qū)?yīng)權(quán)重值最大,藍(lán)色區(qū)域?qū)?yīng)權(quán)重值最小.由圖可清楚地看到,本文算法可自適應(yīng)地識別非均勻霧霾圖像中的噪聲區(qū)域,為不同區(qū)域賦予相應(yīng)的權(quán)重.在濃霧區(qū)域,對應(yīng)權(quán)重值較高,大多顯示為紅色,薄霧區(qū)域及無霧區(qū)域?qū)?yīng)權(quán)重值較低,普遍呈藍(lán)色.
注意力機(jī)制確實(shí)能較好地聚焦到濃霧區(qū)域,但是在非純白色背景下,當(dāng)背景中存在小部分白色目標(biāo)物體時(shí),由于這部分的色彩信息與霧霾較相似,容易被誤判為霧霾區(qū)域,呈現(xiàn)紅色.
(a)非均勻霧霾圖像
(b)熱力圖
1.3.1 門控融合網(wǎng)絡(luò)
不同層的網(wǎng)絡(luò)提取的圖像特征并不相同,淺層網(wǎng)絡(luò)往往更容易提取圖像中的紋理等局部特征,而深層網(wǎng)絡(luò)傾向于提取圖像的輪廓、形狀等全局特征.不同層的網(wǎng)絡(luò)提取的圖像特征對圖像去霧任務(wù)的重要性不同.
本文算法引入門控融合網(wǎng)絡(luò),具體結(jié)構(gòu)如圖5所示.
圖5 門控融合網(wǎng)絡(luò)結(jié)構(gòu)圖
門控融合網(wǎng)絡(luò)將主體模塊提取到的低、中、高級別的特征圖,即輸入特征圖F1、中間特征圖F2、輸出特征圖F3,進(jìn)行加權(quán)融合,并根據(jù)3種特征圖對去霧任務(wù)的重要程度,分配相應(yīng)的權(quán)重值w1、w2、w3.這3個(gè)權(quán)值作為超參數(shù)由網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)得到.融合后的特征輸出為:
F=F1w1+F2w2+F3w3.
圖5中虛線框內(nèi)的結(jié)構(gòu)與圖1總體結(jié)構(gòu)一致.由于門控融合網(wǎng)絡(luò)的引入,可直接融合提取不同層的特征圖,從而有效聚合不同級別的圖像特征,提升網(wǎng)絡(luò)的整體表達(dá)能力.
1.3.2 輕量級特征補(bǔ)全模塊
顏色能量信息和邊緣細(xì)節(jié)信息是彩色圖像中重要的特征信息,描述圖像對應(yīng)景物的基本表面性質(zhì).這些信息常包含于深度神經(jīng)網(wǎng)絡(luò)的底層特征中.隨著卷積網(wǎng)絡(luò)結(jié)構(gòu)的加深,能較好地提取圖像中具有強(qiáng)分辨力的高層語義信息,但圖像的底層特征信息隨著下采樣、池化等操作容易丟失.圖像去霧是像素級別的重建過程,底層特征信息的丟失會導(dǎo)致重構(gòu)圖像出現(xiàn)模糊不清、顏色失真的現(xiàn)象.
本文在主體網(wǎng)絡(luò)中并聯(lián)一個(gè)由殘差塊組成的輕量級特征補(bǔ)全模塊,從輸入霧圖中提取底層特征信息,直接傳遞到重構(gòu)圖像中,彌補(bǔ)由去霧網(wǎng)絡(luò)在經(jīng)過深層卷積后損失的底層信息.
輕量級特征補(bǔ)全模塊由3個(gè)殘差塊級聯(lián)而成,分別為殘差塊1~殘差塊3,每個(gè)殘差塊結(jié)構(gòu)相同,具體如圖6所示.通過兩層普通卷積提取圖像的特征信息,引入跳躍連接,抑制網(wǎng)絡(luò)過擬合現(xiàn)象及梯度消失的問題.殘差塊中卷積核大小均為3×3, 步長為1, 輸入輸出通道數(shù)均為16,卷積后的激活函數(shù)均采用ReLU函數(shù).
圖6 殘差塊結(jié)構(gòu)圖
1.3.3 轉(zhuǎn)置卷積層
轉(zhuǎn)置卷積是CNN中較常見的一種操作,可看作是卷積操作的一個(gè)逆運(yùn)算過程.通過在輸入特征圖中的元素之間加入0填充(Padding)以實(shí)現(xiàn)上采樣操作.當(dāng)步長大于1時(shí),轉(zhuǎn)置卷積的輸出圖像尺寸大于輸入圖像尺寸,使圖像從較低的分辨率轉(zhuǎn)為較高的分辨率.
為了保證去霧算法的輸入圖像與輸出圖像尺寸相同,與網(wǎng)絡(luò)前端卷積層1~卷積層3對應(yīng),本文在融合特征圖后引入轉(zhuǎn)置卷積層TranConv1,轉(zhuǎn)置卷積核大小為4×4,步長為2,padding大小為1. 經(jīng)過轉(zhuǎn)置卷積層操作后,輸出的特征圖為512×512.
1.4 損失函數(shù)
網(wǎng)絡(luò)訓(xùn)練過程中使用Smooth L1 loss作為損失函數(shù).該損失函數(shù)對異常值不太敏感,在網(wǎng)絡(luò)訓(xùn)練初始階段,變化小于L2 loss的梯度,具有更強(qiáng)的魯棒性.當(dāng)差值接近0時(shí),比L1 loss平滑,使網(wǎng)絡(luò)在后續(xù)的訓(xùn)練過程中更容易收斂.Smooth L1 loss表達(dá)式為
其中:Θ表示需要學(xué)習(xí)的網(wǎng)絡(luò)參數(shù);F表示本文主體網(wǎng)絡(luò),可將霧霾圖像進(jìn)行清晰化處理;Igt表示作為標(biāo)簽的無霧圖像;Ihaze表示輸入的有霧圖像;N表示圖像像素個(gè)數(shù).
Smooth L1 loss可從兩個(gè)方面限制梯度:當(dāng)預(yù)測值與真實(shí)值差別過大時(shí),使梯度值不至于過大,避免破壞網(wǎng)絡(luò)參數(shù);當(dāng)預(yù)測值與真實(shí)值差別較小時(shí),使梯度值足夠小,有利于網(wǎng)絡(luò)收斂,提高去霧算法的魯棒性.
本節(jié)對本文算法的去霧性能進(jìn)行廣泛評估,分別在非均勻有霧圖像數(shù)據(jù)集、合成有霧圖像數(shù)據(jù)集、真實(shí)有霧圖像數(shù)據(jù)集上與已有的去霧算法進(jìn)行對比,具體對比算法如下:DCP[6]、AOD-Net[13]、FFA-Net[15]、GCANet[17]、文獻(xiàn)[19]算法.選擇結(jié)構(gòu)相似性(Structural Similarity, SSIM)和峰值信噪比(Peak Signal to Noise Ratio, PSNR)作為評價(jià)指標(biāo),對各算法的去霧效果進(jìn)行定量分析.
整個(gè)實(shí)驗(yàn)過程在NVIDIA GeForce GTX 1080Ti的PC上進(jìn)行,網(wǎng)絡(luò)基于PyTorch框架實(shí)現(xiàn).在訓(xùn)練過程中,選取大小為512×512圖像作為輸入圖像與標(biāo)簽,整個(gè)網(wǎng)絡(luò)共訓(xùn)練100輪,采用Adadelta[25]作為優(yōu)化算法,可自適應(yīng)地調(diào)整學(xué)習(xí)速率.初始學(xué)習(xí)率設(shè)定為0.05,批尺寸設(shè)置為2.
為了驗(yàn)證本文算法對非均勻有霧圖像的效果,設(shè)計(jì)并制作81組包含清晰圖像和對應(yīng)有霧圖像的數(shù)據(jù),共3 240幅.每組數(shù)據(jù)由1幅清晰圖像和對應(yīng)26~181幅不等的有霧圖像組成,有霧圖像的霧濃度不同且隨機(jī)分布.通過在同一環(huán)境中拍攝無霧圖像與對應(yīng)的有霧圖像,拍攝設(shè)備為位置固定的HIKVISION EXIR紅外點(diǎn)陣筒型網(wǎng)絡(luò)攝像機(jī),霧層由拍攝專用煙餅燃燒的輕煙產(chǎn)生.為了避免光照條件變化帶來的額外影響,同組數(shù)據(jù)采集的時(shí)間間隔應(yīng)盡可能縮短.為了擴(kuò)展訓(xùn)練數(shù)據(jù),將數(shù)據(jù)集上的圖像隨機(jī)裁剪為512×512并篩選,最終得到6 486幅圖像作為室內(nèi)數(shù)據(jù).部分樣本如圖7所示.
(a)清晰樣本 (b)霧圖1 (c)霧圖2 (d)霧圖3
為了驗(yàn)證本文算法的泛化能力,還在真實(shí)有霧圖像數(shù)據(jù)集I-HAZE[26]、O-HAZE[27]上進(jìn)行擴(kuò)展實(shí)驗(yàn).I-HAZE數(shù)據(jù)集包含35組不同場景的室內(nèi)圖像對,O-HAZE數(shù)據(jù)集包含45組不同場景的室外圖像對.每組圖像對包含一幅清晰圖像和對應(yīng)的有霧圖像,數(shù)據(jù)集上有霧圖像的霧是由煙霧機(jī)器生成.本文在I-Haze、O-Haze數(shù)據(jù)集上分別隨機(jī)選取27幅、40幅圖像生成訓(xùn)練數(shù)據(jù)集,其余圖像生成測試集.
在合成有霧圖像數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn).選擇RESIDE-standard數(shù)據(jù)集[28]中的ITS (Indoor Training Set)-V2作為室內(nèi)訓(xùn)練數(shù)據(jù)集.ITS-V2數(shù)據(jù)集包含13 990幅合成的室內(nèi)有霧圖像,是由1 399幅室內(nèi)清晰圖像生成,每幅清晰圖像生成10幅不同的有霧圖像.隨機(jī)選取10 000幅室內(nèi)有霧圖像作為訓(xùn)練數(shù)據(jù),其余有霧圖像作為非重疊測試數(shù)據(jù).另外,選擇RESIDE數(shù)據(jù)集上的SOTS數(shù)據(jù)集作為驗(yàn)證集,測試本文算法的去霧效果.
從本文拍攝的數(shù)據(jù)集上隨機(jī)選取200幅與訓(xùn)練集非重疊的有霧圖像作為測試集,驗(yàn)證本文算法對非均勻有霧圖像的去霧效果.
各算法在本文拍攝的數(shù)據(jù)集上的去霧效果如圖8所示.由圖可知,DCP能有效消除一些霧噪聲,但去霧后的圖像整體色彩飽和度偏高,在部分區(qū)域容易產(chǎn)生較大程度顏色偏差,視覺效果不太理想(如(c)中第2幅圖像).AOD-Net和文獻(xiàn)[19]算法有一定的去霧效果,但都存在去霧結(jié)果整體偏暗的問題.FFA-Net去霧后的圖像整體色彩較自然,但去霧后的圖像中仍存在較多的霧噪聲(如(e)中第1幅、第4幅圖像).GCANet可有效去除非均勻有霧圖像中的大部分區(qū)域的霧,但在霧較重的區(qū)域仍有部分霧殘留(如(f)中第1幅圖像中的建筑區(qū)域和第2幅圖像),去霧結(jié)果整體上有一定的顏色偏差.本文算法在保持較高的色彩一致性的前提下去霧效果更徹底,在濃霧區(qū)域和薄霧區(qū)域均有較好的去霧效果,相比其它算法,結(jié)果圖最接近無霧圖像參考圖.本文所選樣本霧霾濃度較重,所以,相比清晰標(biāo)簽,重建圖像也存在一定的偏色現(xiàn)象.
(a)霧圖
(b)清晰標(biāo)簽
(c)DCP
(d)AOD-Net
(e)FFA-Net
(f)GCANet
(g)文獻(xiàn)[19]算法
(h)本文算法
表1為各算法在本文拍攝的數(shù)據(jù)集上去霧效果的指標(biāo)值對比.由表可看出,DCP、AOD-Net、文獻(xiàn)[19]算法的指標(biāo)值較低,而FFA-Net和GCANet這兩個(gè)基于端到端的圖像去霧算法的指標(biāo)值相對有大幅提升,但本文算法的SSIM值和PSNR值最高.綜上所述,本文算法針對非均勻有霧圖像的去霧結(jié)果更接近真實(shí)的無霧圖像.
表1 各算法在本文拍攝的數(shù)據(jù)集上的指標(biāo)值對比
在本文處理后的I-HAZE數(shù)據(jù)集上隨機(jī)選取270幅與訓(xùn)練集非重疊的有霧圖像作為室內(nèi)測試集,驗(yàn)證本文算法對室內(nèi)非均勻有霧圖像的去霧效果.
各算法的去霧效果如圖9所示.由圖可看出,DCP整體上有明顯的去霧效果,可較好地去除圖像中的霧,但會引入一些額外噪聲(如(c)中第1幅圖像中最左側(cè)區(qū)域),且圖像整體偏暗.AOD-Net和FFA-Net對輸入圖像均有一定的去霧效果,去霧后的圖像整體無顏色失真,但圖像中仍存在較多的霧噪聲,去霧效果并不徹底.GCANet可有效去除室內(nèi)非均勻有霧圖像中的大部分霧,但在一些物體邊緣區(qū)域仍有部分霧殘留(如(f)中第1幅圖像中的金屬柱體),部分區(qū)域有一定的顏色偏差(如(f)中第3幅圖像中背景區(qū)域和第4幅圖像中左上角的書櫥).文獻(xiàn)[19]算法有較好的去霧效果,但是與清晰標(biāo)簽相比,整體圖像偏暗.本文算法有較好的去霧效果,整體上去霧更徹底,與無霧圖像相比幾乎無顏色失真.
(a)霧圖
(b)清晰標(biāo)簽
(c)DCP
(d)AOD-Net
(e)FFA-Net
(f)GCANet
(g)文獻(xiàn)[19]算法
(h)本文算法
各算法在I-HAZE數(shù)據(jù)集上去霧效果的指標(biāo)值對比如表2所示.由表可看出,DCP與GCANet的指標(biāo)值較低,而AOD-Net和FFA-Net的指標(biāo)值相對較高,文獻(xiàn)[19]算法居中,本文算法的指標(biāo)值最高.
表2 各算法在I-HAZE測試集上的指標(biāo)值對比
為了驗(yàn)證本文算法在O-HAZE數(shù)據(jù)集上針對霧圖的去霧效果,在處理后的O-HAZE數(shù)據(jù)集上隨機(jī)選擇428幅與訓(xùn)練集非重疊的圖像作為測試集,驗(yàn)證本文算法的去霧效果.
各算法在O-HAZE數(shù)據(jù)集上的部分輸出結(jié)果如圖10所示.由圖可看出,DCP整體上有一定的去霧效果,但去霧后的圖像存在顏色失真,特別是在天空區(qū)域(如(c)中第2幅、第3幅圖像中的天空區(qū)域),輸出圖像整體顏色偏暗.AOD-Net和FFA-Net對輸入霧圖均有去霧效果,但圖像中仍存在較多的霧噪聲,去霧效果并不徹底(如(d)、(e)中第3幅圖像中樹木上仍有霧存在).GCANet去霧效果更明顯,顏色失真大幅減少,但在較復(fù)雜的區(qū)域仍有部分霧殘留(如(f)第2幅圖像中天空區(qū)域有顏色失真,第3幅圖像中最下方區(qū)域有霧存在).文獻(xiàn)[19]算法不論是在無霧上還是在圖像復(fù)原上效果都不太令人滿意.本文算法幾乎無顏色失真,去霧效果最徹底,整體更接近無霧圖像.
(a)霧圖
(b)清晰標(biāo)簽
(c)DCP
(d)AOD-Net
(e)FFA-Net
(f)GCANet
(g)文獻(xiàn)[19]算法
(h)本文算法
各算法在O-HAZE數(shù)據(jù)集上去霧效果的指標(biāo)值對比如表3所示.由表可見,本文算法的SSIM值和PSNR值最高.
本文算法是針對霧層分布較復(fù)雜的非均勻有霧圖像提出的,但對于霧層分布較均勻的合成有霧圖像也有較好的去霧效果.選擇RESIDE數(shù)據(jù)集上的ITS-V2數(shù)據(jù)集作為訓(xùn)練集訓(xùn)練算法,包含500幅室內(nèi)合成有霧圖像的SOTS數(shù)據(jù)集作為驗(yàn)證集,驗(yàn)證本文算法的去霧效果,并與DCP、AOD-Net、FFA-Net、GCANet、文獻(xiàn)[19]算法進(jìn)行對比.
各算法在SOTS數(shù)據(jù)集上的去霧效果對比如圖11所示.由圖可知,DCP能有效去霧,但去霧后的圖像整體色彩偏暗,容易產(chǎn)生過飽和的現(xiàn)象(如(c)中第1幅圖像左下角地板處顏色偏暗),視覺效果不太理想.AOD-Net去霧效果較好,但也存在去霧效果不徹底的現(xiàn)象.FFA-Net較好地保留圖像的細(xì)節(jié)信息,但去霧效果不是很理想,有較多霧殘留.GCANet的去霧效果較理想,去霧徹底,幾乎無顏色失真,但在部分區(qū)域引入額外的噪聲(如(f)中第2幅圖像左側(cè)黑色噪聲).本文算法在保證去霧效果較徹底的前提下,保持較高的色彩一致性和圖像的細(xì)節(jié)信息,去霧后結(jié)果圖最接近于無霧圖像參考圖,在整體視覺效果上優(yōu)于其它對比算法.
(a)霧圖
(b)清晰標(biāo)簽
(c)DCP
(d)AOD-Net
(e)FFA-Net
(f)GCANet
(g)文獻(xiàn)[19]算法
(h)本文算法
為了更直觀地展示各算法的去霧效果,將實(shí)驗(yàn)結(jié)果中的部分區(qū)域放大進(jìn)行對比,如圖12所示.
由圖12可知,DCP、GCANet和文獻(xiàn)[19]算法可較好地實(shí)現(xiàn)室內(nèi)圖像去霧,但均有不同程度的顏色失真.AOD-Net和FFA-Net可完整恢復(fù)有霧圖像的原始色彩,但去霧效果并不徹底,特別是FFA-Net仍保留大量的霧.相比之下,本文算法可更徹底地去除室內(nèi)有霧圖像中的霧,更接近于清晰無霧圖像.
(a)霧圖 (b)清晰標(biāo)簽 (c)DCP (d)文獻(xiàn)[19]算法 (e)FFA-Net (f)GCANet (g)本文算法 (h)AOD-Net
各算法在SOTS測試集上去霧效果的指標(biāo)值對比如表4所示,表中黑體數(shù)字表示最優(yōu)值.由表可看出,本文算法的SSIM值最高,PSNR值高于DCP、AOD-Net和FFA-Net,但低于GCANet.
表4 各算法在SOTS測試集上的指標(biāo)值對比
為了進(jìn)一步驗(yàn)證本文算法的泛化能力,選擇一些常用真實(shí)霧圖作為測試圖像,對比去霧效果.
各算法去霧效果對比如圖13所示.
(a)霧圖
(b)DCP
(c)AOD-Net
(d)FFA-Net
(e)GCANet
(f)文獻(xiàn)[19]算法
(g)本文算法
由圖13可看出,DCP去霧后的圖像整體色調(diào)變暗,出現(xiàn)較明顯的顏色失真,尤其是天空區(qū)域較嚴(yán)重.GCANet在第1幅公路區(qū)域和第3幅景深較深的區(qū)域也存在色彩失調(diào)現(xiàn)象.FFA-Net處理后圖像存在霧殘留.AOD-Net圖像變暗,影響圖像的整體視覺效果.文獻(xiàn)[19]算法復(fù)原的圖像存在一定偏色現(xiàn)象,如第1幅和第4幅的大路.相比之下,本文算法在保證去霧效果良好的前提下,能重建更自然的色彩效果.
為了驗(yàn)證本文算法各結(jié)構(gòu)的有效性,進(jìn)行消融實(shí)驗(yàn),包括如下4個(gè)模型:1)算法中去掉所有注意力模塊的傳遞部分.2)算法中去掉所有注意力模塊部分.3)算法中去掉稀疏結(jié)構(gòu)平滑空洞卷積部分,以普通空洞卷積替代.4)算法中去掉輕量級特征補(bǔ)全模塊.
在拍攝的非均勻霧圖數(shù)據(jù)集上對上述4個(gè)模型進(jìn)行質(zhì)量評價(jià),計(jì)算PSNR值和SSIM值.本文算法的SSIM值為0.80,PSNR值為21.80 dB.模型1的SSIM值為0.76,比本文算法降低0.04,PSNR值為19.29 dB,比本文算法降低2.51 dB.模型2的SSIM值同樣為0.76, 比本文算法降低0.04,PSNR值為19.08 dB,比本文算法降低2.72 dB.模型3的SSIM值為0.68,比本文算法降低0.12,PSNR值為15.51 dB,比本文算法降低6.29 dB.模型4的SSIM值為0.74,比本文算法降低0.06,PSNR值為17.14 dB,比本文算法降低4.66 dB.由此表明基于殘差塊的輕量級網(wǎng)絡(luò)能較好地補(bǔ)全部分色彩信息.
注意力機(jī)制是模擬人類視覺過程開發(fā)的算法,運(yùn)算機(jī)制主要以圖像的像素值為基礎(chǔ),傾向于對引起視覺感知的亮度、對比度等色彩信息的關(guān)注度更高.所以引入傳遞注意力機(jī)制的模型2的PSNR值比模型1提升0.21 dB,但SSIM值一致.從這兩個(gè)指標(biāo)的角度上看,傳遞注意力對去霧性能峰值信噪能起到一定的提升作用.
本文提出基于傳遞注意力機(jī)制的非均勻霧圖去霧算法,以端到端的方式實(shí)現(xiàn),可直接學(xué)習(xí)輸入圖像與清晰圖像之間的映射關(guān)系.針對非均勻霧圖中復(fù)雜的霧噪聲,加入傳遞注意力機(jī)制,使模塊中的權(quán)重信息流動并相互配合,充分發(fā)揮注意力機(jī)制的優(yōu)勢.算法利用稀疏塊中稀疏結(jié)構(gòu)的平滑空洞卷積提取圖像特征,在擴(kuò)大卷積核感受野的同時(shí)減少特征信息的丟失.實(shí)驗(yàn)表明,本文算法在真實(shí)的非均勻有霧圖像及合成的有霧圖像上均能取得良好的去霧效果,恢復(fù)的無霧圖像整體更清晰、色彩更自然.
本文算法能有效處理非均勻有霧圖像中的霧噪聲,較好地還原圖像的原始色彩,對非均勻霧圖的去霧效果良好,但還存在如下不足之處:對于霧較濃的區(qū)域,算法處理后的圖像去霧效果不夠理想;在濃霧區(qū)域去霧不夠徹底,仍有部分霧霾殘留;容易引入新的噪聲,出現(xiàn)顏色不均勻的色塊.這些都是今后需要改進(jìn)的方面.