主要内容

trackerJPDA

联合概率数据关联跟踪

描述

trackerJPDA系统对象™是一个跟踪器能够处理来自多个传感器的多个目标的检测。跟踪器使用联合概率数据关联分配每个跟踪检测。跟踪器适用于软任务在多个检测可以为每个轨道。初始化跟踪,确认,纠正,预测(执行惯性),和删除的痕迹。输入生成的跟踪检测报告<一个href="//www.tatmou.com/help/fusion/ref/objectdetection.html">objectDetection,<一个href="//www.tatmou.com/help/fusion/ref/fusionradarsensor-system-object.html">fusionRadarSensor,<一个href="//www.tatmou.com/help/fusion/ref/irsensor-system-object.html">irSensor,或<一个href="//www.tatmou.com/help/fusion/ref/sonarsensor-system-object.html">sonarSensor对象。跟踪估计状态向量和状态估计误差协方差矩阵为每一个轨道。每个检测是分配到至少一个跟踪。如果发现不能分配给任何现有的跟踪,跟踪器创建一个新的轨道。

任何新的追踪从一开始试探性的状态。如果足够的检测是分配给一个试探性的轨道,它的状态改变确认(见ConfirmationThreshold属性)。如果发现已经有一个已知的分类(即。,ObjectClassID返回的跟踪领域非零),相应的跟踪确认。当跟踪确认,追踪认为代表一个物理对象的跟踪。如果检测不分配给跟踪在一个指定的数量的更新,删除。

您可以启用通过指定不同的JPDA跟踪模式<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda-system-object.html" class="intrnllnk">TrackLogic和<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda-system-object.html" class="intrnllnk">MaxNumEvents属性。

  • 设置<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda-system-object.html" class="intrnllnk">TrackLogic财产“集成”使联合集成数据协会(JIPDA)追踪,追踪确认和删除是基于跟踪的可能性存在。

  • 设置<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda-system-object.html" class="intrnllnk">MaxNumEvents财产有限整数使k-best联合集成数据协会(k-best JPDA)跟踪器,每个集群生成一个k的最大事件。

使用这个对象跟踪目标:

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

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

了解更多关于系统对象是如何工作的,看到的<一个href="//www.tatmou.com/help/matlab/matlab_prog/what-are-system-objects.html" class="a">系统对象是什么?

创建

描述

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

例子

跟踪器= trackerJPDA (名称,值)设置跟踪器使用一个或多个属性名称-值对。例如,trackerJPDA (FilterInitializationFcn, @initcvukf MaxNumTracks, 100)创建一个多目标跟踪器,使用常速,无味卡尔曼滤波器,并允许最多100张光碟。在报价附上每个属性的名字。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,<一个href="//www.tatmou.com/help/matlab/ref/releasesystemobject.html">释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅<一个href="//www.tatmou.com/help/matlab/matlab_prog/system-design-in-matlab-using-system-objects.html" class="a">系统设计在MATLAB使用系统对象。

独特的跟踪标识符,指定为一个非负整数。这个属性的使用SourceIndex在跟踪输出,区分来自不同的追踪器的跟踪multiple-tracker系统。您必须指定这个属性是一个正整数使用跟踪跟踪熔化炉的输出作为输入。

例子:1

过滤器的初始化函数,指定为一个函数处理或作为特征向量包含一个有效的过滤初始化函数的名称。跟踪器使用一个过滤器的初始化函数在创建新的轨道。

传感器融合和跟踪工具箱™供应许多初始化函数,您可以使用它来指定FilterInitializationFcn对于一个trackerJPDA对象。

初始化函数 函数定义
initcvkf 初始化常速线性卡尔曼滤波器。
initcakf 初始化加速度恒定线性卡尔曼滤波器。
initcvabf 初始化常速α-β滤波器
initcaabf 初始化恒定加速度α-β滤波器
initcvekf 常速扩展卡尔曼滤波器进行初始化。
initcaekf 初始化加速度恒定扩展卡尔曼滤波器。
initrpekf 初始化常速range-parametrized扩展卡尔曼滤波器。
initapekf 初始化常速angle-parametrized扩展卡尔曼滤波器。
initctekf 初始化constant-turn-rate扩展卡尔曼滤波器。
initcackf 初始化加速度恒定体积过滤器。
initctckf 初始化constant-turn-rate求容积法过滤器。
initcvckf 初始化常速求容积法过滤器。
initcvukf 初始化常速无味卡尔曼滤波器。
initcaukf 初始化加速度恒定无味卡尔曼滤波器。
initctukf 初始化constant-turn-rate无味卡尔曼滤波器。
initcvmscekf 初始化常速扩展卡尔曼滤波器在球坐标修改。
initekfimm 初始化跟踪IMM滤波器。

您也可以编写自己的初始化函数使用下面的语法:

过滤器= filterInitializationFcn(检测)
这个函数的输入是像那些由检测报告<一个href="//www.tatmou.com/help/fusion/ref/objectdetection.html">objectDetection。这个函数的输出必须过滤对象:<一个href="//www.tatmou.com/help/fusion/ref/trackingkf.html">trackingKF,<一个href="//www.tatmou.com/help/fusion/ref/trackingekf.html">trackingEKF,<一个href="//www.tatmou.com/help/fusion/ref/trackingukf.html">trackingUKF,<一个href="//www.tatmou.com/help/fusion/ref/trackingckf.html">trackingCKF,<一个href="//www.tatmou.com/help/fusion/ref/trackinggsf.html">trackingGSF,<一个href="//www.tatmou.com/help/fusion/ref/trackingimm.html">trackingIMM,<一个href="//www.tatmou.com/help/fusion/ref/trackingmscekf.html">trackingMSCEKF,或<一个href="//www.tatmou.com/help/fusion/ref/trackingabf.html">trackingABF

指导编写这个函数使用类型命令来检查内置MATLAB的细节®功能。例如:

类型initcvekf

请注意

trackerJPDA不接受所有过滤器的初始化函数在传感器融合和跟踪工具。过滤器的初始化函数的完整列表可以在传感器融合和跟踪工具箱中给出初始化的部分<一个href="//www.tatmou.com/help/fusion/estimation-filters.html" class="a">估计过滤器。

数据类型:function_handle|字符

k-best JPDA的k值,指定为一个正整数。这个属性定义的最大数量可行联合事件跟踪和检测协会的每个集群。将这个属性设置为一个有限值使您能够运行一个k-best JPDA跟踪器,每个集群生成一个k的最大事件。

数据类型:|

可行联合事件生成函数,指定为一个函数处理或作为一个特征向量包含可行联合事件生成函数的名称。一代函数生成可行联合事件矩阵容许事件(通常由一个验证矩阵或可能性矩阵)的场景。有关详细信息,请参见<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda.jpdaevents.html">jpadEvents

您也可以编写自己的生成函数。

  • 如果MaxNumEvents属性设置为,该函数必须有如下语法:

    FJE = myfunction (ValidationMatrix)
    这个函数的输入,必须完全遵循所使用的格式<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda.jpdaevents.html">jpdaEvents

  • 如果MaxNumEvents属性设置为一个有限值,函数必须有如下语法:

    [FJE, FJEProbs] = myfunction (likelihoodMatrix k)
    这个函数的输入,必须完全遵循所使用的格式<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda.jpdaevents.html">jpdaEvents

指导编写这个函数使用类型命令来检查的细节jpdaEvents:

类型jpdaEvents

例子:@myfunction“myfunction”

数据类型:function_handle|字符

最大数量的跟踪器可以保持跟踪,指定为一个正整数。

数据类型:|

最大数量的传感器可以连接到追踪,指定为一个正整数。MaxNumSensors必须大于或等于最大的价值SensorIndex发现在所有检测用于更新追踪。SensorIndex是一个属性的吗<一个href="//www.tatmou.com/help/fusion/ref/objectdetection.html">objectDetection对象。的MaxNumSensors属性决定了有多少套ObjectAttributes每条曲目。

数据类型:|

最大数量的检测跟踪器可以作为输入,指定为一个正整数。

数据类型:|

指定的测量(OOSM),按顺序处理“终止”,“忽略”,或“Retrodiction”。每个检测都有一个关联的时间戳,td,跟踪自己的时间戳,tt,这是在每个调用跟踪更新。作为OOSM如果追踪者认为测量td<tt

当你指定这个属性为:

  • “终止”——跟踪器停止运行时遇到乱序执行测量。

  • “忽略”——跟踪器忽略任何按顺序测量和继续运行。

  • “Retrodiction”-跟踪器使用retrodiction算法更新追踪通过忽视OOSMs,更新现有的跟踪,或创建新的使用OOSM跟踪。您必须指定一个过滤器的初始化函数,返回一个<一个href="//www.tatmou.com/help/fusion/ref/trackingkf.html">trackingKF,<一个href="//www.tatmou.com/help/fusion/ref/trackingekf.html">trackingEKF,或<一个href="//www.tatmou.com/help/fusion/ref/trackingimm.html">trackingIMM对象FilterInitializationFcn财产。

如果指定这个属性“Retrodiction”,跟踪处理OOSMs遵循这些步骤:

  • 如果OOSM时间戳超出最古老的校正时间戳(指定的MaxNumOOSMSteps财产)维护的追踪,追踪OOSMs丢弃。

  • 如果OOSM时间戳在最古老的校正时间戳维护的追踪,追踪第一retrodicts所有现有的跟踪OOSMs时。然后,追踪应用联合概率数据关联算法,试图把OOSMs retrodicted跟踪。

    • 如果跟踪成功associates OOSM retrodicted追踪的至少一个,然后跟踪更新相关,retrodicted跟踪使用OOSMs运用retro-correction算法获得当前,跟踪纠正。

    • 如果追踪者不能副OOSM任何retrodicted跟踪,然后跟踪器创建一个新的跟踪基于OOSM和预测当前时间。

为更多的细节在JPDA-based retrodiction,明白了<一个href="//www.tatmou.com/help/fusion/ref/trackingkf.retrocorrectjpda.html" class="a">JPDA-Based Retrodiction和Retro-Correction驶,模拟按顺序检测使用<一个href="//www.tatmou.com/help/fusion/ref/objectdetectiondelay-system-object.html">objectDetectionDelay

请注意

  • 当您选择“Retrodiction”,你不能使用<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda-system-object.html" class="intrnllnk">costMatrix输入。

  • 使用retrodiction减少的好处随着目标的数量在近距离增加。

  • 跟踪器需要共享相同的所有输入信号检测SensorIndex有自己的时间差异有界的TimeTolerance财产。因此,当你设置OOSMHandling财产“忽略”,您必须确保按顺序检测时间戳严格小于前一个跟踪器运行时的时间戳。

可调:是的

按顺序测量的最大数量(OOSM)步骤,指定为一个正整数。

增加这个属性的值需要更多的内存,但使您能够调用跟踪OOSMs有较大滞后相对于过去的时间戳。然而,随着延迟增加,OOSM的影响上的当前状态跟踪减少。此属性的推荐值3

依赖关系

要启用这个论点,设置OOSMHandling财产“Retrodiction”

参数的跟踪状态参考系,指定为一个结构或一个结构数组。跟踪器通过其StateParameters属性值对StateParameters属性生成的跟踪。您可以使用这些参数来定义的坐标系跟踪报告或其他可取的属性生成的痕迹。

例如,您可以使用以下结构来定义一个直角坐标系的原点位置(10 10 0)米,其起源速度(2 2 0)米每秒的帧的场景。

字段名 价值
框架 “矩形”
位置 (10 10 0)
速度 (2 2 0)

可调:是的

数据类型:结构体

检测作业阈值(或控制阈值),指定为一个积极的标量或矢量1×2 (C1C2),C1C2。如果指定为一个标量,指定的值,瓦尔,是扩大到瓦尔,]。

最初,跟踪执行规范化的粗估计所有的跟踪和检测之间的距离。跟踪器只计算准确的归一化距离粗归一化距离小于的组合C2。同时,追踪只能分配一个检测跟踪如果准确的归一化距离小于C1。看到距离函数用于跟踪(如过滤器<一个href="//www.tatmou.com/help/fusion/ref/trackingckf.html">trackingCKF和<一个href="//www.tatmou.com/help/fusion/ref/trackingekf.html">trackingEKF)解释的距离计算。

  • 增加的价值C2如果有跟踪和检测组合,但不应计算作业。降低这个值,如果成本计算需要太多时间。

  • 增加的价值C1如果有检测,但不应该分配给足迹。降低这个值是否有检测分配给跟踪他们不应该分配给(太远)。

请注意

如果该值的C2是有限的,状态转换函数和测量功能,跟踪滤波器中指定用于追踪,必须能够拿一个吗——- - - - - -N矩阵的状态作为输入和输出N预测状态和N分别测量。是国家的大小。N的状态数,任意一个非负整数。

检测概率,指定为一个标量在区间[0,1]。此属性用于边缘后验概率的计算协会和轨道的概率存在当初始化和更新一个跟踪。

例子:0.85

数据类型:|

概率阈值来初始化一个新的轨道,指定为一个标量在[0,1]。如果关联的概率与任何现有的检测跟踪都小于InitializationThreshold,检测将被用来初始化一个新的轨道。这允许检测验证大门内的跟踪,但有一个协会概率低于初始化阈值产生一个新的轨道。

例子:0.1

数据类型:|

确认和删除逻辑类型,指定为:

  • “历史”——跟踪确认和删除是基于轨道的次数已经分配给一个检测的最新跟踪更新。

  • “集成”-跟踪确认和删除是基于跟踪的可能性存在,这是集成在赋值函数。选择此值使联合集成数据协会(JIPDA)追踪。

阈值进行跟踪确认,指定为一个标量或1×2向量。阈值取决于类型的跟踪确认和删除逻辑设置TrackLogic属性:

  • “历史”——确认阈值指定为1×2向量(N]。跟踪确认如果它至少记录打过去N更新。的trackerJPDA注册一个轨道上的历史逻辑根据HitMissThrehold。默认值是3 [2]

  • “集成”——确认阈值指定为一个标量。跟踪确认如果它存在的概率大于或等于确认阈值。默认值是0.95

数据类型:|

阈值跟踪删除指定为一个标量或实值1×2向量。阈值取决于类型的跟踪确认和删除逻辑设置TrackLogic属性:

  • “历史”——确认阈值指定为PR]。如果在P最后的R跟踪更新,跟踪没有分配到任何检测确认的可能性大于HitMissThreshold属性,然后跟踪被删除。默认值是(5,5)

  • “集成”——删除阈值指定为一个标量。记录被删除,如果存在低于阈值的概率。默认值是0.1

例子:0.2(5、6)

数据类型:|

注册成功与否阈值,指定为一个标量范围[0,1]。跟踪历史逻辑将注册一个小姐和轨道滑行如果分配的边际概率的总和是以下HitMissThreshold。否则,跟踪历史逻辑将注册一个打击。

例子:0.3

依赖关系

要启用这个论点,设置TrackLogic财产“历史”

数据类型:|

杂乱的空间密度测量,指定为一个积极的标量。杂波密度描述预期的假阳性检测单位体积的数量。它是用作杂乱泊松模型的参数。当TrackLogic被设置为“集成”,ClutterDensity也用于计算的初始概率跟踪存在。

例子:1 e-5

数据类型:|

空间密度的新目标,指定为一个积极的标量。新目标密度描述的预期数量,单位体积内的新线路测量空间。它是用于计算跟踪跟踪初始化期间存在的概率。

例子:1 e - 3

依赖关系

要启用这个论点,设置TrackLogic财产“集成”

数据类型:|

死亡时间的目标,指定为一个标量范围[0,1]。死亡率描述了真实目标消失的概率。它与轨道的概率存在的传播(PTE):

P T E ( t + δ t ) = ( 1 D e 一个 t h R 一个 t e ) δ t P T E ( t )

在哪里δt是上次更新的时间间隔时间吗t

依赖关系

要启用这个论点,设置TrackLogic财产“集成”

数据类型:|

这个属性是只读的。

初始轨道的概率存在,指定为一个标量在[0,1]范围和计算InitialExistenceProbability = NewTargetDensity * DetectionProbability / (ClutterDensity + NewTargetDensity * DetectionProbability)

依赖关系

要启用这个特性,设置TrackLogic财产“集成”。当TrackLogic属性设置为“历史”,这个属性是不可用的。

数据类型:|

使成本矩阵,指定为真正的。如果真正的,您可以提供一个作业成本矩阵作为输入参数当调用对象。

数据类型:逻辑

使IDs检测跟踪输入的更新,每个对象指定为真正的。将此属性设置为真正的如果你想提供一个检测跟踪id列表。这个列表通知追踪所有的传感器将检测和跟踪,还为每个跟踪检测的概率。

数据类型:逻辑

这个属性是只读的。

跟踪器的跟踪维护,作为一个非负整数返回。

数据类型:|

这个属性是只读的。

数量的跟踪确认,作为一个非负整数返回。如果IsConfirmed领域的一个输出跟踪结构真正的,跟踪确认。

数据类型:|

绝对时间检测的传感器之间的宽容,指定为一个积极的标量。理想情况下,trackerJPDA希望从一个传感器检测到有相同的时间戳。然而,如果时间戳之间的差异检测传感器的在指定的保证金TimeTolerance,这些检测将被用来更新跟踪估计基于这些检测的平均时间。

数据类型:

使内存管理属性,指定为一个逻辑1(真正的)或(0)。将这个属性设置为真正的使您能够使用这四个属性来指定特定的大小可变的数组的边界跟踪,以及确定如何追踪处理集群大小违规行为:

  • MaxNumDetectionsPerSensor

  • MaxNumDetectionsPerCluster

  • MaxNumTracksPerCluster

  • ClusterViolationHandling

指定范围的大小可变的数组允许您管理的内存占用跟踪器在生成的C / c++代码。

数据类型:逻辑

最大数量的检测传感器,指定为一个正整数。这个属性决定了检测的最大数量,每个传感器可以通过跟踪器的跟踪器在每次调用。

将此属性设置为一个有限值如果你想跟踪建立高效的本地变量界限C / c++代码生成。将此属性设置为如果你不想绑定每个传感器检测的最大数量。

依赖关系

要启用这个特性,设置EnableMemoryManagement财产真正的

数据类型:|

最大数量的检测在运行时跟踪的每个集群,指定为一个正整数。

将这个属性设置为一个有限值允许跟踪器绑定集群大小和减少了内存占用的跟踪器在生成的C / c++代码。将此属性设置为如果你不想绑定检测每个集群的最大数量。

在运行时,如果检测在集群的数量超过了指定的MaxNumDetectionsPerCluster,跟踪反应的基础上ClusterViolationHandling财产。

依赖关系

要启用这个特性,设置EnableMemoryManagement财产真正的

数据类型:|

最大数量的跟踪每个集群的运行时跟踪,指定为一个正整数。

将这个属性设置为一个有限值允许跟踪器绑定集群大小和减少了内存占用的跟踪器在生成的C / c++代码。将此属性设置为如果你不想绑定跟踪每个集群的最大数量。

在运行时,如果集群中的曲目的数量超过了指定的MaxNumTracksPerCluster,跟踪反应的基础上ClusterViolationHandling财产。

依赖关系

要启用这个论点,设置EnableMemoryManagement财产真正的

数据类型:|

处理运行时违反了集群范围,指定为:

  • “Teminate”——跟踪报告错误,如果在运行时,任何集群违反了集群中指定的界限MaxNumDetectionsPerClusterMaxNumTracksPerCluster属性。

  • 分裂和警告——跟踪器将size-violating集群分为更小的集群使用一个次优的方法。跟踪器也报道警告指示违反。

  • “分裂”——跟踪器将size-violating集群分为更小的集群通过使用一个次优的方法。追踪不报告一个警告。

在次优方法,追踪分离检测或钉的可能性最小的协会和其他轨道或检测,直到满足集群范围。这些分离出来检测或跟踪可以形成一个或多个新的集群取决于彼此协会可能和AssignmentThreshold财产。

依赖关系

要启用这个特性,设置EnableMemoryManagement财产真正的

数据类型:字符|字符串

使用

过程检测和更新,电话追踪的论点,就好像它是一个函数(这里描述)。

描述

confirmedTracks=跟踪器(<一个href="#mw_81a916cd-b7ae-4e99-8ae2-e81a544adc01" class="intrnllnk">检测,<一个href="#sysobj_tracker_jpda_sep_mw_e1317a82-d69c-41a6-a73e-03809968aff8" class="intrnllnk">时间)返回一个列表的更新追踪确认更新的检测时间。确认跟踪纠正和预测更新时间,时间

confirmedTracks=跟踪器(<一个href="#mw_81a916cd-b7ae-4e99-8ae2-e81a544adc01" class="intrnllnk">检测,<一个href="#sysobj_tracker_jpda_sep_mw_e1317a82-d69c-41a6-a73e-03809968aff8" class="intrnllnk">时间,<一个href="#mw_7842d596-1c50-4759-9d6c-12c919b796d3" class="intrnllnk">costMatrix)还指定了一个成本矩阵。

要启用这种语法,设置HasCostMatrixInput财产真正的

confirmedTracks=跟踪器(___,<一个href="#mw_4c24db32-8c06-499d-b3c9-a559956a32cb" class="intrnllnk">detectableTrackIDs)还指定了一系列预期可检测跟踪的detectableTrackIDs。这个参数可用于任何以前的输入语法。

要启用这种语法,设置HasDetectableTrackIDsInput财产真正的

(<一个href="#sysobj_tracker_jpda_sep_mw_50ddd73c-5a0e-4c3f-aeae-ae169b2a1ae4" class="intrnllnk">confirmedTracks,<一个href="#sysobj_tracker_jpda_sep_mw_53235a2d-4540-463a-b589-a5bf13dbc6c7" class="intrnllnk">tentativeTracks,<一个href="#sysobj_tracker_jpda_sep_mw_f8d81000-3499-493d-a597-c9f627ee803e" class="intrnllnk">allTracks)=跟踪器(___)返回一个初步跟踪列表和所有歌曲的列表。您可以使用任何输入参数的前面的语法。

(<一个href="#sysobj_tracker_jpda_sep_mw_50ddd73c-5a0e-4c3f-aeae-ae169b2a1ae4" class="intrnllnk">confirmedTracks,<一个href="#sysobj_tracker_jpda_sep_mw_53235a2d-4540-463a-b589-a5bf13dbc6c7" class="intrnllnk">tentativeTracks,<一个href="#sysobj_tracker_jpda_sep_mw_f8d81000-3499-493d-a597-c9f627ee803e" class="intrnllnk">allTracks,<一个href="#mw_deb21687-bb96-4709-baa4-1ccd04a297ba" class="intrnllnk">analysisInformation)=跟踪器(___)也回报分析信息,可用于追踪分析。您可以使用任何输入参数的前面的语法。

输入参数

全部展开

检测列表,指定的单元阵列<一个href="//www.tatmou.com/help/fusion/ref/objectdetection.html">objectDetection对象。的时间属性值的objectDetection对象必须是小于或等于当前更新时间,时间,比前面的时间值用于更新追踪。此外,时间不同的差异objectDetection单元阵列中的对象不需要平等。

更新的时候,指定为一个标量。跟踪更新所有的追踪。单位是秒。

时间必须大于或等于最大时间属性值的<一个href="//www.tatmou.com/help/fusion/ref/objectdetection.html">objectDetection对象的输入检测列表。时间必须增加的价值与每个更新的追踪。

数据类型:|

成本矩阵,指定为一个实值——- - - - - -N矩阵,是现有的数量跟踪在前面的更新,然后呢N是当前检测的数量。成本矩阵行必须位于同一个订单的列表,和列必须在相同的顺序检测的列表。获得正确的顺序列表的歌曲从第三输出参数,allTracks当跟踪更新。

在第一次更新的追踪或者当追踪没有以前的跟踪,成本矩阵指定为空的大小[0,numDetections]。必须注意成本以便降低成本指明一个更高的分配一个跟踪检测的可能性。为了防止某些检测被分配给特定的轨道,你可以设置适当的进入成本矩阵

依赖关系

要启用这个论点,设置HasCostMatrixInput财产真正的

数据类型:|

可检测追踪id,指定为一个实值1的向量或2矩阵。探测跟踪传感器会检测跟踪。矩阵的第一列包含一个追踪id列表,传感器可检测报告。可选的第二列允许您添加为每个跟踪检测概率。

不包括在铁轨的标识detectableTrackIDs被认为是无法觉察的。在这种情况下,跟踪删除逻辑不计数的缺乏检测跟踪作为跟踪删除错过检测目的。

依赖关系

启用这个输入参数,设置detectableTrackIDs财产真正的

数据类型:|

输出参数

全部展开

跟踪确认,作为一个数组返回<一个href="//www.tatmou.com/help/fusion/ref/objecttrack.html">objectTrack在MATLAB对象,作为一个数组返回代码生成的结构。在代码生成中,字段名称返回的结构相同的属性名objectTrack

跟踪确认,如果它满足确认阈值中指定ConfirmationThreshold财产。在这种情况下,IsConfirmed对象的属性或字段的结构真正的

数据类型:结构体|对象

试探性的,作为一个数组返回<一个href="//www.tatmou.com/help/fusion/ref/objecttrack.html">objectTrack在MATLAB对象,作为一个数组返回代码生成的结构。在代码生成中,字段名称返回的结构相同的属性名objectTrack

跟踪是试探性的,如果它不满足确认阈值中指定ConfirmationThreshold财产。在这种情况下,IsConfirmed对象的属性或字段的结构

数据类型:结构体|对象

所有的歌曲,作为一个数组返回<一个href="//www.tatmou.com/help/fusion/ref/objecttrack.html">objectTrack在MATLAB对象,作为一个数组返回代码生成的结构。在代码生成中,字段名称返回的结构相同的属性名objectTrack。所有曲目包括确认和试探性的痕迹。

数据类型:结构体|对象

附加信息分析跟踪更新,作为一个结构返回。这种结构的字段有:

描述
OOSMDetectionIndices

按顺序测量的指标跟踪器的当前步骤

TrackIDsAtStepBeginning

当步骤开始追踪id。

CostMatrix

成本分配矩阵。

UnassignedTracks

IDs的未赋值的痕迹。

UnassignedDetections

未赋值的检测的指标检测输入。

集群

集群单元阵列的报告。

InitiatedTrackIDs

IDs的追踪期间启动步骤。

DeletedTrackIDs

IDs的痕迹删除步骤。

TrackIDsAtStepEnd

追踪id步骤结束时。

MaxNumDetectionsPerCluster 检测的最大数量在所有集群生成步骤。结构只有当你设置这个字段EnableMemoryManagement财产“上”
MaxNumTracksPerCluster 跟踪的最大数量在所有集群生成步骤。结构只有当你设置这个字段EnableMemoryManagement财产“上”
OOSMHandling

分析信息按顺序测量处理,作为一个结构返回。只有当结构返回这个字段OOSMHandling跟踪指定的属性“Retrodiction”

集群字段可以包括多个集群报告。每个集群的报告是一个结构,它包含:

描述
DetectionIndices

集群检测的指标。

TrackIDs

追踪id的集群。

ValidationMatrix 验证集群的矩阵。看到<一个href="//www.tatmou.com/help/fusion/ref/trackerjpda.jpdaevents.html">jpadEvents为更多的细节。
SensorIndex

指数的原始集群检测的传感器。

时间戳 意思是时间戳的集群检测。
MarginalProbabilities 矩阵的边际概率后联合协会。

OOSMHandling结构包含这些字段:

描述
DiscardedDetections 丢弃的乱序执行检测的指标。OOSM是丢弃如果不是由指定的历史保存的状态MaxNumOOSMSteps财产。
CostMatrix

按顺序分配矩阵的检测成本。

集群

只有按顺序检测相关集群。

UnassignedDetections 未赋值的指数按顺序检测。跟踪器创建新的追踪未赋值的乱序执行检测。

数据类型:结构体

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

predictTracksToTime 预测跟踪状态
getTrackFilterProperties 获得跟踪滤波器性能
setTrackFilterProperties 设置跟踪滤波器的属性
initializeTrack 初始化新轨道
deleteTrack 删除现有的跟踪
exportTo金宝appSimulink 出口跟踪或跟踪熔化炉仿真软件模型金宝app
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
isLocked 确定系统对象在使用
克隆 创建重复的系统对象
重置 重置的内部状态系统对象

例子

全部折叠

构造一个trackerJPDA对象和一个默认的恒定速度扩展卡尔曼滤波和“历史”跟踪逻辑。集AssignmentThreshold100允许共同跟踪相关。

追踪= trackerJPDA (“TrackLogic”,“历史”,“AssignmentThreshold”,100,“ConfirmationThreshold”[4 - 5],“DeletionThreshold”10 [10]);

指定的初始位置和速度两个对象。

pos_true = [0 0;40 -40;0 0];V_true = 5 * (cosd (-30) cosd (30);信德(-30)信德(30);0 0];

创建一个戏剧情节可视化跟踪和检测。

tp = theaterPlot (“XLimits”150年[1],“YLimits”,50 [-50]);trackP = trackPlotter (tp,“DisplayName的”,“跟踪”,“MarkerFaceColor”,‘g’,“HistoryDepth”,0);detectionP = detectionPlotter (tp,“DisplayName的”,“检测”,“MarkerFaceColor”,“r”);

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表跟踪检测。

获取位置和速度,位置和速度选择器。

positionSelector = [1 0 0 0 0 0;0 0 1 0 0 0;0 0 0 0 0 0);% (x, y, 0)velocitySelector = [0 1 0 0 0 0;0 0 0 1 0 0;0 0 0 0 0 0);% (vx v 0)

更新的跟踪检测,显示成本和边际概率协会信息,可视化跟踪与检测。

dt = 0.2;时间= 0:dt: 30%更新对象的真实位置。pos_true = pos_true + V_true * dt;%创建两个对象的检测与噪音。检测(1)= objectDetection(时间、pos_true (: 1) + 1 * randn (3,1));检测(2)= objectDetection(时间,pos_true (:, 2) + 1 * randn (3,1));%一步通过时间和跟踪检测。[alltracks,证实,初步信息]=追踪(检测、时间);%提取位置,速度和标签信息。(pos机,x) = getTrackPositions(证实,positionSelector);韦尔= getTrackVelocities(证实,velocitySelector);量=猫(2,detection.Measurement);detection.MeasurementNoise measCov =猫(3日);%更新情节如果有任何痕迹。如果标签元素个数(确认)> 0 = arrayfun (@ (x) num2str ([x.TrackID]),确认,“UniformOutput”、假);trackP.plotTrack (pos、或者、浸、标签);结束measCov detectionP.plotDetection(量);drawnow;%显示每八的成本和边际概率分布%秒。如果时间> 0 & & mod(时间,8)= = 0 disp ([“在时间t = 'num2str(时间)“秒”,]);disp (的任务是:成本)disp (info.CostMatrix);disp ([集群的数量:num2str(元素个数(info.Clusters))));如果元素个数(info.Clusters) = = 1 disp (的两个轨道在同一集群”。)disp (的边际概率协会:“)disp (info.Clusters {1} .MarginalProbabilities)结束disp (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”)结束结束
在时间t = 8秒,
分配的成本是:
1.0 e + 03 * 0.0020 1.1523 1.2277 0.0053
集群的数量:2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在时间t = 16秒,
分配的成本是:
1.3968 4.5123 2.0747 1.9558
集群的数量:1
两轨道在同一集群。
协会的边际概率:
0.8344 0.1656 0.1656 0.8344 0.0000 0.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在时间t = 24秒,
分配的成本是:
1.0 e + 03 * 0.0018 1.2962 1.2664 0.0013
集群的数量:2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

图包含一个坐标轴对象。坐标轴对象包含6行类型的对象,补丁,文本。这些对象代表跟踪检测。

算法

全部展开

引用

[1]Fortmann, T。,Y. Bar-Shalom, and M. Scheffe. "Sonar Tracking of Multiple Targets Using Joint Probabilistic Data Association."IEEE海洋工程》杂志上。第三卷。8日,1983年,页173 - 184。

[2]Musicki D。,和R。Evans. "Joint Integrated Probabilistic Data Association: JIPDA."IEEE航空航天和电子系统。40卷,3号,2004年,页1093 - 1099。

扩展功能

版本历史

介绍了R2019a