張華成 ,劉朝倩 ,韋 屹 ,李 喆 ,潘 劍
(1.桂林電子科技大學 計算機與信息安全學院,廣西 桂林 541004;2.廣西中煙工業有限責任公司,廣西 南寧 530001)
人們使用拍照設備拍照的時候,由于場景亮度和設備等原因,得到的圖像會有過暗或過亮的區域。這些區域的圖像細節信息模糊,降低了圖像的實用性。因此,有必要對這樣的圖像進行操作,使細節變得明顯,提高圖像質量。
早期弱光圖像增強的很多做法都是在圖像的統計學特征上進行操作,但只是增強整體圖像的亮度,無法對圖像局部區域的亮度進行調整。文獻[1]提出一種弱光圖像增強方法,但容易增強過度。文獻[2]增強的圖像比較暗,出現顏色失真現象。之后的圖像增強方法多數基于深度學習,文獻[3]利用高質量參考圖像集來訓練卷積神經網絡,得到一個單圖像對比度增強器。文獻[4]的圖像增強結果比較暗,視覺效果較差。文獻[5]提出一種循環的GAN(CycleGAN),雖然能增強圖像,但是效果比較模糊。為了使夜間車載圖像更清晰,文獻[6]基于平移檢索定位問題,提出一個圖像轉換模型。文獻[7]提出一種無監督的GAN(EnlightenGAN),即使沒有弱/正常亮度圖像對也能訓練模型。這些弱光圖像增強的方法,有的整體或局部過度增強;有的增強暗區失敗,且顏色失真,視覺效果差。為克服以上缺陷,提出一種基于生成式對抗網絡(Generative Adversarial Networks,GAN)和特征自我保留的圖像增強方法SFPGAN。該方法引入特征自我保留損失(Self-Feature Preserving Loss,SFPL),從顏色、亮度及特征3個方向對圖像進行判別,能夠保留原始圖像的特征,擁有更多的細節,在增強暗區的同時也能抑制亮區的過度曝光。SFPGAN具有4個特點:使用含有正常亮度和過度曝光的圖像集訓練模型;模型的魯棒性強;模型能夠避免整體和局部過度曝光;模型能夠適應真實的弱光圖像。
基于文獻[6]的觀點,為了全方位地鑒別生成圖像的真實性,從顏色、亮度及紋理方面判別圖像,即判別器包含模糊RGB判別器DRGB、灰度判別器DGray及梯度判別器DGrad3部分。第1部分使用一個大小為5×5和方差為3δ的高斯卷積核計算模糊RGB圖像,第2部分計算灰度圖,第3部分計算橫向和縱向梯度圖。最后將計算結果輸入相應的判別器獲得輸出值,求輸出值的平均值作為最終的損失值。模型結構如圖1所示。
在圖1中,(a)是循環GAN的模型,其中X和Y是圖像集,G和F是生成器,Dx和Dy是判別器,均包含DRGB、DGray及DGrad這3個判別器;(b)使用預先訓練好的模型保留原有的特征;(c)是正、反向循環一致性。

圖1 SFPGAN模型結構
DGrad模擬了提取尺度不變特征變換描述符的過程。它使用1×1、步長為2的卷積層提取特征圖,并將特征圖與兩個濾波器卷積獲得x、y方向的梯度。與文獻[6]一樣,使用該判別器創建原始圖像中不存在的相關匹配的特征。受到文獻[7]的啟發,為了保留原始特征,引入SFPL。
CycleGAN的任務是從圖像集X和Y中學習G:X→Y和F:Y→X,生成損失將生成圖像的分布與目標的分布相匹配,有:

式中,G是生成器,D是判別器,x和y分別是X和Y中的樣本。由于SFPGAN從3個方向進行評判,因此定義不一樣的對抗損失:

式中,D=[DRGB,DGray,DGrad],x是輸入圖像,n是D的長度,xf是生成的圖像。
如圖1(c)所示,對于X的每一張圖像x,模型應該能夠將x轉換回原始圖像,即
x→G(x)→F(G(x))≈x;類 似 地,有 y→F(y)→G(F(y))≈y。使用循環一致性損失保證轉換的平衡性:

從3個方向判別生成的圖像,可能會出現特征冗余的現象。為了保留原圖像的內容和特征,引入 SFPL[7]:

式中φj表示在預訓練好的VGG模型中提取的特征映射。這里使用VGG16中第5層最大池化層后的第1層卷積層卷積得到的特征。Wj和Hj是特征維度大小。根據CycleGAN和SFPL,SFPGAN的整體損失函數為:

式中λ控制著生成器G和F的相對平衡性,參照文獻[5],λ=10。λSFPL控制著SFPL對Loss的影響程度,λSFPL=1。
為了使模型具有良好的魯棒性,選擇文獻[3]中含有一定量正常亮度和過度曝光的Part2圖像集作為訓練集,一共有1 779張圖像。選擇LIME[1]、NPE[4]、MEF[8]、DICM[9]和 VV 使用的測試集,一共200張圖像。
生成器的網絡結構和判別器的網絡結構成分類似,主要由Conv2d(C)和InstanceNorm2d(I)組成。其中生成器的激活函數為ReLU(R),判別器的激活函數為LeakyReLU(L)。令c7s1-k表示一個步長為1的7×7的C-I-R,dk表示一個步長為2的3×3的C-I-R,Rk表示一個含有兩個3×3卷積層的殘差塊,uk表示一個步長為1/2的3×3的C-I-R。因此,生成器的網絡結構為c7s1-64,d128,d256,9*R256,u128,u64,c7s1-3。令 Ck表示一個步長為2的C-I-L。DRGB的網絡結構為C64-C128-C256-C512。DGray結構與DRGB一樣,而DGrad少了512的這層。k表示過濾器的大小。
為了驗證SFPGAN的有效性,進行4次消融實驗。分別為CycleGAN、只使用3個判別器、只使用SFPL和SFPGAN,一共4個實驗,簡稱實驗一、實驗二、實驗三及實驗四。結果如圖2所示。圖2中,第1列為輸入圖像,第2列到第5列分別是實驗一、實驗二、實驗三及實驗四的結果。在第1行,實驗一使珊瑚的顏色變淡,而實驗二~實驗四能夠保留圖像原始顏色。在第2行,在燈塔周邊區域,實驗一、實驗二及實驗三的結果都存在噪聲,且實驗二結果存在光暈。在第3行,實驗一結果比較模糊,實驗一和實驗三結果顏色失真;而實驗二過度增強人群,且電視機上有噪聲。在第4行,實驗二和實驗三在石塔中出現噪聲,實驗二在有陽光的部分出現過度增強的現象。相比之下,SFPGAN更能夠保留圖像顏色和特征,在增強暗區的同時也能抑制亮區的過度曝光,擁有更好的視覺效果,實驗結果驗證了SFPGAN的有效性。

圖2 SFPGAN消融實驗的視覺比較
從主觀評價、圖像的視覺質量、無參考的圖像質量以及在現實世界中的適應情況4個方面對結果進行論證。
2.4.1 圖像的視覺質量比較
將SFPGAN與其他方法在視覺質量方面進行對比,結果如圖3所示。第1列是弱光圖像,第2列到第7列分別是CycleGAN、EnlightenGAN、LIME、NPE和SRIE[2]及SFPGAN對本文訓練集進行訓練的結果。在第1行結果,EnlightenGAN和LIME雖然很好地增強了暗區域,但過度增強了部分區域;NPE出現了噪聲,SRIE效果較暗。在第2行結果,CycleGAN使得暗區的細節更明顯,但顏色會失真,EnlightenGAN、LIME、NPE及SRIE也出現了這個問題。在第3行結果,EnlightenGAN和LIME都過度增強,NPE和SRIE避免了整體過度增強,而CycleGAN結果比較暗。在最后一行,EnlightenGAN、LIME、NPE及SRIE都過度增強。由圖3結果可以看出,SFPGAN不僅可以增強暗區域,還能保留顏色和紋理,避免整體或局部過度增強,具有更好的視覺效果。
2.4.2 主觀評價
將SFPGAN與其他方法(CycleGAN除外)在主觀評價方面作比較。從測試集中隨機選擇23張圖像。對于每一張圖像,首先通過5種方法增強,其次要求9個測試者以成對的方式獨立對比這5張圖像結果,評估哪張效果更好。測試者需要考慮圖像是否有噪聲,圖像是否有曝光過度或曝光不足的區域以及圖像是否存在顏色或紋理失真現象。參照文獻[7]的例程估計主觀得分對這5種方法進行排名。最后,在該圖像上為每種方法分1~5共5個等級,等級越低,質量越好。重復以上操作23次。

圖3 與其他算法的效果比較(放大區域說明視覺差異)
采用以下方法表示評價結果。以SFPGAN為例,SFPGAN的評價結果為:1等級的圖像有8張,2等級的圖像有9張,3等級的圖像有6張,則結果表示為SFPGAN:1:8,2:9,3:6。將等級與相應的圖像數量相乘得到等級權重,所有的等級權重相加,用得到的等級權重總和除以總的圖像數量得到平均排名。以此方法計算所有方法的評價結果和平均排名如表1所示。SFPGAN的平均排名為1.91,雖然結果比EnlightenGAN差,但是相對于其他方法,還有一定的優越性。由于NPE和LIME存在增強過度或不足及顏色失真等問題,因此結果較差。

表1 5種方法的評價結果和平均排名
2.4.3 無參考的圖像質量對比
使用無參考的測試集,選擇自然圖像質量評價器(Natural Image Quality Evaluator,NIQE)[10]從自然度、局部亮度及特征等方面評價增強圖像的質量。分別使用這6種方法增強測試集得到增強圖像,分別使用NIQE計算每一種方法200張結果圖像的平均分數,得到的結果如表2所示。NIQE的值越小表示質量越好,字體加粗的值表示最好結果。從表2可以看出,SFPGAN的NIQE得分不論是在各個測試集上還是在總的測試集上都是最低的,進一步證明其在產生高質量圖像方面更有優勢。
2.4.4 適應現實世界的弱光圖像
域自適應是實現現實世界可泛化圖像增強的一個必不可少的因素。為了驗證SFPGAN增強實際弱光圖像的有效性,使用來自真實駕駛數據集[11]的弱光圖像進行驗證,以顯示其在實際場景中應用的優勢。從文獻[11]數據集中隨機選擇像素強度平均值小于45的860張弱光圖像和其他值的100張圖像作為訓練集,再隨機選擇50張弱光圖像作為測試集,這些圖像均具有偽影和ISO噪聲。將SFPGAN與LIME、AHE及SN等方法進行結果比較,其中SN是SFPGAN的一個域適應版本,比較結果如圖4所示。從左到右分別為原始圖像、LIME、AHE、SFPGAN及SN的結果。從圖4可以看出,LIME出現很多噪聲和偽影,而AHE不能夠充分增強圖像的亮度,SFPGAN出現較多的噪聲而且還會出現偽影。相比之下,SN的質量更高、噪聲更少、清晰度更高。由于在文獻[11]數據集中選擇的是成對的訓練集,因此SFPGAN能夠適應SN,這可以極大地促進其在現實中的推廣應用。

表2 NIQE在總數據集和子集上的得分

圖4 4種方法在文獻[11]數據集上的視覺比較結果
基于部分傳統方法和基于深度學習的圖像增強方法出現的整體和局部過度增強、顏色失真及暗區域增強不明顯等問題,本文提出一種基于GAN和SFPL的圖像增強方法SFPGAN。SFPGAN在增強暗區域的同時也能抑制亮區域的過度曝光,保留更多的顏色和特征。在各種弱光數據集上的實驗結果表明,該方法在圖像質量增強方面優于當前其他多種方法。