三摄正普及,四摄在路上?谷歌逆天AI算法,只做单摄虚化
作者| 琥珀
出品| AI科技大本营
想要提高拍照效果,想必对于多数手机厂商而言,给手机塞进更多的摄像头似乎成了当前主流做法,例如“普通摄像头+景深摄像头”、“黑白+彩色摄像头”、“广角+长焦摄像头”……不过,偏偏有这么一家企业反其道而行,从发布 Pixel 系列以来,就一直坚持单摄像头,并强调在相机成像算法上的提升。
不久前的一篇《胜过 iPhone XS?Google Pixel 的“夜视功能”是怎样炼成的》文章中,我们介绍了 Google 新款手机 Pixel3 系列的夜景拍摄功能(Night Sight)。果然,读者们对于如何利用机器学习解决弱光条件下的拍摄难点持有很大兴趣。近日,Google Pixel3 在相机算法的升级路上越战越勇,对“人像模型”(Portrait Mode)拍摄功能进行了大幅升级。相比上一代的 Pixel2,Pixel3 的人像模式可为用户提供专业的外景图像拍摄,并通过模糊背景来加强主体对象的清晰度。
去年,Google 团队描述了相位检测自动对焦(PDAF)的技术,该技术使用了传统的非学习立体算法,并通过单个摄像头计算景深。如今,在最新推出的 Pixel 上,Google 将采用机器学习改进景深捕捉,以获取更好的人像效果。
如上图所示,上一代的人像模式主要通过神经网络决定人与背景成像像素,并使用从 PDAF 导出的景深信息来增强这两层人物的分割掩码(segmentation mask)。这意味着能够实现相应的背景虚化效果,更接近于专业相机的效果。
PDAF 通过捕捉场景的两个略微不同的视角进行工作,如下图所示。在两个视角之间翻转,我们看到人是静止的,而背景是水平移动的,这种效果成为视差(parallax)。因为视差是点距相机的距离与两个视点之间距离的函数,我们可以通过将一个视角中的每个点与另一个视角中的对应点进行匹配来估计景深。
图注:左、中的两个 PDAF 图像看起来非常相似,但在右图中,可以看到它们之间的视差
不过,通过立体算法在 PDAF 中找到这些对应关系极具挑战性,因为场景中的点几乎不在视图之间移动。此外,所有的立体声技术都存在孔径问题(Aperture Problem)。也就是说,机器通过小光圈观察场景,无法找到与立体基线平行的线的对应关系,即连接两个摄像头的线。换言之,当观察上图中的水平线(或纵向拍摄的垂直线)时,一个视角相对于另一个视角的任意可能的位移都看起来大致相同。结果,在上一代的人像模式中,以上提到的所有因素都有可能导致景深捕捉错误,产生令人不快的虚假图像。
如何改善景深捕捉?
Pixel3 采用的人像模式,通过利用立体算法产生的视差来修复这些误差。例如,远离焦距平面的点看起来不如较近的点那么清晰锐利,利用了“背景离焦”模式。此外,即使在平面屏幕上观看图像,也能通过物体的大致大小准确判断物体有多远,利用了“语义”模式。
如果构建一种能将以上不同的模式组合起来的算法是非常困难的,但我们可以通过机器学习进行构建,并更好地利用 PDAF 的“视差”。具体来讲,训练一个用 TensorFlow 编写的卷积神经网络,可以将 PDAF 作为输入并进行景深预测。这种新式改进的基于机器学习的景深捕捉方法被应用在了 Pixel3 的人像模式中。
图注:CNN 将 PDAF 图像作为输入,并输出景深图像。该网络使用“编码-解码”架构
如何训练神经网络?
为了训练网络,开发人员需要大量的 PDFA 图像和对应的高质量景深图,并且保证训练数据与用户使用智能手机拍摄的照片内容类似。为了实现这一目标,我们构建了自己的定制“Frankenphone”装备,其中包括五台 Pixel3 手机,以及基于 WiFi 的解决方案,使其能够同时捕捉来自所有手机的图片(在~2 毫秒的容差范围内)。通过这个设备,我们使用来自运动和多视图立体的结构从照片计算出高质量的景深。
图注:左:用于收集训练数据的自定义装备;中:一个捕获五个图像翻转的示例;右:真实景深,低保真点
该装备收集的数据适用于训练网络,主要基于以下五点因素:
- 五个视点确保在多个方向上存在视差,因此不存在孔径问题;
- 摄像头的位置要确保图像中的某一点在至少一张图像中是可见的,并一一对应;
- 基线,即相机之间的距离要比 PDAF 的基线大得多,从而产生更准确的景深捕捉;
- 摄像头同步确保可以计算上述动态场景的景深;
- 该装备具有便捷性,确保可捕捉野外照片,模拟用户使用智能手机拍摄的情况。
然而,即使从该装备捕获的数据是理想状态,预测场景中物体的绝对深度仍然极具挑战性,因为取决于镜头特性、焦距等因素,给定的 PDAF 对可以对应一系列不同的景深图像。为了解释这一点,我们改为捕捉场景中物体的相对景深,这足以产生令人满意的人像模式结果。
值得一提的是,这个基于机器学习模式的景深捕捉模型目前主要应用于 Pixel3 手机上。此外,通过使用 TensorFlow Lite 用于在移动和嵌入式设备上运行机器学习模型的跨平台解决方案,可以将得到的景深信息与分割掩码神经网络进行结合。
看到这里,不知道习惯了使用 iOS 系统手机的你,是不是正蠢蠢欲动回归在性能、价位日益提升的 Android 手机呢?
据最新消息称,Google 决定开放自己的相机算法授权给其他 Android 品牌使用,此前 Google 就开源了 Pixel2 系列的相机虚化算法。欢迎留言。
参考链接:
https://ai.googleblog.com/2018/11/learning-to-predict-depth-on-pixel-3.html
本文为AI科技大本营原创文章,转载请联系微信1092722531
2018 中国大数据技术大会
BDTC 2018中国大数据技术大会携主题“大数据新应用”再度强势来袭。本次大会由华东师范大学副校长、教授周傲英,百度商业智能实验室主任熊辉,阿里巴巴副总裁李飞飞三位会议主席对大会内容把关,多位两院院士参与指导,由最了解行业痛点的一线从业者为同行打造。
八折优惠仅最后一天,扫描二维码一键抢票,预定属于你的超强干货。点击「阅读原文」查看大会详情。