目录

一、分配和错误指标

1.1 轨道和真相定义

1.2 计算和分析指标

1.3 分析分配指标

​编辑 1.4 分析错误指标

​编辑二、将指标汇总为分数

2.1 欧斯帕公制

2.2 分析 OSPA 指标

2.3 戈斯帕公制

2.4 分析结果

三、总结

四、程序


在设计多目标跟踪系统时,必须设计一种方法来根据可用的地面事实评估其性能。此地面实况通常可从模拟环境中获得,也可以通过使用对记录的数据进行手动或自动标记的地面实况提取等技术获得。尽管可以使用可视化工具对跟踪算法进行定性评估,但该方法通常不可扩展。此示例介绍了传感器融合和跟踪工具箱中用于评估跟踪器性能的不同定量分析工具。还将使用跟踪多个对象时遇到的一些常见事件,例如错误轨道、跟踪交换等,以了解这些工具的优势和局限性。

一、分配和错误指标

在存在地面实况的情况下评估多目标跟踪器的一般工作流程可分为 2 个主要步骤。首先,使用赋值算法将轨迹分配给真值。其次,使用计算出的赋值作为输入,计算每个轨道的状态估计精度。在每个步骤中,都可以获得跟踪器性能的一些关键指标。在传感器融合和跟踪工具箱中,对应于这两个步骤的指标分别称为分配指标和错误指标。

分配指标评估由于模糊、目标缺失或存在误报而导致传感器数据错误分配给轨道而导致的跟踪器特征。传感器数据分配不正确可能会导致目标之间交换磁道、为目标创建冗余磁道、丢弃真实目标磁道和创建错误磁道等事件。另一方面,误差指标提供对跟踪器的状态估计或对象级准确性的评估。即使跟踪器在分配方面做得很好,由于测量中的噪声以及目标运动模型和传感器测量模型建模中的不准确性,也可能发生轨道级别的不准确性。

1.1 轨道和真相定义

分配指标使用门控贪婪最近邻方法,该方法允许多对一轨道分配,这意味着可以将多个轨道分配给同一事实。在每个步骤中,指标旨在将轨迹分配给真实数据,同时考虑它们在前一个时间步中的分配。这有助于分配指标根据当前和以前的分配将轨道分类为特定类别。下图介绍了轨道分配指标使用的类别。

从跟踪器的角度来看,分配指标还将真相表示为不同类别的“目标”。这有助于分配指标记录跟踪建立和目标中断等事件。建立和中断事件如下图所示。

通过将跟踪和真相分类为多个类别,分配指标输出跟踪器性能的累积分析。指标还提供有关每个真实和跟踪的分配信息的详细信息。此外,分配指标中每个步骤的分配结果也可用于评估错误指标。误差指标输出跟踪器状态估计准确性的累积分析。与分配指标类似,错误指标也为每个轨道和事实提供详细信息。

1.2 计算和分析指标

若要使用分配指标,请创建 System 对象。还可以使用名称-值对指定对象的属性,以便为不同的应用程序配置衡量指标。在此示例中,将赋值和散度距离指定为轨迹和真值之间位置的绝对误差。还可以指定轨迹分配和发散的距离阈值。

若要使用错误指标,请创建 System 对象。由于未提供名称/值对,因此使用默认值。在此示例中,假定使用恒定速度模型跟踪目标。赋值和错误指标由使用帮助程序类的模拟跟踪和事实驱动。此类的对象在每个时间步长输出轨道和真值的列表。

还可以使用名为的帮助程序类可视化分配和错误指标的结果。这些帮助程序类包含在与此脚本相同的工作文件夹中的示例中。每次生成轨迹和真实值列表,并使用以下工作流运行分配和错误指标。

1.3 分析分配指标

下面的动画显示了分配指标的可视化表示形式。一开始,由于建立延迟,P1和P2都没有任何相关的轨道。因此,它们都被归类为未命中的目标。在 X = 5 米左右,P1 有几个时间步没有被跟踪。请注意,在此期间,分配指标将 P2 输出为丢弃的目标。当轨道在 P1 和 P2 之间交换时,它们最初被宣布为发散,因为它们移出背离阈值。经过几个时间步,轨道到达了新真理的分配门,并与新真理联系在一起。

每个轨道和真相的指标可视化有助于更轻松地理解不同的事件。但是,对于大量的曲目和真相,它可能会变得势不可挡。另一种方法是使用分配指标的汇总输出。这些输出提供了截至当前时间步长的分配指标的总体摘要。通过捕获每个步骤的工作分配摘要,您还可以绘制累积分析。下图显示了轨迹分配摘要和真值分配摘要的字段子集。

 1.4 分析错误指标

与分配指标类似,也可以根据轨迹和真实情况计算和可视化错误指标。每个轨迹的估计误差字段和仿真结束时的真值如下所示。其中每个字段都表示每个轨迹和真实值的累积误差。通过记录每个时间步长的错误,您还可以绘制每个轨道和真相的误差与时间的关系。下图显示了每个磁道和真值的RMS误差。删除轨迹后,其估计误差保持不变。请注意,在模拟的前半部分,T3 的估计误差高于 T4,因为 T3 的轨迹与 P2 的轨迹不匹配。还要注意上半年 T3 估计误差的下降,因为它慢慢收敛到真实位置。在轨道交换事件期间。T3 和 T4 的估计误差都会增加,直到它们的分配切换。

每个真值的估计误差只是分配给它的所有轨道的估计误差的累积。当P2在模拟的第8个时间步长左右被分配一个冗余轨道时,它的估计误差会跳跃。当冗余磁道接近P2时,误差减小,但当其相关磁道发散时,误差再次增加。

对于大量轨迹和真实情况,您还可以对所有分配轨迹在其生命周期中使用累积错误指标。请注意,当轨道交换时(接近第 80 步),误差增加。还要注意第 25 个时间步长左右的较小峰值,当时 T1 偏离其分配的真值 P2 并被冗余轨道 T3 超越。

二、将指标汇总为分数

评估多对象跟踪器性能的一个常见用例是调整其参数。这通常是通过将指标组合成单个成本值来完成的,该成本值可用作优化算法的函数。分配和错误指标提供了几种不同的有效性度量 (MoE),可以通过首先选择最相关的指标,然后根据应用程序执行加权组合来组合。选择正确的 MoE 以及将它们组合成一个分数可能具有挑战性。作为此方法的替代方法,可以使用最佳子模式分配 (OSPA) 指标和广义最佳子模式分配 (GOSPA) 指标。OSPA和GOSPA指标通过将分配和状态估计精度组合到单个成本值中来评估多对象跟踪器的性能。接下来,将了解 OSPA 和 GOSPA 指标以及在 MATLAB 中计算这些指标的工作流程。

2.1 欧斯帕公制

OSPA 指标可以被视为多个轨道和真相之间的统计距离。为了计算 OSPA 指标,该算法首先使用全局最近邻 (GNN) 算法将现有轨迹和真实值相互分配。计算分配后,指标将总距离划分为两个子组件 - 本地化和基数不匹配。定位组件捕获由状态估计精度引起的错误,而基数不匹配组件捕获冗余轨道、错误轨道和遗漏事实的影响。传统的 OSPA 指标不考虑轨道的时间历史,即上一步的分配不会影响当前步骤的指标。因此,传统的 OSPA 指标无法捕获轨道开关等效果。为了规避这一点,为OSPA引入了一个新的子组件,称为“标签”组件。传统OSPA与“标签”组件的组合有时被称为“轨道OSPA”(OSPA-T)或标记OSPA(LOSPA)。 要在 MATLAB 中使用 OSPA 指标,请使用 System 对象。可以通过提供非零值属性从 OSPA 切换到标记 OSPA。

接下来,运行相同的方案,并在每个时间步长计算 OSPA 指标。

2.2 分析 OSPA 指标

请注意 OSPA 指标与方案中不同事件之间的相关性。由于成立延迟,OSPA最初很高。成立后,由于存在冗余轨道,OSPA仍然保持相对较高的水平。删除冗余轨道后,OSPA下降到较低的值。在第50步左右,随着真相P1被丢弃,OSPA获得了价值。请注意,虽然 OSPA 指标通过提供更高的值来正确捕获所有这些事件,但它不会提供有关每个真实和轨迹及其估计准确性的更精细的详细信息。OSPA提供的唯一信息是通过其组件。较高的本地化组件表示分配的轨迹无法正确估计真实状态。此本地化组件是使用与分配相同的距离类型计算的。较高的基数分量表示存在未命中的目标以及错误或冗余的磁道。较高的标注错误表示轨迹未正确标注,这表示轨迹与其最接近的可用真实值相关联。

2.3 戈斯帕公制

用于计算 GOSPA 的方法类似于 OSPA 指标。GOSPA指标使用略有不同的数学公式,另外计算子组件,例如“未命中目标组件”和“错误轨道组件”。与传统的OSPA类似,GOSPA也不考虑轨道的时间历史。但是,可以通过添加开关组件来实现类似于标记-OSPA的指标[5]。切换组件捕获在真值之间切换分配的效果。每次为真相分配更改在被归类为半开关或全开关后都会受到惩罚。半开关是指真值将分配从轨道切换到未分配或反之亦然的事件。完全切换是指当真值将分配从一个轨道切换到另一个轨道时的事件。

接下来,运行相同的方案并计算每个时间步长的 GOSPA 指标。

2.4 分析结果

请注意,GOSPA 指标还会捕获方案中不同事件的影响,类似于 OSPA 指标。与 OSPA 相比,如果指标由于错误跟踪或错过目标而更高,它还提供信息。请注意,峰值在第 50 个时间步长左右错过了目标分量。此峰值表示 P1 错过几步的事件。错过目标分量中第 80 个时间步长的峰值表示轨道交换时的事件。背离和重新分配之间的延迟导致错过目标以及错误的轨道组件。

轨道切换组件中的峰值表示不同的事件。第一个峰值说明了从未分配切换到已分配的真值。第二个峰值是P2上的轨道切换。第三个和第四个峰值捕捉到真相P1未分配,然后分别分配给另一个轨道。最后两个峰值解释了真值取消分配,然后是重新分配。

与OSPA类似,GOSPA也不提供有关每个轨道和真相的详细信息。来自GOSPA的信息可通过其组件获得。顾名思义,较高的未命中目标分量表示未跟踪目标,较高的错误跟踪分量表示存在错误跟踪。较高的切换惩罚表示建立、轨道交换和丢弃轨道等事件。将组件细分为包括未命中目标和错误轨迹有助于修改跟踪器的正确参数。例如,如果要创建错误轨迹,典型的解决方案是尝试增加磁道确认的阈值。

三、总结

在此示例中,了解了用于分析多对象跟踪系统性能的三种不同工具。了解了 MATLAB 中使用这些指标的工作流程。倾向于他们提供的信息类型以及如何分析这些信息。此示例中描述的工具非常灵活,可以针对不同的应用程序和用例进行自定义。所有工具上都有“内置”选项,用于指定要用于指标的不同类型的距离。例如,位置或速度的绝对误差或位置或速度的归一化误差。还可以为轨道指定三种不同的运动模型:恒定速度、恒定转弯率和恒定加速度。这些“内置”功能支持场景模拟生成的真实形式的轨迹。如果应用程序的轨迹和真实值的格式不同,则可以对其进行预处理以对其进行转换。这允许使用指标的所有“内置”功能。或者,您可以指定轨迹和真值之间的自定义距离函数。这使可以控制距离以及每个轨道和真相的格式。要在 OSPA 和 GOSPA 指标的自定义功能和内置功能之间切换,请指定为“c”。若要在分配和错误指标的自定义功能和内置功能之间切换,请分别更改分配和错误指标的 andto ''。

四、程序

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

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

基于matlab介绍传感器融合和跟踪工具箱中用于评估跟踪器性能的不同定量分析工具(附源码)相关推荐

  1. 基于DevExpress的SpreadsheetControl实现对Excel的打开、预览、保存、另存为、打印(附源码下载)

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  2. 39. 实战:基于api接口实现视频解析播放(32接口,窗口化操作,可导出exe,附源码)

    目录 前言 目的 思路 代码实现 需要导入的模块 1. 导入解析网站列表,实现解析过程 2. 设计UI界面 3. 设置窗口居中和循环执行 4. 注意事项 完整源码 运行效果 总结 前言 本节将类似34 ...

  3. 40. 实战:基于tkinter实现用户UI界面——对34小节的VIP音乐解析系统的全面升级(附源码)

    目录 前言 目的 思路 代码实现 1. 首先设计主页UI界面 2. 封装核心解析歌曲代码 3. 下载音乐到本地 4. 将界面居中,禁止修改窗口大小,等待关闭/退出指令 完整源码 运行效果 使用过程 菜 ...

  4. 基于Matlab模拟用于海况海洋学研究的 X 波段雷达系统(附源码)

    海事雷达系统在充满挑战的动态环境中运行.为了改进对感兴趣目标的检测并评估系统性能,必须了解海面返回的性质. 在本例中,将模拟用于海况海洋学研究的 X 波段雷达系统.雷达系统是一个固定的海上平台.将首先 ...

  5. springboot+基于微信小程序音乐播放器的设计与实现 毕业设计-附源码271156

    Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器,系统为人们提供了方便快捷.即用即搜的音乐搜索播放服务,包括音乐资讯.音乐库推荐.交流论坛.注册登录.最 ...

  6. (基于安卓app开发项目)英语学习记单词软件的毕业设计(java+j2ee+mysql)附源码+论文

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.

  7. 基于Matlab使用地面雷达探测和跟踪LEO卫星星座仿真(附源码)

    目录 一.从 TLE 文件导入卫星星座 二.模拟合成检测和跟踪星座 2.1 对空间监视雷达进行建模 2.2 雷达处理链 2.3 定义跟踪器 2.4 运行模拟 三.总结 四.程序 此示例演示如何导入卫星 ...

  8. 基于MATLAB的图像融合设计

    基于MATLAB的图像融合设计 摘 要 图像融合能够将不同类型传感器获取的同一对象的图像数据进行空间配准.并且采用一定的算法将不同类型的传感器获取的同一对象的图像数据所含用的信息优势或互补性有机地结合 ...

  9. 基于Matlab的汽车安全应用轨道融合仿真(附源码)

    目录 一.目的 二.轨道到轨道架构 三.定义方案 4.1 在仿真开始时分析跟踪 4.2 分析街道边行人的跟踪 ​ 4.3 避免谣言传播 五.总结 六.程序 此示例演示如何融合两辆车的履带,以提供比每辆 ...

最新文章

  1. 关于consistent hash的思考及改进方案
  2. WPF编游戏系列 之四 用户控件
  3. 前端学python有什么用-杭州前端需要学习python
  4. 傻瓜式图文教你在linux下搭建VNC服务器
  5. oracle游标理解,oracle游标的使用方法
  6. 解决ubuntukylin 13.10安装wine时无法解决软件包依赖问题
  7. vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署
  8. 2018 年,NLP 研究与应用进展到什么水平了?
  9. iOS仿支付宝芝麻信用仪表盘效果
  10. 开发ASP.NET下的MP3小偷程序
  11. paip.提升用户体验与提升安全性----记住密码
  12. 01_kubernetes初始化系统和全局变量
  13. CSDN一般支付页面(源码)
  14. 计算机台式硬件排名价格,2015年最新台式计算机处理器(CPU)性能排名_计算机硬件和网络_IT /计算机...
  15. Android本应用数据清除管理器
  16. 面试系列-3 限流场景实践
  17. HTML5与CSS3基础教程笔记
  18. 7-38 实验7_3_奇数偶数 (100 分)
  19. python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别
  20. java项目-第34期基于SpringBoot实现的中小医院HIS管理系统【毕业设计】

热门文章

  1. 基于云开发的校园社区小程序 微信小程序开发实战 课设作业
  2. 拳王虚拟项目公社:0成本卖虚拟教程资源,月入2万的兼职副业项目
  3. 什么是火起来的“宅经济”,重庆阿尔克互联网技能帮扶学习,进入互联网
  4. 【考研英语语法】形容词练习题
  5. java版溺尸哪里有_我的世界基岩版1.3新增生物大全 新增珊瑚/幻翼/溺尸等
  6. 零基础想要快速的学好3D游戏建模,兼职接单私活,来看业内人士的分析
  7. 网易新闻回答2021:靠差异化内容逆势增长
  8. 在c语言中 不可表示的字符是什么,C 语言易错点综合
  9. android调试环境配置+雷电模拟器
  10. Linux useradd -M -s