ARKit3 如何使用 TrueDepth 相机进行人脸跟踪和其他人的面部网格?
Posted
技术标签:
【中文标题】ARKit3 如何使用 TrueDepth 相机进行人脸跟踪和其他人的面部网格?【英文标题】:ARKit3 How to use TrueDepth camera for face tracking and face meshes of other people? 【发布时间】:2019-12-22 02:35:05 【问题描述】:我有兴趣使用 ARKit 3 和几台 iPad 来创建多用户(协作)体验,因为根据 WWDC '19 似乎对协作 AR 的支持有所改进。
Apple 谈论了很多关于面部跟踪和动作捕捉的内容,但听起来这仅在前置摄像头(面向手持设备的人)上支持。有没有办法对正在分享的朋友进行面部跟踪经历?在 WWDC 演示视频中,看起来动作捕捉角色是从用户视图中的人生成的,而 Minecraft 演示显示用户视图中的人与 AR 中的 Minecraft 内容混合在一起。这表明 后置摄像头 正在处理这个问题。然而,我认为 AR 的意义在于将虚拟对象附加到你面前的物理世界。 Reality Composer 有一个面部跟踪示例和一个跟随面部周围的引用气泡,但是因为我没有带有深度摄像头的设备,我不知道这个示例是否意味着让引用气泡跟随你,周围的用户,或相机视野中的其他人。
简而言之,我对在共享 AR 环境中对其他人进行面部跟踪、人物遮挡和身体跟踪可以做哪些事情感到有些困惑。正在使用哪种相机,我可以将哪些功能应用于其他人,而不是仅应用于我自己(自拍风格)?
最后,假设我可以在我看来对其他人进行面部和身体跟踪,并且我可以为其他人进行遮挡,有人会指导我参考一些示例代码吗?我还想使用场景中的深度信息(同样,如果可能的话),但这可能需要一些完全不同的 API。
由于我还没有配备 TrueDepth 摄像头的设备,因此我无法使用此处的示例项目亲自进行测试:https://developer.apple.com/documentation/arkit/tracking_and_visualizing_faces 我正在尝试根据人们的回答来确定我是否可以在购买必要的硬件之前首先创建我想要的系统。
【问题讨论】:
【参考方案1】:ARKit 3 提供了同时使用前置和后置摄像头的能力。
面部跟踪使用前置摄像头,并且需要配备 TrueDepth 摄像头的设备。 ARKit 3 现在可以使用前置摄像头最多跟踪三个人脸。面部跟踪可让您捕捉详细的面部动作。
使用后置摄像头执行身体跟踪和动作捕捉。这允许检测身体并将其映射到您的应用可用于捕获位置数据的虚拟骨架上。
例如,您可以使用后置摄像头捕捉某人的身体动作,并使用前置摄像头捕捉观看该动作的人的面部表情,并将其组合到一个 ARKit 场景中。
【讨论】:
所以苹果没有提供场景中人物面部表情检测的API。因此,我的理解是,我需要使用不同的 API 或编写自己的计算机视觉算法来支持这一点。 (感谢您帮助解决我的相关问题。我需要将它们分开,因为它们是如此不同。) 后置摄像头上没有硬件。 TrueDepth 摄像头将数千个红外点投射到用户的脸上,并使用这些点来生成人脸地图。 你的意思是说后置摄像头不够好,期间,第三方CV算法无法以自己的方式成功进行面部表情跟踪? 您当然可以尝试通过用于后置摄像头的软件来实现同样的效果,但它会不如使用 TrueDepth 设备实现的精确度,并且需要更多处理。 嗨@Paulw11!我只是在这里阅读您的建议,我想知道您是否知道如何获取用于面部跟踪的真相深度相机参数? ***.com/questions/62927167/…以上是关于ARKit3 如何使用 TrueDepth 相机进行人脸跟踪和其他人的面部网格?的主要内容,如果未能解决你的问题,请参考以下文章
处理来自靠近边缘的 TrueDepth 相机缓冲区的伪影的正确方法是啥?
使用 iPhone TrueDepth 传感器检测真人脸与照片?
想要Mac电脑上的面部识别码?MacOS Big Sur暗示TrueDepth摄像头即将推出
如何在 ARKit 3 动作捕捉中获取所有关节 XYZ 坐标