數位變焦的挑戰
Google的軟體工程師Bartlomiej Wronski與數位影像研究人員Peyman Milanfar、Lead Scientist在Google AI部落格發表文章,詳細說明Pixel 3所使用的Super Res Zoom技術。
說穿了Super Res Zoom就是強化版的數位變焦,數位變焦指的是透過重建在取樣過程中遺失的細節的方式,將解析度比較低的照片升頻為解析度比較高的版本,以白話來解釋,就是將小圖片放大產生大圖片。
重建細節的困難之處,在於原始小圖片資料的不完整,造成在放大的過程中該如何填補新產生的空缺像素,就是個棘手的問題。如果單純放大而不處理,大圖片就會有很多馬賽克鋸齒,如果使用傳統常見的線性內插法(也稱為補差點,可以理解為將臨近像素取平均,填入新像素),則會讓大圖片變的模糊。如果需要進一步提升品質,就需仰賴如研發團隊先前提出的RAISR演算法 (可參考筆者先前的文章),在放大圖片時,透過機械學習的協助重建圖片的邊緣、紋理的銳利度。
紅、綠、藍三色分離與合成也是痛點
數位變焦的另一大挑戰,就是現在的數位相機大多採用拜爾濾色鏡將紅、綠、藍等三原色過濾後,再投射到感光元件上,讓感光元件的每個像素都只會接觸到固定的1種顏色,如此一來運作時感光元件只需測量光線的強度,而不需分辨光線的顏色。
由於人眼對綠色比較敏感,所以典型的拜爾濾色鏡是以2 x 2像素為基本單位,其中包含2個綠色與紅、藍各1。
現在問題來了,因為要將透過拜爾濾色鏡感應到的光線訊號,回復成連貫的彩色資訊,就需經過去馬賽克(Demosaicing)的手續,而過程也會遇到臨近像素缺乏各色訊號的問題。例如紅色濾色鏡周圍的區域就無法感應紅色訊號,需要透過內插法或其他更複雜演算法推測空缺的區域的訊號。
由於大型相機的感光元件可以捕捉更多訊號,所以重建各色資訊的品質會比較好,但對於智慧型手機來說,重建品質就不會太理想,如果再搭配以數位變焦的方式放大照片,最終的照片品質可想而知不會太好,
(下頁還有的如何解決拜爾濾色鏡問題的方式)
抖動一下,就能重建資訊
在天文攝影的領域中,Drizzle是種已經有超過10年歷史的攝影手法,其概念為拍攝時些微移動相機並拍攝多張照片,再將照片疊合在一起,便能在光線條件良好的情況下達到2~3倍變焦的效果。這個過程也稱為多畫格超高解析度成像(Multi-Frame Super-resolution imaging),我們可以從下方的圖片範例中瞭解其原理。
在一般情況下,相機內的感光元件會因拜爾濾色鏡的限制,每個實際像素只能記錄紅、綠、藍3種顏色其中1種的資訊,但如果我們在拍攝的時候讓相機往右、往下、往右下各移動1個像素的微小移動(專業術語為Microstepping)並拍攝,然後把得到的影像疊合在一起,就能將原本像素中各色空缺的資訊補齊。
然而這種技術有著許多限制條件,最重要的關鍵就是鏡頭處理細節的能力需要高於感光元件,否則就會產生混疊(Aliasing現象,進而讓照片出現摩爾紋(Moiré pattern)等瑕疵,而造成照片失真的問題。
不使用角架反而成為優勢
有些數位單眼相機提供搭配角架使用的超高解析度成像模式,需要在機身穩定不晃動的前提下,透過機身內感光元件與光學機構的偏移,達成多畫格超高解析度成像所需的微小移動。這種方式對智慧型手機相當不切實際,我們總不能期望使用者會為了小巧的手機攜帶笨重的角架。
然而只要反過來活用在手持手機拍攝時無法避免的晃動,也能讓這個缺點成為優勢。一般而言光學影像穩定器(OIS,即防手震功能)可以抵消1/30秒內5~20個像素的偏移,而無法抵消更快或更微小的手部自然顫抖,所以我們可以利用這個特性,將僅有幾個像素的微小顫抖利用於多畫格超高解析度成像。
在拍攝過程中,Pixel 3會連續拍攝多張照片,並將其中1張照片當作參考基準,把其他連拍的照片疊合在一起,並透過內插方式修正手部顫抖(因為並不會以1像素為單位精準移動),模擬為多畫格超高解析度成像所需的微小移動,達到提升畫質的鄉同效果。
不過如果因使用角架反而沒有任何手部顫抖的話,Pixel 3就會強迫光學影像穩定器進行抖動(與專業數位單眼相機相同),來滿足多畫格超高解析度成像的條件。
(下頁揭曉Pixel 3採用的解決方式)
疊合圖片還有其他挑戰
在瞭解了多畫格超高解析度成像的基礎知識後,我們可以深入探討最關鍵的圖片疊合部分。雖然將圖片疊合聽起來很簡單,但在實際運作的過程中,還是會面臨許多問題。
舉例來說,即便在光線良好的情況下,高速連拍的照片組可能還是會充滿雜訊,因此演算法就需考慮到雜訊可能會影響對齊圖像時的精準度,進而干擾圖片疊合,也需降雜訊過濾,以免產生的大圖片也充滿雜訊。
另一方面,連拍的各張照片除了會反映「故意施加」的微小移動之外,也可能包含水流、車輛、人物的移動,甚至風吹草枝擺、火燄、煙霧等複雜的隨機性移動,都會在前後多張照片的細部造成差異,因此很難透過統一的方式推測移動的趨勢,因此Super Res Zoom演算法需要能在動態預測不完美的情況下也能疊合圖片。
即便我們可以推測移動的趨勢,照片中的景物也可能會有分佈不均的問題,在某些區域比較密集,而在其他區域比較稀疏,由於多畫格超高解析度成像的關鍵之一為內插法,這種不規則的資訊分佈會增加產生高解析度圖像的困難度。
施展魔法,完美疊合照片提升清晰度
Google的團隊為了解決這些問題,開發了穩定而精確的強化演算法,以利在Pixel 3上達成Super Res Zoom的效果。
首先Pixel 3會分析連拍各照片的影像邊緣,在權衡細節、解析度、消除雜訊、平滑度等要素之後,沿著各物件的邊緣將照片對齊並疊合,以取得降低雜訊與強化細節的平衡。
此外為了處理如人、車、樹葉等複雜的移動物件,Google開發了可靠的演算法模型來偵測物件並降低疊合的錯誤,系統會選擇照片組的其中1張作為參考基準,並只將其他照片中經演算法確認為正確的部分,貼合至參考基準,能夠有效降低模糊與鬼影的狀況。
超高解析度成像概念的出現至少比智慧型手機早了10年,也是許多學術專家研究的題材,現在則透過Pixel 3走入尋常百姓家,讓一般使用者也能輕鬆拍出清晰的照片。想要進一步瞭解Super Res Zoom實力的讀者,可以瀏覽這個由Google提供的範例相簿,其中的照片都是在Pixel 3上透過雙指縮放所拍攝,而非事後剪裁,能夠忠實呈現Pixel 3的攝影品質。
加入電腦王Facebook粉絲團