【问题标题】:How to recognize faces without training如何在没有训练的情况下识别人脸
【发布时间】:2020-02-19 22:24:17
【问题描述】:

我正在构建一种“人员计数器”,它可以从实时视频片段中获取人脸图像。 如果在某个帧中检测到 人脸,程序将计算该人脸/人。因此,我需要一种方法来检查是否已经检测到特定的面部。

我曾尝试使用训练程序识别模板图像以避免多次计算同一张脸,但由于只有一个模板,因此系统严重不准确,并且对于提要的每一帧都运行得有点慢。

为了更好地理解该过程:开始时,当检测到人脸时,会裁剪框架并将(新)人脸保存在文件位置。之后,在后续帧中检测到的人脸需要经过一个过程来检测之前是否检测到相似的人脸并存在于数据库中(如果有,则不应将其添加到数据库中)。

【问题讨论】:

标签: python opencv face-detection face-recognition


【解决方案1】:

面对一个食谱(双关语!;)这可能是,每一帧:

  • 获取所有帧的所有面孔(使用 opencv,您可以检测并裁剪它们)
  • 为收集的人脸生成人脸嵌入(例如using a tool for the purpose
  • 将所有如此获得的人脸嵌入添加到列表中

使用一些预定义的时间间隔,在收集的人脸嵌入列表上运行聚类算法(另请参阅Face clustering using Chinese Whispers algorithm)。这将允许将属于同一个人的面孔组合在一起,从而计算出现在视频中的人。

一旦集群合并,您可以修剪属于相同集群/人的一些面孔(以节省存储空间以备不时之需)

【讨论】:

猜你喜欢
  • 2014-06-04
  • 2019-10-30
  • 2015-01-06
  • 2014-03-24
  • 2018-07-29
  • 2021-10-30
  • 2017-08-29
  • 2017-08-06
  • 2013-12-08
相关资源
最近更新 更多