2015-01-15 65 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/