主要内容

全球最近邻多对象追踪

多传感器多目标跟踪器使用GNN任务

  • 库:
  • 传感器融合和跟踪工具箱/多目标跟踪算法

  • 全球最近邻多对象追踪块

描述

全球最近邻多对象追踪块能够处理来自多个传感器检测的目标,很像trackerGNN系统对象™。跟踪初始化,证实了预测,纠正,并删除跟踪基于全局最近邻(GNN)分配算法。跟踪估计状态向量和状态向量的协方差矩阵为每一个轨道。每个检测最多被分配给一个跟踪。如果发现不能分配给任何跟踪,跟踪器初始化一个新的轨道。

任何新的跟踪开始试探性的状态。如果足够多的分配给一个试探性的跟踪检测,确认其状态变化。如果发现已经有一个已知的分类(ObjectClassID现场返回的跟踪是零),立即跟踪确认。当跟踪确认,追踪认为代表一个物理对象的跟踪。如果检测不分配给跟踪在一个指定的数量的更新,删除。

港口

输入

全部展开

检测列表,指定为包含一个MATLAB仿真软件总线结构。金宝app结构形式:

描述 类型
NumDetections 数量的检测 整数
检测 对象检测 数组对象检测结构。第一个NumDetections这些检测都是实际的检测。

等领域的检测是:

描述 类型
时间 测量时间
测量 对象的测量
MeasurementNoise 测量噪声协方差矩阵
SensorIndex 传感器的惟一ID
ObjectClassID 对象分类ID
MeasurementParameters 参数初始化函数所使用的跟踪滤波器 金宝app仿真软件总线
ObjectAttributes 额外的信息传递给跟踪 金宝app仿真软件总线

看到objectDetection这些字段的详细解释。

请注意

包含一个对象检测结构时间字段。每个对象的时间标记检测的时间必须小于或等于当前块的调用。时间标记也必须大于之前的调用中指定的更新时间。

跟踪更新时间,指定为一个真正的标量在几秒钟内。跟踪更新所有的追踪。每次调用的更新时间必须增加。单位是秒。更新时间必须至少与最大的一样大时间在指定的检测输入端口。

如果没有启用这个港口,由仿真软件仿真时钟管理决定了更新的时间。金宝app

依赖关系

要启用这个端口,端口设置选项卡,设置预测时间源输入端口

成本矩阵,指定为一个实值Nt——- - - - - -Nd矩阵,Nt是现有的跟踪和数量吗Nd是当前检测的数量。

成本矩阵的行对应于现有的跟踪。列对应的检测。跟踪命令是他们的歌曲出现在列表中所有的歌曲之前调用的输出端口。

在第一个更新跟踪器,或者跟踪没有以前的跟踪,成本分配矩阵的大小[0,Nd]。必须计算,这样成本更低的成本显示更高的可能性,追踪分配一个跟踪检测。为了防止某些检测被分配给特定的追踪,使用

如果没有启用这个端口,过滤器的初始化过滤器的初始化函数计算成本矩阵使用距离的方法。

依赖关系

要启用这个端口,端口设置选项卡上,选择使成本矩阵输入

可检测追踪id,指定为一个实值1的向量或2矩阵。探测跟踪传感器会检测跟踪。矩阵的第一列包含一个追踪id列表,传感器可检测报告。第二列包含的探测概率跟踪。检测概率是由一个传感器或,如果没有报告,获得的检测概率用于跟踪分数参数。

不包括在铁轨的标识可检测TrackIDs被认为是无法觉察的。跟踪删除逻辑不计数的缺乏检测作为跟踪删除“错过了检测”的目的。

如果没有启用这个端口,追踪假定所有跟踪检测在每个块的调用。

依赖关系

要启用这个端口,端口设置选项卡上,选择使检测跟踪输入id

跟踪状态参数,指定为包含一个MATLAB仿真软件总线结构。金宝app结构形式:

描述
NumParameters 数量的非默认状态参数,指定为一个非负整数
参数 状态参数的数组结构

块使用的价值参数场的StateParameters字段生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。

例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)米,其速度是起源(2 2 0)米每秒的场景。

字段名 价值
框架 “矩形”
位置 (10 10 0)
速度 (2 2 0)

依赖关系

要启用这个端口,跟踪器配置选项卡中,选择随着时间的推移,更新跟踪状态参数参数。

输出

全部展开

跟踪确认,返回包含MATLAB作为仿真软件总线结构。金宝app结构形式:

描述
NumTracks 数量的跟踪
跟踪 轨道结构的阵列的长度设定的最大数量的跟踪参数。只有第一个NumTracks这些都是实际的跟踪。

轨道结构的字段所示轨道结构

根据跟踪确认跟踪逻辑,如果:

  • 至少历史——跟踪接收检测在过去N更新。N中指定确认阈值历史逻辑。

  • 分数——跟踪分数至少高达确认阈值中指定确认阈值分数逻辑。

试探性的痕迹,返回包含MATLAB作为仿真软件总线结构。金宝app初步证实了之前一个跟踪。

轨道结构的字段所示轨道结构

依赖关系

要启用这个端口,端口设置选项卡上,选择使初步跟踪输出

确认列表并初步跟踪相结合,作为一个包含MATLAB仿真软件总线结构返回。金宝app

轨道结构的字段所示轨道结构

依赖关系

要启用这个端口,端口设置选项卡上,选择使所有跟踪输出

附加信息分析跟踪更新,返回包含MATLAB作为仿真软件总线结构。金宝app

这个表显示的字段信息结构:

描述
OOSMDetectionIndices

按顺序的指标测量

TrackIDsAtStepBeginning

当步骤开始追踪id

CostMatrix

成本分配矩阵

作业

返回的任务分配功能

UnassignedTracks

IDs的未赋值的跟踪返回的追踪

UnassignedDetections

未赋值的检测跟踪器返回的id

InitiatedTrackIDs

IDs的追踪期间启动步骤

DeletedTrackIDs

IDs的痕迹删除步骤

TrackIDsAtStepEnd

追踪id步骤结束时

OOSMHandling

分析信息按顺序测量处理,作为一个结构返回。这个领域时,可用按顺序测量数据处理跟踪指定的参数Retordiction

OOSMHandling结构包含这些字段:

描述
DiscardedDetection 丢弃的乱序执行检测的指标。OOSM是丢弃如果不是由指定的历史保存的状态MaxNumOOSMSteps财产。
CostMatrix

成本按顺序分配矩阵的测量

作业

作业按顺序检测和跟踪维护

UnassignedDetections 未赋值的指数按顺序检测。跟踪器创建新的追踪未赋值的乱序执行检测。

依赖关系

要启用这个端口,端口设置选项卡上,选择使信息输出

参数

全部展开

跟踪管理

指定唯一的跟踪标识符是一个非负整数。这个参数的传递SourceIndex在跟踪输出,区分来自不同的追踪器的跟踪multiple-tracker系统。您必须指定这个属性是一个正整数使用的跟踪输出作为输入进行航迹熔化炉块。

例子:1

过滤器的初始化函数,指定为一个有效的过滤初始化函数的名称。跟踪器使用过滤器的初始化函数在创建新的轨道。

传感器融合和跟踪工具箱™供应许多初始化函数,您可以使用:

初始化函数 函数定义
initcvabf 初始化常速α-β滤波器
initcaabf 初始化恒定加速度α-β滤波器
initcvekf 常速扩展卡尔曼滤波器进行初始化。
initcackf 初始化加速度恒定体积过滤器。
initctckf 初始化constant-turn-rate求容积法过滤器。
initcvckf 初始化常速求容积法过滤器。
initcapf 初始化加速度恒定粒子滤波。
initctpf 初始化constant-turn-rate粒子滤波。
initcvpf 常速粒子滤波进行初始化。
initcvkf 初始化常速线性卡尔曼滤波器。
initcvukf 初始化常速无味卡尔曼滤波器。
initcaekf 初始化加速度恒定扩展卡尔曼滤波器。
initcakf 初始化加速度恒定线性卡尔曼滤波器。
initcaukf 初始化加速度恒定无味卡尔曼滤波器。
initctekf 初始化constant-turn-rate扩展卡尔曼滤波器。
initctukf 初始化constant-turn-rate无味卡尔曼滤波器。
initcvmscekf 修改初始化常速球坐标扩展卡尔曼滤波器。
initrpekf 初始化常速range-parametrized扩展卡尔曼滤波器。
initapekf 初始化常速angle-parametrized扩展卡尔曼滤波器。
initekfimm 初始化跟踪IMM滤波器。

您也可以编写自己的初始化函数。函数必须有这样的语法:

过滤器= filterInitializationFcn(检测)
这个函数的输入是像那些由检测报告objectDetection。这个函数的输出必须过滤对象:trackingKF,trackingEKF,trackingUKF,trackingCKF,trackingPF,trackingMSCEKF,trackingGSF,trackingIMM,或trackingABF

指导你写这个函数中,您可以检查的细节在MATLAB提供的功能。例如:

类型initcvekf

分配算法,指定为“MatchPairs”,“Munkres”,“Jonker-Volgenant”,“拍卖”,或“自定义”。Munkres是唯一分配算法,保证最优的解决方案,但它也是最慢的,特别是大量的检测和跟踪。其他算法并不能保证问题的最优解,但可以快20或更多的跟踪和检测。使用“自定义”定义自己的作业功能和指定的名称CustomAssignmentFcn财产。

自定义赋值函数名,指定为一个字符串。一个赋值函数必须有这种语法:

[任务,unTrs, unDets] = f(成本、costNonAssignment)
赋值函数的一个例子,它的参数的描述,看看assignmunkres

例子:“mycustomfcn”

依赖关系

要启用这个特性,设置分配算法的名字名字“自定义”

阈值检测分配给轨道(或控制阈值),指定为一个积极的标量或1×2向量(C1C2),C1C2。如果指定为一个标量,指定的值,瓦尔,将扩大到瓦尔,]。

最初,跟踪执行规范化的粗估计所有的跟踪和检测之间的距离。跟踪器只计算准确的归一化距离粗归一化距离小于的组合C2。同时,追踪只能分配一个检测跟踪,如果他们准确的归一化距离小于C1。看到距离函数用于跟踪过滤器(例如,trackingCKFtrackingEKF距离计算的解释。

小贴士:

  • 增加的价值C2如果有组合的跟踪和检测,但不应计算作业。如果降低成本计算需要太多时间。

  • 增加的价值C1如果有检测,但不应该分配给足迹。减少它如果有检测分配给跟踪他们不应该分配给(太远)。

最大数量的块可以保持跟踪,指定为一个正整数。

最大数量的传感器,块过程中,可以指定为一个正整数。这个值应大于或等于最高SensorIndex输入的值检测输入端口。

按顺序处理,测量指定为终止,忽视,或Retrodiction。每个检测都有一个关联的时间戳,td跟踪器块都有它自己的时间戳,tt在每次调用更新。跟踪器块作为OOSM如果认为测量td<tt

当你指定的参数为:

  • 终止——块停止运行时遇到乱序执行测量。

  • 忽视——块忽略任何按顺序测量并继续运行。

  • Retrodiction——块使用retrodiction算法更新追踪通过忽视OOSM,更新现有的跟踪,或创建新的使用OOSM跟踪。您必须指定一个过滤器的初始化函数,返回一个trackingKFtrackingEKF对象过滤器的初始化函数参数。

如果指定这个参数Retrodiction,跟踪处理OOSM遵循这些步骤:

  • 如果OOSM时间戳超出了跟踪历史(指定的最大数量的OOSM步骤参数)保持跟踪,跟踪器忽略了OOSM。

  • 如果OOSM时间戳在跟踪维护的历史追踪,追踪首先retrodicts现有跟踪OOSM时。然后,追踪全球最近邻算法适用于试着将OOSM任何retrodicted的踪迹。

    • 如果跟踪成功的同事OOSM retrodicted跟踪,然后使用OOSM追踪更新retrodicted跟踪通过应用retro-correction算法获得当前,跟踪纠正。

    • 如果追踪者不能把OOSM retrodicted跟踪,然后跟踪创建一个新的基于OOSM跟踪和预测跟踪当前时间。

为更多的细节在retrodiction retro-correction算法,明白了Retrodiction和Retro-Correction

按顺序测量的最大数量(OOSMs)步骤,指定为一个正整数。

增加该参数的值需要更多的内存,但允许您调用跟踪和OOSMs块更大的延迟相对于当块上次更新的时间戳。同时,随着延迟的增加,OOSM的影响当前状态的跟踪了。该参数的推荐值3

依赖关系

要启用该参数,设置按顺序测量数据处理参数Retrodiction

指定的参数跟踪状态参考系作为一个结构或一个结构数组。块传递这个参数的值StateParameters字段生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。

例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)米,其速度是起源(2 2 0)米每秒的场景。

字段名 价值
框架 “矩形”
位置 (10 10 0)
速度 (2 2 0)

你可以通过更新轨道状态参数状态参数通过选择输入端口随着时间的推移,更新跟踪状态参数参数。

数据类型:结构体

选择要启用该参数的输入端口通过跟踪状态参数状态参数输入端口。

  • 解释执行——使用MATLAB模拟模型解释器。这个选项可以缩短启动时间。在解释执行模式,你可以调试的源代码。

  • 代码生成使用生成的C代码,模拟模型。第一次运行仿真,仿真软件生成C代码块。金宝app后续模拟的C代码重用,只要不改变模型。这个选项需要额外的启动时间。

跟踪逻辑

确认和删除逻辑类型,选为历史分数

  • 历史——跟踪确认和删除是基于轨道的次数已经分配给一个检测的最新跟踪更新。

  • 分数-跟踪确认和删除基于对数似跟踪分数。一个高分意味着更有可能是有效的。低分数意味着更有可能是一个假警报。

历史逻辑,跟踪确认阈值指定为一个实值向量的正整数1×2(mn)。至少跟踪确认是否收到检测在过去N更新。

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑历史

历史记录删除阈值逻辑,指定为一个实值向量的正整数1×2[P Q]。如果没有分配给任何确认跟踪检测P次在过去跟踪更新,然后删除。

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑历史

分数跟踪确认阈值逻辑,指定为一个实正的标量。跟踪确认,如果它的分数至少高达确认阈值。

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

跟踪分数逻辑删除阈值,指定为负的标量。记录被删除,如果它的分数至少降低了阈值的最大跟踪分数。

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

检测概率用于跟踪分数,指定为一个积极的标量(0,1)。

例子:0.5

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

假警报的概率用于跟踪分数,指定为一个标量(0,1)。

例子:1 e-5

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

传感器的体积检测本,指定为一个积极的标量。例如,如果一个雷达产生4 - d测量,包括方位、仰角、范围、和范围,定义的4 d体积是雷达角度波束宽度,本宽度范围,数据与本宽度。体积是用于计算跟踪分数时初始化和更新一个跟踪。

例子:1.5

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

新线路的速度单位体积,指定为一个积极的标量。新线路的速度计算中使用跟踪分数在跟踪初始化。

例子:2.5

依赖关系

要启用该参数,设置类型的跟踪确认和删除逻辑分数

端口设置

源预测时间,指定为输入端口汽车。选择输入端口通过输入一个更新时间预测的时间输入端口。否则,由仿真软件仿真时钟管理决定了更新的时间。金宝app

选中此复选框后,可以通过使用成本的输入矩阵成本矩阵输入端口。

选中此复选框来启用的可检测追踪id输入端口。

选中此复选框后,可以初步的输出跟踪通过试探性的跟踪输出端口。

选中此复选框后,可以使所有的输出跟踪通过所有的歌曲输出端口。

选中此复选框后,可以使信息通过输出端口进行分析信息输出端口。

源的输出跟踪总线名称,指定为:

  • 汽车——块自动创建一个输出跟踪总线名称。

  • 财产——指定输出跟踪总线名称使用指定一个输出总线名称参数。

源输出的信息总线名称指定为这些选项之一:

  • 汽车——块自动创建一个输出信息总线名称。

  • 财产——指定输出信息总线名称使用指定一个输出总线名称参数。

算法

全部展开

扩展功能

介绍了R2019b