欢迎光临KOTOO财情




Google 发文详解 Pixel 3 中的拍照技术──Super Res Zoom

2024-11-23 266

前些天,Google 在台发表了全新 Pixel 3 / Pixel 3XL 手机,其最新的 AI 拍照功能让人惊艳。Night Sight 夜间拍照效果压过 iPhone XS;Top Shot 功能可以连续拍摄多张 HDR+ 照片,自动去掉抖动、眨眼的废片,推荐效果最好的一张;Photo Booth 模式可以在检测到人脸有微笑或者有趣的表情时自动拍照,帮你留下珍贵的一刻;Super Res Zoom 透过镜头的变焦功能拍摄具备高分辨率的照片。

Super Res Zoom 可以说是此次几项全新 AI 拍照功能中最难理解的一个,也让不少业内人士感到好奇。幸而,Google 计算成像领域首席科学家 Peyman Milanfar 和软件工程师 Bartlomiej Wronski 在 Google Blog 特意发表一篇文章,讲述了 Super Res Zoom 技术实现的全部过程。以下对原文进行不改变原意的翻译和编辑。

一直以来,使用算法(而不是镜头)来进行数位变焦的行动装置相机就像是“丑小鸭”。数位变焦的图像品质难与数位单反相机的光学变焦相提并论,因此传统观点认为,大型相机的复杂光学机制无法被更紧凑的行动装置相机和聪明的算法替代。

凭借 Pixel 3 上新的 Super Res Zoom 功能,我们正在挑战这一概念。

之前,数位变焦技术主要是升级单个图像中的画素,Pixel 3 中的 Super Res Zoom 技术则不然。Super Res Zoom 的做法是将许多帧图像直接合并以产生更高分辨率的图像,这个方法能大大改善图片的细节,能许多其他智能手机上的 2 倍光学变焦镜头大致相当。

▲ 2 倍变焦:Pixel 2 vs. Super Res Zoom Pixel 3。

数位变焦的挑战

数位变焦是困难的。因为一个好的算法期望从低分辨率的图像开始,并可靠地“重建”缺失的细节──在典型的数位变焦中,单个图像的一小部分被放大,生成一个大得多的图像。传统上,这是透过线性插值方法来实现的,这种方法试图重新创建在原始图像中丢失的资讯,但会使得图像模糊,缺乏纹理和细节。基于单图像来提升图像品质一般采用机器学习的方法(包括我们自己的早期工作 RAISR)。这些图像放大了一些特定的图像特征,如直线边缘,甚至可以合成某些纹理,但无法恢复自然的高分辨率细节。虽然我们仍然使用 RAISR 来提高图像的视觉品质,不过 Super Res Zoom 创新性地采用了多帧图像方法。

彩色滤镜阵列和去马赛克

重构细节尤其困难,因为数位照片已经不完整了。透过一种叫做去马赛克(Demosaicing)的过程,我们可以从部分颜色资讯中重构丢失的资讯。在典型的消费相机中,相机感测器元件只用于测量光的强度,而不是直接测量光的颜色。为了捕捉场景中呈现的真实颜色,镜头使用放置在感测器前面的颜色滤镜阵列,以便每个画素只测量一种颜色(红色、绿色或蓝色)。如下图所示,它们以拜耳模式排列。

▲ 拜耳马赛克彩色滤镜:每 2×2 组画素捕获由特定颜色过滤的光──两个绿色画素(因为我们的眼睛对绿色更敏感),一个红色,一个蓝色。这种模式在整个图像中重复出现。

然后,在给定部分资讯的情况下,镜头处理管道必须重构所有画素的真实颜色和所有细节。去马赛克过程的第一步是要猜测丢失的颜色资讯,通常会选取附近画素的颜色进行插值,这意味着 RGB 数位图像的三分之二实际上是重建的!

▲ 去马赛克利用相邻画素重建丢失的颜色资讯。

在最简单的形式中,这可以透过对相邻值进行平均来实现。大多数真正的解谜算法都比这更复杂,但由于只能得到部分资讯,去马赛克的效果仍然不完美而且有很重的人工痕迹。虽然大尺寸的单反相机也存在这种情况,但它们更大的感测器和更大的镜头能比一般的行动相机捕捉到更多的细节。

如果你在行动装置上进行缩放变焦,情况会变得更糟;然后,算法被迫透过附近的画素进行插值来弥补更多的资讯。然而,这也不是一无是处,因为即使受到行动装置光学的限制,高速连拍(Burst Photography)以及多幅图像的融合可以用来达到超分辨率。

从高速连拍(Burst Photography)到多帧超分辨率

虽然单个帧不能提供足够的资讯来填充缺失的颜色,但是我们可以从高速连续拍摄的多个图像中获得一些缺失的资讯。Google 的 HDR+ 算法在 Nexus 手机和 Pixel 手机上得到了成功应用,它已经利用多帧的资讯使手机照片达到了更大感测器所期望的质量水平,是否可以使用类似的方法来提高图像分辨率?

多帧超分辨率的概念出现已经有十多年历史了(在天文摄影上,类似的概念被称为“drizzle”),透过捕捉和组合多个细微位置差异的照片,可以产生相当于光学变焦的效果,至少在 2-3 倍的低倍变焦和良好的照明条件下。在这个过程中,一般的想法是将低分辨率的图像部分直接对齐并合并到一个理想(更高)分辨率的网格上。下面是一个理想化的多帧超分辨率算法如何工作的例子:

▲ 与顶部的需要插值的去马赛克过程相比,用多个图像填充,每个图像水平或垂直移动一个画素更为理想。

在上面的范例中,我们捕获了 4 个帧,其中 3 个帧精确地移动了一个画素:从水平方向、垂直方向以及同时从水平和垂直方向。所有的洞都会被填满,根本就不需要任何去马赛克。一些单反相机支援这种操作,但只有当相机在三脚架上,感测器 / 镜头能进行移动,这有时被称为“微步”(microstepping)。

多年来,这种“超级分辨率”的高分辨率成像方法的应用仍然主要局限于实验室,或以其他方式控制的设置中。在这些设置中,感测器和主体是对齐的,它们之间的移动要么是有意控制的,要么是受到严格限制的。例如,在天文成像中,用固定的望远镜来拍摄星空的移动轨迹。但在当今智能手机等广泛使用的成像装置及应用程序中,超级分辨率的实际应用仍是可望而不可及的。

多帧超分辨率功能需要满足一些条件。首先,也是最重要的一点,镜头需要比所使用的感测器更好地处理细节(相反地,你可以想像这样一个情况,镜头设计得很差,添加一个更好的感测器没有任何好处)。数码相机有一种常见但不受欢迎的效果,叫做混叠(aliasing)。

图像混叠

当镜头感测器不能忠实地表示场景中的所有模式和细节时,就会发生混叠。混叠的一个很好的例子是摩尔波纹( Moiré patterns;又译莫列波纹),当两种同样的图案以一定的角度重叠会出现的现象。

▲ 由两组平行线产生的摩尔波纹,一组垂直,另一组倾斜 5°

此外,当物体在场景中移动时,对物理特征(如表边)的混叠效果也会发生变化。您可以在以下连拍序列中观察到这一点,在连拍序列中,相机的轻微运动会产生时变的混叠效果:

左图:高分辨率下桌子边缘的单幅图像,右图:连拍产生的不同图像帧。混叠效果和云纹效果在不同的帧之间是可见的──画素似乎跳来跳去,产生不同的彩色图案。

但是,我们也能因祸得福,如果分析混叠效果产生的模式,就会得到颜色和亮度值的多样性,以实现超分辨率。尽管如此,要在手持行动装置和任何连拍序列中达到高分辨率,依然有诸多挑战存在。

手部移动达到超分辨率

如前所述,一些单反相机提供了特殊的三脚架超分辨率模式,类似于我们目前描述的方式。这些方法依赖于相机内感测器和光学器件的物理运动,但需要相机完全稳定。然而,这在行动装置上是不切实际的,因为它们几乎总是手持的。

然而,借助手部运动方案,我们将这个最大的难点变成了我们的优势。当我们用手持相机或手机拍摄一组照片时,画面之间总会有一些运动。光学图像稳定(OIS)系统可以补偿相机的大运动──通常间隔 1/30 秒以内的 5-20 画素移动──但不能完全消除更快、更低的幅度、自然的手震。当使用高分辨率感测器的手机拍照时,这种手抖的幅度只有几个画素。

▲ 在进行处理后,连拍中手震的结果。

为了利用手部抖动的优势,我们首先需要将高速连拍的照片排列在一起,我们选择高速连拍图像中的单个图像做为“基”或参考帧,并对齐与之相关的所有其他帧。对齐后,这些图像大致结合在一起。当然,手部运动不太可能将图像精确地移动单个画素,因此我们需要在每个新捕获的帧中插入相邻画素,然后将颜色注入基帧的画素网格中。

当装置是完全稳定的(例如放置在三脚架上)而没有出现手部运动时,我们仍然可以透过故意“抖动”相机来达到模拟自然手部运动的目的,透过强迫 OIS 模组在镜头之间轻微移动。这个移动非常小,选择的时候不会干扰正常的照片──但是你可以在 Pixel 3 上自己观察它,你可以把手机完全固定,比如把它按在窗口上,或者最大限度地缩放取景器。如下图所示,可以观察远处物体微小但连续的椭圆运动。

克服超分辨率的挑战

以上是我们对理想过程的描述,听起来很简单,但是要实现超分辨率并不是那么容易。有很多原因导致没有被广泛应用到手机等消费产品中,例如其需要大量的算法创新。挑战包括:

  • 即使在良好的光照条件下,连拍的单个图像也是有噪声的。一个实用的超分辨率算法需要意识到这种噪音,并正确工作。我们不想只得到更高分辨率的噪声图像──我们的目标是既提高分辨率,又能产生更小的噪声。

▲ 左:在良好的光照条件下拍摄的单帧图像,由于曝光不足,仍然可能包含大量的噪声。右:连拍处理后合并多帧的结果。

  • 在连拍的图像之间的运动不仅局限于相机的运动,可能有复杂的场景中运动如风吹动的树叶、水面涟漪、汽车、人的脸部变化、火焰的闪烁──甚至一些不能被视为独立运动的如吸烟。一般来说,完全可靠和局部对准是不可能的,因此即使运动估计不完美,一个好的超分辨率算法也要能用。
  • 因为大多数运动是随机的,即使有良好的对齐,数据可能在图像的某些区域密集,而在其他区域稀疏。超分辨率的关键是一个复杂的插值问题,因此数据的不规则传播使得在网格的各个部分生成更高分辨率的图像具有挑战性。

以上所有的挑战似乎都使得超分辨率在实践中不可行,或者充其量只能局限于静态场景和放在三脚架上的相机。利用 Pixel 3 上的 Super Res Zoom,我们开发了一种稳定、精确的连拍分辨率增强方法,它使用自然的手部运动,并且够强大,可以部署在手机上。

以下是我们解决上述挑战的方法:

  • 为了在高速连拍(Burst Photography)情况下有效地合并帧,并为每个画素生成一个红色、绿色和蓝色的值,而不需要进行除噪,我们开发了一种跨帧集成讯息的方法,该方法考虑了图像的边缘,并相应地进行调整。具体地说,我们分析输入帧并调整我们如何将它们组合在一起,权衡增加的细节、分辨率、噪声抑制和平滑。我们透过沿着明显边缘的方向合并画素,而不是跨越它们来实现这一点。效果是我们的多帧方法提供了噪音减少和细节的增强之间的最佳平衡。
  • 为了使算法能够可靠地处理复杂的局部运动场景(人、车、水或树叶移动),我们开发了一个强健性模型来检测和减轻对齐误差。我们选择一帧做为“参考图像”,并只有当我们确信我们找到了正确的对应特征才将来自其他帧的讯息合并到它。透过这种方式,我们可以避免像“重影”或运动模糊,或者是错误地合并图像的部分。

▲ 一辆快速行驶的公共汽车的连拍图像。左:在没有强健性模型下合并。右:有强健模型下合并。

推动行动摄影技术的发展

去年 Google 推出的人像模式(Portrait mode),以及之前 HDR+ pipeline 都展示了行动摄影的优越性。今年,我们从变焦下手。Super Res Zoom 能提高计算机摄影技术水平,同时缩小移动摄影和数位单眼之间的质量差距。

超分辨率的概念比智能手机的出现早了至少 10 年。在几乎同样长的时间里,它也透过电影和电视在大众的想像中存在,它也是学术期刊和学术会议上成千上万篇论文的主题。现在,在你手掌中的 Pixel 3 里,超分辨率真实存在。

如何最大限度地利用 Super Res Zoom?

这里有一些关于如何在 Pixel 3 的手机上使用 Super Res Zoom 的技巧:

  • 缩放再缩放,或者使用+按钮增加缩放的离散步骤。
  • 双击预览以快速切换缩放和缩小。
  • Super Res Zoom 可以在所有缩放系数下工作,不过出于性能原因,它只触发了 1.2 倍以上。
  • Pixel 广角镜头的光学分辨率有基本的限制。因此为了最大限度地利用缩放,请保持放大系数适中。
  • 避免快速移动的物体。Super Res Zoom 能正确捕捉它们,但你不可能得到更高的分辨率。

 

  • See Better and Further with Super Res Zoom on the Pixel 3

(本文由 雷锋网 授权转载;首图来源:科技新报)

延伸阅读:

  • Google Pixel 3、Pixel 3 XL 在台预购,售价 27,700 元起、11/1 出货
  • Google 这支最强 AI 手机,凭什么靠单镜头就干掉 iPhone XS?
2019-03-13 12:30:00

标签:   资讯头条 kotoo科技资讯 kotoo科技 kotoo科技资讯头条 科技资讯头条 KOTOO商业产经 新闻网 科技新闻网 科技新闻 Kotoo科技新闻网 Kotoo Kotoo科技新闻网 科技新闻 新闻网 KOTOO商业产经 科技资讯头条 kotoo科技资讯头条 kotoo科技 kotoo科技资讯 资讯头条 Kotoo Kotoo科技新闻网 科技新闻 科技新闻网 新闻网 KOTOO商业产经 科技资讯头条 kotoo科技资讯头条 kotoo科技 kotoo科技资讯
0