卡尔曼过滤器用于视频中的多目标跟踪

时间:2015-09-08 12:31:53

标签: computer-vision video-tracking

根据我的理解,跟踪算法预测给定对象在下一帧中的位置(在已经执行了对象检测之后)。然后在下一帧中再次识别该对象。目前还不清楚跟踪器如何知道如何将第二帧中的对象与第一帧中的对象相关联,尤其是当帧中有多个对象时。

我在一些地方看到使用预测和所有检测之间的欧几里德距离创建成本矩阵,并且该问题被定义为分配问题(匈牙利算法)。

我对跟踪的理解是否正确?是否有其他方法可以确定一帧中的对象与下一帧中的对象是否相同?

1 个答案:

答案 0 :(得分:2)

您的理解是正确的。您已经描述了一个简单的成本函数,它可能在许多情况下都能很好地工作。但是,有时它会失败。

假设您拥有计算资源,可以通过使成本函数更复杂来尝试使跟踪器更加健壮。

您可以做的最简单的事情是考虑卡尔曼滤波器的误差协方差,而不仅仅是使用欧几里德距离。请参阅MATLAB中vision.KalmanFilter对象文档中的距离公式。另请参阅Motion-based Multiple Object Tracking示例。

您还可以在费用功能中包含其他信息。您可以解释这样一个事实:对象的大小不应该在帧之间变化太大,或者对象的外观应该保持不变。例如,您可以计算检测的颜色直方图,并将成本函数定义为"卡尔曼滤波器距离的加权和"以及颜色直方图之间的距离。