- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想使用神经网络实现类似人脸识别的应用程序。所以我找到了this incredible article .
当我们将面部图像放入 OpenFace 网络时,我们会得到 128 个测量值,我们可以使用这些测量值来比较面部。
但这里我们遇到了主要问题:我们如何才能在数据库中快速找到具有最接近的 128 个值的同一张脸?
如果我们将使用 SVM(如文章中所写),我们应该在每次将新面孔放入数据库时重新训练分类器,但这是不方便的。
所以我想知道解决此问题的最佳方法是什么? Facebook 等服务如何在毫秒内比较这些描述符?
最佳答案
如果您有一张脸,并想在人脸数据库中搜索最接近的匹配项,实际上只有两个步骤(假设您已经获得了 128 个 OpenFace 测量值——我将其称为 OpenFaceRep):
diff
diff
与自身的点积。如果您使用的是 Python,它看起来类似于 np.dot(diff,diff)
,我们将其称为相似性
。相似度
最低的人脸将是最佳匹配。请注意,您的准确度会因照片质量、光照等因素而有很大差异。OpenFace 已实现 accuracy of about 92%。在 LFW 基准上。
关于database - 快速搜索数据库中的面部描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41272915/
我正在寻找可以支持人脸检测、识别和聚类的SDK。我们试过了Pittpatt ,而且效果很好,但是被谷歌收购了,因此卡住了新契约(Contract)。所以我们不得不决定使用OpenCV,业务风险低,技术
我正在努力寻找正确的方法来调整大小、裁剪和图像,以及重点区域。在我的例子中,焦点区域是图像中检测到的人脸,我需要确保该区域在裁剪后的版本中可见。 我有例如给出的重点领域。 face_height、fa
我们的应用程序从钥匙串(keychain)中保存和检索项目,以便使用生物识别技术进行身份验证。 在第三次错误尝试时,我被重定向到设备 PIN 码。相反,想提示一条消息,指出 3 次错误尝试。 检索项目
我是一名优秀的程序员,十分优秀!