繁体   English   中英

使用Open CV跟踪对象

[英]Object Tracking Using Open CV

我计划做一个项目,该项目涉及从CCTV摄像机的视频输入中跟踪各种对象(包括人,车辆等)。 我打算使用OpenCV。 该实现应该能够容忍遮挡,并且应该能够识别并继续跟踪对象,即使它们退出框架并在一段时间后重新进入也是如此。 另外,应该自动识别并跟踪框架中的新条目,并且我需要随着时间的推移提取对象的位置。 既然有很多可用的选项,我实际上很困惑。 有人可以建议最好的方法。 我已经尝试了以下方法:

  • 我尝试使用Open CV的Tracking API,并尝试了以下所有算法:MIL,TLD,BOOSTING,MEDIANFLOW。 但是它们似乎都不足够准确。
  • 我也知道卡尔曼滤波器。 但是它不能解决识别从不同位置重新进入框架的先前物体的问题。 我也希望有一个包含此功能的解决方案。
  • 我尝试了Camshift。 但这需要规范强度范围。 由于事先不知道CCTV安装的实际设置,因此也不是一种选择。
  • 我还查询了HOGDescriptor类。 但是它没有提供直接跟踪的功能吗? 我的意思是只执行检测。

是否有比上述解决方案更适合解决当前问题的解决方案? 有什么方法可以提高跟踪算法的准确性? 是否有方法可以改善我已经考虑过的解决方案? 请帮助解决我的困惑。

基本上,您正在寻找一种完美的跟踪算法:)如果您想知道哪种最适合您的需求,则可以查看诸如Visual Object Tracking ChallengeVisual Tracker Benchmark之类的基准测试 不过可能很难实施。

另一方面,我想您需要实时性能。 在这种情况下,你应该检查我的这个答案了。

我也知道卡尔曼滤波器。 但是它不能解决识别从不同位置重新进入框架的先前物体的问题。 我也希望有一个包含此功能的解决方案。

没有这样的预测算法。 您必须检查所有可能的边界位置才能再次定位目标。

我尝试了Camshift。 但这需要规范强度范围。 由于事先不知道CCTV安装的实际设置,因此也不是一种选择。

由于您实际上想要有史以来最好的算法,因此您可能不希望使用camshift。 基于直方图的算法对相似的目标(或任何具有相似颜色的对象)并不健壮,有些算法基于直方图并尝试处理形状( fragTrack是一个很好的例子)。但是,我认为它不能满足您的要求。)

我还查询了HOGDescriptor类。 但是它没有提供直接跟踪的功能吗? 我的意思是只执行检测。

实际上,要检测目标,您需要首先对其进行训练(或者(例如,您可以使用客观算法来检测场景中的显着对象))。 这意味着您必须针对每个可能的目标进行训练。 因此,如果您检测到之前训练的目标之一,则可以尝试在每个帧中检测相同的目标。 您可以使用卡尔曼滤波器来缩小搜索范围并获得更好的结果。

综上所述,从基准开始。 找到适合您的最佳算法。

顺便说一下, 深度学习是当今计算机视觉算法的趋势。 最好的方法可能包括以一种或另一种方式进行深度学习。

希望这可以帮助,
格克汗。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM