人们用haar级联检测

时间:2015-03-17 13:37:47

标签: opencv machine-learning svm face-recognition haar-classifier

我正在学校开展一个项目,以检测课堂上有多少学生。就像在这张照片中。 classroom

我一直试图在opencv中使用Haar Cascade进行人脸检测来检测人,但结果非常糟糕。像这样: After detection

我在教室里拍了数千张照片,然后用手动裁剪照片。大约有4000个阳性样本和12000个阴性样本。我想知道我做错了什么? 当我剪裁图像时,我应该只剪这样的头吗? Head 或者这样与身体? With Body

我认为我有足够的训练样本,我按照这篇文章的确切程序: http://note.sonots.com/SciSoftware/haartraining.html#v6f077ba 应该工作。 或者我应该使用不同的算法,如HOG或SVM。任何建议都对我很好,我已经坚持了好几个月并且没有任何线索。非常感谢!

2 个答案:

答案 0 :(得分:2)

哈尔对人脸更好。使用SVM的Hog是人类检测的经典之作,并且有很多关于它们的来源和博客,培训分类器并不难。对于你的场景,我认为'头和肩膀'比独自一人好“#。但是您的多视图样本会增加难度。面对凸轮会更好。如果您总是有更多误报警,请添加更多硬性负样本。 本文可能会有所帮助: http://irip.buaa.edu.cn/~zxzhang/papers/icip2009-1.pdf

答案 1 :(得分:0)

通常,使用Haar级联,当我们训练分类器时更改参数时,结果会有很大差异。就我而言,该对象非常简单,但它也无法检测到: opencv haar cascade for Varikont detection

当我更改参数时,它可以检测到非常好。 您可以在这里查看:https://inspirit.github.io/jsfeat/sample_haar_face.html

或者更特殊,更专业,您可以研究视觉词袋(SIFT / SURF + SVM或SGD)。

就我个人而言,我认为你不需要使用方法复合物进行人体检测。 的问候,