李博文,唐貴進,崔子冠
(南京郵電大學 江蘇省圖像處理與圖像通信重點實驗室,江蘇 南京 210003)
在夜間等弱光環境下拍攝的圖像,由于其亮度、對比度較低且含有噪聲、色彩不飽和、細節模糊等缺點,人的肉眼難以觀測,并給后續圖像處理帶來了嚴峻的挑戰[1]。因此,弱光照圖像增強變得尤為重要。
目前,國內外已經涌現了大量的弱光照圖像增強算法,廣泛使用的有兩類:基于傳統方法和基于深度學習方法。傳統方法中,基于直方圖均衡化(histogram equalization,HE)等算法[2-4]集中于增強圖像對比度,但黑暗區域的細節增強不是很明顯。Retinex理論[5-6]產生了一系列圖像增強算法,單尺度Retinex(single-scale Retinex,SSR)[7]算法、多尺度Retinex(multi-scale Retinex,MSR)[8]算法以及唐寧等人[9]提出的改進多尺度Retinex的彩色圖像增強算法等,它們增強的效果通常看起來不自然,并且在某些地方過度增強。Dong等人[10]提出了去霧方法來增強弱光照圖像,并取得了較好的增強效果。Fu等人[11]提出了一種加權變分模型SRIE(simultaneous reflectance and illumination estimation)來估計反射分量和照度分量。Guo等人[12]估計具有先驗結構的照明,并將反射率作為最終的增強結果。Ying等人[13]提出一種用于低照度圖像增強的多重曝光融合框架,根據權重矩陣融合輸入圖像和合成圖像來獲得增強的效果。盡管這些方法在某些情況下可能會產生較好的結果,但增強后的圖像往往不符合實際場景,且容易在邊緣出現偽影。
隨著深度神經網絡的迅速發展,CNN(convolutional neural networks)已廣泛用于圖像處理任務當中,其中包括圖像去噪[14]、圖像去霧[15]、圖像超分辨率[16]等方向。Lore K G等人[17]提出了一種基于深度自動編碼器的方法,該方法學習從綜合暗化和噪聲添加的訓練示例中同時進行低光增強和降噪。Wei等人[18]設計了一個稱為Retinex-Net的深度網絡,算法中分解出的照度分量有少許的模糊且不夠平滑,給后續照度分量的增強帶來了一些困難,而且再在對反射分量去噪時,也出現了不同程度的噪聲。為了克服這些缺點,該文提出了一種有效的弱光圖像增強算法,在引導圖像分解時提出了一個損失函數來約束光照分量的平滑,對于反射分量的處理不再使用傳統的去噪方法,而是使用卷積神經網絡來恢復反射分量,進而增強暗光圖像。
Retinex理論[19]作為弱光照圖像增強領域的一個基礎理論,該理論假設原始圖像分解為光照圖像和反射率圖像的乘積,可以表示為以下形式:
L(x)=I(x)R(x)
(1)
其中,x表示像素點;L(x)表示原始圖像;I(x)表示光照圖像;R(x)表示反射率圖像。關于實現圖像增強的要點,第一步從原始圖像中估計出光照圖像I(x),第二步計算出反射率圖像R(x),消除I(x)中弱光照的影響后得到增強后的圖像。
受到Wei等人[18]提出的Retinex-Net算法的啟發,文中算法基于Retinex模型建立了一個深層的神經網絡結構來實現弱光照圖像增強。網絡結構如圖1所示。該網絡結構分為三個網絡:分解網、恢復網、增強網。在分解網中,由于沒有反射分量和光照分量對應的真實值,網絡利用兩個約束條件學習圖像分解的過程。Retinex-Net算法分解出的照度分量有少許的模糊且不夠平滑,文中提出了一個約束光照分量平滑度的損失函數,能夠很好地分解出比較真實的反射分量和光照分量。在恢復網中,由于分解出的反射分量中包含有噪聲,因此在重建輸出圖像之前,要對反射分量進行去噪處理,由于Retinex-Net算法對反射分量去噪時使用的傳統的方法效果不是很好,文中采用了典型的卷積神經網絡結構。最后在增強網中,在弱/正常光照圖像對之間建立一個映射關系,學習正常光照的全局信息,從而將弱光圖像分解出的照度分量進行增強。最后將增強的照度分量和恢復的反射分量進行融合,進而重建增強后的圖像。

圖1 文中算法的網絡結構
由圖2可知,文中提出的分解網中使用多個3*3卷積層以及LRelu(leaky rectified linear unit)激活函數和池化操作提取不同層次的圖像特征,為結合U-Net[20]思想,首先進行上采樣,保證與相結合特征圖大小一致,將前幾層的特征圖引入到更深層,將其復制對應拼接,之后進行特征融合,得到細節保存更完整的特征圖,最后一個3*3的卷積層從特征空間投影出反射分量和照度分量,使用Sigmoid函數將兩者約束在[0,1]的范圍內。

圖2 分解網
分解網的損失函數Ldecom由三部分組成:重建損失Lre、反射分量損失Lr、照度分量平滑損失Li,其中λr、λi分別表示反射分量一致性和照度分量平滑度的系數:
Ldecom=Lre+λrLr+λiLi
(2)
重建損失Lre為了衡量低/正常圖像分解前后的誤差,可表示為:
Lre=‖IlRl-Ll‖1+‖IhRh-Lh‖1
(3)
其中,Il和Ih分別表示分解網分解出的弱光照和正常光照圖像的照度分量,Rl和Rh分別表示分解網分解出的弱光照和正常光照圖像的反射分量,Ll和Lh分別表示弱光照和正常光照圖像,‖.‖1表示L1范數。
反射分量損失Lr來約束反射分量的一致性,可表示為:
Lr=‖Rl-Rh‖1
(4)
照度分量平滑損失Li保證分解出的照度分量是分段平滑的,可表示為:
(5)
其中,?Il和?Ih分別表示分解網分解出的弱光照和正常光照圖像的照度分量的梯度值,?Ll和?Lh分別表示弱光照和正常光照圖像的梯度值,ε為一個很小的正數,防止分母為零。
文中提出的恢復網如圖3所示,該子網和分解網中的網絡結構一樣,層數更深,不僅能很好地調節網絡的自適應能力,而且還能很好地去除反射分量中的噪聲,在很大程度上減小色彩失真。文中采用分解網輸出的正常圖像的反射分量作為真實值,為了更好地恢復反射分量,提出的損失函數Lrestore如下所示:
(6)
其中,Rre為恢復的反射分量,‖.‖2表示L2范數,?Rre和?Rh分別表示恢復的反射分量和正常圖像的反射分量的梯度值,Lc為顏色損失函數,λc為顏色感知平衡系數。

(7)
(8)
(9)
(10)
其中,Rreb、Rhb是Rre、Rh經過高斯模糊后的圖像,G(k,l)為高斯核,A為幅值,k和l是中心點坐標,μx與μy為均值,σx與σy為方差。

圖3 恢復網
由于不存在照度分量的真實值,需要在弱光圖像和正常圖像之間建立一種機制來靈活地學習映射的過程。增強網采用編解碼器結構的總體框架如圖4所示。

圖4 增強網
首先,輸入圖像依次向下采樣到小尺度,此時網絡可以看到大規模的光照信息分布。下采樣塊由一系列3*3的卷積層和一個線性修正單元Relu組成。利用大規模光照信息,上采樣塊重建局部光照分布。在上采樣塊中,使用了最近鄰插值操作和與之同樣大小的卷積層和線性修正單元。使用跳躍連接將下采樣塊的特征圖引入到對應的鏡像上采樣塊并與之相加,從而強制網絡學習殘差。通過最近鄰插值將這些特征圖調整到同樣大小的尺度,并將它們拼接到特定多個通道的特征圖。然后,通過一個1*1的卷積層將連接的特征圖降為3通道。最后使用一個3*3個卷積層來重建照度分量。
增強網的損失函數Lenhance如下所示,其中Ien為增強后的照度分量。

(11)
文中使用LOL數據集[18]作為訓練數據集,其中包括500個低/正常光圖像對。其中485張圖片用來訓練,15張圖片用來測試,部分測試圖片如圖5所示。三個子網絡批大小設置為10,補丁大小設置為48×48,λr、λi、λc分別設置為0.02、0.15、0.004,學習率設置為1×10-4,網絡整體迭代2 000次。使用Tensorflow框架在Nvidia GTX 1080Ti GPU和Intel Core i7-8700 3.20 GHz CPU上訓練整個網絡。

圖5 測試圖片
為了評估文中方法的性能,與幾種較先進的方法進行了對比,其中包括Dong等人[10]提出的去霧算法,Fu等人[11]提出的SRIE算法,Guo等人[12]提出的LIME算法,以及Wei等人[18]提出的Retinex-Net算法,效果如圖6~圖8所示。

圖6 各算法在書柜圖像上的主觀視覺對比

圖7 各算法在碗柜圖像上的主觀視覺對比

圖8 各算法在跳水臺圖像上的主觀視覺對比
由以上三幅圖中可以看出,文中算法和對比的四種算法都能夠在不同程度上實現對弱光照圖像的增強。SRIE算法沒有充分改善低光圖像的亮度,并且細節不能清楚地看到,增強效果不明顯,圖像亮度仍較暗;LIME算法中明亮區域的圖像增強過度,增強后的圖像光照不自然,且會出現程度不等的色彩失真,如圖6中書柜顏色泛綠,而真實圖片為白色,圖7和圖8中圖片增強過度,顯得格外刺眼,與原始光照較好的圖像有一定的差距;Dong算法中的圖像亮度整體偏暗,圖像邊緣處有明顯的黑色輪廓,如圖6中碗柜的邊緣是一些陰影,但增強后出現了嚴重的輪廓線;Retinex-Net算法能夠有效地改善圖像的亮度,但會導致圖像噪聲過多,圖像整體較模糊且會出現程度不等的色彩失真,如圖6和圖7中的書柜和碗柜中出現了很多黑色的噪聲點,而且顏色泛綠,顯然不符合實際場景。與其他四種方法相比,文中算法能夠提高圖像的亮度、對比度和色彩飽和度,產生了更加生動和自然的結果,更加接近正常光照下的原始圖像。
為了更客觀地對比各算法的增強表現,使用峰值信噪比PSNR(peak signal to noise ratio)和結構相似性指數SSIM(structural similarity index)對圖像質量進行評估。表1給出了使用不同算法對測試集中15幅弱光照圖像增強后的PSNR和SSIM的值。從表中可以看出,文中算法相對其他四種算法在PSNR和SSIM上是最優的,算法的增強效果尤為突出。以上實驗結果表明,從主觀視覺和客觀評價指標這兩個角度來說,文中算法對弱光照圖像的增強能力均優于其他幾種算法。

表1 各種算法的PSNR和SSIM值
提出了一種有效的弱光圖像增強算法,在引導圖像分解時提出了一個損失函數來約束光照分量的平滑,能夠更加準確地估計弱光圖像的照射分量和反射分量。對于反射分量中噪聲的處理不再使用傳統的去噪方法,而是使用U-Net網絡來恢復反射分量,照度分量增強過程中學習了一種有效映射功能,進而增強暗光圖像。實驗結果表明,該算法在主觀視覺上亮度適中、顏色自然、細節清晰,在峰值信噪比和結構相似性等客觀指標下也得到了很大程度的提高。接下來的工作,會繼續對該算法進行改進,使得算法能夠適應在一些顏色鮮艷的場景中,更進一步地減小顏色失真。