从VNFaceObservation分类面孔

时间:2017-08-03 09:54:38

标签: ios ios11 image-recognition face apple-vision

我正在使用Vision框架来检测多个图像上的面部和对象,效果非常好。

但我有一个问题,我无法在文档中找到。 iOS上的照片应用程序对脸部进行分类,您可以单击脸部并使用此脸部显示所有图像。

如何对照片应用等面部进行分类?是否有任何独特的标识符或类似标识?

谢谢!

3 个答案:

答案 0 :(得分:1)

我不认为它们是唯一识别从视觉框架返回给您的面孔的方法。我在UUID属性中检查了VNFaceObservation属性,每次它都是一个不同的标识符。

您可能必须创建自己的CoreML模型,或者只是等待/找到一个好的第三方。

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

答案 1 :(得分:1)

为了唯一地识别人脸,首先需要检测人脸,然后通过CoreML模型(或其他图像分类模型类型,例如Tensorflow模型)运行它,以便对图像进行分类并告诉您相似度确保您捕获的面部与模型中训练的面部之一匹配。

Apple Photos使用机器学习(如今年iPhone的主题演讲中所述)来训练设备识别照片中的脸部。培训将在设备上本地进行,但是Apple尚未提供任何公共API(允许我们执行此操作)。

您可以将照片数据(使用Paras上面提到的工具使用面部裁剪)发送到服务器,并使其训练模型(使用CoreML的训练器或AWS或您自己的服务器上的Nvidia DIGITS之类的东西),将其转换为CoreML ,编译模型,然后将其下载到您的设备并侧载模型。到目前为止,这与照片将要使用的“魔术”面部识别功能非常接近,因为该设备只能读取已编译模型。

答案 2 :(得分:0)

您可能想查看此回购 https://github.com/KimDarren/FaceCropper

我对此进行了测试并且运行良好,您甚至可以根据需要进行自定义。