使用iPhone TrueDepth传感器检测真实面孔与照片吗?

问题描述 投票:9回答:2

如何使用通过iPhone true-depth相机捕获的深度数据来区分真实的3D人脸和该人的照片?要求是将其用于身份验证。

[我做了什么:创建了一个示例应用程序,以获取相机前面的连续内容AVDepthData

swift machine-learning avfoundation iphone-x truedepth-camera
2个回答
4
投票
TrueDepth相机让iPhone X和11除了可以通过常规前置自拍相机看到的RGB通道之外,还可以看到ZDepth通道。 ZDepth通道使您无论是真实的人脸还是照片都在视觉上有所作为。人脸渐变,但照片是等距平面,因此几乎具有纯灰色。

enter image description here

答案

目前,AVFoundation API没有Bool实例属性,可让您确定它是真实的面孔还是照片,但是您可以使用Apple Vision框架来识别和分类CVPixelBuffer中包含的人脸或矩形照片。但是请记住,您需要ZDepth到RGB转换才能使用Apple Vision(计算机视觉不适用于Depth数据)。

如果您要使用RGBD数据进行身份验证,那么将只有一两个用户的面部可以识别,这大大简化了Apple Vision的任务。您要做的就是为Vision创建一个mlmodel,其中包含ZDepth面部图像的许多变体以及矩形平面。

您可以使用Apple CreateML应用程序来生成轻便有效的mlmodel文件。

有用的链接

使用Vision检测和分类图像的样本代码,您可以找到herehere。您也可以阅读this帖子,以了解如何将AVDepthData转换为常规RGB模式。

P.S。

在这种特殊情况下,我不建议将ARKit框架用于人脸识别操作,因为由于其“硬核”跟踪系统,它带来了额外的大量CPU计算。


-1
投票
© www.soinside.com 2019 - 2024. All rights reserved.