Fast Burst Images Denoising
Abstract
本文提出了一種快速去噪方法,從一組噪聲圖像中提取出一幅清晰的圖像。我們通過引入一種稱為單應流的輕量級攝像機運動模型來加速圖像的對齊。將對齊后的圖像融合在一起,在時間和空間域通過快速逐像素操作進行圖像去噪。為了處理捕獲場景運動,提出了一種選擇一致像素進行時域融合的機制來“合成”一幅干凈、無虛影的圖像,大大減少了幀間跟蹤運動的計算量。結合這些有效的解決方案,我們的方法比以前的工作快幾個數量級,而去噪的質量是可比的。一個智能手機原型表明,我們的方法是實用的,並在大量的實際例子中工作良好。
關鍵詞: 去噪,突發圖像,單應流,無鬼影
1. Introduction
Burst是大多數相機的一種拍攝模式,通過按下或按住快門按鈕,可以在短時間內連續拍攝多個鏡頭。它的設計允許選擇最好的鏡頭或記錄運動。最近,突發捕獲在許多手持成像設備(如智能手機、緊湊型相機和單反相機)中變得無處不在。
Burst模式已被成功地應用於計算攝影中,以減少模糊[Cai等人2009],或改善陰影/高光細節[Reinhard等人2010],或提高分辨率[Farsiu等人2004],或清晰度[Joshi和Cohen 2010],或景深[Jacobs等人2012]。
在本文中,我們提出了一種實用的“突發圖像去噪”解決方案——將突發的噪聲圖像(通常在低光照條件下捕獲)轉換為單個干凈的圖像,如圖1所示。這個問題並不新鮮。它已經在多幅圖像/視頻去噪的背景下進行了研究[Buades et al. 2010;劉和弗里曼2010;Zhang等人,2009]。但我們注重實用性-我們的目標是設計一個高效的方法,同時生產高質量結果表明,該算法能夠在有限的計算資源下在移動設備上運行。
一個切實可行的方法需要應對兩個挑戰。首先是效率。目前最先進的方法嚴重依賴於光流或patch匹配來建立時空對應關系,速度慢得令人無法接受。其次是質量。由攝像機運動(通過握手)或場景運動(通過動態)引起的噪聲和“幽靈”偽影“幽靈”方面, 像平均或濾波這樣的快速方法[Tomasi和Manduchi 1998]都是不夠的。而且,即使是一些復雜的方法,在強噪聲或復雜的動態運動情況下也會顯得脆弱。
我們提出了一種快速降噪的方法,從一組圖像中產生一幅清晰的圖像。我們的方法的高速度是通過引入三個加速步驟來實現的。在第一步中,我們使用輕量級的參數化運動表示-單應流--模擬由攝像機運動引起的運動。這種表現形式的靈感來自最近的多重同倫模型[Grundmann et al. 2012;Liu等人2013]用於視頻穩定。由於估計單應流只需要稀疏特征匹配,因此這一步是有效的和魯棒的噪音。
在第二步中,我們通過識別一致的像素來處理場景運動。從所有對齊的圖像(通過第一步)沿時間軸的每個像素位置。這些選定的一致像素通過平均用於我們的時間像素融合(在第三步)。因此,我們可以生成無偽影的結果,同時避免動態對象的復雜運動跟蹤,這是太慢或太難了。這個想法在最近的HDR 去偽影(Granados等人,2013年)中得到了成功的應用。為了更好地去噪,我們擴展了這一思想,在每個像素位置找到盡可能多的一致像素。
在第三步中,我們依次應用時間和多尺度像素融合來獲得去噪結果。時間融合是基於一個簡單的,最優的線性估計。多尺度融合是時間融合的補充,進一步實現了顯著的去噪。同時,整個步驟在設計上也非常高效,因為它只涉及像素級的操作。
我們已經在各種真實數據上評估了我們的算法。在中或強噪音情況下,我們的算法可與最先進的多幅圖像去噪方法(例如:VBM3D [Dabov et al. 2007a], BM4D [Maggioni et al. 2013])。此外,我們的算法要快兩到三個數量級。圖1顯示了一個比較。
2. Related Work
單幅圖像去噪近幾十年來取得了很大的進展。代表性的方法有雙邊濾波[Tomasi和Manduchi 1998]、小波(小波)(GSM) [Portilla等,2003]、Field-OfExpert [Roth和Black 2005]、非局部均值[Buades等,2005]、BM3D [Dabov等,2007b]等。為了提高效率,已經提出了一些快速變體,如快速雙邊濾波[Paris和Durand 2009]、高斯kd-tree [Adams等人2009]和測地線路徑[Chen等人2013]。最近,Levin等人[2011]指出,單一圖像去噪可能是接近性能極限。NoiseBrush [Chen et al. 2009]提出了一種交互方式進一步提高去噪質量。
多幅圖像去噪比單幅圖像去噪效果好,因為多幅圖像去噪可以獲得更多的信息。一些去噪技術已成功地應用於突發圖像[Tico 2008;Buades等人,2009;Joshi和Cohen 2010],視頻[Bennett和McMillan 2005;劉和弗里曼2010;Dabov等,2007a;Chen和Tang 2007],多視圖圖像[Zhang et al. 2009],以及容量MRI數據[Maggioni et al. 2013]。
估計攝像機運動。光流[Brox et al. 2004]是建立幀間通信最普遍的表示。最近的研究[Liu和Freeman 2010]表明它在視頻去噪中的重要性。但光流本身存在着遮擋、位移大、易受噪聲干擾等問題。Patch匹配對噪聲的魯棒性更強,在多幅圖像處理中得到了廣泛的應用[Tico 2008;Buades等人,2009;Zhang等,2009;Maggioni et al. 2013;Sen等人2012年;Kalantari等人,2013]。然而,在存在強噪聲的情況下,這兩種非參數方法的性能都會迅速下降。攝像機在突發模式下的運動類似於視頻穩定中的運動研究。近期工作[Grundmann et al. 2012;Liu等人[2013]證明了對攝像機運動使用空間變異單應性的成功。在這項工作中,我們使用了一個類似但更輕量級的參數化運動表示——單應流。
處理場景運動。因為光流或patch匹配本質上講比較困難,最近的研究[Gallo et al. 2009;在HDR重建中,Granados等人[2013]通過為每個像素尋找一致的顏色子集來繞過運動估計來重建無偽影圖像。Granados等[2013]的一致性檢驗依賴於對噪聲分布的准確估計,這可能需要復雜的校准和超像素計算。我們是受此啟發,將其應用於圖像去噪。
多尺度去噪是利用跨尺度相似性進行降噪的一種有效方法。最近,Zontak等人[2013]提出了一種定向金字塔技術來尋找跨尺度的對應Patch,獲得了最先進的結果。Zhang和Gunturk[2008]在多尺度框架中擴展了雙邊濾波器。我們使用一種基於金字塔的像素融合方法來提高結果質量。
3. Algorithm
圖2是我們的算法思路。我們首先對所有的噪聲圖像建立高斯金字塔,並將最中間的幀作為默認的參考幀。然后,我們估計單應射流(在3.1節中)來表示參考幀和任何其他幀之間的運動(通過攝像機)。通過對齊的圖像(通過單應性流),在每個像素位置,我們選擇一組一致的像素來處理場景運動(在章節3.2中)或可能由單應性流引起的未對齊情況。最后,我們應用像素融合(在3.3節中)來聚合所有尺度上的一致像素,以生成最終結果。
3.1 Homography Flow (for Camera Motion)
金字塔單應性圖。我們通過一個金字塔單應圖來表示兩幀之間的運動,如圖3 (a)所示精細級節點有助於產生細節。注意,獨立估計每個節點的單應性是不可靠的,因為一些節點可能沒有足夠的匹配特征。接下來,我們介紹一個由粗到細的優化,以穩健地獲得精確的結果。
優化。我們從最粗的全局單應性 ( \(l = 0\) ) 開始逐級優化,令 \(H^l_i\)為節點 \(i\) 在 \(l\) 級的單應性,\({H^l_j}\) 為節點 \(i\) 的4個鄰域同字型在同一層次。我們通過最小化以下能量函數來估計 \({H^l_i}\) :
\(\lambda\) (默認情況下,\(\lambda = 0.1\) ) 控制空間正則的數量由第二項平滑項控制執行。在第一項 \(R_{i}^{l}=\operatorname{best}\left(\hat{H}_{i}^{l-1}, F_{i}^{l}\right)\) 中,來自於兩個候選,第一個是在 \(l-1\) 級上它的父單應性 \(\hat{H}^{l-1}_i\) ,另一個是它自己估計的單應性 \(F^l_i\) (使用節點 \(i\) 網格內所有匹配的特征)。當我們不能很好的計算 \(F^l_i\) 時,就采用 \(\hat{H}^{l-1}_i\) 作為備選方案。在我們實驗中,如果在 \(i\) 的網格中特征數量小於8,或者 \(F^l_i\) 的剛性太弱,我們選擇 \(\hat{H}^{l-1}_i\) 。否則,我們選擇網格內所有特征匹配誤差較小的最佳模型。
因為目標函數(1)是二次的,我們可以通過Jacobi求解器[Bronshtein and Semendyayev 1997]獲得全局最優。我們的運動模型的形式類似於基於網格的單應性[Liu et al. 2013]。但是我們的從粗到細的優化更有效。對於500個特征,我們的方法需要每幀5毫秒,而基於網格的單應性需要每幀50毫秒。
單應性流。由於金字塔單應性圖是一種參數表示,我們需要在后面的去噪步驟中進行圖像變形或坐標變換。但是,對所有像素(所有幀,所有尺度)進行這樣的操作是非常昂貴的。為了解決我們應用程序中的這個關鍵問題,我們對單應性圖(最細膩的水平)進行離散化,以獲得逐像素平移向量---單應性流。
如圖3 (b)所示,我們根據單應圖將每個像素從一幀映射到另一幀來計算平移向量。最后,估計單應性流動按比例調整,四舍五入以供其他比例使用。
算法驗證。我們在一組突發圖像上評估全局單應性、光流、patch匹配和單應性流。我們要求4個不同的對象捕捉20組干凈的突發圖像(低ISO,在良好的照明條件下)。然后我們加入不同標准差的高斯噪聲(從20到60)來合成100組有噪聲的突發圖像。為了注冊這些有噪聲的圖像,我們比較了六種算法:全局單應性、光流[Liu 2009]、全局單應性+光流、patch匹配(窮舉搜索)、全局單應性+ patch匹配和我們的單應性流。我們計算PSNR來測量已注冊的干凈圖像對之間的差異。圖4 (b)顯示了結果。
從結果中,我們可以觀察到兩種基於光流的方法表現良好時噪音很小 \((σ= 20)\) 。但是,當噪音水平增加,他們降解比其他更快;全局單應性能改善塊狀匹配,但不能改善光流。我們認為原因在於光流中由粗到細的機制已經處理了全局運動。我們的單應流在所有噪聲水平下始終是最好的。
圖4 (c)進一步顯示了這些方法在不同大小的圖像上的運行時間。由於全局單應性和我們的單應性流只依賴於稀疏特征的檢測和匹配,因此,它們是一致的兩者在速度上都優於patch match(窮行搜索甚至是隨機搜索[Barnes et al. 2009])和optical flow [Liu 2009]。在兩個運行時間曲線(全局單應性和我們的單應性流)之間只有一個小的邊界,這表明我們的金字塔優化是非常有效的。
高效執行。這一步的瓶頸是稀疏特征提取和匹配。在我們的實現中,我們在亮度通道金字塔中的粗尺度(s = 1)上工作,以提高效率和魯棒性(對噪聲)。與原始尺度實現相比,時間成本大大降低(平均降低6倍),各種噪聲sigma(從20到60)的PSNR(測量配准誤差)提高了0.005dB到0.045dB。特別地,我們使用了Harris角點檢測 [Harris and Stephens 1988]和128位簡短描述符[Calonder et al. 2010],它甚至可以在移動電話上實現實時性能。我們使用局部RANSAC [Grundmann et al. 2012]來拒絕不正確匹配的特征。
此外,我們估計每個非重疊塊(8×8像素)中的單應流,而不是每個像素。每個塊中的所有像素共享相同的平移向量,這是通過映射計算得到的在兩幀之間的塊中心。這個近似值只是稍微降低了質量(PSNR接近0.01dB),但是卻將像素映射加速了2.5倍。
3.2 Consistent Pixels Selection (for Scene Motions)
一致的像素。為了處理場景運動,我們借用了HDR deghosting [Granados et al. 2013]的一個簡單想法,以避免復雜的運動跟蹤。在每個像素位置(在一個參考幀上),我們在所有圖像的一維輪廓上識別一組一致的像素(由估計的單應性流跟蹤),用於時間像素融合。與HDR deghosting不同的是,選擇一致像素的目的不僅是為了避免鬼影(由動態運動和幀未對齊引起的),而且是為了盡可能多的一致像素進行去噪。
有兩種方法分別滿足兩個目標中的一個。一個是基於參考的:我們從參考幀的像素雙向跟蹤概要文件並收集一致的像素直到累積的像素差超過閾值 \(\tau\)。另一種是median-based:我們收集像素中值一致(低於相同的閾值 \(τ\) )上的所有像素概要文件。參考方法可以保證無虛影的結果。但是對於動態對象上的一個像素,我們可能沒有足夠的樣本進行去噪(如圖5 (c)所示)。中位數方法收集更一致的像素,但可能導致重影,因為中位數可能恰好是移動對象上的一種顏色(如圖5 (d)所示)。
相結合的策略。我們提出了兩種方法的簡單組合策略:對於每個像素(在參考幀上),我們通過中位數分別計算兩組一致像素{M, R}以及參考方法。M(或R)記錄每個像素的一致像素的幀索引。如果參考系屬於M,我們取M和R的並集作為最終結果,因為兩者都是同意的方法。否則,我們選擇中位數結果,如果它是可靠的(即M的大小大於幀數的一半),如果參考結果不可靠,則選擇參考結果。為了進一步減少偽影的機會(通過加強空間一致性),我們不逐個像素地測量可靠性。相反,我們找到未確定像素的所有連接組件(參考幀不屬於M),然后通過多數投票來確定每個連接組件作為一個整體的可靠性。
組合后,得到所有像素的一致像素集。為了進一步實現無縫組合,我們運行一個3×3形態(多數)過濾[Gonzalez和Woods 2007]。在逐幀一致像素索引的堆棧上。圖5 (a-b)顯示了兩個真實的例子和記錄每個像素位置上一致像素的數量的地圖。
高效執行。一致的像素也選擇在粗尺度(即s = 1),目的是使快速計算和檢測運動在一個相對干凈的規模。在原尺度下以一半的時間進行操作,其近似值檢出率可達98.7%。其他尺度只是通過上采樣或下采樣重復使用計算得到的一致像素的索引。在基於中位數和參考文獻的方法中,我們使用patch(5×5)差分而不是單一的方法像素差和使用閾值 \(\tau=10\)。我們使用積分圖像[Viola和Jones 2001]來更有效地計算patch差異。
3.3 Pixels Fusion
給定每個像素在所有尺度上的一致性像素,我們將它們融合在一個時間和多尺度的融合中。我們保持融合盡可能簡單,同時能夠顯着去噪。
時域融合。假設 \({x_t}\) 是每個像素位置(在一定的范圍內)上的一致像素,其中 \(x_t\) 是來自第t幀的像素顏色。我們通過線性最小均方誤差(LMMSE)估計來計算的融合結果 \(\hat{x}\) ,這是廣泛應用於以前的工作(例如,[張、吳2005])最優無偏去噪:
其中 \(\mu\) 為所有一致像素 \({x_t}\) 的平均值。真實像素的方差 \(\sigma^2_c\) 近似 \(max(0, \sigma^2_t-\sigma^2)\)。\(\sigma_t\) 和 \(\sigma\) 分別是 \({x_t}\) 和噪聲的標准差。
LMMSE估計器可以幫助我們自適應地處理異常值。一些嚴重未對齊的像素出現在深度的不連續點(我們的單應流更適合於空間平滑深度變化)或細微的殘留移動像素在一個精細的尺度(我們的場景運動檢測是在一個粗糙的尺度上進行的)將使 \(x_t\) 的方差遠遠大於噪聲方差。因此,我們融合結果將是\(\hat{x}→x_t\) (沒有去噪)。否則,結果\(\hat{x}\)值接近意味着 \({x_t}\) 的平均值 \(\mu\)。
時間融合在每個尺度上獨立運行。接下來,我們將描述如何聚合所有尺度的結果。
多尺度融合。我們以點的方式自頂向下聚合結果。在兩個相鄰尺度 \(s\) 和 \(s-1\) 下, \(x^s\) 和 \(x^{s-1}\) 表示時域融合的結果。我們通過下面公式更新 \(x^S\) 結果:
其中 \(\uparrow\) 是雙線性擴大算子。\(\omega=\sqrt{m / N}\) 是一個自適應融合權重。\(N\) 為總幀數,\(m\) 為輸入幀數()。\(\omega\) 越大,意味着我們在當前尺寸下有更多的一致的像素和我們應該相信當前的估計;否則,我們更多參考父尺度。此外,多尺度處理對於處理真實成像管道中的非高斯類型的噪聲(例如,斑點[Chatterjee et al. 2011])是有效的。
上述融合沒有利用空間信息,而空間信息在單幅圖像去噪算法中起着核心作用[Zontak et al. 2013]。在這里,我們將時間融合結果 \(x^s\) 代入上述方程在空間域進行非常快速的濾波:
其中濾波算子 \(f(x^s)\) 為方向空間像素融合。我們在一個 \(5\times 5\) 的窗口內沿着最可能的邊緣方向找到所有空間一致的像素。然后是LMMSE估計如式(2)所示,對這些像素進行處理。為了提高效率,我們只對紋理像素進行空間融合(\(p_{tex} > 0.01\))。
紋理概率 函數 \(p_{tex}\) 計算通過sigmoid函數 \(1 / (1 + exp (−5×(g /σ−3)))\) ,\(g\) 是像素和它的4個相鄰像素之間的最大絕對差,\(σ\) 噪聲的估計標准差。為了提高效率,我們估計標准差 \(σ\) 通過計算像素的中值圖像和參考圖像之間的差異。在這些區域,中值圖像(生成在粗糙的尺度)是一個很好的近似於一個干凈的版本參考圖像。對於真實的噪聲,我們使用類似的方法[Liu et al. 2008]將照度分為10個離散箱並估計相應的 \(σ\) 。
擴展補丁。將時域融合和多尺度融合相結合的思想也可以擴展到patch級別,以獲得更好的去噪質量。與點對點融合不同的是,patch的LMMSE估計器應用於頻域,這與變換域中使用的維納濾波器相似[Dabov et al. 2007b]。此外,基於patch的LMMSE估計器為每個像素提供重疊估計,這些像素需要patch聚合(沿時間軸或空間邊緣方向)才能得到最終的融合結果。
算法驗證。我們對一個合成數據集進行定量評估。ground-truth clean圖像來自於BSD300的68張圖像[Martin et al. 2001]。模擬攝像機在移動中,我們重復使用來自真實數據的估計全局同形結構(圖4),並將它們隨機應用到一個干凈的圖像上,以生成一系列圖像(10幀)。然后,我們添加高斯噪聲與各種噪音水平(σ= 20∼60)。注意,我們的合成數據集忽略了真實數據中的許多關鍵因素:視差、非高斯噪聲和非剛體運動。忽視這些關鍵因素可能導致不完整的結論。但是,我們還是在這里提供了一個初步的評價,以供參考,幫助我們更好的了解。
圖6(a)顯示了:平均(基線)、光流+中值濾波、VBM3D [Dabov et al. 2007a]、BM4D [Maggioni et al. 2013]、我們的方法(像素融合)和我們的方法(patch融合)的平均PSNRs。為了獲得更好的結果,我們對所有方法應用了相同的全局單應性。
總的來說,我們的方法(使用像素融合)與VBM3D和BM4D(兩種最先進的去噪方法)相比,在所有噪聲水平上都優於平均和光流。當噪音水平增加,我們的方法執行稍微比BM4D差,但VBM3D下降比我們更快。這個評估部分地證明了我們的方法在真實的攝像機運動和配准誤差存在的情況下的真正威力。請記住,我們的方法比VBM3D、光流和BM4D快2-3個數量級。圖6(b)顯示了這些方法在不同大小的圖像上的運行時間。
此外,我們可以通過將融合擴展到patch級別來獲得最好的結果。與兩種基於patch的方法(VBM3D和BM4D)相比,我們的基於patch的融合仍然是有效的(1-2)數量級更快)。圖7還展示了補丁在時間和多尺度融合方面都比像素表現得更好。這個結論與之前的工作是一致的,因為補丁通常可以使用比像素更多的空間相關信息。更有趣的是,多尺度融合作為時間像素融合的補充,在基於像素的方法中發揮着重要的作用。它大大減少了基於像素的方法和基於補丁的方法之間的差距。
4. Experiments
我們用5台相機采集了20套不同內容的突發圖像,其中包括3台手機,1台單反相機,1台小型相機。每組包含10個鏡頭。我們所有的結果都是由一組固定的參數和基於像素的融合產生的。所有的原始序列和更多的結果都提供了我們的網頁。
4.1 Comparisons
我們將我們的方法與三點方法(時空濾波[Bennett and McMillan 2005]、幸運成像[Joshi and Cohen 2010]、光流[Liu 2009] +時間中值濾波)以及兩種最先進的基於patch的方法(VBM3D [Dabov et al. 2007a]和BM4D [Maggioni et al. 2013])進行了比較。前兩個是基於我們自己的實現,和光流和后兩者均來自作者。對於所有的方法,我們采用相同的全局單應性估計,以幫助他們獲得更可靠的對應。由於某些算法需要已知的噪聲方差,我們嘗試所有可能的噪聲水平,並通過細節恢復和噪聲降低之間的平衡權衡,選擇具有最佳視覺質量的結果。
靜態場景。圖8中的示例是由HTC 802d Android手機捕獲的。運動主要是由相機的運動引起的。這種情況下的挑戰是如何消除空中的強噪聲和恢復建築結構。如我們所見,時空濾波、VBM3D和BM4D仍然在平坦區域(如天空區域)留下一定的噪聲。圖8(b)(f)中所示的建築結構,並沒有通過VBM3D和BM4D得到很好的修復。這是因為,在存在結構噪聲的情況下,無論是時空雙邊濾波器還是patch匹配都存在發現不匹配對應的風險,最終會導致不期望的結果。總的來說,光流、幸運成像的結果和我們的結果是相當的,我們的結果稍微干凈一些。
肖像與小運動。這是在昏暗燈光下拍攝人像的典型場景。圖9中的示例由JVC GC-PX10攝像機記錄。時空濾波、幸運成像和光流法產生了眼睛周圍的“階梯”偽影(圖9 (b)(c)(d))。這是因為主體的小的非剛性運動。VBM3D和BM4D沒有這個問題,但是模糊了圍巾上的細節(圖9 (e)(f))。我們的結果在這兩個地區都是最好的。
復雜場景的運動。圖10和圖11顯示了兩種情況復雜的動態場景。第一個例子是由帶有ISO 6400的EOS 500D加農炮。噪音水平相對較低低。后來的例子是由諾基亞Lumia920獲得的。作為我們可以從兩個例子中看到,幸運成像和光流(+中值濾波)基於結果包含明顯的重影VBM3D結果被過度平滑。BM4D比前兩種方法,但仍然留下一定數量的色度噪聲模式的背景。在我們的解中,我們可以自動選擇與參考幀一致的像素顏色在動態區域上收集更多一致的像素點靜態區域(如布和門)。結果,我們的結果令人震驚最好的平衡消除噪音,重建細節,避免重影。
4.2 More Results
運動模糊處理。在捕捉過程中,一些單獨的幀(例如,10% ~ 30%的總幀)可能由於相機的突然抖動或物體的運動而變得模糊。圖12顯示了用iPhone 5S捕獲的這樣一個示例。我們研究了如果選擇一個模糊的框架作為參考框架會發生什么。為了了解這一點,我們分別選擇框架4 (sharp)和框架5 (blurry)作為參考框架,並生成兩個結果。圖12 (b)和(d)顯示我們的方法對選擇不敏感。這是因為我們的方法能夠從大多數幀中找到一致的像素。在視頻去模糊中也提出了類似的方法[Cho]等人[2012],他們在銳幀上發現了類似的去模糊補丁。
處理極低的光線。圖13是iPhone 4S在極低光照條件下拍攝的序列。由於輸入極暗,我們通過增壓對輸入進行預處理亮度(應用陰影/高光調整)。雖然升壓后的噪聲非常強,但我們的方法仍然成功地生成了具有精細細節的干凈圖像(空氣中的細線和左邊的鋼塔)。
處理大遮擋。圖14顯示了一個具有快速移動的大前景(person)的序列。圖中一致的像素映射揭示了我們的算法如何能夠可靠地處理(快速)大遮擋。
4.3 Time Complexity
我們在擁有16G RAM的Intel i5 3.2GHZ機器上運行我們的方法。我們未經優化的c++實現(單核,沒有SSE SIMD加速)平均需要920ms來處理10幀5Mpixel圖像。具體來說,我們的方法采用82ms, 177ms, 51ms, 30ms, 253ms, 328ms來構建金字塔,提取和匹配稀疏特征,估計單應性流,選擇一致的像素點,進行時間融合,並執行多尺度融合。我們在智能手機(諾基亞Lumia 920)上的原型平均花費約4.7秒,不使用多核或NEON指令或GPU加速。由於我們的解決方案主要基於點向操作,我們預計它可以顯著加快。表1進一步展示了圖8、9、10和11在同一台機器上不同方法的處理時間。
5. Concluding Remarks
在突發圖像中,我們期望相機的運動來自於主體的握手和小/中等的運動。我們的方法不是設計來處理劇烈的運動(例如,在體育運動中),或去噪一般的視頻。當我們的單應性流不能很好地表示兩幀之間的運動時,如場景轉換或快速攝像機平移,甚至非剛性變形(如水波運動、旗幟飄揚),我們的方法就會中斷。
此外,有兩種情況下,我們一致的像素選擇可能會失敗。第一種情況是由動態對象引起的運動模糊出現在大多數幀上(超過所有幀的一半)。在動態區域,我們的像素選擇會自動選擇基於參考幀的策略。如果參照幀包含模糊,我們的結果將保留模糊效果。但是如果選擇一個銳利的框架作為參考,這個問題是可以避免的。圖15 (a)顯示了這樣一個例子。因此,我們需要一個更好的選擇參考系的策略。此外,快速移動的物體將自動刪除的中值為基礎的策略,積極去噪。為了避免這個問題,我們可以提供另一個選項,允許用戶選擇參考幀並約束像素選擇的參考區域。
第二種情況是不同的移動對象和背景可能在相同的像素位置有相似的顏色。我們的像素選擇算法依賴於每像素的色差,色差太弱,無法區分這類對象。圖15 (b)顯示了一個示例。不同移動的人有非常相似的顏色區域,這種模糊區域(高亮框表示)出現在大多數幀(即,超過所有幀的一半)。最后,它會導致重影,因為我們的選擇錯誤地把它作為背景。這個問題也出現在無偽影的HDR重建[Granados et al. 2013]中,它需要相互作用來排除這些模糊區域。
盡管有上述問題,我們相信我們的高效解決方案是足夠的實際部署,以改善用戶在廣泛的照明條件下的照片體驗。