主要内容

Track-Oriented Multi-Hypothesis追踪

Track-Oriented Multi-Hypothesis追踪

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

  • Track-Oriented Multi-Hypothesis追踪块

描述

Track-Oriented Multi-Hypothesis追踪块处理来自多个传感器的多目标的检测。确认,追踪块初始化预测,纠正和删除的痕迹。跟踪器的输入块生成的检测报告objectDetection,fusionRadarSensor,irSensor,或sonarSensor对象。跟踪器块估计状态向量和状态向量的协方差矩阵为每一个轨道。跟踪器分配检测基于track-oriented, multi-hypothesis方法。

任何新的追踪从一开始试探性的状态。如果足够的检测是分配给一个试探性的轨道,它的状态改变确认。如果发现已经有一个已知的分类(ObjectClassID现场返回的跟踪是零),立即跟踪确认。当跟踪确认,多目标跟踪器认为代表一个物理对象的跟踪。如果检测不分配给跟踪在一个指定的数量的更新,删除。如何追踪功能的概述,请参阅算法

港口

输入

全部展开

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

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

检测结构的字段有:

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

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

请注意

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

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

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

依赖关系

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

成本矩阵,指定为一个实值N——- - - - - -矩阵,N分支机构的数量和吗是当前检测的数量。

成本矩阵的行必须位于同一个订单列表的分支。分支是有序的分支机构,因为他们出现在列表中所有分支之前调用的输出端口。列对应的检测。

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

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

依赖关系

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

检测部门id,指定为一个实值1的向量或2矩阵。可检测的传感器会检测分支分支。矩阵的第一列包含一个分支id列表,传感器可检测报告。可选的第二列允许您为每个分支添加检测概率。分支中列出所有分支之前调用的输出。

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

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

依赖关系

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

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

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

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

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

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

依赖关系

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

输出

全部展开

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

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

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

跟踪确认如果它满足阈值中指定确认阈值以下参数跟踪逻辑选项卡。

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

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

依赖关系

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

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

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

依赖关系

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

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

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

描述
OOSMDetectionIndices

按顺序的指标测量

BranchIDsAtStepBeginning

分支机构IDs当更新开始。

CostMatrix

成本分配矩阵。

作业

返回的任务assignTOMHT函数。

UnassignedTracks

从追踪id返回的未赋值的分支。

UnassignedDetections

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

InitialBranchHistory

分支历史分支和后修剪。

InitialBranchScores

修剪之前分公司得分。

KeptBranchHistory

最初的修剪后分支历史。

KeptBranchScores

分支初始修剪后得分。

集群

逻辑阵列分支映射到集群。分支机构属于同一集群如果他们分享检测历史或属于同一轨道直接或通过其他分支。

TrackIncompatibility

分支不相容矩阵。的(,j)如果元素是如此th和jth分支的历史或共享检测属于同一轨道。

GlobalHypotheses

逻辑分支全球假设矩阵映射。兼容分支可以属于相同的假设。

GlobalHypScores 全球假说的总分。
PrunedBranches

逻辑阵列的分支pruneTrackBranches函数决定修剪。

GlobalBranchProbabilities

全球在全球的每个分支现有概率假设。

BranchesDeletedByPruning

删除分支的追踪。

BranchIDsAtStepEnd

更新结束后分支id。

依赖关系

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

返回的所有分支,作为一个包含MATLAB仿真软件总线结构金宝app。

分支结构的字段是一样的轨道结构

依赖关系

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

参数

全部展开

跟踪管理

独特的跟踪标识符,指定为一个非负整数。这个参数的传递SourceIndex在跟踪输出,区分来自不同的追踪器的跟踪multiple-tracker系统。您必须指定这个属性是一个正整数使用的跟踪输出作为输入trackFuser对象。

例子: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支持功能。金宝app例如:

类型initcvekf

阈值分配检测跟踪,指定为一个积极的标量,1×3向量引入积极的价值观,C1,C2,C3),或者a1-by-4向量引入积极的价值观,C1,C2,C3,C4]。如果指定为一个标量,指定的值,瓦尔将扩展到(0.3,0.7,1在f)*瓦尔。如果指定为(C1,C2,C3),它将扩大C1,C2,C3,在f]。

阈值控制(1)赋值的检测跟踪,(2)创建一个新的分支从检测,和(3)创建一个新的分支未赋值的跟踪。阈值必须满足:C1< =C2< =C3< =C4

  • C1定义了一个距离,如果跟踪具有比分配较低的检测距离C1,跟踪不再被认为是未赋值的,不创建一个未赋值的跟踪分支。

  • C2定义了一个距离,这样如果一个检测被分配给一个较低的轨道距离比C2,不再被认为是未赋值的检测,不创建一个新的分支。

  • C3定义了分配的最大距离检测跟踪。

  • C4定义了组合的跟踪和检测准确执行标准化的成本核算。最初,跟踪执行规范化的粗估计所有的跟踪和检测之间的距离。跟踪器只计算准确的归一化距离粗归一化距离小于的组合C4

小贴士:

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

  • 增加的值C1C2有助于控制跟踪创建分支的数量。然而,这样做减少了数量的分支(假设)每个记录都有。

  • 增加的价值C4如果有组合的跟踪和检测,但不应计算作业。如果降低成本计算花费的时间太长了。

数据类型:|

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

最大数量的传感器可以连接到追踪,指定为一个正整数。MaxNumSensors必须大于或等于最大的价值SensorIndex发现在所有检测用于更新追踪。SensorIndex是一个属性的吗objectDetection对象。块的MaxNumSensors属性决定了有多少套ObjectAttributes每个输出跟踪领域。

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

当参数被指定为:

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

  • 忽视——块忽略任何乱序执行测量,并继续运行。

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

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

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

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

数据类型:结构体

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

跟踪输出方法,指定为“跟踪”,“假设”,或“集群”

  • “跟踪”——输出每个跟踪基于其的质心跟踪分支。

  • “假设”——输出分支,是在特定的假设。如果您选择这个选项,假设列表输出使用HypothesesToOutput财产。

  • “集群”——输出每个集群的重心。类似于“跟踪”输出,但包括所有跟踪在一个集群中。

数据类型:字符

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

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

假设管理

最大数量的跟踪维护的假设在模棱两可的情况下,指定为一个正整数。增加计算负载较大的值。

例子:10

数据类型:|

最大数量的跟踪分支(假设)允许为每个轨道,指定为一个正整数。增加计算负载较大的值。

数据类型:|

最大数量的扫描中维护分支历史,指定为一个正整数。追踪历史扫描的数量通常从2到6。增加计算负载较大的值。

数据类型:|

最低概率需要保持跟踪分支,指定为一个积极的标量小于1。任何跟踪概率低于指定的概率是修剪。典型值是0.001到0.005。

例子:.003

数据类型:|

N-scan修剪方法,指定为“没有”“假设”。在N-scan修剪,修剪枝条,属于同一跟踪(删除),如果在N-scans历史,他们反驳最有可能的分支相同的轨道。最有可能的分支被定义为两种方式:

  • “没有”——不执行N-scan修剪。

  • “假设”——所选择的分支是最可能的假设。

例子:“假设”

跟踪逻辑

最低分数要求确认,指定为一个积极的标量。任何跟踪得分高于该阈值的证实。

例子:12

数据类型:|

最高得分下降轨道之前删除,指定为一个标量。任何跟踪得分下降超过这个参数最大分数被删除。删除阈值影响的概率一场虚惊。

例子:1

数据类型:|

检测概率,指定为一个积极的标量在0和1之间。此属性用于计算分数。

例子:0.5

数据类型:|

假警报的概率,指定为一个标量。此属性用于计算分数。

例子:1 e-5

数据类型:|

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

例子:1.5

数据类型:|

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

例子:2.5

数据类型:|

端口设置

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

选择要启用该参数的输入矩阵通过使用成本成本矩阵输入端口。

选择启用该参数检测部门id输入端口。

选择要启用该参数的输出通过试探性的足迹试探性的跟踪输出端口。

选择要启用该参数的输出跟踪通过所有的歌曲输出端口。

选择要启用该参数的输出端口通过分析信息信息输出端口。

选择要启用该参数的输出所有的分支机构通过所有分支输出端口。

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

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

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

源输出的信息总线名称指定为:

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

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

依赖关系

启用此参数,端口设置选项卡上,选择使信息输出

算法

全部展开

引用

[1]Werthmann, j . R。“一步一步地描述计算有效版本的多假设跟踪。”In国际社会对光学和光子学卷,1698年,第301 - 228页,1992年。

[2]Blackman, S。,r . Popoli。现代跟踪系统的设计与分析。Artech房子雷达图书馆,波士顿,1999年。

扩展功能

介绍了R2020a