論文筆記:Learning to See in the Dark

標題

Introduction

在極低照度環境下,使用短曝光拍照會存在大量噪聲和偏色問題,而使用長曝光拍照會造成圖像模糊。文章提出了一種低光照圖像質量提升的方法。其利用端到端的全卷積網絡代替傳統圖像後處理鏈路,可直接將傳感器RAW數據處理得到可視化的彩色圖像。文章主要貢獻在於:

  • 提出了一種端到端的方法提升極低光照圖像的圖像質量,主要解決噪聲和偏色問題;
  • 建立低光照圖像庫,以短曝光圖像與其對應的長曝光參考圖像作爲訓練集,訓練全卷積神經網絡;
  • 分析並比較了多種因素對圖像質量的影響。

文章聲稱其可以做到將低光照圖像亮度提升300倍,且保持好的噪聲抑制和顏色校正效果。

SID Dataset

See-in-the-Dark(SID)數據集包含了 5094張短曝光RAW圖像,及其對應的長曝光參考圖像。
1. 數據集包含了室內和室外的圖像,其中室外場景照度在0.2lux~5lux,室內場景照度在0.03lux~0.3lux。
2. 短曝圖曝光時間設定爲1/30到1/10s,對應長曝圖曝光時間設定爲其100到300倍,即10到30s。
3. 短曝圖與其對應的長曝圖之間沒有位移。
4. 隨機挑選70%作爲訓練集,20%作爲測試集,10%作爲驗證集。
5. 圖像獲取使用兩款相機:Sony α 7S II 和 Fujifilm X-T2,其相關參數如下
這裏寫圖片描述

Method

流程

流程
對於Bayer結構數據,將RAW數據分成四個通道,空間分辨率下降四倍;對於X-Trans結構數據,將RAW數據分成9個通道。然後減去黑電平值並將輸入數據亮度放大相應的倍數,使其與參考圖像的曝光相同,輸入到網絡中。輸出是12通道的圖像,其分辨率只有原始分辨率的一半,然後將其通過亞像素層上採樣得到SRGB空間的輸出圖像。
文章主要聚焦於兩種全卷積神經網絡:multi-scae context aggregation network(CAN)和U-net,其默認使用U-net。
U-net

訓練

文章使用L1 損失函數和Adam優化方法對網絡進行訓練。以短曝光RAW數據作爲輸入,以sRGB空間的長曝光圖像作爲ground truth。且對每個相機單獨訓練一個網絡。在每次迭代中,隨機截取512×512 大小的patch做訓練,並對其做隨機翻轉和旋轉以增廣數據。

Experiment

結果比較

這裏寫圖片描述
這裏寫圖片描述
文章將網絡得到的結果與BM3D去噪結果以及多張圖像去噪結果進行了比較,其中多張圖像去噪是對8張序列圖像取中值得到的。
這裏寫圖片描述
對於相似傳感器可以使用同一個網絡,如將Sony網絡應用於iPhone 6s拍攝的圖片
.這裏寫圖片描述

控制變量實驗

使用PSNR和SSIM作爲指標評價結果去噪性能。下表展示了各個變量控制實驗結果,第一列參數爲PSNR,第二列參數爲SSIM。
這裏寫圖片描述
1. 網絡結構:U-net比CAN有更高的PSNR,而CAN有更高的SSIM,但其有時會出現顏色丟失現象。
這裏寫圖片描述
2. 輸入顏色空間:直接輸入RAW數據對於極低照度條件會更有效。
3. 損失函數:L1,L2 ,SSIM損失函數結果差不多,但增加GAN損失會顯著降低精度。
4. 後處理:將參考圖像做直方圖均衡化後再作爲ground truth的效果沒有直接用參考圖像的效果好,因爲網絡不得不學習直方圖均衡化,這會使得輸出結果雖然更亮但是不夠清晰,因此文章直接對輸出圖像直方圖均衡化。

代碼測試

作者也給出了代碼地址:github地址
使用作者提供的代碼,用作者訓練好的網絡做了簡單的測試,測試結果如下:
輸入圖像亮度放大100倍
這裏寫圖片描述
輸入圖像亮度放大250倍
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
從上面比較的結果可以看出,在暗光區域噪聲抑制的比較好,但部分區域出現過平滑和細節丟失,特別是對於亮度提升比較高時,圖像質量會下降。
去噪結果
使用正常曝光的RAW數據作爲輸入,亮度提升倍數設爲1,測試結果如下:
這裏寫圖片描述
這裏寫圖片描述
與BM3D去噪結果相比,可見網絡結果更加平滑。

不足之處

  1. 部分區域出現過平滑和細節丟失;
  2. 圖像偏色校正不準確;
  3. 沒有進行HDR tone mapping,結果可能存在過曝光區域;
  4. SID數據集沒有包含運動物體;
  5. 對不同的圖像傳感器可能需要訓練不同的網絡;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章