车辆跟踪具有类似哈尔的功能和camshift

时间:2014-03-27 14:08:02

标签: opencv object-detection haar-classifier

我正在尝试使用移动摄像头跟踪车辆。在OpenCV中Haar Feature-based Cascade Classifier检测到车辆。我使用预先训练的数据集here。根据对象跟踪survey(2006),跟踪对象有三个类别:点或邻域,内核或形状,或跟踪可以基于对象的轮廓或其许可者。我认为我的方法属于第二类。因此,我首先尝试了camshift算法。

但是,在检测阶段,我得到了很多误报,这使得跟踪效率低下。我的问题是你如何消除误报?

我正在考虑计算每个帧的所有边界框(包括误报)的直方图。然后,对下一帧执行相同操作并比较直方图以创建置信度。你认为这是个好主意吗?

我也有想法在检测之前应用处理(例如:分段basckground /前景减法,阈值处理等)但这些比移动相机更适合固定相机。我需要继续哈尔一段时间,至少要试一试。任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

这实际上是一个广泛的问题,我害怕方法,但基本的问题是你需要一些东西来构建一个可靠的跟踪器:

  • 一个好的输入(移动相机)
  • 一个很好的特征/区域描述(你选择了基于haar小波的方法)
  • 一个很好的比较指标(不知道你在这做什么)

一般来说,您需要通过图像注册过程来稳定输入 引用您的discripters库 根据您注册的输入图像计算这些描述符的度量标准

减少误报取决于你的方法,但通常你将误报组合在一起并找出算法中它们最起源的地方(许多将来自不同的地方),然后将算法的那部分改为剔除它们。

您的选择是:

  • 注册图像(如果它们尚未存在(这将消除相对运动中的误报)
  • 检查算法以确定最大的误报来源并相应地修改
  • 获得更好的训练数据以匹配(如果您的训练数据与现实世界数据不匹配,这将无法正常工作)
  • 尝试不同的方法(SIFT,SURF,GLO,傅里叶梅林变换等)。

具体而言,我可以获得您提供的信息。我希望它有所帮助。