Google Pixel 超分辨率--Super Resolution Zoom
Google 的Super Res Zoom技術,主要用於在zoom時增強畫面細節以及提升在夜景下的效果。
文章的主要貢獻有:
· 使用多幀圖像超分辨算法代替去馬賽克算法
· 引入自適應核插值和融合算法。其自適應於圖像的局部結構,對稀疏采樣的數據進行擬合。
· 提出了運動魯棒模型,對局部運動、遮擋、配准失敗區域有較好的的魯棒性
· 分析了手部震顫規律,並說明了其做為亞像素偏移獲取來源的有效性
整個算法流程如圖1所示,其主要包括:多幀RAW圖像的獲取、圖像配准、圖像融合三個步驟。首先,獲取多幀RAW圖像(CFA Bayer),然后選擇其中一陣作為基幀(base frame),剩下的圖像都對該幀進行局部對齊。通過核回歸估計每一幀對結果的局部貢獻(contribution),然后分顏色通道將這些貢獻疊加起來。為了是算法更有魯棒性,借助於圖像局部特征對核形狀進行調整,並利用魯棒性模型對采樣的貢獻值進行加權。最后,對每個顏色通道進行歸一化得到最后的RGB圖像。
圖1: 算法流程
本文對demosaic 進行了增強,相對以前的效果提升如下圖,可以看出在高頻區域尤其是摩爾紋處得到了很好的改善:
圖2: 效果對比
首先說明Google 在文中介紹的超分並沒有采用深度學習的方法,而是采用了傳統做法。其原理也很簡單,一句話概括為:通過多幀來填補Bayer中缺少的圖像分量。sensor都是Bayer 格式,每個像素處只有一個色彩通道,其余的色彩是通過插值得來,而插值的過程中就會產生摩爾紋等問題。
圖3: bayer 與插值
假設物體是不動的,我們每次分別每次移動1個像素,拍攝4次,豈不是就可以在每個像素位置處湊夠RGGB 像素值了呢,這樣我們無須插值就可以獲得一張從Bayer到RGB的圖像。
圖4:多幀方法獲得RGB采樣值這種設計思想在Sony、賓得等單反相機上從2017 年就已經開始應用,技術名為:像素偏移多重拍攝(圖5)
圖5
因為單反等擁有很強的硬件基礎可以精准控制位置的移動,手機上沒有這么多硬件設備了,那手機怎么來創造位移呢?Google假設並調研了人拍照時手抖的特點,發現了拍照時手抖就可以創造出足夠的亞像素位移來保證多幀圖像基本可以使每個像素位置都能拍攝到三個通道(圖6)。
圖6
運動估計在之前的計算中已經得到了解決(HDR+ 和夜景中都有講解),剩下的難點就變成了如何來融合多幀每個通道的像素了,其流程如下圖,無非就是參考噪聲模型、局部細節、運動向量等老生常談的特征,剩余內容就是對圖7公式的補充和解釋,建議感興趣的直接去看論文即可。
圖7
因為計算量和圖像尺寸以及幀數成線性,文中給出的計算速度是在高通Adreno 630 GPU平台上的數據,15.4ms+7.8ms/MPixel,並不算特別快,這也是為什么在GoogleBlog 里面說“SuperRes Zoom可以在所有縮放系數下工作,不過由於性能原因,只在1.2倍以上激活”吧。