2012-07-26 58 views
0

我需要像这样找到城市广场上的所有人或一群人。我使用CascadeClassifier.detectMultiScale功能和准备图像equalizeHist(正确的亮度和对比度)enter image description hereOpenCV:检测城市广场上的人

正如你所看到的不是所有的人都被发现。

在描述到haarcascade_fullbody.xml我读了那个探测器只支持正面和背面的意见。

你是否知道这个问题的一些haarcascades集合,或者可能是我需要纠正我的代码并离开这个级联?

+0

可能是有用的:http://stackoverflow.com/questions/10231380/graphic-recognition-of-people/10385464#10385464 – 2012-07-28 06:01:00

+0

你能够得到适当的检测因为我得到了与你一样的检测。 – 2013-08-19 16:39:39

+0

不,我在CPU和GPU实现之间发现了[deference](http://answers.opencv.org/question/1278/difference-between-cpu-and-gpu-detectmultiscale/),并留下了这个问题。但我认为,一种解决方案是像@Prakhar Mohan评论一样同时使用多个级联。告诉我你是否有一些有趣的想法。 – victor1234 2013-09-19 20:57:59

回答

1

您可以使用opencv提供的猪级联来识别行人。并且所有的人都可能不会被你的程序识别出来,因为你正在使用的级联可能没有经过培训只能识别下半身或上半身。要做到这一点,你可以使用多个级联。检查OpenCV中的数据文件夹,您会发现haar和hog cascades在那里。

+0

我尝试使用OpenCV haarcascades目录中的上半身,下半身,mcs_upperbody和fullbody,这是我用fullbody得到的最好结果。我用'peopledetect.cpp'样本测试了猪级联,结果是最差的。你知道一些其他cascasde集合吗?我认为这是一个非常规的问题,我认为不需要培训新的级联。 – victor1234 2012-07-26 11:40:49

+1

查看瀑布图具有不同阈值的图像。现在我可以看到的问题是,某些建筑物被认定为人类,这可能是因为它们的阈值与建筑物的阈值相匹配。另一个问题是,当人们没有被识别,因为他们的全身没有被拍到照片中,我认为将使用其他haar分类器来解决。我会尝试搜索更多的分类器,如果我找到了某些东西,请回复您。您是否尝试过使用多个级联同时运行多个检测? – 2012-07-26 19:58:38