奇奇网>综合>正文

谷歌如何通过机器学习实现逼真AR实时自拍效果

2019-04-11 18:02:24 映维网 分享

增强现实可以在物理世界之上叠加数字内容与信息,从而增强你的感知。例如,谷歌地图的AR功能可允许你直接看到叠加在现实世界视图的方向。借助Playground,你就可以通过AR并以不同方式浏览世界。对于最新版本的YouTube Stories,以及ARCore全新的Augmented Faces API,你可以为自拍添加动画面具,眼镜,3D帽子等滤镜。

实现这种AR功能的关键挑战之一是合理地将虚拟内容锚定在现实世界。这个过程需要一套独特的感知技术,需要能够追踪千差万别的表面几何,每一个微笑,每一次皱眉都要准确识别。

为了实现这一切,谷歌采用机器学习来推断近似的3D表面几何形状,只利用一个摄像头输入而无需专用的深度传感器。利用面向移动CPU界面的TensorFlow Lite或可用的全新移动GPU功能,这种方法带来了实时速度的AR效果。所述解决方案与驱动YouTube Stories全新创作者效果的技术相同,并已经通过最新的ARCore SDK和ML Kit Face Contour Detection API向广泛的开发者社区开放。

1. 用于AR自拍的机器学习管道

谷歌的机器学习管道由两个协同工作的实时深度神经网络模型组成:一个在整张图像上运行,并计算面部位置的探测器;在所述位置上运行,并通过回归预测来近似表面几何的通用3D网格模型。精确地裁剪面部可以大大减少对相同数据增强的需求,比方说由旋转,平移和比例变化组成的仿射变换。通过精确地裁剪面部,这允许系统将大部分性能用于预测坐标,而这对于实现虚拟内容的正确锚定至关重要。

一旦裁剪了感兴趣位置,网格网络一次仅应用于单个帧,利用加窗平滑(windowed smoothing)以减少面部静止时的噪点,同时避免在显著移动期间出现延迟。

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

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

声明:本站部分资源来源于网络,版权归原作者或者来源机构所有,如作者或来源机构不同意本站转载采用,请通知我们,我们将第一时间删除内容。本站刊载文章出于传递更多信息之目的,所刊文章观点仅代表作者本人观点,并不意味着本站赞同作者观点或证实其描述,其原创性及对文章内容的真实性、完整性、及时性本站亦不作任何保证或承诺,请读者仅作参考。
编辑:奇奇