Google AR动画如何用ML即时关注脸部动作?

AR技术能帮助用户创造更多数字应用,像是Google地图的AR功能可以让用户找方向,Pixel相机的AR功能也能让用户的自拍增添动画面具、眼镜、帽子等物品,不过,AR技术最大的挑战是要将虚拟对象准确的放在真实世界的对象上,这个过程需要一系列特殊的技术,来处理高度动态的几何表面,像是每个微笑、皱眉细微的脸部表情。

为了能够准确关注脸部表情变化, Google采用机器学习来推断大约的3D表面几何形状,来使得视觉动画效果变得可行,只需要一般的摄像镜头就能做到,不需要精密的深度传感器,这个方法能够即时产生AR动画,同时,Google也将该技术通过最新版的ARCore SDK和机器学习脸部轮廓侦测工具(ML Kit Face Contour Detection API)发布。

Google的AR动画机器学习工作流程包含2个即时的深度神经网络模型,一个是扫过整个图片和计算脸部位置的侦测模型,另一个则是通过回归预测表面几何的3D网格生成模型,精准地裁剪出脸部位置可以大幅地降低数据增强的需求,像是旋转、平移等转化工作,一旦侦测模型找出脸部位置后,网格模型会通过平滑化的技术,来减少静态脸部图像中的噪音,同时也针对大幅的移动,避免延迟的情况出现。

Google的3D网格生成模型是通过迁移学习和用多个目标训练而成的网络,该网络同时预测合成数据的3D网格座标和真实世界数据的2D轮廓,模型接收裁切过的视频片段,经过处理后,生成用3D表示脸部可能位置的点,并且通过TensorFlow Lite,创建设备上的神经网络推断模型,来加速模型的性能表现。