向 森 王應鋒 鄧慧萍 吳 謹 喻 莉
①(武漢科技大學信息科學與工程學院 武漢 430080)
②(華中科技大學電子信息與通信學院 武漢 430074)
隨著計算設備性能的提高及人工智能算法的進步,計算機視覺已經(jīng)廣泛應用于各領域,但一些惡劣環(huán)境下的視覺任務仍面臨著挑戰(zhàn)。近年來許多學者提出了去霧、去雨、去模糊,水下圖像和低照度圖像增強等相關算法[1–5],其中低照度圖像增強以恢復場景有效信息和提升視覺感知質量為目標,其技術方案可分為傳統(tǒng)方法和深度學習方法。
傳統(tǒng)方法主要有直方圖均衡化(HE)、基于Retinex理論的方法以及基于去霧模型的方法。直方圖均衡化基于圖像的統(tǒng)計規(guī)律將較暗的像素值映射到整個亮度空間,如Pizer等人[6]和Ibrahim等人[7]提出的自適應直方圖均衡及其改進版。直方圖均衡化簡單高效且具有一定的視覺增強效果,但它缺乏物理模型支撐,限制了其準確性。Retinex理論將圖像分解為光照圖和反射圖,對光照圖進行增益,再和反射圖一起重建出正常光照的圖像?;赗etinex理論,Rahman等人[8]提出了多尺度Retinex方法,Guo等人[9]提出了Retinex快速優(yōu)化算法。Li等人[10]在Retinex的基礎上引入噪聲分量,同步實現(xiàn)增亮和去噪。然而,Retinex模型側重提升圖像亮度,而忽略了色彩保持,產生顏色失真。近年來,圖像去霧的思想被引入到低光圖像增強的研究中并催生了相應的方法。Dong等人[11]將低照度圖像反相得到偽霧圖,進行去霧之后再次反相以生成正常光照圖像。陳勇等人[4]分別從偽霧圖和低光圖中獨立地估計透射率和大氣光值以提升圖像質量。此類方法利用了去霧算法的優(yōu)勢,但經(jīng)常存在過曝等問題。
近年來,基于深度學習的圖像增強方法被陸續(xù)提出并展現(xiàn)了良好的性能。Lore等人[12]首次將深度學習應用于圖像增強,提出了自編碼器低光增強網(wǎng)絡。特別是該項工作中構建了首個“偽低光數(shù)據(jù)集”,通過伽馬變換建立了正常光照和低光照的配對圖像以進行監(jiān)督學習。Wei等人[13]提出了基于Retinex理論的增強網(wǎng)絡,并構建了第1個實拍的低照度圖像增強數(shù)據(jù)集,通過調整相機成像參數(shù)獲取同一場景的低光和正常光的圖像對。Ren等人[14]將低照度圖像增強過程細化為內容流和邊緣流,分別使用CNN(Convolutional Neural Network)和RNN(Recursive Neural Network)學習內容特征和邊緣特征,該方法的訓練數(shù)據(jù)來源于專家修飾的圖像對。上述全監(jiān)督學習的方法雖然取得了很好的效果,但其數(shù)據(jù)集的生成都需要人工調整參數(shù)以模擬低照度或者正常光照環(huán)境,使得樣本分布和真實采集的圖像存在差距,制約了模型在真實環(huán)境下的普適性。
相對于全監(jiān)督學習,無監(jiān)督及零樣本學習通過圖像自身的約束來構建網(wǎng)絡和損失函數(shù),而并不依賴低照度-正常光照圖像對,因而日漸受到了更多的關注。Jiang等人[15]基于GAN(Generative Adversarial Network)提出了EnlightenGAN,該方法在非配對的低光和正常光圖像域之間建立映射以實現(xiàn)無監(jiān)督訓練。Guo等人[16]提出Zero-DCE方法,其使用CNN估計出高階的光照增強曲線來改善圖像質量,然而其依賴多曝光度的圖像來進行訓練。Zhu等人[17]基于帶噪聲分量的Retinex模型提出了3分支網(wǎng)絡來估計單張低曝光圖像的反射分量、光照分量及噪聲分量,并通過迭代優(yōu)化實現(xiàn)零樣本學習。這些無監(jiān)督或零樣本方法在泛化能力上相對于全監(jiān)督的方法有非常大的改善,但在圖像的亮度提升、偏色、偽影以及所依賴的訓練數(shù)據(jù)等方面依然有提升的空間。
綜上所述,基于深度學習的方法相對于傳統(tǒng)方法能取得更高質量的增強效果,但全監(jiān)督的學習方法面臨著難以獲得監(jiān)督樣本集以及過擬合的問題,而無監(jiān)督及零樣本方法仍然存在亮度提升不足,顏色偏差及依賴非配對數(shù)據(jù)集等問題。針對上述問題,本文提出了基于雙重迭代的零樣本低照度圖像增強方法,該方法在不依賴任何先驗訓練集的條件下比其他低照度圖像增強方法在亮度提升和顏色恢復方面取得了更好的性能。本文的主要貢獻如下:
(1) 提出了一種基于雙重迭代的零樣本低照度圖像增強方法。外層迭代進行參數(shù)估計并傳給內層,由內層迭代實現(xiàn)具體的圖像增強,其結果反饋控制外層網(wǎng)絡模型進行參數(shù)更新。該方法為零樣本學習,且訓練和推理過程融為一體,通過閉環(huán)迭代使得網(wǎng)絡收斂的同時也生成了增強圖像,因此既擺脫了對大量訓練集的依賴,也具有良好的魯棒性與普適性。
(2) 針對低照度圖像的特點,提出了多尺度增強系數(shù)估計網(wǎng)絡模塊(Multi-scale enhancement Coefficient Estimation Module, MCEM)和基于注意力的大氣光值估計網(wǎng)絡模塊(Attention-based Atmospheric Light Estimation Module, ATEM),二者所得參數(shù)控制內層迭代,從而更加精細地控制了圖像增強的質量。
(3) 設計了用于網(wǎng)絡優(yōu)化的一系列無監(jiān)督損失函數(shù),基于圖像亮度、色彩均衡、大氣光值及平滑性等先驗和約束,在零樣本的條件下完成對網(wǎng)絡的訓練,并保證了增強圖像的質量。
大氣散射模型最早用于模擬霧霾圖像的成像過程,近年來也有學者將其用于水下圖像增強[18]和低照度圖像增強任務[4,19]。低光照條件下的大氣散射模型可表示如式(1)
t(x)=e-θ(λ)(d+dt)
其中,是將光的散射吸收和距離衰減合并考慮得到的綜合透射率,J(x)是需要從采集所得的J0(x)中恢復出的正常圖像,由式(2)可推導J(x)的恢復公式為
為了估計1/t(x)同時簡化模型,本文將1/t(x)表示為J0(x)的線性映射,即1/t(x)=A(x)J0(x)+b,其中A(x)為像素級的系數(shù),b 為常數(shù)偏置??紤]歸一化圖像J0(x)的值域在[0,1]而系數(shù)A(x)的值域在[–1,1],故b取為1以保證t(x)的非負性。為了描述方便,進一步省去像素坐標,可得恢復模型公式
式(4)表明,從低照度圖像J0中恢復出正常光照圖像J,本質上是將J0乘上系數(shù)A進行增益,再和大氣光值E進行一系列線性運算,而增強的關鍵在于準確估計增強系數(shù)A和大氣光值E。
特別地,本文所提框架屬于零樣本學習。如圖1所示,本文的框架中外層迭代、內層迭代、權重更新共同構成了閉環(huán)反饋,其中內層循環(huán)通過公式直接計算,外層循環(huán)由神經(jīng)網(wǎng)絡實現(xiàn),損失函數(shù)采用無監(jiān)督形式。該框架下輸入任意單幅圖像進行迭代時,外層神經(jīng)網(wǎng)絡參數(shù)不斷更新,當網(wǎng)絡收斂時也同步得到了增強圖像。與傳統(tǒng)的深度學習不同,本文的零樣本學習具有以下兩方面的特點和優(yōu)勢。一方面,傳統(tǒng)深度學習的訓練和推理相互獨立,訓練環(huán)節(jié)生成模型參數(shù),再用于推理環(huán)節(jié),此過程依賴大量的樣本數(shù)據(jù)驅動模型;而本文的零樣本方法構成閉環(huán),訓練和推理融于一體,對單一樣本均可進行迭代以得到模型,完成圖像增強的任務。另一方面,傳統(tǒng)深度學習所得模型依賴樣本的數(shù)據(jù)分布,在不同環(huán)境和場景下難以具有普適性;而本文零樣本方法針對單張圖片進行學習,網(wǎng)絡參數(shù)自適應于樣本特性進行調整,在不同的場景下都具有良好的魯棒性。
內層迭代需要增強系數(shù)Al和大氣光值E兩個參數(shù),本文在外層迭代中設計了多尺度增強系數(shù)估計網(wǎng)絡模(MCEM)和基于注意力的大氣光值估計模塊(ATEM),分別對兩個參數(shù)進行估計。
如2.1節(jié)所述,低照度圖像增強的一個核心問題是確定以何種增益Al對原始圖像信號進行放大。然而低照度圖像中的特征較為復雜,既有大面積的紋理單調區(qū)域,又有快速變化的紋理細節(jié);還可能同時存在背光等照度極低區(qū)域和天空等高照度區(qū)域。因此,對原始圖像的增益需要同時考慮全局特性和局部特性,本文采用多尺度增強系數(shù)估計網(wǎng)絡模塊(MCEM)來解決該問題,對增強系數(shù)Al進行估計。如圖2所示,MCEM模塊以低照度圖像J0作為輸入,估計出3個不同尺度的系數(shù)Al=1,Al=2,Al=3。Al=1在全分辨率圖像上利用全卷積網(wǎng)絡,提取局部細節(jié)特征;Al=2和Al=3則在1/2和1/4分辨率上通過卷積和反卷積操作,提取全局特征。此外,3個尺度下均采用了不同尺寸的卷積核進行特性提取和特征合并。多種尺寸的卷積核及不同尺度的下采樣使得網(wǎng)絡能夠學習多尺度的特征信息。同時,前后兩個部分經(jīng)過殘差連接相連以加速網(wǎng)絡收斂。另外,MCEM模塊的下采樣部分是通過控制卷積步長而非池化來實現(xiàn)的,在不增加參數(shù)的同時減少了特征信息的丟失。MCEM模塊的詳細參數(shù)見表2。
表2 多尺度增強系數(shù)估計模塊(MCEM)網(wǎng)絡參數(shù)表
表1 雙重迭代流程
大氣光值E是本文物理模型中的另一個重要參數(shù)。現(xiàn)有文獻中經(jīng)常將大氣光值視為全局常數(shù)[4],然而實際的低照度圖像往往存在照度不均勻的現(xiàn)象。如圖3(a)既有地面等逆光低照度區(qū)域,又有天空等正常光照區(qū)域。此類場景下采用全局大氣光將導致亮區(qū)過曝而暗區(qū)增亮不足,產生如圖3(c)所示的不均衡效果。因此,本文充分考慮了區(qū)域之間的差異,提出了基于注意力的大氣光值估計模塊(ATEM)。該模塊以原始圖像和其反相亮通道共同作為輸入,引入空間注意力和通道注意力機制以調節(jié)大氣光值在不同亮度區(qū)域的權重,從而預測像素級的大氣光值E(x)。反相亮通道圖的生成和暗通道先驗[20]類似,如式(6)所示,對像素點x,取其4×4鄰域Φ(x)中最大的單通道像素值作為其反相亮通道值。
本文的零樣本學習方法無需監(jiān)督數(shù)據(jù),而是根據(jù)低照度圖像增強過程中的內在性質建立約束關系,在亮度對比度、色彩均衡、大氣光、圖像平滑性方面提出無監(jiān)督損失函數(shù)以優(yōu)化外層迭代的參數(shù)。如圖5所示,小尺寸窗口將引起偽影,而大窗口提取的亮通道接近飽和而引起過曝;采用大小隨機的窗口時,產生的效果更好?;谠撔?,Lat采用隨機的可變窗口Φ(x)提取反相亮通道以保證增強效果。
平滑損失函數(shù):圖像增強在提升亮度的同時也使得噪聲被劇烈放大,嚴重影響了視覺效果。本文對多尺度增強系數(shù)Al及內層迭代圖像Jk添加平滑約束,引入基于全變分的平滑損失函數(shù)Lsm如式(13)
為驗證方法的性能,本文進行了大量的實驗,從主觀視覺質量和客觀評價指標兩個方面分析了實驗結果,并對迭代次數(shù)和各損失函數(shù)的有效性進行了分析。實驗采用Nvidia GTX 2070 GPU, Intel Core i5-9600K CPU, Tensorflow2.0框架,優(yōu)化器為Adam,學習率為α=0.001。主要參數(shù)為w1=3,w2=1,w3=0.4,w4=0.01,β=1,γ=5,η=10–5,μ=150。內層迭代輪數(shù)K=6,外層迭代次數(shù)N=300。
主觀質量對比:本文將所提方法與5種增強方法進行了性能比較,包括LIME[9](Retinex傳統(tǒng)方法)、RetinexNet[13](Retinex結合有監(jiān)督學習,嚴格配對圖像集)、EnlightenGAN[15](無監(jiān)督學習,非嚴格配對圖像集)、Zero-DCE[16](無監(jiān)督學習,多曝光混合圖像集)、RRDNet[17](無監(jiān)督,零樣本學習)。本文從LOL-v2[23]測試集和夜間實拍圖像測試集1)夜間實拍圖像測試集網(wǎng)址: https://github.com/Feng-wy/Zero-shot-dual-iter-LLE來評估算法性能,結果如圖6和圖7所示。由圖6可知LIME和RRDNet亮度提升不足;RetinexNet亮度提升較好,但存在嚴重的偽影與顏色失真;EnlightenGAN同時存在局部區(qū)域亮度不足與偽影的問題;Zero-DCE亮度均衡,然而原本較強光照的區(qū)域出現(xiàn)了邊緣偽影。本文方法的結果在亮度、色彩、對比度方面都最符合正常光照的成像,也最接近參考圖像。從圖7可看出,在夜間實拍圖像上5種對比方法均存在不同程度的偏色、偽影、亮度提升不足等問題。而本文方法的結果對夜間圖像的亮度提升明顯,且場景中建筑、植被、天空的顏色復原正常,細節(jié)表現(xiàn)更清晰。
客觀指標評估:本文還對增強之后的圖像計算了7種客觀指標以評價增強質量,包括4種全參考質量指標:PSNR, SSIM, MAE, VGG16-PFS[24];以及3種無參考質量指標:NIQE[25], SSEQ[26], CEIQ[27]。LOL-v2數(shù)據(jù)集提供參考圖像,可計算以上全部指標;夜間實拍圖像無參考圖像,僅計算無參考指標。其結果見表3和表4,其中與圖像質量正相關的指標以↑表示,反相關的以↓表示。表3表明,LOL-v2數(shù)據(jù)集上本文方法在PSNR, SSIM, MAE及VGG-Score 4個全參考指標以及無參考指標NIQE上均取得了最優(yōu)性能。在無參考指標CEIQ和SSEQ方面比EnlightenGAN稍微差,這是由于CEIQ和SSEQ主要考察圖像的對比度、色彩熵等性質,而EnlightenGAN會在明暗變化明顯區(qū)域產生顏色偽影,從而在這兩個指標上取得了較好性能。然而結合表4和圖7可看出,EnlightenGAN在夜間實拍低光照圖像測試集上的視覺效果并不理想。因此,綜合起來看,本文的方法仍然取得了最優(yōu)性能。
表3 LOL-v2測試集上不同方法的客觀評價指標
表4 夜間實拍圖像測試集上不同方法的客觀評價指標
本文對所提算法在不同照度條件下的有效性進行了測試,并確定了算法有效的照度下限。如圖8所示,采集同一場景在不同照度下的圖像并進行增強。在極低照度0.2 lx環(huán)境下本文算法能夠恢復出場景中的物體輪廓信息,3.8 lx下算法能夠恢復出顏色信息,而在10.5 lx及以上能夠較好地恢復場景暗處細節(jié)。
本文還進行了消融實驗以驗證各損失函數(shù)的有效性,結果如圖9和表5所示。圖9中,僅采用Lbc可提升亮度,但存在嚴重偏色;引入Lcwb之后提升了色彩均衡性。進一步加入Lsm約束有助于平滑噪聲和減少偽影;最終加入Lat使圖像亮度更加均衡。表5也表明隨著引入各項損失函數(shù),結果圖的PSNR和SSIM逐步提升,證明了各項損失函數(shù)的有效性。
表5 消融實驗結果
本文采用雙層迭代實現(xiàn)低照度圖像增強,進一步分析了內層迭代次數(shù)K和外層迭代次數(shù)N對增強圖像質量SSIM的影響。如圖10所示,當N固定時,SSIM隨著K的增加而提升,這表明內層迭代中3個尺度的系數(shù)Al對提高圖像的質量均有貢獻。當K大于等于3時,SSIM隨K的增加趨于平緩并逐漸收斂,表明繼續(xù)增加內層迭代輪數(shù)帶來的性能提升有限。另外,當K固定時,SSIM隨著N的增加而快速提升,即增加外層迭代輪數(shù)可提升增強效果。當N大于50時,SSIM趨于穩(wěn)定,其曲線逐漸平緩至收斂。同時,圖10也證明了,本文提出的方法具有良好的收斂性質,其結果經(jīng)過有限次迭代之后趨于穩(wěn)定。
本文提出了一種雙重迭代的零樣本低照度圖像增強方法,該方法根據(jù)大氣散射成像模型推導了低照度圖像增強模型,并進一步提出了雙重迭代的增強算法。外層迭代通過卷積神經(jīng)網(wǎng)絡對增強模型的關鍵參數(shù)進行估計,內層迭代依據(jù)所得參數(shù)提升圖像質量,其增強結果又用于外層網(wǎng)絡的迭代更新,最終通過多輪迭代生成高質量的圖像。在該框架下,本文還設計了多尺度增強系數(shù)估計模塊和基于注意力的大氣光估計模塊以提取圖像特征用于增強參數(shù)的估計。此外,本文還提出了基于亮度對比度、大氣光、色彩均衡以及圖像平滑性先驗的無監(jiān)督損失函數(shù)。大量實驗結果和質量指標表明,本文算法能夠從低照度圖像增強得到清晰的高質量圖像,其性能優(yōu)于目前最新的同類算法,且該方法不依賴特定數(shù)據(jù)集,具有良好的魯棒性和普適性。