(安徽大學(xué) 電氣工程與自動(dòng)化學(xué)院,安徽 合肥 230000)
霧天情況下,由于光的折射與反射現(xiàn)象的存在,空氣中的懸浮顆粒和小水滴將導(dǎo)致采集到的圖像對(duì)比度降低、顏色失真并且細(xì)節(jié)模糊[1]。近年來,研究者們針對(duì)霧天搜集到的圖像存在嚴(yán)重的質(zhì)量降低問題,提出了非數(shù)據(jù)驅(qū)動(dòng)[2-3]和數(shù)據(jù)驅(qū)動(dòng)[4-6]的去霧算法。其中,非數(shù)據(jù)驅(qū)動(dòng)的去霧算法依賴于先驗(yàn)假設(shè)或物理規(guī)律(比如大氣散射模型);數(shù)據(jù)驅(qū)動(dòng)的去霧算法需要大量的有霧和無霧圖像作為深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。本文提出的去霧算法為數(shù)據(jù)驅(qū)動(dòng)算法,有效地利用了有霧和無霧圖像數(shù)據(jù)包含的統(tǒng)計(jì)特性。
大氣散射模型為去霧算法提供了研究的理論基礎(chǔ)。He[2]針對(duì)有霧和無霧圖像的像素規(guī)律提出了暗通道先驗(yàn)去霧算法,但是He 方法并不適合天空區(qū)域,去霧后的圖像存在顏色偏移問題。Ma[7]結(jié)合Lab 空間和單尺度Retinex 設(shè)計(jì)了一種雙邊濾波優(yōu)化的去霧算法,有效地避免了He算法存在的顏色失真現(xiàn)象。Sun[8]針對(duì)線性傳輸算法中大氣光和透射率估計(jì)不準(zhǔn)確的問題,設(shè)計(jì)了基于線性模型的自適應(yīng)優(yōu)化去霧算法。Zhu[3]通過統(tǒng)計(jì)有霧圖像的顏色信息,提出了顏色衰減先驗(yàn)去霧算法,但是Zhu算法獲得的去霧圖像存在一定的細(xì)節(jié)模糊。Li[4]將深度神經(jīng)網(wǎng)絡(luò)與大氣散射模型相結(jié)合,設(shè)計(jì)了AOD-Net(all-in-one dehazing network),但是Li 采用的網(wǎng)絡(luò)結(jié)構(gòu)較為簡單,去霧后圖像存在紋理模糊問題。Yu[9]提出了全局參數(shù)估計(jì)的偏振去霧算法,但是其應(yīng)用場(chǎng)景限制在水下。Wei[10]將圖像塊的選擇結(jié)合到去霧算法中,增強(qiáng)了系統(tǒng)的魯棒性,但同時(shí)也增加了算法的計(jì)算量。Zhang[6]采用密集連接的生成對(duì)抗網(wǎng)絡(luò)設(shè)計(jì)了端到端的去霧算法,但是該算法需要場(chǎng)景對(duì)應(yīng)的深度信息作為監(jiān)督,實(shí)際應(yīng)用場(chǎng)景中獲取較難。文獻(xiàn)[11]同樣采用生成對(duì)抗網(wǎng)絡(luò)設(shè)計(jì)了去霧網(wǎng)絡(luò),但是此方法需要使用透射圖作為訓(xùn)練標(biāo)簽,在實(shí)際應(yīng)用中透射圖的獲取非常復(fù)雜且昂貴。本文提出的算法采用生成對(duì)抗網(wǎng)絡(luò),但是不需要場(chǎng)景對(duì)應(yīng)的深度信息或者透射圖信息,便于算法的實(shí)際應(yīng)用。
本文針對(duì)現(xiàn)存去霧算法存在的細(xì)節(jié)模糊和顏色失真的問題,構(gòu)建了基于多尺度空洞卷積的對(duì)抗去霧網(wǎng)絡(luò)。網(wǎng)絡(luò)采用空洞卷積作為特征提取模塊,有效地提取有霧圖像和無霧圖像的語義特征。通過結(jié)合感知損失[12]和L1 損失,對(duì)去霧圖像進(jìn)行紋理和細(xì)節(jié)優(yōu)化。
空洞卷積主要應(yīng)用于圖像分割任務(wù)[13]中,可以有效地增加卷積模塊的感受野。圖1中展示了本文提出的多尺度空洞卷積模塊(簡稱DMS block,multi-scale dilated convolution block)的整體結(jié)構(gòu)。對(duì)于空洞卷積計(jì)算來說,選取不同的空洞率(dilated rate)可以獲得不同尺度的像素信息。為了在圖像去霧過程中獲取多尺度的空間信息,采用3種空洞率對(duì)輸入特征圖(feature map)進(jìn)行處理,空洞率分別為1、2和3。DMS Block 首先將不同尺度的特征圖進(jìn)行空間拼接,使得輸出特征圖通道數(shù)為輸入特征圖通道數(shù)的3倍。然后,使用融合模塊(fuse block)對(duì)拼接后的特征圖進(jìn)行通道降維,以保證最終輸出特征圖通道數(shù)和輸入特征圖的通道數(shù)相同。
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Structure diagram of overall network
本文提出的基于多尺度空洞卷積的對(duì)抗去霧網(wǎng)絡(luò)包含一個(gè)生成器G(generator)和一個(gè)判別器D(discriminator),網(wǎng)絡(luò)設(shè)計(jì)思路和原始生成對(duì)抗網(wǎng)絡(luò)[14](GAN,generative adversarial networks)相 同。生成器G負(fù)責(zé)去除圖像中的霧,判別器D 負(fù)責(zé)區(qū)分去霧后得到的圖像和真實(shí)無霧圖像。
生成器G的輸入為有霧圖像,輸出為去霧后的圖像。通過梯度更新的優(yōu)化過程,生成器G將學(xué)習(xí)到有霧圖像到無霧圖像的映射函數(shù)。生成器共包含6 層,第一層為卷積模塊(conv block),通過對(duì)3個(gè)通道的輸入圖像進(jìn)行卷積,獲得64個(gè)通道的特征圖。G的中間4 層均為殘差多尺度空洞卷積模塊(DMS block,),其中殘差表示殘差連接[15]。DMS block的結(jié)構(gòu)如圖1左半部分所示。通過選取不同的空洞率(Rate=1,2,3)可以獲得不同尺度的特征圖,將不同尺度的特征圖使用融合模塊(fuse block)進(jìn)行空間融合,獲得本層的輸出特征圖。生成器G的最后一層為反卷積模塊(deconv block),其結(jié)構(gòu)和圖1左上部分的conv block 相同,區(qū)別在于使用反卷積替代卷積操作。
判別器D 由6個(gè)conv block 構(gòu)成,輸入為真實(shí)無霧圖像和生成器G的去霧圖像。判別器D為二分類器,用于區(qū)分真實(shí)無霧圖像和去霧圖像。
圖像去霧算法采用有霧圖像作為輸入,通過對(duì)圖像進(jìn)行特定處理,獲得最終的去霧圖像作為輸出。圖1中展示了本文提出的多尺度空洞卷積對(duì)抗去霧網(wǎng)絡(luò)的訓(xùn)練過程。首先將有霧圖像統(tǒng)一縮放,獲得像素尺寸為256×256的RGB 圖像,并將像素值映射0到1之間,作為生成器G的輸入,生成器G通過卷積模塊以及多尺度空洞卷積模塊對(duì)有霧圖像進(jìn)行卷積運(yùn)算,隨后生成器G輸出像素尺寸為256×256的RGB 去霧圖像。使用L1 距離計(jì)算去霧圖像和真實(shí)無霧圖像之間的像素差異,進(jìn)行去霧圖像的初步優(yōu)化。采用感知損失計(jì)算去霧圖像和真實(shí)圖像之間的語義距離,通過優(yōu)化感知損失獲取更好的紋理和輪廓細(xì)節(jié)。
判別器D的輸入包含兩個(gè)部分:生成器G輸出的去霧圖像和真實(shí)的無霧圖像。輸入判別器D的所有圖像像素尺寸均為256×256的RGB 圖像。使用判別器D 對(duì)生成器G輸出的去霧圖像進(jìn)行判別,實(shí)現(xiàn)網(wǎng)絡(luò)參數(shù)的更新。
原始的生成對(duì)抗網(wǎng)絡(luò)[14](GAN,generative adversarial networks)中,提出了最大最小博弈的目標(biāo)函數(shù),如下:
式中:x表示數(shù)據(jù)集中的圖像;z表示噪聲信號(hào)(可以從高斯分布或均勻分布中采樣獲得z)。本文提出算法使用有霧圖像h替代原始生成對(duì)抗網(wǎng)絡(luò)的噪聲信號(hào)z,獲得了如下的對(duì)抗性損失:
式中y*表示原始數(shù)據(jù)集中真實(shí)的無霧圖像,對(duì)應(yīng)于(1)式中的x。
感知損失[12]采用預(yù)訓(xùn)練模型VGG16[16]網(wǎng)絡(luò)的前4個(gè)池化層進(jìn)行特征計(jì)算,記VGG16 網(wǎng)絡(luò)代表的映射函數(shù)為F。將去霧后的圖像y輸入到網(wǎng)絡(luò)中,計(jì)算y與真實(shí)無霧圖像y*的距離:
式中:i=1,2,3,4分別對(duì)應(yīng)4個(gè)池化層的輸出特征;Ci表示第i層特征圖的通道數(shù);Hi和Wi分別表示第i層特征圖的高度和寬度。
此外,為了在像素層面對(duì)去霧后的圖像進(jìn)行像素層面的約束,采用L1 損失計(jì)算去霧圖像y和真實(shí)無霧圖像y*之間的像素距離:
綜上,生成器G和判別器D的總體損失函數(shù)為
式中 λ為感知損失的權(quán)重,由于L1 損失和感知損失均對(duì)生成器G進(jìn)行約束,所以可以固定生成器的L1 損失權(quán)重為1。通過調(diào)節(jié) λ,控制生成器的L1 損失和感知損失的權(quán)重比例。2.3 節(jié)分析了感知損失權(quán)重不同時(shí),網(wǎng)絡(luò)去霧性能的變化情況。
本文提出的去霧算法首先在訓(xùn)練集上進(jìn)行參數(shù)訓(xùn)練,然后在測(cè)試集上進(jìn)行定量評(píng)估指標(biāo)計(jì)算。2.1 節(jié)介紹了峰值信噪比、結(jié)構(gòu)相似性和色差3種評(píng)估指標(biāo);2.2 節(jié)和2.5 節(jié)給出了實(shí)驗(yàn)所用的2個(gè)數(shù)據(jù)集的具體信息以及對(duì)比實(shí)驗(yàn)結(jié)果,對(duì)比算法包括He[2]提出的DCP算法、Zhu[3]提出的CAP算法,以及Li[4]設(shè)計(jì)的AOD-Net算法;2.3 節(jié)對(duì)感知損失權(quán)重的選擇進(jìn)行了定量分析;2.4 節(jié)對(duì)比了不同迭代次數(shù)對(duì)應(yīng)的去霧性能變化。
為了從定量的角度將提出的去霧算法與現(xiàn)存的算法進(jìn)行比較,本文選擇了圖像去霧領(lǐng)域常用的評(píng)估指標(biāo):峰值信噪比(PSNR,peak signal-tonoise ratio)、結(jié)構(gòu)相似性(SSIM,structural similarity index)和色差(CIEDE2000,commission internationale de l`eclairage delta)。
PSNR的單位為dB,其計(jì)算方式為
式中mse表示失真圖像和真實(shí)參考圖像的均方誤差:
式中:I和R分別表示失真圖像和真實(shí)參考圖像;H和W分別表示圖像的高度和寬度;u和v分別表示圖像的像素橫縱坐標(biāo)。PSNR的值越高,表示圖像中信號(hào)和噪聲的比例越高,即圖像恢復(fù)質(zhì)量越好。
SSIM的取值范圍在0~1之間,用以衡量失真圖像和真實(shí)參考圖像之間的結(jié)構(gòu)相似性,值越大代表結(jié)構(gòu)恢復(fù)性能越好。SSIM的計(jì)算較為復(fù)雜,具體過程見文獻(xiàn)[17]。國際照明委員會(huì)于2000年提出了色差CIEDE2000(文中簡稱為CIEDE)評(píng)估指標(biāo)。色差值越大表示圖像的色彩失真越嚴(yán)重,具體計(jì)算過程見文獻(xiàn)[18]。
對(duì)于提出的去霧算法,訓(xùn)練過程中學(xué)習(xí)率設(shè)置為0.0001,每次迭代采用的batch size為4,λ設(shè)定為4(分析見2.3 節(jié)),迭代次數(shù)設(shè)定為2 萬次,2.4節(jié)對(duì)迭代次數(shù)選擇進(jìn)行了定量的分析。為了保證訓(xùn)練階段的梯度計(jì)算和更新,通過裁剪和對(duì)齊將所有訓(xùn)練圖像的長和寬均設(shè)置為256。測(cè)試階段每次輸入一張任意尺寸的圖像,不需對(duì)圖像尺寸做任何限制,直接輸入生成器進(jìn)行去霧。
本文在人工構(gòu)造的公開數(shù)據(jù)[19]和自然場(chǎng)景拍攝的有霧數(shù)據(jù)集[20]分別進(jìn)行了10次重復(fù)實(shí)驗(yàn)。實(shí)驗(yàn)中,為了排除訓(xùn)練過程帶來的誤差影響,將去霧算法和AOD算法分別進(jìn)行10次重復(fù)實(shí)驗(yàn),并計(jì)算對(duì)應(yīng)評(píng)估指標(biāo)的均值和方差;DCP和CAP算法不需訓(xùn)練過程,對(duì)于固定的輸入其所獲的輸出也是相同的,因此可采用單次實(shí)驗(yàn)方式準(zhǔn)確地獲得實(shí)驗(yàn)結(jié)果,故不需計(jì)算方差值。此外,所有對(duì)比實(shí)驗(yàn)的參數(shù)均按照對(duì)應(yīng)論文中提供的方案設(shè)置。
NYU-Depth[19]數(shù)據(jù)集包含精確標(biāo)注的深度圖,D-HAZY[21]提出在NYU-Depth的基礎(chǔ)上結(jié)合大氣散射合成有霧與無霧圖像。本文采用D-HAZY的合成算法,合成了1449 對(duì)有霧與無霧圖像。實(shí)驗(yàn)中,選擇1149 對(duì)圖像作為訓(xùn)練集,300 對(duì)圖像作為測(cè)試集。
實(shí)驗(yàn)參數(shù)設(shè)置方式見2.1 節(jié),表1提供了PSNR、SSIM和CIEDE的計(jì)算結(jié)果。從實(shí)驗(yàn)指標(biāo)值可以看出,本文提出的算法獲得了更高的峰值信噪比和結(jié)構(gòu)相似性的值,并且具有最低的色差值,從定量的角度證明了提出的算法去霧性能較好。
表1 NYU-HAZE 結(jié)果Table1 Results of NYU-HAZE
霧的存在會(huì)降低圖像對(duì)比度,并造成圖像細(xì)節(jié)模糊。因此,需要從視覺效果角度對(duì)去霧算法進(jìn)行評(píng)估。圖2展示了本文提出的去霧算法與其他去霧算法的視覺結(jié)果。
從圖中可以看出,DCP算法的去霧結(jié)果存在明顯的顏色加深現(xiàn)象,同時(shí)存在較為明顯的局部不完全去霧,原因在于DCP 沒有準(zhǔn)確地估計(jì)出大氣光值和透射圖。CAP算法能夠較好地恢復(fù)圖像的對(duì)比度信息,但是存在細(xì)節(jié)模糊的現(xiàn)象。AOD算法可以恢復(fù)圖像的紋理和細(xì)節(jié),但是會(huì)降低圖像的對(duì)比度。本文提出的去霧網(wǎng)絡(luò)能夠完整地恢復(fù)圖像的細(xì)節(jié)信息,并獲得和真實(shí)無霧圖像相近的對(duì)比度,證明了其結(jié)構(gòu)恢復(fù)和對(duì)比度增強(qiáng)效果較好。
圖2 視覺效果對(duì)比Fig.2 Comparison of visual effect
為了研究感知損失項(xiàng)在生成器總體損失中占有不同權(quán)重時(shí)網(wǎng)絡(luò)去霧性能的變化情況,實(shí)驗(yàn)中將 λ分別設(shè)置為2、4、6和8,同時(shí)保持網(wǎng)絡(luò)其他參數(shù)設(shè)置不變,對(duì)本文提出的多尺度空洞卷積對(duì)抗去霧網(wǎng)絡(luò)進(jìn)行訓(xùn)練。表2展示了不同 λ值時(shí)對(duì)應(yīng)的PSNR、SSIM和CIEDE值。從結(jié)果中可以看出,λ為4時(shí)所獲的峰值信噪比和結(jié)構(gòu)相似性值均較高,同時(shí)色差值較低,網(wǎng)絡(luò)的去霧性能最優(yōu)。
表2 λ對(duì)PSNR、SSIM、CIEDE的影響Table2 Impact of λ on PSNR,SSIM,CIEDE
迭代次數(shù)是深度神經(jīng)網(wǎng)絡(luò)算法的重要參數(shù)之一,迭代次數(shù)過多或者過少,都會(huì)導(dǎo)致模型表現(xiàn)不佳。通過2.3 節(jié)的分析,確定了感知損失權(quán)重 λ為4時(shí)整體去霧性能最好。通過固定感知損失權(quán)重值以及網(wǎng)絡(luò)的其他參數(shù),分別對(duì)不同迭代次數(shù)所獲的去霧模型進(jìn)行測(cè)試。圖3、圖4和圖5展示了不同迭代次數(shù)對(duì)應(yīng)的PSNR、SSIM和CIEDE值。從圖中結(jié)果可以看出,訓(xùn)練的迭代次數(shù)為2 萬次時(shí)獲得的PSNR和SSIM值較高,同時(shí)CIEDE值較低,網(wǎng)絡(luò)性能較好。
圖3 迭代次數(shù)和PSNR值Fig.3 Iterations and PSNR value
圖4 迭代次數(shù)和SSIM值Fig.4 Iterations and SSIM value
圖5 迭代次數(shù)和CIEDE值Fig.5 Iterations and CIEDE value
深度神經(jīng)網(wǎng)絡(luò)需要充足的訓(xùn)練數(shù)據(jù),在有霧圖像成對(duì)和無霧圖像較少的情況下,可能會(huì)影響最終的去霧性能。為了證明本文提出的算法在自然有霧應(yīng)用中在數(shù)據(jù)量較少的情況下仍然能夠獲得清晰的去霧圖像,選用包含室外圖像的OHAZE[20]數(shù)據(jù)集進(jìn)行定量和定性評(píng)估。O-HAZE包含45 對(duì)同一場(chǎng)景下拍攝的有霧圖像與無霧圖像。實(shí)驗(yàn)中隨機(jī)選取35 對(duì)作為訓(xùn)練數(shù)據(jù),10 對(duì)圖像作為測(cè)試數(shù)據(jù)。表3中實(shí)驗(yàn)結(jié)果表明,本文提出的去霧網(wǎng)絡(luò)能夠獲得更高的峰值信噪比值,有效地減少了霧產(chǎn)生的噪聲信號(hào);提出的去霧網(wǎng)絡(luò)獲得了最優(yōu)的結(jié)構(gòu)相似性值,保證去霧后的圖像不會(huì)出現(xiàn)結(jié)構(gòu)扭曲現(xiàn)象;同時(shí),色差值最低,表明在室外有霧場(chǎng)景中恢復(fù)顏色信息的能力較好。
表3 O-HAZE 結(jié)果Table3 Results of O-HAZE
圖6中給出了去霧算法的視覺效果對(duì)比,DCP算法和CAP算法存在較為明顯的顏色失真現(xiàn)象,同時(shí)對(duì)于天空區(qū)域的處理結(jié)果較差。AOD 去霧算法所獲的去霧圖像細(xì)節(jié)較為模糊,去霧結(jié)果中仍然保留少量的霧塊。本文提出的去霧網(wǎng)絡(luò)通過多尺度的空洞卷積模塊,充分地提取了有霧圖像和無霧圖像的特征,獲得了清晰的去霧圖像,并且去霧后的圖像在天空區(qū)域不會(huì)出現(xiàn)顏色失真現(xiàn)象。同時(shí),通過采用感知損失,增強(qiáng)了圖像的紋理細(xì)節(jié),保證去霧后的圖像邊界輪廓清晰。
圖6 O-HAZE 視覺效果對(duì)比Fig.6 Comparison of visual effect on O-HAZE
本文提出了基于多尺度空洞卷積的對(duì)抗去霧網(wǎng)絡(luò)。生成器首先采用不同空洞率的空洞卷積模塊進(jìn)行特征提取,然后將獲得的多尺度的特征圖進(jìn)行空間融合。去霧網(wǎng)絡(luò)通過感知損失在特征空間對(duì)圖像質(zhì)量進(jìn)行優(yōu)化,增強(qiáng)圖像的紋理信息和輪廓細(xì)節(jié)。實(shí)驗(yàn)結(jié)果表明,本文提出的去霧網(wǎng)絡(luò)能夠獲得較高的峰值信噪比值和結(jié)構(gòu)相似性值,并保證去霧后圖像不存在明顯的顏色失真現(xiàn)象。定量指標(biāo)結(jié)果和定性視覺結(jié)果均證明了提出的算法具有較好的去霧性能。