gpt4 book ai didi

ios - 查找 iOS 设备摄像头与用户面部之间的距离

转载 作者:IT王子 更新时间:2023-10-29 05:24:10 26 4
gpt4 key购买 nike

我正在尝试找出 iOS 设备的前置摄像头与现实世界中用户面部之间的距离。

到目前为止,我已经尝试过 ARKit/SceneKit,并且使用 ARFaceAnchor 我能够检测到用户的面部与相机的距离;但它只能在很近的地方(最多约 88 厘米)起作用。我的应用程序要求人脸距离检测高达 200 厘米。

我假设这可以在不使用 trueDepth 数据(在 ARFaceAnchor 中使用)的情况下实现。

你能告诉我正确的方向吗?

最佳答案

为了获得设备和用户面部之间的距离,您应该将检测到的用户面部的位置转换为相机的坐标系。为此,您必须使用 convertPosition SceneKit中的方法来切换坐标空间,从人脸坐标空间到相机坐标空间。

let positionInCameraSpace = theFaceNode.convertPosition(pointInFaceCoordinateSpace, to: yourARSceneView.pointOfView)

theFaceNode 是 ARKit 创建的代表用户面部的 SCNNode。 ARSCNView 的 pointOfView 属性返回查看场景的节点,基本上是相机。

pointInFaceCoordinateSpace 可以是面部网格的任何顶点或只是 theFaceNode 的位置(这是面部坐标系的原点)。在这里,positionInCameraSpace 是一个 SCNVector3,表示您给定的点在相机坐标空间中的位置。然后,您可以使用此 SCNVector3 的 x、y 和 z 值(以米表示)获取点与相机之间的距离。

这些链接可能对您有帮助:

- Distance between face and camera using ARKit

- https://github.com/evermeer/EVFaceTracker

- https://developer.apple.com/documentation/arkit/arfacetrackingconfiguration

- How to measure device distance from face with help of ARKit in iOS?

关于ios - 查找 iOS 设备摄像头与用户面部之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53000309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com