主要内容

跟踪密集目标模棱两可

这个例子展示了如何跟踪对象当传感器检测跟踪的协会是模棱两可的。在本例中,您使用一个单假定追踪,多种假说追踪和概率数据关联的对比追踪的追踪处理这种模棱两可。机动目标跟踪,更好,你估计目标的运动通过各种模型。

介绍

跟踪评估情况的过程是基于收集的数据通过一个或更多的信息来源。跟踪试图回答下列问题:

  1. 有多少对象?

  2. 对象位于空间在哪里?

  3. 他们的运动速度和方向是什么?

  4. 如何操作的对象相对于彼此?

追踪器依赖于传感器数据如雷达探测。传感器可以生成两个目标的两个检测传感器是否可以解决目标空间。如果两个目标密集,他们可以在单个传感器分辨单元和传感器报告只有一个检测。为了说明这个问题,下面的图显示了一个雷达方位分辨率1.5度。在一系列20公里,雷达传感器本有宽540米以上,这意味着任何检测报告,位于中心的垃圾桶,±270不确定性。任何两个目标在本报告作为一个单独的检测。

场景

证明情况下传感器报告是含糊不清地分配给跟踪,您创建一个简单的场景。在这个场景中,一个雷达对象,位于原点(图中未显示),扫描一个小区域雷达约20公里。最初,每扫描雷达两个检测报告。当检测来自周边地区的X = 0, Y = -20公里的位置,每扫描雷达一个检测报告,后跟两个雷达检测报告在Y = -19.5公里和向传感器(了)。

场景和检测记录已经保存在matfile。你可以取消注释以下行重新生成场景和合成检测。

负载ATCdata.mat% = helperCreateScenario场景;% dataLog = helperRunDetections(场景);plotScenarioAndDetections (dataLog);

只看这个情节的检测,它是合理的假设有两个目标,但目前尚不清楚他们的轨迹交叉。目标不交叉所看到的他们的轨迹。

单假定跟踪恒定速度模型

最简单的选择多目标跟踪是一个单假定追踪像trackerGNN。你将它设置为使用分数逻辑,允许更容易比较trackerTOMHT后来在这个例子。

这个例子很小,不需要20多个轨道。门应该选择允许建立没有虚假的追踪和跟踪从默认的提高。

传感器本卷可以大致估计使用检测测量噪声的行列式。在这种情况下,价值大约是1 e9,所以你将音量设置为1 e9。β的值应该指定有多少新对象将在单位体积。在这个场景中对象的数量是恒定的,β是非常小的。检测概率和误警率的值从雷达的相应的值。

numTracks = 20;%的最大数量门= 45;%协会门= 1 e9卷;%传感器本卷β= 1 e-14;在单位体积%的新目标pd = 0.8;%的概率检测= 1 e-6;%误警率

你用一个恒定的速度扩展卡尔曼滤波器。的initCVFilter功能修改过滤器initcvekf返回允许一个更高的速度条件和更高的水平加速度的不确定性过程中噪音。这些修改是需要跟踪的目标在这个场景中,高速移动和操纵,将在水平面。

追踪= trackerGNN (“FilterInitializationFcn”@initCVFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”门,“TrackLogic”,“分数”,“DetectionProbability”帕金森病,“FalseAlarmRate”远,“体积”卷,“β”,β);

以下行运行并生成可视化的场景。

[trackSummary, truthSummary trackMetrics、truthMetrics timeGNNCV] = helperRunTracker (dataLog、追踪、假);

使用模拟地面实况的好处,我们可以比较的结果跟踪与真相,使用trackAssignmentMetrics。结果表明,有两个事实对象,但生成的三个轨道跟踪器。的跟踪才生存下来的场景中,也就是说,它是下降,和另外两个跟踪。

结束时的场景中,事实对象2与跟踪8,这是创建中途轨道2下降后的场景。事实对象3被分配跟踪1结束时的场景,但有两个优惠。

注意建立事实对象的长度很小,几乎没有错误的轨道,这意味着确认阈值是好的。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 77 3真190假2南假真8 111真的假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 8 192 192 4 3 1 2 2

使用trackErrorMetrics分析的质量跟踪的位置和速度之间的错误事实对象和跟踪。结果表明,位置误差约50 - 60米,速度误差大约是30 m / s RMS。

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说1 59.461 26.119 7.9331 3.495 - 2 8 51.803 39.433 5.7494 3.0362 62.914 28.877 7.2004 3.0465 TruthID posRMS velRMS posANEES velANEES _________交说2 3 56.218 32.109 6.3234 2.6642 62.147 27.546 8.3597 3.9608

单假定追踪与多个模型进行交互

的组合单假定跟踪器和一个恒定的速度滤波器不能跟踪机动目标。这个结果是明显的事实的一个跟踪停止,然后开始一个新的跟踪,而只有两个目标的场景。也明显无法效仿的目标。

一个选项来提高跟踪修改过滤器是一个交互多模(IMM)过滤器,它允许您考虑两个或两个以上的目标运动模型。过滤器切换到正确的模型基于一个模型的可能性在其他测量。在这个例子中,目标在一个恒定的速度移动,直到他们以恒定速率,所以你定义一个与这两个模型使用IMM滤波器initIMMFilter函数。

追踪= trackerGNN (“FilterInitializationFcn”@initIMMFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”门,“TrackLogic”,“分数”,“DetectionProbability”帕金森病,“FalseAlarmRate”远,“体积”卷,“β”,β);[trackSummary, truthSummary trackMetrics、truthMetrics timeGNNIMM] = helperRunTracker (dataLog、追踪、假);

的IMM滤波器使追踪识别目标正确操作。你可以观察到这一结论通过观察期间生成的跟踪目标,注意两个转身是跟踪。因此,真理对象2 0优惠,您可以看到连续的情节相关跟踪的历史。

然而,即使与交互模型,追踪减免模棱两可地区之一。单假定跟踪获得与该地区,只有一个检测,可以只更新一个跟踪,滑行轨道。几更新后,滑行轨道的得分低于删除阈值和追踪下降轨道。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 77 190真的假2南假真111 3真的假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 1 192 0 4 1 3 8 192 2

IMM的使用也提高了跟踪精度,位置错误减少到40 -米,而速度误差减少到25 - 30 m / s。这个过程改进可以归因于低噪音值用于每个模型的IMM,允许更好的平滑噪声测量。

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说1 52.445 22.4 7.6006 6.0031 - 2 8 48.149 35.239 6.5401 3.4887 34.787 20.279 5.2549 4.2032 TruthID posRMS velRMS posANEES velANEES _________交说2 3 40.75 27.364 5.7772 3.9128 52.445 22.4 7.6006 6.0031

多种假说与恒定速度跟踪模型

解决问题的追踪,使用多种假说追踪(MHT),trackerTOMHT。模糊区域,跟踪生成多个假设协会的检测与跟踪。特别是,它维护一个假设,第一个跟踪分配这检测和另一个假设第二个分配跟踪检测。通过这样做,跟踪维持生存,因此追踪得到足够的检测来解决歧义在接下来的更新。

trackerTOMHT使用相同的参数trackerGNN,除了:

  • AssignmentThreshold允许跟踪被视为未赋值的,即使有一个指定的检测。此设置允许多个分支/跟踪。然而,第二个元素门不允许新线路的检测,减少轨道的总数和提高性能。

  • MaxNumHistoryScans增加到10,推迟NScanPruning

  • MaxNumTrackBranches增加到5,允许更多的分支(假设)。

追踪= trackerTOMHT (“FilterInitializationFcn”@initCVFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”,0.2,1,1 *门,“DetectionProbability”帕金森病,“FalseAlarmRate”远,“体积”卷,“β”,β,“MaxNumHistoryScans”10“MaxNumTrackBranches”5,“NScanPruning”,“假设”,“OutputRepresentation”,“跟踪”);[trackSummary, truthSummary trackMetrics、truthMetrics timeTOMHTCV] = helperRunTracker (dataLog、追踪、假);

结果显示多种假说跟踪器能跟踪两个事实对象在整个场景。模棱两可的地区,MHT追踪任务制定两个假设:

  1. 检测跟踪分配1。

  2. 检测分配跟踪2。

与这些假设,轨迹生成分支(跟踪假说)更新它们使用相同的检测。显然,使用相同的检测更新两个追踪原因日益密切的追踪他们的估计,最后两条途径可能合并。然而,如果模糊分配的持续时间很短,跟踪器可以解决两轨道有两个检测。在这种情况下,你看到两个轨道相互交叉,但指标显示,打破计数为每个真理是1,也就是说,真正的目标可能不互相交叉。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 1 3真190假2 2真191假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 192 192 1 2 3 1 1 2

在跟踪精度方面,位置和速度误差的跟踪器相似的单假定的组合以一个恒定的速度跟踪滤波器。

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说2 1 45.553 28.805 4.5831 3.2817 61.951 29.849 6.7165 2.733 TruthID posRMS velRMS posANEES velANEES _________交说2 3 58.178 29.891 6.1356 2.8033 48.913 28.578 5.0099 3.2762

多种假说追踪与多个模型进行交互

成功的基础上使用多种假说与恒定速度跟踪,保持持续的跟踪,把跟踪器与IMM滤波器的好处。IMM滤波器可能更成功地防止轨道穿越时,因为它提高了跟踪目标。下面的代码配置trackerTOMHT与一个trackingIMM过滤器。

追踪= trackerTOMHT (“FilterInitializationFcn”@initIMMFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”,0.2,1,1 *门,“DetectionProbability”帕金森病,“FalseAlarmRate”远,“体积”卷,“β”,β,“MaxNumHistoryScans”10“MaxNumTrackBranches”5,“NScanPruning”,“假设”,“OutputRepresentation”,“跟踪”);[trackSummary, truthSummary trackMetrics、truthMetrics timeTOMHTIMM] = helperRunTracker (dataLog、追踪、假);

剧情说明,这两个跟踪没有交叉。这个结果也很明显在休息数的真正目标下面,显示零突破。

您还可以看到真正的目标路径,实线所示。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 191 190真的假的2 3真的假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 1 192 0 2 3 2 192 0 2

跟踪精度类似于单假定的结合与IMM滤波器跟踪。注意事实的准确性和相关的跟踪精度是相同的,因为没有跟踪整个场景中打破。

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说2 1 55.917 24.434 6.9456 5.5389 37.78 25.963 5.249 4.0935 TruthID posRMS velRMS posANEES velANEES _________交说2 3 37.78 25.963 5.249 4.0935 55.917 24.434 6.9456 5.5389

联合概率数据关联跟踪恒定速度模型

尽管跟踪指标被使用大大提高trackerTOMHTtrackerGNN,计算机处理时间也显著增加。联合概率数据关联(JPDA)追踪,trackerJPDA,将允许您进一步探索权衡考虑。不像GNN JPDA允许单个检测用于更新多个轨道附近。此外,多个检测可以聚集在一起与几个跟踪和更新这些痕迹。这解决了破碎的跟踪问题。然而,JPDA并不维护多个假设多个扫描,这使它成为最优的方法而不是MHT。

trackerJPDA使用相同的参数trackerGNN除了:

  • ClutterDensity的比例是FalseAlarmRate体积

  • NewTargetDensity替换β

  • TimeTolerance可以处理多个扫描雷达的探测单个集群。

此外,设置TrackLogic集成这是概念上更接近比分逻辑与前两个追踪器一起使用。

追踪= trackerJPDA (“FilterInitializationFcn”@initCVFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”门,“TrackLogic”,“集成”,“DetectionProbability”帕金森病,“ClutterDensity”,远/卷,“NewTargetDensity”,β,“TimeTolerance”,0.05);[trackSummary, truthSummary trackMetrics、truthMetrics timeJPDACV] = helperRunTracker (dataLog、追踪、假);

虽然trackerJPDA不维护多个假设,它允许两轨道保持证实模棱两可的地区只有一个检测报告/更新。两检测跟踪可以分配给不同的概率。然而,轨道相互交叉与其他追踪观察之前。每个真理的标准打破数也是1。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 1 3真191假2 2真191假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 2 192年1 1 3 1 192 1 2

跟踪精度与获得的是什么trackerGNNtrackerTOMHT

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说2 1 44.911 29.911 5.1872 3.5598 58.906 31.485 7.0021 3.0945 TruthID posRMS velRMS posANEES velANEES _________交说2 3 56.103 31.564 6.5957 3.1816 47.304 29.606 5.4673 3.5092

联合概率数据关联跟踪多个模型进行交互

与其他两个追踪器,把歧义区域之前更好的解决多个模型进行交互。trackerJPDA还可以使用吗trackingIMM,使用相同的FilterInitializationFcn像以前一样。

追踪= trackerJPDA (“FilterInitializationFcn”@initIMMFilter,“MaxNumTracks”numTracks,“MaxNumSensors”, 1“AssignmentThreshold”门,“TrackLogic”,“集成”,“DetectionProbability”帕金森病,“ClutterDensity”,远/卷,“NewTargetDensity”,β,“TimeTolerance”,0.05);[trackSummary, truthSummary trackMetrics、truthMetrics timeJPDAIMM] = helperRunTracker (dataLog,追踪,真);

结果相媲美trackerTOMHT由于多个模型进行交互,期间更精确地跟踪目标,足够在进入模糊区域分开。跟踪1和2都是分配给一个目标为零突破。

disp (trackSummary) disp (truthSummary)
TrackID AssignedTruthID幸存TotalLength DivergenceStatus _________售予_____ ___________ ___________ 191 191真的假的2 3真的假TruthID AssociatedTrackID TotalLength BreakCount EstablishmentLength _________________……_____ ___________________ 2 1 192 0 1 2 192 0 2

再次,跟踪精度结果获得类似于以前使用trackerGNNtrackerTOMHT

disp (trackMetrics) disp (truthMetrics)
TrackID posRMS velRMS posANEES velANEES _________交说2 1 57.026 27.538 7.6753 6.2773 39.171 29.157 6.1248 4.7594 TruthID posRMS velRMS posANEES velANEES _________交说2 3 39.171 29.157 6.1248 4.7594 57.026 27.538 7.6753 6.2773

时间性能比较

另一个点的比较是运行时跟踪器和过滤器组合。下面的图显示了记录跟踪循环的持续时间。结果规范化基础上的运行时价值GNN追踪与CV模型。

c1 =分类图({“简历”,“IMM”});timeData = [timeGNNCV timeJPDACV timeTOMHTCV;timeGNNIMM timeJPDAIMM timeTOMHTIMM] / timeGNNCV;酒吧(c1, timeData)传说(“GNN”,JPDA的,“TOMHT”,“位置”,“西北”)ylabel (“归一化时间(x timeGNN-CV)”)标题(的时间性能比较甘氨胆酸)ax =;斧子。YGrid =“上”;

结果表明,GNN和JPDA可以跟踪目标的5到6倍MHT根据运动模型。IMM运动模型使得所有三个追踪器运行慢3到4倍。注意,每个跟踪处理时间不同根据不同场景的目标数量,假警报的密度,密度目标等。这个例子并不能保证在不同的用例类似的性能比较。

总结

在这个示例中,您创建了一个场景,在该场景中,由一个传感器检测到两个机动目标,在他们的一些运动是在一个模糊的领域。你使用了六个追踪器和过滤器的组合显示每个整体跟踪的贡献。你观察到的恒定速度滤波器不准确跟踪机动目标时,需要一个交互多模滤波器。你也观察到MHT和JPDA的能力来处理模糊的情况下检测协会跟踪,以及它如何可以用来维持连续跟踪,同时单假定追踪不能这样做。最后,您注意到跟踪结果之间的权衡选择追踪和处理时间。在这种情况下JPDA被证明是最好的选择。在不同的场景中,您可能需要更复杂的MHT当GNN和JPDA给出可以接受的跟踪结果。你可能也喜欢GNN如果有歧义程度较低的地区或低杂波密度。

相关的话题