叢曉峰,章 軍,胡 強(qiáng)
(安徽大學(xué) 電氣工程與自動(dòng)化學(xué)院,安徽 合肥 230000)
空氣中的懸浮粒子在光線散射下會(huì)造成成像設(shè)備采集到的圖片質(zhì)量退化。近年來霧霾天氣頻發(fā),對(duì)道路監(jiān)控、無人駕駛、出行攝影等均造成了不同程度的負(fù)面影響,研究人員為此提出了一系列的去霧算法。Zhao[1]提出了基于最大最小光強(qiáng)的偏振去霧方法,Dai[2]采用全局參數(shù)自動(dòng)估計(jì)的偏振方法進(jìn)行彩色圖像去霧,但它們需要的3 種不同角度下拍攝的偏振圖像無法通過常規(guī)攝像設(shè)備獲?。籋e[3]提出了基于暗通道的去霧算法,Yang[4]通過實(shí)驗(yàn)證明了He 方法不適用于天空區(qū)域,并通過自適應(yīng)線性透射率估計(jì)對(duì)He 方法進(jìn)行了改進(jìn),Borkar[5]將暗通道與鄰近算法結(jié)合提升了算法魯棒性,但是Yang 與Borkar 算法估計(jì)參數(shù)方式較復(fù)雜,容易產(chǎn)生累積誤差;Zhu[6]根據(jù)有霧圖像的顏色信息的規(guī)律提出了顏色衰減先驗(yàn),由于其未根據(jù)特定數(shù)據(jù)進(jìn)行建模導(dǎo)致它容易出現(xiàn)去霧殘留?;谏疃葘W(xué)習(xí)的方法主要利用神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分布學(xué)習(xí)能力,Cai[7]采用深度卷積網(wǎng)絡(luò)實(shí)現(xiàn)了端到端的透射圖估計(jì)并結(jié)合物理模型設(shè)計(jì)了DehazeNet,Ren[8]通過結(jié)合不同尺度特征提出了多尺度卷積神經(jīng)網(wǎng)絡(luò)去霧,Wei[9]采用引導(dǎo)濾波與深度卷積網(wǎng)絡(luò)結(jié)合提出了低色彩失真的去霧算法,但是Ren、Cai和Wei 方法在訓(xùn)練過程中均需要成對(duì)數(shù)據(jù)導(dǎo)致應(yīng)用范圍受限;Engin[10]從圖圖轉(zhuǎn)換的角度實(shí)現(xiàn)了不需要成對(duì)數(shù)據(jù)作為監(jiān)督的域轉(zhuǎn)換網(wǎng)絡(luò),但是實(shí)驗(yàn)結(jié)果表明該方法容易造成圖像整體色調(diào)偏暗。
針對(duì)現(xiàn)有去霧方法容易造成圖像顏色失真、容易引入噪聲信號(hào)并造成圖像結(jié)構(gòu)形變的問題,提出了基于對(duì)偶學(xué)習(xí)的對(duì)偶去霧網(wǎng)絡(luò),通過在3 個(gè)公開數(shù)據(jù)集上的實(shí)驗(yàn)證明了算法的優(yōu)越性。
對(duì)偶學(xué)習(xí)機(jī)制最初在機(jī)器翻譯領(lǐng)域中被提出,它的核心思想是將原始任務(wù)和對(duì)偶任務(wù)作為兩個(gè)相互輔助的模塊。比如將英語(yǔ)到法語(yǔ)的翻譯視為是原始任務(wù),將法語(yǔ)到英語(yǔ)的翻譯作為對(duì)偶任務(wù),借此形成的閉環(huán)過程稱為對(duì)偶學(xué)習(xí)。提出的對(duì)偶去霧網(wǎng)絡(luò)將去霧與形成霧的過程視為對(duì)偶過程,采用兩個(gè)過程相互輔助訓(xùn)練的迭代模式。對(duì)偶去霧網(wǎng)絡(luò)的核心子網(wǎng)絡(luò)為Yi[11]借助對(duì)偶學(xué)習(xí)設(shè)計(jì)的風(fēng)格遷移網(wǎng)絡(luò)DualGAN(Dual Generative Adversarial Network)。為了進(jìn)一步提高去霧表現(xiàn),引入了預(yù)訓(xùn)練特征提取網(wǎng)絡(luò)[12]網(wǎng)絡(luò)以及感知損失[13](用預(yù)訓(xùn)練模型計(jì)算歐式距離)用于提高峰值信噪比并減小色差。對(duì)偶去霧網(wǎng)絡(luò)首先將重構(gòu)圖片送入用于特征提取的預(yù)訓(xùn)練網(wǎng)絡(luò),然后最小化去霧圖片和真實(shí)無霧圖片的特征之間的距離以實(shí)現(xiàn)特征層面的約束。
提出的對(duì)偶去霧網(wǎng)絡(luò)包含DualGAN 以及一個(gè)預(yù)訓(xùn)練特征提取網(wǎng)絡(luò)。假設(shè)U 和V 分別表示有霧圖片域和無霧圖片域。DualGAN 包含圖1 中的GU、GV、DU 和DV4 個(gè)子網(wǎng)絡(luò)。其中GU 和GV 分別表示域U 和域V 的生成器,GU 負(fù)責(zé)學(xué)習(xí)有霧到無霧圖像之間的映射,也就是原始任務(wù),GV 負(fù)責(zé)學(xué)習(xí)無霧圖像到有霧圖像的映射,即為對(duì)偶任務(wù),通過原始任務(wù)與對(duì)偶任務(wù)聯(lián)合訓(xùn)練實(shí)現(xiàn)對(duì)偶學(xué)習(xí)模式;DU 和DV 分別表示域U 和域V 的判別器,DU用于判別其輸入來自GU 的去霧圖像還是來自真實(shí)的無霧圖像,DV 用于判別其輸入來自GV 合成霧的圖像還是真實(shí)有霧圖像。
圖1 對(duì)偶去霧網(wǎng)絡(luò)的整體結(jié)構(gòu)Fig.1 Overall structure of dual defogging network
生成器GU 與GV 的結(jié)構(gòu)完全相同,其卷積和反卷積操作的卷積核尺寸均5×5,步長(zhǎng)均為2,首先通過連續(xù)的卷積操作降低維度,然后通過連續(xù)的反卷積獲得與輸入有霧圖像(尺寸為256×256 像素,通道數(shù)為3)相同維度的無霧輸出,箭頭表示在通道上進(jìn)行拼接操作;每一層都采用卷積網(wǎng)絡(luò)中普遍采用的BN(batch normalization,批正則化)和ReLU(rectified linear unit,線性整流單元)作為非線性映射函數(shù)。判別器DU 和DV 結(jié)構(gòu)完全相同,卷積層采用尺寸為5×5 且步長(zhǎng)為2 的卷積核進(jìn)行所有的卷積操作。計(jì)算感知損失的預(yù)訓(xùn)練特征提取網(wǎng)絡(luò)為分類網(wǎng)絡(luò),具體參數(shù)見文獻(xiàn)[12],對(duì)偶去霧網(wǎng)絡(luò)利用了它的第2 個(gè)池化層(pooling layer)和第5 個(gè)池化層的輸出作為特征提取模塊,并采用其在ImageNet[14]上的參數(shù)版本。
在網(wǎng)路訓(xùn)練中,首先在有霧圖像域U 中進(jìn)行采樣得到樣本u,通過GU 可以獲得轉(zhuǎn)換后的圖像u-v,實(shí)現(xiàn)有霧圖像到無霧圖像的轉(zhuǎn)換;然后將uv送入生成器GV 獲得重構(gòu)的有霧圖像,這種方式可以使得網(wǎng)絡(luò)不需要監(jiān)督信息并且快速地學(xué)習(xí)數(shù)據(jù)分布。最后,將重構(gòu)圖像與原始圖像同時(shí)送入預(yù)訓(xùn)練特征提取網(wǎng)絡(luò)中計(jì)算二者的特征向量,并使用特征向量計(jì)算歐幾里得距離,也就是感知損失。網(wǎng)絡(luò)盡管訓(xùn)練過程比較復(fù)雜,但是訓(xùn)練完成以后只需要保存生成器GU 的參數(shù)用于測(cè)試階段的去霧。在每次輸入數(shù)據(jù)時(shí)以小批量輸入的方法來減少計(jì)算開銷;實(shí)驗(yàn)中采用每次一張有霧圖像與一張無霧圖像作為輸入,二者并不需要為同一場(chǎng)景,學(xué)習(xí)率設(shè)置為0.000 1,采用隨機(jī)梯度下降算法對(duì)損失函數(shù)進(jìn)行優(yōu)化。
基本的GAN[15]包含一個(gè)用于學(xué)習(xí)數(shù)據(jù)分布的生成器G(generator)和一個(gè)用于鑒別樣本真?zhèn)蔚呐袆e器D(discriminator),通過G 和D 的梯度交替更新實(shí)現(xiàn)二者的相互博弈。GAN 的損失函數(shù)可以表達(dá)如下:
式中:x為從數(shù)據(jù)集采樣得到的樣本;z需要符合某種分布(比如高斯分布),對(duì)偶去霧網(wǎng)絡(luò)通過對(duì)偶的圖片域代替了原始GAN 的z。
作為對(duì)偶去霧網(wǎng)絡(luò)的核心組件,DualGAN 包含兩個(gè)基本的GAN 網(wǎng)絡(luò)以實(shí)現(xiàn)對(duì)偶的訓(xùn)練方式。訓(xùn)練過程中從域U 和域V 隨機(jī)采樣得到樣本u和樣本v。其判別器的損失函數(shù)表示為
整體的判別器算為(2)式和(3)式的線性疊加:
DualGAN 采用L1 范數(shù)約束圖像的重構(gòu)(rec 為reconstruction 簡(jiǎn)寫)過程為(v的重構(gòu)損失與u同理)
結(jié)合對(duì)抗損失可以得到它的整體生成器損失為
式中 λu與 λv為 權(quán)重參數(shù),為了保證單一變量的對(duì)比,實(shí)驗(yàn)中其值與文獻(xiàn)[11]保持一致。通過(4)式與(6)式得到DualGAN 的整體損失函數(shù):
對(duì)偶去霧網(wǎng)絡(luò)結(jié)合了原始DualGAN 的損失以及從特征空間進(jìn)行計(jì)算的感知損失作為整體的損失函數(shù)。為了結(jié)合不同尺度的特征信息,對(duì)偶去霧網(wǎng)絡(luò)選擇了圖1 中的第2 和第5 個(gè)pooling 層作為特征提取器并分別表示為?(x) 和ψ(x),通過計(jì)算特征提取器輸出的L2 距離得到感知損失如下:
最終得到的對(duì)偶去霧網(wǎng)絡(luò)整體損失函數(shù):
對(duì)生成器A 和生成器B 均采用最小最大化博弈:
實(shí)驗(yàn)中將對(duì)偶去霧網(wǎng)絡(luò)與以下幾種算法進(jìn)行了比較,各種方法的核心原理為:He[3]認(rèn)為在非天空室外圖像的局部區(qū)域中,至少存在一個(gè)顏色通道具有非常低的像素值,通過假設(shè)這些像素值趨近于零,得到透射圖與大氣光的估計(jì),最后借助大氣散射模型實(shí)現(xiàn)圖像去霧;Zhu[6]提出的顏色衰減先驗(yàn)認(rèn)為圖像的深度與亮度、飽和度之間存在線性的關(guān)系,通過線性建模估計(jì)深度圖并結(jié)合大氣散射模型去霧;Engin[10]提出了循環(huán)一致性的深度生成對(duì)抗去霧網(wǎng)絡(luò),其核心網(wǎng)絡(luò)采用了殘差連接,通過深度卷積神經(jīng)網(wǎng)絡(luò)將有霧圖像映射到無霧圖像;Yi[11]方法為對(duì)偶去霧網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)DualGAN。
峰值信噪比(peak signal-to-noise ratio,PSNR)可以通過均方誤差(mean square error,MSE)計(jì)算得到。它用于衡量目標(biāo)圖像X相對(duì)于參考圖像Y的噪聲比例,值越大表示圖像質(zhì)量越高,有用信號(hào)得到更好的保留。其中MSE 的計(jì)算如下:
式中:i和j分別表示像素的橫縱坐標(biāo);H和W是圖像的高度和寬度。通過對(duì)數(shù)計(jì)算可以得到PSNR:
為了分析去霧結(jié)果與原圖的結(jié)構(gòu)相似性(structural similarity index,SSIM),需要首先計(jì)算亮度L、對(duì)比度C與結(jié)構(gòu)S:
式中X和Y分別表示目標(biāo)圖像和參考圖像(SSIM中L、C與S計(jì)算方式參見文獻(xiàn)[16])。SSIM 的值越大,表示去霧結(jié)果與真實(shí)無霧圖像的結(jié)構(gòu)越相似,取值范圍為0~1 之間。
CIEDE2000 是國(guó)際照明委員會(huì)于2000 年提出的色彩評(píng)價(jià)公式,值越小代表目標(biāo)圖像與參考圖像間色彩差異越小,計(jì)算方式涉及諸多公式推導(dǎo)與證明過程,故不做具體介紹,具體請(qǐng)參考文獻(xiàn)[17]。實(shí)驗(yàn)表格中將CIEDE2000 用CD(color difference)代表。
本節(jié)實(shí)驗(yàn)首先證明了對(duì)偶去霧網(wǎng)絡(luò)在數(shù)據(jù)量較小的情況下仍然具有較好的去霧性能,隨后根據(jù)實(shí)驗(yàn)結(jié)果估算了保證模型泛化能力所需最少數(shù)據(jù)量的大致區(qū)間。I-HAZE[18](indoor haze images)包含35 對(duì)室內(nèi)場(chǎng)景(僅30 對(duì)公開),實(shí)驗(yàn)中選取訓(xùn)練集25 對(duì),測(cè)試集5 對(duì);O-HAZE[18](outdoor haze images)包含45 對(duì)室外場(chǎng)景,選取訓(xùn)練集35 對(duì),測(cè)試集10 對(duì)。它們所提供的不同場(chǎng)景的圖像尺寸互不相同,將所有的圖像尺寸統(tǒng)一縮放到256×256 像素,用于后續(xù)計(jì)算。實(shí)驗(yàn)結(jié)果見表1、表2、圖2、圖3。
表1 I-HAZE 實(shí)驗(yàn)結(jié)果Table 1 Results of I-HAZE
表2 O-HAZE 實(shí)驗(yàn)結(jié)果Table 2 Results of O-HAZE
圖2 I-HAZE 數(shù)據(jù)集上的視覺效果對(duì)比Fig.2 Visual effect comparison of I-HAZE data set
圖3 O-HAZE 數(shù)據(jù)集上的視覺效果對(duì)比Fig.3 Visual effect comparison of O-HAZE data set
表1 中I-HAZE 數(shù)據(jù)集上的結(jié)果顯示對(duì)偶去霧網(wǎng)絡(luò)得到的峰值信噪比(PSNR)較高,保證了圖像的有用信號(hào)在去霧以后得到充分的保留,防止由于去霧引入更多新的噪聲信號(hào)而導(dǎo)致圖像的視覺效果降低;對(duì)偶去霧網(wǎng)絡(luò)在結(jié)構(gòu)相似性(SSIM)上的表現(xiàn)證明了它可以完整地保留圖像的結(jié)構(gòu)信息;CIEDE2000 的值越低代表去霧得到的圖片和真實(shí)無霧圖片之間的色彩越接近,更符合人類感官體驗(yàn)。對(duì)偶去霧網(wǎng)絡(luò)與其他去霧算法相比獲得了最低的色差值,即最好的顏色恢復(fù)效果。表2 提供的在O-HAZE 數(shù)據(jù)集上的3 種指標(biāo)值再次證明了上述結(jié)論。從室內(nèi)數(shù)據(jù)集I-HAZE 與室外數(shù)據(jù)集O-HAZE 上得到的結(jié)果中可以看出,網(wǎng)絡(luò)在數(shù)據(jù)量較小的情況下仍然能學(xué)習(xí)出有霧圖像與無霧圖像之間的映射,原因就在于對(duì)偶學(xué)習(xí)過程充分利用了數(shù)據(jù)間的雙向映射關(guān)系。同時(shí),對(duì)偶去霧網(wǎng)絡(luò)獲得了比核心子網(wǎng)絡(luò)DualGAN(Yi 方法)更高的PSNR 值與更低的CIEDE2000 值,證明了添加預(yù)訓(xùn)練模型計(jì)算的感知損失能有效提升模型的去霧表現(xiàn)。
從圖2 以及圖3 中可以看出,He 的暗通道先驗(yàn)造成了圖像的顏色加深,這與Li[19]方法對(duì)暗通道的分析一致;Zhu 的顏色衰減先驗(yàn)(CAP)同樣出現(xiàn)了顏色失真現(xiàn)象,而且并沒徹底地去除場(chǎng)景中的霧,這是由于遵循統(tǒng)計(jì)規(guī)律而不是針對(duì)特定數(shù)據(jù)建模,造成其適應(yīng)性較差;Yi 方法得到的去霧圖像出現(xiàn)了較多的斑點(diǎn);對(duì)偶去霧網(wǎng)絡(luò)不僅完全地去除了不同場(chǎng)景中的霧,而且完整地保留了圖像的邊緣和輪廓,去霧后的圖像和地表真實(shí)圖像之間的顏色差異也較小。
圖2 中I-HAZE 去霧結(jié)果顯示出對(duì)偶去霧網(wǎng)絡(luò)與Li 方法均出現(xiàn)輕微的模糊現(xiàn)象,也就是模型的泛化能力沒有達(dá)到應(yīng)有的水平,然而在圖3 中當(dāng)數(shù)據(jù)量增加到35 對(duì)時(shí)則無模糊情況出現(xiàn),這是由于神經(jīng)網(wǎng)絡(luò)算法所需的數(shù)據(jù)量與其網(wǎng)絡(luò)的深度及復(fù)雜度有關(guān),但是這種關(guān)系并不能嚴(yán)格地通過計(jì)算得到,僅能推算一個(gè)大致的區(qū)間。從實(shí)驗(yàn)結(jié)果可以推知對(duì)偶去霧網(wǎng)絡(luò)所需的數(shù)據(jù)量在35 對(duì)左右(最小值)。
D-HAZE[20](depth haze images)數(shù)據(jù)集有1 449個(gè)有霧與無霧圖像對(duì)。實(shí)驗(yàn)中設(shè)置為訓(xùn)練集1 007對(duì),驗(yàn)證集362 對(duì),測(cè)試集80 對(duì)。實(shí)驗(yàn)結(jié)果如表3、圖4 所示。表3 證明了對(duì)偶去霧網(wǎng)絡(luò)在大型室內(nèi)數(shù)據(jù)集上仍然具備良好的性能。圖4 展示了對(duì)偶去霧網(wǎng)絡(luò)在顏色恢復(fù)上的優(yōu)越性。He 的暗通道先驗(yàn)和Zhu 的顏色衰減先驗(yàn)得到的結(jié)果都造成了圖像的整體顏色加深,并且亮度和對(duì)比度都有不同程度的降低;Engin 方法造成圖像整體偏暗,灰度分布不均勻,這是由于其使用的殘差連接導(dǎo)致輸入與輸出過度相關(guān);Yi 出現(xiàn)過度去霧的情況,造成圖像的亮度增加與細(xì)節(jié)丟失;He 方法因?yàn)槭褂昧祟A(yù)先定義的濾波器造成了輪廓的模糊。對(duì)偶去霧網(wǎng)絡(luò)兼顧了完整去霧與顏色恢復(fù)以及結(jié)構(gòu)完整性。
表3 D-HAZE 實(shí)驗(yàn)結(jié)果Table 3 Results of D-HAZE
圖4 D-HAZE 數(shù)據(jù)集上的視覺效果對(duì)比Fig.4 Visual effect comparison of D-HAZE data set
本文將去霧與合成霧作為對(duì)偶模式實(shí)現(xiàn)輔助訓(xùn)練,采用對(duì)偶對(duì)抗網(wǎng)絡(luò)學(xué)習(xí)有霧與無霧數(shù)據(jù)的雙向域映射關(guān)系,并借助預(yù)訓(xùn)練模型在特征空間計(jì)算感知損失,最后將對(duì)偶對(duì)抗網(wǎng)絡(luò)的損失函數(shù)與感知損失相加進(jìn)行聯(lián)合優(yōu)化得到了對(duì)偶去霧網(wǎng)絡(luò)。實(shí)驗(yàn)得到的峰值信噪比值表明了對(duì)偶去霧網(wǎng)絡(luò)能有效保留圖像中的有用信號(hào),防止去霧過程引入新的噪聲;結(jié)構(gòu)相似性指標(biāo)值體現(xiàn)了對(duì)偶去霧網(wǎng)絡(luò)在結(jié)構(gòu)恢復(fù)上具有優(yōu)越的性能;網(wǎng)絡(luò)得到的去霧結(jié)果與真實(shí)無霧圖像相比具有較低的色差值,有效地降低了去霧算法產(chǎn)生的顏色失真。