机器学习的实时AR自我表达

增强现实(AR)通过在物理世界之上叠加数字内容和信息,帮助您完成所看到的内容。 例如,进入Google地图的AR功能可让您找到覆盖现实世界的方向。

增强现实(AR)通过在物理世界之上叠加数字内容和信息,帮助您完成所看到的内容。 例如,进入Google地图的AR功能可让您找到覆盖现实世界的方向。 使用Playground - Pixel相机中的创意模式 - 您可以使用AR以不同方式查看世界。 借助最新版本的YouTube Stories和ARCore的全新Augmented Faces API,您可以为自己的自拍添加动画面具,眼镜,3D帽子等物品!

使这些AR功能成为可能的关键挑战之一是将虚拟内容正确地锚定到现实世界中; 这个过程需要一套独特的感知技术,能够跟踪每个微笑,皱眉或傻笑的高动态表面几何形状。

我们的3D网格及其实现的一些效果

为了实现这一切,我们采用机器学习(ML)来推断近似的3D表面几何形状以实现视觉效果,只需要一个摄像机输入而无需专用的深度传感器。这种方法提供了实时速度的AR效果,使用TensorFlow Lite进行移动CPU推理或其可用的新移动GPU功能。此技术与YouTube Stories的新创作效果相同,并且通过最新的ARCore SDK版本和ML Kit Face Contour Detection API也可供更广泛的开发人员社区使用。

自拍AR的ML管道

我们的ML管道由两个一起工作的实时深度神经网络模型组成:一个在整个图像上运行并计算面部位置的探测器,以及在这些位置上运行并通过回归预测近似表面几何的通用3D网格模型。精确地裁剪面部可以大大减少对共同数据增强的需求,例如由旋转,平移和比例变化组成的仿射变换。相反,它允许网络将其大部分容量用于坐标预测准确度,这对于实现虚拟内容的正确锚定至关重要。

一旦感兴趣的位置被裁剪,网格网络一次仅应用于单个帧,使用窗口平滑以便在面部静止时减少噪声,同时避免在显着移动期间滞后。

对于我们的3D网格,我们采用了传递学习并训练了一个具有多个目标的网络:网络同时预测合成,渲染数据上的3D网格坐标和注释的真实世界数据上的2D语义轮廓,类似于MLKit提供的。由此产生的网络为我们提供了合理的3D网格预测,不仅在合成上,而且在现实世界数据上。所有模型都接受来自地理上不同数据集的数据培训,随后在平衡,多样化的测试集上进行测试,以获得定性和定量性能。

3D网格网络接收裁剪的视频帧作为输入。它不依赖于额外的深度输入,因此它也可以应用于预先录制的视频。该模型输出3D点的位置,以及在输入中存在并合理对齐的面部概率。一种常见的替代方法是预测每个地标的2D热图,但它不适合深度预测,并且对于这么多点具有高计算成本。

我们通过迭代引导和细化预测来进一步提高模型的准确性和鲁棒性。这样我们就可以将我们的数据集增长到越来越具有挑战性的案例,例如鬼脸,斜角和遮挡。数据集增强技术还扩展了可用的地面实况数据,开发了模型对相机缺陷或极端光照条件等工件的弹性。

硬件定制推理

我们使用TensorFlow Lite进行设备上的神经网络推理。新推出的GPU后端加速可在可用的情况下提升性能,并显着降低功耗。此外,为了涵盖广泛的消费类硬件,我们设计了各种具有不同性能和效率特性的模型架构。较轻的网络最重要的区别是残余块布局和可接受的输入分辨率(最轻的模型中为128x128像素,而最复杂的模型中为256x256)。我们还改变了层数和子采样率(输入分辨率随网络深度减小的速度)。

每帧的推理时间:CPU与GPU

这些努力的最终结果是通过以下方式为用户体验在YouTube,ARCore和其他客户中提供令人信服的,逼真的自拍AR效果:

●通过环境映射模拟光反射,实现眼镜的逼真渲染

●通过将虚拟对象阴影投射到面网格上来实现自然光照

●对面部遮挡建模以隐藏面部后面的虚拟对象部分,例如 虚拟眼镜,如下图所示。

YouTube Stories包括基于3D网格的逼真虚拟眼镜等创作者效果

此外,我们通过以下方式实现高度逼真的妆效:

●建模在嘴唇和嘴唇上应用的镜面反射

●通过使用亮度感知材料进行面部绘画

案例研究将不同光照条件下5个主题的真实化妆与AR妆容进行比较。

我们很高兴与创作者,用户和开发者共享这项新技术,他们可以通过下载最新的ARCore SDK立即使用这项新技术。未来,我们计划将此技术扩展到更多Google产品。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论