簡體   English   中英

C / C ++中的健壯人臉檢測?

[英]Robust Face Detection in C/C++?

我正在尋找一個強大的人臉檢測算法/庫,最好用C語言(C ++也可以;其他語言我可以在必要時移植)。 我過去曾使用OpenCV的實現,但我不認為它對旋轉是不變的。 不需要是實時的,但它也不應該非常慢(每張照片可能只有一兩秒鍾)。 尋找高可靠性,而不是很多誤報。 有誰知道任何好的實現?

OpenCV Wiki上查看關於使用Haar類功能進行面部檢測的頁面。

@floppydisk :同一個人發布了另一個項目,實現了類似Haar的臉部檢測功能。

這個概念並不難理解,你甚至可以自己實現它。 也許最困難的部分是構建級聯的增強分類器(但openCV已經很容易實現!)

可以在面部檢測中使用的一些其他可以使仿射變換不變的方法包括:

  • 具有SVD / PCA的特征
  • 傅里葉描述符
  • 統計形狀模型(特別是本文

您可以嘗試看看這個庫:

http://vasc.ri.cmu.edu/NNFaceDetector/

它在一個測試用例中顯示了旋轉的面。 正如您所看到的,它是作為論文完成的,所以如果您願意,也可以閱讀該論文。

馬克 - 你說OpenCV可能不會對旋轉不變

什么會阻止你進行四次比較,每次比較后旋轉90°?

在Code Project上,有人發布了面部識別項目的詳細描述以及項目的一些C ++源代碼以及他使用的庫的鏈接。 他的算法側重於使用色差來查找皮膚斑塊,然后測試19x19像素圖片是否與面部匹配。 我不熟悉面部識別的所有庫,但是閱讀他的一些代碼,許多方法和函數都有名字的CV,所以他可能正在使用OpenCV庫,但我不熟悉它,所以我'我不是100%肯定。 但是,他確實提供了很多關於他的應用程序和源文件的解釋,所以它可能是一個很好的起點。

我沒有使用Haar功能進行人臉檢測,但據我記得,它可能比特征臉/ pca更有效地檢測臉部。

我遇到了關於面部旋轉問題的問題。 我的想法也許你可以嘗試形狀匹配並嘗試糾正對象。 嘗試並將其定位為正常的頭部縱橫比。 在我與Eigenface的項目中,我從來沒有這么遠,但讓我知道這是如何工作的。 這在matlab中應該很容易。 :P

我唯一合作的是Visionics FaceIt。 它工作得很好,但最后我知道非常非常非常自由(無論是啤酒還是演講)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM