我想用神经网络实现像人脸识别应用程序这样的东西。所以我找到了this incredible article。
当我们将面部图像放入OpenFace网络时,我们可以使用128个测量值来比较面部。
但是在这里我们得到一个主要问题:如何在数据库中快速找到最接近128个值的同一面?
如果我们将使用SVM(正如文章中所述),每当我们将新面孔放入数据库时,我们应该重新训练分类器,但这是不合适的。
所以我想知道这个问题的最佳方法是什么? Facebook等服务如何在毫秒内比较这些描述符?
答案 0 :(得分:3)
如果你有一张脸并且想要搜索最接近匹配的面部数据库,那么实际上只有两个步骤(假设你已经获得了128个OpenFace测量 - 我称之为OpenFaceRep): / p>
diff
diff
的点积。如果您使用的是Python,它看起来就像np.dot(diff,diff)
,我们称之为similarity
。最低similarity
的面孔将是最佳匹配。请注意,根据照片质量,照明等,您的准确度会有很大差异.OpenFace在LFW基准测试中达到了accuracy of about 92%。