多目标追踪是目前在自动驾驶领域感知部分非常重要的一个研究主题,正确的目标信息才能提供正确的态势感知和为之后的决策避障部分提供基础。本文的目的是帮助大家能快速的了解什么是多目标追踪和它的作用。
首先上图!直接让我们来看一些应用的例子
多目标追踪对象的例子
从上图大家可以看出,我们要追踪的目标可以是各式各样,可能是人类,例如街上的行人、场上的运动员等等,也可以是汽车、飞机、船舶,甚至可以是显微镜下的细胞。虽然对象不尽相同,但是我们都有同一个目的,那就是想要确定这些目标的位置,去向和其他感兴趣的特征等等,这就是多目标追踪。研究多目标追踪的历史,会发现最初是在二战时用作对敌机的预警系统,基本思想是让雷达传感器发射能量,然后一些能量被飞机反射回来,再被雷达捕获,根据时间来推算距离和方位。时至今日,基于雷达的对飞机的追踪在国防和民用领域仍然有很多应用。
对于飞机的追踪
自从计算机视觉火了以后,多目标追踪也被广泛地用于基于图像识别后的目标追踪问题。层出不穷的追踪算法被提出,具体可以参考知乎里的这篇文章:
计算机视觉中,目前有哪些经典的目标跟踪算法?www.zhihu.com
当然也有很多用其他传感器的例子,例如使用激光雷达3D点云:
基于激光雷达的多目标追踪https://www.zhihu.com/video/1234334539826683904
可以看出,根据需要追踪对象和使用的传感器的不同,多目标追踪可以被应用在各种不同的场景,同时也有各种不同的问题。这篇文章主要是侧重于在于船舶自动驾驶领域的应用。
多目标追踪在船舶领域的定义
在船舶领域,多目标追踪主要是指通过对传感器测量值的一系列处理,来确定观测区域里目标的数量和每个目标的状态。这里的状态可以是运动状态,例如位置、速度、航向等等,也可以是其他特征,例如尺寸、类型、装在的货物。这个定义其实跟汽车或者飞机自动驾驶没什么区别,具体还是要看分析的情景。
多目标追踪的类型
由于不同的目标类型,不同的目的,我们追踪目标的方式也不尽相同。首先要提的是,最基本的点目标追踪(Point Object Tracking)。其实这也是根据我们做出的基本假设而来,即每个时刻每个目标只会产生至多一个测量结果。换句话说,我们要么探测到了单个目标的一个测量结果或者压根没探测到这个目标。这个假设简化了问题,让最开始的目标追踪能够被执行,并且在传感器解析度不高的时候,这个假设是非常合理的。在计算机视觉方面,虽然有一个大方框来标识物体,但本质也是点目标,框不过是显示出了目标大小尺寸的特征。我本人的研究也是从点目标追踪开始,在大多数例子中还是十分有效的。
与之相对,我们能想到就是,目标不再是单单一个点,而是一个点群。那第二种类型的多目标追踪就叫做拓展目标追踪(Extended Object Tracking), 这主要是由于传感器解析度的提升以及目标的尺寸和距离,我们能探测到的不单单是一个点了。也就是说,一个目标可能返回多个测量结果,例如一艘3公里外的100米的豪华邮轮,你的雷达返回不只是一个点,这么大的一个目标,你的雷达解析度再差可能也会多个测量,像是船首和船尾。因此你也获得了更多的拓展信息,例如形状。
另一种情况是集群目标追踪(Group Object Tracking),我们故意把多个目标看作一个大目标,可以用在例如对于同行的行人,船队的研究。这种类型多用于当单目标追踪不可行的时候,或者我们想学习群体行为的时候。
第三种与点目标追踪相对的情况是多路径传播的追踪(Tracking with Multi-Path Propagation)。前面我们提起过雷达的探测原理,对于船舶来说,雷达发出的能量也可能通过海面或者大气反射又回到接收器,那么我们计算距离的公式就出了问题,因为能量传播的距离由于反射增长了,并且也可能出现单个目标产生多个测量结果。对于汽车也是,有可能因为地面积水出现该问题。
最后一种就是,一个测量结果却对应着多个目标,即跟踪不能分辨的目标(Tracking with unresolved targets)。这种情况的出现往往是因为两个目标靠的太近,并且拥有相似的状态,因此探测器给了同一个结果。
多目标追踪在船舶领域的障碍
我们面对的主要挑战可以从两方面来说,第一是从目标的角度,第二是从探测器或者传感器的角度。
从目标角度:
- 目标的数量未知
- 目标的状态未知,且不同目标具有不同运动模型
- 目标可能消失或者出现,例如离开或者进入我们的探测视野
- 目标虽然在探测范围中,但是被其他物体遮挡
从传感器角度:
- 没探测到目标
- 错误探测: 探测到的是噪音
- 传感器融合: 不同传感器的探测到不同特征,或者是一个探测到了,另一个没有,此时该信哪个传感器等等。
两个方面结合起来,目标的数量既不确定,探测结果也有没探测到的可能和错误结果,因此对于数据关联(即匹配测量结果和真实目标)的处理难度大大增加。
总结来看,多目标追踪的障碍其实就是大量不确定性的存在,在之后我会进一步介绍的处理方式也主要在于如何处理不确定性。在之前的文章里,我也提到过船舶领域不同于汽车,出错的成本很高(可以参考专栏文章:https://zhuanlan.zhihu.com/p/122441091),这些不确定性都会增加风险。因此我们的挑战是如何处理这些不确定性和降低风险。