目标跟踪算法

信息处理 视觉跟踪
2022-02-09 20:34:15

在视频序列中,我想跟踪一个对象。目前,我的检测算法可以在大约 10% 的帧中正确定位对象,并在 5% 的帧中错误地找到其他对象。

不正确的检测分散在图像中,而我的对象运动受到物理限制。

我尝试根据与上次检测的距离(帧和像素)实现一个简单的跟踪器,但由于我的对象在 3d 世界中移动,因此速度可能会有很大差异。

我认为有一个相当简单的方法来跟踪这个,但我没有很多先前的跟踪知识。我从哪里开始?

(如果这不是针对 DSP 的,我很抱歉,在这种情况下请重定向我)

2个回答

假设您有一个相对较高的帧速率视频(对象在两个连续图像之间移动相对较慢),可以应用一些标准跟踪算法。

  1. 均值偏移 [维基百科 - 均值偏移]

    使用您正在跟踪的对象的一些模板来创建对象位置的似然函数并跟踪对象。

如果您需要更强大的更高级方法,例如对象遮挡,您可以使用更高级的方法:

  1. 卡尔曼滤波器 [维基百科 - 卡尔曼滤波器]

    简而言之,卡尔曼滤波器使用由预测步骤和更新步骤组成的动态模型来跟踪不确定环境中的对象。

您可以考虑更高级的选项,如果您有几个要同时跟踪的对象是粒子过滤器

你可以使用这两个跟踪器

  • TLD(跟踪学习和奉献)
  • 卡尔曼滤波器

这两个在 opencv 3.2 中可用