【问题标题】:Suggestions for improvenent object detection改进对象检测的建议
【发布时间】:2016-07-23 10:18:51
【问题描述】:

我是 opencv 新手,我正在尝试跟踪图像中的一些移动对象(例如汽车)。我已经计算了光流,并用它来实现 kmeans 并尝试了诸如背景减法之类的东西,我的意思是将移动物体与静止物体分开。然后我还使用了视频的强度作为信息。以下截图分别来自流和k均值分割的结果:

结果不好,但也不错。从现在开始我该怎么做?我正在考虑尝试 SURF 特征提取和 SURF 检测器。欢迎任何想法。

【问题讨论】:

  • 阴影似乎会导致问题,您是否尝试过可以检测阴影的 MOG2 检测器?您想在图像的哪个位置检测车辆?你试过级联分类器吗?
  • 不,我没有使用这些建议。老实说,我什至不知道如何工作。我想检测一般的运动。不算汽车或类似的东西。只需检测运动,然后跟踪具有特定颜色的汽车。
  • 关于背景减法见this。特征检测的问题在于它适用于查找单个匹配项。我正在尝试为this question 使用它,但事实证明它有点棘手。

标签: c++ opencv k-means object-detection surf


【解决方案1】:

您似乎正在使用密集光流。我建议尝试一些特征检测(冲浪,快速,等等),然后是稀疏光流跟踪(根据我的经验,它比这个任务的特征匹配更好)。然后,一旦在某些帧上获得了特征对应关系,就可以使用基本矩阵、三焦张量、平面+视差或其他一些方法来检测运动物体。您可以稍后将移动对象聚集到代表不同对象的不同运动组中。

另外,您的相机似乎是固定的。在这种情况下,您可以放弃运动检测步骤,只考虑具有足够位移的轨迹,然后将其聚类到运动组中。

【讨论】:

  • 感谢您的回答!稍后我也将尝试使用移动相机。我的第一个想法是使用 findHomography 来补偿相机的移动。它会工作吗?
  • 取决于实际背景的“平坦”程度。平面+视差沿着这条路径,经过单应性补偿后,它们得到所谓的残余视差。您可以稍后检查这些动作是否共享一个扩展焦点并根据此标准进行细分
  • 你能给我一些代码或教程吗?我将不胜感激。
  • 您对某些特定步骤有疑问吗?那么请提供更多细节。或者,也许您需要一个简单的示例来帮助您入门?在这种情况下,快速浏览一下顶级谷歌搜索结果提供了非常有价值的来源:opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/…youtube.com/watch?v=X6rPdRZzgjgpyimagesearch.com/2015/09/21/opencv-track-object-movement
  • 嗯,我已经完成了光流的项目。现在我在想如何将 SURF 功能与光流结合起来。那会有用吗?你怎么解释我?我想我在理论方法中遗漏了一些东西..
猜你喜欢
  • 2023-03-25
  • 2020-02-10
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2013-02-24
  • 2019-03-12
  • 1970-01-01
相关资源
最近更新 更多