為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

軟件 相機 Google 單反 天文攝影 少數派 2018-12-16

藉助算法(而不是鏡頭)進行數字變焦可以說是一種較為粗陋的做法,而這種方法在移動設備上已被廣泛使用了多年。

和具備光學變焦能力的相機比起來,數字變焦得來的照片畫質往往會很差,因此人們一般也都認為,光學結構和鏡頭尺寸上的「壓制」是移動設備靠便攜性和軟件算法難以跨越的。

不過對谷歌相機團隊的軟件工程師和計算攝影團隊的首席科學家而言,藉助算法挑戰硬件幾乎已經是家常便飯了。今年,他們就借 Pixel 3 上的 Super Res Zoom 對移動設備上的數字變焦難題發起了挑戰。

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

2x 變焦下,拍攝後裁剪(Pixel 2) vs. Super Res Zoom(Pixel 3)

去馬賽克:數字圖像變焦難的根源

數字變焦的難度在於如何丟失的細節進行「重建」。

一般而言,數字變焦會對原始圖像進行裁剪並將裁剪出來的部分進行放大,在這個放大過程中,傳統的 線性插值(linear interpolation)法會創造出一些原圖中並沒有的畫面要素,導致最終生成的畫面模糊嚴重,充滿因質感和細節失真造成的「塑料感」。

從某種程度上來說,這種細節丟失其實是不可避免的,因為數字成像本身就是一種對色彩信息的重建,這個重建過程也叫「去馬賽克(demosaicing)」。

在普通消費者的手機上,相機傳感器元件一般只記錄光線強度而不是色彩信息,要將這些收集到的光線數據變成實實在在的色彩,還需要通過位於傳感器前方的拜爾濾色鏡(CFA)進行轉化,讓紅黃藍三色得以在像素上正確排列。

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

人眼對綠光敏感,故一個 2x2 大小的拜爾濾色陣列由 1 紅、1藍、2 綠組成

也就是說,這種畫面細節的丟失從我們按下快門後就已經開始了——收集到色彩信息後,成像算法必須像掃雷那樣根據捕獲到的像素信息對周邊缺失的像素進行推測,完成去馬賽克的過程。最終經過這種「猜測」重建而成的畫面大約佔一張照片的 2/3!

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

去馬賽克通過相鄰像素來重建丟失的色彩信息

顯然,這種通過鄰近像素平均值進行細節重建的方法非常簡陋,帶來的畫面失真問題也很嚴重。雖然很多去馬賽克手段都採用了更為複雜的算法,但在色彩信息受限的大前提下,能夠達成的實際效果難言完美,就連那些能夠藉助大尺寸傳感器和鏡頭獲取到更多細節的單反相機也難逃其影響。

因此當我們在手機上手動縮放照片或通過裁剪進行放大時,算法還需要藉助線性插值對原本就已經有細節丟失的圖像進行進一步「猜測」補全,最終得到的照片效果自然也就更差。

再向天文攝影學「取經」

但正如上面所說,圖像在數字變焦放大的過程中依然有部分原始色彩信息保留了下來,這正是高速連拍與多幀合成手段排上用場的地方。而當單張圖片難以滿足我們的去馬賽克需求時,我們就需要藉助多張圖片來獲取同一畫面場景的更多細節了——高速連拍恰好可以做到。

此前,Google 已經在 Nexus 和 Pixel 手機上的 HDR+ 算法中運用了高速連拍,通過合成多張短曝光照片來生成一張高動態範圍、精細細節的合成照片。但類似的方法可以用在提升數字變焦圖像精度這件事情上嗎?

在天文攝影學中,DRIZZLE 是一種已經流行了數十年的常用拍攝技巧——通過捕捉併合成多張拍攝角度略有變化的照片來實現 2x 甚至 3x 的數字變焦效果。這個手法又叫做多幀超分辨率採樣(超採樣),基本理念是將多張低分辨率的連拍照片直接合並對齊到更高分辨率的像素網格中。具體的合併對其流程如下:

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

向右、下和右下平移,最終補全缺失像素

在上面這個例子中,我們捕獲了四幀畫面,其中三幀都通過一個像素單位的平移(分別向右、下和右下)來進行色彩信息補全,補全後的圖像完全無需進行任何的去馬賽克操作。事實上,一些單反相機早已支持這種名為「microstepping」的拍攝方式,但一般都需要藉助三腳架。

過去幾年時間裡,這種「超採樣」技術的實際應用一直受限於實驗室,具體操作也大多對傳感器和拍攝主體的位置和相對運動狀態有著諸多限制,天文攝影中的固定射電望遠鏡就是個最好的例子。

但這個技術遲遲沒能來到移動設備上——因為要在移動設備上完美地進行「超採樣」拍攝還必須滿足幾個基本條件,這當中最為首要的,是如何讓鏡頭比傳感器更好地解析畫面細節來避免混疊(aliasing)。

圖像混疊是什麼?

圖像混疊現象通常發生在相機傳感器難以完美重現被拍攝場景中所有圖案和細節的時候,最典型的呈現形式即那些常常出現在電子取景器中的 摩爾紋(Moiré pattern)。在實際拍攝的過程中,畫面中某些物理邊緣在畫面抖動時也會擾動附近畫面造成摩爾紋。

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

對超級採樣而言,那些不停擾動畫面的煩人摩爾紋擾動卻是一件好事:通過仔細紀錄這些摩爾紋擾動數據,我們其實可以從中獲取到大量與當前畫面有關的顏色和亮度數據,而正如上文所討論的那樣,這些數據是實現超採樣的關鍵。

換句話說,我們舉著手機拍照時,不經意的「手抖」恰好能為超級採樣提供必要的數據支持。

不過想要在移動設備上實現手持拍攝的超級採樣還有別的挑戰。

「手抖」超採樣的實踐過程

上面提到,很多單反相機需要藉助特製的三腳架來進行超採樣拍攝,這個拍攝過程中,我們還必須保證相機本身在拍攝位置移動和變焦過程中的絕對穩定。

對手機而言,這樣的要求顯然不夠實際——即便光學防抖(OIS)能夠對那些抖動幅度較大的相鄰兩幀畫面進行補償,幅度較小的自然抖動不可避免,因此當我們拿著擁有高分辨率的手機拍下一組連拍照片時,每張照片的拍攝位置都會因為抖動而存在幾個像素值的差距。

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

但利用拍攝時的手抖卻恰好能夠實現優劣轉化,將手持移動設備的難點變成突破點。

為了對這種「手抖」的優勢進行進一步轉化,Google 首先會在一組連拍照片中選定一幀作為參照幀(base frame),然後基於該幀畫面對其他畫面進行一一對齊。但這組連拍照片由於手抖的存在顯然不能完全對齊,每幀畫面中的像素也不能按照我們需要的方式進行有規律的平移,因此在對齊後,我們還需要在新的畫面幀加入時對相鄰兩個像素進行插值,然後再進行對齊。

當然,其實也存在不會「手抖」的情況,比如當我們把手機固定在三腳架上的時候。在這種情況下,Google 相機會強制光學防抖模塊進行有規律的抖動來模擬「手抖」——如果你將手裡的 Pixel 3 拿得足夠穩,也許會發現這個「小祕密」。

克服超級採樣的挑戰

超採樣的流程如上所述,原理聽上去頗為簡單,但實際操作起來難度不小。為了應對超採樣過程中可能會出現的問題,我們還需要對算法進行大量的創新——這也是它至今沒能被廣泛應用在智能手機上的原因(Google:沒錯你們技術不過關)。具體的問題包括:

  • 即便在光線條件較好的拍攝環境下,高速連拍生成的單張照片噪點其實也不少,因為高速連拍留給每張照片的曝光時間並不長,而 Super Res Zoom 在進行超採樣的同時還必須對付這些噪點
  • 現實情況下要考慮的運動環境更為複雜,除了「手抖」,畫面主體的狀態也瞬息萬變,比如微風吹動的樹葉、層層散開的漣漪、變化莫測的人物神態……此外,煙霧、玻璃這類本身形態透明或層次複雜的事物也極難進行運動狀態區分,對它們進行對齊合併需要更加聰明算法
  • 運動具有隨機性,即便我們能夠進行很好的對齊與合併,部分色彩信息也勢必會無規律分佈,這種數據散佈對以插值為基本原理的超採樣而言也是個難題

這些難題加在一起,幾乎讓實現超採樣成為了一件非三腳架不可的技術。但 Google 相機團隊還是通過以下路徑對這些問題一一進行了攻關並最終實現了手持 Super Res Zoom 功能:

  • 適當的妥協:為了更有效地進行高速連拍多幀合成,保證 RGB 像素儘量不被去馬賽克,Google 在這裡引入了 邊緣檢測算法。這個算法通過對輸入畫面幀的分析調整多幀合成方式,在增加細節和抑制噪點之間進行合理權衡,保證最終畫面的邊緣銳度和純淨度。
  • 合理的參考:針對複雜的運動狀態和多幀合成容易失效的畫面,利用一個偵察糾錯模型來避免鬼影和模糊問題,只有當這個模型確認幀與幀之間的圖像特質吻合,相關部分才能夠被合併。
為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

此外,Google 在 Super Res Zoom 中還採用了與線性插值截然不同的基於機器學習的現代單圖像插值方法 RAISR,儘管 RAISR 也難以對圖像細節進行最為自然的高質量還原,但在進行圖像變焦的過程中,這種算法更注重對圖像特質的學習和還原,甚至能夠根據現有特質合成一些材質細節。因此當我們藉助 Super Res Zoom 拍攝 2-3x 變焦的畫面時,Google 其實還會通過在多幀合成使用 RAISR 插值的方法來增強畫面變焦後的細節質量。

探索手機攝影的極限

從 HDR+ 到去年的單攝人像,Google 一直在不斷探索手機攝影的可能性,而今年為我們帶來的 Super Res Zoom,同樣也算得上是利用計算攝影學(Computational Photography)縮小手機與單反差距的一小步。

超分辨率概念先於智能手機出現至少十年,圍繞這個話題的論文也有成百上千篇,而現在,這些靈感創意和技術探索的結晶終於轉化成了可以握在手裡的產品。

為什麼谷歌手機憑 App 算法就能「秒殺」iPhone 的雙攝像頭

無變焦 vs. 2.23x 變焦,by Steve Van Dinter

基於以上理論和方法,Super Res Zoom 在畫質結果上要優於以往任何一種數字變焦手段。也正是在這個技術的幫助下,Pixel 3 才得以在 2x 變焦這個重量級上靠單攝實現媲美市面上某些多攝機型才有的變焦效果。換句話說,如果你在按下快門前手動縮放取景器進行變焦,最終得到的畫面細節要比拍完後再放大進行裁剪好很多。

你可以利用 Google Photos 瀏覽 Google 給出的 Super Res Zoom 樣張。

相關推薦

推薦中...