想在黑暗中看清周圍,不可避免地要用到夜視儀。那麼如果是想在黑暗中拍照,又沒有閃光燈,如何才能排到清晰的照片?在CVPR 2018上,英特爾實驗室的Vladlen Koltun和陳啟峰帶領的團隊提出了一種在黑暗中快速成像的系統,效果非常贊。 在暗光下的圖像易受到低信噪比和低亮度的影響。短曝光的照片會出 ...
想在黑暗中看清周圍,不可避免地要用到夜視儀。那麼如果是想在黑暗中拍照,又沒有閃光燈,如何才能排到清晰的照片?在CVPR 2018上,英特爾實驗室的Vladlen Koltun和陳啟峰帶領的團隊提出了一種在黑暗中快速成像的系統,效果非常贊。
在暗光下的圖像易受到低信噪比和低亮度的影響。短曝光的照片會出現很多早點,而長曝光會讓照片變得模糊、不真實。目前已經有很多去噪、去模糊、圖像增強的技術,但是在極端條件下,他們的作用就很有限了。為了發展基於學習的低光度圖像處理,我們引入了一個數據集,內含有原始短曝光低亮度圖片,同時還有對應的長時間曝光的圖像。利用該數據集。我們創建了一個機遇端到端訓練的全捲積網路,用於處理低亮度圖像。網路直接使用原始感測器數據,並替代了大量傳統圖像處理的流程。最終我們發現新數據集的結果很有前景。
概述
噪點在任何成像系統中都存在,但在亮度較低的環境中成像就更加困難。提高ISO可以增加亮度,但也會造成更多噪點。後期處理也是改善噪點過多的方法,但這並不能解決信噪比(SNR)低的問題。其他手段雖然能提高SNR,但都有各自的缺陷。
的確,在低亮度中快速成像的問題一直沒有好的解決方法。研究人員提出了各種去噪、去模糊、提高亮度的技術。但這些技術都是假設照片是在略暗淡、稍有噪點的環境中捕捉到的。相反,我們想研究的是在非常黑暗的情況下的成像效果,例如月光下。在這種條件下,傳統相機成像的過程就無能為力了,圖片必須用原始感測器數據重新構建。
我們提出的系統效果(最右)如圖1所示:
圖1
左圖中,環境中的亮度極低,相機的亮度小於0.1lux,快門速度為1/30,光圈為f/5.6,ISO為8000(通常這已經很高了)。但是照相機照出來仍然是漆黑一片(這可是用索尼全畫幅感測器)。
中間圖中,把ISO調到409600,這已經超過了大多數相機的極限了,可以看到照出來的圖像了,但是圖像顯得很暗,噪點較多,色彩失真。
而最右邊我們的方法則清晰了許多。具體來說,我們訓練了深度神經網路學習處理低亮度原始圖像數據的過程,包括色彩轉化、去馬賽克、減少噪點、圖像質量提高等等。
數據集
目前大多數處理低亮度的圖片都是在合成數據或沒有對應標準的低亮度圖像上進行的,據我們所知,沒有一個公開數據集可以用來訓練或是測試低亮度圖像處理。於是,我們就新建了一個數據集,稱為See-in-the-Dark(SID)。數據集中共有5094張圖像,它們都是在低亮度條件下捕捉到的、快速曝光的原始圖像。每個低亮度圖片都有對應的長時間曝光高質量圖片(註意,一張高質量圖片可能對應多張低亮度圖片)。
數據集包括室內和室外的圖像,室外圖像大多於夜晚拍攝,光源來自月光或者路燈。室外場景的相機亮度在0.2lux和5lux之間。室內圖像就更暗一些了,通常在0.03lux到0.3lux之間。
輸入圖像的曝光時間通常在1/30秒到1/10秒之間,相對應的正常圖片的曝光時間為10到30秒。數據集的具體參數可看下表:
經過長時間曝光的正常圖片仍含有少許噪點,但是從視覺上已經達到標準圖片的水平了。我們希望我們創建的應用可以在低光度環境下生成表現良好的圖像,而不是徹底消除所有噪點或讓圖像對比度最大化。
模型成像方法
從成像感測器中得到原始數據後,傳統圖像處理過程會應用一系列模塊,例如白平衡、去馬賽克、去噪、增加銳度等等。而這些模塊只是在某些相機中才有。Jiang等人提出,用本地、線性、可學習的(L3)過濾器來模型現代成像系統中複雜的非線性流程。但是,這些方法都無法成功解決在低亮度中快速成像的問題,還是由於極低的SNR問題。之後,Hasinoff等人對智能手機上的相機提出了bursting
imaging成像方法,通過結合多張圖像可以生成效果較好的圖像,但是複雜程度較高。
對此,我們提出了的端到端的學習方法,即訓練一個全捲積網路(FCN)進行圖像處理。圖2展示了我們所提出的圖像處理架構:
對於拜耳陣列,我們將輸入的圖像打包到四個通道中,並相應地將空間解析度在每個維度上降低。對於X-Trans陣列(圖中未顯示),原始數據是按6×6排列的,我們將其打包放到9個通道中。打包後的數據輸入到全捲積網路中,輸出一個有12通道的圖像,空間向量僅為一半。而這個半尺寸的輸出被次像素圖層處理後,可以恢復到原始解析度。
基本介紹之後,我們要重點瞭解一下網路中兩個重要的結構:一個多尺寸文本聚合網路(CAN)和U-net。其他工作研究了殘差連接,但是我們認為這對我們的模型用處不大,可能是因為我們的輸入和輸出在不同的顏色空間中表示。另一個影響模型結構選擇的是記憶體消耗,我們的架構可以在GPU上處理全解析度的圖像。由此避免了全連接的圖層,他們還需要處理小的圖像補丁,然後重新進行組合。我們預設的架構是u-net。
放大比例決定了輸出圖像的亮度。在我們的圖像生成流程中,放大比例是外部決定的,並且是作為圖像流程的輸入,類似於相機的ISO。圖3顯示了不同的放大倍數的結果,用戶可以自己調整以改變亮度。
最終網路利用L1損失和Adam優化器從零開始訓練。
實驗過程
首先,將我們提出的方法與傳統方法的對比,得到以下結果:
可以看出,我們的方法生成的圖片比傳統方法優秀得多。
同時,我們認為專門用特定的相機感測器進行訓練的網路總能達到最佳效果。但是,最初的實驗表明這不是一定的。我們將一個在索尼套件上訓練的模型應用於由iPhone
6S拍攝出的相片上,其中通要包含一個拜耳過濾陣列和14位的原始數據。我們用一款app手動設置ISO和其他參數,輸出原始數據用於處理。最終的結果如圖5所示。傳統方法處理的數據有很多噪點,色差較大。而我們的網路生成的圖片對比度較強、噪點少並且顏色正常。
結語
由於極少的光子數量和極低的信噪比,在黑暗環境中成像一直是個大難題。想以視頻速率在黑暗中成像,對於傳統的信號處理方法來說幾乎是不可能的。而我們提出的See-in-the-Dark數據集、全捲機的網路證明瞭這種在極端條件下成像的可能。最後的實驗也證明這種方法行之有效,我們希望這項工作能在未來提供更多幫助。
本文轉載自:http://www.dalbll.com/Group/Topic/ArchitecturedDesign/5084