論文閱讀:Burst photography for high dynamic range and low-light imaging

Introduction

Google HDR+ 技術曾使得Google pixel 2以其單鏡頭拍照質量超越了衆多雙攝手機,登頂手機拍照質量排行榜。這篇文章是HDR+初代版本的技術細節的介紹,與其他HDR技術論文相比,其更加註重工程實用化以及整個成像系統,因此也引入了很多工程化的技巧,以求得在手機設備上達到理想效果。
對於手機來說,爲了便攜化,一般其相機的鏡頭光圈較小,限制了射入光子的數量,使得在暗光場景下噪聲劇烈。同時其傳感器像素小,限制了每個像素存儲的點在數,導致了動態範圍有限。另外,手機用戶對算法的速度要求高,爲了實現快速響應難免要犧牲一定的圖像質量。以及手機的內存和電源都是相對有限的。這些都是這項技術需要考慮的問題。一個好的成像算法應該滿足處理迅速、算法自動、結果自然、且在多種環境下成像質量優於傳統算法。
爲此,這篇文章提出了以下幾點改進:
1. 拍攝多幀相同曝光圖像,有利於更加魯棒的配準,同時曝光設定的足夠低,從而避免出現過曝光區域;
2. 直接獲取Bayer raw圖像進行處理,而不是經過ISP後處理的RGB圖像,從而獲取更多的圖像信息;
3. 提出了新的基於FFT的配準方法,以及基於圖像對的維納濾波融合方法,使得融合結果對運動和噪聲更加魯棒;

Overview


成像系統包括兩個流程,一個產生實時顯示的低分辨取景器流,一個輸出非實時的單張高質量圖像。
使用raw圖像有幾個優點:
1. 動態範圍高:raw圖像像素一般是10 bit的,高於一般的RGB圖像的8 bit;
2. 線性:raw圖像與場景亮度成正比(去掉暗電流後),使得對傳感器噪聲建模更加準確,從而對準和融合也更加魯棒,自動曝光更加簡單;
3. 可移植性:便於移植到新的相機中。

Auto-exposure

爲了處理高動態範圍場景,文章提出了三個步驟:
1. 刻意欠曝光以防止像素過飽和;
2. 獲取多幀圖像用於陰影區域的降噪;
3. 使用局部色調映射壓縮動態範圍;
自動曝光算法就是用來決定使用什麼曝光參數,如何壓縮動態範圍,以及拍攝多少幀圖像。
通過自動曝光算法,輸出兩種曝光水平的圖像,一張短曝光圖像,用於捕捉場景;一張合成的長曝光圖像,被用來做HDR色調映射。
當然,爲了使得圖像看起來更真實,壓縮的動態範圍也不能太大,文章限制最大動態範圍壓縮比例爲8。

基於實例的自動曝光

自動選擇曝光的一個主要困難在於曝光是場景依賴的。對於不同的場景需要設置不同的曝光參數。因此,文章建立了一個數據集,其使用傳統的HDR曝光的方法獲取了多個場景。並且使用文章的色調映射的方法手動調節參數使得輸出圖像看起來儘可能的自然。數據集包含了5000個場景,覆蓋了日常見到的大部分場景,並手動標定兩個參數分別對應長短曝光。
有了這些標定的數據集,對於輸入的一幀raw圖像,計算其描述子並在數據集中搜素與其匹配的場景。一旦找到了一系列候選的匹配場景,計算這些場景被手動標定好的自動曝光參數的加權混合值。這個加權混合值最終會產生兩個參數:短曝光和長曝光值。

曝光參數

曝光參數包括曝光時間和增益(ISO值)。對於最亮的場景,保持增益在最小水平,使得曝光時間增加到8ms。然後隨着場景變暗,保持8ms的曝光時間,增加增益到4倍。最後,同時增加曝光時間和增益直到100ms曝光時間和96倍增益。爲了最大化SNR,儘量使用模擬方式增加增益,直到超過相機限制後再使用數字增益。

圖像數量

實踐中,一般拍攝2到8張圖像,使用raw圖像噪聲模型的信息做決策。
爲了節省能量,每四幀運行一次自動曝光算法。

Aligning Frames

爲了兼顧速度和配準精度,並考慮到手機內存和電量有限的情況,文章提出了一種簡單的基於頻域加速的配準方法。其可以實現在移動設備上24ms/Mpix的速度。

參考幀的選擇

像lucky imaging一樣,根據基於raw圖像綠色通道梯度的簡單測量方法,選擇多幀圖像中最清晰的一張最爲參考圖像。同時,爲了減少快門延遲,從前3幀圖像中選擇參考圖像。

處理raw圖像

將raw圖像中每一個RGGB的Bayer採樣做平均,使得原raw圖像下采樣4倍得到灰度圖像,對該灰度圖像做配準。

分層配準

在四層高斯金字塔中,使用coarse-to-fine的策略分層配準。如下圖所示,在每層金字塔中,使用基於塊的對準方法,並使用上層配準好的結果作爲初始估計值。

使用下式作爲每個塊的偏移量測量,通過優化下式實現每個塊的配準:

(1)Dp(u,v)=y=0n1x=0n1|T(x,y)I(x+u+u0,y+v+v0)|p

其中,T 是參考圖像的一個塊,I 是待對準圖像中的搜索區域,p 是範數的冪,n 是塊的大小,(u0,v0) 是從上一層傳遞下來的初始的位置估計。
公式中有一系列的參數需要確定,如塊的大小,搜索半徑,範數的選擇等。其中有一條重要的依據是根據金字塔層的尺度不同,設置不同的參數。在較coarse層上,計算亞像素的配準,最小化L2殘差,使用大的搜索半徑。而在最fine的尺度上,計算像素級的配準,最小化L1殘差,使用小的搜索半徑。

快速亞像素L2配準

在coarse層上,需要在一個較大的搜索半徑內匹配,比較耗時。爲了加速配準速度,公式(1) 可以使用box filter和卷積計算:

(2)D2=T22+box(II,n)2(F1{F{I}F{T}})

上式第一項是T 中元素的平方和,第二項是I 中元素的平方被n×n 大小(和T 一樣大小)的非歸一化box filter卷積,第三項是IT 的互相關,可以被FFT加速。
通過在整數偏移量(u^,v^) 附件的3×3 窗口內擬合一個多項式,然後找到多項式的最小值,從而最小化偏移量誤差。一般情況下,可以用二次多項式近似:

(3)D2(u,v)12[uv]A[uv]+bT[uv]+c

其中,A 是一個2×2 正定矩陣,b 是一個2×1 向量,c 是一個標量。使用加權最小二乘方法擬合多項式係數,然後可以得到二次多項式的最小值:

(4)μ=A1b

μ 表示需要加到偏移量(u^,v^) 上的亞像素位移。

Merging Frames

僅僅做圖像全局配準是不夠的,因爲各幀之間可能存在非剛體變換,場景移動,光線變化等,在做圖像融合時還需要把這些因素考慮進去,防止鬼影的出現。對此,文章提出了基於圖像對的頻域時間濾波的融合方法,將參考圖像中的每一個塊,與其它每一幀的對應的塊進行融合。對於Bayer raw輸入的顏色平面使用16×16 的塊,而對於特別暗的場景,低頻噪聲比較劇烈,則使用32×32 大小的塊。

噪聲模型和塊近似

對於Bayer raw數據,噪聲是像素獨立的,可以用一個簡單的信號依賴的形式表達。對於一個信號x ,噪聲方差σ2 可以表示爲Ax+B ,其服從泊松分佈的形式。參數AB 僅僅依賴於拍照時模擬和數字增益的設定,可在算法中直接被控制。
爲了計算簡便,在每個塊中,近似噪聲是信號無關的,即認爲噪聲方差在每個塊中是一個常數。文章使用每個塊中採樣值的RMS作爲噪聲方差的近似值。

魯棒的基於圖像對的時域融合

文章的融合操作是作用於圖像塊的空間頻域的。對於一個給定的參考圖像塊,從多幀圖像中選取其對應的圖像塊,每幀一塊,計算他們各自的2D DFT記爲Tz(ω) ,其中ω=(ωx,ωy)
假設第0幀爲參考幀,爲了增加對鬼影的魯棒性,採用瞭如下的融合方式:

(5)T~0(ω)=1Nz=0N1Tz(ω)+Az(ω)[T0(ω)Tz(ω)]

對於給定的頻率,Az 控制着第z 幀融合進最終結果的程度,其定義爲經典的維納濾波的一種變體:

(6)Az(ω)=|Dz(ω)|2|Dz(ω)|2+cσ2

其中,Dz(ω)=T0(ω)Tz(ω) ,噪聲方差σ2 由噪聲模型提供。c 是一個常數,可以用來調節噪聲水平(文章裏設爲8)。

空間去噪

得到時域濾波結果後,採用如公式(6) 一樣的收縮算子對空間頻域稀疏進行空間濾波。通過假設所有N 幀圖像都被做了平均,將空間濾波的噪聲方差調節爲σ2/N 。另外,爲了更加符合人眼習慣,設置噪聲水平爲頻率的的函數σ~=f(ω)σ ,對更高的頻率增加噪聲水平。

融合Bayer raw圖像

對Bayer圖像的每一個顏色平面分別用一個局部平移配準,且對準精度不超過像素級。

重疊塊

上述的融合操作都是作用於每個空間維度有一半重疊區域的塊上的。爲了防止出現塊邊緣的不連續效應,使得融合更加平滑,對塊進行窗函數操作。在DFT域使用升餘弦函數,對於0x<n1212cos(2π(x+12)/n) ,其他區域設爲0。

Finishing

經過配準和融合之後,拍攝的多幀Bayer raw圖像合成單張raw圖像,且具有更高的bit深度和SNR。實際中,輸入10bit的raw數據會合成12bit的數據。得到輸出raw圖像後,還需要一系列的ISP後處理流程才能得到可視化RGB圖像。這些步驟主要包括:
1. 暗電流扣除
2. 鏡頭陰影校正
3. 白平衡
4. 去馬賽克
5. 彩色去噪
6. 顏色校正
7. 動態範圍壓縮
8. 去霧
9. 全局色調調整
10. 色差校正
11. 銳化
12. 特定色調顏色調整
13. dithering
其中,動態範圍壓縮步驟中,利用獲取的短曝光圖像以及合成的長曝光圖像,採用曝光融合(Mertens 2007)的方式進行曝光融合。曝光融合只在灰度圖像上進行,融合後做gamma校正並將原來的顏色賦值上去。

Results

結果在高動態範圍場景和暗光場景都能得到不錯的結果。

失敗的案例

在極端動態範圍場景,可能存在過曝光區域。在有快速運動的低光場景,爲了避免運動模糊使用較短的曝光時間,可能會殘留比較劇烈的噪聲。在高對比度場景中,由於使用了曝光融合,可能會存在輕微的中頻halos。

參考

google hdr+數據集(需要翻牆):https://hdrplusdata.org/

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