ARFaceTrackingConfiguration: How to distinguish pictures from real faces?
我们商店中有几个应用程序,它们使用
如您所见,ARKit还将跟踪放置在iPad Pro / iPhoneX前面的面孔图片,就好像它们是面孔一样。例如。从我们的一个应用程序中拍照(要复制,可以下载
目前无法在ARKit 3.0 API中执行此操作。
ARKit session's
ARFaceTrackingConfiguration is constantly getting data from motion sensors at1000 Hz , from front RGB camera at60 Hz , and from IR camera at15 Hz . And TrueDepth sensor is working while the session is running. You can't manually stop TrueDepth sensor in ARKit.
Apple的TrueDepth模块的工作距离范围很窄,因为来自IR投影机的30K点必须具有确定的亮度,模糊度,覆盖范围和点大小,才能被ARKit有效使用。
使用此代码,您可以测试进程中是否涉及TrueDepth模块:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @available(iOS 13.0, *) class ViewController: UIViewController { @IBOutlet var sceneView: ARSCNView! override func viewDidLoad() { super.viewDidLoad() sceneView.session.delegate = self } } extension ViewController: ARSessionDelegate { func session(_ session: ARSession, didUpdate frame: ARFrame) { print(sceneView.session.currentFrame?.capturedDepthData?.depthDataQuality as Any) } } |
通常,每隔四帧打印一次深度数据(但有时间隙大于4帧):
在仅有的一种情况下,TrueDepth传感器对RGB数据无贡献:当您将智能手机移到离海报太近或离脸太近的位置时,因此您只会看到