黃佳恒,葉 青,邱實卓
(長沙理工大學電氣與信息工程學院,長沙 410114)
夜間情況下,受光照條件惡劣的影響,部分道路圖像降質,夜間道路上的非機動車特征表現度很差,不能滿足機器視覺,如自動駕駛、目標檢測及視頻監控等應用需要。目前已經有一些比較成熟的夜間圖像增強算法,例如直方圖均衡化[1]、暗通道先驗增強[2]和Retinex算法[3]等。其中Retinex 算法應用較為廣泛,其原理是假設圖像由光照分量和反射分量組成,通過估計并去除圖像的光照分量保留反映圖像信息的反射分量,以達到圖像增強的目的。由于Retinex 算法的圖像增強效果出眾,單尺度Retinex 算法(SSR)、多尺度Retinex 算法(MSR)、 顏色修復Retinex 算法(MSRCP)[4]等算法被陸續提出。特別的,基于變分模型的Retinex 算法被Kimmel 等[5]提出,為夜間圖像增強開辟了另一個思路,即先計算照明圖,再平滑處理反射圖,最終得到增強結果。所以針對能夠穩定提供多幅同場景不同時間的圖像、同一場景一段時間內的多幅圖像的情況,或者可以提供其他種類的場景信息來源的情形,基于圖像融合的夜晚圖像增強算法能夠取得更優異的增強結果。基于此思想,Goodfellow 等[6]提出生成對抗網絡(GAN),在模型訓練階段將生成器與判別器進行對抗博弈,當兩者達到納什平衡后模型性能為最佳,該模型在圖像增強領域應用廣泛。隨后,Zhu 等[7]以GAN 為基礎設計出CycleGAN,能夠不使用配對圖像對模型進行無監督訓練,從而實現圖像風格轉化。Jiang[8]針對低照度圖像增強任務對CycleGAN 進行優化,提出EnlightenGAN。雖然這些算法可以提高夜間道路環境圖像的亮度,但是它們在增強過程中仍然存在一些缺陷。例如,RetinexNet 算法只考慮了光照分量的估計通道,而忽略了對反射分量的優化,這導致在提高圖像亮度的同時,會出現顏色失真和細節特征大量丟失的問題。EnlightenGAN 算法對于光照度低圖像增強效果較好,且對于原夜間道路環境下較為明顯的非機動車類小目標特征保存效果較好,但對于較大程度與極低光照環境下融合在一起的小目標特征,在轉化過程中也存在一定丟失,具有一定局限性。
針對上述包含行人的夜間道路環境下圖像增強問題,結合現有算法的優勢,提出一種基于CycleGAN 網絡的新型圖像增強算法。使用基于Grad-CAM 網絡[9]與AdaLIN 理論[10]模型改進CycleGAN 的生成器結構,以提高夜間道路行人圖像亮度,解決轉換過程中行人特征丟失的問題,使用添加AdaLIN 理論模型的判別器提高圖像整體亮度的同時改善局部區域亮度效果,保證生成日間圖片的真實性。進一步地,在改進CycleGAN 網絡之后加入具有10 層U-net[11]的Pixel2pixel[12]結構構成Merge 網絡,融合日間夜間行人圖像生成光照度更高的類夜間行人圖像,以此解決夜間道路環境下行人特征增強的問題。
CycleGAN 包含兩對生成器和判別器。生成器G 學習從風格域X和風格域Y的映射關系,生成器F學習從風格域Y到風格域X的映射關系。判別器D( )x和判別D(y)分別判斷由生成器合成的樣本是否屬于各自風格域的真實樣本。雙向生成過程數學表達式表示為
CycleGAN 生成器結構如圖1 所示,左半部分為下采樣編碼過程,解碼器利用卷積算子負責圖像的編碼。在兩個結構鏈接區域使用Residual block(RSC)模塊,增加殘差模塊繼續加深模型深度,默認是九個重復模塊,將數據進行恢復增強,完成源圖像風格與目標圖像風格的特征轉換;右半部分是上采樣解碼階段。

圖1 生成器結構
CycleGAN判別器是采用patchGAN結構的判別器,如圖2所示。該判別器的重點是輸出結構為NxN 的矩陣進行比較,這種產生了全局比較的概念,考慮了全局感受野信息的差別。

圖2 判別器結構
CycleGAN的損失函數包括身份損失(Identity Loss)、生成對抗損失(GAN Loss)、循環一致性損失(Cycle-consistency Loss)。Identity Loss 的作用可以說明生成器網絡真正地理解了風格域Y的結構,保證生成器G值生成Y域圖像的功能。Identity損失表示如下:
由于CycleGAN 有兩對生成器和判別器,所以CycleGAN 的對抗損失也分為兩部分,第一部分為G與D(y)的對抗損失,第二部分為G與D(x)的對抗損失,公式如下所示:
作為CycleGAN 核心的循環一致性思想,用數據集中其他的圖來檢驗生成器,以防止G和F過擬合。循環一致性損失分為兩個損失函數部分:前向一致性損失和后向一致性損失,具體公式如下:
其中,Pdata(x)為x域的圖像分布,Pdata(y)為y域的圖像分布。
綜上所述,完成的CycleGAN 的損失函數是由生成對抗損失、身份損失、循環一致性損失以及總和得到的,總損失函數表示如下:
CycleGAN 是一種具有圖像風格轉換功能的GAN 網絡,在轉換日間風格和夜間風格的過程中,雖然對圖像亮度這一特征有了轉換,但是原本夜間道路中的行人紋理特征會隨之丟失,造成整體圖像中的行人特征丟失,無法有效增強夜間道路環境下的行人特征質量。
2.1.1 加入Grad-CAM
針對由夜間圖像向日間圖像風格轉換過程中亮度提升幅度與行人特征丟失的問題,在生成器上采樣之前的全連接層引入熱圖注意力機制Grad-CAM,得到權重參數輸入AdaLIN 模型自適應地計算出層歸一化LN與實例歸一化IN權重參數。
常用的注意力結構如CBAM等需要有一個輔助檢測器的加持,而Gad-CAM在沒有常用注意力機制的情況下,也能對圖像特定特征位置進行判別。定義Grad-CAM中第k個特征圖對應類別c的權重為,可以通過如下公式計算得到:
其中,z為特征圖的像素個數,yc代表網絡針對類別c預測的分數,代表第k個特征圖中(i,j)位置處的像素值。然后在求得所有的特征圖對應的類別權重后進行加權求和,這樣便可以得到最后的熱力圖,求和公式如下:
式中,A代表某個特征層,在論文中一般指最后一個卷積層輸出的特征層,k代表特征層A中的第k個通道,c代表類別c,Ak代表特征層A中通道k的數據,代表針對Ak的權重。本文需要通過Grad-CAM得到各特征圖通道下的權重值,并進行后續改進。Grad-CAM的整體結構如圖3所示。

圖3 Grad-CAM結構流程圖
2.1.2 AdaIN替換IN
原生成器與判別器的卷積模塊CIL、CTIR、RSC 中歸一化層都為IN(InstanceNorm)實例歸一化。對于生成對抗網絡來說,層歸一化(LN)可以使圖像風格轉換更加徹底,但是生成的圖像會損失一定的語義信息,而InstanceNorm(IN)的效果則相反。因此,將自適應的歸一化層Ada-LIN,可以適應地平衡LN和IN的比例。
在前文引入了Grad-CAM 的基礎上,將生成器與判別器的卷積模塊CIL、CTIR、RSC 中的IN(InstanceNorm)替換為AdaIN,為了進一步平衡LN和IN層權重來保證夜間道路下行人特征的增強和圖像亮度的提升,本文在生成器中引入了一種新的自適應歸一化函數AdaIN,AdaIN 計算公式如下:
其中,ρ是一個學習權重,通過反向傳播更新;γ、β是從由Grad-CAM得到的權重特征圖中學習得到。到此一個完整的生成器改進模型完成,結構如圖4所示。

圖4 改進生成器結構
在原判別器下采樣最后一層卷積之后通過一個全連接層學習注意力圖(熱力圖)不同channel的權重,然后得到熱圖注意力機制下的特征圖輸入分類器,以提高判別器對特定特征(夜間行人)的識別能力,提高圖像整體亮度的同時更加關注包含行人區域的亮度。判別器結構改進如圖5所示。
在介紹改進函數之前需要了解BCE Loss 的相關原理,BCE Loss 全名binary cross entropy loss,其也是交叉熵的一個應用,但針對的是二分類,所以有其特殊形式。對于二分類問題,我們模型需要輸出[0.3,0.7],但完全可以讓模型只輸出一個數,例如m為0.3,由于歸一化的原因,另外一個類別的概率一定是0.7。從而,其特殊形式如下:
新增基于前文引入Grad-CAM 的損失函數,定義為CAM Loss,CAM Loss 采用BCE Loss,因為BCE Loss 是非線性的,相對于L1 或者MSE 的限制更強(避免落在0.5 的均值上),采用這種方法是因為生成器是目標網絡,并且其任務相對于鑒別器是更困難的。兩個輔助分類器的分類CAM Loss分別定義為以下公式:
其中,E表示分布函數的數學期望,對于生成器來說,希望它生產的圖像更像真實圖片;對于判別器來說,希望它對于生成圖片的判別是否為真的準確率更高。η表示特征標簽類別,兩類CAM Loss 的提出可以用來判定對指定特征抓取賦值的準確度。
由此引入的新損失函數加入原有CycleGAN總損失函數,形成新的總損失函數,其表示如下:
式(13)中總損失函數中既有原有CycleGAN 結構中的生成損失和判別損失,又有引入Grad-CAM熱圖注意力機制下的權重注意力損失CAM Loss。
針對原始夜間圖像整體光照度較低的問題,在改進Cyclegan 模型生成對應夜間日間行人圖片之后,加入具有10 層U-net 的Pixel2pixel 結構構成Merge網絡,它接受夜間道路行人圖像和相對應生產的日間道路行人圖像,根據設置的梯度選擇不同的采樣塊,然后通過Pixel2Pixel生成器執行多尺度融合,生成光照度更高的類夜間行人圖像。其過程如圖6所示。

圖6 Merge網絡流程
使用RetinexNet、MSRCP、CycleGAN+Merge與改進CycleGAN+Merge 算法對測試集圖像進行圖像增強實驗,見圖7。圖中第1、2、3、4、5列分別為原始夜間行人圖像、RetinexNet 增強圖像、MSRCP 增強圖像、CycleGAN+Merge 增強圖像與改進CycleGAN+Merge 增強圖像。由圖7 可知,不同算法對原始夜間圖像亮度均有一定提升,但RetinexNet算法對低照度圖像的亮度提升效果有限,且顏色失真現象較嚴重,無法顯示圖像的真實顏色,增強圖像出現過度模糊,增強效果不佳,如第2 列結果所示。MSRCP 算法相對于RetinexNet算法在低照度行人圖像上增強效果更好,對低照度圖像的亮度提升明顯,如第1、2 行所示,但對于極低照度的圖像增強,細節信息丟失嚴重,也出現嚴重模糊,結果如第3、4 行所示。CycleGAN+Merge 對低照度圖像的整體亮度提升效果有限,如第4列所示,但該算法在對與極低照度圖像的增強過程中,避免了顏色失真嚴重和圖像過度模糊的問題,非機動車類特征在一定程度上也保留了下來,如黃色方框所示。本文所提出的改進CycleGAN+Merge 算法增強結果如第5 列所示,相比前兩種增強算法,各方面均有不同程度的提升,相對CycleGAN+Merge 算法在極低照度圖像增強中,亮度提升效果更好,且包含非機動車特征的區域凸顯度更高,如第3、4行紅色方框所示。

圖7 各類算法視覺對比結果
4.2.1 直方圖亮度提升評價
各個算法對亮度的提升能力,可以用灰度直方圖來評估,結果如圖8所示。

圖8 各算法對比直方圖
從各個算法增強圖像的灰度直方圖可以看出,均對原夜間圖像亮度有一定提升,RetinexNet 與MSRCP 增強算法提升了高亮度值像素點的數量,說明這兩種算法對圖像的亮度提升能力顯著,但對比實際視覺評價結果,如圖8所示,在提升亮度的過程中出現嚴重模糊的情況,視覺效果較差,難以凸顯非機動車特征。Cycle-GAN+Merge 灰度直方圖相比原夜間灰度直方圖也有較大提升,但對于低亮度值的像素點的亮度提升跨度不如前兩種算法,導致在極黑暗環境中的非機動車特征視覺效果不佳。改進Cycle-GAN+Merge 灰度直方圖相對未改進的直方圖,將更多的低亮度值像素點進行了亮度提升,在CycleGAN+Merge 的基礎上進行了進一步的亮度提升,由此提高了非機動車特征的凸顯度。
4.2.2 增強圖像特征評價
采用KID 函數、PSNR 函數這兩個常用的GAN 網絡評估指標來進行量化評估,另外為了進一步區分四種增強算法圖像增強效果,還加入IFC 函數(信息保真度準則)和評價函數SSIM(結構相似性)。KID 函數的評價原理是通過計算生成圖像與真實圖像在特征空間中的距離來評估生成圖像的質量,分數越低表示生成圖像與真實圖像越相似。PSNR 評價函數計算生成圖像與目標圖像之間的峰值信噪比,即兩幅圖像之間的均方誤差(MSE)與最大可能像素值的平方根(255或1)之間的比率。PSNR評價函數的作用是定量地度量生成圖像和目標圖像之間的失真程度,分數越高表示生成圖像質量越好。IFC評價函數用于評估圖像增強算法的信息保真度。IFC能夠反映處理后圖像與原始圖像之間的信息相似度,IFC 值越大,表明增強后圖像的信息保真度越好。SSIM 評價函數[13]評估圖像的質量是基于三個因素:亮度、對比度和結構。在Cycle-GAN 網絡中,SSIM 評價函數可以幫助判定生成的圖像是否與真實圖像具有相似的結構和紋理特征,其分數越高表示生成圖像的結構和紋理特征保留度更高。SSIM其公式為
其中,x代表夜間風格圖像,也就是包含非機動車的夜間道路環境圖像,y代表由夜間圖像生成的類夜間風格圖像,ux是x的平均值,uy是y的平均值,σxy是x和y的協方差,c1和c2是兩個用于維持穩定的常數,避免出現分母為零的情況。,分別為x,y的方差。由式(14)可知,SSIM 越接近1,表明生成的類夜間風格圖像越相近。
用四種增強算法在測試集上進行測試,表1展示了KID、PSNR、IFC、SSIM 在本文四種增強算法下的平均指標值。
由表1 可知,改進CycleGAN+Merge 在四項指標上,都有對應的提升,其中PSNR 與SSIM有相對較大提升。在PSNR 指標上,相對RetinexNet算法提高了16.07%,相對于MSRCP算法提升了12.30%,相對于未改進CycleGAN+Merge模型提升了4.15%。證明本文提出改進Cycle-GAN+Merge 模型在夜間道路環境圖像增強的過程中能更好地抑制圖像失真與圖像模糊。在SSIM 指標上,相對于RetinexNet 算法提高了16.56%,相對于MSRCP 算法提升了10.62%,相對于未改進CycleGAN+Merge 模型提升了7.22%,在此指標上的提升可以說明本文提出的模型能在通過生成類夜間道路風格圖像增強的同時,更好地保留并突出非機動車類小目標特征。通過上述實驗,本文的算法相對于對比算法表現出更優的性能,可以有效地提高整個圖像的亮度,恰當地增強局部區域的亮度,避免圖像失真與模糊,并增強生成過程并保留細節信息,使增強后的夜間道路下非機動車類特征更加明顯。
夜間道路圖像增強算法進行圖像增強時,尤其是極低照度真實夜間道路圖像的增強時,存在亮度提升有限、容易出現圖像失真以及圖像模糊、夜間道路下非機動車類小目標特征在增強過程中丟失的問題,鑒于此,本文提出了一種基于改進CycleGAN+Merge 模型。結合一種熱圖自注意力Grad-CAM 網絡和一種自適應歸一化層AdaLIN 改進CycleGAN 的生成器,使用自適應歸一化層AdaLIN 改進CycleGAN 判別器,并在改進CycleGAN 網絡之后加入Merge 網絡,有效解決了現有包含非機動車類小目標特征夜間道路環境圖像增強中的問題。通過消融實驗驗證了本文算法的優越性,能有效提升夜間非機動車類小目標特征的檢測率。