仇瑞陽 吳章銘 王宇辰






摘要:該文以深度學習為基礎,以增強低照度圖像為背景,對圖像處理技術展開了研究。在對已有的比較流行的增強技術的研究基礎上,對一些步驟進行改善,提出了改進的RetinexNet算法。傳統的Retinex算法在處理單張圖像時比較好用,但是運算速度比較慢,沒辦法批量快速處理圖像。在對RetinexNet改進之后,該算法能對低照度圖像進行較為快速的優化,在增強圖像質量的同時改善了圖像細節和色彩失真,控制了圖像的噪聲。
關鍵詞:低照度圖像;圖像增強;RetinexNet改進算法
中圖分類號:TP3? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)07-0076-02
近年來,圖像處理技術發展迅速。圖像處理是指對圖像進行分析、加工和處理,使其滿足視覺方面需求的一種技術,它也是信號處理在圖像領域的一種重要應用。隨著計算機技術、人工智能和思維科學研究的迅速發展,圖像處理向更高、更深的層次發展。近年來Retinex理論被廣泛應用于低照度圖像增強領域,同時,借助深度學習這一工具,用Retinex原理設計大規模數據驅動訓練模型,可以發揮出“1+1>2”效果。
1 經典理論
1.1 Retinex理論
Retinex[1]理論包括兩方面內容:物體對外呈現出的顏色主要由物體的反射性質決定,而與對物體的光照無關;光的照射不均不會影響到物體對外呈現出的顏色,即自然界中的物體顏色具有恒常性。
該理論的基本假設是任何一幅圖像都可以分解為反射圖像[R]和入射圖像[L],其中入射圖像[L]決定了圖中像素所能達到的動態范圍,而反射圖像[R]包含了圖像的內在屬性,所以Retinex算法的核心就是從圖像S中估測并去除L分量,得到原始反射分量R。
比較經典的Retinex算法有單尺度Retinex算法(SSR)和多尺度Retinex算法(MSR)。SSR[2]中將低通高斯濾波器與原來的圖像卷積的結果視為原圖像的光照分量,而參數[σ]的選擇是一個問題,通過實驗可以發現,如果[σ]的選值較大,雖然會使得它作用的動態范圍較大,但會影響圖像的細節信息,使得處理后的圖像較為模糊,如果[σ]較小,可以保留圖像的細節,但會使得顏色失真。為了彌補SSR算法的不足,MSR算法被提出,該算法能夠兼顧動態壓縮范圍和顏色保真兩個要求。
1.2 卷積神經網絡與圖像處理[3]
深度學習中的卷積神經網絡常用于計算機視覺領域,該網絡是一類包含卷積計算且具有深度結構的前饋神經網絡,對圖像和濾波矩陣做內積的操作就是所謂的卷積操作。卷積神經網絡利用了輸入圖像的局部空間結構,很好地保持了像素的空間關系,在它使用時無須人工對圖像進行預處理和特征抽取等復雜操作,并且與普通神經網絡相比,[4]它的優點在輸入是多維圖像時表現得更為明顯,它可以使圖像直接作為網絡的輸入,避免了傳統識別算法中復雜的特征提取和數據重建過程。目前在圖像處理和圖像識別等領域卷積神經網絡都有非常廣的應用。實際上,將卷積神經網絡與低照度圖像相結合的技術也不在少數,多數技術雖然能夠實現低照度的增強,但是會出現色彩失真、邊緣模糊等問題。
2 基本模型
2.1 RetinexNet網絡構架
傳統的基于Retinex理論的算法處理圖像耗時較長,無法實現批量處理低照度圖像,2018年發表在BMVC的論文中[5]提出了一種基于Retinex理論的卷積神經網絡模型——RetinexNet,解決了相關問題。
RetinexNet可分為分解模型、調整模型和重建三部分,如圖1所示。
分解模型實現的是反射分量[R]和光照分量[I]的分解。該模型由5個帶ReLU的卷積層構成,輸入低/正常光照圖像對并共享網絡參數,得到低光照圖像的反射分量[ Rlow] 和光照分量[ Ilow]以及正常光照圖像的反射分量[ Rnormal]和光照分量 [ Inormal],引入了重建損失、反射分量一致性損失和光照分量平滑損失來構建損失函數。
調整模型主要對低光照圖像的反射分量[ Rlow]進行噪聲抑制及其光照分量[? Ilow]進行校正,用EnhanceNet增強入射光圖像,網絡采用編碼-解碼的整體框架,用多尺度級聯方式保持全局光照和上下文信息的一致性,同時對局部光照分布進行重點調整。此外對反射率圖像進行去噪,采用了聯合去噪BM3D算法對[ Rlow]中被放大的噪聲進行抑制。損失函數同樣也由重建損失和光照分量平滑損失構成。
重建模型則是根據處理后的反射分量[ Rlow]和光照分量[? Ilow]逐元素相乘恢復出正常光照圖像。
2.2 RetinexNet的不足
實際上,在經過多次試驗之后,本文發現該網絡存在較為嚴重的色彩失真問題。此外,Retinex理論假設光照在整個圖像內平緩變化,而實際圖像中邊緣區域光照變化比較強烈,導致邊緣區域出現光暈現象。同時增強后的圖像會出現邊緣模糊問題,原因是算法對反射率圖像進行平滑濾噪時,損失了細節信息,不能充分提取圖像的邊緣信息。
3 模型改進
3.1 激活函數改進
分解低照度圖像與正常圖像時,本算法選擇leaky ReLU作為激活函數可以減少靜默神經元的出現,允許基于梯度的學習,較好地解決了ReLU函數進入負區間后,導致神經元不學習的問題,這樣提高了學習的準確性,Leaky ReLU函數及其導數如下:
本算法a選取0.5。
3.2 損失函數的重構
原網絡DecomNet分解網絡的損失函數由重建損失、反射分量一致性損失和光照分量平滑損失三部分組成:
其中,重建損失旨在使模型分解出來的反射分量R和光照分量I能夠盡可能重建出對應的原圖;反射分量一致性損失確保了成對的低/正常光照圖像的反射分量R應該盡可能一致;光照分量平滑損失使得光照分量在紋理細節上做到盡可能平滑,同時在整體結構上應該得到較好的保留。
但實際上這樣的損失函數對于細節和清晰度的處理較差,且很容易出現失真和噪點過多的問題,因此本算法引入了L1損失函數與MS-SSIM損失函數,并以一定的權重加以約束,得到MS-SSIM+L1混合損失函數,其中MS-SSIM容易導致亮度的改變和顏色的偏差,但它能保留高頻信息(圖像的邊緣和細節),而L1損失函數則能較好地保持亮度和顏色不變化,具體表達式如下:
經過多次實驗,a取0.75時效果較好,所以改進后的網絡損失函數由[LMix]和[L]共同組成。
3.3 學習率衰減
通過優化器和圖像梯度下降法減小損失函數的值實現對模型進行優化,利用adam優化器對損失函數優化,減小損失函數的值,在迭代過程中選擇學習率衰減方式,公式如下:
本算法k選擇2,迭代數選擇每20次迭代進行一次學習率衰減,初始學習率[α0]=0.001。
3.4 反射分量增強
RetinexNet算法對反射率圖像進行平滑去噪時,使用了BM3D算法,一定程度上模糊了圖像的邊緣。為了增強圖像的邊緣特征信息并還原圖像細節,本算法采用圖像銳化算法對反射分量進行處理。在眾多圖像銳化算法中,Laplace算法效果較好,其使用了Laplace算子尋找圖像灰度值中二階微分的過零點檢測邊緣點。因此,本算法使用Laplace算法對已經進行去噪后的圖像做進一步的銳化處理。實驗中使用的二維拉普拉絲算法表達式如下:
4 實驗結果及分析
如圖2所示,經過對比可以發現,在色彩上,改進的網絡有著更為良好的照度且色彩失真的問題能夠得到一定的改善,使得圖像更加貼近原圖像,同時在圖像細節方面,明顯可以發現改進后的網絡處理出來的圖像噪點下降,對紋理細節和清晰度的還原程度也更高。
5 結束語
RetinexNet在真實場景中捕獲的成對的低/正常光圖像來構建一個大型數據集,構建了基于Retinex模型的深度學習圖像增強模型。通過連續的弱光增強網絡對去合成網絡進行端到端的訓練,使得該框架具有良好的光狀態調節能力。
本文所提算法在實驗中實現了對于RetinexNet的改進,減少了該模型出現色彩失真的概率,同時經過增強后的圖像除圖像照度提高外,清晰度和紋理細節也得到了顯著的提升。
參考文獻:
[1] 李勇.基于Retinex理論的低照度圖像增強算法研究與實現[D].西安:西安電子科技大學,2018.
[2] 王彥林,張進.改進成像模型的單尺度Retinex彩色圖像增強算法[J].計算機工程與設計,2018,39(11):3511-3515.
[3] 王彬,高嘉平,司聳濤.基于卷積神經網絡的圖像分類及應用[J].電子與封裝,2021,21(5):76-80.
[4] 胡伏原,李林燕,尚欣茹,等.基于卷積神經網絡的目標檢測算法綜述[J].蘇州科技大學學報(自然科學版),2020,37(2):1-10,25.
[5] Wei C,Wang W J,Yang W H,et al.Deep retinex decomposition for low-ligh tenhancement[EB/OL].2018:arXiv:1808.04560[cs.CV].https://arxiv.org/abs/1808.04560
【通聯編輯:代影】
收稿日期:2021-09-06
基金項目:2020年江蘇省大學生創新訓練計劃項目(SYB2020001)
作者簡介:仇瑞陽(2000—),男,江蘇南京人,南京郵電大學本科在讀,主要研究方向為通信工程。