Google Pixel 超分辨率--Super Resolution Zoom
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倍以上激活”吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)