初始化用户定义跟踪对象的先验协方差(trackerTOMHT)。

8视图(30天)
你好所有的,
我目前在实现的过程中多目标跟踪处理天基观测小行星(从聪明的飞船)。目前,我使用 trackerTOMHT 跟踪器,但我相信这个问题将会扩展到其他的多目标跟踪算法MATLAB在其传感器融合和跟踪工具箱主要与多目标跟踪(MTT)的过滤方面。
我现在喂追踪赤经和赤纬(RADec)角度的测量 ,相关测量噪声协方差矩阵 作为 objectDetection 对象为每个测量在每个扫描,所有工作对我的测试用例扩展数据(角的范围 )。当我试着这个问题就出现了 un-scale 我的测试数据(RADec角度范围内 )以及在真实数据上运行跟踪器(相同数量级差异测量的数据)。
我最初做这个决定规模数据,我注意到在第一扫描处理, trackerTOMHT (使用@ initcvkf 跟踪滤波器)初始化位置(角度)协方差 矩阵对角线, 但初始化速度(角速率)协方差为100。 当操作在任何范围测试(真正的)数据与相对较小的差异角度在整个场景中,该协方差极大地太大,导致太多的测量被认为是在浇注过程中。这实质上摊位跟踪器,因为它从不让它通过扫描将所有测量正在考虑为所有跟踪(一个棘手的问题)。
这让我我的主要问题:
  • 我想知道如果有一种方法来定义一个初始协方差使用的初始化任何跟踪中trackerTOMHT。这对我来说像一个功能,应该是某个地方,作为跟踪场景的先验知识似乎将有助于肝癌和获得最好的结果。这是我面临的主要问题,和规模的替代方法是真实数据,这样一个先验协方差速度100是现实的,但我想避免这样做。我擦的文档都无济于事。
其他问题, 是一个好去处 回答但并不必要:
  • 有办法分配每个测量一个关联的检测概率吗?跟踪初始化后,一条毯子声明涵盖所有测量。我使用匹配滤波器和二元假设检验从图像中提取位置测量,所以每个测量都有一个关联的基于检测的统计意义。
  • 有办法申报跟踪问题的维度?我目前使用的“StateParameters”参数trackerTOMHT如下,试图迫使问题是二维的,但是当我尝试以外的一个过滤器@initcvkf,它不接受二维状态向量。
%的传感器
stateParams。帧=“矩形”;
stateParams。位置= [0 0];
stateParams。速度= [0 0];
追踪= trackerTOMHT (
“FilterInitializationFcn”@initcvkf,
“StateParameters”stateParams,
);
当然有更多的参数 trackerTOMHT () 要求调整的目的,但是我忽略了他们清晰。
  • 一些内置的跟踪查看器等功能trackPlotter,或者错误等量化工具trackErrorMetrics不接受我的2 d状态向量(4元素状态向量而不是典型的6)。有一种改变这些工具的维度?
如果我的任何部分问题还不清楚,请回应我可以澄清与更多的代码/数据更好地充实这个问题。谢谢大家!

接受的答案

兰德Kivelevitch
兰德Kivelevitch 2022年11月9日
嗨,安东尼,
谢谢你的问题。可能这是一个非常有趣和具有挑战性的问题TOMHT追踪。
回答你的问题,这里有一些建议:
有没有一种方法来定义一个初始协方差吗 吗?
是的,有一个简单的方法来这样做。你应该创建自己的过滤器的初始化函数,它不像这听起来可能令人生畏。
复制 initcvkf (或任何其他init函数)到你的工作目录,重命名它。假设你叫它 initRADecFilter 表明它是初始化一个过滤器使用追踪RADec参数。
新功能:
初始化 StateCovariance 你会喜欢的属性的任何值。
问题的维数可以2 d创建的过滤器不 initcvkf 吗?
是的,他们可以。为了清晰起见,我们假设你和 initcvekf 。在你的复制和重命名函数,定义国家大小4-by-1代替6-by-1。这将允许您有二维问题。您还需要创建一个新的恒定速度测量模型来取代cvmeas总是返回一个3 d测量。很容易做的。创建一个函数cvmeas2D是这样的:
函数(测量范围)= cvmeas2D(状态,变长度输入宗量)
[measurement3, bounds3] = cvmeas(状态,变长度输入宗量)
:测量= measurement3 (1:2);
:边界= bounds3 (1:2);
结束
同样,基于cvmeasjac创建一个函数返回一个二维测量雅可比矩阵。
你能定义一个PD每个测量吗?
有一些处理的方法,但这需要更多的工作。
  • 如果您想要使用的PD计算测量:当你包测量为objectDetection格式,您可以使用MeasurementParameters属性来指定PD。MeasurementParameters测量所使用的函数,定义计算协会距离,测量的可能性,和筛选修正。因此,您可以使用它们来更新测量。
  • 如果你只是想通过PD通过跟踪器,您可以添加的PD ObjectAttributes财产。trakcer高度相关的跟踪和追踪输出。
您还可以定义为每个跟踪PD。,看到HasDetectableBranchIDsInput财产跟踪以及如何使用它的步骤。你会与一个额外的步骤方法矩阵输入与BranchID第一列和第二列PD。这是有用的,如果你的传感器不涵盖所有跟踪。使用getBranches方法来获得所有的分支(跟踪假说)由前一步的追踪。
如何限制协会/门吗
你提到的性能问题。限制一些协会的可能性,使用AssociationThreshold的第四元素值为有限值。这个限制对跟踪与每个检测和如果你设定一个严格的门,你可以消除许多协会选项。
1评论
安东尼Zara
安东尼Zara 2022年11月9日
兰德,
谢谢你非常详细的回答我所有的问题!这是非常有用的,无疑会帮助我解决这个问题。

登录置评。

更多的答案(0)