Google Pixel 超分辨率--Super Resolution Zoom

Google 的Super Res Zoom技术,主要用于在zoom时增强画面细节以及提升在夜景下的效果。

文章的主要贡献有:

·       使用多帧图像超分辨算法代替去马赛克算法

·       引入自适应核插值和融合算法。其自适应于图像的局部结构,对稀疏采样的数据进行拟合。

·       提出了运动鲁棒模型,对局部运动、遮挡、配准失败区域有较好的的鲁棒性

·       分析了手部震颤规律,并说明了其做为亚像素偏移获取来源的有效性

整个算法流程如图1所示,其主要包括:多帧RAW图像的获取、图像配准、图像融合三个步骤。首先,获取多帧RAW图像(CFA Bayer),然后选择其中一阵作为基帧(base frame),剩下的图像都对该帧进行局部对齐。通过核回归估计每一帧对结果的局部贡献(contribution),然后分颜色通道将这些贡献叠加起来。为了是算法更有鲁棒性,借助于图像局部特征对核形状进行调整,并利用鲁棒性模型对采样的贡献值进行加权。最后,对每个颜色通道进行归一化得到最后的RGB图像。

Google Pixel 超分辨率--Super Resolution Zoom_运动向量

 

 图1: 算法流程

本文对demosaic 进行了增强,相对以前的效果提升如下图,可以看出在高频区域尤其是摩尔纹处得到了很好的改善:

 Google Pixel 超分辨率--Super Resolution Zoom_插值_02

 

 Google Pixel 超分辨率--Super Resolution Zoom_插值_03

 

 图2: 效果对比 

 首先说明Google 在文中介绍的超分并没有采用深度学习的方法,而是采用了传统做法。其原理也很简单,一句话概括为:通过多帧来填补Bayer中缺少的图像分量。sensor都是Bayer 格式,每个像素处只有一个色彩通道,其余的色彩是通过插值得来,而插值的过程中就会产生摩尔纹等问题。

Google Pixel 超分辨率--Super Resolution Zoom_运动向量_04

 

 图3: bayer 与插值

假设物体是不动的,我们每次分别每次移动1个像素,拍摄4次,岂不是就可以在每个像素位置处凑够RGGB 像素值了呢,这样我们无须插值就可以获得一张从Bayer到RGB的图像。

Google Pixel 超分辨率--Super Resolution Zoom_图像局部特征_05

 

                                                                                                                   图4:多帧方法获得RGB采样值这种设计思想在Sony、宾得等单反相机上从2017 年就已经开始应用,技术名为:像素偏移多重拍摄(图5)

Google Pixel 超分辨率--Super Resolution Zoom_运动向量_06                                                          

5

 因为单反等拥有很强的硬件基础可以精准控制位置的移动,手机上没有这么多硬件设备了,那手机怎么来创造位移呢?Google假设并调研了人拍照时手抖的特点,发现了拍照时手抖就可以创造出足够的亚像素位移来保证多帧图像基本可以使每个像素位置都能拍摄到三个通道(图6)。

Google Pixel 超分辨率--Super Resolution Zoom_数据_07

 

 图6

 运动估计在之前的计算中已经得到了解决(HDR+ 和夜景中都有讲解),剩下的难点就变成了如何来融合多帧每个通道的像素了,其流程如下图,无非就是参考噪声模型、局部细节、运动向量等老生常谈的特征,剩余内容就是对图7公式的补充和解释,建议感兴趣的直接去看论文即可。

Google Pixel 超分辨率--Super Resolution Zoom_运动向量_08

 

 Google Pixel 超分辨率--Super Resolution Zoom_运动向量_09

 

 

7

因为计算量和图像尺寸以及帧数成线性,文中给出的计算速度是在高通Adreno 630 GPU平台上的数据,15.4ms+7.8ms/MPixel,并不算特别快,这也是为什么在GoogleBlog 里面说“SuperRes Zoom可以在所有缩放系数下工作,不过由于性能原因,只在1.2倍以上激活”吧。

Google Pixel 超分辨率--Super Resolution Zoom_数据_10

 

人工智能芯片与自动驾驶