概率假设密度(博士)追踪
库:
传感器融合和跟踪工具箱/多目标跟踪算法
描述
的概率假设密度(博士)追踪块创建并管理静止和移动对象的轨迹在多传感器环境中。跟踪器使用多目标概率假设密度滤波来估计状态的点目标和扩展对象。博士是由概率密度函数的加权求和,提取和山峰博士代表可能的目标。看到算法为更多的细节。
例子
港口
输入
检测- - - - - -检测列表
万博1manbetx®总线包含MATLAB®结构
检测列表,指定为包含一个MATLAB仿真软件总线结构。万博1manbetx结构形式:
场 | 描述 | 类型 |
---|---|---|
NumDetections |
数量的检测 | 整数。 |
检测 |
对象检测 | 数组对象检测结构。第一个NumDetections 这些检测都是实际的检测。 |
等领域的检测
是:
场 | 描述 | 类型 |
---|---|---|
时间 |
测量时间 | 单 或双 |
测量 |
对象的测量 | 单 或双 |
MeasurementNoise |
测量噪声协方差矩阵 | 单 或双 |
SensorIndex |
传感器的惟一ID | 单 或双 |
ObjectClassID |
对象分类ID | 单 或双 |
MeasurementParameters |
参数初始化函数所使用的跟踪滤波器 | 万博1manbetx仿真软件总线 |
ObjectAttributes |
额外的信息传递给跟踪 | 万博1manbetx仿真软件总线 |
看到objectDetection
这些字段的详细解释。
请注意
包含一个对象检测结构时间
字段。每个对象的时间标记检测的时间必须小于或等于当前块的调用。时间标记也必须大于之前的调用中指定的更新时间。
预测的时间- - - - - -跟踪更新的时间
真正的标量
跟踪更新时间,指定为一个真正的标量在几秒钟内。跟踪更新所有的追踪。更新时间与每个调用块必须增加。单位是秒。更新时间必须至少与最大的一样大时间
在指定的检测输入端口。
如果没有启用这个港口,由仿真软件仿真时钟管理决定了更新的时间。万博1manbetx
依赖关系
要启用这个端口,端口设置选项卡,设置预测时间源来输入端口
。
传感器配置- - - - - -配置跟踪传感器
万博1manbetx包含MATLAB仿真软件总线结构
配置跟踪传感器,指定为一个包含MATLAB的仿真软件总线结构。万博1manbetx结构形式:
场 | 描述 | 类型 |
---|---|---|
NumConfigurations |
数量的传感器配置 | 整数。 |
配置 |
传感器配置 | 一系列的传感器配置结构。第一个 如果你使用一个雷达数据生成器(雷达工具箱)块的跟踪系统,您可以直接指定这个值通过使用配置的输出雷达数据生成器(雷达工具箱)块。 |
依赖关系
要启用这个端口,跟踪器选项卡中,选择随着时间的推移,更新传感器配置参数。
状态参数- - - - - -跟踪状态参数
万博1manbetx包含MATLAB仿真软件总线结构
跟踪状态参数,指定为包含一个MATLAB仿真软件总线结构。万博1manbetx结构形式:
场 | 描述 |
---|---|
NumParameters |
数量的非默认状态参数,指定为一个非负整数 |
参数 |
状态参数的数组结构 |
块使用的价值参数
场的StateParameters
字段生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。
例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)
米,其速度是起源(2 2 0)
米每秒的场景。
字段名 | 价值 |
---|---|
框架 |
“矩形” |
位置 |
(10 10 0) |
速度 |
(2 2 0) |
依赖关系
要启用这个端口,跟踪器配置选项卡中,选择随着时间的推移,更新跟踪状态参数参数。
输出
确认跟踪- - - - - -确认跟踪
万博1manbetx包含MATLAB仿真软件总线结构
跟踪确认,返回包含MATLAB作为仿真软件总线结构。万博1manbetx结构形式:
场 | 描述 |
---|---|
NumTracks |
数量的跟踪。 |
跟踪 |
轨道结构的阵列的长度设定的最大数量的跟踪参数。只有第一个NumTracks 这些都是实际的跟踪。 |
轨道结构的字段所示轨道结构。
试探性的跟踪- - - - - -试探性的跟踪
万博1manbetx包含MATLAB仿真软件总线结构
试探性的痕迹,返回包含MATLAB作为仿真软件总线结构。万博1manbetx初步证实了之前一个跟踪。这个端口的输出具有相同形式的输出确认跟踪端口。
依赖关系
要启用这个端口,端口设置选项卡上,选择使初步跟踪输出。
所有的歌曲- - - - - -确认和试探性的跟踪
万博1manbetx包含MATLAB仿真软件总线结构
确认列表并初步跟踪相结合,作为一个包含MATLAB仿真软件总线结构返回。万博1manbetx这个端口的输出具有相同形式的输出确认跟踪端口。
依赖关系
要启用这个端口,端口设置选项卡上,选择使所有跟踪输出。
信息- - - - - -附加信息分析跟踪更新
万博1manbetx包含MATLAB仿真软件总线结构
附加信息分析跟踪更新,返回包含MATLAB作为仿真软件总线结构。万博1manbetx
这个表显示的字段信息结构:
场 | 描述 |
CorrectionOrder |
传感器用于状态估计的顺序调整,返回一个行向量的 |
TrackIDsAtStepBeginning |
追踪id步骤开始时。 |
DeletedTrackIDs |
IDs的痕迹删除步骤。 |
TrackIDsAtStepEnd |
追踪id步骤结束时。 |
SensorAnalysisInfo |
单元阵列传感器的分析信息。 |
的SensorAnalysisInfo
字段可以包括多个传感器信息报告。每一个报告是一个包含这些字段的结构:
场 | 描述 |
SensorIndex |
传感器指数。 |
DetectionCells |
检测细胞,作为一个逻辑返回矩阵。矩阵的每一列代表一个细胞检测。在每一列,如果我th元素是1,那么我th检测属于检测细胞用列。 |
DetectionLikelihoods |
组件之间的关联可能的密度函数和检测细胞,作为一个返回N——- - - - - -P矩阵。N是组件的数量密度函数,然后呢P检测细胞的数量。 |
IsBirthCells |
表明如果检测细胞中列出 |
NumPartitions |
分区的数量。 |
DetectionProbability |
现有的概率跟踪传感器检测到的,作为一个1 -返回N行向量,N是组件的数量密度函数。 |
LabelsBeforeCorrection |
标签的组件的密度函数修正之前,返回1,米b行向量。米b是组件的数量保持在校正前的追踪。向量的每个元素 |
LabelsAfterCorrection |
标签的组件的密度函数修正后,返回1,米一个行向量。米一个是组件的数量保持在校正后的追踪。向量的每个元素 |
WeightsBeforeCorrection |
重量组件的密度函数修正之前,作为一个1 -返回米b行向量。米b是组件的数量保持在校正前的追踪。每个元素的向量中相应的组件的重量 |
WeightsAfterCorrection |
重量组件的密度函数修正后,返回1,米一个行向量。米一个是组件的数量保持在校正后的追踪。每个元素的向量中相应的组件的重量 |
依赖关系
要启用这个端口,端口设置选项卡上,选择使信息输出。
参数
跟踪标识符- - - - - -唯一的跟踪标识符
0
(默认)|非负整数
指定唯一的跟踪标识符是一个非负整数。这个参数的传递SourceIndex
在跟踪输出,区分来自不同的追踪器的跟踪multiple-tracker系统。您必须指定这个属性是一个正整数使用的跟踪输出作为输入进行航迹熔化炉块。
例子:1
检测配分函数- - - - - -函数来检测分割成检测细胞
partitionDetections
(默认)|函数名
函数来检测分割成检测细胞,指定为一个函数的名字。当每个传感器可以报告多个检测每个对象,你必须使用的配分函数。配分函数报告所有可能的分区从一个传感器检测。在每个分区中,检测被分成相互排斥检测细胞,假设每个探测单元属于一个扩展的对象。
您还可以指定自己的检测配分函数。对于指导编写这个函数,您可以检查默认的分区功能的细节,partitionDetections
,使用类型
命令:
类型partitionDetections
例子:myfunction
赋值阈值- - - - - -阈值的选择检测组件初始化
25
(默认)|真正积极的标量
阈值的选择检测组件初始化指定为一个积极的标量。在校正过程中,跟踪计算的可能性之间的联系现有的跟踪和检测细胞。如果协会可能性(由负对数似)检测细胞的所有现有跟踪高于阈值(这意味着检测细胞协会现有轨道)的可能性较低,检测细胞用于初始化新组件的自适应密度诞生。
例子:18.1
数据类型:单
|双
最大数量的传感器- - - - - -最大数量的传感器
20.
(默认)|正整数
最大数量的传感器可以连接到追踪,指定为一个正整数。MaxNumSensors
必须大于或等于最大的价值SensorIndex
发现在所有检测用于更新。
数据类型:单
|双
最大数量的跟踪- - - - - -最大数量的跟踪
1000年
(默认)|正整数
最大数量的跟踪器可以保持跟踪,指定为一个正整数。
数据类型:单
|双
最大数量的组件- - - - - -最大数量的组件
1000年
(默认)|正整数
最大数量的组件的跟踪维护,指定为一个正整数。
数据类型:单
|双
传感器配置- - - - - -配置跟踪传感器
结构(“SensorIndex”1“IsValidTime”,真的)
(默认)| |结构数组
跟踪传感器的配置,指定为一个结构或一个结构数组。这个参数提供了跟踪传感器的配置信息,例如传感器检测范围和传感器分辨率,追踪。每个结构的许用字段名相同的属性名trackingSensorConfiguration
对象。如果你设置MaxDetsPerObject
字段的结构1
跟踪器只创建一个分区,这样一个检测可以分配给每个目标。
您可以通过更新配置传感器配置通过选择输入端口随着时间的推移,更新传感器配置参数。
随着时间的推移,更新传感器配置- - - - - -随着时间的推移,更新传感器配置
从
(默认)|在
选择要启用该参数通过跟踪传感器的输入端口配置传感器配置输入端口。
跟踪状态参数- - - - - -参数跟踪状态的参考系
结构|结构数组
指定的参数跟踪状态参考系作为一个结构或一个结构数组。块传递这个参数的值StateParameters
字段生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。
例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)
米,其速度是起源(2 2 0)
米每秒的场景。
字段名 | 价值 |
---|---|
框架 |
“矩形” |
位置 |
(10 10 0) |
速度 |
(2 2 0) |
你可以通过更新轨道状态参数状态参数通过选择输入端口随着时间的推移,更新跟踪状态参数参数。
数据类型:结构体
随着时间的推移,更新跟踪状态参数- - - - - -随着时间的推移,更新跟踪状态参数
从
(默认)|在
选择要启用该参数的输入端口通过跟踪状态参数状态参数输入端口。
模拟使用- - - - - -类型的模拟运行
解释执行
(默认)|代码生成
从这些选项选择仿真运行的类型:
解释执行
——使用MATLAB模拟模型解释器。这个选项可以缩短启动时间。在解释执行
模式,你可以调试的源代码。代码生成
使用生成的C代码,模拟模型。第一次运行仿真,仿真软件生成C代码块。万博1manbetx后续模拟的C代码重用,只要不改变模型。这个选项需要额外的启动时间。
出生率的新目标- - - - - -出生率的新目标密度
1 e - 3
(默认)|正真正的标量
出生率的新目标密度,指定为一个积极的真正的标量。出生率表示目标的期望值在单位时间内密度补充道。生密度是通过使用创建的FilterInitializationFcn
传感器的配置使用跟踪器。通常,跟踪将组件添加到密度函数在两个方面:
预测出生密度-密度的初始化
FilterInitializationFcn
函数调用时没有输入。出生自适应密度-密度的初始化
FilterInitializationFcn
函数调用时,检测输入。跟踪器选择检测基于对数似协会与当前估计的目标。
的值出生率的新目标参数表示的总和都预测出生出生密度和自适应密度为每一个时间步。
例子:0.01
数据类型:单
|双
死亡率的组件- - - - - -死亡率的组件的密度
1 e-6
(默认)|正真正的标量
死亡率的组件的密度,指定为一个积极的真正的标量。死亡率显示组件的速度消失在一个时间步后的密度。这个等式说明了死亡率(Pd)与生存概率(P年代)的一个组件之间的连续时间步骤:
在哪里ΔT是时间步。
例子:1的军医
数据类型:单
|双
阈值初始化的痕迹- - - - - -阈值初始化的轨道
0.5
(默认)|正真正的标量
阈值初始化一个试探性的轨道,指定为一个积极的真正的标量。如果一个组件的重量高于阈值,贴上一个组件“初步”
跟踪和给定一个TrackID
。
例子:0.45
数据类型:单
|双
阈值进行跟踪确认- - - - - -阈值进行跟踪确认
0.8
(默认)|正真正的标量
阈值进行跟踪确认,指定为一个积极的真正的标量。博士跟踪,跟踪可以有多个组件共享相同TrackID
。如果组件的重量总和初步跟踪确认高于阈值,标记为跟踪状态“确认”
。
例子:0.85
数据类型:单
|双
阈值跟踪删除- - - - - -阈值组件删除
1 e - 3
(默认)|正真正的标量
阈值组件删除指定为一个积极的真正的标量。在博士跟踪,如果一个组件的重量低于删除阈值,组件被删除。
例子:0.01
数据类型:单
|双
阈值组件合并- - - - - -阈值组件合并
25
(默认)|正真正的标量
为组件合并阈值,指定为一个积极的真正的标量。在博士跟踪,如果Kullback-Leibler组件之间的距离相同TrackID
小于合并阈值,那么这些组件合并成一个组件。合并后的新组件的重量等于pre-merged组件的权重的总和。此外,如果合并后的体重高于第一阈值中指定阈值标签管理参数,合并后的重量是截断第一阈值。注意,与组件TrackID
的0
也可以相互融合。
例子:30.
数据类型:单
|双
阈值标签管理- - - - - -阈值标签管理
0.8 (1.1 - 1)
(默认)| 1×3矢量的积极的价值观
标签阈值,指定为1×3向量减少积极的价值观,(C1,C2,C3]。基于该参数,跟踪管理组件的密度使用这些规则:
任何组件的重量高于第一阈值C1减少到C1。
与相同的所有组件
TrackID
如果这些组件之间的最大重量大于C2保存,那么组件的最大重量是保留的TrackID
,而所有其他组件都删除。与相同的所有组件
TrackID
最大的重量,如果比所有这些组件的重量总和大于C3保存,那么组件的最大重量是保留的TrackID
,而所有其他组件都删除。如果条件2和3是满足条件,然后用最大的体重保持组件
TrackID
的标签,而将所有其他组件0
。当这种情况发生时,这意味着一些组件可能代表其他对象。这个过程中保留的可能性这些无限制的组件在未来再提取。
预测时间源- - - - - -源的预测时间
汽车
(默认)|输入端口
源预测时间,指定为输入端口
或汽车
。选择输入端口
通过输入一个更新时间预测的时间输入端口。否则,由仿真软件仿真时钟管理决定了更新的时间。万博1manbetx
使初步跟踪输出- - - - - -使初步跟踪输出端口
从
(默认)|在
选择要启用该参数的输出通过试探性的足迹试探性的跟踪输出端口。
使所有跟踪输出- - - - - -使所有跟踪输出端口
从
(默认)|在
选择该参数,使所有的输出跟踪通过所有的歌曲输出端口。
使信息输出- - - - - -使输出端口进行分析信息
从
(默认)|在
选择要启用该参数通过分析的输出信息信息输出端口。
输出总线名称的来源- - - - - -源的输出跟踪总线名称
汽车
(默认)|财产
源的输出跟踪总线名称,指定为:
汽车
——块自动创建一个输出跟踪总线名称。财产
——指定输出跟踪总线名称使用指定一个输出总线名称参数。
输出信息总线名称的来源- - - - - -输出信息总线名称的来源
汽车
(默认)|财产
源输出的信息总线名称指定为:
汽车
——块自动创建一个输出总线名称信息。财产
——总线名称通过使用指定的输出信息指定输出信息总线名称参数。
依赖关系
启用此参数,端口设置选项卡上,选择使信息输出。
算法
跟踪逻辑流程
博士跟踪器采用iterated-corrector方法更新概率假设密度通过处理顺序检测来自多个传感器的信息。跟踪器的工作流遵循这些步骤:
跟踪各种传感器根据他们的检测报告时间和确定相应的校正。
追踪认为两个不同密度:电流密度和出生密度。的电流密度的密度目标传播前一个时间步。生密度的密度目标将出生在当前时间步。
为每个传感器:
跟踪预测电流密度传感器时间戳使用生存概率计算死亡率和运行时间从过去的预测。
跟踪器将新组件添加到出生密度使用
FilterInitializationFcn
没有输入。这对应于预测出生密度。跟踪创建分区的检测电流传感器使用检测分区功能。每个分区都是一个可能的检测分割成检测细胞为每个对象。如果指定的传感器配置结构
MaxNumDetsPerObject
作为1
,跟踪生成只有一个分区,每个检测都是一个独立的单元。每个检测细胞评估对电流密度和对数似值计算为每个细胞检测。
利用对数似值,追踪计算每个分区的概率。
跟踪纠正当前使用每个检测细胞密度。
检测细胞高负对数似(大于分配阈值),跟踪器将新组件添加到出生密度使用
FilterInitializationFcn
参数。这对应于自适应密度诞生。
纠正每个传感器的电流密度后,追踪出生密度增加电流密度。跟踪器确保可能的目标的数量密度等于诞生
出生率
×dT,在那里dT是时间步。电流密度是预测当前更新时间。
概率假设密度
概率假设密度(博士)是一个函数定义的状态跟踪系统,和它的价值在一个状态被定义为预期的目标状态空间体积单位的数量。博士通常近似的组件,每个组件和对应于估计的状态。博士的常用近似高斯混合,SMC混合物,GGIW混合物,GIW混合物。
要理解博士,以高斯混合为一个例子。高斯混合可以用
在哪里米组件的总数,N(x|米我,P我)是一个正态分布的意思米我和协方差P我,w我的重量吗我组件。重量w我表示数量,可分数所代表的目标我组件。集成的D(x)对非整数地区结果的预期目标。集成D(x)在整个状态空间结果的总预期目标(∑w我),因为一个正态分布的集成在整个状态空间是1。的x坐标的山峰(本地最大值)D(x)代表了最有可能的目标。
例如,下图展示了一个博士给出的函数D(x)=N(x|−4,2)+ 0.5N(x| 3、0.4)+ 0.5N(x| 4,0.4)。这些组件的重量总和是2,这意味着两个目标可能存在。的山峰D(x),这些目标的可能位置x=−4,x= 3,x= 4。注意最后两个组件是非常接近对方,这意味着这两个组件可能归因于一个对象。
轨道结构
轨道结构的字段有:
场 | 定义 |
---|---|
SourceIndex |
独特的资料索引用来区分多个追踪环境中追踪来源。 |
TrackID |
独特的跟踪标识用来区分多个轨道。 |
BranchID |
独特的标识符用来区分多个轨道分支跟踪分支。 |
UpdateTime |
时间的跟踪更新。单位是秒。 |
年龄 |
次数的活了下来。 |
状态 |
值状态向量的更新时间。 |
StateCovariance |
协方差矩阵不确定性。 |
TrackLogic |
确认和删除逻辑类型,返回“历史” 或“分数” 。 |
TrackLogicState |
的当前状态跟踪逻辑类型。基于类型的逻辑
|
IsConfirmed |
确认状态。这个字段是真正的 如果轨道被证实是一个真正的目标。 |
IsCoasted |
滑行状态。这个字段是真正的 如果没有新的更新跟踪检测。 |
IsSelfReported |
表明如果跟踪报告的追踪。这个字段用于跟踪融合环境。它返回 |
ObjectClassID |
整数值代表对象分类。的值0 代表了一个未知的分类。非零分类仅适用于跟踪确认。 |
ObjectAttributes |
附加信息的跟踪。 |
引用
[1]Granstorm, K。,C。Lundquiest, and O. Orguner. " Extended target tracking using a Gaussian-mixture PHD filter."IEEE航空航天和电子系统。48卷,4号,2012年,页3268 - 3286。
[2]Granstorm, K。,O. Orguner." A PHD filter for tracking multiple extended targets using random matrices."IEEE信号处理。60卷,11号,2012年,页5657 - 5671。
[3]Granstorm, K。,A. Natale, P. Braca, G. Ludeno, and F. Serafino."Gamma Gaussian inverse Wishart probability hypothesis density for extended target tracking using X-band marine radar data."IEEE地球科学和遥感。53卷,12号,2015年,页6617 - 6631。
[4]附近潘塔,译注),et al . "数据关联和跟踪管理高斯混合概率假设密度滤光片。”IEEE航空航天和电子系统,45卷,不。3、2009年7月,页1003 - 16。
[5]Ristic B。,et al. “Adaptive Target Birth Intensity for PHD and CPHD Filters.”IEEE航空航天和电子系统,48卷,不。2,2012年,页1656 - 68。
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。万博1manbetx
在代码生成,如果检测中指定的输入
双
精度,那么NumTracks
字段返回跟踪输出的双
变量。如果指定的检测输入单
精度,那么NumTracks
字段返回跟踪输出的uint32
变量。
跟踪器支持万博1manbetx严格的单精度与这些限制代码生成:
您必须指定过滤器的初始化函数作为单精度在每个跟踪传感器配置结构。
每个跟踪传感器配置中指定的过滤器结构必须使用运动和测量模型,支持单精度。万博1manbetx
有关严格的单精度代码生成,请参阅生成代码与严格的单精度和非动态内存分配。
跟踪器支持万博1manbetx非动态的内存分配与这些限制代码生成:
你必须指定
MaxNumDetections
和MaxNumDetsPerObject
在每个跟踪传感器配置结构有限整数。你必须指定最大数量的组件参数作为一个有限的整数。
你必须指定最大数量的跟踪参数作为一个有限的整数。
有关非动态的内存分配代码生成,请参阅生成代码与严格的单精度和非动态内存分配。
版本历史
介绍了R2021aR2023a:万博1manbetx仿真软件总线中没有显示工作区
R2023a,创建的模型汽车这一块不万博1manbetx再显示在MATLAB工作区。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。