Emgu CV人脸识别:如何提高准确性

时间:2012-02-29 07:28:21

标签: emgucv face-recognition

我利用了来自http://www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti的面部识别代码,并且开始使用它来识别几张面孔。

但挑战是,一旦我增加了不同的人数,准确性就会越来越低。我编写了一些代码,以编程方式为识别器生成训练图像,大约有300个训练面(所有100 x 100像素灰度),大约280个不同的人。

上述网页的提示似乎对提高准确性没有多大帮助。我很奇怪任何人都有使用Emgu CV做精确面部识别的任何好的提示和经验。速度现在不是太重要了。

非常感谢,提前致谢。

1 个答案:

答案 0 :(得分:5)

不幸的是,本征面方法的一个最大问题是,对于测试集中的大量主题,准确度会下降,因为从根本上说这是一种基于外观的方法,并且具有相似面孔的可能性向上,你添加的面孔越多。

我实际上使用本征人脸识别方法完成了我的最后一年uni项目,并使用以下论文来提高准确性。

http://vplab.iitm.ac.in/publi_journal/conference/frarc.pdf

此方法将面部分割为多个水平部分,并对每个部分执行识别。最后,对每个部分的结果进行加权并汇总以形成最终得分。虽然我警告过你,但是你会看到血腥的细节,但是现有的API(例如EMGU CV)无法提供。

适用于EMGU CV的其他提示:

  1. 为集合中的每个人使用尽可能多的训练图像
  2. 如果可能,请尝试将该组拆分为较小的组
  3. 尝试并使用一些预处理技术,例如光线规范化
  4. 也许尝试稍高分辨率的图像(虽然这会降低性能)
  5. 拍摄不同姿势(即面部方向和情绪)的训练图像
  6. 总之,提高准确性的最佳方法是使用您想要的功能编写自己的识别程序,并且实际上并不像您想象的那么难,只需要耐心。此外,您可能希望查看其他人脸识别方法(有很多),例如几何方法,它使用诸如眼睛之间的距离等信息。