吳建斌,牛玉貞,張宇杰
(福州大學 數學與計算機科學學院,福州 350000)
E-mail:yuzhenniu@gmail.com
隨著拍攝設備越來越普及且便攜,人們可以拍攝到視覺效果好的圖像.但是在光線不足的場景下,如夜景或昏暗的室內,要得到視覺效果良好的攝影圖像仍然是十分困難的.如圖1所示,由于場景光線不足或背光拍攝,捕獲到的圖像會呈現曝光不足,這類圖像被稱作低光照圖像.低光照圖像中的某些的區域幾乎看不到圖像細節,如圖1中的第1列圖像所示.此外,低光照圖像中的對比度普遍低.低光照圖像不僅呈現較低視覺效果,而且會影響許多基本的計算機視覺和圖像處理方法的性能,如圖像分類、圖像顯著性檢測、對象檢測和識別等.
為了解決低光照圖像的上述問題,研究者們提出了對低光照圖像增強方法進行研究,提出了很多方法,包括傳統的方法和基于機器學習的方法.目前,基于深度學習的圖像增強方法通常能獲得比其它方法更好的結果.但是基于深度學習的圖像增強方法,如圖像去雨[1]、圖像去霧[2],普遍需要使用成對的圖像對進行訓練.
然而,在低光照圖像增強問題上,獲得可用于深度學習模型訓練的成對數據集是很困難的[3].首先,捕獲同一個時刻場景下的低光照圖像和正常光照圖像是非常困難甚至是不可行的.其次,使用正常光照圖像來合成的低光照圖像和真實場景下的低光照圖像往往存在差異,這將導致使用合成數據集訓練出來的模型在應用于真實低光照圖像時產生偽影.最后,由于場景亮度的變化是復雜多樣的,對于特定的低光照圖像,難以定義與其對應的唯一的正常光照圖像.而在強監督的訓練方法中,每個訓練樣本都有其唯一的參考標簽.
受到無監督的圖像到圖像轉換方法[3-5]的啟發,本文采用生成對抗網絡(GenerativeAdversarial Network,GAN)來解決低光照圖像到正常光照圖像的增強問題,這樣可以避免使用依賴于成對的圖像來進行訓練.對于無參考低光照圖像增強任務,不僅需要恢復出低光照圖像中難以觀察到的結構信息,還需要生成正常光照場景下自然的顏色信息.為此,本文使用改進了的基于空間和通道的自注意力融合模塊和結合低光照圖像全局信息的自適應實例歸一化模塊來恢復圖像的結構和細節信息,并且提出自顏色損失用于還原低光照圖像的顏色,進一步提升了低光照圖像增強的性能.

圖1 本文方法結果圖.第1列為輸入的低光照圖像,第2列為增強結果圖像Fig.1 Results of our proposed method.The first column shows some input low light images,and the second column shows the enhancement results
實驗結果顯示,本文提出的方法能夠較好的還原低光照圖像到正常光照圖像,并且在圖像的視覺效果和無參考自然圖像指標(Natural Image Quality Evaluator,NIQE)上的表現均比已有的低光圖像增強方法有提升.圖1給出了本文提出的無參考低光照圖像增強方法的結果.
低光照圖像增強問題作為圖像處理的問題之一,已經有許多方法被提出來.有一些經典方法,比如,通過限制圖像的直方圖分布讓其趨于均勻分布來提高原始圖像對比度的直方圖均衡化法(Histogram Equalization),以及后續發展的自適應直方圖均衡方法(Adaptive Hisogram Equalization).再有基于Retinex 的方法[6],通過合理的先驗假設將輸入圖像分解為反射圖和光照圖,然后分別調整反射圖和光照圖來增強圖像.文獻[7]提出了一種簡單而有效的低光圖像增強(Low-light image enhancement via Illumination Map Estimation,LIME),其使用RGB通道中的最大值來估計每個像素的照度,然后施加結構先驗來調整光照圖來實現圖像增強.在使用對數操作對圖像進行Retinex分解時,對數域下低光區域的梯度會被放大而導致圖像增強結果不真實.對此文獻[8](aweighted variational model for Simultaneous Reflectance and Illumination Estimation,SRIE)提出了補償方法來彌補低光區域梯度放大問題,使得增強結果更加真實.文獻[9](Naturalness Preserved Enhancement algorithm for non-uniform illumination images,NPE)使用亮度濾波對圖像進行Retinex分解,再使用對數雙邊變換調整光照圖以增強圖像細節同時保留圖像的真實性.
最近越來越多的研究者提出使用基于機器學習的方法來解決低光照圖像的增強問題.例如,Bychkovsky等人[10]創建了第1個同時最大的數據集MIT-Adobe FiveK,其中包含了原始低光照圖像和專家增強后圖像的圖像對.Yan等人[11]提出了一種機器學習的排序方法,用于自動增強照片中的色彩.文獻[12]構造了語義圖以實現語義感知的圖像增強.
隨著深度學習在計算機視覺領域許多任務上取得了較大的性能提升,基于深度學習的低光照圖像增強方法也被提出.Retinex-Net[13]將Retinex理論和深度網絡相結合,通過深度卷積網絡來模擬圖像的Retinex分解,再分別對反射圖和光照圖進行去噪和增強,然后合成增強后的正常光照圖像.HDR-Net[14]將深層網絡與雙邊網格處理結合,在低分辨率下使用網絡學習雙邊網格參數,再對原始分辨率圖像進行仿射變化實現了實時的低光照圖像增強.Chen等人[15]通過直接處理相機攝影時得到的原始傳感器數據實現了高質量低光照圖像增強.但是以上方法都需要使用成對的低光照圖像和正常光照圖像進行訓練.
生成對抗網絡(Generative Adversarial Network,GAN)[16]是深度學習中的一種特殊模型,與普通的深度學習框架不同,生成對抗網絡中包含生成器網絡和判別器網絡,生成器用于產生于目標數據分布相同的真實數據,而判別器則用于區分真實數據和生成數據,一般情況下二者交替訓練且最終收斂到納什平衡.生成對抗網絡已被廣泛的用于各類計算機視覺任務[17-19],然而多數現有的方法使用成對的訓練數據,例如超分辨率方法[20],單圖像去模糊方法[21],去雨方法[22]和去霧方法[23].對于缺少成對訓練數據集的計算機視覺任務,文獻[4,5]采用雙向GAN訓練方式,其使用兩對生成器和判別器分別完成兩個相反方向的域轉換,并且使用生成對抗損失和提出的循環一致損失來同時訓練這兩對生成器和判別器.
雙向GAN的訓練方式雖然能在無成對數據集上進行學習,但是其成倍增加了訓練的時間成本和硬件成本,同時引入了額外的不穩定性.EnlightenGAN[3]提出使用單個生成對抗網絡實現無參考圖的低光照圖像增強方法,其通過提出的自特征保留損失實現增強結果域輸入低光照圖像內容上的一致性.與EnlightenGAN不同,本文提出的方法使用生成對抗損失來增強低光照圖像中難以觀察到的結構內容,并且進一步提出自顏色損失來還原低光照場景中的顏色信息,使得生成結果更加真實自然.
本文所提出的基于生成對抗網絡的無參考低光照圖像增強模型框架如圖2所示,其包含一個基于U-Net[24]的生成器網絡和一個全局判別器網絡、一個局部判別器網絡.生成器接受低光照圖像作為輸入,不依賴正常光照圖像,輸出對應的增強結果,判別器則訓練區分樣本是真實正常光照圖像或是生成器的增強結果圖像.

圖2 模型框架圖Fig.2 Model framework
本文采用基于U-Net結構的生成器.如圖3所示,生成器可以分為編碼器和解碼器兩部分,分別包含3次下采樣提取圖像特征和3次上采樣還原輸出圖像,并將各尺度的編碼器特征跳連到解碼器部分對應層輸入中,從而充分利用多尺度特征來合成高質量圖像.其中編碼器的下采樣由步長為2、卷積核大小為3×3的卷積操作完成,解碼器的上采樣則由最近鄰插值的方式進行.在編碼器部分,使用卷積、批歸一化和Leaky ReLU 激活進行圖像特征提取.在解碼器中,本文使用卷積、層歸一化和Leaky ReLU激活函數和上采樣操作來還原增強圖像.此外,如圖3所示,本文還通過卷積子網絡f(.)將輸入的低光照圖像編碼成潛在編碼,用于對生成器中最小尺度特征進行自適應實例歸一化,并且引入多尺度權重圖在解碼器部分引入自注意力融合模塊.本文將在后面對二者進行詳細的介紹.

圖3 生成器網絡結構Fig.3 Generator network styucture
a)自適應實例歸一化(Self-Adaptive Instance Normalization,SAdaIN)
由于不同低光照圖像之間的亮度存在差異且同一張低光照圖像內不同區域之間也存在復雜的亮度變化,因此對不同低光照圖像,其需要增強的程度也不同.受到Huang等人[25]的啟發,本文使用改進的自適應的實例歸一化(SAdaIN),其定義如公式(1)所示:
(1)
其中μ(x)和σ(x)分別表示輸入特征x在寬、高維度的均值和標準差,μf(.)和σf(.)是由全連接層學習出的特征變化系數,f(.)則是一個卷積子網絡,其由五個串聯的步長為2卷積核大小為4×4的卷積層、LeakyReLU激活函和一個全連接層數組成,用于將輸入的低光照圖像I轉換為一維的潛在編碼.SAdaIN模塊使用根據輸入的低光照圖像學習到的特征變換系數對歸一化后的特征進行變換,以適應不同亮度程度的低光照圖像.如圖3所示,本文在生成器模型的中間部分插入SAdaIN 模塊來調整圖像特征.
b)自注意力融合模塊(Self-Attention Merge,SAM)
在解碼器部分,受到文獻[3,26]的啟發,本文使用改進了的基于空間和通道的自注意力融合模塊(SAM).如圖4所示,通過將輸入圖像I中每個RGB像素視為三維向量并計算其歐幾里德范數(Euclidean norm)得到一張權重圖M,對權重圖M使用卷積操作,為該模塊的輸入特征fc的每個通道學習一個空間權重圖得到Mc,再將fc和Mc進行點乘得到fc′,將fc′進行全局平均池化得到一維向量,使用全連接層進行壓縮和擴張得到通道注意力向量Vc,再將通道注意向量Vc點乘回fc′作為輸出.如圖3所示,本文通過對原始輸入圖像的權重圖M進行不同尺度的縮小,在解碼器的各個尺度上引入自注意力融合模塊.

圖4 自注意力融合模塊Fig.4 Self attention merge module
判別器用于判別輸入圖像是真實的正常光照圖像或是生成器輸出的增強圖像.本文使用了全局判別器和局部判別器來充分利用輸入圖像全局信息和局部塊信息,其詳細結構如圖5所示.

圖5 判別器網絡結構Fig.5 Structure of discriminators
全局判別器含有5層步長為2,卷積核大小為4×4的串聯卷積層,串聯的卷積層逐步降低輸入圖像的分辨率,從128×128降到4×4的空間大小,再經過展平(Flatten)后使用串聯的全連接層和Leaky ReLU層合并全局圖像信息,最后使用一個全連接層預測判別結果.
相似地,局部判別器使用5層串聯的步長為2,卷積核大小為4×4的卷積層,將輸入圖像轉變成特征矩陣,并在最后使用全連接層將該特征矩陣變換為輸出的預測矩陣.通過計算卷積操作的接受域大小可知,局部判別器的預測矩陣中每個位置的值對應于的原始輸入中94×94大小的像素塊,故預測矩陣中的每個值表示對輸入圖中對應位置塊的判別結果.兩個判別器中均使用LeakyReLU作為激活函數.
本文優化Hinge版本的生成對抗損失[27]來訓練生成器和兩個判別器,如公式(2)所示:
LD=Ex~P[max(0,1-D(x))]+Ez~Q[max(0,1+D(G(z)))],
LG=-Ez~Q[D(G(z))]
(2)
其中z表示低光照圖像,x表示正常光照圖像,G為生成器網絡,D為判別器網絡.由于本文采用了雙判別器結構,所以對于全局判別器和局部判別器分別有相同形式的損失函數LDglobal、LGglobal和LDlocal、LGlocal.
由于本文提出的無參考方法無法獲得參考圖像的顏色信息,為了對增強后的圖像的顏色進行約束,本文提出自顏色損失函數.首先本文發現,如圖6所示,將低光照圖像的像素值線性縮放到[-1,1]區域后,通過對整張低光照圖像計算均值和標準差,再使用該均值和標準差歸一化RGB 3個通道的像素值能夠明顯的還原出圖像中的顏色信息.根據此發現,本文提出自顏色損失Lsc,通過約束生成圖像和歸一化低光照圖像中對應位置上RGB像素的向量夾角使生成圖像能夠復原出輸入的低光照圖像的色彩,同時限制生成圖像的顏色變化和歸一化圖像的顏色變化相似.如公式(3)所示.

圖6 使用歸一化還原低光照圖像中的顏色實例.左半部分為歸一化后的圖像,右半部分為原始的低光照圖像Fig.6 An example of using normalization to restore colors in a low-light image.The left half is the normalized image,and the right half is the original low-light image
(3)

由于低光照圖像往往存在噪聲,而噪聲圖像的總變分往往比正常的自然圖像要高,故本文使用總變分損失來抑制生成的增強圖像的噪聲,其定義為:
(4)
綜上所述,本文使用的總損失函數為:
(5)
其中λ1、λ2、λ3和λ4為各項損失平衡系數.
本文使用文獻[3]給出的不成對的數據集,其中包含914張低光照圖像和1016張正常光照圖像.訓練時,首先從完整圖像中隨機裁剪出n×n(128≤n≤320)大小的圖像塊,然后統一將圖像塊縮放到128×128大小,同時使用了隨機翻轉、旋轉操作作為數據增強,將這些圖像塊作為訓練的輸入圖像.本文使用了四個標準的數據集進行測試來衡量方法的效果,包括DICM(DIgitalCaMeras)[28],LIME(Low-light IMageEnhancement data)[7],MEF(Multi-Exposure image Fusion)[29]和NPE(Naturalness Preserved Enhancement data)[9]數據集,它們分別包含有64、11、17和8幅不同程度的低光照圖像,場景覆蓋了室內、戶外、建筑和自然景觀等,且圖像大小不一.
本文方法使用Tensorflow深度學習框架實現,使用2張NVIDIA P100 GPU進行訓練.在訓練模型時,分別將超參數λ1、λ2、λ3和λ4設置為1、1、10和0.0001,對于超參數λsc為0.5.訓練時采用Adam優化器[30]并且設置優化器的學習率為0.0001,beta1為0.5和beta2為0.999,訓練的批大小為48,epoch為300.
為了驗證本文方法的有效性,將本文方法和五種低光照圖像增強方法進行比較,包含RetinexNet[13]、LIME[7]、SRIE[8]、NPE[9]和EnlightenGAN[3].方法對比包含結果圖的視覺對比和客觀評價指標.由于測試數據集內不含有可用于參考的正常光照圖像,本文采用無參考圖像質量評價指標,自然圖像質量評估(Natural Image Quality Evaluator,NIQE)[31]作為對比的客觀評價指標.NIQE能在沒有參考圖的情況下給出定量的評估結果.
各方法的增強效果如圖7所示.由圖7可見,盡管6個低光照圖像增強方法都能增強低光照輸入圖像,但效果存在差異.如輸入圖像(a),在光照特別低的情況下,LIME方法、SRIE方法和EnlightenGAN方法只能恢復出少許的燈光,而本文方法的增強結果中能明顯看出場景的結構信息.對于輸入圖像(A),可以看出RetinexNet方法、NPE方法和EnlightenGAN方法的增強結果中存在顏色退化問題,即黑色的背景色在其增強后出現了不同程度上的色偏,而本文方法的增強結果則更加自然.同樣對于輸入圖像(H),LIME方法的增強效果十分有限,SRIE方法和EnlightenGAN方法則只能增強窗戶周圍的區域,只有RetinexNet方法、NPE方法和本文的方法能夠增強光照更低的區域,而RetinexNet方法和NPE方法的增強結果顏色卻不自然.由此對比可見,本文的方法不僅能夠增強光照極低情況的輸入圖像,而且能夠復原出合理和自然的顏色.

圖7 測試集中不同圖像的增強結果對比Fig.7 Comparison of the enhancement results of different test images
表1給出了4個測試數據集上原始輸入和各個方法增強結果的NIQE指標,該指標數值越低表示方法性能越好.如表1所示,本文的方法在DICM和LIME測試數據集上的表現優于所對比的其它低光照圖像增強方法,在MEF測試集上的表現略低于EnlightenGAN,在NPE測試集上的表現略低于NPE和SRIE.綜合4個數據集,本文方法的性能優于已有方法.

表1 在測試數據集上NIQE的實驗結果Table 1 NIEQ results on testing datasets
為了驗證本文方法中網絡結構和損失函數的有效性,在相同數據集和訓練參數的設置下,進行了消融實驗來對比驗證自適應實例歸一化(SAdaIN)、自注意力融合模塊(SAM)和自顏色損失對低光圖像增強的效果.對于自適應實例歸一化,本文通過使用實例歸一化代替來進行對比試驗.通過計算消融實驗設置下模型的NIQE指標,來定量分析各模塊和自顏色損失的有效性.
如表2所示,在不使用自顏色損失的情況下,模型在4個測試數據集中的NIQE均明顯變差,這是由于只使用生成對抗損失和總變分損失的時候,生成的圖像出現嚴重的顏色退化導致其于自然圖像差異較大.而缺少自適應實例化模塊和自注意力融合模塊的時候,模型在DICM和LIME兩個測試數據集上均出現一定程度的退化.這進一步驗證了自適應實例化模塊和自注意力融合模塊的有效性.

表2 各消融實驗的NIQE結果Table 2 NIQE results of each ablation experiment
本文進一步通過比較各個消融設置下模型的增強結果圖,來驗證提出方法的有效性.如圖8所示,在不使用自顏色損失函數的情況下,增強結果(b)、(g)雖然能夠恢復出低光照場景下的結構信息,但是其顏色出現明顯的退化,導致其于自然圖像不符;在使用實例歸一化替代自適應實例歸一化的情況下,由于其缺少整幅圖像的光照信息,模型的增強結果出現一定程度的顏色退化,表現在(h)中黑色背景部分出現輕微的色偏情況;而在不使用自注意力融合模塊的情況下,模型對結構細節的恢復效果下降,表現在(d)中柱子部分細節丟失.綜合上述消融實驗的結果,驗證了本文提出和改進的自顏色損失、自適應實例歸一化、自注意力融合模塊對于低光圖像增強問題的有效性.

圖8 消融實驗效果圖Fig.8 Effect of ablation experiment
圖9展示了一個失敗的例子,該例子為一個熟知的室內場景.本文提出的方法以及其他對比方法都無法對該場景產生視覺上令人滿意的結果.具體表現為對低光照圖像的色彩還原不夠理想,出現色偏且飽和度較低.此外,對比方法的結果中還在墻壁上呈現出不同程度的噪聲放大.這是因為低光照圖像增強方法難以把握適當的增強幅度,過度的增強容易出現噪聲放大問題,不恰當的增強幅度也導致了顏色恢復不足.因此提高方法對場景的識別能力和顏色復原能力是未來工作的目標.

圖9 失敗的低光照圖像增強例子Fig.9 Failure case of low-light image enhancement
本文提出了基于生成對抗網絡的低光照圖像增強方法,利用生成對抗網絡損失、自顏色損失和總變分損失能夠在無正常光照的參考圖像下訓練模型進行低光照圖像增強.在基于U-Net結構的生成器基礎,使用改進了的自適應實例歸一化來根據輸入的低光照圖像的全局信息調整特征圖像,并且在解碼器部分引入了改進的基于空間和通道的自注意力融合模塊,提升模型在低光照增強中對細節的保留,并且恢復低光照場景下的顏色信息.實驗結果表明,本文方法在低光照增強的視覺效果和無參考自然圖像指標NIQE上相對已有方法均有提升.