Learn to See in the Dark 論文解讀

本文爲轉載,原博客地址:https://blog.csdn.net/linchunmian/article/details/80291921

整理下最近一篇論文的學習筆記。這是由UIUC的陳晨和Intel Labs的陳啓峯、許佳、Vladlen Koltun 合作提出的一種在黑暗中也能快速、清晰的成像系統,讓機器“看破”黑暗。以下是論文的主要部分。

摘要

在暗光條件下,受到低信噪比和低亮度的影響,圖片的質量會受到很大的影響。此外,低曝光率的照片會出現很多噪聲,而長曝光時間會讓照片變得模糊、不真實。目前,很多關於去噪、去模糊、圖像增強等技術的研究已被相繼提出,但是在一些極端條件下,這些技術的作用就很有限了。爲了發展基於學習的低亮度圖像處理技術,本文提出了一種在黑暗中也能快速、清晰的成像系統,效果令人非常驚訝。此外,我們引入了一個數據集,包含有原始的低曝光率、低亮度圖片,同時還有對應的長曝光率圖像。利用該數據集,提出了一種端到端訓練模式的全卷積網絡結構,用於處理低亮度圖像。該網絡直接使用原始傳感器數據,並替代了大量的傳統圖像處理流程。最終,實驗結果表明這種網絡結構在新數據集上能夠表現出出色的性能,並在未來工作中有很大前途。

簡介

任何的圖像成像系統都存在噪聲,但這很大地影響在弱光條件下圖像的質量。高ISO 可以用於增加亮度,但它同時也會放大噪音。諸如縮放或直方圖拉伸等圖像後處理可以緩解這種噪聲影響,但這並不能從根本上解決低信噪比 (SNR) 問題。在物理學上,這可以解釋爲在弱光條件下增加SNR,包括開放光圈,延長曝光時間以及使用閃光燈等,但這些也都有其自身的缺陷。例如,曝光時間的延長可能會引起相機抖動或物體運動模糊。

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

爲此,本文提出了一種新的圖像處理技術:通過一種數據驅動的方法來解決極端低光條件下快速成像系統的挑戰。具體來說,我們訓練深度神經網絡來學習低光照條件下原始數據的圖像處理技術,包括顏色轉換,去馬賽克,降噪和圖像增強等。我們通過端對端的訓練方式來避免放大噪聲,還能表徵這種環境下傳統相機處理的累積誤差。

據我們所知,現有用於處理低光圖像的方法,在合成數據或真實的低光圖像上測試都缺乏事實根據。此外,用於處理不同真實環境下的低光圖像數據集也相當匱乏。因此,我們收集了一個在低光條件下快速曝光的原始圖像數據集。每個低光圖像都有對應的長曝光時間的高質量圖像用於參考。在新的數據集上我們的方法表現出不出色的結果:將低光圖像放大300倍,成功減少了圖像中的噪音並正確實現了顏色轉換。我們系統地分析方法中的關鍵要素並討論未來的研究方向。

下圖1展示了我們的設置。我們可以看到,在很高的ISO 8,000條件下,儘管使用全幀的索尼高光靈敏度相機,但相機仍會產生全黑的圖像。在ISO 409,600條件下,圖像仍會產生朦朧,嘈雜,顏色扭曲等現象。換而言之,即使是當前最先進的圖像去噪技術也無法消除這種噪音,也無法解決顏色偏差問題。而我們提出的全卷積網絡結構能夠有效地克服這些問題。


圖1卷積網絡下的極端低光成像。黑暗的室內環境::相機的照度 <0.1 lux。Sony α7S II傳感器曝光1/30秒。左圖:ISO 8,000相機產生的圖像。中間圖:ISO 409,600相機產生的圖像,圖像受到噪聲和顏色偏差的影響。右圖:由我們的全卷積網絡生生的圖像。

數據集 (SID)

我們收集了一個新的數據集,用於原始低光圖像的訓練和基準測試。See-in-the-Dark(SID) 數據集包含5094張原始的短曝光圖像,每張都有相應的長曝光時間的參考圖像。值得注意的是,多張短曝光的圖像可以對應於相同的長曝光時間的參考圖像。例如,我們收集了短時間曝光圖像用於評估去燥方法。序列中的每張圖像都可視爲一張獨特的低光圖像,這樣包含真實世界僞像的圖片能夠更有利於模型的訓練和培訓測試。SID 數據集中長時間曝光的參考圖像是424。

此外,我們的數據集包含了室內和室外圖像。室外圖像通常是在月光或街道照明條件下拍攝。在室外場景下,相機的亮度一般在0.2 lux 和5 lux 之間。室內圖像通常更暗。在室內場景中的相機亮度一般在0.03 lux 和0.3 lux 之間。輸入圖像的曝光時間設置爲1/30和1/10秒。相應的參考圖像 (真實圖像) 的曝光時間通常會延長100到300倍:即10至30秒。各數據集的具體情況如下表1中所示。


表1. SID 數據集包含5094個原始的短曝光率圖像,每張圖像都有一個長曝光的參考圖像。圖像由頂部和底部兩臺相機收集得到。表中的指標參數分別是(從左到右):輸入與參考圖像之間的曝光時間率,濾波器陣列,輸入圖像的曝光時間以及在每種條件下的圖像數量。

下圖2顯示了數據集中一部分的參考圖像。在每種條件下,我們隨機選擇大約20%的圖像是組成測試集,另外選定10%的數據用於模型驗證。


圖2 SID 數據庫的實例。前兩行是SID 數據集中室外的圖像,底部兩行是室內的圖像。長曝光時間的參考圖像 (地面實況) 顯示在前面。短曝光的輸入圖像(基本上是黑色) 顯示在背部。室外場景下相機的亮度一般在0.2到5 lux,而室內的相機亮度在0.03和0.3 lux 之間。

數據採集時,相機固定在三腳架上。我們用無反光鏡相機來避免由於鏡面拍打引起的振動。在每個場景中,相機設置 (如光圈,ISO,焦距和焦距) 進行了調整,以最大限度地提高參考圖像(長曝光時間)的質量。此外,利用遠程的智能手機 app 將曝光時間縮短一倍縮小後的曝光時間爲100至300。該相機專門用於參考圖像 (長曝光時間) 的拍攝,而沒有觸及短曝光的圖像。我們收集了一系列短曝光的圖像用於方法的比較和評估,以突出我們方法的優勢。

雖然,數據集中的參考圖像仍可能存在一些噪音,但感知質量足夠高。我們目的是爲了在光線不足的條件下產生在感知良好的圖像,而不是徹底刪除圖像中所有噪音或最大化圖像對比度。因此,這種參考圖像的存在不會影響我們的方法評估。

方法

從成像傳感器中得到原始數據後,傳統圖像處理過程會應用一系列模塊,例如白平衡、去馬賽克、去噪、增加圖像銳度、 γ 矯正等等。而這些圖像處理模塊只在某些特定相機中才有。一些研究提出使用局部線性、可學習的L3 過濾器來模擬現代成像系統中複雜的非線性流程,但是這些方法都無法成功解決在低光條件中快速成像的問題,也無法解決極低的SNR 問題。此外,通過智能手機相機拍攝的照片,利用bursting imaging成像方法,結合多張圖像也可以生成效果較好的圖像,但是這種方法的複雜程度較高。

因此,我們提出了的端到端的學習方法,即訓練一個全卷積網絡FCN 來直接處理快速成像系統中的低亮度圖像。純粹的FCN 結構可以有效地代表許多圖像處理算法。受此啓發,我們調查並研究這種方法在極端低光條件下成像系統的應用。相比於傳統圖像處理方法使用的sRGB 圖像,在這裏我們使用原始傳感器數據。下圖3展示了我們所提出的方法結構。


圖3 我們提出的圖像處理方法

對於 Bayer 數組,我們將輸入打包爲四個通道並在每個通道上將空間分辨率降低一半。對於X-Trans 數組(圖中未顯示出),原始數據以6×6排列塊組成;我們通過交換相鄰通道元素的方法將36個通道的數組打包成9個通道。此外,我們消除黑色像素並按照期望的倍數縮放數據(例如,x100或x300)。將處理後數據作爲 FCN 模型的輸入,輸出是一個帶12通道的圖像,其空間分辨率只有輸入的一半。

我們將兩個標準的 FCN 結構作爲我們模型的核心架構:用於快速圖像處理的多尺度上下文聚合網絡 (CAN) 和U-net 網絡。影響我們模型選擇的另一個因素是內存消耗:在 GPU 中,我們選擇的模型結構可以處理全分辨率的圖像(例如,在4240×2832或6000×4000分辨率)。同時,我們避免使用完全連接結構及模型集成方式。我們的默認架構是 U-net。

放大比率決定了模型的亮度輸出。在我們的方法中,放大比率設置在外部指定並作爲輸入提供給模型,這類似於相機中的 ISO 設置。下圖4顯示了不同放大比率的影響。用戶可以通過設置不同的放大率來調整輸出圖像的亮度。在測試時間,我們的方法能夠抑制盲點噪聲並實現顏色轉換,並在sRGB 空間網絡直接處理圖像,得到網絡的輸出。


圖4 SID 數據集中放大係數對室內圖像 (Sony x100子集) 的影響。類似於攝像機中的ISO設置,這裏的放大係數是作爲外部輸入提供給我們的模型。更高的放大倍數可以產生更明亮的圖像。我們在我們的方法中引入了不同的放大因子,並展示了模型的輸出圖像。

模型訓練

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

實驗結果分析

首先,與傳統方法的對比,我們提出的方法具有放大的功能。如下圖5,6,7所示,傳統的圖像處理方法在極端低光條件下容易受到嚴重的噪聲影響,導致生成圖像顏色失真。我們提出的方法能夠有效地抑制圖像噪聲,生成色彩均衡、逼真的圖像。此外,由於在數據集中對齊數據序列,我們的方法也更優於 post-hocdenoising、brust denoising 等圖像去燥方法

圖5 (a) 由富士膠片 X-T2 相機拍攝的夜間圖像,ISO 800,光圈f / 7.1,曝光時間1/30s,相機亮度約爲1 lux。(b) 傳統的圖像處理方法不能有效處理原始數據中的噪聲和顏色偏差。(c) 基於相同的數據,我們方法處理的結果。


圖6 將 SID 數據集訓練好的模型應用於用 iPhone 6s智能手機拍攝的原始低光圖像。(a) iPhone 6s 在夜間所拍攝的原始圖像,ISO 400,光圈f/2.2,曝光時間0. 05s。經傳統的圖像處理方法處理後的圖像及縮放到相匹配的亮度的參考圖像。(b)我們提出的方法處理後的結果


圖7 Sony x300拍攝的圖像。(a) 由傳統圖像處理方法處理的低光圖像及其線性縮放的結果。(b) 同樣用傳統方法,並通過 BM3D 去噪方法處理後的結果。 (c) 我們提出的方法處理後的結果。

此外,我們還進行了一系列的控制實驗,來分析方法中各組分對模型性能的影響,包括模型結構,輸入的顏色空間,損失函數,數據排列,圖像後處理等因素。

結語

由於圖像低光子數和低信噪比的影響,快速低光成像系統是一個艱鉅的挑戰。黑暗中快速成像系統更是被認爲是一種不切實際、與傳統的信號處理相悖的技術。在本文中,我們創建了一個黑暗中的圖像數據集 (SID) 以支持數據驅動方法的研究。利用 SID 數據集,我們提出一種基於 FCN 模型結構,通過端到端訓練,改善了傳統的處理低光圖像的方法。實驗結果表明我們的方法能夠成功抑制噪聲並正確地實現顏色轉換,表現出不錯的性能,並展現了不錯的研究前景。未來的工作我們可以進一步研究低光成像網絡的泛化能力。此外,對於模型的性能優化也是值得研究的一個熱點方向。我們還將在未來的工作中進一步改善圖像質量,如通過系統優化網絡架構和訓練程序。我們希望SID 數據集和我們的實驗結果可以支持並刺激未來該領域的研究。

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

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

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

以上是這篇論文解讀的內容。歡迎指點補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章