外文翻译之 Removing Camera Shake from a Single Photograph
從單幅圖像中消除相機抖動
Rob Fergus Barun Singh Aaron Hertzmann Sam T. Roweis William T. Freeman
摘要:
曝光期間的相機抖動會導致令人反感的圖像模糊從而毀掉很多照片。常規(guī)的盲去卷積方法通常假設圖像的頻域約束,或過度簡化相機抖動運動路徑的參數(shù)形式。真實的相機運動可能有復雜的路徑,而空域的先驗知識可以更好地保持視覺上顯著的圖像特點。 我們介紹一種從嚴重模糊的圖像中消除相機抖動影響的方法。該方法假定均勻的相機模糊圖像以及可忽略不計的平面內相機回轉。為了估計相機抖動造成的模糊,用戶必須指定沒有飽和效果的圖像區(qū)域。我們展示了許多遴選自個人照片集的數(shù)字圖像的處理結果。
關鍵詞:
相機抖動,圖像盲去卷積,變分學習,自然圖像統(tǒng)計知識
1、簡介:
致使圖像模糊的相機抖動,對拍照者來說是個長期存在的問題。數(shù)字圖像愛好者的日益增長使相機抖動問題越來越突出,尤其是小型高分辨率相機的普及,因其輕量級的特點使得拍照時相機的固定變得困難。許多照片都是捕獲短暫的瞬間,不可能在受控條件下或是不同相機設置情況下反復拍攝,不管什么原因只要在圖像中出現(xiàn)相機抖動,那曇花一現(xiàn)的瞬間將會失去。
可以通過使用更快的曝光來緩解抖動,但這可能導致其他問題,如傳感器噪聲或小于預期的景深。三腳架或其他專用硬件可以消除相機抖動,但這些都很笨重,而且大多數(shù)拍攝者使用的是傳統(tǒng)的便攜式手持相機。由于產生不自然的色調,用戶可以避免使用閃光燈。根據(jù)我們的經驗,許多本來業(yè)余拍攝者喜歡的照片被相機抖動給破壞了。一個從捕獲的照片中消除該運動模糊的方法將是數(shù)字圖像的重要資產。
可以將相機抖動建模為,描述相機在曝光期間運動的模糊核與原始圖像的卷積。消除未知的相機抖動是一種盲去卷積問題,在圖像和信號處理中存在已久。在最基本的模型中,問題是沒有約束的:我們有比已知量(觀測圖像)更多的未知量(原始圖像和模糊核)。因此,實用的解決方案必須要有關于模糊核或者復原圖像準確的先驗假設,兩者都有更好。該類問題傳統(tǒng)的信號處理算法僅對頻域冪律做非常籠統(tǒng)的假設,算法結果只對非常小的模糊核有用,不適用于復雜的相機抖動模糊核。此外,算法利用頻域中指定的圖像先驗信息可能不會保留重要的空間結構,如邊緣信息等。
本文介紹一種從圖像中消除未知相機抖動效果的新技術,這一進展得益于以往工作中的兩項關鍵改進。首先,我們研究自然圖像的統(tǒng)計知識,發(fā)現(xiàn)自然場景通常遵循特定的圖像梯度分布。其次,我們以Miskin和MacKay的工作為基礎,采用貝葉斯方法,考慮未知中不確定性,通過隱含圖像概率分布找到模糊核。有了模糊核,圖像就可以通過標準的反卷積運算重建出來,盡管我們相信在重建階段這方面還有很大的改進空間。
我們假設所有的圖像模糊都可以描述為單個卷積;即沒有明顯的視差,任何圖像平面旋轉很小,并且在曝光期間場景的任何部分都沒有相對移動彼此相互接觸。我們的方法目前需要少量用戶輸入。
我們的重建工作確實包含了手動部分,尤其是在以上假設違背的情況下有效;它們在某種情況下是可以接受的,專業(yè)設計人員可以適時修改得到接近的結果。對比而言,原始圖像是用不了的,很難完全恢復。實際上我們的方法可以修復那些本來完全丟失信息的圖片。
2、相關工作:
圖像去模糊的任務其實就是圖像去卷積;如果模糊核不清楚,那么這個問題成為盲去卷積。關于該領域廣泛文獻的調查見[Kundur and Hatzinakos 1996]。現(xiàn)存的盲去卷積的方法通常假設模糊核具有簡單的參數(shù)形式,例如高斯或者低頻傅里葉分量。但是如圖所示,通過我們的例子,相機抖動中的模糊核并沒有簡單的形式,往往包含非常鋒利的邊緣。通常對輸入圖像進行類似的低頻假設,例如,應用正則化方法。這樣的假設可以防止高頻(如邊緣)出現(xiàn)在重建圖像中。Caron等人假設在圖像上施加冪律分布,冪律是一種簡單的自然形式,不保留本地結構的圖像統(tǒng)計信息。一些方法結合冪律與小波域約束,但不適用于我們的例子中復雜模糊核。
反卷積方法在天文圖像中得到了發(fā)展[Gull 1998,Richardson 1972,Tsumuraya 1994,Zarowin 1994],其統(tǒng)計數(shù)據(jù)與我們在本文中提到的自然場景截然不同。在此領域中盲去卷積是直截了當?shù)?#xff0c;因為孤立星球的模糊圖像揭示了點擴散函數(shù)。
另一種方法是假設有同一場景多個圖像可用 [Bascle et al。1996; Rav-Acha和Peleg2005]。硬件方法包括:光學穩(wěn)定的透鏡[佳能公司2006],專門設計的CMOS傳感器[劉和Gamal 2001]和混合成像系統(tǒng)[Ben-Ezra和Nayar 2004年]。因為我們希望我們的方法與現(xiàn)有的相機和圖像一起使用,并為盡可能多的情況工作,我們不要假設任何此類硬件或額外圖像可用。
最近在計算機視覺方面的工作表明了重尾的有用性,自然圖像先驗知識廣泛應用于各個方面,去噪[Roth and Black 2005],超分辨率[Tappen et al. 2003],內在圖像[Weiss 2001],視頻消光[Apostoloff和Fitzgibbon 2005],修復[Levin et al。 2003],以及分離反射[Levin andWeiss 2004]。每種方法都是有效的盲去卷積,在圖像形成過程中(例如,超分辨率中模糊核)是假設預先知道的。
Miski和MacKay [2000] 使用原始像素強度先驗對線條藝術圖像進行盲去卷積。結果顯示為少量合成圖像模糊。我們應用類似的變分,用圖像梯度代替自然圖像強度并增強算法,以實現(xiàn)對帶有明顯模糊的圖像復原。
3、圖像模型:
我們的算法將模糊圖像B作為輸入,假定它是由模糊核K與原始潛在圖像L卷積疊加噪聲形成的:
其中,
代表卷積(非周期邊界條件), N表示每個像素上的傳感器噪聲。我們假設圖像的像素值與傳感器的輻照度線性相關。原始潛在圖像L代表我們的目標圖像;我們的目標是在不清楚K的情況下從B中恢復L 。
為了從這種有限的測量中估計潛在圖像,有一些關于圖像越準確的先驗信息是至關重的。幸運的是,最近研究的自然圖像統(tǒng)計數(shù)據(jù)顯示,雖然現(xiàn)實世界的場景圖像的絕對顏色分布變化很大,但他們的梯度服從了重尾分布:大部分像素梯度分布都在很小的值上,像素梯度值大的概率比高斯分布的概率大。這很符合我們的直觀感受,即像素值在大部分區(qū)域有固定強度或者輕微浮動的強度,而在邊緣或中斷邊界處往往有巨大的變化。例如,圖二顯示了一個自然圖像和它的梯度幅度分布圖。分布表明圖像主要包含小梯度或零梯度,但有幾個梯度有很大的幅度。最近的圖像處理方法基于重尾分布,將最先進的結果應用于圖像去噪[Roth and Black 2005; Simoncelli 2005]和超分辨率[Tappen et al. 2003]。相比之下,基于高斯分布的先驗方法(包括使用正則化約束)會產生過于平滑的圖像。
我們用零均值高斯混合模型擬合梯度的分布,如圖二所示。之所以選擇這種表示方式,是因為它可以很好地逼近經驗分布,同時允許對我們的算法進行易于處理的估計。
4、算法:
算法主要分為兩步:1、根據(jù)輸入圖像估計模糊核,以由粗到精的方式避免局部極小值。2、利用估計的模糊核,采用標準的去卷積算法估計清晰圖像。
首先用戶需要提供四個輸入:1、模糊圖像B;2、模糊圖像的一個矩形塊;3、模糊核的大小上限值(像素);4、關于模糊核方向的初步猜測(水平或垂直方向),如何指定這些參數(shù)將在4.1.2節(jié)詳細介紹。除此之外,我們需要在處理之前將圖像B轉換到一個線性的色彩空間,利用反伽瑪校正,γ的值為2.2。為了估計預期的模糊核,我們根據(jù)用戶指定的塊,將原始圖像的所有顏色通道聯(lián)合一起產生灰度模糊塊P。
4.1、估計模糊核
對于給定的灰度模糊塊P,我們估計K和清晰圖像塊Lp 。通過找到具有最高概率值的像素值,由對L的統(tǒng)計先驗得到。既然數(shù)據(jù)統(tǒng)計是基于圖像梯度而不是強度,我們對梯度域進行最優(yōu)化,利用 Lp和P 的梯度值。因為卷積是一個線性操作,P 的梯度值應該等于 Lp和的卷積,再加上噪聲,我們假設噪聲是方差為σ ^2 的高斯函數(shù)。
正如先前討論的,Lp的先驗梯度概率分布是一個C型零均值的混合高斯模型分布的(對第K個高斯分布來說,方差為vc,權值為 πc)。我們使用稀疏先驗概率 表示模糊核,支持0值,并且要求所有值為正。特別地,模糊核的值的先驗是D型指數(shù)分布的混合(尺度因子λd和權值πd)。
在▽P已知的情況下(可以統(tǒng)計測量得到),通過貝葉斯公式,可以得到后驗概率:
其中,i代表圖像中的像素點,而j代表模糊核的;N和E分別代表高斯和指數(shù)分布。便于處理,假設▽P彼此之間相互獨立,▽Lp像 與K一樣。
該問題的直接解決方法是將其視為一個最大后驗概率問題,即求模糊核K與潛在圖像的梯度▽L使得最大。這相當于解決一個正則化的最小二乘問題,試圖擬合數(shù)據(jù),同時使得梯度最小化。我們嘗試這樣做(擁共軛梯度研究),但該方法還是失敗了。一種解釋是MAP目標函數(shù)試圖最小化所有梯度(甚至大的),而我們期望自然圖像有一些大的漸變。 所以,該算法產生雙色調圖像,因為幾乎所有的梯度是零。 如果我們減少噪聲方差(從而增加在數(shù)據(jù)擬合項上的權重),然后算法對于K來說會產生delta函數(shù),它完全擬合模糊的圖像,但沒有任何去模糊。 此外,我們找到的MAP目標函數(shù)非常容易受到圖像局部極小值的影響。
取而代之,使用近似后驗分布,用最大邊際概率計算核K。該方法選擇最可能與潛在圖像的分布有關的核,從而避免了在選擇圖像的單個“最佳”估計時可能發(fā)生的過擬合。
為了更好的計算這個近似,這里使用了變分貝葉斯的方法,使用去代替,該方法得益于Miskin and MacKay對動畫圖像進行盲去卷積。滿足因式分解。對于潛在的圖像梯度,這種近似是高斯密度,而對于非負模糊核元素,這種近似是一種經矯正的高斯分布。每個潛在圖像的梯度和模糊核元素的分布由它們的均值和方差表示,并存儲在一個數(shù)組中。
根據(jù)Miskin and MacKay,在評估過程中,將噪聲變量視為一個未知量,可以將用戶從調優(yōu)過程中解放出來。這允許噪聲方差在估計過程中發(fā)生變化:數(shù)據(jù)擬合約束在過程的早期是松散的,隨著找到更好的、低噪聲的解決方案,數(shù)據(jù)擬合約束變得更緊。設σ ^2在逆方差上有伽馬分布,有超參數(shù)a,b, 。σ ^2的變分后是,另外一個伽馬分布。
變分算法的最小化的是模擬分布與真實分布之間的距離。用式子表現(xiàn)出來即: 。變分后驗中的獨立性假設允許對代價函數(shù)C _KL進行因式分解:
其中代表。為簡便起見,依賴項▽P省略了。
代價函數(shù)最小化過程如下。與分布的均值設置為 K與▽Lp分布的方差較高,反映了初始估計的不確定性。然后通過坐標下降交替更新分布參數(shù);其中一個是通過在合并模型先驗的同時將另一個邊緣化來更新的。更新是通過計算封閉形式的最優(yōu)參數(shù)更新,并在這些更新值的方向上執(zhí)行行搜索(詳見附錄A)。一直更新直到C _KL可以被忽略。邊緣分布的均值作為 K的最終值。我們算法的執(zhí)行采用的是Miskin 和 MacKay提供的的網上源程序代碼。
在上面概述的公式中,我們忽略了圖像中飽和像素的可能性,這是一種尷尬的非線性,違背了我們的模型。由于顯式地處理它們比較復雜,所以在推理過程中我們更喜歡簡單地掩蓋圖像的飽和區(qū)域,這樣就不會用到它們。
在變分框架中,在 K與▽Lp的先驗使用了C=D=4個元件。潛在圖像中方差vc權重πc使用EM通過街景圖像估計得到。由于圖像統(tǒng)計量隨尺度而異,每個尺度級別都有自己的一組先驗參數(shù)。這個先驗被用于所有的實驗。模糊核元素的先驗參數(shù)是由一組從真實圖像中推斷出來的低噪聲核估計出來的。
4.1.1、多尺度方法
上一節(jié)描述的算法受局部極小值的影響,特別是對于大的模糊核來說。因此,我們通過從粗到精的方式改變圖像分辨率來進行估計。在粗級別, K是3x3的核。為了確保正確的算法,我們手動指定初始3×3模糊內核兩種簡單的模式(見4.1.2節(jié))。然后,在保持 K固定的情況下,運行推理方案,得到潛在梯度圖像的初始估計。
然后我們回到金字塔,在每一層運行推理; K與▽Lp的聚合值被上采樣作為金字塔下一層初始化參考值。在最好的尺度上,推理收斂到全分辨率的核 K。
4.1.2、用戶監(jiān)督
雖然使用全梯度圖像▽L運行多尺度推理方案似乎更自然,但在實踐中,我們發(fā)現(xiàn),如果手工選擇具有豐富邊緣結構的小塊,該算法的性能更好。手動選擇允許用戶避免大面積的飽和或均勻性,這可能干擾算法或得不到信息。此外,該算法在一個小塊上比在整個圖像上運行要快得多。
另外一個參數(shù)是模糊內核的最大大小。在圖像中遇到的模糊的大小差別很大,從幾個像素到幾百個像素不等。如果算法是用一個非常大的內核初始化的,那么很難解決小的模糊問題。相反,如果使用的內核太小,就會出現(xiàn)大的模糊。因此,對于所有條件下的操作,內核的大約大小是用戶所需的輸入。通過檢查圖像中的任何模糊偽影,可以很容易地推斷出內核的大小。
最后,我們還要求用戶在模糊內核的兩種初始估計中選擇一種:水平線或垂直。盡管算法通常可以在任何一種狀態(tài)下初始化,并且仍然生成正確的高分辨率內核,但這確保了算法開始在正確的方向上搜索。通過查看圖像中任何模糊的內核工件,可以很容易地確定適當?shù)某跏蓟?br /> 4.2、圖像重建
多尺度推斷過程輸出模糊的估計內核K,在所有可能的圖像重建中被邊緣化。為了從該模糊核中復原模糊圖像,我們嘗試了各種盲去卷積方法,包括Geman [1992],Neelamani [2004]和van Cittert [Zarowin 1994]這些人的方法。雖然這些方法中的許多方法在合成測試示例中表現(xiàn)良好,但我們的真實圖像表現(xiàn)出一系列非線性,這些問題在合成的情況下不存在,例如非高斯噪聲,飽和像素,色階中的殘余非線性和估計內核中的錯誤等等。用他們的算法處理我們的圖像,結果令人失望,大多數(shù)方法產生不同程度的偽影。
我們還對整個圖像B的梯度▽B使用變分推理算法,保持K固定不變。圖像的像素強度由泊松圖像重建。除了運行緩慢,無法模擬上面提到的重建過程中的非線性,該方法與其他方法沒什么區(qū)別。
L通常很大,考慮到速度,簡單的方法很有吸引力。因此,我們用RL重建了潛在的彩色圖像 L,雖然RL方法的性能與其他評價方法相當,但它的優(yōu)點是只需幾分鐘,即使是在大圖像上(其他更復雜的方法,需要數(shù)小時或數(shù)天)。RL是一種非盲反卷積算法,它迭代最大化泊松統(tǒng)計圖像噪聲模型的似然函數(shù)。與更直接的方法相比,這種方法的一個好處是,它只提供非負的輸出值。我們利用Matlab的實現(xiàn)算法來估計 L,給定 K,對每個顏色通道進行獨立處理。我們使用了10次RL迭代,盡管對于大的模糊內核,可能需要更多。在運行RL之前,我們根據(jù)內核中的最大強度值,通過應用動態(tài)閾值來清除 ,該閾值將某個值以下的所有元素設置為零,從而降低內核噪聲。然后使用γ=2.2對RL的輸出進行γ校正,并將其灰度直方圖與 B的灰度直方圖(使用Matlab的histeq函數(shù))進行匹配,從而生成 L。詳細偽代碼請看附錄A。
.
總結
以上是生活随笔為你收集整理的外文翻译之 Removing Camera Shake from a Single Photograph的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pytorch使用VGG做迁移学习(基于
- 下一篇: 读文章笔记(八):多模态情感分析数据集整