像YouTube Stories这样的应用程序覆盖在脸上的动画面具,眼镜和帽子非常漂亮,但它们究竟如何看起来如此真实?好吧,多亏了谷歌人工智能研究部今天早上发布的深度潜水,它不像以前那么神秘。在博客文章中,Mountain View公司的工程师将Stories和ARCore的 Augmented Faces API 的核心技术描述为AI技术,他们说这可以模拟光反射,模型面部遮挡,模型镜面反射等等 - 所有这些都是实时的一台相机。
“使这些AR功能成为可能的关键挑战之一是将虚拟内容正确地锚定到现实世界,”Google AI的Artsiom Ablavatski和Ivan Grishchenko解释说,“这一过程需要一套独特的感知技术才能跟踪每个微笑,皱眉或假笑都具有高度动态的表面几何形状。
谷歌的增强现实(AR)管道,利用TensorFlow Lite--一种轻量级,移动和嵌入式的谷歌TensorFlow机器学习框架实现 - 用于硬件加速处理(如果可用),包括两个神经网络(即生物模拟的数学函数层)神经元)。第一个 - 检测器 - 对相机数据进行操作并计算面部位置,而第二个 - 三维网格模型 - 使用该位置数据来预测表面几何。
为什么采用双模式方法?有两个原因,Ablavatski和Grishchenko说。首先,它“大大减少”使用合成数据增加数据集的需求,并且它允许AI系统将其大部分容量用于准确预测网格坐标。“[这两者都是]对于实现虚拟内容的正确锚定至关重要,”Ablavatski和Grishchenko说。
下一步需要使用平滑技术将网格网络一次应用于单帧摄像机镜头,从而最大限度地减少滞后和噪声。该网格是从裁剪的视频帧生成的,并且预测标记的真实世界数据上的坐标,提供3D点位置和面部存在的概率以及帧内“合理对齐”。
AR管道的最新性能和准确性改进来自最新的TensorFlow Lite,Ablavatski和Grishchenko说,这会提高性能,同时“显着”降低功耗。它们也是工作流程的结果,迭代地引导和细化网格模型的预测,使团队更容易处理具有挑战性的案例(例如鬼脸和倾斜角度)和人工制品(如相机缺陷和极端光照条件)。
上图:模型性能比较。
图片来源:谷歌
有趣的是,管道不仅仅依赖于一个或两个模型 - 相反,它包含一系列旨在支持一系列设备的架构。“更轻”的网络 - 需要更少的内存和处理能力 - 必然使用较低分辨率的输入数据(128 x 128),而数学上最复杂的模型将分辨率提高到256 x 256。
根据Ablavatski和Grishchenko的说法,最快的“全网格”模型在Google Pixel 3(使用图形芯片)上实现了小于10毫秒的推理时间,而最轻的切割时间则降低到每帧3毫秒。它们在Apple的iPhone X上有点慢,但只有一个头发:最轻的型号在大约4毫秒内(使用GPU)进行推断,而全网格需要14毫秒。