無需額外硬體,全卷積網路讓機器學習學會夜視能力
選自arXiv
作者:Chen Chen等
機器之心編譯
參與:Pedro、思源
極低照明度下,傳統增加亮度的方法會放大噪點和色彩失真。而最近 UIUC 和英特爾的研究者通過全卷積網路處理這一類黑黑的照明度圖像,並在抑噪和保真的條件下將它們恢復到正常亮度。這種端到端的方法將為機器賦予強大的夜視能力,且還不需要額外的硬體。
雜訊或噪點在成像系統中普遍存在,它會使弱光環境下的成像十分困難。提高 ISO 值可以增加亮度,但同時也會放大噪點。我們雖然可以用縮放或直方圖拉伸等後期處理方式來降低前述影響,但這並不能解決光子數低導致的低信噪比(SNR)問題。有一些物理手段可以提高弱光環境的信噪比,比如增大光圈、延長曝光時間和使用閃光燈等,但是每一種方法都有其缺點。例如,增加曝光時間在不採用三腳架的條件下會導致(成像)模糊。
弱光環境快速成像在計算攝影界是眾所周知的難,但相關研究仍在進行。研究人員已經提出了圖像去噪、去模糊和增強低照度圖像的技術 [34,16,42]。這些技術通常假定圖像是在略微昏暗的環境中捕捉,並且雜訊不大。相比之下,我們對光照嚴重受限(如月光)和短時間曝光(甚至是視頻速率)等極低照度環境成像更感興趣。在這些場景中,傳統的相機處理流程完全沒用,圖像必須通過原始感測器數據進行重建。
圖 1 說明了我們的環境配置。環境非常暗:相機處照度低於 0.1 勒克斯。曝光時間設定為 1/30 秒。光圈為 f / 5.6。在 ISO 為 8000(一般情況下被認為是一個較高的值)時,儘管使用具有高感光度的全畫幅索尼感測器,相機仍會產生基本上為黑色的圖像。ISO 為 409600 時(大部分相機達不到這個水平),場景內容可辨,但圖像暗淡、雜訊多且色彩失真。即使是最先進的去噪技術 [32] 也不能消除這種雜訊或解決色偏問題。一種解決辦法是使用一組連拍圖像 [24,14] 合成,但在極低照度的情況下,連拍對齊演算法也很容易會失敗,並且連拍流程不能用於視頻捕捉。
圖 1:使用卷積網路得到的低照度圖像(昏暗的室內環境,相機的照度(illuminance)
我們提出了一種新的圖像處理流程,即通過數據驅動的方式解決極低照度環境攝像問題。具體來說,我們通過訓練深度神經網路得到一個處理低光度原始數據的圖像處理流程,包括顏色轉換、去除馬賽克、降噪和圖像增強。端到端的訓練流程可以避免雜訊放大和誤差累積,這也是傳統相機處理流程的特點。
大多數現有處理低照度圖像的方法都是在合成數據或無效的低照度圖像上進行評估的。就我們所知,還沒有合適的、能用於訓練或測試處理快速低照度圖像技術的數據集。因此,我們收集了一些在低照度條件下快速曝光拍攝的原始圖像作為新數據集。每個低照度圖像都具有對應的長曝光高質量參考圖像。我們在新數據集上取得了良好的成果:低照度圖像被放大了 300 倍的同時,其雜訊也得到了有效的抑制且顏色轉換正確。
表 1:SID 數據集包含 5094 個原始短時曝光圖像,每個圖像都有一個長時間曝光圖像作為對應參考。圖像由兩台相機收集(頂部和底部)。從左到右分別是:輸入圖像和參考圖像的曝光時間比、濾波器陣列、輸入圖像的曝光時間以及每種情況的圖像數量。
圖 2:SID 數據集中的示例圖像。前兩排是戶外圖像,下面是室內圖像。長時間曝光的參考圖像(有效)在前面顯示,短時曝光的輸入 圖像(基本黑色)在有效圖像後面顯示。室外相機處照度一般在 0.2 到 5 勒克斯之間,室內為 0.03 到 0.3 勒克斯之間。
方法
從成像感測器獲取原始數據後,傳統的圖像處理流程會用一系列模塊(如白平衡、去馬賽克、去噪、銳化、色彩空間轉換、伽馬校正等)對其進行處理。這些模塊通常會根據相機的不同進行微調。Jiang 等人 [18] 提出使用大量經過學習的局部線性(L3)濾波器來模仿常見成像系統里的複雜非線性流程,然而傳統流程和 L3 流程都無法很好地處理快速低照度成像,因為它們無法處理極低的信噪比。Hasinoff 等人 [14] 提出了適用於手機相機的連拍成像流程。該方法通過對齊混合多個圖像得到良好的結果,但同時會增加其複雜度(例如對應密度估計),且可能難以將其應用於視頻捕獲。
圖 3:不同圖像處理流程的結構。(a)從上到下分別是:傳統的圖像處理流程、L3 流程 [18] 和連拍成像流程 [14]。(b)我們的流程。
建議使用端到端學習來實現快速低照度圖像的直接單圖像處理。具體來說,訓練一個全卷積網路(FCN)[22,25] 來執行整個圖像處理流程。近期的成果表明,純 FCN 可以有效地承載很多圖像處理演算法 [40,5],因此我們嘗試將這種方法應用到極低照度成像中。我們不使用傳統相機處理流程生成的 sRGB 圖像,而是使用 RAW 格式的原始感測器數據。
圖 3(b)給出了我們流程的結構。對於貝葉斯陣列(Bayer arrays),我們將輸入數據饋送到四個通道中,並相應地將每個維度上的空間解析度降低兩倍。對於 X-Trans 陣列(未在圖中顯示),原始數據被放在 6×6 的矩陣中,並通過交換相鄰元素將它合併為 9 個通道而非 36 個通道。我們減去黑階亮度並按照所需比例(例如 100 倍或 300 倍)縮放數據,數據在合併放大之後輸入全卷積網路。輸出是一個空間解析度為之前一半的 12 通道圖像,它通過一個子像素層的處理恢復原始解析度 [37]。
初步研究之後,重點關注全卷積網路中多次出現的兩個結構:多尺度上下文聚合網路(Context Aggregation Network,CAN)[5] 和 U-net[35]。其他研究已經研究了殘差連接 [20,34,41],但是這些沒什麼用,可能是因為輸入和輸出所在顏色空間不同。影響結構選擇的另一因素是內存消耗:我們選擇了可以在 GPU 內存中處理全解析度圖像(例如解析度為 4240×2832 或 6000×4000)的結構。因此我們得以避免使用需要處理小圖像塊並重新組裝它們的全連接層 [26]。默認架構是 U-net [35]。
圖 4:放大係數作用於 SID 數據集(Sony x100 子集)中室內圖像的效果。放大係數作為外部輸入提供給我們的參數,類似於相機中的 ISO 設置。更高的放大倍數可以產生更明亮的圖像。這張圖顯示了具有不同的放大係數的輸出圖像。
放大率決定了輸出亮度,類似於相機中的 ISO 設置。圖 4 顯示了不同放大率的效果。用戶可以通過設置不同的放大係數來調節輸出圖像的亮度。測試時,流程並不會抑制雜訊、轉換顏色,網路直接在 sRGB 空間輸出處理後的圖像。
圖 5:(a)富士 X-T2 相機在夜間拍攝的圖像(ISO 為 800,光圈為 f / 7.1,曝光 1/30 秒)。相機照度約為 1 勒克斯。(b)傳統方法不能有效處理原始數據中的雜訊和顏色偏差。(c)我們的結果(使用相同的原始數據)。
圖 7:Sony x300 拍得的圖像。(a)經過傳統圖像處理流程和線性縮放處理的低照度輸入圖像。(b)經過傳統圖像處理流程和線性縮放處理且用 BM3D 去噪後得到的圖像。(c)我們的結果。
論文:Learning to See in the Dark
論文鏈接:https://arxiv.org/abs/1805.01934
摘要:由於低光子數和低信噪比,弱光環境成像十分困難。短時曝光的圖像會受到雜訊影響,而長時間曝光會導致圖像模糊。之前提出的各種去噪、去模糊和增強技術極端條件下效果十分有限(例如晚上的視頻速率成像)。為了推進基於學習的低照度圖像處理研究,我們引入了原始 RAW 格式的短曝光低照度圖像數據集以及相應的長曝光參考圖像。使用這個數據集,我們開發了一個基於端到端訓練的全卷積網路進行低照度圖像處理。這個網路直接處理原始感測器數據,並且基本不使用傳統圖像處理流程方法。
本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。
------------------------------------------------
※10個例子帶你了解機器學習中的線性代數
※生物神經網路基礎:從尖峰放電神經元談起
TAG:機器之心 |