基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)

目录

一、默认跟踪器配置

二、分配阈值

 三、过滤器初始化功能

四、确认和删除阈值

五、最大音轨数

六、总结

七、程序​


此示例演示如何调整和运行跟踪器以跟踪场景中的多个对象。该示例解释并演示了传感器融合和跟踪工具箱中跟踪器关键属性的重要性。

一、默认跟踪器配置

为了测试跟踪器跟踪多个对象的能力,需要设置一个基本方案。在此方案中,定义三个对象,每个对象以恒定速度沿直线移动。最初,将对象速度分别设置为 48 m/s、60 m/s 和 72 m/s。此外,还可以定义一个雷达,该雷达盯着场景并每秒更新 5 次。可以将其安装在位于移动物体侧面的平台上。创建剧院图以显示场景。最后,创建一个默认对象,运行方案并观察结果。用于评估跟踪器性能。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第1张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第2张图片

观察到跟踪器无法跟踪这三个对象。在某些时候,除了三个移动对象的三个预期轨迹之外,还会确认并显示其他轨迹。因此,GOSPA 指标的值会增加。请注意,GOSPA 指标的值越低表示跟踪链接性能越好。

二、分配阈值

查看跟踪器输出的结构,并观察希望发生的轨道和对象对的分配。这意味着太小了,应该增加。将分配阈值增加到 50。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第3张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第4张图片

分配阈值属性还具有与可以设置的检测的最大距离。这是值中的最后一个元素。可以使用此值在处理大量检测和跟踪时加快跟踪器的速度。在这里,将值设置为 instead 代替,这将减少用于计算分配成本的跟踪和检测的组合数。 

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第5张图片

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第6张图片

 三、过滤器初始化功能

上面的结果表明,跟踪器能够为三个移动物体保持三个轨迹,而不会产生错误的轨迹。但是,如果物体以更快的速度移动,跟踪器的性能会保持吗?要检查这一点,请修改方案并将对象速度分别提高到 160、200 和 240 m/s。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第7张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第8张图片

正如所料,跟踪器无法建立三个物体的稳定轨迹。一种可能的解决方案是进一步增加甚至以允许更新曲目。但是,此选项可能会增加将随机错误轨迹分配给多个检测并获得确认的机会。因此,可以选择修改筛选器的初始化方式。 将属性设置为函数。该函数与默认值相同,但它增加了状态速度分量的不确定性。它允许初始状态考虑更大的未知速度值,但是一旦轨道建立,不确定性就会再次降低。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第9张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第10张图片

观察到跟踪器再次能够保持轨道,并且三个移动对象有 3 条轨道,即使它们现在移动得更快。GOSPA值在几个步骤后也会降低。 

四、确认和删除阈值

确保智能设备对更高的误报率具有鲁棒性。为此,需要将雷达配置为比以前高 250 倍的误报率。 缩小以查看场景的较大部分,并查看是否创建了错误轨迹。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第11张图片

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第12张图片

有一些错误的轨道正在创建(并非所有轨道都显示),它们增加了GOSPA值。 希望更快地删除错误轨道,为此使用了该属性。删除阈值的默认值为 [5 5],需要连续 5 次未命中才能删除已确认的曲目。可以通过将此值减少到 [3 3] 或 3/3 的未命中数来加快删除过程。或者,由于雷达很高,甚至可以在 2/3 未命中后删除轨迹。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第13张图片

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第14张图片

 正如预期的那样,减少删除轨道所需的步骤数会降低 GOSPA 值,因为这些错误的轨道是短暂的。但是,这些错误的轨道仍然得到证实,并恶化了整体跟踪质量。 因此,希望使新轨道的确认更加严格,以减少错误轨道的数量。考虑跟踪器属性。

该值显示,如果在前三次更新中为其分配了两个检测,则跟踪器将确认每个跟踪。决定更难确认轨迹并将值重置为 4 个分配中的 3 个。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第15张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第16张图片

通过使轨道确认更加严格,您可以消除错误的轨道。结果,除了前几个步骤外,GOSPA 值再次下降到 20 左右。

五、最大音轨数

使确认更加严格,可以消除错误轨道。但是,跟踪器仍会为每个错误检测初始化一个轨道,可以通过查看跟踪器当前维护的轨道数来观察。 轨迹数量在跟踪器的整个生命周期内波动。但是,不希望它超过跟踪器可以维护的最大轨道数(由 定义),默认情况下为 100。如果跟踪器超过此数字,它会发出警告,指出无法添加新轨道,但执行可以继续。 增加最大磁道数,以允许跟踪器即使在误报率较高的情况下也能进行跟踪,而不会发出警告。还希望使轨道确认更加严格,以减少错误轨道的数量并减少 GOSPA 指标。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第17张图片

 基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第18张图片

请注意,要使航迹确认更加严格,需要执行更多步骤来确认航迹。因此,对于前几步,没有确认的轨道,GOSPA 值仍然很高。可以将其与此示例开头的 GOSPA 图表进行比较。 

六、总结

在此示例中,学习了设置多对象跟踪器,以便维护场景中真实对象的跟踪、避免错误跟踪、维护正确数量的跟踪以及在不同的跟踪器之间切换。

七、程序​

使用Matlab R2022b版本,点击打开。

基于Matlab调整运行跟踪器以跟踪场景中多个对象(附源码)_第19张图片

打开下面的“TuningAMultiObjectTrackerExample.mlx”文件,点击运行,就可以看到上述效果。

关注下面公众号,后台回复关键词:跟踪场景中多个对象,发送源码链接。

你可能感兴趣的:(#,Matlab实例(附源码),matlab,目标跟踪)