如何在 python 中使用欧氏距离进行人脸识别

How to do face recognition using euclidean distance in python

我有一个项目需要在其中包含 face recognition。我指的是这个article。本文使用 open-face 获取人脸 embeddings 并将所有嵌入保存在 pickle 文件中。然后将人脸嵌入数据传递给 support vector machine,后者生成另一个 pickle 文件。此文件稍后用于识别和预测人脸。

这一直有效,准确率超过 80%。但是这篇文章并没有解释如何计算euclidean distance。这是我自己的研究工作所需要的。

我可以很容易地计算 euclidean distance 测试图像的人脸嵌入和 pickle 文件中存在的人脸嵌入之间,但我无法理解如何设置阈值,以便超过该值的任何距离标记为 unknown.

任何人都可以给我指点一些解释了这一点的文章,我可以从那里跟进。我尝试搜索很多文章,但没有得到太多结果。请帮忙。谢谢

您可以构建 2 个(正态)分布。

  1. 同一个人脸之间的距离
  2. 不同面之间的距离

这些分布的交叉点将是阈值。

小图: