认出是谁的脸 iOS Swift

Recognizing whose face it is in iOS Swift

我正在尝试研究人脸识别。但不只是 "recognizing that there's a face feature on the video",还有 "recognizing whose face it is",iOS Swift 语言。到目前为止,我在互联网上获得的关于这方面的资源只是检测,而不是真正的人脸识别(我怀疑必须有某种机器学习训练和数据库来存储所有这些训练结果以供将来识别),像这样 tutorial using Vision framework, or this tutorial about face features, but none of them has machine learning. This tutorial 谈论机器学习框架,OpenML,但没有任何细节。

我确实找到了一篇promising article关于使用Local Binary Patterns Histograms进行人脸识别的文章,虽然识别部分很短,但是它没有说数据模型存储在哪里,或者我是否可以将 "trained data" 发送到服务器以与服务器中已有的训练数据集成。然后还有传言说 OpenCV 原生于 C++,只能在 Objective C++ 而不能在 Swift?

中实现

要有一个集中的人脸识别数据库(通过该数据库训练设备识别人脸,将结果上传到服务器,然后另一个设备可以使用该信息更早地识别人脸),我怀疑训练是在客户端完成 (iOS),但识别是在服务器端完成的(设备检测到人脸,将该人脸的裁剪图像上传到服务器,服务器对该图像进行面部识别).那是对的吗?还是把所有的服务端训练数据下载到设备上,然后在客户端用它来做人脸识别,是不是更可行更实用?或者所有的训练和识别都在服务器上完成?

这一切都只是在我的脑海里,但我实际上不知道从哪里开始寻找我的用例。我觉得必须训练和存储模型并进行所有识别的是服务器,客户端只发送检测到的人脸。

如果我没理解错的话,你说的是你在找 FaceID。不幸的是,Apple 仅将此功能提供给开发人员,作为对用户进行身份验证的一种方式,而不是识别人脸本身。你可以做的是在应用程序中拍一张脸;使用 Apple 的 CoreML 框架创建机器学习模型并训练模型识别人脸。但这样做的问题是你必须用每张脸虚拟地训练模型,这是不可能的。如果您热衷于此,您可以编写自己的人脸识别算法并使用您的模型分析拍摄的照片。为此,您需要非常大量的数据。

编辑

浏览以下链接。也许他们可以提供帮助。

https://gorillalogic.com/blog/how-to-build-a-face-recognition-app-in-ios-using-coreml-and-turi-create-part-1/

https://blog.usejournal.com/humanizing-your-ios-application-with-face-detection-api-kairos-60f64d4b68f7

但是请记住,这些不会像 FaceID 那样安全。他们很容易被欺骗。