【问题标题】:How to uniquely identify a face with computer vision如何用计算机视觉唯一识别一张脸
【发布时间】:2022-11-20 05:19:49
【问题描述】:

我正在使用 face_recognition python 包来处理人物图像并检测他们脸上的地标。

我实际上想根据他/她的面部特征为每个用户创建一个 ID。

我怎样才能使用地标唯一地识别一张脸?是什么让2张面孔不同或相同?

是眼睛、鼻子、嘴唇、下巴之间的距离吗?我们每个人的独特之处是什么?

【问题讨论】:

  • 这太宽泛了。在提出有用的问题之前,您需要阅读此主题。如果您还没有研究过这个问题,那么问是没有意义的。请查看How to Ask
  • 生物识别非常困难,我们仍在努力弄清楚如何检测这些特征。在 google academic 或 arxiv 上搜索“Survey + Face Recognition”。如果你想入手,可以尝试使用一种叫做LBP或者SURF的方法,搜索LBP人脸识别。

标签: machine-learning computer-vision face-recognition


【解决方案1】:

DeepFace 包装了许多人脸识别模型,例如 FaceNet、VGG 或 ArcFace。这些模型基本上将人脸表示为向量。那么,同一个人的向量应该比不同人的向量更相似。在这里,该库使用欧几里德和余弦来查找向量之间的相似性。如果这两个向量之间的距离小于预先调整的阈值,则将这一对归类为同一个人。 Here,您可以找到模型和指标对的预调阈值。

如果你想找到人脸的向量嵌入,那么你可以使用 deepface 的 represent 函数。例如,Facenet 模型生成 128 维向量。

from deepface import DeepFace
vector_embedding = DeepFace.represent("img.jpg", model_name = "Facenet")
assert isinstance(vector_embedding, list)
assert len(vector_embedding) == 128

【讨论】:

    【解决方案2】:

    你可以试试这个 python 包,它可以检测、验证、.. faces

    https://github.com/serengil/deepface

    【讨论】:

    • 很好,但是它如何帮助为面孔生成唯一标识符?
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2021-12-30
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多