主要内容

trackOSPAMetric

最优的子模式分配(OSPA)指标

自从R2019b

描述

trackOSPAMetric系统对象™计算最优子模式之间的分配指标的跟踪和已知的真理。你可以使不同类型的OSPA指标通过配置这些属性:

  • 传统OSPA——指定度规财产“OSPA”并指定LabelingError财产0。传统OSPA指标,评估瞬时跟踪性能,包含两个组件:

    • 定位错误组件——占状态估计误差分配跟踪和真理之间。

    • 基数错误组件——占了未赋值的跟踪和真理。

  • OSPA——指定的标签度规财产“OSPA”并指定LabelingError房地产作为一个积极的标量。标记OSPA (LOSPA)指标,评估瞬时跟踪性能,包括处罚错误的作业,包含三个部分:

    • 定位错误组件——占状态估计误差分配跟踪和真理之间。

    • 基数错误组件——占了未赋值的跟踪和真理。

    • 标签错误组件——占的错误不正确的作业。

  • OSPA(2)——指定度规财产“OSPA (2)”。的OSPA(2)度量评估累计持续时间的跟踪性能。

更多细节,请参阅算法引用

使用trackOSPAMetric:

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

OSPAMetric= trackOSPAMetric创建一个trackOSPAMetric系统对象,OSPAMetric默认的属性值。

OSPAMetric= trackOSPAMetric (名称,值)设置属性trackOSPAMetric对象使用一个或多个名称-值对。例如,OSPAMetric = trackOSPAMetric (CutoffDistance, 5)创建一个trackOSPAMetric对象与切断的距离等于5。附上属性名称在单引号。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

指标选项,指定为“OSPA”“OSPA (2)”

  • “OSPA”——默认计算传统OSPA度量,或者计算另外指定的标记OSPA度量LabelingError房地产作为一个积极的价值。

  • “OSPA (2)”——计算OSPA(2)指标,评价累积跟踪性能。选择这个选项可以配置度量这些属性:

    • WindowLength

    • WindowSumOrder

    • WindowWeights

    • WindowWeightExponent

    • CustomWindowWeights

    选择这个选项也禁用两个属性用于评估标签错误组件:

    • HasAssignmentInput

    • LabelingError

    当选择此选项时,对象内部保存积累跟踪和真理的历史定义的几个步骤WindowLength财产。

数据类型:字符|字符串

阈值截止距离跟踪和真理,指定为一个真正的积极的标量。如果计算距离跟踪和分配的真理高于阈值,实际距离纳入度量阈值降低。

例子:40

数据类型:|

度规,指定为一个正整数。

例子:3

数据类型:|

距离类型,指定为“posnees”,“velnees”,“posabserr”,或“velabserr”。物理量用于类型指定的距离距离计算:

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

  • “velnees”——需要雇误差跟踪速度

  • “posabserr”绝对误差的跟踪位置

  • “velabserr”绝对误差的跟踪速度

  • “自定义”——自定义距离误差

如果你指定距离财产“自定义”,您还必须指定的距离函数DistanceFcn财产。

自定义距离函数,指定为一个函数处理。函数必须支持如下语法:金宝app

d = myCustomFcn(跟踪、真理)
在哪里跟踪是一个结构或一个物体的跟踪信息,真理是一个结构或一个物体的真实信息,然后呢d是真理和轨道之间的距离。看到objectTrack例如如何组织跟踪信息。

例子:@myCustomFcn

依赖关系

要启用这个特性,设置距离财产“自定义”

理想的平台运动模型,指定为“constvel”,“constacc”,“constturn”,或“歌手”。这个属性选择使用的运动模型跟踪输入。

期望运动模型“状态”场的跟踪包含这些值的列向量:

  • “constvel”——[1 3 5],位置在元素和速度在元素(2 4 6)。

  • “constacc”——位置在元素(1 4 7),速度是在元素中[2 5 8],和加速度是元素[3 6 9]。

  • “constturn”——位置在元素3 6][1,速度是在元素中[2 4 7],和偏航率是在第五元素。

  • “歌手”——位置在元素(1 4 7),速度是在元素中[2 5 8],和加速度是元素[3 6 9]。

“StateCovariance”场的跟踪输入一定的位置、速度和周转周期协方差在相对应的行和列的位置,速度,和周转周期“状态”输入字段的足迹。

跟踪标识符函数,指定为一个函数处理。从跟踪输入函数提取跟踪ID。函数必须支持如下语法:金宝app

Trackids = trackIdentifier(跟踪)
在哪里跟踪是一个结构数组或对象包含的信息跟踪,然后呢Trackids是一个数值数组的大小一样吗跟踪。跟踪对象的一个例子,看到objectTrack。默认标识符的函数,defaultTrackIdentifier必须包含在,追踪ID跟踪的价值TrackID字段或属性。

例子:@myTrackIdetifier

真理标识符函数,指定为一个函数处理。从真理中提取真实ID输入的函数。函数必须支持如下语法:金宝app

TruthIDs = truthIdentifier(真理)
在哪里真理是一个结构数组或对象包含真理的信息,然后呢TruthIDs是一个数值数组的大小一样吗真理。使用默认的标识符函数,defaultTruthIdentifier,事实必须包含在ID真理作为一个价值PlatformID字段或属性。

例子:@myTruthIdetifier

OSPA(2)只有属性

OSPA滑动窗口长度(2)度规,指定为一个正整数。窗口长度定义时间步骤的数目从先前的当前时间的时间用来评估指标。更多细节,请参阅OSPA(2)指标

依赖关系

要启用这个特性,设置度规财产“OSPA (2)”

数据类型:|

秩序的加权和跟踪历史和真理,指定为一个积极的标量。更多细节,请参阅OSPA(2)指标

依赖关系

要启用这个特性,设置度规财产“OSPA (2)”

数据类型:|

权重选择窗口,指定为“汽车”“自定义”

  • “汽车”——自动生成窗口使用算法给出了权重OSPA(2)指标

  • “自定义”——自定义窗口使用的重量CustomWindowWeights财产。

依赖关系

要启用这个特性,设置度规财产“OSPA (2)”

数据类型:|

体重指数进行自动计算,指定为负的标量。一个指数的价值,r的,0代表相等权重的窗口。更高的价值r向最近的数据分配更多的重量。更多细节,请参阅OSPA(2)指标

依赖关系

要启用这个特性,设置WindowWeights财产“汽车”

数据类型:|

自定义权重在时间窗口中,指定为一个N元向量的非负价值,N中指定的窗口长度吗WindowLength财产。

依赖关系

要启用这个特性,设置WindowWeights财产“自定义”

数据类型:|

LOSPA-Only属性

处罚错误的跟踪分配给真理,指定为一个真正的积极的标量。函数决定如果一项任务是正确的基础上提供的赋值输入。如果不提供作业作为输入,最后已知的“最优”任务被认为是正确的。

例子:5

依赖关系

要启用这个特性,设置度规财产“OSPA”

数据类型:|

使作业输入、指定为真正的

依赖关系

要启用这个特性,设置度规财产“OSPA”

数据类型:逻辑

使用

描述

度规= OSPAMetric (跟踪,真理)回报之间的跟踪性能指标的跟踪和真理。

度规= OSPAMetric (跟踪,真理,赋值)指定的任务跟踪和真理之间在当前时间步。使用这个语法,指定HasAssignmentInput财产真正的

(度规,当地的)= OSPAMetric (___)返回的定位误差分量OSPA度量使用任何输入组合在前面的语法。

例子

(度规,当地的,)= OSPAMetric (___)还返回基数OSPA度量误差的组成部分。

(度规,当地的,,标签)= OSPAMetric (___)还返回标签OSPA度量误差的组成部分。

使用这个语法,指定度规财产“OSPA (2)”

输入参数

全部展开

跟踪信息,指定作为非定制的结构或对象数组(内置)距离函数。必须包含每个结构或对象状态作为一个字段或属性。此外,如果一个NEES-based距离(posneesvelnees)中指定距离属性,每个结构或对象还必须包含StateCovariance作为一个字段或属性。此外,如果默认函数是用于跟踪标识符TrackIdentifierFcn财产,那么每个结构或对象还必须包含TrackID作为一个字段或属性。

数据类型:结构体|对象

真理的信息在当前时间,指定为noncustomized结构或对象数组(内置)距离函数。必须包含每个结构或对象位置速度字段或属性。如果标识符函数中使用默认的真理TruthIdentifierFcn财产,那么每个结构或对象还必须包含PlatformID作为一个字段或属性。

数据类型:结构体|对象

分配,指定为一个N2矩阵的非负整数。第一列元素追踪id, id和第二列元素都是真理。同一行中的id分配给对方。如果一个跟踪或真理不是分配,指定0作为同一行元素。

注意作业必须是一个独特的跟踪和真理之间。冗余或假追踪应被视为未赋值的跟踪通过分配到“0”TruthID

数据类型:|

输出参数

全部展开

跟踪性能指标,作为一个非负实数返回。这取决于的值度规LabelingError属性,可以将返回的度量传统OSPA标记OSPA (LOSPA),或OSPA(2)

度规属性值 LabelingError属性值 度规
“OSPA” 0 OSPA
“OSPA” 积极的标量 LOSPA
“OSPA (2)” 不适用 OSPA(2)

例子:10.1

定位错误组件,作为一个非负实数返回。

例子:8.5

基数错误组件,作为一个非负实数返回。

例子:6

标签错误组件,作为一个非负实数返回。

例子:7.5

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象
克隆 创建重复的系统对象

例子

全部折叠

加载预先录制的跟踪数据和真实数据。

负载trackmetricextracklogtruthlog

构造一个trackOSPAMetric对象。

汤姆= trackOSPAMetric;

初始化输出变量。

ospa = 0(元素个数(tracklog), 1);cardOspa = 0(元素个数(tracklog), 1);locOspa = 0(元素个数(tracklog), 1);

计算三个OSPA组件在一个循环中。

i = 1:元素个数(tracklog)跟踪= tracklog {};真理= truthlog {};[ospa(我),locOspa(我),cardOspa (i)) =汤姆(痕迹,真理);结束

可视化结果。

图()图(ospa,‘g’);持有;情节(locOspa“:”);情节(cardOspa“b——”);传奇(“OSPA”,“本地化OSPA”,“基数OSPA”);

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。这些对象代表OSPA, OSPA本地化OSPA基数。

加载预先录制的跟踪数据,包括跟踪和真理轨迹到工作区中。

负载(“ospa2TestLog.mat”,“trackLog”,“truthLog”);步骤=元素个数(trackLog);

显示追踪和真理的轨迹。记录数据包含三个追踪和三个真理轨迹。

positionSelector = [1 0 0 0 0 0;0 0 1 0 0 0);图保存i = 1:步骤tracksi = trackLog {};如果~ isempty (tracksi) xyTrackPositions = positionSelector * (tracksi.State);情节(xyTrackPositions (1:), xyTrackPositions (2:)“b”。)结束truthsi = truthLog {};如果~ isempty (truthsi) xyTtruthPositions =猫(1,truthsi.Position)”;情节(xyTtruthPositions (1:), xyTtruthPositions (2:)“r”。)结束结束包含(“x”(m))ylabel (“y (m)”)标题(“追踪与真理”)

图包含一个坐标轴对象。坐标轴对象与标题轨道与真理,包含x (m), ylabel y (m)包含282行类型的对象。

创建一个trackOSPAMetric对象和使 OSPA ( 2 ) 指标。指定窗口长度75年

ospa2Obj = trackOSPAMetric(公制=“OSPA (2)”,WindowLength = 75,CutoffDistance = 50,WindowWeightExponent = 3,= 1,距离=“posabserr”);

遍历数据获取 OSPA ( 2 ) 随着时间的推移度量。

ospa2 =南(步骤1);i = 1:元素个数(trackLog)跟踪= trackLog {};真理= truthLog {};ospa2 (i) = ospa2Obj(痕迹,真理);结束

可视化结果。

图绘制(ospa2)轴包含(“步骤”)ylabel (“OSPA(2)指标”)

图包含一个坐标轴对象。坐标轴对象包含的步骤,ylabel OSPA(2)度量包含一个类型的对象。

算法

全部展开

引用

[1]Schuhmacher B。b - t。签证官,b - n。签证官。“一个一致的绩效评价指标的多目标过滤器。”IEEE信号处理卷,56岁,8,3447 - 3457年,2008页。

[2]Ristic B。b - n。签证官、d·克拉克和b - t。签证官。“绩效评估指标的多目标跟踪算法。”IEEE信号处理卷,59岁,7,3452 - 3457年,2011页。

[3]m .胡子,b - t。签证官,b - n。签证官。“OSPA(2) :使用OSPA度量评价多目标跟踪性能。”2017年国际会议控制、自动化和信息科学IEEE 2017,页86 - 91。

扩展功能

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

版本历史

介绍了R2019b