Apple Vision Framework 识别人脸

Posted

技术标签:

【中文标题】Apple Vision Framework 识别人脸【英文标题】:Apple Vision Framework Identify face 【发布时间】:2018-11-02 13:01:18 【问题描述】:

Apple Vision Framework 中是否可以比较面孔并识别该人是否在图片中与该人的参考图像进行比较?

类似于 Facebook 人脸识别。

托马斯

【问题讨论】:

【参考方案1】:

来自视觉框架文档:

Vision 框架执行人脸和人脸地标检测,文本 检测、条码识别、图像配准等 特征跟踪。 Vision 还允许使用自定义 Core ML 模型 用于分类或对象检测等任务。

所以,不,Vision Framework 不提供人脸识别,只提供人脸检测。

有一些方法可以识别人脸。以下是 AR 应用中的人脸识别示例: https://github.com/NovatecConsulting/FaceRecognition-in-ARKit

他们训练了一个可以检测大约 100 个人的模型,但是您必须为每个要识别的新人重新训练它。不幸的是,您不能只输入两张图像并比较面孔。

【讨论】:

【参考方案2】:

据Face Detection vs Face Recognition文章:

人脸检测只是意味着系统能够识别图像或视频中存在人脸。例如,人脸检测可用于相机的自动对焦功能。

人脸识别描述了一种生物识别技术,它远远超出了仅检测到人脸的方式。它实际上试图确定它是谁的脸。

但是...

如果您需要增强现实应用,例如 Facebook 的 FaceApp,答案是:

是的,您可以使用 ARKit 创建类似于 FaceApp 的应用。

因为您只需要一种简单形式的人脸识别,就可以通过 ARKit 或 RealityKit 框架进行访问。您甚至不需要像使用 Vision 和 CoreML 框架那样创建.mlmodel

您只需要一台带有前置摄像头的设备,即可使用 ARKit 3.0 或 RealityKit 1.0 一次检测最多三个人脸。看看following Swift code如何在检测到人脸时获取ARFaceAnchor

另外,如果你想使用参考图像进行简单的人脸检测——你需要在 Xcode 的.arresourcegroup 文件夹中放置几个​​参考图像,并使用following Swift code 作为附加条件来获得ARImageAnchor(在检测到的图像)。

【讨论】:

以上是关于Apple Vision Framework 识别人脸的主要内容,如果未能解决你的问题,请参考以下文章

在 Apple 的 Vision 框架中,我如何判断哪些语言可用于文本识别?

Apple Vision 框架:LCD/LED 数字识别

CoreML试水--图片识别

Apple Vision – 条码检测不适用于不同颜色的条码

Vision 和 CoreML – CGImagePropertyOrientation 需要错误的类型

用于对象识别的 ARKit 和 Vision 框架