【问题标题】:group same faces using opencv c++使用opencv c ++对相同的面孔进行分组
【发布时间】:2012-12-28 04:58:34
【问题描述】:

我正在尝试使用 opencv 对文件夹中的人脸进行分组。

我正在使用http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html 的特征脸示例。但找不到任何东西可以解决我的问题。

I have a set of faces in my face database: A,B,C,D,E,F,G,H,I
As a result I try to get; 
 - A,B,D are person1
 - C,E,F are person2 
 - G,H   are person3
 - I     is person4

我猜这个过程应该是这样的;

sampleFace = A
while  
  mode.train(faces,labels) // trains face database 
  model.predict(sampleFace, &predict, &confidence) // get the prediction 
  using the confidence and similarity percentage decide A,B,D faces are person1
  remove A,B,D from face database and remove the labels of these images also 
  if faces.size=1 exit loop
  sampleFace = C
end of loop

为了得到这个结果,我想我需要在特征面样本中为我的模型设置一个阈值。并且需要使用置信度值。

实际上我想设置一个相似度分数,如 %80,然后我想获得与给定样本人脸相似度分数大于 %80 的图像。 eigenfaces 样本只给出了一张具有置信度值的相似人脸。我需要获得每个人脸的置信度值,然后我可以比较相似度分数。同样在 eigenfaces 样本中,我不知道置信限度,我需要每个面的百分比值。

任何帮助、建议或代码示例将不胜感激。

【问题讨论】:

    标签: c++ opencv face-recognition


    【解决方案1】:

    您尝试做的方法是基于无监督学习,这在人脸图像上效果不佳。如果每个人有足够数量的样本,最好用至少一张人的图像来训练分类器;然后为数据集中的每个图像找到最近的类。

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 2019-05-05
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多