房建武,王 贺,薛建儒,许宏科
(1.长安大学电子与控制工程学院,西安710064;2.西安交通大学视觉认知计算与智能车实验室,西安710049)
行车的3D 多目标跟踪是交通场景理解的一个核心问题,由于在自动驾驶,机器人导航和移动识别[1-3]等领域上的广泛应用而获得了很多关注。多目标跟踪的任务主要是将连续帧间的目标关联起来并获得运动轨迹。近年来,研究者们提出了许多基于RGB 视觉数据的方法。然而,由于外观相似、物体交互、频繁遮挡等问题,多目标跟踪领域仍面临诸多挑战。
本文致力于融合RGB视觉和3D激光雷达数据进行物体表示和跟踪。对于不同的物体,RGB图像有丰富的语义和颜色信息,而3D 点云有精准的定位、朝向和几何线索。基于此,结合3D 点云数据和RGB 数据,在物体跟踪中遇到的尺度变化、遮挡等问题可以被大幅弱化。而最重要的挑战性因素变成如何解决多帧关联过程中的ID互换问题和ID一致性问题。
现有对于多传感器融合的3D 多目标跟踪方法可以分为基于滤波器的方法[4]、基于分类的方法[5]以及基于深度学习的方法[6]。基于滤波器和基于分类的方法分别依靠于概率、统计、假设和约束目标分类函数。基于深度学习的方法通常使用卷积神经网络来优化对象之间的相似性并实现端到端的跟踪任务。在多目标跟踪问题中,由于目标函数和约束条件已知,优化算法能够取得较好的效果。其中,匈牙利算法[7]是一种在多项式时间内求解任务分配问题的组合优化算法,被广泛用于多帧目标集之间的度量和匹配。但是,面对本文涉及的多目标跟踪问题,匈牙利算法存在一个缺陷是由对象间距离过近导致ID 互换。图1是一个ID 互换的例子。其中,ID 8的骑者对ID 9骑者的超车行为导致ID互换,即初始ID 8 的骑者在超车ID 9 骑者后,其ID 变为了9。因此,我们提出了一种有效的融合方法来利用多传感器在对象关联中的优势抑制这种问题。具体来说,本文使用匈牙利算法作为基本框架,其相邻帧物体间的距离作为构建关联矩阵的参数,求当前帧中每一个对象到下一帧中相关对象的最小距离路径组合。为了解决ID互换的问题,本文进一步将RGB图像中的外观线索和3D激光雷达数据中的几何线索嵌入到目标对象表征中,并将这些表征反馈给匈牙利算法,获得了较好的跟踪性能。
图1 一个ID互换问题示例Fig.1 An ID-switch example
通过在新公开的BLVD 数据集[8]上对所提出的方法进行评估,本文方法取得了令人满意的跟踪性能。本文的主要贡献如下:
(1)结合相机和激光雷达传感器的优点互补来处理多目标的三维跟踪任务,并利用外观和几何特征来克服目标交互中的ID切换问题。
(2)方法在新发布的BLVD 数据集上进行了测试,结果展示了令人满意的性能。
基于相机数据的方法利用RGB 图像上物体区域的信息来完成物体相似性关联的任务。图像信息提取可被表示为空间数据编码结构封装空间和动态信息的的过程。文献[9]采用基于动态概率驱动映射的动态规划方法解决了目标关联问题[9]。在基于视觉相机的方法中,语义分割信息也起到一定作用。文献[10]中的跟踪器使用两阶段分割的方法,粗监督分割去除背景,精细无监督分割提取目标区域[10]。近来,孪生网络也被用于对象相似度匹配,以解决关联问题[11]。
激光雷达获得的三维密集点云通常用线性规划器、概率图形模型或CNN 网络构建有意义的中层表示并完成后续跟踪任务。早期的方法中,文献[12]是对密集点云进行混合地面分类和感兴趣区域识别。跟踪结果由基于卡尔曼滤波的动态几何模型得到的精准运动估计获得[12]。一些跟踪器把点云投影到2.5D 网格中并将网格根据时间组合成一个2.5D 的运动网格,之后使用恒速模型下的卡尔曼滤波器估计物体位置并且在2.5D 网格中进行数据关联[13]。点云还可以投影到一个虚拟的图像坐标系并使用多任务多线索的稀疏学习算法获得物体轨迹[14]。文献[15]中使用多个多假设拓展卡尔曼滤波器处理点云来跟踪2D 边界框的2D 位置,朝向和速度[15]。这些方法严重依赖于点云的精度。
数据融合的算法分为早期融合和晚期融合。早期融合使用多传感器信息来获得跟踪算法的融合输入。多传感器的信息被用于提升物体检测的精度,从而提升跟踪精度[16-17]。晚期融合方法对多种传感器信息进行独立的跟踪处理并且融合跟踪结果。比如说,跟踪器可以使用两个并行的均值偏移算法分别在图像和3D 点云上定位物体,并使用2D/3D卡尔曼滤波器获得物体轨迹[18]。文献[19]投影3D 点云到鸟瞰图以及主视图,结合RGB 图像信息获得一个端到端的网络,从而完成多模态融合任务[19],再通过训练好的CNN网络提取外观和几何线索,作为相似度计算模型的输入。文献[20]采用基本的置信度分配方法,对特征分支的输出进行融合,得到最终的相似度评分函数[20]。
在驾驶环境中,模型的输入是安装在自主车辆上的相机和3D 激光雷达获得的数据。多目标跟踪任务可以做出如下定义:给定输入数据(RGB 图像,3D 点云)以及物体的3D 边界框,来获得物体的轨迹估计。对于一个序列,给定一系列RGB 帧SRGB= [s1,s2,…,sn,…,sN]和3D 扫 描 帧SLiDAR=假设在第n帧包含k个物体检测DEn=[de1n,de2n,…,dekn]。多目标跟踪的核心问题是如何关联相邻帧间的物体。物体将根据出现的顺序获得由0 开始的索引号。对于每一个物体,将会有一个轨迹展示物体的移动路线。当同一物体驶出后再次返回视野内时,该物体被分配与之前相同的索引号。
图2展示本文的方法框架,其是一个两阶段的框架。首先,计算相邻帧物体距离关联矩阵,而后通过检查物体对间距离判断ID 互换的发生。如果一些物体对在计算物体间距时有较小的差值,把这些邻近物体对送入特征比较模块进行进一步的判断,并且将包含剩余物体的位置关联矩阵通过匈牙利算法获得关联结果。当不存在邻近物体对时,直接将包含所有物体的位置关联矩阵输入匈牙利算法,得到关联结果。
匈牙利算法[7]可用于二分图的最大权值匹配,常用的匈牙利算法计算是基于相应关联矩阵的,在多目标跟踪的任务中,邻接矩阵的参数可选择相邻帧间物体对之间的欧式距离。对于3D 物体跟踪方法,物体间的距离可由式(1)获得
图2 算法框架图Fig.2 The pipeline of method
其中,(x,y,z)是物体中心点坐标值。
使用位置关联矩阵的匈牙利算法是基于在行车中帧间距离更小的物体对有更大的可能性属于同一个物体的假设。因为多目标跟踪的主要任务是进行对象关联,所以没有把工作的重点放在对象检测模块上,而是以三维对象的真值作为输入。
在匈牙利算法的关联中,发现当两个物体空间邻近时,它们在关联后可能会切换ID。这个问题会导致大多数物体交互点的跟踪错误。在交互场景中,准确的跟踪大多是在物体之间速度差比较大的情况下发生的。
本文使用特征比较模块来增加跟踪精度。特征比较模块由外观特征和几何特征两部分组成。两部分获得相应的结果结合之后获得最终的匹配结果。与匈牙利算法相比,匹配结果具有较高的优先级。
在使用特征比较模型之前,应该对可能发生ID互换的物体进行区分。通过对位置关联矩阵的观察,发现错误跟踪结果通常在同一行上有两个大小相近的值。即当前帧有两个物体同时与上一帧的某个物体空间距离较近。因此做出如下假设:在关联矩阵中,存在与同一行上的匹配值相近的另一个值可能会引起误差跟踪。在基于欧氏距离的距离关联矩阵中,匹配参数表示该对象在相邻两帧中的移动距离。因此,假设同一行上小于最小值的两倍的值可以视为接近匹配值。方法是通过搜索距离关联矩阵来寻找近似值,并将这些对象的对应特征放入特征比较模型中。
(1)外观一致性关联
通过利用物体的三维中心坐标,可以得到该物体在RGB图像中的位置和属于该物体的密集点云。对于比较外观特征模型,将对象所占区域输入VGG-16 网络中提取特征向量。VGG-16 网络的输出为1000维向量。特征向量大小相同,其余弦相似度为:
其中uj和ul是1000维的外观特征向量。uji和uli是uj和ul的第i个值。注意,uj和ul分别取自两个相邻的帧。
(2)几何一致性关联
点云可以用来描述物体的几何特征。通过对三维点云的观察和理解,得知同一物体内部的三维点与同一物体中心点的均值和协方差为物体的表示提供了有效信息。对于不同的物体它们通常在三维点的数量和方向上是不同的。因此,将物体的几何特征向量描述为:
其中xmean,ymean和zmean分别是中心点与物体中其他点在x,y,z方向上的距离均值,xs,ys和zs是相应的协方差,n是物体中3D点的数目,α是相对自车运动方向的朝向角。利用余弦相似度测量相邻帧中两个3D物体之间的相似度的公式如式(4)所示:
其中tj和tl是9 维的几何特征向量,tji和tli是tj和tl的第i个值。假设tj和tl是公式(2)中相同物体的几何特征向量。使用公式(2)和公式(4)来计算两个对象的匹配相似度如式(5)所示:
对于输入特征比较模型的物体对,我们比较相似度得分,并选择相似度大的一对作为关联结果。
为了评估多目标跟踪方法的性能,我们在BLVD 数据集上对新提出的方法进行了测试,根据物体密度(低和高)和光照条件(白天和夜间)划分出四种场景类型。
BLVD数据集包含249129条3D标注,独立追踪实例4902 条,共214922 个物体点,3D 标注的5D 交互事件识别6004 条,5D 意图预测个体4900 个,BLVD 包含329 条训练序列和325 条测试序列。本文评价指标采用目前通用的MOT 评价指标[22]。
本文的方法在整个数据集上的测试结果如表1所示。整个数据集存在物体的序列共有617 个,在表1中,根据物体类别分为了行人、车辆、骑者三种。‘-H’表示使用匈牙利算法的方法;‘-F’表示使用匈牙利算法和特征比较模块的方法;‘-A’表示参考文献[21]使用的方法。
表1 多目标跟踪结果(↑表示越高性能越好,↓表示越低性能越好)Tabel 1 The results of multi-object tracking.(↑and ↓prefer a higher value and lower value respectively)
结果表明,基于特征比较模型的方法增加了MOTA,有效地解决了ID 互换问题。不包含特征比较模型的方法运行速度约为8帧/秒,嵌入特征比较模型后运行速度约为3 帧/秒。这两组方法在MOT度量中都显示出良好的结果,其中特征比较模型提供了更好的结果。本文方法在与AB3D方法的比较中展示了更好的跟踪准确性,特别是对于行人和骑者的跟踪过程。对于这一现像,主要是AB3D 方法对于检测到的物体需要与卡尔曼滤波预测结果进行重合判定,而对于行人和骑者由于其行动更灵活且体积更小,所以会有较多的检测丢失。
图3显示了在交互场景中验证特征比较模型的一个典型示例。第一行跟踪结果基于匈牙利算法,第二行跟踪结果基于匈牙利算法+特征比较模块。第一行编号为4 和5 的骑者由于相互接近,在第19帧时交换ID 编号,第二行编号为4 和5 的骑者在特征比较模块的帮助下可以维持自身ID 不变。在BLVD数据集中,不同密度场景的分布相对均衡,场景多,物体少,这些物体较少的序列提高了多目标跟踪的精度。
图3 交互场景下的物体ID互换示例Fig.3 The example of object ID-switch in interactive scenario
本文方法减少了切换次数,提高了跟踪精度。因为使用了来自数据集的物体坐标,所以MOTP、Rcll、Prcn值都很高。
本文提出了一种基于3D 激光雷达和2D RGB摄像机数据的驾驶环境下的多目标跟踪方法。我们以匈牙利算法为基本框架,提出了一种由外观模型的对象关联模块和几何特征组成的特征比较模型,用于校正匈牙利算法的错误跟踪。该方法已经在BLVD 数据集上进行了测试,并获得了良好的性能。