主要内容

基于网格的多目标跟踪

基于网格的多目标跟踪器使用随机有限集的方法

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

  • 基于网格的多目标跟踪

描述

基于网格的多目标跟踪是一个跟踪器能够处理来自多个传感器的多个目标的探测二维环境。跟踪器跟踪动态对象在一个自治系统使用高分辨率传感器数据点云和雷达探测等。跟踪器使用随机有限集(RFS)方法为基础,结合Dempster-Shafer近似[1],估计网格的动态特性的细胞。从网格中提取对象,追踪使用cell-to-track协会计划[2]。更多细节,请参阅算法

港口

输入

全部展开

传感器数据,指定为包含一个MATLAB仿真软件总线结构。金宝app该结构包含这些字段:

描述
NumSensors 传感器的数量,指定为一个非负整数。
SensorData 传感器的传感器数据,指定为数组数据结构。第一个NumSensors数组的元素实际检测。

每一个SensorData结构包含这些字段:

描述
时间 测量时间,指定为负的标量。
SensorIndex 传感器的惟一标识符,指定为一个正整数。
测量 测量对象,指定一个K——- - - - - -矩阵。K每个测量和维度的是测量的数量。每个测量定义的位置方面检测在一个矩形或球形框架。
MeasurementParameters

测量参数,指定为一个结构描述粒子状态的转换测量。看到MeasurementParameter财产的objectDetection对象的细节设置这个字段。

NumMeasurements 数量的测量或数量的点云的点传感器检测,指定为一个正整数。

请注意

时间领域的每个结构都必须小于或等于当前调用的时间。时间必须大于更新时间前面调用中指定的块。

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

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

依赖关系

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

跟踪传感器的配置,指定为包含一个MATLAB仿真软件总线结构。金宝app该结构包含这些字段:

描述
NumConfigurations 数量的传感器配置,指定为一个正整数。
配置

传感器配置的传感器配置,指定为数组结构。第一个NumConfigurations数组的元素实际配置。字段名称和定义必须对应名称和值,分别的属性trackingSensorConfiguration对象。跟踪器忽略了FilterInitializationFcn,SensorTransformFcn,MaxNumDetsPerObject字段,即使你指定他们的结构。

如果你使用一个雷达数据生成器(雷达工具箱)块的跟踪系统,您可以直接指定这个值通过使用配置的输出雷达数据生成器(雷达工具箱)块。

依赖关系

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

跟踪状态参数,指定为包含一个MATLAB仿真软件总线结构。金宝app块使用这种结构的价值StateParameters字段生成的跟踪。您可以使用这些参数来定义的参考系块报告追踪以及其他可取的属性生成的痕迹。

例如,您可以使用这些字段来定义一个矩形结构参考系原点位置(10 10 0)米和起源的速度(2 2 0)米每秒,对场景框架。

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

依赖关系

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

输出

全部展开

确认跟踪更新为当前时间,返回包含MATLAB作为仿真软件总线结构。金宝app该结构包含这些字段:

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

轨道结构的字段所示轨道结构。每个轨道的国家形式遵循规定的形式运动模型的跟踪参数。

初步跟踪更新为当前时间,返回包含MATLAB作为仿真软件总线结构。金宝app初步证实了之前一个跟踪。

该结构包含这些字段:

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

轨道结构的字段所示轨道结构。每个轨道的国家形式遵循规定的形式运动模型的跟踪参数。

依赖关系

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

确认列表和初步跟踪更新为当前时间,返回包含MATLAB作为仿真软件总线结构。金宝app

该结构包含这些字段:

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

轨道结构的字段所示轨道结构。每个轨道的国家形式遵循规定的形式运动模型的跟踪参数。

依赖关系

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

参数

全部展开

跟踪器配置

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

例子:1

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

指定的最大数量的传感器可以连接到追踪一个正整数。MaxNumSensors必须大于或等于最大的价值SensorIndex发现在所有的传感器数据用于更新。

数据类型:|

指定跟踪传感器的配置作为一个结构或一个结构数组。这个参数提供了跟踪传感器的配置信息,例如传感器检测范围和传感器分辨率,追踪。您必须指定这些字段为每个结构:

字段名 格式
SensorIndex

传感器的惟一标识符,指定为一个正整数。

IsValidTime

显示传感器数据是否应该被用来更新追踪,指定为真正的

SensorTransformParameters

参数的传感器变换函数,指定为一个p有效测量参数的数组结构。p是传感器的数量。每个结构应该包含字段中使用相同的名称作为测量参数测量功能,如cvmeas函数。

第一个结构必须从自治系统描述转换传感器坐标。随后从自治系统结构描述转换跟踪坐标系。如果你只提供一个结构,实行跟踪执行跟踪坐标系的自治系统。

SensorLimits

传感器检测范围,指定为一个2×2的矩阵。第一行指定上下极限的方位角度。第二行指定上下极限探测范围的米。

每个结构的其他允许字段名称对应的属性名trackingSensorConfiguration对象。跟踪器忽略了FilterInitializationFcn,SensorTransformFcn,MaxNumDetsPerObject字段,即使你指定他们的结构。

你可以通过使用更新配置传感器配置选择后输入端口随着时间的推移,更新传感器配置参数。

选择启用该参数传感器配置输入端口。这使您能够更新跟踪传感器配置在模拟。

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

例如,您可以使用这些字段来定义一个矩形结构参考系原点位置(10 10 0)米和起源的速度(2 2 0)米每秒的场景。

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

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

数据类型:结构体

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

选择要启用该参数使用GPU的估计动态网格地图。支持GPU计算需要并行计算工具箱™。

指定网格在当地的x维坐标作为一个积极的标量,米。

指定网格在当地的y维坐标作为一个积极的标量,米。

指定网格的分辨率作为一个积极的标量。决议表示细胞的数量每米网格对网格的x和y方向。

指定网格的起源在当地坐标系作为标量的双元素向量,在米。

从这些选项选择仿真运行的类型:

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

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

粒子滤波

选择跟踪的运动模型常速,恒定的加速度,或constant-turnrate

每个运动模型的粒子状态和对象状态是:

运动模型 粒子状态 对象状态
常速 [x;vx;y;v) [x;vx;y;v;偏航;L;W)
恒定的加速度 [x;vx;斧头;y;v;ay] [x;vx;斧头;y;v;ay;偏航;L;W)
constant-turn-rate [x;vx;y;v;w) [x;vx;y;v;w;偏航;L;W)

地点:

  • x——对象的位置在x方向上当地的跟踪框架(m)

  • y——对象的位置在y方向上当地的跟踪框架(m)

  • vx——对象的速度在x方向上当地的跟踪框架(米/秒)

  • v——当地的对象在y方向上的速度跟踪框架(米/秒)

  • 斧头在x方向上,物体的加速度当地的跟踪框架(m / s2)

  • ——在y方向上的加速度对象的当地的跟踪框架(m / s2)

  • w-偏航率在当地跟踪对象的框架(度/秒)

  • 偏航-偏航角的对象在本地跟踪框架(度)

  • l对象的长度(米)

  • W对象的宽度(米)

指定对象的最小和最大速度为2×2矩阵m / s的标量。第一行指定上下方向速度限制和第二行指定上下在y方向上的速度限制。跟踪器使用这些限制样本新粒子使用均匀分布在网格中。

选择该参数模型过程噪声作为添加剂。当选择、过程噪声直接添加到状态向量。否则,噪音是融入运动模型。

指定过程噪声协方差作为N——- - - - - -N矩阵。该参数指定粒子的过程噪声的位置和几何中心的目标。

  • 如果您选择了使添加剂过程噪声参数,这个过程噪声将直接添加到预测模型。在这种情况下,N等于粒子状态的尺寸吗运动模型的跟踪参数。

  • 如果你不选择使添加剂过程噪声噪声参数,定义流程根据选定的运动模型。模型将过程噪声添加到高阶术语中,加速度等常速模型。

    MotionModel 数量条款加速度 术语的意义
    常速 2 加速度在x - y方向
    恒定的加速度 2 混蛋在x - y方向
    constant-turn-rate 3 加速度在x - y方向,以及角加速度

例子:[1.0 - 0.05;0.05 - 2)

指定每个网格的持久的粒子数量为一个正整数。更多的粒子可以提高评估质量,但会增加计算成本。

指定每个时间步的新生(初始化)粒子数作为一个正整数。跟踪确定这些新生的粒子的位置通过使用预测之间的不匹配和更新后的居住质量和信念出生在一个单元中每一步的概率参数。这个参数的合理值大约是指定的粒子数的10%持久的粒子数参数。

指定目标的概率出生在一个单元中每一步的标量范围(0,1)。诞生概率的概率控制新粒子生成细胞。

例子:1的军医

单位时间内指定目标的死亡率是一个积极的标量。死亡率表明粒子或目标的可能性消失后,每个时间步。死亡率(Pd)影响生存概率(P年代)组件在连续时间的步骤为:

P 年代 = ( 1 P d ) Δ T

在哪里ΔT是时间的数量的步骤。

例子:1的军医

指定对自由空间预测作为标量的信心。在预测阶段的追踪,这个参数可以减少细胞的质量信念的“免费”(无人)状态为:

k | k 1 ( F ) = α Δ T k 1 ( F )

在哪里k是时间步指数,是信念,α表示信心的因素在自由空间预测,然后呢ΔT是时间步。

选择生成随机数种子的方法可重复的,不可重复的,或指定种子

  • 可重复的——块每次都使用相同的随机种子。

  • 不可重复的——块每次使用不同的随机种子。

  • 指定种子——指定块使用随机种子最初的种子参数。

指定的初始种子随机块作为一个非负整数。

依赖关系

要启用该参数,选择随机数生成参数,指定种子

跟踪管理

指定用于新对象提取的聚类方法DBSCAN自定义

  • DBSCAN——集群使用未赋值的动态网格细胞density-based空间聚类的应用程序与噪声(DBSCAN)算法。您可以配置指定的DBSCAN算法阈值DBSCAN聚类最小数量的细胞对DBSCAN每个集群参数。

  • 自定义——集群未赋值的动态网格细胞使用自定义聚类函数中指定“自定义”聚类函数的名称参数。

指定的门槛DBSCAN聚类作为一个积极的标量。

依赖关系

要启用该参数,选择为新对象提取聚类方法参数,DBSCAN

指定DBSCAN的最小数量的细胞每个集群作为一个正整数。这个参数是否影响一个点是一个核心的DBSCAN算法。

依赖关系

要启用该参数,选择为新对象提取聚类方法参数,DBSCAN

为集群指定自定义函数的名称未赋值的网格细胞作为函数名。函数必须支持这个签名:金宝app

函数指数= myFunction (dynamicGridCells)
在哪里dynamicGridCells是一个结构,定义了一组网格细胞初始化跟踪。它必须有这些字段:

描述
宽度 细胞的宽度,指定为一个积极的标量。
GridIndices 网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定了方向网格索引,第二个元素指定在y方向上的网格索引。
状态 网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
StateCovariance 网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
OccupancyMass 入住率信仰细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。
FreeMass 自由信念细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。

自定义函数必须返回指数作为一个N元向量指标,定义了集群指数为每个动态网格单元。

依赖关系

要启用该参数,选择为新对象提取聚类方法参数,自定义

指定函数用于初始化新铁轨作为函数名。初始化函数启动轨道从一组动态网格细胞。

默认的初始化函数合并高斯估计细胞来描述对象的状态。对象的定位与方向的平均速度。取向的定义,对象的长度和宽度提取使用几何属性的细胞。块计算的不确定性在长度、宽度和方向使用线性近似估计。

如果您选择使用自己的初始化函数,该函数必须支持这个签名:金宝app

函数跟踪= myFunction (dynamicGridCells)
在哪里dynamicGridCells是一个结构,定义了一组网格细胞初始化跟踪。它有这些字段:

描述
宽度 细胞的宽度,指定为一个积极的标量。
GridIndices 网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定了方向网格索引,第二个元素指定在y方向上的网格索引。
状态 网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
StateCovariance 网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
OccupancyMass 入住率信仰细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。
FreeMass 自由信念细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。

自定义函数必须返回跟踪作为一个objectTrack对象或一个结构和字段名称对应的属性名objectTrack对象。的尺寸必须一样的状态维度中指定运动模型的跟踪参数。

例子:myFunction

指定函数用于更新现有的追踪使用其相关的动态网格细胞作为函数名。

默认更新功能更新状态StateCovariance记录的字段使用的新的估计动态网格细胞与跟踪。更新过程是类似的初始化过程从网格单元集函数来初始化跟踪参数。追踪不适用过滤状态和状态协方差。

如果你选择定制自己的更新函数,该函数必须支持这个签名:金宝app

函数updatedTrack = TrackUpdateFcn (predictedTrack dynamicGridCells)
地点:

  • predictedTrack的预测跟踪对象,指定为一个吗objectTrack对象。

  • dynamicGridCells是一个结构,定义了一组动态网格细胞与跟踪。结构有这些字段:

    描述
    宽度 细胞的宽度,指定为一个积极的标量。
    GridIndices 网格细胞指数,作为指定N2数组,N未赋值的细胞的数量。第一个元素指定了方向网格索引,第二个元素指定在y方向上的网格索引。
    状态 网格细胞、指定为一个P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
    StateCovariance 网格细胞状态协方差,指定为一个P——- - - - - -P——- - - - - -N标量、数组P国家和维数N未赋值的细胞的数量。
    OccupancyMass 入住率信仰细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。
    FreeMass 自由信念细胞的质量,作为一个指定N元向量,N未赋值的细胞的数量。

  • updatedTrack是更新后的跟踪,作为一个返回objectTrack对象或结构字段名称,对应的属性名objectTrack对象。

例子:TrackUpdateFcn

指定分配动态网格细胞追踪的阈值作为一个积极的标量。动态网格细胞只能关联一个轨道的距离(由负对数似)跟踪小于该参数的值。

  • 增加阈值,如果一个动态的细胞没有被分配到一个跟踪应该分配给它。

  • 降低阈值,如果是动态的细胞被分配给一个追踪他们不应该分配给。

例子:18.1

指定阈值跟踪确认1×2向量的正整数(mn)。跟踪确认如果它被分配给动态网格细胞至少最后的更新N更新。

为跟踪删除指定阈值作为一个向量的正整数1×2[P Q]。记录被删除,如果没有分配给任何动态网格单元至少P最后的更新更新。

例子:0.01

数据类型:|

可视化

选择这个参数来启用动态网格地图可视化。如果当前轴存在,块显示当前轴动态地图。否则,块创建一个坐标轴显示地图。

选择这个参数来启用动态网格地图上绘制速度。

选择要启用该参数更新从以前的地图。选中时,块地块地图通过轻量级更新图中前面的地图。否则,该块土地图每次新地图。

选择这个参数来启用倒在地图上颜色。选中时,块地块空间在白色和黑色占据空间。否则,该块土地空间在黑色和白色的占用空间。

端口设置

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

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

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

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

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

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

算法

全部展开

引用

[1]的主犯,D。路透社,S。托姆,M。、元、T。,Krehl, G., Maile, M., Gern, A. and Dietmayer, K., 2018. A random finite set approach for dynamic occupancy grid maps with real-time application.国际机器人研究杂志》上,37 (8),pp.841 - 866。

[2]),Sascha Georg Tanzmeister, Dirk Wollherr。“基于证据的对象跟踪动态占用网格在城市环境中。”2017年IEEE智能车辆研讨会(IV),页1064 - 1070。IEEE 2017。

扩展功能

版本历史

介绍了R2021b