引言
1、MATLAB R2019b
2、MATLAB中Introduction to Assignment Methods in Tracking Systems介绍了目标匹配的方法。包括背景介绍,2-D匹配介绍(GNN、KNN、JPDA、MHT),S-D匹配介绍。
一、背景
1、目标匹配是目标融合中重要的一步。目标匹配就是将传感器新的探测Detection与存在的目标物Target或轨迹Track匹配。
2、目标匹配分为
2-D问题:n个target和m个detection匹配,但m个detection来自于同一个传感器。
S-D问题:n个target和(m1,m2...)个detection匹配,m1是一个传感器,m2是另一个传感器。单摄像头单雷达融合就是3-D匹配问题。
3、简单的例子:
3个工人,3份工作,每个人做完成每份工作的时间给出如表。
匹配前提是,每个人只能得到一份工作,每份工作只能由一个人完成。
最佳匹配就是,总的工作时间最少 ,显然加粗字体给出了答案。
注:(1,3)如果改成45,答案也不变,但是对于第一个人,他做的并不是他最擅长的工作。
二、2-D匹配问题
1、三种匹配方法
-
trackerGNN — adopts a global nearest data assignment approach
-
trackerJPDA — adopts a joint probability data association approac
-
trackerTOMHT — adopts a tracker-oriented multiple hypothesis tracking approach
2、Gating
①、根据过去的轨迹预测新的轨迹,通过观测模型,输出期望的观测。
②、实际的观测与期望的观测得到observation residual vector(不知道怎么翻译)。
③、S是detection residual covariance???G是Gating Threshold。这里的d2 = yTsy,d2就是马氏距离Mahalanobis distance。(这里的确是马氏距离,S应该是测量协方差?)
④、马氏距离小于G的就可以进入Association匹配环节。如图1, T1是track的预测,O1-O6是6个detections,椭圆是根据马氏距离得到的Gating Threshold,所以O1-O3就是得到的3个感兴趣的匹配。
三、GNN方法
1、如图2,GNN存在同一个Detection匹配多个Track,如O2;还存在同一个Track匹配了多个Detection,如T1。
2、如何解决这个问题呢?一种方法是:通过计算Cost,如下公式。dij是马氏距离、ln|Sij|计算协方差,这样具有大的误差可能性的点,Cij较大。
3、对于图2的问题,给出Cost表,其中X表示不在Gating的椭圆(圆)内。其中O3没有匹配Track,它就生成新的Track。(还可以直接用Gating,然后通过匈牙利算法做匹配,并不需要再加ln|Sij|)
4、2-D匹配问题,n个track,m个detection,可以写成如图公式。有两个限制:
①、每个track最多只能匹配1个detection。
②、每个detection最多也只能匹配1个track。
注:其中的0,表示没有匹配到track,或者detection。
5、GNN可以通过下面三个方法匹配。
-
assignmunkres – Uses the Munkres algorithm, which guarantees an optimal solution but may require more calculation operations.
-
assignauction – Uses the auction algorithm, which requires fewer operations but can possibly converge on an optimal or suboptimal solution.
-
assignjv – Uses the Joker-Volgenant algorithm, which also converges on an optimal or suboptimal solution but usually with a faster converging speed.
上图显示更多的GNN方法。
6、KNN
assignkbest 只是每次删除匹配中的的一个匹配,找到下一个最好的匹配。(需要看例子,有什么用?)
五、JPDA
没看懂,需要自己展开。
六、MHT
七、S-D问题
由于S-D问题计算复杂,Lagrangian relaxation method 常用于优化S-D问题。后面简单介绍了这个方法。
后记:
此文只是简单介绍。具体还是要看代码,看其他文章。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)