数据关联算法之最近邻数据关联(Nearest Neighbor,NN)

在上一篇博客中有详细介绍数据关联的步骤:

  1. 建立关联门,确定关联门限。
  2. 门限过滤。
  3. 确定相似性度量方法。
  4. 建立关联矩阵。
  5. 确定关联判定准则。
  6. 形成关联对。

在这些步骤中,关联门可以选择矩形或椭圆形,对于最近邻算法,相似性度量方法选择加权欧式距离。

数据关联是将不确定性观测数据与轨迹进行配对,而最近邻算法又是什么呢?最近邻算法利用加权欧式距离计算每一个观测数据到真实目标的距离,然后再取其最近的一个观测数据作为目标真实状态,所以,当我们收到传感器传回来的观测数据时,首先计算加权欧式距离,然后再取其最近的点迹。

本文将分两部分介绍最近邻算法。第一部分着重介绍加权欧式距离公式的由来,第二部分举例说明最近邻的含义。

加权欧式距离

 统计距离的定义:假设在第K次扫描之前,已经建立了N条航迹。第K次新观测为Z_{j}\left ( k \right ),j=1,2,...,N。在第 i 条航迹的关联门内,观测 j 和航迹 i 的差矢量定义为测量值和预测值之间的差,即滤波器残差。

                                                              e_{ij}\left ( k \right )=Z_{j}\left ( k \right )-H\hat{X}_{i}\left ( k/k-1 \right )

其中\hat{X}_{i}\left ( k/k-1 \right )为状态估计的一步预测方程\hat{X}_{i}\left ( k/k-1 \right )=\phi \left ( k \right )\hat{X}_{i}\left ( k/k \right )\phi \left ( k \right )为状态转移矩阵,H为观测矩阵,设S\left ( k \right )e_{ij}\left ( k \right )的协方差矩阵。S\left ( k \right )=E\left [ e_{ij\left ( k \right )} \right e_{ij\left ( k \right )}^{T}],则统计距离(平方)为

                                                             d_{ij}^{2}=e_{ij}\left ( k \right )S_{ij}^{-1}\left ( k \right )e_{ij}^{T}\left ( k \right )

它就是判断最近邻点的度量标准,即加权欧式距离

注:如果这部分基础知识点不懂的可以先看《多传感器信息融合及应用》何友 王国宏版本

最近邻

1、最近邻数据关联:将落在关联门内并且与被跟踪目标的预测位置“最邻近”的观测点作为与航迹相关联的观测。

如有三批目标和三个测量,所形成的关联矩阵为

                                          \begin{bmatrix} 2 & 1 & 3\\ 4 & 5 & 6\\ 9& 8 &7 \end{bmatrix}

m1,m2,m3表示关联矩阵每列,m1表示第一列,m2表示第二列,m3表示第三列,分别代表三个测量值。T1,T2,T3表示矩阵每行,T1表示第一行,T2表示第二行,T3表示第三行,分别代表三批目标值。

按最近邻

    m2\rightarrow T1     m1\rightarrow T2     m3\rightarrow T3

注:测量与目标的分配是按最小值来分配的,分配完之后,则出掉那一行和那一列,剩下再按最小分配。

       如:在关联矩阵中,第一行数字1最小,则m2\rightarrow T1配对,然后划掉矩阵第一行第二列,再看剩下的第二行中数字4最小,则m1\rightarrow T2,再划掉第二行第一列,接着操作,得到m3\rightarrow T3

特点:一个目标最多只与跟踪门中一个测量相关,取跟踪门中距目标最近的测量与目标相关。

 

2、全局最近邻:使总的距离或关联代价达到最小,最优分配的问题

min\left \{ \sum_{i=1}^{n} \sum_{j=1}^{n}C_{ij}x_{ij}\right \}             \sum_{i=1}^{n}x_{ij}=1              \sum_{j=1}^{n}x_{ij}=1   

其中x_{ij}为二值变量,为0表示不关联,为1表关联,C_{ij}表示测量 i 与目标 j 之间距离。用矩阵表示时,矩阵的每行每列只能有1个元素为1。

例: \begin{bmatrix} 3 &4 \\ 6& 9 \end{bmatrix} m1,m2表示关联矩阵第一列和第二列,代表2个测量数据,T1和T2表示关联数据第一行和第二行,代表2个目标。     

关联结果:m2\rightarrow T1     m1\rightarrow T2 矩阵表示   \left [ x_{ij} \right ]=\begin{bmatrix} 0 &1 \\ 1 &0 \end{bmatrix}

例:关联矩阵C\left ( i,j \right )=\begin{bmatrix} 1 & 2 &3 \\ 2 & 4 &6 \\ 3 &6 & 9 \end{bmatrix}

关联结果:    m1\rightarrow T3     m2\rightarrow T2     m3\rightarrow T1      矩阵表示        \left [ x_{ij} \right ]=\begin{bmatrix} 0 & 0 &1 \\ 0 & 1&0 \\ 1& 0&0 \end{bmatrix}

注:全局最近邻的关联结果即是在所有配对的结果中选取其总数最小的那一个。比如说第一个例子,有两种关联结果,第一种m1\rightarrow T1  ,m2\rightarrow T2  3+9=12。 第二种  m2\rightarrow T1 ,m1\rightarrow T2  4+6=10。所以选择第二种关联结果。

关联矩阵较大时,二维分配问题可Munkre算法或Burgeois算法求解,求解具多项式复杂度,非NP问题

特点:一个目标最多只与跟踪门中一个测量相关,以总关联代价(或总距离)作为关联评价标准,取总关联代价或总距离最小的关联对为正确关联对。

 

总结:最近邻数据关联算法的优点是运算量小,易于硬件的实现,但是只能适用于稀疏目标和杂波环境的目标跟踪系统。当在目标或者杂波密度较大时,很容易出现误跟和漏跟现象,同时算法跟踪性能不高。

猜你喜欢

转载自blog.csdn.net/lzcy911music/article/details/81556854