老照片也用的人像光效,Google 是这样打造出来的

编者按:

Pixel 5 在硬件参数上不够亮眼是不争的事实,但在同一型号传感器上「打磨」多年的 Google,总能通过软件算法为新款 Pixel 设备带来一些独特的摄影功能。

这次的 Pixel 5 就将算法的魅力散布到了「人像拍摄」这个越来越受手机摄影爱好者喜爱的功能上:就在最近,Google 将随 Pixel 5 发布的「人像光效」功能通过 Google Photos 更新下放给了所有 Pixel 2 及其后续 Pixel 用户。

和我们在其他厂商那里所看到的、一般只能在拍摄时或拍摄后进行修改和设定的人像光效不同,Google 的人像光效甚至能够让那些在「人像模式」兴起前拍下的老照片也焕发光彩。

这是如何做到的?


伴随 Pixel 5 而来的人像光效

对于专业的人像摄影师来讲,利用外置闪光灯(也就是俗称的「离机闪」)或聚光灯等外置人造光源进行补光,往往能在减少环境光影响的同时,充分利用光影效果拍摄出更有张力的肖像照片。

对日常生活中更多地使用智能手机进行拍摄的普通用户来讲,为了人像照片搭造这样的专业摄影条件既不现实也没有必要。所以为了能让智能手机也能通过计算摄影,拍摄出媲美专业摄影师光线效果的人像照片,Google 在 Pixel 5/4a 5G 发布的同时还带来了一项新功能 —— 人像光效(Portrait Light)。

人像光效应用前后的效果对比

Google 的人像光效其实是一个针对人像照片的后期功能。尽管 Google 表示这一功能在 人像模式 能够获得更好的视觉效果(studio-quality look),但在 Pixel 4 及其后续 Pixel 机型上,人像光效其实也会自动应用在大部分拍摄模式所拍下的人像照片上,包括 夜视模式

而在 Pixel 2/3 等较老的 Pixel 机型,我们也可以借助新版 Google Photos 中的这一功能进行手动「调光」:打开需要编辑的人像照片后,在调节参数中选中「人像光效」,即可手动为照片中的人像进行任意角度的「补光」。

Google Photos 中的人像光效调节

更重要的是,Google Photos 中的这个后期编辑功能同样也适用于一些老照片。

你的人脸……不过是个「小球」

这种宛如魔术的人像补光,就像是给照片加入一台看不见的补光灯。要实现这种效果,摆在 Google 面前的主要问题有两个:一个是如何让光源添加后看起来更加自然,另一个则是在 Pixel 5 相机拍摄人像模式的过程中如何确定合成光源的最佳位置。此外,这两个问题都需要在移动设备平台的现有算力环境下得到解决。

针对第一个问题,Google 设计并训练了一套新的深度学习模型

现实世界中有经验的摄影师依据往往都是基于经验得出的感性认知:根据对被拍摄者脸上的光线强度、方向以及柔和度来判断,同时被拍摄者也可以通过调整头部姿势来获得更好的补光效果。

算法想要模拟出这种真实自然的补光效果,就必须通过海量的有效数据进行训练。这里如果你还对 Pixel 3 那年 Google 打造的那台「弗兰肯斯『机』(Frankenphone)」有印象的话,应该就会意识到在解决这种问题的方式上,一贯非常「硬核」的 Google 又要给我们整点新活了。

关联阅读:《为了改进单摄 Pixel 3 的人像模式,Google 造了一台「五摄怪物」》

当年为了搞定单摄人像拍摄定制的特别版 Pixel

为了获取训练模型的素材,这次 Google 也设计了一款特别的新设备:在 Google LLC 与 Google Research 联合发表的论文LEARNING ILLMINATION FROM DIVERSE PORTRAITS中可以得知,为了同时获取包括高动态范围(HDR)和低动态范围(LDR)下的全向光照信息模型,Google 为 Pixel 5 设计了一个装有三个小球的拍摄架,并使用它在各种不同的场景、不同肤色的人拍摄肖像。

就是这个奇怪的设备

​虽然脑洞上相比「弗兰肯斯『机』」要简单很多,但这个支架所拍出的人像样张,等同于将支架最中间的那个「小球」当成了人脸光照的参考对象,每一组人像照片及其对应的小球光照场景都被保存下来,包含各个方向的所有光源以及相对强度、颜色等信息。这些信息最后都被用来进一步训练上面提到的深度学习模型。

笼子里走出来的「补光灯」​

接下来要面对的第二个问题,是如何让 Pixel 手机在人像模式拍摄的过程中根据实际情况进行补光增强。

为了达成这一目标,训练模型需要根据照片判断拍摄环境的真实光照条件,含有定向光源信息、且没有其它角度自然光干扰的原始照片自然就很有必要了。

但这一信息的获取条件极为苛刻,在自然环境下,我们很难拍摄到一张没有自然光干扰的人像照片,更无从获取训练算法所需要的那么多数据量。为了解决这种问题,「手工谷」的工程师进一步发挥脑洞,打造出了一个特殊的「笼子」:

这个笼子里装载了 64 个不同视角的相机以及 331 个独立控制的 LED 光源。通过笼中 LED 光源位置的变换营造出各种不同的光源效果,然后由相机记录下每一个光源所拍摄到的对应数据。

具体到数据收集流程,Google 一共让 70 名具有不同脸型、性别、肤色、发型和服装/配件的人钻进「笼」去拍摄样张,最终制成了一个包括数百万组定向光源的图像数据集。

此外,Google 开发团队还利用 MediaPip Face Mesh 这样现成的面部机器学习模型,来判断人像主体以及头部的姿势,进一步确定合成光应该从哪个方向打出。而且 Google 也表示,最终搭载在 Pixel 上的算法并没有直接使用模型输出的图像,而是通过训练模型,输出一个低分辨率的商图像,采样时可以应用到原始输入的图像中,直接在原始图像的基础上添加额外的光源效果,产生所需的输出图像。

简而言之,一番折腾之后除了提高了光源计算效率,还不会影响照片本身在高亮区域的图像细节。

数据训练加上 Google 的针对性调校,这套算法模型最终得以在 Pixel 机型上实现拍照后自动应用自然人像光效的能力:比如在经典人像摄影中,主要补光灯(或称关键光)一般会放置在眼线上方约 30°,并偏离相机轴线 30° 至 60° 之间……

所以 Pixel 的人像光效不会让你觉得和照片本身的光线环境格格不入,它一方面借助算法加强了场景中已有照明的方向性,另一方面也遵循着人像摄影常见的补光准则。光影之间,恰到好处。

后记

计算摄影一直能让我们得以了解 Pixel 系列乃至 Google 深度学习领域强大实力的冰山一角,从 Google Camera 到 Pixel 3 时代的人像模式,到 Pixel 4 主打的夜视模式与 Live HDR+,我们总会对 Google 的计算摄影有所期待。

Pixel 4「人像模式」样张

当前计算摄影逐渐成为智能手机拍照一大主流方向,Google Pixel 当初带给我们震撼的拍照实力和与其他手机在摄影上所拉开的差距,在各家手机厂商的奋起直追下也渐渐缩小。但 Google 随着每一代 Pixel 的发布依然给我们带来了新东西,Pixel 更像是移动领域计算摄影的先行者,通过各种巧妙的实现方式,引导行业向前发展。

希望 Google 能继续在计算摄影领域,为我们带来更多好料。

译者注:本文原文发布于 Google AI Blog,原作者 Yun-Ta Tsai/Rohit Pandey, Software Engineers, Google Research。《Android Weekly Update》在原文基础上编译。

关联阅读:

参考文章:

  1. 使用 Pixel 手机编辑照片 – Google Camera 帮助
  2. Portrait Light: Enhancing Portrait Lighting with Machine Learning – Google AI Blog

© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。