2015-01-15 107 views
0

我一直在做一些研究,並試圖建立一個鑑定性別的黑社會。性別識別Haarcascade

我看了這篇文章,其中描述了他們是如何做到的,這也是我嘗試做:http://www.ijcce.org/papers/301-E043.pdf

我用228的男性面孔和350分女性的面孔庫。 在我的positives.txt文件上使用opencv createclassifier,其中包含男性 面的列表。使用.vec文件通過我用下面的命令haartraining分類創建:

opencv_traincascade -data classifier -vec positivies.vec -bg negatives.txt -numStages 20 -minHitRate 0.99 -maxFalseAlarmRate 0.5 -numPos 228 -numNeg 350 -w 640 -h 480 -mode ALL 

這個運行了幾次之後,我沒有得到一個哈爾classifier.xml輸出文件,所以我不確定我是否做一切正確。

但我的問題是,是否有可能使用的男性面孔作爲正樣本和女性爲負樣本進行訓練和使用haarcascade性別分類的?

+1

我不認爲,你的想法是可行的。 CascadeClassifier是二進制的。如果你在男性的臉上訓練,所有它可以說是男性的臉,或**沒有**的臉,例如它無法區分非臉部和女性。 – berak 2015-01-15 15:48:10

+0

使用HOG分類器來檢測行人是否有行人,然後行人是否有男性面孔,是否可行?如果沒有發現男性面孔,那麼他的結論是行人是女性? – user3298970 2015-01-15 15:55:53

+0

是的,這是絕對可行的,就像檢測臉部內部的眼睛一樣(例如在臉部檢測opencv教程中)。但是,您不應該使用行人檢測,而是使用面部檢測,並僅在檢測到的人臉區域上使用性別檢測。但不知道你的方法是否有效;) – Micka 2015-01-15 17:12:34

回答

1

作爲一個級聯分類的意見已經說了,你只能檢測一個男性/女性的臉或沒有面子可言。

但是你可以只訓練兩個分類一個女性和一個男性,然後運行他們兩個。

對於培訓,我建議您使用更多的培訓示例。

我使用了本教程。這是爲蟒蛇,但可以很容易地用於任何其他語言,它可能會幫助你: https://pythonprogramming.net/haar-cascade-object-detection-python-opencv-tutorial/