王延年,楊恒升,劉妍妍,楊 濤
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
圖像擁有信息量豐富、傳送方便等特點,但在實際應(yīng)用中,成像過程易被低光照情況所干擾,取得的圖像亮度與對比度普遍較低且存在噪聲,給圖像的進一步處理帶來極大困難。為了解決這一問題,學(xué)者們不斷更新各種增強算法,傳統(tǒng)算法包括直方圖均衡化[1]、伽馬變換[2]、Retinex理論[3]等方法。
直方圖均衡化算法的原理是將圖像的灰度值進行拉伸,使其分散至灰度直方圖的整個區(qū)間,通過擴散圖像的灰度值分布以實現(xiàn)圖像增強。直方圖法能起到增加圖像畫面亮度的作用,且速度較快,但灰度級別會下降導(dǎo)致細節(jié)不明顯。Retinex模型是由LANG等提出的一種仿視覺系統(tǒng)對圖像進行識別的模型。依據(jù)Retinex理論可得,眼睛所感受的物體的色彩與亮度僅僅由物體固有的特性確定,與映射到眼睛中的光線沒有必然聯(lián)系。雖然Retinex理論的相關(guān)算法可以增強圖像的亮度,但算法本身不夠靈敏,邊緣部分的增強效果不佳且噪聲較大。
近年來,隨著深度學(xué)習(xí)理論不斷取得進步,其在圖像去噪、圖像識別等方面獲得優(yōu)異的成果,故研究人員們也將深度學(xué)習(xí)應(yīng)用于圖像增強。文獻[4]提出一種多尺度融合的殘差編解碼器的低照度圖像增強方法,但由于結(jié)構(gòu)復(fù)雜難以學(xué)習(xí)訓(xùn)練。文獻[5]提出一種通過學(xué)習(xí)收縮場改進Retinex理論的增強方法,能有效去除圖像偽影,但增強后的邊緣細節(jié)不清晰。而文獻[6]和文獻[7]在Retinex基礎(chǔ)上發(fā)展了單尺度與多尺度方法,通過對RGB顏色通道進行濾波處理估計光照圖,有效改進了顏色失真的問題。但當圖像中有大片陰影區(qū)域時,會產(chǎn)生光圈效應(yīng)。文獻[8]提出一種基于深度編碼器的低照度圖像處理算法,該方法可直接應(yīng)用于自然環(huán)境中,但在對比度提升方面有所不足。文獻[9]提出一種卷積神經(jīng)網(wǎng)絡(luò)低照度圖像增強算法,該算法以Retinex模型為基礎(chǔ),使用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測光照分量,但無法有效去除噪聲。文獻[10]提出一種混合網(wǎng)絡(luò)以提升圖像能見度,但邊緣提取方面有所不足。文獻[11]通過從實際照明環(huán)境捕捉的圖像來估計RGB色彩空間的增強模型,此方法具有很好的適用性,但處理后的圖像會發(fā)生顏色失真現(xiàn)象。文獻[12]提出一種生成對抗網(wǎng)絡(luò)的方法,此方法在沒有圖像對的情況下也可以進行訓(xùn)練,但其準確度需依賴大量圖像數(shù)據(jù)為基礎(chǔ),故處理速度較慢。文獻[13]提出一種融合密集特征的增強算法,該算法通過校正色偏并在生成器部分引入密集特征融合機制對圖像進行增強,但訓(xùn)練速度較慢。文獻[14]提出一種數(shù)據(jù)驅(qū)動使網(wǎng)絡(luò)學(xué)習(xí)相機成像原理進行圖像增強的方法,將短曝光與低光圖像轉(zhuǎn)換至RGB通道,此方法有效避免了偽影現(xiàn)象,但亮度增強有所不足。文獻[15]提出一種可快速去噪的神經(jīng)網(wǎng)絡(luò),此算法只需一個網(wǎng)絡(luò)即可完成去噪處理且速度較快,但復(fù)原性能較差。
本文以Retinex-Net為框架,為解決原始圖像在分解過程中會產(chǎn)生大量噪聲的弊端,在分解網(wǎng)絡(luò)中嵌入殘差收縮構(gòu)建單元(residual shrinkage building unit,RSBU)[16]。同時,為使圖像特征提取更加完整,針對不同的問題,將增強網(wǎng)絡(luò)分為3個子網(wǎng)絡(luò)分別進行處理。
根據(jù)Retinex理論,物體表面的顏色是由物體本身內(nèi)在特質(zhì),即對各種光線的反射所決定的,而其特質(zhì)不會因環(huán)境不同發(fā)生變化[17]。因此Retinex理論的核心觀點就是忽略光線的作用,維持物體本身的性質(zhì)。該模型可被表示為
S(x,y)=I(x,y)R(x,y)
(1)
式中:I(x,y)為光照分量;R(x,y)為反射分量;S(x,y)為觀察者所觀測到的圖像。
低照度圖像增強由于暗區(qū)部分細節(jié)特征較少、存在噪聲較多,需要對其進行處理。原始的Retinex-Net存在以下問題:①由于噪聲與光照強度有關(guān),在將圖像分解時會產(chǎn)生噪聲[18];②在增強圖像時會產(chǎn)生失真或模糊現(xiàn)象[19]。故對Retinex-Net進行改進是非常有必要的。算法的整體結(jié)構(gòu)如圖1所示。

圖 1 改進Retinex-Net結(jié)構(gòu)
圖1是通過依次對分解與增強2部分網(wǎng)絡(luò)結(jié)構(gòu)進行改進得到一種改進的Retinex-Net。首先,將原始圖像與對應(yīng)的低光圖像經(jīng)過改進的分解網(wǎng)絡(luò)分解為光照分量與反射分量。其次,光照分量經(jīng)過一個包含卷積與反卷積層、密集殘差層與空洞卷積的多分支網(wǎng)絡(luò)進行增強處理。最后,將增強后的光照分量再根據(jù)Retinex理論與反射分量進行融合得到處理后的圖像。
在分解網(wǎng)絡(luò)部分,此網(wǎng)絡(luò)將輸入的低光圖像Slow與正常圖像Snormal分解為反射分量(Rlow,Rnormal)與光照分量(Ilow,Inormal)作為輸出并共享網(wǎng)絡(luò)參數(shù)。首先,用3個3×3的卷積層對輸入圖像(Slow,Snormal)進行特征提取。然后采用6層以ReLU激活函數(shù)為基礎(chǔ)的卷積層得到圖像的光照分量和反射分量。考慮到圖像分解過程中會產(chǎn)生噪聲,本文參考了文獻[16]的思想,在分解網(wǎng)絡(luò)中加入了恒等映射以及殘差收縮構(gòu)建單元作為子網(wǎng)絡(luò)去除噪聲。其本質(zhì)上是殘差網(wǎng)絡(luò)的一種改進單元,在基礎(chǔ)殘差網(wǎng)絡(luò)結(jié)構(gòu)上增加了一個小型子網(wǎng)絡(luò),將軟閾值函數(shù)嵌入殘差網(wǎng)絡(luò)中,此網(wǎng)絡(luò)可有效改進在學(xué)習(xí)過程中噪聲較大的問題。與普通殘差網(wǎng)絡(luò)、傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)對比,分類準確率更高。將閾值設(shè)置為超參數(shù),可以自動選擇閾值大小,同時每個輸入信號有自己的閾值。其中C、W、H表示特征圖的通道數(shù)、寬度和高度。子網(wǎng)絡(luò)最后是一個Sigmoid激活函數(shù)將輸出限制在0到1之間,以保證閾值為正數(shù)且不會過大。閾值計算公式為

(2)


圖 2 RSBU結(jié)構(gòu)
在特征圖經(jīng)過2個帶有圖2所示單元的卷積層后,然后用一層3×3的卷積與Sigmoid函數(shù)進行激活分別得到其光照與反射分量的映射圖,并將Ilow作為增強網(wǎng)絡(luò)的輸入,經(jīng)過一個3×3卷積的多卷積層的單分支網(wǎng)絡(luò),其每一層的輸出作為下一層子網(wǎng)絡(luò)的輸入。同時,為減少訓(xùn)練時間,分解網(wǎng)絡(luò)部分進行了參數(shù)共享。
增強網(wǎng)絡(luò)部分由3個子網(wǎng)絡(luò)構(gòu)成。由于特征圖在卷積過程中視野關(guān)注局部信息,故本文在之后引入了反卷積操作將視野擴展到整體以獲取特征圖中更大的信息[20]。其中第1個子網(wǎng)絡(luò)由卷積與反卷積的堆疊組成,并且為了保障光照特征的傳遞性,在兩側(cè)對應(yīng)層間通過跳躍連接相連。第2個子網(wǎng)絡(luò)主要為一個密集殘差層,其由殘差密集塊[21](residual dense block,RDB)組成,由于傳統(tǒng)殘差網(wǎng)絡(luò)并不能有效利用每一個卷積層中的信息,會導(dǎo)致特征信息利用率和網(wǎng)絡(luò)性能低下等問題,本文采用RDB將卷積層以密集連接的方式組合進行特征提取。同時,RDB采用的連接結(jié)構(gòu)可以使之前所有卷積層的特征結(jié)合,然后再依次向后傳遞。這種方法不僅可以多次利用特征還促進了特征的傳播,從而形成了連續(xù)記憶(contiguous memory,CM)機制。RDB的結(jié)構(gòu)如圖3所示。

圖 3 RDB結(jié)構(gòu)
從圖3可以看出,上一層特征提取的結(jié)果作為本次殘差塊的輸入,經(jīng)過若干個卷積和ReLU激活函數(shù)操作,然后通過一條跳躍直連邊將之前的特征進行結(jié)合并作為下一層的輸入。為避免網(wǎng)絡(luò)的過擬合和梯度消失問題,其中每個殘差塊由4個3×3大小的卷積塊與ReLU函數(shù)組成,然后將提取的特征信息利用Concat進行融合并與當前殘差塊的輸入相加,最后將其傳遞到下一層的輸入中,根據(jù)實驗,殘差塊的個數(shù)為6時效果最佳。為了增加感受野和降低網(wǎng)絡(luò)訓(xùn)練時間的同時保持分辨率不變,本文在增強網(wǎng)絡(luò)中嵌入空洞卷積[22],由于空洞卷積的步長較大,故空洞卷積的卷積核覆蓋區(qū)域大于普通的卷積,其中空洞卷積的輸出可表示為

(3)
式中:X為空洞卷積的輸入;S為卷積核的大小;k為卷積核的數(shù)量;r為空洞卷積核的空洞率。由式(3)可得,空洞卷積可以借助改變卷積核大小或調(diào)整空洞率的方式來增大感受野。第3個子網(wǎng)絡(luò)是一個由3×3大小,空洞率為2的空洞卷積組成的空洞卷積層,其輸出與輸入的大小一致。最后,將3個子網(wǎng)絡(luò)的輸出融合后用一個1×1的卷積合并得到增強后的光照分量Ien,與分解網(wǎng)絡(luò)的輸出Rlow結(jié)合得到增強后的圖像Sen。
在網(wǎng)絡(luò)的學(xué)習(xí)過程中,選取一個恰當?shù)膿p失函數(shù)來估計網(wǎng)絡(luò)權(quán)重參數(shù)以提高學(xué)習(xí)的準確性是十分必要的。由于物體自身的屬性不變,其本身的反射分量也應(yīng)不變,故分解網(wǎng)絡(luò)部分的損失函數(shù)采用已有的模型進行評估[23]。該部分損失函數(shù)由4部分構(gòu)成:
L=Lrec+αLrs+βLis+γLmc
(4)
式中:Lrec為反映分解準確度的損失函數(shù);Lrs為反射率相似性損失;Lis為光照平滑度損失;Lmc為相互一致性損失;α、β與γ分別表示損失函數(shù)的權(quán)重參數(shù)。根據(jù)先前理論,不同光照下圖像分解的反射率應(yīng)相同,其反應(yīng)相似度的損失函數(shù)如下:
Lrs=‖Rl-Rh‖1
(5)
式中:Rl為低光圖像的反射率;Rh為正常圖像的反射率,‖·‖1為L1范數(shù)。接下來對光照分量的低光與正常2個方向的梯度求損失,損失函數(shù)如下:
(6)
式中:?Lh為正常圖像的光照分量的光照梯度;?Ih為正常圖像的光照梯度;?Ll為低光圖像光照分量的光照梯度;?Il為低光圖像的光照梯度,低照度和正常照度的光照梯度較大或較小時表明此時的光照處于平衡的物體表面或邊緣部分,只有在梯度之間存在差異且差異不大時進行懲罰。此時引入相互一致性損失,損失函數(shù)如下:
Lmc=‖M·exp(-c·M)‖1
(7)
式中:M為?Ll與?Lh之和;c為控制函數(shù)形狀的參數(shù)。由于被分解的光照分量與反射分量需要遵循Retinex理論,即可以被還原成原來的圖像,故引入分解準確度損失函數(shù),函數(shù)公式如下:
Lrec=‖Ih-Rh·Lh‖1+‖Il-Rl·Ll‖1
(8)
本文實驗均基于TensorFlow框架訓(xùn)練模型。詳細配置如下:系統(tǒng)為Windows10;處理器Intel 酷睿i7-8700K;顯卡為NVIDIA GTX 2080 GPU,12 GiB內(nèi)存;系統(tǒng)內(nèi)存16 GiB。
本文使用的訓(xùn)練數(shù)據(jù)集采用LOL訓(xùn)練集和Brighting Train。測試集選用DICM數(shù)據(jù)集和LOL評估集。為了使實驗結(jié)果更加準確,在學(xué)習(xí)階段需要大量的訓(xùn)練數(shù)據(jù),而目前數(shù)據(jù)集的圖片數(shù)量有限,故本文將數(shù)據(jù)集的圖片進行了一系列隨機翻轉(zhuǎn),縮小,平移等處理進行了數(shù)據(jù)增強。權(quán)重參數(shù)設(shè)置為α=0.01,β=0.15,γ=0.2。其中分解模塊部分的訓(xùn)練次數(shù)為1 500次,增強模塊部分的訓(xùn)練次數(shù)為2 000次。
為進一步證明本文方法的效果,選取了幾種主流的增強算法進行比較,其中包括SRIE[24]、LIME[25]、GLADNet[26]、Retinex-Net,對比結(jié)果如圖4所示。

(a) 輸入圖像 (b) 正常圖像 (c) SRIE (d) LIME (e) GLADNet (f) Retinex-Net (g) 本文算法
從圖4可以看出,SRIE方法的圖像整體偏暗,SRIE方法是從圖像特征區(qū)域的關(guān)聯(lián)性入手,在圖像光照分量中增強圖像的亮度及信息,但在亮度突變較大的區(qū)域會出現(xiàn)偽影現(xiàn)象且亮度增強不足,在“碗櫥”圖像中,櫥內(nèi)碗的反光處與陰影交界處較為模糊。 LIME方法是在RGB通道中找出每個像素的最大值來估計光照度,然后再通過原始的光照圖預(yù)測結(jié)果作為最終的光照映射,但由于每次都需要經(jīng)過上述過程,所以速度較慢且存在過度曝光的現(xiàn)象,在圖“公仔”中,玩具表面的反射光過亮且顏色發(fā)白。GLADNet方法將輸入圖像下采樣到特定尺寸并送入到編碼器-解碼器網(wǎng)絡(luò)中生成關(guān)于亮度的全局光照估計,基于全局光照估計與原始輸入圖像,采用包含卷積層的下采樣塊進行細節(jié)還原,可有效提升圖像亮度,但由于對圖像進行了縮小操作又重新縮放至原始尺寸后導(dǎo)致增強后的細節(jié)上有所缺失且顏色失真。Retinex-Net方法將圖像分為光照與反射分量并根據(jù)Retinex理論只對反射分量進行處理,但對于分解過程中產(chǎn)生的噪聲只采用了普通的雙邊濾波,故增強后的圖像噪聲較大。而本文算法相比于其他算法,在亮度增強方面相比其他算法有較大提升,且避免了Retinex-Net的圖像細節(jié)丟失與噪聲過大等問題。
在客觀評價方面,本文選取了4個評價指標來判斷算法的性能,其中包括峰值信噪比(PSNR)、均方誤差(MSE)、結(jié)構(gòu)性檢驗標準(SSIM)和相對亮度順序(LOE)。PSNR是一種衡量圖像增強算法的常見指標,其表示圖像峰值信號與噪聲信號的比值,其數(shù)值越大表示圖像的增強效果越好。MSE表示增強后圖像像素值與初始圖像像素值之差平方和的均值,數(shù)值越小表示增強后圖像清晰度越高。SSIM為結(jié)構(gòu)相似性,獨立于亮度與對比度,表示增強圖像與輸入圖像的共通性,取值在0到1之間,值越大表示處理后圖像相似度越高。LOE表示了圖像亮度的自然性,其通過評估圖像的鄰域中亮度的順序變化過程來評價圖像的照度變化值,值越小表示圖像的亮度越自然。不同算法評價指標結(jié)果如表1所示。

表 1 不同算法評價指標結(jié)果
為進一步驗證本文算法各個模型的效果,分別對加入了各種模塊得到的增強圖像進行比較。其中方法1表示以Retinex-Net為基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu);方法2表示在Retinex-Net分解網(wǎng)絡(luò)部分加入RSBU網(wǎng)絡(luò)結(jié)構(gòu);方法3以方法2為基礎(chǔ)在增強網(wǎng)絡(luò)中僅加入卷積與反卷積堆棧層;方法4以方法2為基礎(chǔ)在增強網(wǎng)絡(luò)中僅加入空洞卷積層;方法5、6、7都表示在Retinex-Net基礎(chǔ)上加入RSBU以及卷積與反卷積堆棧層、空洞卷積層和殘差網(wǎng)絡(luò)層,且由于增強網(wǎng)絡(luò)中有殘差網(wǎng)絡(luò)的存在,而殘差網(wǎng)絡(luò)的層數(shù)與網(wǎng)絡(luò)的性能有著極大關(guān)聯(lián),并且隨著殘差網(wǎng)絡(luò)數(shù)量的增多,盡管可以改善網(wǎng)絡(luò)的特征提取能力,但同時也會使網(wǎng)絡(luò)的訓(xùn)練時間增加[27]。故考慮到硬件設(shè)施與耗時等問題,本實驗分別選取了殘差數(shù)量為6、10、12的殘差網(wǎng)絡(luò)進行對比。其中方法5的殘差塊數(shù)量為6,方法6的殘差塊數(shù)量為10,方法7的殘差塊數(shù)量為12。實驗?zāi)P褪褂肔OL數(shù)據(jù)集的測試集,主觀實驗結(jié)果如圖5所示。
從圖5可以看出,方法1增強后的圖像噪聲較大且壁畫處的顏色有失真現(xiàn)象。方法2和方法3處理后圖像噪聲明顯減少但天空部分顏色失真且在建筑物邊緣部分有些模糊。方法4圖像整體仍有噪聲。對比方法6、7,方法5的色彩與細節(jié)保持良好,方法6圖像整體已經(jīng)開始出現(xiàn)模糊現(xiàn)象,而方法7建筑上的十字架甚至已經(jīng)幾乎趨于不可見。
在客觀評價方面,本文利用PSNR評價噪聲指標,SSIM評價處理后圖像與原始圖像的結(jié)構(gòu)相似性。不同方法實驗結(jié)果如表2所示。

表 2 不同方法實驗結(jié)果
從表2可以看出,相較于Retinex-Net方法,在此基礎(chǔ)上加入RSBU后雖然SSIM指標變化不大,僅提升了0.004,但PSNR指標提升了0.92 dB,說明通過RSBU單元起到了訓(xùn)練子網(wǎng)絡(luò)的閾值過濾噪聲的作用。由于卷積操作會丟失圖像信息產(chǎn)生噪聲,故利用反卷積操作可對特征圖進行恢復(fù),所以在方法3中繼續(xù)引入卷積與反卷積層后, PSNR指標提升了0.52 dB,SSIM指標提升了0.053。由于引入了空洞卷積,故在方法4中加入了空洞卷積層后SSIM指標提升了0.061。而在繼續(xù)增加殘差網(wǎng)絡(luò)后,PSNR與SSIM指標都大幅提升,其中,當殘差塊數(shù)量為6時,PSNR與SSIM比無殘差塊數(shù)量增加了1.18 dB和0.037,比殘差塊數(shù)量為10和12平均增加了0.52 dB和0.03,故本文將數(shù)量6作為殘差塊的最終數(shù)量。綜上所述,本文引入的RSBU網(wǎng)絡(luò)以及改進的增強網(wǎng)絡(luò)可有效提升對低照度圖像的處理能力。
本文通過對Retinex-Net算法進行改進,提出了一種更為有效的方法對低照度圖像進行增強。基于Retinex理論,采用包括殘差收縮構(gòu)建單元和卷積的分解網(wǎng)絡(luò)將圖像分解為光照和反射分量2部分,有效抑制了分解過程中產(chǎn)生的噪聲。增強網(wǎng)絡(luò)部分通過一個由密集殘差塊、空洞卷積層和卷積與反卷積層構(gòu)成的多分支網(wǎng)絡(luò)對圖像進行增強,保留了更多細節(jié)特征。實驗表明,針對低照度條件下的圖像,本文算法能夠有效增強圖像亮度并能抑制無關(guān)噪聲,能夠更好地應(yīng)用于圖像處理任務(wù)中。