2012-02-29 121 views
2

我利用http://www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti的面部识别代码,并用它很好地识别了几张脸。Emgu CV人脸识别:如何提高准确性

但是,挑战在于,一旦我增加了不同人的数量,准确性就越来越低。我编写了一些代码,以编程方式为识别器生成训练图像,其中约280名训练有素的面孔(全部100 x 100像素灰度)包含约280名不同的人。

上述网页的提示似乎没有帮助提高准确性。我想知道是否有任何人使用Emgu CV做精确的人脸识别有很好的提示和经验。现在速度并不太重要。

非常感谢,在此先感谢。

+0

汤姆斯的答案是伟大的,以帮助您更具体地与EMGU识别器我写了一篇基于你引用的文章。它解释更多关于如何提高精度http://www.codeproject.com/Articles/261550/EMGU-Multiple-Face-Recognition-using-PCA-and-Paral – Chris 2012-02-29 10:24:04

+0

谢谢克里斯,我将工作在新的信息和回到这个线程,以提高准确性我做 – 2012-03-01 01:07:26

+0

@Chris伟大的文章,谢谢 – TomP89 2012-03-01 09:05:20

回答

5

不幸的是,特征脸方法的最大问题之一是,对于测试集中的大量主体,准确性会降低,因为从根本上讲,这是一种基于外观的方法,以及具有相似面部的可能性上升,你添加的面孔就越多。

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

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

此方法拆分面成多个水平部分和在每个部分执行识别。最后,将每个部分的结果加权并汇总在一起以形成最终得分。尽管我警告过你,但我会让你阅读血淋淋的细节,但这不会在现成的API(例如EMGU CV)中提供。

适用于EMGU CV其他提示:

  1. 使用尽可能多的训练图像尽可能为每个人设定
  2. 如果可能的尝试和分裂组分成小组
  3. 尝试使用一些预处理技术,如光线归一化
  4. 也许试试更高分辨率的图像(尽管这会降低性能)
  5. 以不同姿势拍摄训练图像(即脸部方向和情感)

综上所述,要提高精度最好的办法,是用正是你想要的功能,编写自己的识别过程,它实际上不是很难,因为你可能会认为,它只是需要耐心。你也许想看看其他的脸部识别方法(有很多),如几何方法,使用的信息,如眼睛之间的距离等。

+0

谢谢汤姆的彻底答案,我会给他们一个尝试,并回到这条线索,以改善我使 – 2012-03-01 01:08:02