基于GNN分配的多目标跟踪器
的radarTracker
系统对象™初始化、确认、预测、纠正和删除移动对象的轨迹。雷达跟踪器的输入是生成的探测报告objectDetection
目标由雷达传感器探测。雷达跟踪器接受来自多个传感器的探测,并使用全局最近邻(GNN)准则将它们分配到航迹。每个检测被分配到一个单独的轨道。如果检测不能分配到任何轨道,基于AssignmentThreshold
属性时,跟踪器创建一个新轨迹。轨道以结构数组的形式返回。
一条新轨道从A开始试探性的状态。如果给一个试探性轨道分配足够的探测,它的状态就会变为确认.如果检测是已知的分类(ObjectClassID
返回轨迹的字段非零),该轨迹可以立即被确认。有关用于确认航迹的雷达跟踪器属性的详细信息,请参见算法.
当航迹被确定时,雷达跟踪器认为该航迹代表一个物理对象。如果在指定数量的更新中未将检测添加到轨道中,则轨道将被删除。
跟踪器还利用卡尔曼滤波估计每个轨迹的状态向量和状态向量协方差矩阵。这些状态向量用于预测轨道在每一帧中的位置,并确定分配给每个轨道的每个检测的可能性。
要使用雷达跟踪器跟踪对象,请执行以下操作:
创建radarTracker
对象,并设置其属性。
使用参数调用对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
创建一个跟踪器
= radarTrackerradarTracker
具有默认属性值的系统对象。
使用一个或多个名称-值对设置雷达跟踪器的属性。例如跟踪器
= radarTracker (名称,值
)radarTracker (FilterInitializationFcn, @initcvukf MaxNumTracks, 100)
创建一个雷达跟踪器,使用恒定速度,无迹卡尔曼滤波器,并保持最多100个轨迹。将每个属性名用引号括起来。
[
同样的回报确认跟踪
,tentativeTracks
) =跟踪器(检测
,时间
)tentativeTracks
包含关于试探性轨道的细节。
[
同样的回报确认跟踪
,tentativeTracks
,allTracks
) =跟踪器(检测
,时间
)allTracks
包含所有已确认和试探性轨道的细节。跟踪程序按照跟踪程序内部维护它们的顺序返回。您可以使用此输出来帮助您计算成本矩阵,这是一个可选的输入参数。
[___) =跟踪器(
指定成本矩阵,返回前面语法的任何输出。检测
,时间
,costMatrix
)
要指定代价矩阵,请设置HasCostMatrixInput
跟踪程序的属性真正的
.
[___) =跟踪器(___,
还指定了一个可检测轨道的列表detectableTrackIDs
)detectableTrackIDs
.此参数可用于前面的任何输入语法。
要启用此语法,请设置HasDetectableTrackIDsInput
财产真正的
.
要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj
,请使用以下语法:
发行版(obj)
当您将检测传递给雷达跟踪器时,System对象:
尝试将输入检测分配给现有轨迹,基于AssignmentThreshold
多目标跟踪器的特性。
根据未分配的检测创建新轨迹。
更新已经分配的轨道,并可能确认它们,基于ConfirmationThreshold
跟踪器的属性。
属性删除没有指定检测的轨道DeletionThreshold
跟踪器的属性。