我一直在做一些研究,并试图建立一个识别性别的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
运行几次后,我没有得到haar classifier.xml输出文件,因此我不确定我是否正确地执行了所有操作。
但我的问题是,是否有可能使用男性面孔作为阳性样本而女性作为负面样本来训练和使用haarcascade来分类性别?
答案 0 :(得分:1)
正如在使用一个级联分类器的评论中已经说过的那样,你只能检测到男/女的脸或者根本没有脸。
但你可以训练两个分类器,一个用于女性,一个用于男性,然后同时运行它们。
对于培训,我建议您使用更多培训示例。
我使用了本教程。它适用于python,但可以轻松地用于所有其他语言,它也可能对您有所帮助: https://pythonprogramming.net/haar-cascade-object-detection-python-opencv-tutorial/