4

我编写了一个对象跟踪器,它将尝试检测并跟踪录制视频中的移动对象。为了最大化检测率,我的算法使用了一堆检测和跟踪算法(级联、前景和粒子跟踪器)。每个跟踪算法都会返回一些point of interest可能是我正在尝试跟踪的对象的一部分。让我们假设(为简单起见)我的对象是一个矩形,并且三个跟踪算法返回了点1和:23

步骤0

根据这三个点的关系/距离,可以计算出被跟踪物体的重心(X上图中的蓝色)。因此,对于每一帧,我都可以对重心做出一些很好的估计。但是,对象可能会从一帧移动到下一帧:

步骤1

在这个例子中,我只是旋转了原始对象。我的算法会给我三个新的兴趣点1'2'3'。我可以再次根据这三个新点计算重心,但我会丢弃我从前一帧获得的重要信息:基于 points 1,我已经知道这些点之间的关系,2因此3通过结合来自123的信息1',我应该能够更好地估计重心2'3'

此外,下一帧可能会产生第四个数据点:

第2步

这就是我想做的(但我不知道怎么做):

基于从不同跟踪算法返回的各个点(以及它们之间的关系),我想建立一个localization map被跟踪对象。直觉上,我觉得我需要提出 A)一个识别函数,它可以识别帧中的各个点,B)一些成本函数,它将确定跟踪点(以及它们之间的关系/距离)在帧之间的相似程度,但我无法理解如何实现这一点。或者,也许某种map基于点的积累会起作用。但同样,我不知道如何处理这个问题。非常感谢任何建议(和示例代码)!

EDIT1 一个简单的粒子滤波器可能也可以工作,但我又不知道如何定义成本函数。用于跟踪某种颜色的粒子滤波器很容易编程:对于每个像素,您计算目标颜色和像素颜色之间的差异。但是我将如何做同样的事情来估计跟踪点之间的关系呢?

EDIT2直觉上我觉得卡尔曼滤波器也可以帮助预测步骤。请参阅此pdf的幻灯片 24 - 32 。还是我被误导了?

4

4 回答 4

1

I would recommend looking in to the divided difference filter (DDF), which is similar to the extended Kalman filter (EKF), but does not require an approximate model of the dynamics of your system (which you may not have). Basically the DDF approximates the derivatives used in the EKF using a difference equation. There are plenty of papers online about this, but I do not know whether you have access to them so I have not linked them here. If you are working from a university or a company that has access to online journals (like IEEE Explore), then just Google "divided difference filter" and check out some of the papers.

于 2013-07-24T20:21:19.487 回答
1

我认为您要做的基本上是建立一个特征状态空间,它可以应用于过滤过程,例如扩展卡尔曼滤波器。当您在每一帧中都有多个观察值,并且您试图估计或测量这些观察值所指示的东西时,这是一个有用的框架。

要确定跟踪点的相似性,您可以对点周围的小区域执行逐帧的简单模板匹配。这样做的一种方法是提取帧中点和帧中点周围的NxN(例如)区域,然后在提取的区域之间进行标准化互相关。这将使您合理地衡量补丁的相似程度。如果补丁不相似,那么您可能已经忘记了这一点。7x7ana'n+1

于 2013-07-16T09:41:57.950 回答
1

据我说,为了在每一帧中识别谁是谁,你将不得不使用更大的维度。例如,如果您想知道两帧之间的哪个点(考虑到您提取的点是相同的),您将必须构建向量或单纯形,然后推断出您的点之间的组织(如角度值)。

主要问题是组合随着点数的增加而增加。如果您的相机是固定点,那么您可以使用背景作为参考来推断对象旋转和平移,我的意思是在背景兴趣点和对象点之间建立向量以便清楚地识别它们。希望帮助前进。

于 2013-07-23T08:31:03.060 回答
1

从 80 年代开始,就有大量关于这个和相关问题的文献。尝试搜索“光流”算法。此类算法的输入是同一场景的两个连续帧。输出是一个矢量场,第二张图像中每个像素一个矢量,它显示了移动的方向和速度是什么该领域的功能。 这个演示文稿是一个非常好的总结。

光流的一个好处是它的许多算法可以很好地并行化并映射到您最喜欢的显卡 GPU 上,因此它们可以实时运行。想想 ESPN 覆盖。

于 2013-07-20T00:51:46.327 回答