主要内容

在模糊状态下跟踪近距离目标

此示例显示了当传感器检测与轨迹的关联不明确时如何跟踪对象。在本例中,您使用单个假设跟踪器、多个假设跟踪器和概率数据关联跟踪器来比较跟踪器如何处理这种模糊性。为了更好地跟踪机动目标,可以使用各种模型估计目标的运动。

介绍

跟踪是根据一个或多个信息源收集的数据估计情况的过程。跟踪尝试回答以下问题:

  1. 多少对象有哪些?

  2. 太空中的物体在哪里?

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

  4. 物体如何相对运动?

跟踪器依靠传感器数据,诸如雷达检测。传感器可以生成两个检测的两个目标,如果传感器可以在空间上解决目标。如果两个目标相距甚近,他们可以落在单个传感器分辨单元内和传感器仅上报一个检测它们。为了说明问题,下面的图中示出了具有1.5度的雷达方位分辨率。在一定范围的20公里,雷达传感器箱具有的宽度高于540米,这意味着任何检测报告从该范围位于仓的中心,与它周围的±270米不确定性。该仓内的任何两个目标被报告为一个单一的检测。

设想

为了演示传感器报告不明确地分配给跟踪的情况,您可以创建一个简单的场景。在这种情况下,位于原点(未显示)的单个雷达目标,扫描距离雷达约20公里的一个小区域。最初,雷达报告每次扫描有两次探测。当探测来自X = 0, Y = -20公里位置附近的区域时,雷达报告每次扫描一段时间,然后在Y = -19.5公里左右,向传感器(向上)方向报告两次雷达探测。

场景和检测日志已保存在Matfile中。您可以取消注释下面的线来重新生成方案和合成检测。

加载ATCdata.mat% scenario = helperCreateScenario;%datalog = helperrundetections(方案);plotscenarioanddetections(Datalog);

仅从该图中的探测结果来看,有理由假设有两个目标,但不清楚它们的轨迹是否交叉。从弹道上看,目标没有穿过。

单假设等速跟踪器模型

最简单的多目标跟踪器选择是单个假设跟踪器,如trackerGNN.您可以设置它使用比分逻辑,允许使用更加简单比较trackerTOMHT在本例的后面部分。

此示例很小,不需要超过20个曲目。应选择门以允许在没有杂散的情况下建立轨道,并且从默认值增加。

传感器箱容量可以粗略估计使用一个检测测量噪声的行列式。在本例中,该值大约是1e9,因此您将卷设置为1e9。beta的值应该指定在一个单位卷中预期有多少个新对象。由于此场景中的对象数量是常量,所以将beta设置为非常小。检测概率和虚警率的值取自雷达对应的值。

numtracks = 20;%最大磁道数闸门=45;%协会门= 1 e9卷;传感器仓容积%Beta = 1E-14;%单位卷中新增目标的速率pd = 0.8;检测概率远远= 1E-6;%误报率

您可以使用一个恒定的速度扩展卡尔曼滤波。这initCVFilter函数修改所需的筛选器initcvekf.返回以允许速度项中的更高不确定性和过程噪声中的更高水平加速度。在这种情况下,需要进行这些修改来跟踪高速移动的目标,并在水平面上转弯机动。

跟踪器(......'FilterInitializationFcn',@initCVFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',门,......'tracklogic'“得分”......“探测概率”,pd,'FalseAlarmRate', 远的,......'体积',第一卷,“测试版”,β);

以下线运行情况和产生的可视化。

[trackSummary,truthSummary,trackMetrics,truthMetrics,timeGNNCV]=helperRunTracker(数据日志,跟踪器,false);

在利益使用模拟的地面真理方面,我们可以使用真相比较跟踪器的结果trackAssignmentMetrics.结果表明,该跟踪器产生了两个真目标,但却产生了三个轨迹。其中一个轨道直到场景结束才幸存下来,也就是说,它被丢弃了,而另外两个轨道却幸存了下来。

在场景结束时,真相对象2与轨迹8关联,轨迹8是在场景中途丢弃轨迹2后创建的。真实对象3在场景结束时被指定为轨迹1,但有两个断点。

请注意,这两个事实的对象建立长度较小,而很少有假的轨道,这意味着确认阈值是好的。

显示(跟踪摘要)显示(真实摘要)
这是一个单词,表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示,表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示Uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu8 192 1 4 1 192 2

使用trackErrorMetrics根据真值对象与相关轨迹之间的位置和速度误差分析跟踪质量。结果表明,位置误差约为50-60m,速度误差约为30m/s均方根。

disp (trackMetrics) disp (truthMetrics)
这家跟踪跟踪公司的追踪者们的跟踪追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者们的追踪者的追踪者们的追踪者的追踪者者们的追踪者们的追踪者的追踪者者者们的追踪者们的追踪者们的追踪者者的追踪者的追踪者者者者的追踪者者者者者的追踪者们的追踪者们的追踪者者者者者者者者者者的追踪者者者者者者的追踪者者者的追踪者者者的追踪者们的追踪者者者者者者者者的追踪者者者者者者者者者者者的追踪者者者的U2 62.147 27.546 8.3597 3.9608 3 56.218 32.109 6.3234 2.6642

单一假设跟踪与交互多模型

单假设跟踪和等速过滤器的组合无法跟踪机动目标。这一结果由轨道的一个停止,然后一个新的曲目开始,而只有两个方案中的目标的事实是显而易见的。这也是显而易见无法跟随目标圈。

改进跟踪器的一个选择是将过滤器修改为交互式多模型(IMM)过滤器,这允许您考虑两个或多个目标运动模型。在给定测量值的情况下,滤波器根据一个模型相对于另一个模型的可能性切换到正确的模型。在本例中,目标以恒定速度移动,直到以恒定速率旋转,因此您可以使用initIMMFilter功能。

跟踪器(......'FilterInitializationFcn'@initIMMFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',门,......'tracklogic'“得分”......“探测概率”,pd,'FalseAlarmRate', 远的,......'体积',第一卷,“测试版”,β);[trackSummary, truthSummary, trackMetrics, truthMetrics, timeGNNIMM] = helperRunTracker(dataLog,tracker,false);

添加IMM滤波器使得跟踪器能够正确地识别目标操纵。您可以通过查看目标转弯期间生成的曲目来观察此结论,并注意跟踪两轮转弯程度。因此,真实性对象2具有零断裂,您可以通过其相关轨道的连续历史来在绘图中看到。

然而,即使使用交互模型,在模糊区域也会有一个轨迹中断。单假设跟踪器只能对该区域进行一次检测,并且只能用该区域更新其中一个轨迹,并滑行另一个轨迹。经过几次更新后,这条轨迹的分数会低于删除阈值,追踪器就会删除这条轨迹。

显示(跟踪摘要)显示(真实摘要)
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-60米,而速度误差减少到25-30米/秒。这种改进可以归因于在IMM每个模型中使用的较低的过程噪声值,这允许所述噪声测量的更好的平滑。

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

具有恒定速度模型的多假设跟踪器

为了解决断轨问题,使用多假设跟踪(MHT)trackerTOMHT.在歧义区域中,跟踪器将关于检测与轨道的关联的多个假设生成多个假设。特别地,它保持一个假设,即第一轨道被分配该检测和第二轨道被分配检测的另一个假设。通过这样做,这两个曲目都保持活力,使得跟踪器获得足够的检测来解决下一个更新中的模糊性。

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

  • 分配察觉即使存在分配的检测,允许轨道被认为是未分配的。此设置允许每个轨道的多个分支。但是,门的第二个元素禁止从分配的检测中禁止新曲目,以减少轨道的总数并提高性能。

  • MaxNumHistoryScans增加至10,以延迟nscanpruning.

  • MaxNumTrack分支增加到5,允许每个轨道有更多分支(假设)。

追踪= trackerTOMHT (......'FilterInitializationFcn',@initCVFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',[0.2,1,1] *栅极,......“探测概率”,pd,'FalseAlarmRate', 远的,......'体积',第一卷,“测试版”,beta,......'MaxNumHistoryScans'10......“MaxNumTrackBranchs”5,......“修剪”'假设'......'OutputRepresentation'“轨道”); [trackSummary,truthSummary,trackMetrics,truthMetrics,timeTOMHTCV]=helperRunTracker(数据日志,跟踪器,false);

结果表明,多假设跟踪器能够在整个场景中跟踪两个真实对象。对于模糊区域,MHT跟踪器对分配提出了两个假设:

  1. 检测被分配给跟踪1。

  2. 检测被分配给跟踪2。

根据这些假设,两条轨迹都会生成分支(轨迹假设)显然,使用相同的检测更新两条轨迹会使轨迹的估计值更接近,最终两条轨迹可能会合并。但是,如果模糊分配的持续时间较短,则当有两条检测时,跟踪器可能能够解析这两条轨迹。在在这种情况下,您会看到两个轨迹相互交叉,但度量显示每个真相的中断计数为1,这意味着真正的目标可能没有相互交叉。

显示(跟踪摘要)显示(真实摘要)
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 _______ ______ ______ ________ ________ 1 45.532 28.802 4.5909 3.2827 2 61.968 29.851 6.7191 2.7338 TruthID posRMS velRMS posANEES velANEES _______ ______ ______ ________ ________ 2 48.877 28.57 5.0144 3.2761 3 58.203 29.895 6.1414 2.8049

具有交互多模型的多假设跟踪器

在成功使用具有恒定速度的多假设跟踪器来保持连续跟踪的基础上,将跟踪器与IMM滤波器的优点结合起来。IMM滤波器可以更成功地防止轨迹交叉,因为它可以在目标转弯时改善跟踪。下面的代码配置trackerTOMHT用一个跟踪IMM滤器

追踪= trackerTOMHT (......'FilterInitializationFcn'@initIMMFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',[0.2,1,1] *栅极,......“探测概率”,pd,'FalseAlarmRate', 远的,......'体积',第一卷,“测试版”,beta,......'MaxNumHistoryScans'10......“MaxNumTrackBranchs”5,......“修剪”'假设'......'OutputRepresentation'“轨道”);[TrackSummary,TruthSummary,TrackMetrics,T​​imeMetrics,T​​imetomhtimm] = HelperRuntracker(Datalog,跟踪器,FALSE);

图中显示两条轨道没有交叉。这一结果在下面真实目标的中断计数中也很明显,显示零中断。

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

显示(跟踪摘要)显示(真实摘要)
的TrackID AssignedTruthID存活TotalLength DivergenceStatus _______ _______________ _________ ___________ ________________ 1 2真假190 2 3 191真假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 _______ ______ ______ ________ ________ 1 55.947 24.442 6.9595 5.5471 2 37.797 25.949 5.2605 4.0935 TruthID posRMS velRMS posANEES velANEES _______ ______ ______ ________ ________ 2 55.947 24.442 6.9595 5.5471 3 37.797 25.949 5.2605 4.0935

基于等速模型的联合概率数据关联跟踪器

虽然跟踪指标大大通过使用改进的trackerTOMHT超过trackerGNN中,计算机处理时间也显著增加。一个联合概率数据关联(JPDA)追踪,trackerJPDA,将让您探索进一步的权衡考虑。不像GNN,JPDA允许用于在其附近更新多个磁道的单个检测。此外,多个检测可以与多个轨道被聚集在一起,并更新每个那些磁道。这解决了断轨问题。然而,JPDA不保持多假设在多次扫描,这使得它一个次优的方法,而不是MHT。

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

  • ClutterDensity是的比率FalseAlarmRate体积

  • 新靶密度替换bet

  • TimeTolerance允许在一个集群中处理来自扫描雷达的多个检测。

此外,设置TrackLogic融合的这在概念上更接近与前两个跟踪器所用的得分逻辑。

追踪= trackerJPDA (......'FilterInitializationFcn',@initCVFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',门,......'tracklogic''融合的'......“探测概率”,pd,......'Clutterdention',远/体积,......“新目标密度”,beta,......'timetolerance',0.05);[TrackSummary,TruthSummary,TrackMetrics,T​​ightmetrics,T​​imeJPDACV] = HelperRuntracker(Datalog,跟踪器,FALSE);

尽管trackerJPDA不支持多个假设,但它允许两个轨迹在每次更新只报告一个检测的模糊区域保持被确认。两个轨迹可以用不同的概率分配给检测。然而,就像之前观察到的其他跟踪器一样,这些轨迹交叉在一起。每个真理的度量中断计数也是1。

显示(跟踪摘要)显示(真实摘要)
跟踪ID分配的身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份身份生存生存的总数,生存生存的总数,分歧分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,分歧,我们我们我们我们我们我们我们我们我们我们我们,我们我们我们我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于关于_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu2192 1 3 1 192 1 2

跟踪准确性与使用的内容相提并论trackerGNNtrackerTOMHT

disp (trackMetrics) disp (truthMetrics)
这家跟踪公司的跟踪追踪者们对这家公司的跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪跟踪2 47.304 29.606 5.4677 3.5093 3 56.106 31.564 6.5976 3.1815

具有交互多模型的联合概率数据关联跟踪器

正如在其他两个跟踪器中看到的,模糊区域之前的转向可以通过交互多个模型更好地解决。trackerJPDA也可以与跟踪IMM,使用相同的过滤器初始化FCN像以前一样。

追踪= trackerJPDA (......'FilterInitializationFcn'@initIMMFilter,......'MaxNumTracks',numtracks,......“MaxNumSensors”1.......'AssignmentThreshold',门,......'tracklogic''融合的'......“探测概率”,pd,......'Clutterdention',远/体积,......“新目标密度”,beta,......'timetolerance',0.05);[TrackSummary,TruthSummary,TrackMetrics,T​​ightmetrics,T​​imeJPDaimm] = HelperrunTracker(Datalog,Tracker,True);

其结果与国际标准相当trackerTOMHT在转向过程中,由于采用了交互多模型,使得目标在转向过程中被更精确地跟踪,并且在进入模糊区域之前被充分地分离。轨道1和轨道2都被分配给具有零中断计数的目标。

显示(跟踪摘要)显示(真实摘要)
TrackId ensignedtrerhid surviving totallength divergenceStatus _______ _____________________________________________________________________________ __________ ____________________________________________________ 2 1 192 0 1 3 2 192 0 2

同样,跟踪准确度结果类似于先前使用的内容trackerGNNtrackerTOMHT

disp (trackMetrics) disp (truthMetrics)
的TrackID posRMS velRMS posANEES velANEES _______ ______ ______ ________ ________ 1 57.172 27.523 7.6831 6.2685 2 39.21 29.184 6.1317 4.769 TruthID posRMS velRMS posANEES velANEES _______ ______ ______ ________ ________ 2 57.172 27.523 7.6831 6.2685 3 39.21 29.184 6.1317 4.769

时间性能比较

每个跟踪器和过滤器组合的另一个比较点是运行时。下面的曲线显示了跟踪循环持续时间的记录。结果基于具有CV模型的GNN跟踪器的运行时值来标准化。

图c1=分类({“CV”'IMM'}); timeData=[timeGNNCV timeJPDACV timeTOMHTCV;timeGNNIMM timeJPDAIMM timeTOMHTIMM]/timeGNNCV;条形图(c1,时间数据)图例(“GNN”“JPDA”“明天”“位置”'西北')伊拉贝尔('规格化时间(X timeGNN-CV)')标题(“时间性能比较”)ax=gca;伊格里德斧头=“开”;

结果表明,GNN和JPDA可以跟踪目标,比MHT根据运动模式快5至6倍。IMM的运动模型使得所有三个跟踪运行速度较慢3至4倍。需要注意的是每个跟踪处理时间会有所不同,具体取决于该方案的数量目标,误报警的密度,目标密度等这个例子并不能保证在不同的使用情况相似的性能对比。

总结

在本例中,您创建了一个场景,其中两个机动目标由单个传感器检测,其中它们的某些运动在模糊区域内。您使用了六种跟踪器和过滤器的组合来显示它们对整体跟踪的贡献。您观察到,恒定速度过滤器在机动过程中跟踪目标的精度较低,这需要交互多模型过滤器。您还观察到MHT和JPDA处理检测与跟踪不明确关联的情况的能力,以及如何在单个假设跟踪器无法做到这一点的情况下使用它来保持连续跟踪。最后,您注意到在选择跟踪器时跟踪结果和处理时间之间的权衡。在这种情况下,JPDA被证明是最好的选择。在不同的场景中,当GNN和JPDA都不能提供可接受的跟踪结果时,您可能需要更复杂的MHT。如果模糊区域较少或杂波密度较低,您也可以选择GNN。