前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google Super Res Zoom算法解读

Google Super Res Zoom算法解读

作者头像
云深无际
发布2020-08-11 21:31:48
2.3K0
发布2020-08-11 21:31:48
举报
文章被收录于专栏:云深之无迹云深之无迹

我也愿学习蝴蝶,一再的蜕变,一再的祝愿,既不思虑,也不彷徨;既不回顾,也不忧伤。 ——境明,千里皆明

这是google发表在SIGGRAPH2019上面的一篇超分辨的文章,也就是在自家手机Pixel3中使用的Super Res Zoom技术。在Google AI Blog中已经对该技术做了初步的介绍,而这篇文章则更加详细的介绍了技术实现细节。

文章提到所有应用到手机相机中的超分算法,都必须满足以下四个条件:

在单次快门按下后可以手持工作(不借助三脚架等稳定设备)

低延迟,能够实现实时交互。即要求算法处理速度极快

对局部运动和场景变化有鲁棒性。对于快速的物体运动和场景变化,即使算法不能提升分辨率,也不能带来artifacts

对输入数据的噪声有鲁棒性。特别是在低光场景中,算法不能够增强噪声,而要减弱噪声。

针对于手持拍照设备上局限性,该算法抛弃了传统ISP流程中的去马赛克步骤,而是使用多张CFA RAW图直接合成RGB图。其利用手持拍照设备(如手机)在拍照过程中的抖动,获取多帧有小位移的RAW图。然后对多帧RAW图进行配准和融合可以得到单张每个像素位置都有RGB三通道值的图像。该算法对噪声和场景运动等都有很好的鲁棒性。通过优化和并行加速,该算法可以在手机上实现对12M大小的图像仅用100ms的处理时间,还是非常不错的。

文章的主要工作有:

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

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

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

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

Overview

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

为了减少图像获取过程中的延迟,使用手机中的Zero-Shutter Lag模式进行拍摄,连续获取多帧图像。图像配准使用了HDR+中的配准策略,并对其进行了优化。该配准方法使用coarse-to-fine的金字塔结构,利用局部窗口搜索和块匹配的方式进行局部配准。为了进一步提高配准精度,使用Lucas-Kanade光流法做三次迭代,对块匹配得到的配准结果做进一步优化,在达到必要的精度同时保持较低的计算开销。融合过程是本文的核心部分,将在后面做详细介绍。

Hand-held Super-resolution

文章提到多帧超分需要有两个条件被满足:

输入帧需要包含图像混叠(image aliased),即其包含采样后显示为虚假低频的高频信息(如莫尔条纹)

输入的多帧混叠图像是在不同的亚像素位置被采样的,这将表现为输入帧中虚假低频的不同相位。

获取了多帧有位移和混叠的低分辨率图像就可以同时去除低频中的混叠效应并重建高频信息。

第一个条件意味着图像传感器上的像素间距离要大于镜头的光斑大小。这个条件被默认满足。

第二个条件将使用手持设备拍照时手的颤振抖动来实现。在以前的研究中已知,手的震颤是高度周期性的,频率大约在8-12Hz,且运动幅度很小但是随机的。而为了证明该方案有效性,作者用10个用户采集了86个图像序列,并用陀螺仪记录旋转运动信息。相关信息统计如下图。通过分析可以得到,手的运动在各个角度方向是均匀随机的,且在获取图像序列的过程中会缓慢地旋转拍照设备。

即使在实际拍摄中,由于拍摄时间比较短,手的运动可能近似呈一条直线或平滑的曲线,文章也通过理论和实验证明了,偏移的亚像素值可以有足够的覆盖率来用于超分辨。从下图可以看出,即使在配准过程中的偏移量是偏向于整像素的,但是也对所有亚像素范围进行了覆盖。

Method

给定多帧有随机像素偏移的输入图像,文章使用核回归的方法进行拟合,重建连续信号。重建的连续性信号可以以任何等于或高于输入帧的分辨率进行重采样。文章使用了各向异性高斯径向基函数核(Radial Basis Function, RBF),其可以用于局部自适应细节增强或时空去噪。最后,使用提出的鲁棒性模型可以使得算法能在复杂运动场景中发挥作用,并在配准失败的区域退化为单帧图像上采样。

核的重建

对于每一个颜色通道,可以计算每帧像素的贡献,其可以通过下式计算:

局部各向异性核

使用各向异性核的一个重要原因是其可以增加算法对小的未配准区域以及边缘附近区域的鲁棒性。包含边缘的区域更容易发生误配准。亚像素的误配准以及缺乏足够的采样会造成拉链效应(zipper artifacts)。通过拉伸核的形状,使其沿着边缘方向延伸,可以给不属于边缘的像素赋予更小的权重。如下图所示,对于不同的区域,核的形状也不同。

核的协方差计算

运动鲁棒性

配准后的图像可能存在误配准、物体运动和遮挡等区域,这些区域可能会造成很强的artifacts。为此,文章引入鲁棒性掩膜(robustness mask)来指示像素值的置信度。其值为1表示该区域完全用于融合,其值为0表示完全排除该区域。

统计鲁棒性模型

文章计算局部标准差σ\sigmaσ以及被配准帧与基帧之间的颜色差异ddd。那些颜色差异小于局部标准差的区域视为没有混叠可以被融合以用于时域降噪。颜色差异与标准差的预定比例接近的区域视为混叠区域可以被融合以用于超分辨。颜色差异大于该比例的很可能是误配准区域或运动物体,应该被舍弃掉。

通过上述分析,我们可以定义一个平滑的比较函数

噪声修正的局部统计和颜色差异
附加的鲁棒性优化

文章发现对于相机运动和正确的配准,配准域(即光流图)通常是比较平滑的。而对于有局部运动区域光流图会出现较大变化。因此可以结合该运动先验来去除artifacts。文章计算偏移向量值的局部跨度的长度来表示局部运动变化,将值比较大的区域视为不正确的运动区域排除掉

Results

合成数据比较
真实数据比较

2. 与视频超分辨技术比较

3. 与HDR+的比较

其他结果分析
配准精度对结果的影响
融合帧数对结果的影响

从上图可以看到,随着融合帧数的增加,PSNR提高,结果有更好的信噪比。但是由于配准结果并不完美,且场景可能随着曝光时间的延长而变化,因此太多帧融合反而会影响图像的质量。

消耗计算资源的表现

Discussion and limitations

1. 器件的光学限制

受限于成像系统的光学限制,该算法可以在2倍放大率以下实现较好的效果,而当放大倍数太大时效果不明显。

2. 噪声水平的限制

上面结果分别是单帧去马赛克去噪、HDR+和本文算法的结果。由于本文局部自适应时空去噪算法的有效性,也使其成为Pixel 3手机上Night Sight功能的一部分。

3. 运动的缺失

当成像设备不是手持而是固定的(如使用三脚架),算法会引入额外的运动。即如果陀螺仪检测到设备是没有运动的,则传感器或者光学稳像系统(OIS)就会以一个受控的路线运动。

4. 极端的局部运动和遮挡

当剧烈的局部运动或者遮挡出现时,算法将只会依赖参考帧生成结果。这可能会造成局部质量的降低。在低光条件下,这些区域将会有更大的噪声,但是通过额外的空间去噪会提升质量。

5. 融合Artifacts

如果误配准区域只有亚像素差异,该算法会不正确地融合这些区域,出现artifacts。另外,多帧图像可能会存在小的高频场景的变化,如水波纹,或者小的树叶运动。这些区域帧与帧之间的相似性,使得算法有时不能区分这些亚像素变化而把它们融合在一起,产生高频artifacts。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核的重建
    • 局部各向异性核
      • 核的协方差计算
        • 噪声修正的局部统计和颜色差异
          • 附加的鲁棒性优化
          • Results
            • 合成数据比较
              • 真实数据比较
                • 其他结果分析
                • Discussion and limitations
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档