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