2012-02-29 126 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