快速搜索db中的面描述符 [英] Quick search of the face descriptors in the db

查看:221
本文介绍了快速搜索db中的面描述符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用神经网络来实现像脸部识别应用程序。所以我发现这个令人难以置信的文章

I want to implement something like face recognition application using neural networks. So I found this incredible article.

当我们将面部图像放在OpenFace网络中时,我们得到128个测量值,我们可以用它们来比较面。

When we put the face image in the OpenFace network we get 128 measurements which we can use to compare faces.

但是这里我们得到的主要问题是:如何在数据库中快速找到最接近的128个值?

我们将使用SVM(因为它是写在文章中),我们应该重新训练分类器每次当我们把新的面孔在db,但它不经验。

If we will use SVM(as it is written in the article) we should to retrain the classifier every time when we put the new face in the db, but it's inexpedient.

所以我想知道什么是这个问题的最佳方法?

So I would to know what is the best approach for this issue? How services like Facebook compare these descriptors in the millisecond?

推荐答案

如果你有一个面孔并且想要搜索面部数据库最接近的匹配实际上只有两个步骤(假设您已经获得了128个OpenFace测量 - 我将称为OpenFaceRep):

If you have a face and want to search a database of faces for the closest match(es) there's actually only two steps (assuming you've already gotten the 128 OpenFace measurements - which I'll call the OpenFaceRep):


  1. 对于数据库中的每个面,从种子照片的OpenFaceRep中减去其OpenFaceRep。我们将这个 diff

  2. 获得 diff 与自己。如果你在Python,它看起来像 np.dot(diff,diff),我们将调用 similarity

  1. For each face in your database, subtract its OpenFaceRep from the OpenFaceRep of your seed photo. We'll call this diff
  2. Get the dot product of that diff with itself. If you're in Python, it would look something like np.dot(diff,diff), and we'll call that the similarity.

具有最低相似性最佳匹配。请注意,您的准确性会有很大的变化,取决于你的照片,照明等质量。OpenFace已经实现了准确度约为92%在LFW基准上。

The face with lowest similarity will be the best match. Note that your accuracy will vary quite a bit depending on the quality of your photos, lighting, etc. OpenFace has achieved an accuracy of about 92% on the LFW benchmark.

这篇关于快速搜索db中的面描述符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆