基于Matlab使用雷达和摄像头对公路车辆跟踪仿真(附源码)

此示例演示如何跟踪高速公路车辆周围的自驾车。车辆是延伸的物体,其尺寸跨越多个传感器分辨率单元。因此,传感器在一次扫描中报告对这些物体的多次检测。在此示例中,您将使用不同的扩展对象跟踪技术来跟踪高速公路车辆并评估其跟踪性能的结果。

一、介绍

在传统的跟踪方法中,例如全局最近邻、联合概率数据关联、和多假设跟踪,假设跟踪对象每次传感器扫描返回一个检测结果。随着具有更好分辨率的传感器(例如高分辨率雷达)的发展,传感器通常会返回对物体的多个检测。例如,下图描述了跨越多个雷达分辨率单元的单个车辆的多个检测。在这种情况下,用于跟踪对象的技术称为扩展对象跟踪。

 

使用高分辨率传感器的主要好处是获取有关物体的更多信息,例如其尺寸和方向。这些附加信息可以提高检测概率并降低误报率。

扩展对象对传统跟踪器提出了新的挑战,因为这些跟踪器假定每个传感器的每个对象只有一个检测。在某些情况下,可以对传感器数据进行聚类,以便为传统跟踪器提供每个对象的单个检测。但是,通过这样做,使用高分辨率传感器的好处可能会丢失。

相比之下,扩展的对象跟踪器可以处理每个对象的多个检测。此外,这些跟踪器不仅可以估计运动学状态,例如物体的位置和速度,还可以估计物体的尺寸和方向。在此示例中,可以使用以下跟踪器跟踪 ego 车辆周围的车辆:

  • 使用点目标模型的传统多目标跟踪器;

  • GGIW-PHD(伽玛高斯逆威萨特PHD)跟踪器,带滤波器

  • GM-PHD(高斯混合PHD)跟踪器,带有使用矩形目标模型的过滤器

评估所有跟踪器的跟踪结果,这些跟踪器提供跟踪器有效性的多种度量。还将使用最佳子模式分配指标 (OSPA) 评估结果,该指标旨在使用综合分数评估跟踪器的性能。

二、设置

场景

在此示例中,有一辆 ego 车辆和另外四辆车:一辆车在中心车道上比自我车辆前面,一辆车在中心车道上,一辆车在自我车辆后面,一辆卡车在右车道上,一辆超车在左车道上。

在此示例中,将模拟一个自我车辆,该车辆具有 6 个雷达传感器和 2 个视觉传感器,可覆盖 360 度视野。传感器有一些重叠和一些覆盖间隙。ego车辆在车辆的前部和后部都配备了远程雷达传感器和视觉传感器。车辆的每一侧都有两个短程雷达传感器,每个传感器覆盖90度。每侧各有一个传感器覆盖从车辆中间到后部。每侧的另一个传感器从车辆中间向前覆盖。

 指标

在此示例中,将使用一些关键指标来评估每个跟踪器的跟踪性能。特别是,可以根据跟踪器在估计对象的位置,速度,尺寸(长度和宽度)和方向时的准确性来评估跟踪器。可以使用类来评估这些指标。

还将根据错误轨道数或冗余轨道数等指标评估性能。可以使用类计算这些指标。为了定义跟踪的目标和真值对象之间的距离,此示例使用“自定义”错误函数 ,该函数在此示例的末尾列出。该函数将距离度量定义为位置、速度、尺寸和偏航距离的总和。提供跟踪算法有效性的多种度量。还将根据最佳子模式分配指标 (OSPA) 评估性能,该指标在每个时间步为跟踪算法提供单个分数值。可以使用类计算此指标。为 OSPA 定义的“自定义”距离函数与分配指标相同。

三、点对象跟踪器

系统对象假定每个传感器的每个对象一个检测,并使用全局最近邻方法将检测与跟踪相关联。它假设传感器在扫描中最多只能检测到一次每个物体。在这种情况下,仿真的雷达传感器具有足够高的分辨率,可以为每个对象生成多个检测。如果未聚集这些检测,则跟踪器将为每个对象生成多个跟踪。聚类分析为每个聚类返回一个检测,代价是具有较大的不确定性协方差并丢失有关真实对象维度的信息。聚类还使得当两个物体彼此靠近时(例如,当一辆车经过另一辆车时)很难区分它们。

运行该方案。这些结果表明,通过聚类分析,跟踪器可以跟踪场景中的对象。但是,它还显示与超车(黄色)关联的轨道在场景开始时从车辆前部移动到结束时的车辆后部。在场景开始时,超车位于自拍车(蓝色)的后面,因此雷达和视觉检测是从其前方进行的。当超车经过自拍车时,从超车的侧面,然后从其后部进行雷达检测,并且轨道移动到车辆的后部。

还可以看到聚类分析并不完美。当过往车辆经过自我车辆(紫色)后面的车辆时,由于不完美的聚类,两条轨道都略微向左移动。最初,由于在缺少部分侧边时创建了多个集群,因此在轨道上创建了冗余轨道。此外,在结束时,过往车辆上会出现冗余轨迹,因为其检测之间的距离增加。

四、GGIW-PHD 扩展对象跟踪器

在本节中,将使用 GGIW-PHD 跟踪器(带 )来跟踪对象。与每个轨道使用一个滤波器不同,GGIW-PHD 是一个多目标滤波器,用于描述场景的概率假设密度 (PHD)。为了对扩展目标进行建模,GGIW-PHD 使用以下分布:

Gamma:用于描述预期检测次数的正值。

高斯:描述目标运动学状态的状态向量。

逆维萨特:用于描述椭圆范围的正定矩阵。

该模型假定每个分布彼此独立。因此,GGIW-PHD滤波器中的概率假设密度(PHD)由几个GGEW分量的概率密度函数的加权和来描述。

PHD跟踪仪需要计算密度中每个组分的可检测性。可检测性的计算需要配置与跟踪器一起使用的每个传感器。可以定义这些配置以使用该类。

定义跟踪器

与点对象跟踪器(通常考虑检测的一个分区(簇))相反,跟踪器PHD创建一组检测的多个可能分区,并根据PHD滤波器中的当前组件对其进行评估。以下函数中的 3 和 5 定义了检测之间的下部和上部马氏体距离。这相当于定义每个检测群集必须至少相距 3 个分辨率,彼此之间必须至少相距 5 个分辨率。帮助器函数环绕并且不使用范围速率测量来划分侧面雷达的检测。

运行模拟。这些结果表明,GGIW-PHD可以处理每个传感器每个对象的多个检测,而无需先对这些检测进行聚类。此外,通过使用多个检测,跟踪器可以估计每个物体的位置,速度,尺寸和方向。图中的虚线椭圆形表示目标的预期范围。筛选器初始化函数使用多个组件指定多个可能的大小及其相对权重。可以扩展该列表以添加更多大小,同时增加计算复杂性。相比之下,还可以初始化每个检测的一个组件,其尺寸不确定性较高。这将使跟踪器能够自动估计对象的尺寸。也就是说,估计的准确性将取决于目标尺寸的可观察性,并且随着目标在自我车辆周围移动,轨道尺寸容易缩小和扩大。

GGIW-PHD滤波器假设检测分布在目标的椭圆中心周围。因此,轨道倾向于跟随车辆的可观察部分。这种可观察部分包括车辆的后表面,即直接在自我车辆的前面或车辆的正面直接在自我车辆的正后方,例如,车辆的后面和正面分别位于自我车辆的正前方和后面。相比之下,在仿真过程中完全观察到了通过车辆的长度和宽度。因此,其估计的椭圆与实际形状具有更好的重叠。

五、通用-PHD 矩形物体跟踪仪

在本节中,将使用 GM-PHD 跟踪器(带 )和矩形目标模型(自转)来跟踪对象。与 使用椭圆形状来追踪范围不同,允许使用高斯分布来定义所选形状。矩形目标模型由运动模型、方阵和方阵以及测量模型、方阵和方位角定义。 ​

前面为跟踪器PHD定义的传感器配置保持不变,定义除外。

这些结果表明,GM-PHD还可以处理每个传感器每个物体的多个检测。与GGEW-PHD类似,它也估计物体的大小和方向。滤波器初始化函数使用与 GGIW-PHD 跟踪器类似的方法,并针对不同尺寸初始化多个组件。

可以注意到,建模为矩形的估计轨迹与由纯色色块描绘的模拟真实值对象非常吻合。特别是,轨道能够正确跟踪车辆的形状以及运动中心。

 六、评估跟踪性能

使用定量指标(例如位置,速度,尺寸和方向的估计误差)评估每个跟踪器的跟踪性能。还要使用冗余和错误轨道等指标评估轨道分配。

分配指标

分配指标说明冗余和错误轨迹已由点对象跟踪器初始化并确认。这些跟踪是由于不完美的聚类而形成的,其中属于同一目标的检测被聚类到多个聚类检测中。相比之下,GGIW-PHD跟踪器和GM-PHD跟踪器在所有四个目标上保持轨迹,并且不会产生任何虚假或冗余的轨迹。这些衡量指标表明,两个扩展对象跟踪器都正确地对检测进行分区,并将它们与正确的跟踪相关联。

错误指标

 该图显示了此示例中使用的三种类型的跟踪器的平均估计误差。由于点对象跟踪器不估计对象的偏航和尺寸,因此它们现在显示在绘图中。点对象跟踪器能够以合理的精度估计对象的运动学。ego车辆后面的车辆的位置误差更高,因为当过往车辆超过该车辆时,它被向左拖动。当对象彼此靠近时,这也是不完美聚类的产物。

如前所述,GGIW-PHD跟踪器假设测量值分布在物体的范围内,这导致车辆可观察部分的轨道中心。这也可以在 TruthID 2 和 4 的位置错误指标中看到。跟踪器能够以约0.3米的精度估计物体的尺寸,用于前方和后方车辆。由于在函数中为车辆尺寸定义了更高的确定性,因此即使最佳拟合的椭圆具有非常低的长度,跟踪器也不会折叠这些车辆的长度。由于在所有尺寸上都观察到过往车辆(TruthID 3),因此其尺寸的测量比其他车辆更准确。然而,由于过往车辆相对于自我车辆机动,偏航估计的误差更高。

此示例中的 GM-PHD 使用矩形目标模型,并使用接收的测量值来评估目标边界上的预期测量值。此模型可帮助跟踪器更准确地估计形状和方向。然而,在矩形目标的边缘评估预期测量值的过程在计算上更加昂贵。

OSPA Metric

如前所述,OSPA 指标旨在使用单个分数来描述跟踪算法的性能。请注意,OSPA 充分捕获了跟踪算法的性能,该算法从 GM-PHD 降低到 GGIW-PHD 再到点目标跟踪器,如使用误差和分配指标所述。

比较时间性能

之前,了解了不同的技术、它们对目标模型所做的假设以及由此产生的跟踪性能。现在比较跟踪器的运行时间。请注意,GGIW-PHD 滤波器与 GM-PHD 滤波器相比具有显著的计算优势,但代价是跟踪性能降低。

七、总结

此示例展示了如何使用不同的方法跟踪在单个传感器扫描中返回多个检测结果的对象。这些方法可用于跟踪具有高分辨率传感器的物体,例如雷达或激光传感器。

八、程序

使用Matlab R2021a版本,点击打开。

打开下面的“ExtendedObjectTrackingExample.m”文件,点击运行,就可以看到上述效果。

关注下面公众号,后台回复关键词:使用雷达和摄像头对公路车辆进行扩展对象跟踪,发送源码链接。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>