课题进展13-交叉运动跟踪目标错误

1. 问题描述

image-20260407202004230

图1 交叉运动跟踪轨迹图

从图中可以看出,在两个目标在做交叉运动时,在交叉之后的后半段,跟踪出现了错误,本应该是目标1的轨迹跟踪成了目标2,目标2的轨迹跟踪了目标1,刚好相反。

2. 原因分析

这个问题在多目标跟踪领域被称为“航迹互换”,具体原因可以拆解为三个层面:

(1)物理层:交叉点的量测极度模糊

当目标1和目标2在中间发生交叉时,它们在物理空间上的位置几乎完全重合。这时候无论平台在什么位置,测得的目标1的方位角与目标2的方位角几乎是一模一样的。

(2)算法层:代价函数与分配策略过于简单

  • 缺乏统计特性的欧式距离:现在使用的是简单的欧式距离作为分配代价,只考虑了角度差的绝对值,而没有考虑预测的不确定性,在交叉点,四组交叉组合的欧氏距离都非常小。
  • 贪心算法的盲目性:现在使用的是贪心算法,它按顺序先给目标1寻找最小代价的量测。由于交叉点量测极度接近,加上随机噪声的干扰,原本属于目标2的量测可能会在某一两帧恰好与目标1的预测值很接近,贪心算法就将目标2的量测“错配”给目标1,然后目标2被迫捡起目标1的量测。

3. 算法改进

将贪心算法改为匈牙利算法

贪心算法:只看眼前。假设由于随机噪声,目标 2 的量测(比如 0.1 度)比目标 1 的量测(比如 0.15 度)更靠近目标 1 的预测值,它就会直接把目标 2 的量测“抢走”给目标 1。接着目标 2 只能捡剩下的。

匈牙利算法:顾全大局。不看单一的最小值,而是计算所有可能组合的“代价总和”。它会比较 (目标1配量测A + 目标2配量测B)(目标1配量测B + 目标2配量测A) 的总误差,并选择总误差最小的那种分配方式。这大大降低了因为局部噪声导致错配的概率。

4. 仿真结果

image-20260408112122865

图1 优化之后的跟踪轨迹图

image-20260408112147155

图2 位置和速度的RMSE以及GDOP

从图2中可以看出,在使用匈牙利算法之后,目标在做交叉运动时就能够准确跟踪正确的目标,航迹交换问题得到了消除。