Learn to See in the Dark(論文閱讀筆記)


最近做項目看了一篇論文《Learn to See in the Dark》下面是一些論文筆記

概括:

  這篇論文主要介紹的是在低光照的環境下用兩個標准的FCN網絡,通過控制變量法來對比不同的去噪,增加信噪比(SNR)的方案,最終找到一個很好的解決方案。下面是詳細介紹:

圖片噪聲影響:

  由於圖片拍攝的一些參數的設置不同,圖片總是會出現一些噪聲,或者的模糊等現象。高ISO可以提亮,但也會放大噪聲。直接縮放或者拉伸直方圖來降噪,也有一定效果,但並不能彌補光子不足的缺陷,如果增加曝光時間可以補充光子不足,但是一旦出現相機抖動,或者是物體移動就會出現圖像模糊等現象。在弱光條件下可以通過開發光圈、延長曝光時間、使用閃光燈等來增加SNR,但是這些方法都存在自身的缺陷。

論文中要解決的問題:

  暗光條件下的快速成像系統一直都是計算攝影界的一大挑戰,目前,許多關於圖像去噪,去模糊和低光圖像增強等技術相繼提出,但這些技術通常假設這些在昏暗環境下捕獲到的圖像帶有中等程度的噪音。相反,論文更感興趣的是在極端低光條件下,如光照嚴重受限 (例如月光) 和短時間曝光 (理想情況下是視頻率) 等條件下的圖像成像系統。在這種情況下,傳統相機的處理方式顯然已不適用,圖像必須根據原始的傳感器數據來重建。

論文中的數據集:

  文中提到的數據集,是他們在固定位置用三腳架拍的。采用app遠程設置光圈、ISO等參數,室外光照在0.2勒克斯和5勒克斯之間,室內的更加黑暗。數據采集的原則是高曝光的只要保持視覺效果好即可,不一味追求移除全部噪聲。他們稱自己的數據集叫SID。數據集包含了室內和室外圖像。室外圖像通常是在月光或街道照明條件下拍攝。在室外場景下,相機的亮度一般在0.2 lux 和5 lux 之間。室內圖像通常更暗。在室內場景中的相機亮度一般在0.03 lux 和0.3 lux 之間。輸入圖像的曝光時間設置為1/30和1/10秒。相應的參考圖像 (真實圖像) 的曝光時間通常會延長100到300倍:即10至30秒。數據集一共有5049張照片

                                                        

在每種條件下,隨機選擇大約20%的圖像是組成測試集,另外選定10%的數據用於模型驗證。

數據集下載可以參考:項目中download_dataset.py文件

數據集Sony類型有25GB,Fuji類型有52GB

相關數據處理工作: 

  去噪:全變分、小波域變換、稀疏編碼、核范數最小化、BM3D(光滑、稀疏、低秩、自適應)。缺點:數據集一般都是合成的。一般認為BM3D在真實圖片的表現結果比大部分其他算法好(Benchmarking denoising algorithms with real photographs)。多圖效果不錯,但本文想單圖。

低光照圖像增強:直方圖均衡化、圖像灰度校正(伽馬校正)、暗通道反轉、小波變換、Retinex model、光強映射估計。這些方法都認為退化圖已經包含比較好的潛在信息,而沒有考慮噪聲和顏色扭曲的影響。

 

方法:

   提出了一種端到端的學習方法,直接使用原始傳感器的數據,方法結構圖:

  他們將兩個標准的FCN結構作為模型的核心架構,分別是多尺度聚集網絡(multi-scale context aggregation network (CAN))和U-net(U-net: Convolutional networks for biomedical image segmentation)。

FCN全卷積網絡可以參考:《Fully Convolutional Networks for Semantic Segmentation

  使用了FCN結構說明,對於這個模型可以輸入任意像素的圖片,

  FCN結構示意圖:

    

 

CAN上下文聚合網絡可以參考:https://arxiv.org/pdf/1511.07122.pdf

U-net可以參考:https://arxiv.org/abs/1505.04597

  U-Net 架構包括一個捕獲上下文信息的收縮路徑和一個支持精確本地化的對稱擴展路徑。我們證明了這樣一個網絡可以使用非常少的圖像進行端到端的訓練,並且在 ISBI 神經元結構分割挑戰賽中取得了比以前最好的方法(一個滑動窗口的卷積網絡)更加優異的性能。我們使用相同的網絡,在透射光顯微鏡圖像(相位對比度和 DIC)上進行訓練,以很大的優勢獲得了 2015 年 ISBI 細胞追蹤挑戰賽。此外,網絡推斷速度很快。一個 512x512 的圖像分割在最新的 GPU 上花費了不到一秒。

  U-Nrt架構:

      

 

其中U-net是本文默認的網絡。

 模型訓練:

  使用 L1 損失和 Adam 優化器,從零開始訓練我們的網絡。在訓練期間,網絡輸入是原始的短曝光圖像,在 sRGB 空間中的真實數據是相應的長曝光時間圖像(由一個原始圖像處理庫 libraw 處理過得參考圖像)。為每台相機訓練一個網絡,並將原始圖像和參考圖像之間曝光時間的倍數差作為的放大因子(例如,x100,x250,或x300)。在每次訓練迭代中,隨機裁剪一個512×512的補丁用於訓練並利用翻轉、旋轉等操作來隨機增強數據。初始學習率設定為0.0001,在2000次迭代后學習率降為0.00001,訓練一共進行4000次迭代。

對比分析結果

  與傳統方法的對比,提出的方法具有放大的功能。

用CAN替換U-net、用sRGB替換原始信號,SSIM或L2替換L1等等。其中不用原始信號那個掉得最快,其余的差並不太多。

總結:

  1.本文設計了數據驅動的方法,能有效提高成像表現,還貢獻了SID數據集。

  2.對於低光照圖片的處理方法提供了一種全新的思路,能有效的解決這類問題

  3.不足之處在於對於訓練的內存要求太大。數據集也比較大

 

 

原文鏈接:arxiv.org/abs/1805.01934

 

項目地址:web.engr.illinois.edu/~cchen156/SID.html

 

GitHub地址:github.com/cchen156/Learning-to-See-in-the-Dark

 

 中文翻譯:https://blog.csdn.net/linchunmian/article/details/80291921


免責聲明!

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



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