本文來自Google AI博客,介紹了傳統(tǒng)去除馬賽克的方法,以及如何通過多幀畫面去除馬賽克的原理。但在手機上應用這一技術,需要面對不少挑戰(zhàn)。感謝快手圖像算法工程師章佳杰的翻譯。
一直以來, 對移動設備上的數(shù)碼相機來說, 數(shù)碼變焦 (非光學變焦) 就是一個 "丑小鴨". 相對數(shù)碼單反的光學變焦能力而言, 移動設備上的數(shù)碼變焦拍攝的圖片質量是無法與單反相機的光學變焦的圖片質量相提并論的。傳統(tǒng)觀點認為, 單反變焦鏡頭的復雜光學和機械結構有其優(yōu)越性, 更緊湊的移動設備上的數(shù)碼相機即使加上聰明的算法也并不能取代之.
有了 Pixel 3 上全新的超分辨變焦 (Super Res Zoom) 技術, 我們正在挑戰(zhàn)這一傳統(tǒng)觀點。
Pixel 3上的超分辨變焦技術優(yōu)于以前的數(shù)碼變焦技術是由于它可以直接將多幀圖像合成為一張高分辨率圖像,而不是像之前的數(shù)碼變焦技術僅僅基于單張圖片的裁剪并放大的策略。這種多幀圖像的合成技術可以得到細節(jié)大幅提升的結果, 幾乎可以與其他智能手機上 2x 光學變焦的結果相媲美。超分辨變焦意味著, 與先按下快門然后裁剪放大相比, 先捏指縮放畫面來變焦, 然后按下快門, 你能得到更多的細節(jié)。
2x 變焦對比: Pixel 2 vs. Pixel 3 上的超分辨變焦
數(shù)碼變焦的難點
數(shù)碼變焦是一項困難的工作, 因為一個好的算法必須從一個低分辨率的圖像出發(fā), 可靠地 "重構" 出丟失的細節(jié)。典型的數(shù)碼變焦是對單張圖像的一小部分進行裁剪并放大而得到一張更大的圖像。傳統(tǒng)算法是用線性插值的方法來完成的,線性插值嘗試生成原圖中沒有的細節(jié), 但是這帶來了模糊, 或者稱之為 "塑料感", 缺乏細節(jié)和紋理。相對而言, 大多數(shù)現(xiàn)代的單圖放大算法使用了機器學習的手段 (包括我們早先的工作,RAISR)。這些方法能放大特定的圖像特征, 比如直線邊緣, 甚至可以合成一些紋理, 但是不能恢復出高分辨率的自然細節(jié)。雖然我們仍舊在用 RAISR 對圖像視覺質量進行增強, 但是分辨率方面的提升 (至少對大多數(shù)變焦倍數(shù)比如 2-3x), 更多的來自于我們的多幀方法, 超分辨變焦技術。
色彩濾鏡陣列與去馬賽克
重建精細細節(jié)是非常困難的, 因為數(shù)碼照片本身是不完整的, 一張數(shù)碼照片實際上是從一部分的顏色信息重建而來的, 這稱為去馬賽克的過程。在典型的消費級數(shù)碼相機中, 相機傳感器元件僅能記錄光的強度, 而不是直接記錄顏色。為了捕捉場景中存在的真實顏色, 相機使用放在傳感器前面的色彩濾鏡陣列, 以便每個像素僅記錄單一顏色 (紅色, 綠色或藍色),這些濾鏡以拜耳模式(Bayer Pattern)排列, 如下圖所示。
拜耳色彩濾鏡馬賽克陣列示意圖:每一個 2x2 的像素組通過一個特定的色彩濾鏡記錄光線的顏色,兩個綠色像素 (因為人的眼睛對綠色的光線更敏感), 一個紅色像素, 一個藍色像素. 這種模式不斷重復, 填滿整個畫面。
然后相機內部的處理流程必須重建真實顏色和所有像素的所有細節(jié)。(注:值得注意的是, 在某種程度上這個情況與我們的視覺系統(tǒng)相似。在人類和其他哺乳動物的眼睛中, 不同的視錐細胞對不同的顏色敏感, 最后大腦填充了剩下的細節(jié)以重建完整的圖像。) 算法通常會從附近像素中的顏色進行插值, 對缺失的顏色信息進行最佳猜測, 以此來完成去馬賽克的過程, 這意味著 RGB 數(shù)碼照片的三分之二像素實際上是通過重建得到的!
去馬賽克的過程, 使用了相鄰像素來重建丟失的顏色信息。
在最簡單的情形中, 去馬賽克可以通過對相鄰像素值進行平均來實現(xiàn)。雖說大多數(shù)真正的去馬賽克算法比這更為復雜, 但受限于本質上的信息不完整, 這些算法仍然會導致不完美的結果和偽像。這種情況即使是大畫幅的數(shù)碼單反相機也存在, 但是它們的傳感器和鏡頭更大, 在典型情況下, 單反能比移動設備相機記錄更多的細節(jié)。
如果你在移動設備上捏指縮放進行變焦 (數(shù)碼變焦), 算法不得不從附近像素再一次插值來構成更多信息, 情況會變得更差。但 (在成像過程中) 并非所有信息都丟失了, 即使受到移動設備光學系統(tǒng)限制, 也可以使用連拍攝影和多幀圖像融合來實現(xiàn)超分辨率。
從連拍攝影到多幀超分
雖然單幅圖片不能提供足夠的信息來填充缺失的顏色, 但我們可以從連續(xù)拍攝的多幀圖像中獲取一些缺少的信息。拍攝并融合多幀連續(xù)照片的過程稱為連拍攝影,在 Nexus 和 Pixel 手機上成功應用的谷歌 HDR+ 算法就使用了多幀的信息, 使手機拍攝的照片能達到更大傳感器的畫質水平。我們是否可以采用類似的方法來提高圖像分辨率?
其實這個方法已經有十多年的歷史, 在包括天文學領域。其基本概念被稱為 "drizzle", 對從略微不同的位置拍攝的多個圖像進行融合, 在 2x 低放大率下或 3x 而照明條件良好的情況下, 可以產生相當于光學變焦的分辨率。這就是多幀超分辨率算法, 通常的思路是將低分辨率連拍攝影的圖像直接進行對齊, 然后合并到所需 (更高) 分辨率的像素網(wǎng)格上。以下是理想化的多幀超分辨率算法如何工作的示例:
標準去馬賽克過程 (最上一排) 需要對確實的顏色進行差值。與此相比, 理想情況下, 每一幀圖像水平或垂直移動一個像素, (多幀超分辨率算法) 可以從這些圖像獲得信息來填充缺失的顏色。
在上面的例子中, 我們拍攝了 4 幀, 其中三幀正好移動了一個像素, 分別是水平方向, 垂直方向, 水平和垂直兩個方向。這樣的話, (利用這些移動了的圖像上的像素值) 所有缺失的顏色都會得到補充, 根本不需要任何去馬賽克的過程! 實際上, 一些數(shù)碼單反相機就支持這種操作, 但只有當相機在三腳架上時, 傳感器/光學器件才會主動移動到不同位置,這有時被稱為 "microstepping"。
多年來, 這種用于更高分辨率成像的 "超分辨率" 方法的實際應用仍主要限于實驗室用途, 或用于某些受控環(huán)境下, 傳感器和拍攝主體之間可以對齊, 人們可以控制或嚴格限制它們之間的移動。例如, 在天文攝影中, 望遠鏡是固定的, 望遠鏡拍攝的天空區(qū)域是移動的, 而天空的移動是可預測的。但在像現(xiàn)代智能手機這樣廣泛使用的成像設備上, 在需要放大的場合 (如移動相機數(shù)碼變焦) 實際使用超分辨率算法, 仍然大部分情況下都無法實現(xiàn)。
部分原因是, 為了使算法正常工作, 需要滿足某些條件。首先, 也是最重要的一點是, 鏡頭分辨率要比使用的傳感器本身更高 (相比之下, 你可以想象這樣一種情況, 即鏡頭的設計非常糟糕, 以至于采用更好的傳感器不會帶來任何好處)。這種特性通常帶來我們不喜歡的圖像瑕疵,也就是數(shù)碼相機中的混疊現(xiàn)象。
圖像混疊
當相機傳感器無法忠實地記錄場景中存在的所有圖案和細節(jié)時, 會產生混疊效應?;殳B的一個很好的例子是摩爾紋, 有時可以在電視上看到, 由于不幸地選擇了一件條紋衣服, 拍攝的畫面中有明顯的摩爾紋 (https://www.youtube.com/watch?v=jXEgnRWRJfg)。此外, 當物體在場景中移動時, 物理特征 (例如桌子的邊緣) 的混疊效果會發(fā)生變化。你可以在以下連拍序列中觀察到這一點, 其中, 連拍序列期間相機的輕微運動會產生時變混疊效果:
左圖: 高分辨率單圖, 桌子的邊緣與高頻模式的背景。右圖: 連拍序列中的不同幀。不同幀之間, 混疊效應和摩爾紋現(xiàn)象很明顯, 像素看起來在跳動, 產生了不同的彩色條紋。
然而, 這種現(xiàn)象對我們來說是一種幸運。如果我們分析產生的條紋, 可以知道它提供了不同像素的顏色和亮度值信息, 正如前一節(jié)所述,我們可以借此實現(xiàn)超分辨率。雖說如此, 許多挑戰(zhàn)仍然存在. 因為實際上用戶會手持手機, 拍攝一組連拍序列, 超級分辨率算法需要在任何情況下都能奏效。
利用手震進行實際超分辨率合成
如前所述, 一些數(shù)碼單反相機提供了特殊的三腳架超分辨率模式, 其工作方式與我們到目前為止所描述的方式類似。這些方法依賴于相機內部的傳感器和光學器件的物理移動, 但是這些方法需要相機完全穩(wěn)定, 而這在移動設備中是不切實際的。移動設備幾乎總是手持的,這似乎給移動平臺上的超分辨率成像制造了一個障礙。
然而, 我們通過利用人手的自然動作來克服這種困境。當我們用手持相機或手機拍攝一連串照片時, 每一幀的圖片之間總會有一些移動,光學防抖 (OIS) 系統(tǒng)可以補償大的相機運動, 比如相隔 1/30 秒的連續(xù)幀之間通常為 5-20 像素, 但無法完全消除更快, 更低幅度, 自然的手震。這種手震所有人都有 (即使是那些 "鐵手" 也會有輕微的手震)。當使用高分辨率傳感器的手機拍攝照片時, 手震的幅度僅為幾個像素。
對多幀圖像全局對齊, 裁剪之后, 很明顯能看出手震效應。
為了利用手震, 我們首先需要將圖像對齊在一起。我們選擇連拍中的單幀圖像作為 "基礎" 或參考幀, 并相對于它對齊其余每幀。對齊后, 圖像大致組合在一起, 如前文所示。當然,手震不太可能恰好把圖像移動單個像素, 因此我們在將顏色填入?yún)⒖紟南袼鼐W(wǎng)格之前, 需要在每個新幀中的相鄰像素之間進行插值。
即使當設備完全穩(wěn)定 (例如放置在三腳架上) 而不存在手震時, 我們仍然可以通過強制 "搖晃" 相機來強制 OIS 模塊在鏡頭之間輕微移動來模擬自然手震。這種動作非常小, 不會干擾正常照片,但你可以這樣來觀察到, 將手機完全靜止, 例如將其按在窗戶上, 然后在取景器里捏指縮放到最大放大率, 在 Pixel 3 上自行觀察, 在遠處的物體中可以看到一個微小但連續(xù)的橢圓運動, 如下圖所示。
克服超分辨率的難點
我們上面給出的理想過程的描述聽起來很簡單, 但超分辨率并不那么容易。有很多原因導致它沒有被廣泛用于手機等消費產品, 我們需要在算法上進行重要的創(chuàng)新。難點包括:
1. 即使在良好的照明條件下, 連拍序列中的單個圖像也會產生噪聲。對一個實用的超分辨率算法來說, 算法需要知道這種噪聲, 并盡量忽略這些噪聲。我們不希望得到一個高分辨率的帶噪聲圖像, 我們的目標是既增加分辨率又產生更少噪聲的結果。
2. 連拍圖像之間的運動不僅限于相機的運動。場景中可能會有復雜的運動, 例如風吹過的樹葉, 在水面上移動的漣漪, 汽車, 移動的人, 人也會改變他們的面部表情, 或者火焰的閃爍, 甚至有一些不能進行單一的運動估計的情況, 有些物體是透明的或多層的, 例如煙霧或玻璃. 完全可靠的局部對齊通常是不現(xiàn)實的, 即使運動估計不完美, 超分辨率算法也需要運算正確。
3. 由于大部分運動是隨機的, 即使存在良好的對齊, 數(shù)據(jù)在圖像的某些區(qū)域可能是密集的, 而在另一些區(qū)域則是稀疏的。超分辨率的關鍵是一個復雜的插值問題, 而算法的目標是在整個像素網(wǎng)格的所有部分都中生成更高分辨率的圖像, 數(shù)據(jù)的不規(guī)則散布使得這項任務變得更具有挑戰(zhàn)性。
所有上述困難似乎使現(xiàn)實世界的超分辨率在實踐中不可行, 或者至多僅限于靜態(tài)場景和放置在三腳架上的相機. 借助 Pixel 3 上的超分辨變焦技術, 我們開發(fā)出一種穩(wěn)定而準確的方法, 用于連拍照片分辨率提升, 該方法使用自然的手部動作, 并且足夠穩(wěn)健且高效, 可以部署在手機上。
以下是我們對其中一些困難是如何克服的:
1. 為了有效地合并連拍中的幀, 并為每個像素生成紅綠藍像素值值, 從而不需要去馬賽克, 我們開發(fā)了一種在幀之間融合信息的方法。該方法自適應地考慮了圖像的邊緣信息。具體來說, 我們分析輸入幀, 調整融合的方法, 在增加細節(jié)和分辨率, 與減少噪聲和平滑圖像之間做權衡。我們通過沿著明顯邊緣的方向合并像素, 而不是跨越邊緣來實現(xiàn)這一點。實際效果是我們的多幀方法在降噪和細節(jié)增強之間提供了最佳的平衡。
左圖: 降噪和超分辨之間沒有達到最優(yōu)權衡。右圖: 降噪和超分辨之間更好的權衡。
2. 為了使算法可靠地處理具有復雜局部運動 (人, 車, 水或樹葉移動) 的場景, 我們開發(fā)了一種魯棒的模型, 用于檢測對齊誤差并將其減小。我們選擇一個幀作為 "參考圖像", 并當我們確定找到了正確的相應特征時才將來自其他幀的信息合并到其中。通過這種方式,我們可以避免諸如 "重影" 或運動模糊之類的偽像, 以及圖像被錯誤融合的部分。
一個快速移動巴士的場景。左圖: 沒有使用魯棒融合模型。右圖: 使用了魯棒融合模型。
讓手機攝影更上一層樓
去年的人像模式, 以及之前的 HDR+ 算法, 展示了手機攝影可以達到的優(yōu)秀程度。今年, 我們在變焦方面做出了同樣的工作。這是推動計算攝影學發(fā)展的又一進步, 同時縮小了手機攝影和數(shù)碼單反相機之間的畫質差距。這里有一份包含原始視角圖像的圖集, 以及采用超分辨變焦技術拍攝的圖像 (https://photos.app.goo.gl/E8LZW9LRBdFV8kXD8)。請注意, 此圖集中的超分辨變焦圖像未被裁剪, 拍攝的時候使用捏指縮放直接在手機上進行拍攝。
左圖: Pixel 2 上裁剪并進行 7x 放大的圖像。右圖: Pixel 3 上同樣視角使用超分辨變焦技術的圖像。
超分辨率的想法比智能手機的出現(xiàn)早了至少十年,幾乎同樣早的, 這種技術就通過電影和電視的虛構情節(jié)出現(xiàn)在公眾面前。在學術期刊和會議上, 有成千上萬篇論文對此進行研究,而現(xiàn)在, 它已經成為現(xiàn)實, 就在你手中的 Pixel 3 里。
-
圖像
+關注
關注
2文章
1084瀏覽量
40470 -
馬賽克
+關注
關注
0文章
14瀏覽量
7051 -
Pixel
+關注
關注
1文章
237瀏覽量
10011
原文標題:Pixel 3的超分辨變焦技術
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論