人员检测和跟踪

问题描述 投票:6回答:4

我想做行人检测和跟踪。

输入:来自CCTV摄像机的视频流。

输出:

  1. #(没有)人从左到右
  2. #人从右到左
  3. #中间的人数

到目前为止我做了什么:对于行人检测我正在使用HOG和SVM。检测结果合理,误报率高。而且它在Android平台上运行时非常慢。

问题:检测完后如何计算上面列出的所需值。谁能告诉我什么是我必须使用的跟踪算法和行人检测的任何好算法。

或者我应该使用跟踪算法?有没有办法没有它?

任何对代码/博客/技术论文的引用都表示赞赏。

平台:C ++和OpenCV / android。

- 谢谢

opencv image-processing computer-vision object-detection video-tracking
4个回答
8
投票

这在一定程度上接近研究问题。

你可能想看看this website,它收集了很多参考资料。特别是,其中的work done by the group from Oxford非常接近你正在做的事情,因为他们正在使用HOG进行检测。 (这项工作对我来说非常有启发性)。 EPFL和Julich也在该领域完成了工作。

您可能还想了解this review,它描述了几种检测/跟踪技术,通常涉及HOG算法的变体。


4
投票

随着@Acorbe响应,我建议this website的出版物部分。

去年年底的recent work也在这里发布了一个代码库:https://bitbucket.org/rodrigob/doppia

还有早期的行人探测器工程也发布了代码:https://sites.google.com/site/wujx2001/home/c4 http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians


2
投票

最准确的方法是使用跟踪算法代替传入人员的统计外观计数和左右中间发生的检测。您可以使用扩展统计模型..产生多少输入产生一个输出并从输出检测返回验证输入。

我的经验是跟踪导致比上述方法更好的结果。但也有点复杂。我们讨论了当关键检测与跟踪模型匹配时的多目标跟踪,应该根据检测进行更新。如果跟踪与错误的模型匹配。那里存在问题。 enter image description here

在youtube上我通过简单的LBP人检测器开发了一些多目标跟踪器,但是用于跟踪的多模型和卡尔曼滤波器。这两种功能都可以在opencv中找到。您需要在检测到某些内容时为每个对象创建新的kalman过滤器,并在您匹配相同检测时进行更新。预测在案件检测不在框架中并且还移除卡尔曼我没有必要再跟踪。 1检测2匹配检测与kalmans,匈牙利算法和l2规范。 (例如)3很多工作。决定是否建立kalman shoudl,删除,更新或未检测到结果,应该预测。这里有很多工作要做。纯粹的统计方法不太准确,第二种方法是体验人们至少一个编码和3个月的调整。如果你需要更快,你的资源非常有限。您可以通过智能统计通过纯检测更快,更准确地实现您的结果。人们判断图像和视频跟踪甚至多目标跟踪能够击败人类。尝试计算和注册视频中的每个人并计算退出点。你不能在一些人中这样做。它真的是悔改,你想要什么,应用程序,你有客户,以及你向客户展示的结果。如果这是4个数字的收入,左,右,中间和你的错误是20%仍然远远超过一个无聊的小付费后卫应该通过一整天计数..

https://www.youtube.com/watch?v=d-RCKfVjFI4

您可以在我的博客上找到我的博客上的人物检测和汽车检测的一些数据集,与学习思想,教程和跟踪示例的脚本相同.Opencv blog tutorials code and ideas


1
投票

您可以使用KLT用于此目的,因为这将告诉您从左到右行进的人流然后您可以通过计算线长来计算,在给定示例中使用cv2.line绘制,您可以使用此函数的输入参数来计算您的情况,涉及的数学很少。如果从左到右存在像素流,则为情况1或从右到左,然后是情况3,对于没有流情况2.或者您可以使用此基本教程来跟踪对象移动。 LINK enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.