在 2 个后续帧中进行对象跟踪

数据挖掘 机器学习
2022-03-03 12:24:38

我有一个包含很多对象的视频。我在每一帧中都正确检测到这些对象。例如,您可以在这里看到对象的 2 个序列帧检测:

第一帧:

第一帧

第 2 帧:

框架2

我想绘制所有对象的路径,但我不知道如何。主要问题是:

  • 如何发现下一帧中的对象与上一帧中的对象相同?
1个回答

如果您的对象移动得足够慢,您可以在另一帧上找到最近的对象。在您的情况下,对象移动得太快。如果您显着提高帧速率,您将能够看到一个像素的移动。然后,您只需在前一帧中找到最近的对象,这将识别相同的对象。如果您想在您显示的比例上进行移动,您应该跨多个帧跟踪对象,直到达到需要的距离。你不仅会有一个运动矢量,还有从一个点到另一个点的完整路径。

如果你不能提高帧速率,即使对人类来说,任务也会变得复杂。我无法识别相同的对象。这意味着该任务对于算法来说将非常困难。您仍然可以尝试最近的邻居,但与高帧速率相比,它的结果要差得多。任何用于区分对象的附加信息都将显着改善匹配,例如颜色和形状。

在最近邻之后,您还可以运行算法以最小化损失函数。您的损失是匹配之间的距离以及对不匹配对象的惩罚以及对相同匹配的巨大惩罚。您可以通过进化算法或经验山坡下降之类的方法来最小化。变量是来自另一帧的匹配对象编号,用于该帧上的每个对象。