在 Apple Vision Framework 中是否可以比较人脸并识别该人是否在与该人的参考图像相比的图片中?
类似于 Facebook 人脸识别。
托马斯
来自愿景框架文档:
Vision框架进行人脸和人脸界标检测,文本 检测,条形码识别,图像配准,和一般 特征跟踪。 Vision 还允许使用自定义 Core ML 模型 用于分类或对象检测等任务。
所以,不,Vision Framework不提供人脸识别,只提供人脸检测。
有一些方法可以识别人脸。以下是 AR 应用程序中人脸识别的示例: https://github.com/NovatecConsulting/FaceRecognition-in-ARKit
他们训练了一个可以检测大约 100 个人的模型,但是你必须为每个你想识别的新人重新训练它。不幸的是,你不能只输入两张图片并比较这些面孔。
根据人脸检测与人脸识别文章:
人脸检测只是意味着系统能够识别出图像或视频中存在人脸。例如,人脸检测可用于相机的自动对焦功能。
人脸识别描述了一种生物识别技术,它远远超出了仅检测到人脸的方式。它实际上试图确定它是谁的脸。
如果您需要增强现实应用程序,例如 Facebook 的
FaceApp
,答案是:
FaceApp
的应用程序。因为您只需要一种简单形式的人脸识别,可以通过 ARKit 或 RealityKit 框架访问。您甚至不需要像使用 Vision 和 CoreML 框架那样创建
.mlmodel
。
您只需要一台带前置摄像头的设备,即可使用 ARKit 3.0 或 RealityKit 1.0 一次检测多达三张脸。看看下面的 Swift 代码当检测到人脸时,你如何做到这一点来获得
ARFaceAnchor
。
此外,如果你想使用参考图像进行简单的人脸检测——你需要将几张参考图像放在 Xcode 的
.arresourcegroup
文件夹中,并使用 以下 Swift 代码 作为附加条件来获得 ARImageAnchor
(在检测到的图像)。