谷歌为何对Pixel 3单摄有信心?看看拍照实现过程就知道了
扫描二维码
随时随地手机看文章
在进行处理后,连拍中手掌震颤的结果
为了利用手部抖动的优势,我们首先需要将高速连拍的照片排列在一起,我们选择高速连拍图像中的单个图像作为“基”或参考帧,并对齐与之相关的所有其他帧。对齐后,这些图像大致结合在一起。当然,手部运动不太可能将图像精确地移动单个像素,因此我们需要在每个新捕获的帧中插入相邻像素,然后将颜色注入基帧的像素网格中。
当由于设备是完全稳定的(例如放置在三脚架上)而没有出现手部运动时,我们仍然可以通过故意“抖动”相机来达到模拟自然手部运动的目的,通过强迫OIS模块在镜头之间轻微移动。这个移动非常小,选择的时候不会干扰正常的照片——但是你可以在Pixel 3上自己观察它,你可以把手机完全固定,比如把它按在窗口上,或者最大限度地缩放取景器。如下图所示,可以观察远处物体微小但连续的椭圆运动。
克服超分辨率的挑战
以上是我们对理想过程的描述,听起来很简单,但是要实现超分辨率并不是那么容易。有很多原因导致没有被广泛应用到手机等消费产品中,例如其需要大量的算法创新。挑战可以包括:
即使在良好的光照条件下,连拍的单个图像也是有噪声的。一个实用的超分辨率算法需要意识到这种噪音,并正确工作。我们不想只得到更高分辨率的噪声图像——我们的目标是既提高分辨率,又能产生更小的噪声。
左:在良好的光照条件下拍摄的单帧图像,由于曝光不足,仍然可能包含大量的噪声。右:连拍处理后合并多帧的结果。
在连拍的图像之间的运动不仅仅局限于相机的运动,可能有复杂的场景中运动如风吹动的树叶、水面涟漪、汽车、人的面部变化、火焰的闪烁——甚至一些不能被视为独立运动的如吸烟。一般来说,完全可靠和局部对准是不可能的,因此即使运动估计不完美,一个好的超分辨率算法也要能用。
因为大多数运动是随机的,即使有良好的对齐,数据可能在图像的某些区域密集,而在其他区域稀疏。超分辨率的关键是一个复杂的插值问题,因此数据的不规则传播使得在网格的各个部分生成更高分辨率的图像具有挑战性。
以上所有的挑战似乎都使得超分辨率在实践中不可行,或者充其量只能局限于静态场景和放在三脚架上的相机。利用Pixel 3上的Super Res Room,我们开发了一种稳定、精确的连拍分辨率增强方法,它使用自然的手部运动,并且足够强大,可以部署在手机上。
以下是我们解决上述挑战的方法:
为了在高速连拍(Burst Photography)情况下有效地合并帧,并为每个像素生成一个红色、绿色和蓝色的值,而不需要进行除噪,我们开发了一种跨帧集成信息的方法,该方法考虑了图像的边缘,并相应地进行了调整。具体地说,我们分析输入帧并调整我们如何将它们组合在一起,权衡增加的细节,分辨率,噪声抑制和平滑。我们通过沿着明显边缘的方向合并像素,而不是跨越它们来实现这一点。效果是我们的多帧方法提供了噪音减少和细节的增强之间的最佳平衡。
为了使算法能够可靠地处理复杂的局部运动场景(人、车、水或树叶移动),我们开发了一个鲁棒性模型来检测和减轻对齐误差。我们选择一帧作为“参考图像”,并只有当我们确信我们找到了正确的对应特征才将来自其他帧的信息合并到它。通过这种方式,我们可以避免像“重影”或运动模糊,或者是错误地合并图像的部分。
一辆快速行驶的公共汽车的连拍图像。左:没有鲁棒性模型下合并。右:有鲁棒模型下合并
推动移动摄影技术的发展
去年谷歌推出的人像模式(Portrait mode),以及之前HDR+ pipeline都展示了移动摄影的优越性。今年,我们从变焦下手。Super Res Room能提高计算机摄影技术水平,同时缩小移动摄影和数码单反之间的质量差距。
超分辨率的概念比智能手机的出现早了至少10年。在几乎同样长的时间里,它也通过电影和电视在公众的想象中存在,它也是学术期刊和学术会议上成千上万篇论文的主题。现在,在你手掌中的Pixel 3里,超分辨率真实存在。
如何最大限度地利用Super Res Room?
这里有一些关于如何在Pixel 3的手机上使用Super Res Room的技巧:
缩放再缩放,或者使用+按钮增加缩放的离散步骤。
双击预览以快速切换缩放和缩小。
Super Res可以在所有缩放系数下工作,不过出于性能原因,它只激活了1.2倍以上。
Pixel的广角摄像机的光学分辨率有基本的限制。因此,为了最大限度地利用缩放,请保持放大系数适中。
避免快速移动的物体。Super Res Room能正确捕捉它们,但你不可能得到更高的分辨率。