低光圖像增強Deep Retinex Decomposition for Low-Light Enhancement論文閱讀筆記


      這篇文章來自 BMVC 2018。低光圖像增強一直是一個火熱的領域,在過去的幾十年中,有很多傳統的方法用於增強低光圖像,但這些方法都在一定程度上限制了增強效果。隨着深度學習的興起,卷積神經網絡也被應用在這個領域,這篇文章是將Retinex理論與深度學習結合的文章,下面就一起來看看這篇文章的設計方法。

      項目地址:https://github.com/weichen582/RetinexNet。

摘要

      Retinex 模型是低光圖像增強的有效工具,假設觀測到的圖像可以分解為反射率和光照。大多數現有的基於 Retinex 的方法都為這種高度不適應分解精心設計了手工制定的約束和參數,當應用於各種場景時,這可能受到模型容量的限制。在本文中,作者收集了包含低/正常光圖像對的數據集(LOL),並提出了在該數據集上學習的 Deep Retinex-Net,包括用於分解的分解網絡和用於照明調整的增強網絡。在分解網絡的訓練過程中,不存在分解反射率和光照的 ground-truth。該網絡僅在關鍵的約束條件下學習,包括成對低/正常光圖像共享的一致反射率,以及照明的平滑性。在分解的基礎上,通過增強網絡 Enhance-Net 對光照進行后續的亮度增強,聯合去噪時對反射率進行去噪操作。Retinex-Net 是端到端可訓練的,因此學習到的分解本質上適合調節亮度。大量實驗表明,該方法不僅在低光增強時獲得了良好的視覺效果,而且提供了良好的圖像分解方案。

引言

      引言部分先介紹了一些傳統的低光圖像增強方法,並指出了這些方法存在的不足以及面臨的困難。為了克服這些困難,提出了一個數據驅動的 Retinex 分解方法,在此基礎上建立了一個 Retinex-Net 深度網絡,該網絡集成了圖像分解和連續的增強操作。分解子網 Decom-Net 用來將觀察到的圖像分解為獨立於光線的反射率和結構感知的光照平滑,在兩個約束條件下學習 Decom-Net(低/正常光的圖像具有相同的反射率;照明圖應該是平滑的,但保留主要結構,這是通過結構感知的總變化損失獲得的)。Enhance-Net 用來調整光照圖以保持大區域的一致性,同時通過多尺度級聯來裁剪局部分布。由於暗區噪聲往往較大,甚至在增強過程中被放大,因此引入了反射率去噪(這部分作者在文中寫到,但是代碼並沒有去噪模塊)。

主要貢獻

      在真實場景中捕獲的成對低/正常光照圖構建了一個大規模數據集,這是在低光增強領域的首次嘗試;

      構建了一種基於 Retinex 理論的深度學習圖像分解方法,分解網絡采用連續的低光增強網絡進行端到端的訓練,因此該框架具有良好的光照調節能力;

      提出了一種結構感知的總變化約束用於深度圖像分解。通過在梯度較強的地方減少總變化的影響,成功地平滑了光照圖並保留了主要結構。

數據驅動的圖像分解

      在訓練階段,Decom-Net 每次都會獲取成對的低/正常光圖像,並在低光圖像和正常光照圖像共享相同的反射率的指導下學習低光圖像及其對應的正常光圖像的分解。需要注意的是,盡管分解是用成對的數據進行訓練的,但在測試階段,只需要用低光圖像作為輸入即可。在訓練過程中,不需要提供反射率和光照的 ground-truth,僅將反射率一致性和光照平滑度等作為損失函數嵌入到網絡中。因此,網絡的分解是從成對的低/正常光圖像中自動學習的,並且自然而然地適合於描述不同光照條件下圖像之間的光照變化。

 

      網絡的體系架構如圖所示。Decom-Net 用低光和正常光圖像作為輸入,然后從中估計低光圖像和正常光圖像的反射率。首先用一個 3×3 的 Conv 從輸入圖像中提取特征,然后,使用 5 個 3×3 的 Conv + ReLU 將 RGB 圖像映射為反射率和光照,再使用一個 3×3 的 Conv 從特征空間投影反射率和光照,最后使用 Sigmoid 函數將反射率和光照約束在 [0,1] 之間。

      總的損失函數由三部分組成:重建損失(Lrecon)、反射率一致性損失(Lir)、光照平滑損失(Lis):

 

 

      其中重建損失:

 

      反射率一致性損失:

 

      結構平滑損失

      總變化最小化(TV)是使整個圖像的梯度最小化的方法,經常被用於各種圖像恢復任務的平滑先驗(進行各種圖像恢復任務之前用作平滑度)。然而,在圖像結構較強或亮度變化較大的區域,直接使用 TV 作為損失函數是行不通的。這是由於無論該區域是文本細節還是強邊界,光照圖的梯度都是均勻減小的。

      為了使損失意識到圖像結構,利用反射圖的梯度對原始TV函數進行加權:

 

      其中 ∇ 為水平和垂直方向上的梯度。

多尺度照明調整

      Enhance-Net 采用了 encoder-decoder 的體系結構。對輸入圖像進行小尺度連續下采樣,使網絡能夠了解大尺度的光照分布情況,這給網絡帶來了自適應調節能力。利用大尺度光照信息,進行上采樣重建局部光照分布。

      為了實現光照的分層調整,即在保持全局光照一致性的同時調整局部光照分布的多樣性,提出了一種多尺度連接方法。如果有 M 個上采樣塊,每個塊都提取一個 C 通道的特征圖,通過最近鄰插值在不同尺度上調整這些特征的大小到最終的尺度,並將它們連接到 C×M 通道的特征圖。然后,通過 1×1 卷積層,將級聯特征還原為 C 個通道,最后使用 3×3 卷積層重建光照圖。

      一個下采樣塊由一個步長為 2 的 Conv + ReLU 組成。在上采樣塊中,使用了 resize-convolutional(由一個最近鄰插值操作,一個步長為 1 的 Conv + ReLU 組成)。

      Enhance-Net 的損失函數由兩部分組成:重建損失、光照平滑損失。

      其中重建損失:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM