trackerPHD

多传感器、多目标PHD跟踪器

描述

这个trackerPHD系统对象™能够从多个传感器处理的多个目标检测的一个跟踪器。跟踪器使用多目标概率假设密度(PHD)滤波器估计的点目标和扩展对象的状态。PHD是在跟踪系统的状态空间中定义的功能,其在状态值被定义为每单位状态空间体积的目标的预期数目。的PHD由的概率密度函数,且峰在PHD对应于可能的目标的加权求和(混合物)来表示。有关如何跟踪功能的概述,请参阅算法

默认情况下,trackerPHD可以使用ggiwphd过滤器,从伸出物体模型检测作为解析点云。您还可以使用trackerPHDgmphd过滤器,其轨迹点目标和与指定的形状的扩展物体。输入到跟踪器是通过产生的检测报告目标检测,雷达传感器,monostaticRadarSensor,irSensor, 要么声纳传感器对象。跟踪器输出所有维护的轨迹及其分析信息。

要使用这个对象跟踪目标:

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

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

要了解有关系统对象如何工作的更多信息,请参见什么是系统对象?(MATLAB)。

创建

描述

跟踪器= trackerPHD创建一个trackerPHD与默认属性值系统对象。

例子

跟踪器=跟踪程序高清(名称、值)使用一个或多个名称-值对设置跟踪器的属性。例如,trackerPHD('MaxNumTracks',100个)创建一个PHD跟踪器,其允许最大100个轨道。在引号中每个属性的名称。

属性

展开全部

除非另有说明,属性是nontunable,这意味着调用对象后,你不能改变它们的值。对象锁,当你打电话给他们,和释放功能解锁他们。

如果一个属性是可调,可以随时更改其值。

有关更改属性值的更多信息,请参见基于系统对象的MATLAB系统设计(MATLAB)。

唯一跟踪标识符,指定为一个非负整数。此属性用作源索引在跟踪器输出中,区分来自多跟踪器系统中不同跟踪器的轨迹。必须将此属性指定为正整数,才能将跟踪输出用作跟踪融合器的输入。

例:1个

跟踪传感器的配置,指定为trackingSensorConfiguration物体。此属性向跟踪器提供跟踪传感器配置信息,例如传感器检测限和传感器分辨率。注意,对于SensorConfigurations属性,并且必须指定SensorConfigurations使用跟踪器前财产。但是,您可以通过设置更新配置HasSensorConfigurationsInput属性到真正并且指定配置输入,配置。如果设置了MaxDetsPerbject公司财产trackingSensorConfiguration对象1时,跟踪器只创建一个分区,使得至多一个检测可以被分配给每个目标。

功能分区检测到检测单元,指定为功能句柄或作为字符向量。当每个传感器可以报告每个对象多于一个的检测,需要一个分区函数。分区函数报告来自传感器的检测的所有可能的分区。在每个分区中,检测被分离成相互排斥的检测单元,假设每个检测单元属于一个扩展的对象。

您还可以指定自己的检测分区函数。对于编写此函数的指导,您可以检查默认分区函数的详细信息,分区检测, 使用类型命令:

类型分区检测

例:@myfunction要么'MyFunction的'

数据类型:功能手柄|烧焦

密度中新目标的出生率,指定为标量。出生率表示单位时间内密度中添加的预期目标数。出生密度是通过使用过滤初始化trackingSensorConfiguration与跟踪器一起使用。通常,跟踪器以两种方式向密度函数添加组件:

  1. 预测出生密度 - 密度由初始化过滤初始化函数在没有输入的情况下调用。

  2. 自适应出生密度-密度初始化过滤初始化使用检测输入调用时的函数。由跟踪器根据其与目标当前估计值相关的对数似然来选择检测。

请注意,该值出生率属性表示两个预测分娩密度和自适应出生密度为每个时间步长的总和。

例:0.01分

数据类型:|

在密度组分的死亡率,指定为一个标量。死亡速率表示一个时间步后的成分消失的密度的速率。死亡率涉及生存概率(第页s公司)在连续时间步之间

第页 s公司 = ( 1个 - 脱色胺 ) Δ T型

哪里ΔT型是时间步长。

例:1的军医

数据类型:|

选择检测组件初始化的阈值,指定为正标量。在校正过程中,跟踪器计算现有轨迹与检测单元之间关联的可能性。如果检测单元对所有现有轨迹的关联似然(由负对数似然给出)高于阈值(这意味着检测单元对现有轨迹的关联似然较低),则使用检测单元初始化自适应出生密度中的新组件。

例:18.1

数据类型:|

阈值初始化一个试探性的轨道,指定为标量。如果组件的重量比由规定的阈值高提取阈值属性,则组件标记为a“初步”跟踪并给出曲目识别

例:0.45分

数据类型:|

跟踪确认的阈值,指定为标量。在一个trackerPHD对象,一个轨迹可以有多个共享同一个组件曲目识别。如果试探性轨道的组分的重量总和比由规定的阈值高ConfirmationThreshold属性,该轨迹的状态标记为“确认”

例:0.85分

数据类型:|

阈值用于分量删除,指定为一个标量。在PHD跟踪器,如果一个组分的重量比由指定的值的情况下DeletionThreshold属性,将删除该组件。

例:0.01分

数据类型:|

组件合并的阈值,指定为实正标量。在PHD跟踪器中,如果相同的元件之间的Kullback-Leibler距离曲目识别是否小于?指定的值MergingThreshold属性,然后将这些组件合并到一个组件中。新组件的合并权重等于预合并组件的权重之和。而且,如果合并后的权重高于第一个阈值LabelingThresholds属性,合并的权重将截断为第一个阈值。注意,组件曲目识别等于0个也可以互相合并。

例:30.

数据类型:|

标记阈值,指定为降低正值的1×3向量,[C类1个,C类2个,C类]. 基于LabelingThresholds财产,跟踪管理使用这些规则的密度组件:

  1. 高于第一个阈值的任何组件的权重C类1个减少到C类1个

  2. 对于具有相同的所有组件曲目识别,如果这些组件中的最大重量大于C类2个,然后用最大的权重分量被保留保留曲目识别,而所有其它部件都将被删除。

  3. 对于具有相同的所有组件曲目识别,如果最大重量与重量求和所有这些组分的比例大于C类,然后用最大的权重分量被保留保留曲目识别,而所有其它部件都将被删除。

  4. 如果没有条件2也不条件3被满足,然后用最大的权重的部件保留曲目识别,而所有其他组件的标签设置为0。当这种情况发生时,它实质上意味着某些组件可以表示其他对象。这种处理保留了将来再次提取这些未保留组分的可能性。

数据类型:|

随着时间的推移使更新的传感器构造,指定为要么真正。将此属性设置为真正如果您希望传感器的配置随时间更新。另外,当此属性设置为真正,则必须使用配置输入来调用跟踪器,配置,如用法语法所示。

数据类型:符合逻辑的

跟踪状态的参考帧的参数,指定为一个结构或一个结构阵列。使用该属性来定义所述轨道状态的参考帧,以及如何从跟踪器(称为源)转换轨道坐标系到定影坐标系。

此属性是可调的。

数据类型:结构

此属性是只读的。

曲目数量保持被跟踪,返回一个非负整数。

数据类型:

此属性是只读的。

确认的磁道数,返回为非负整数。如果已确认输出轨迹结构的字段是真正,轨道已确认。

数据类型:

传感器的最大数量可以被连接到跟踪器,指定为一个正整数。最大传感器必须大于或等于最大价值传感器索引在所有用于更新跟踪器的检测中找到。传感器索引目标检测宾语。

数据类型:|

跟踪器可维护的最大跟踪数,指定为正整数。

数据类型:|

用法

为了处理检测和更新曲目,调用带参数的跟踪,就好像它是一个函数(详见这里)。

描述

confirmedTracks=跟踪器(检测,时间)返回从检测列表更新的已确认轨道列表,检测,在更新时,时间. 已确认的轨迹将被修正并预测到更新时间。

confirmedTracks=跟踪器(检测,配置,时间)还指定了传感器配置输入,配置。当传感器的配置随时间变化时,请使用此语法。若要启用此语法,请设置HasSensorConfigurationsInput属性到真正

[confirmedTracks,tentativeTracks,allTracks] =跟踪器(___)还返回一个暂定曲目列表,tentativeTracks和所有的曲目列表,allTracks。您可以使用此输出语法与任何先前输入语法。

[confirmedTracks,tentativeTracks,allTracks,analysisInformation] =跟踪器(___)还返回分析信息,analysisInformation,其可用于迹分析。您可以使用此输出语法与任何先前输入语法。

输入参数

展开全部

检测列表中,指定为的单元阵列目标检测对象。这个时间各自的财产价值目标检测对象必须是当前更新时间小于或等于,时间,并且大于用于更新跟踪器的前一个时间值。此外,时间差异目标检测单元格数组中的对象不需要相等。

更新时间,指定为标量。跟踪器更新所有轨道到了这个时候。单位是秒。

时间必须大于或等于最大值时间的属性值目标检测输入中的对象检测列表。时间必须在价值与每个更新跟踪器增加。

数据类型:|

传感器配置,指定为结构的数组,结构的单元阵列,或的单元阵列trackingSensorConfiguration物体。如果使用结构数组或结构单元格数组指定值,则必须包括传感器索引作为每个结构的字段。每个结构中的其他可选字段必须与trackingSensorConfiguration反对。注意,您只需要指定需要更新的传感器配置。例如,如果您只想更新IsValidTime属性,为第五个传感器提供配置作为结构(“SensorIndex”5“IsValidTime”,假)

依赖关系

若要启用此参数,请设置HasSensorConfigurationsInput属性到真正

输出参数

展开全部

已确认的曲目更新到当前时间,作为结构或结构数组返回。每个结构对应一个轨道。如果轨道组件的权重总和高于ConfirmationThreshold属性。如果轨道得到确认,已确认结构的领域是真正。确定的轨迹结构的字段定义在轨道结构

数据类型:结构

暂时的轨迹,以结构或结构数组的形式返回。每个结构对应一个磁道。如果跟踪的组件的权重总和高于提取阈值属性,但低于ConfirmationThreshold属性。在这种情况下,已确认结构的领域是。结构的字段定义在轨道结构

数据类型:结构

所有曲目,返回为结构或结构的阵列。每个结构对应一个磁道。该组中的所有曲目组成确认,暂定曲目。结构的字段定义在轨道结构

数据类型:结构

用于分析跟踪更新的附加信息,以结构形式返回。这个结构的领域是:

字段 描述
CorrectionOrder

在其中传感器用于状态估计值校正的顺序,返回的行向量传感器索引. 例如,[1 3 2 4]。

TrackIDsAtStepBeginning

轨道ID时的一步开始了。

DeletedTrackIDs

轨道的ID在该步骤中删除。

TrackIDsAtStepEnd

轨道ID当步结束。

传感器分析信息

传感器分析信息的单元阵列。

这个传感器分析信息字段可以包括多个传感器信息报告。每个报告的结构包括:

字段 描述
传感器索引

传感器指数。

DetectionCells

检测单元,返回作为逻辑矩阵。该矩阵的每一列表示一个检测单元。在每列中,如果元素是1,那么th检测属于该列表示的检测单元。

探测可能性

在密度函数和检测细胞成分之间的关​​联似然性,返回一个N个-通过-第页矩阵。N个是密度函数中的组件数,并且第页是检测的细胞数量。

IsBirthCells

指示是否检测单元列在DetectionCells产生新的轨道,作为1-by返回-第页逻辑向量,其中第页是检测的细胞数量。

数量

分区数目。

DetectionProbability

传感器检测到现有轨道的概率,指定为1-by-N个行向量,其中N个是在密度函数的部件数量。

矫正前标签

各组分的标签在密度函数修正前,按1×-返回行向量。是校正前在跟踪器中维护的组件数。向量的每个元素都是曲目识别。例如,[1 1 2 0 0]。注意,多个组件可以共享相同的组件曲目识别

LabelsAfterCorrection

校正后密度函数中组件的标签,返回为1-by-行向量。是校正后在跟踪器中维护的组件数。向量的每个元素都是曲目识别。例如,[1 1 1 2 2 0 0]。注意,多个组件可以共享相同的组件曲目识别

WeightsBeforeCorrection

校正前密度函数中各分量的权重,返回为1-by-行向量。是校正前在跟踪器中维护的组件数。向量的每个元素都是矫正前标签。例如,[0.1 0.5 0.7 0.3 0.2]。

加权校正

校正后密度函数中各分量的权重,返回为1-by-行向量。是保持在修正后的跟踪器部件的数量。矢量的每个元素是在给定的相应组分的重量LabelsAfterCorrection. 例如,[0.1 0.4 0.2 0.6 0.3 0.2 0.2]。

数据类型:结构

对象函数

要使用对象函数,请将系统对象指定为第一个输入参数。例如,要释放名为目标,使用此语法:

释放(obj)

展开全部

predictTracksToTime 预测轨道状态
deleteTrack 删除现有轨道
initializeTrack 初始化新曲目
运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特性
锁住了 确定系统对象在使用
克隆 创建副本系统对象
重启 复位的内部状态系统对象

例子

全部折叠

设置传感器构造,创建一个PHD跟踪器,以及与检测供给跟踪器。

%创建传感器配置。指定传感器的杂波密度和%的IsValidTime属性设置为true。配置= trackingSensorConfiguration(1);configuration.ClutterDensity = 1E-7;configuration.IsValidTime = TRUE;%创建一个博士跟踪器。跟踪= trackerPHD('传感器配置',组态);%创建近点检测[5; 1-5; 0]和[1-5; 5; 0]在t = 0,和%更新这些检测跟踪。检测=细胞(20,1);对于i=1:10检测{i}=objectDetection(0,[5;-5;0]+0.2*randn(3,1));结束对于j=11:20检测{j}=objectDetection(0,[-5;5;0]+0.2*randn(3,1));结束跟踪器(检测,0);

假设目标以每秒[1;2;0]单位的恒定速度移动,在0.1秒后再次更新跟踪器。

的dT = 0.1;对于i = 1:20检测{i}。时间=检测{}。时间+ dT;检测我{}。米easurement = detections{i}.Measurement + [1;2;0]*dT;结束[confTracks, tentTracks allTracks] =追踪(检测,dT);

可视化检测和确认的轨道。

%从检测中获得测量值。d =[检测{}):;测量= [d.Measurement];确认跟踪使用getTrackPositions的%浸出位置的功能。请注意,我们使用了默认的传感器配置%FilterInitializationFcn,initcvggiwphd,它使用的等速%模型并定义为状态[X; VX; Y; ​​VY; Z; VY。positionSelector=[1 0 0 0 0 0 0 0;0 0 1 0 0 0;0 0 0 0 1 0];positions=getTrackPositions(confTracks,positionSelector);figure()绘图(测量(1,:)、测量(2,:),“x”,'MarkerSize'5,'MarkerEdgeColor',“b”);保持;绘图(位置(1,1),位置(1,2),“v”,'MarkerSize'5,'MarkerEdgeColor',“r”);保持;图(位置(2,1),位置(2,2),'^','MarkerSize'5,'MarkerEdgeColor',“r”);传说('检测','曲目1','曲目2')xlabel(“x”)ylabel(“是”)

更多关于

展开全部

算法

展开全部

参考

[1] 格兰斯托姆,K.,C.伦德最安静,O.奥古纳。”使用高斯混合PHD滤波器的扩展目标跟踪。”IEEE交易在航空航天和电子系统。第48卷,第4期,2012年,第3268-3286页。

[2] Granstorm,K.,和O. Orguner。 “用于使用随机矩阵跟踪多个扩展目标甲PHD滤波器”。IEEE TRANSACTIONS ON信号处理。第60卷,第11期,2012年,第5657-5671页。

[3] Granstorm, K.和A. Natale, P. Braca, G. Ludeno和F. Serafino。利用x波段海洋雷达数据进行扩展目标跟踪的伽马高斯反Wishart概率假设密度。地球科学与遥感IEEE汇刊。卷。53,编号12,2015年,第6617-6631。

扩展功能

在R2019a中引入