据我所理解,跟踪算法可以预测给定对象在下一个帧中的位置(在已经执行了对象检测之后)。然后在下一个帧中再次识别该对象。不清楚的是跟踪器如何知道如何将第二帧中的对象与第一帧中的对象相关联,特别是当帧中有多个对象时。
我在几个地方看到,一个成本矩阵是用欧几里德距离在预测和所有检测之间建立的,这个问题被描述为一个赋值问题(匈牙利算法)。
我对追踪的理解正确吗?是否有其他方法来确定一个帧中的对象与下一个帧中的对象相同?
发布于 2015-09-08 15:08:09
你的理解是正确的。您已经描述了一个简单的成本函数,它可能在许多情况下运行良好。然而,也会有失败的时候。
假设您有计算资源,您可以尝试通过使成本函数更加复杂来使跟踪器更加健壮。
你能做的最简单的事情就是考虑到卡尔曼滤波器的误差协方差,而不是仅仅使用欧几里德距离。请参阅MATLAB中vision.KalmanFilter对象的文档中的距离公式。还请参阅基于运动的多目标跟踪示例。
您还可以在成本函数中包含其他信息。您可以解释这样一个事实:对象的大小不应该在帧之间发生太大的变化,或者对象的外观应该保持不变。例如,您可以计算检测的颜色直方图,并将成本函数定义为“卡尔曼滤波距离”和颜色直方图之间的某个距离的加权和。
https://stackoverflow.com/questions/32457949
复制相似问题