从VNFaceObservation中分类面部

11
我正在使用Vision框架来检测多张图片上的人脸和物体,效果非常好。
但是我有一个问题,在文档中找不到答案。iOS上的照片应用可以对人脸进行分类,并且您可以点击人脸以显示所有包含该人脸的图片。
我如何像照片应用一样对人脸进行分类?是否有任何唯一标识符或类似的方法可以实现这一点?
谢谢!
3个回答

2
为了独特地识别面孔,首先需要检测人脸,然后将其通过CoreML模型(或其他图像分类模型类型,例如Tensorflow模型)进行分类以告诉您捕获的人脸与训练到模型中的人脸之一匹配的可能性。
Apple Photos使用机器学习(如他们今年在iPhone发布会上提到的)来训练设备识别照片中的人脸。训练是在设备上本地执行的,但是,Apple目前还没有提供任何公共API允许我们这样做。
您可以将照片数据(使用Paras上述工具的人脸剪裁)发送到您的服务器,并让它训练一个模型(使用CoreML的训练器或类似于AWS上的Nvidia DIGITS),将其转换为CoreML,编译模型,然后下载到您的设备并侧载模型。目前,这是最接近“魔法”面部识别的方法,因为设备只能读取编译后的模型。

1

我认为无法从视觉框架返回的面孔中唯一地识别它们。我检查了 VNFaceObservationUUID 属性,每次都是不同的标识符。

你可能需要制作自己的 CoreML 模型,或者等待/寻找一个好的第三方模型。

希望有人能证明我错,因为我也想知道。


0

但不像苹果照片应用程序那样识别唯一的面孔并进行分类。谢谢! - mhergon
这确实可以识别独特的面孔,就像照片应用程序一样。 - Paras Gorasiya
我刚刚用那个链接给你提供了一个例子,你应该能找到一些有用的东西。那个演示做的就是你想做的事情。 - Paras Gorasiya
这个例子并不能唯一地识别出人脸。它只是获取图像中的所有人脸,将它们裁剪,然后在UICollectionView中展示它们。 - Jon Vogel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接