主要内容

trackGOSPAMetric

广义最优子模式分配(GOSPA)度量

描述

trackGOSPAMetric系统对象™计算一组轨迹和已知真理之间的广义最优子模式分配度量。

有关更多细节,请参见GOSPA规[1]

计算广义子模式对齐度量:

  1. 创建trackGOSPAMetric对象并设置其属性。

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

GOSPAMetric= trackGOSPAMetric创建一个trackGOSPAMetric具有默认属性值的系统对象。

GOSPAMetric= trackGOSPAMetric (名称,值属性的属性trackGOSPAMetric对象,使用一个或多个名称-值对。例如,GOSPAMetric = trackGOSPAMetric('CutoffDistance',5)创建一个trackGOSPAMetric对象,其截止距离等于5。将属性名用引号括起来。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放函数解锁它们。

如果属性是可调,您可以随时更改其值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统

轨迹和真值之间的截止距离的阈值,指定为实正标量。只有当轨迹与已知真理之间的距离小于此距离时,才会将真理分配给轨迹。

例子:40

数据类型:|

GOSPA度量的顺序,指定为正整数。

例子:1

数据类型:|

GOSPA度量的Alpha参数,指定为[0,2]范围内的一个正标量。

例子:1

数据类型:|

分配切换的惩罚,指定为非负实标量。

例子:1.2

距离类型,指定为“posnees”“velnees”“posabserr”“velabserr”,或“自定义”.此属性指定用于距离计算的物理量:

  • “posnees”-轨道位置归一化估计误差平方(NEES)

  • “velnees”-履带速度的NEES误差

  • “posabserr”-轨迹位置绝对误差

  • “velabserr”-航迹速度绝对误差

  • “自定义”-自定义距离错误

如果指定距离财产“自定义”的距离函数DistanceFcn财产。

自定义距离函数,指定为函数句柄。函数必须支持以下语法:

d = myCustomFcn(track, true)
在哪里跟踪是轨迹信息的结构或对象,真理一个结构或一个对象的真理信息,和d是真理和轨迹之间的距离。看到objectTrack这是一个关于如何组织估计轨迹和真实轨迹的信息的例子。

例子:@myCustomFcn

依赖关系

要启用此属性,请设置距离财产“自定义”

所需平台运动模型,指定为“constvel”“constacc”“constturn”,或“歌手”.控件使用的运动模型跟踪输入。

运动模型期望“状态”的字段跟踪输入的列向量包含以下值:

  • “constvel”- [x;vx;y;vy;z;vz]形式的匀速运动模型,其中x、y、z为位置坐标,vx、vy、vz为速度坐标。

  • “constacc”- [x;vx;ax;y;vy;ay;z;vz;az]形式的恒加速度运动模型,其中x、y、z为位置坐标,vx、vy、vz为速度坐标,ax、ay、az为加速度坐标。

  • “constturn”-形式为[x;vx;y;vy;theta;z;vz]的恒转运动模型,其中x、y、z为位置坐标,vx、vy、vz为速度坐标,theta为偏航速率。

  • “歌手”- Singer加速度运动模型形式为[x;vx;ax;y;vy;ay;z;vz;az],其中x、y、z为位置坐标,vx、vy、vz为速度坐标,ax、ay、az为加速度坐标。

“StateCovariance”的字段跟踪的位置、速度和周转率对应的行和列中,输入必须具有位置、速度和周转率协方差“状态”的字段跟踪输入。“StateCovariance”只有在以下情况下才需要“posnees”“velnees”距离财产。

轨迹标识符函数,指定为函数句柄。对象中提取曲目ID跟踪输入。函数必须支持以下语法:

trackids = trackIdentifier(轨迹)
在哪里

  • 跟踪包含轨迹信息的结构或对象数组。

  • trackids数值数组的大小是否与跟踪

有关跟踪对象的示例,请参见objectTrack.如果使用默认标识符功能,defaultTrackIdentifier,你必须包含曲目ID跟踪的值TrackID田地或财产。

例子:@myTrackIdetifier

true标识符函数,指定为函数句柄。函数提取真值ID真理输入。函数必须支持以下语法:

truthIDs = truthIdentifier(真理)
在哪里

  • 真理是包含真理信息的结构或对象的数组。

  • truthIDs数值数组的大小是否与真理

如果您使用默认标识符函数,defaultTruthIdentifier,你必须包含真相ID真理作为一个值PlatformID田地或财产。

例子:@myTruthIdetifier

启用赋值输入,指定为真正的.此属性支持提供赋值在每个时间步输入。计算的GOSPA度量使用输入分配来计算本地化组件。

数据类型:逻辑

使用

描述

sGOSPA= GOSPAMetric (跟踪真理返回一组轨道和真相之间的GOSPA度量,包括切换惩罚。指标中包含的切换惩罚值取决于SwitchingPenalty财产。默认情况下,该度量在当前步骤和上一步使用全局最近邻(GNN)分配来决定是否切换了轨道。

sGOSPAGOSPA切换= OSPAMetric(跟踪真理也返回GOSPA组件和交换组件。

___] = = (跟踪真理赋值允许您指定在度量评估中使用的跟踪和真实值之间的当前分配。您可以以任何前面的语法返回输出。

要使用此语法,请设置HasAssignmentInput财产真正的

例子

sGOSPAGOSPA切换本地化missTargetfalseTrack] = = (___还返回定位组件、遗漏的目标组件和错误跟踪组件。您可以使用前面语法中的任何输入组合。

要使用此语法,请设置α财产2

输入参数

全部展开

跟踪信息,指定为用于内置距离函数的结构或对象数组。每个结构或对象必须包含状态领域或财产此外,如果基于nees的距离(posneesvelnees)在距离属性,每个结构或对象也必须包含StateCovariance领域或财产此外,如果使用了默认的音轨标识符函数TrackIdentifierFcn属性,则每个结构或对象也必须包含TrackID领域或财产看到objectTrack为一个轨道对象的例子。

数据类型:结构体|对象

真相信息,指定为用于内置距离函数的结构或对象数组。每个结构或对象必须包含位置速度作为字段或属性。函数中使用默认的真值标识符函数TruthIdentifierFcn属性,则每个结构或对象也必须包含PlatformID领域或财产

数据类型:结构体|对象

已知的当前分配,指定为N-by-2非负整数矩阵。第一列元素是track id,第二列元素是truth id。同一行的id是彼此分配的轨迹和真理。如果没有分配轨迹(或轨迹),则将0指定为轨迹(或轨迹)的同一行元素。

注意,赋值必须是轨道和真理之间唯一的赋值。多余的或错误的音轨应该被视为未分配的音轨,将它们赋值为“0”TruthID

数据类型:|

输出参数

全部展开

GOSPA度量包括开关分量,作为非负实标量返回。

GOSPA度规,作为非负实标量返回。

交换分量,作为非负实标量返回。

定位组件,作为非负实标量返回。

错过目标组件,作为非负实标量返回。

伪跟踪组件,作为非负实标量返回。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象
克隆 创建重复的系统对象
isLocked 确定系统对象正在使用中

例子

全部折叠

加载预先录制的数据。

负载trackmetricextracklogtruthlog

创建一个trackGOSPAMetric对象,并设置SwitchingPenalty5.

tgm = trackGOSPAMetric(“SwitchingPenalty”5);

创建输出变量。

Lgospa = 0 (numel(tracklog),1);Gospa = 0 (numel(tracklog),1);切换= 0 (numel(tracklog),1);本地化= 0 (numel(tracklog),1);missTarget = 0 (numel(tracklog),1);falseTracks = 0 (numel(tracklog),1);

在提取轨迹和基本事实之后,运行GOSPA度量。

I = 1: null (tracklog) tracks = tracklog{I};真理= truthlog{i};[lgospa(i),gospa(i),switching(i),localization(i),missTarget(i),falseTracks(i)] = tgm(tracks,truth);结束

想象结果。

plot([lgospa gospa切换本地化missTarget falseTracks])传说(“标记GOSPA”“GOSPA”的开关组件...的本地化组件“遗漏的目标组件”“虚假跟踪组件”

图中包含一个axes对象。axis对象包含6个类型为line的对象。这些对象表示标记GOSPA, GOSPA,切换组件,定位组件,错过目标组件,错误跟踪组件。

算法

全部展开

参考文献

[1]拉玛图拉什,A. S, A. F. García-Fernández, L. Svensson。"广义最优子模式分配度量"第二十届信息融合国际会议2017年,第1-8页。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2020a中引入

Baidu
map