【问题标题】:OpenCV: Detect people in city squareOpenCV:检测城市广场的人
【发布时间】:2012-07-26 00:46:27
【问题描述】:

我需要像这样在城市广场找到所有人或一群人。我使用CascadeClassifier.detectMultiScale 函数并通过equalizeHist 准备图像(正确的亮度和对比度)

如您所见,并非所有人都被找到。

haarcascade_fullbody.xml 的描述中,我读到检测器仅支持正面和背面视图。

您是否知道针对此问题的一些 haarcascades 集合,或者我可能需要更正我的代码并保留此级联?

【问题讨论】:

  • 你能得到正确的检测吗,因为我得到了和你一样的检测。
  • No 我在 CPU 和 GPU 实现之间找到了deference 并留下了这个问题。但我认为,一种解决方案是同时使用多个级联,就像@Prakhar Mohan 评论中一样。如果您有一些有趣的想法,请告诉我。

标签: opencv object-recognition


【解决方案1】:

你可以使用opencv提供的hog cascades来识别行人。并且您的程序可能无法识别所有人,因为您正在使用的级联可能没有接受过仅识别下半身或仅识别上半身的训练。为此,您可以使用多个级联。检查 OpenCV 中的数据文件夹,你会发现 haar 和 hog 级联。

【讨论】:

  • 我尝试使用 OpenCV haarcascades 目录中的 upperbody、lowerbody、mcs_upperbody 和 fullbody,这是我使用 fullbody 获得的最佳结果。我用peopledetect.cpp 样本测试了猪级联,这个结果是最差的。你知道其他一些级联系列吗?我认为这是标准问题,我认为没有必要训练新的级联。
  • 查看级联具有不同阈值的图像。现在我可以看到的问题是建筑物的某些部分被识别为人类,这可能是因为它们的阈值在某种程度上与建筑物的阈值匹配。另一个问题是当人们没有被识别为他们的全身没有在图片中被捕获时,我认为这将使用其他 haar 分类器来解决。我会尝试搜索更多分类器,如果我发现了什么,我会回复你。您是否尝试过同时使用多个级联运行多个检测?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
相关资源
最近更新 更多