余雅琪,楊夢龍
(四川大學(xué) 空天科學(xué)與工程學(xué)院,四川 成都 610065)
在圖像拍攝過程中所存在的光照不足會嚴重影響圖像的對比度和亮度,并且會有一定的噪聲和偽像存在;解決低光圖像的這一系列降質(zhì)現(xiàn)象并將低光圖像轉(zhuǎn)變?yōu)楦哔|(zhì)量的普通光圖像有助于一些高層視覺任務(wù)的執(zhí)行,如:圖像識別、目標(biāo)檢測、語義分割等;同時能夠在一些實際應(yīng)用中提升智能系統(tǒng)的性能,如:自動駕駛、視覺導(dǎo)航等,因此解決低光圖像增強的問題十分有必要。
過去的幾十年里,眾多學(xué)者已經(jīng)做了大量關(guān)于低光圖像增強的研究,這些研究主要可以分為兩種類型:傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。其中傳統(tǒng)方法主要包括基于直方圖均衡化的方法和基于Retinex 理論的方法?;谥狈綀D均衡化的方法通過改變圖像的直方圖來改變圖像中各像素的灰度來增強圖像的對比度,例如亮度保持直方圖均衡化(BBHE)、對比度限制自適應(yīng)直方圖均衡化(CLAHE)等;Retinex理論假定人類觀察到的彩色圖像可以分解為照度圖(I)和反射圖(R),其中反射圖是圖像的內(nèi)在屬性,不可更改;Retinex 理論通過更改照度圖中像素的動態(tài)范圍以達到增強對比度的目的,如單尺度Retinex(SSR)利用高斯濾波器來平滑生成的照度圖;多尺度Retinex(MSRCR)在單尺度Retinex 的基礎(chǔ)上進行改進,利用了多尺度高斯濾波器并對色彩進行了恢復(fù);SRIE提出一種加權(quán)變分模型以同時估計反射圖和照度圖;LIME通過一種加權(quán)振動模型來獲得所估計的具有先驗假設(shè)的照度圖,并利用BM3D作為后續(xù)的去噪操作。雖然這些方法能夠在一定程度上增強圖像對比度,但是受到模型分解能力的限制,增強后的結(jié)果往往不盡人意。
近十年來,深度學(xué)習(xí)在計算機視覺領(lǐng)域得到了廣泛應(yīng)用,并取得了非常優(yōu)異的效果;眾多優(yōu)異的方法,如深度卷積神經(jīng)網(wǎng)絡(luò)、GAN 等,已經(jīng)被廣泛應(yīng)用于各種場景,包括圖像去霧、圖像超分辨率、圖像去噪等;同樣,這些方法也大量應(yīng)用于解決低光圖像增強問題。LLNet提出了一種堆疊稀疏自編碼器用于增強圖像對比度并進行去噪;Retinex-Net將Retinex 理論與深度卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合來估計和調(diào)整照度圖,以提升圖像對比度,并利用BM3D進行后處理以實現(xiàn)去噪;KinD同樣基于Retinex理論設(shè)計了一個用于解決低光圖像增強問題的深度卷積神經(jīng)網(wǎng)絡(luò),并設(shè)置了Restoration-Net 作為網(wǎng)絡(luò)的去噪后處理部分;Wang等人設(shè)計了一種新的深度增亮網(wǎng)絡(luò)(DLN)來將低光圖像增強問題轉(zhuǎn)化為殘差問題;Guo等人提出了一種輕量級的圖像增強網(wǎng)絡(luò)Zero-DCE,將圖像增強問題轉(zhuǎn)換為曲線估計問題;除了深度卷積神經(jīng)網(wǎng)絡(luò),還有一些基GAN 的方法,Jiang等人提出了用于低光圖像增強的網(wǎng)絡(luò)EnlightenGAN,并且第一次采用了不成對圖像進行訓(xùn)練;Chen等人也提出了一種改進雙向GANs 的非配對學(xué)習(xí)圖像增強方法??偟膩碚f,先前的低光圖像增強方法大多只關(guān)注于對比度增強方面,受到模型性能的影響沒有很恰當(dāng)?shù)靥嵘龍D像的對比度,會造成一定的過增強/欠增強現(xiàn)象,而且沒有考慮增強后的噪聲放大問題,或者是采用后處理操作來實現(xiàn)去噪,最終沒有得到令人滿意的增強效果。
本文提出一種全新的低光圖像增強網(wǎng)絡(luò),包含DecomNet、DenoiseNet 和RelightNet 三個子網(wǎng)絡(luò);DecomNet引入殘差模塊,將輸入的圖像分解為光照圖和反射圖;DenoiseNet 將DecomNet 所分解得到的照度圖和反射圖作為輸入,將圖像進行傅里葉變換,得到去噪后的反射圖;RelightNet將光照圖和去噪后的反射圖作為輸入,通過全卷積神經(jīng)網(wǎng)絡(luò)得到最終的增強結(jié)果。通過精心的網(wǎng)絡(luò)設(shè)計和損失函數(shù)配置,該方法不僅能恰當(dāng)?shù)卦鰪妶D像的對比度,同時還能實現(xiàn)噪聲抑制。
在低光圖像增強任務(wù)中的另一個難點在于缺少大規(guī)模的真實低光/普通光圖像對數(shù)據(jù)集,為了解決這個問題,收集了公開可用的低光/普通光圖像對數(shù)據(jù)集組合成一個大規(guī)模數(shù)據(jù)集用作網(wǎng)絡(luò)訓(xùn)練。
在這一部分,基于Retinex 圖像分解理論提出了一種全新的全卷積網(wǎng)絡(luò)用于解決低光圖像增強問題,很大程度解決了先前的過增強、欠增強和增強后的噪聲放大問題。本節(jié)將會介紹提出的方法的具體細節(jié),包括整體網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)絡(luò)(DecomNet、DenoiseNet、RelightNet)結(jié)構(gòu)、損失函數(shù)設(shè)置以及實驗細節(jié),構(gòu)、損失函數(shù)設(shè)置以及實驗細節(jié)。
提出了一種全新的全卷積網(wǎng)絡(luò),包含三個子網(wǎng)絡(luò),DecomNet、DenoiseNet 和RelightNet,如圖1所示,展示了提出的全卷積網(wǎng)絡(luò)架構(gòu),其中DecomNet 基于Retinex 理論將輸入圖像分解為光照圖和反射圖;DenoiseNet 用于抑制反射圖中的噪聲;RelightNet 將DecomNet 和DenoiseNet 的輸出結(jié)果作為網(wǎng)絡(luò)輸入,增強分解后所得到的光照圖的對比度和亮度,以解決低光條件下所造成的低對比度、低亮度問題,最后根據(jù)Retinex 理論,將去噪后的反射圖和增強后的光照圖相乘得到最終的處理結(jié)果。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
1.1.1 分解網(wǎng)絡(luò)
殘差組件已經(jīng)在眾多計算機視覺任務(wù)中得到廣泛應(yīng)用,且取得了非常優(yōu)異的成果;得益于其跳躍連接結(jié)構(gòu),殘差組件可以使深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中更容易優(yōu)化,并且在訓(xùn)練過程中不會產(chǎn)生梯度消失現(xiàn)象,因此受到殘差學(xué)習(xí)的啟發(fā),使用了多個殘差組件構(gòu)成DecomNet,防止網(wǎng)絡(luò)過擬合,得到更好的分解結(jié)果。
DecomNet 包含6 個步長為1 的3×3 卷積層,且每個卷積層的輸入輸出特征圖大小保持一致;利用跳躍連接結(jié)構(gòu),將第-1 個卷積層和第個卷積層的輸出結(jié)果結(jié)合起來作為第+1 個卷積層的輸入(=2,…,5),每個卷積層后都跟隨著LeakyReLU 激活函數(shù),DecomNet 的具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 DecomNet 網(wǎng)絡(luò)結(jié)構(gòu)
DecomNet 的輸入為低光圖像和普通光圖像,輸出結(jié)果分別是低光圖像和普通光圖像的照度圖(/)和反射圖(/),但是其他基于Retinex 理論的方法在分解過程中并沒有抑制反射圖中所包含的噪聲,這會使得最后的增強結(jié)果受到反射圖中存在的噪聲的影響(如圖4中LIME和Retinex-Net的增強結(jié)果)。DecomNet對普通光圖像分解后得到的照度圖和反射圖并不參與后續(xù)的訓(xùn)練,僅僅只是為低光圖像的分解提供參考。
1.1.2 去噪網(wǎng)絡(luò)
為了抑制分解后的照度圖和反射圖噪聲,DenoiseNet 將DecomNet 對低光圖像分解后得到反射圖作為輸入,基于傅里葉變換,用Complex conv 構(gòu)建了一個ResUnet 結(jié)構(gòu),在頻域內(nèi)對噪聲進行抑制。DenoiseNet 先將輸入圖像進行兩個步長為1 的3×3 卷積操作,經(jīng)過特征提取后,再將圖像進行傅里葉變換與逆變換來達到噪聲抑制的效果,最終得到去噪后的分解結(jié)果圖。
1.1.3 增強網(wǎng)絡(luò)
U-Net網(wǎng)絡(luò)得益于其出色的結(jié)構(gòu)設(shè)計,在大量的計算機視覺任務(wù)中取得了非常優(yōu)異的成績;在低光圖像處理領(lǐng)域,也有大量的網(wǎng)絡(luò)都采用了U-Net 網(wǎng)絡(luò)作為其網(wǎng)絡(luò)主體或其中的一部分。但是U-Net 在特征提取階段用了多個最大池化層,但是最大池化層并不具備平移不變性,并會導(dǎo)致大量的特征信息丟失,因此該作者采用了跨步卷積來代替池化層,雖然會略微增加網(wǎng)絡(luò)參數(shù),但也使得精度有所提升。受到這一點的啟發(fā),文章采用了跨步為2的2×2卷積層來代替U-Net網(wǎng)絡(luò)中的最大池化層,這樣有利于網(wǎng)絡(luò)學(xué)習(xí)到更豐富的特征信息并保持平移不變性,可以使得網(wǎng)絡(luò)能更好地提升反射圖的對比度;還充分結(jié)合了多尺度融合的思想,將擴展階段中每個反卷積層的輸出相融合以減少特征信息的丟失;在表3中也驗證了RelightNet 結(jié)構(gòu)設(shè)置的優(yōu)越性。
RelightNet 基于ResUnet 構(gòu)建,采用了deep-narrow 結(jié)構(gòu),提升了原始ResUnet 的網(wǎng)絡(luò)深度。RelightNet 中包含7 個卷積模塊,每個卷積模塊包含4 個步長為1 的3×3 卷積層以保持前后特征圖大小一致;前三個卷積模塊后都跟隨一個步長為2 的2×2 卷積層以執(zhí)行下采樣操作;后三個卷積模塊后都跟隨一個步長為2 的2×2 反卷積層以執(zhí)行上采樣操作;隨后利用多尺度融合的思想,將第7 個卷積模塊的輸出與前三個反卷積層的輸出相結(jié)合作為下一層卷積層的輸入,這樣能夠最大程度的結(jié)合上下文信息,減少特征信息的丟失;最后經(jīng)過一個步長為1 的3×3 卷積層來得到增強后的照度圖,RelightNet 中每個卷積模塊后都跟隨著ReLU 激活函數(shù)。RelightNet 結(jié)構(gòu)如圖3所示。
圖3 RelighNet 網(wǎng)絡(luò)結(jié)構(gòu)
由于DecomNet、DenoiseNet和RelightNet是分別訓(xùn)練的,因此整個損失函數(shù)包含三個部分:分解損失?、去噪損失?和增強損失?。
分解損失:與Retinex-Net相似,分解損失包含四個組成部分:重構(gòu)損失?、反射一致性損失?、照度平滑損失?和感知損失?,如公式(1),其中λ和為平衡反射一致性和照度平滑度的系數(shù);
由于普通光照圖像所分解出的光照圖和反射圖可以用作訓(xùn)練過程中低光圖像分解的參考,因此利用?損失函數(shù)來表示重構(gòu)損失,使模型分解出來的反射分量和光照分量能夠盡可能重建出對應(yīng)的原圖,如公式(3);
根據(jù)Retinex 圖像分解理論,反射分量與光照無關(guān),因此成對的低光圖像和正常光照圖像的反射分量應(yīng)該盡可能一致,所以引入反射一致性損失來實現(xiàn)這一目的,如公式(4);由光照的先驗知識可知,自然圖像的光照應(yīng)該是平滑的,屬于低頻信息,這一點在數(shù)學(xué)上反映為圖像中每個像素點的橫向與縱向梯度都不能過大。所以對反射分量求梯度來給光照分量的梯度圖分配權(quán)重,使得反射分量上較為平滑的區(qū)域?qū)?yīng)到光照分量上同樣也應(yīng)該盡可能平滑。因此引入照度平滑損失?來保證和對應(yīng)的分量相匹配,如公式(5);
感知損失將真實圖片卷積得到的feature 與生成圖片卷積得到的feature 做比較,使得高層信息(內(nèi)容和全局結(jié)構(gòu))接近,以便分解出的結(jié)果更加符合人眼視覺,如公式(6),其中,表示損失網(wǎng)絡(luò),C、H、W表示第層的特征圖的大小。
去噪損失:為了使去噪后的圖像更加接近原圖,在去噪過程中,采用了傅里葉變換損失?和細節(jié)表達損失?來獲取更多的圖像細節(jié),如公式(7);
其中,傅里葉變換損失采用了?損失,在保證傅里葉變換前后圖像結(jié)構(gòu)不變的同時獲得盡可能好的噪聲抑制效果;細節(jié)表達損失采用了SSIM 損失以獲得更好的細節(jié)表達能力,盡可能地使得去噪后和反射圖和DecomNet 分解出的網(wǎng)絡(luò)圖在結(jié)構(gòu)上保持一致,如公式(8),SSIM 損失的作用也在表3中得以體現(xiàn);
增強損失:為了使得增強結(jié)果更加逼近普通光圖像,在增強損失中也采用了重構(gòu)損失?、和結(jié)構(gòu)相似度損失?來獲得更好的細節(jié)表達能力,如公式(9),其中重構(gòu)損失去噪損失中保持一致,都是為了保證反射圖R 和照度圖I 能夠重建出相應(yīng)的原圖;
由于人眼對于圖像的視覺認知是從圖像的整體結(jié)構(gòu)出發(fā)的,所以引入了結(jié)構(gòu)相似度損失,使得增強后的圖像在視覺效果上更為真實自然,如公式(10)。
為了驗證所提出方法的優(yōu)越性,通過大量的實驗來評估所提出的方法,并與現(xiàn)存的方法進行比較,包括:MF、Dong、NPE、MSRCR、SRIE、Retinex-Net、Lighten-Net以及EnlightenGAN??偟膩碚f,共進行了三個部分的實驗:
(1)在一些公開的低光圖像數(shù)據(jù)集上對所提出的方法與一些現(xiàn)存的state-of-the-art 方法進行了定性與定量比較;
(2)展示了對真實的低光照圖像的增強結(jié)果,并進行了主觀視覺評價實驗;
(3)進行了一系列的消融實驗來驗證所提出的方法的優(yōu)越性。
訓(xùn)練數(shù)據(jù)集:由于在真實條件下拍攝成對的低光/普通光圖像對十分困難,現(xiàn)存的真實低光/普通光圖像對數(shù)據(jù)集包括LOL 數(shù)據(jù)集和SID 數(shù)據(jù)集,但是這兩個數(shù)據(jù)集所包含的數(shù)量不足以支持深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,因此,實驗的訓(xùn)練集采用的是用華為P40 Pro 手機拍攝的真實場景下的圖像,通過調(diào)整手機拍攝參數(shù),總共拍攝了2 450 對圖片,拍攝場景包含學(xué)校、宿舍、建筑物、餐廳、球場等多種場地。
評估度量:為了更好地定量評估所提出方法的性能,采用峰值信噪比(PSNR)、結(jié)構(gòu)相似性(SSIM)以及自然圖像質(zhì)量評估(NIQE)來進行定量評估。
網(wǎng)絡(luò)是基于PyTorch 實現(xiàn)的,使用提出的合成圖像數(shù)據(jù)集在一個Nvidia GTX1080Ti GPU 上訓(xùn)練了50 個周期;使用ADAM 優(yōu)化器進行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為?=0.000 1,在訓(xùn)練過程中所使用的batch size=4,patch size=96×96,實驗中設(shè)置的λ、和均為0.1,和為3。
為驗證所提出的方法,在六個公開數(shù)據(jù)集上進行性能評估,包括:LOL、LIME、DICM、NPE、MEF、VV2。
LOL 數(shù)據(jù)集通過改變相機的曝光時間以及ISO 捕獲了500 對真實低光/普通光圖像對,是現(xiàn)存的僅有的兩個真實低光/普通光圖像對數(shù)據(jù)集,在LOL 數(shù)據(jù)集訓(xùn)練集的500對圖像上將該方法與其他現(xiàn)存方法進行了比較,結(jié)果如表1所示。
表1 在LOL 數(shù)據(jù)集上的PSNR/SSIM 對比
從表1可以看出,該方法相較于現(xiàn)存的State-of-art 方法在LOL 數(shù)據(jù)集上的性能表現(xiàn)更加優(yōu)異,相較于監(jiān)督學(xué)習(xí)中的最優(yōu)方法Retinex-Net(PSNR 提升了0.791 8 dB,SSIM提升了0.268 6)以及無監(jiān)督學(xué)習(xí)中的最優(yōu)方法EnlightenGAN(PSNR 提升了0.791 8 dB,SSIM 提升了0.087 9)。
此外,該結(jié)果具有更好的對比度、更清晰的細節(jié)以及更好的噪聲抑制能力,視覺效果如圖4所示,前兩行為LOL數(shù)據(jù)集上的測試結(jié)果,其中(a)為輸入低光圖像,(b)至(h)為不同方法的處理結(jié)果;后兩行為VV 數(shù)據(jù)集上的測試結(jié)果;
圖4 不同方法在LOL 數(shù)據(jù)集和VV 數(shù)據(jù)集上的增強結(jié)果
從圖4中可以看出,一些傳統(tǒng)的方法(如SRIE、NPE等)會有一定程度的增強不足,其他基于Retinex 理論的方法(如LIME、Retinex-Net等)會模糊細節(jié)并放大噪聲,該方法所生成的增強結(jié)果不僅能增強局部和全局對比度、有更好的細節(jié)展示并且能很好地抑制噪聲。
LIME、DICM、NPE、MEF、VV2 是常用的低光圖像增強方法測試基準數(shù)據(jù)集,其中僅包含低光圖像,無法使用PSNR 和SSIM 來對增強結(jié)果進行定量評估;因此采用無參考圖像質(zhì)量評估NIQE 來對增強后的結(jié)果進行定量評估,對比結(jié)果如表2所示。
表2 在MEF,LIME,NPE,VV,DICM 數(shù)據(jù)集上的NIQE 對比
真實低光圖像增強:使用HUAWEI P40 Pro 手機專業(yè)拍照功能拍攝了10 張真實的低光圖像并在收集的真實低光圖像上進行評估;利用該方法和現(xiàn)存的方法對所收集的低光圖像進行增強,視覺效果如圖5所示,其中(a)為輸入低光圖像,(b)至(h)為不同方法的處理結(jié)果。
從圖5中可以看出,該方法不僅能夠更好地增強圖像的對比度,并且在噪聲抑制與細節(jié)保留上有更好的效果,增強后的結(jié)果更加真實,相比之下,其他基于Retinex 理論的方法(如LIME、Retinex-Net)會產(chǎn)生不同程度的噪聲放大與細節(jié)模糊,其他基于深度學(xué)習(xí)的方法(如Lighten-Net、EnlightenGAN)會生成過增強或欠增強的結(jié)果。
圖5 不同方法對真實低光圖像的增強結(jié)果
主觀視覺評價:邀請了20 位在參與者對所收集的真實低光圖像利用不同方法增強后的結(jié)果進行評價,并要求他們對增強后的圖像的對比度、細節(jié)保留、噪聲抑制以及色彩方面進行綜合打分,分數(shù)從1(最差)-5(最好),如圖6所示,展示了分數(shù)的分布,該方法獲得了更優(yōu)秀的分數(shù),由此證明該方法能夠獲得更令人滿意的人眼視覺效果。
圖6 主觀視覺評價分數(shù)分布結(jié)果
在這一部分,在LOL 數(shù)據(jù)集上對方法中的不同組成部分進行了定量評估,如表3所示。
表3 模型不同組成部分在LOL 數(shù)據(jù)集上的性能評估
Decom-Net 卷積層數(shù)量:當(dāng)DecomNet 的卷積層數(shù)量減少時會獲得更高的PSNR 值,但SSIM 值會有所降低(如表3第1 行);卷積層數(shù)量逐漸增加時,PSNR 值和SSIM 值都會有所下降,模型性能將會降低(如表3第2、3 行);有研究表明,SSIM 值越高的模型能夠在去噪和對比度增強上取得更好的均衡,因此選擇8 層卷積層做為DecomNet的默認設(shè)置。
損失函數(shù):將DecomNet 的損失函數(shù)換為MSE 損失后整體性能將會降低,將RelightNet 中的SSIM 損失函數(shù)去掉后,SSIM 值也會有所降低(如表3第4、5 行);這證明了在損失函數(shù)設(shè)置方面的合理性。
DenoiseNet 網(wǎng)絡(luò)合理性:將DenoiseNet 去掉后,整體性能明顯下降(如表3第7 行),證明了DenoiseNet 的必要性和合理性。
RelightNet網(wǎng)絡(luò)架構(gòu):將RelightNet換為U-Net網(wǎng)絡(luò)后,整體性能有明顯下降(如表3第6 行),證明了RelightNet的優(yōu)越性。
本文提出了一種全新的全卷積網(wǎng)絡(luò)用于解決低光圖像增強問題;所提出的網(wǎng)絡(luò)包含DecomNet、DenoiseNet 和RelightNet 三個子網(wǎng)絡(luò),DecomNet 能夠?qū)⒌凸鈭D像分解為光照圖和反射圖,DecomNet 能夠抑制反射圖中的噪聲,RelightNet 能夠恰當(dāng)?shù)靥嵘庹請D的對比度,最后的增強結(jié)果在對比度、亮度、色彩、噪聲和偽像抑制上表現(xiàn)十分優(yōu)異。在多個真實低光圖像數(shù)據(jù)集上的實驗結(jié)果也表明該方法能夠恰當(dāng)?shù)靥嵘龍D像對比度并抑制噪聲,取得了最優(yōu)的PSNR 和SSIM 值,相較于其他State-of-art 的方法有很大優(yōu)勢;同時在真實世界低光圖像上的增強結(jié)果也表明,該方法能夠生成更真實、更自然的增強結(jié)果;通過主觀視覺評價實驗也說明該方法所生成的增強圖像更符合人類的視覺感知,獲得了最高的參與者評分;在消融實驗中也充分表明網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置的合理性與優(yōu)越性。未來的研究中,將進一步從網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)等方面進行優(yōu)化,探索效果更好的低光圖像增強方法,并將該方法運用于更高層的視覺任務(wù)中,如低光環(huán)境下的目標(biāo)檢測、人臉識別等。