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