胡随芯 常艳昌 杨俊 章振原
(1.武汉理工大学,武汉 430070;2.现代汽车零部件技术湖北省重点实验室,武汉 430070;3.湖北三环车桥有限公司,谷城 441700)
多目标跟踪可为智能汽车决策规划、控制执行提供可靠的依据[1],有离线和在线两种方式,在线方法实时性好,适用于高速场景,但其易受到目标遮挡和检测器漏检、误检的影响,因此设计鲁棒性强的特征关联模型十分重要。为解决在线多目标跟踪中的难题,近年来许多学者进行了大量研究。E.Bochinski[2]等根据高精度检测结果,将前、后帧的交并比(Intersection Over Union,IOU)作为相似性度量参数设计了一种高速跟踪算法,该算法耗时极短,但只采用了单一度量模型,无法应对物体变形较大及目标相互遮挡的场景。A.Bewley[3]等提出一种简单的在线实时跟踪(Simple Online and Realtime Tracking,SORT)方法,将卡尔曼滤波引入图像空间,使用轨迹预测的边界框与检测边界框重合率作为相似性度量参数。N.Wojke、A.Bewley[4]等对SORT算法进行改进,提出了DeepSort 算法,利用深度神经网络提取行人外观特征,跟踪准确性明显提升,但实时性不如SORT 算法。S.Sharma 等人[5-6]利用深度神经网络提取跟踪目标的3D边界框,将二维图像扩展到三维空间,分别计算目标在2D、3D 空间的相似性。G.Gunduz[7]等人提出了一种轻量级的多目标跟踪算法,融合目标RGB颜色直方图和检测框尺寸相似性构造关联矩阵,跟踪速度较其他算法快6~20 倍,但该算法只关注单一RGB 外观特征,无法解决光照变化、阴影、遮挡等问题。
综上,多目标跟踪算法研究已取得较大进展,但在高速场景下,由于车辆移动速度快、目标相似度高,为了保证跟踪的鲁棒性,除了外观模型,还应注重运动模型和尺寸模型的判别能力。因此,本文融合HSV颜色直方图和HOG 方向梯度直方图构造目标外观相似性模型,弥补单一颜色特征对光照、阴影敏感性强的缺点。利用卡尔曼滤波对已有的跟踪轨迹进行预测,构建预测与检测间的位置相似性模型和尺寸相似性模型,同时针对预测超出图像边界框导致相似性度量不准确的问题提出解决方法,以减少目标因相互遮挡造成跟踪失败等问题。
本文算法采用逐帧关联方式,利用安装在移动车辆上的单目相机获取车辆前景区域图像序列其中n为图像的数量,将t时刻图像It作为卷积神经网络(Convolutional Neural Networks,CNN)的输入,输出当前时刻检测结果集合,其中为t时刻第i个目标检测框,Nt为检测框的数量,的表达式为:
式中,()为检测框的左上角坐标;分别为检测框的宽度和高度;为检测框的置信度。一个物体可能对应多个检测框,因此本文先采用非极大值抑制(Non-Maximum Suppression,NMS)[8]选取置信度最高的检测框,从而除去冗余检测,并融合多种特征模型设计相似性度量矩阵,利用匈牙利二分图匹配将t时刻检测与(t-1)时刻轨迹关联,算法框图如图1所示。
图1 本文采用的算法框架
本文基于卡尔曼滤波进行运动车辆跟踪,目标的运动方程和观测方程为:
式中,xt、xt-1分别为t时刻和(t-1)时刻目标运动状态变量;yt为t时刻目标观测变量;F为状态转移矩阵;ut-1为过程噪声,满足正态分布且其协方差为Q;H为观测矩阵;wt测量噪声,满足正态分布且其协方差为R。
卡尔曼滤波假设目标处于匀速直线运动状态,因此对应的噪声协方差矩阵为单位对角阵。给定上述参数后,根据卡尔曼滤波递推可得到预测的状态方程:
预测的状态协方差矩阵为:
卡尔曼增益方程为:
更新后的状态方程和协方差矩阵分别为:
式中,xt-1/t-1为(t-1)时刻的最优估计状态;xt/t-1为t时刻的预测状态;Pt-1/t-1为(t-1)时刻更新后的协方差矩阵;Pt/t-1为t时刻的误差协方差预测矩阵;Kt为t时刻的卡尔曼增益;为t时刻最优估计状态;为t时刻最优估计协方差矩阵。
目标的状态变量可以表示为xt=(x,y,w,h,vx,vy,vw,vh)T,其中x、y为目标中心在2个坐标轴方向的投影分量,vx、vy为目标运动速度在2 个坐标轴方向的分量,w、h分别为目标包围框的宽度和高度,vw、vh分别为目标包围框宽度、高度的变化率。目标观测变量yt可由检测边界框的信息得到,yt=(xt,yt,wt,ht)T。在卡尔曼滤波的初始阶段,可将目标的速度初始化为0。得到目标的初始状态后,根据后续帧中的检测结果利用卡尔曼滤波对目标状态不断预测、更新,该过程对应目标跟踪过程。
2.2.1 外观相似性
HSV颜色直方图能够直观表达物体色彩和色调,更类似于人类视觉。HOG特征是一种描述图像局部纹理的特征,通过统计图像局部区域的梯度直方图构成图像特征。考虑到汽车具有相对稳定的结构,其图像的局部结构可以用梯度边缘分布很好地描述,为保证在提取图像颜色信息的同时也能提取图像纹理信息,本文将HSV特征和HOG特征进行融合来描述轨迹与检测之间的外观相似度,融合后的外观特征用FH来描述:
式中,f1、f2分别为长度为256维的HSV特征和长度为36维的HOG特征向量,融合后的特征维度为292;ω1、ω2分别为f1、f2的权重,本文中令ω1=ω2=0.5。
为了避免不同数量级的特征在融合时数量级大的特征淹没数量级小的特征,在此将两种特征进行正则化,然后按照各自的权重进行加权拼接得到融合后的外观特征FH。采用卡方距离(Chi-Square)计算目标Di和轨迹Tj的外观相似性:
分别利用HSV颜色直方图模型、HSV颜色直方图融合HOG 特征模型计算图2a 和图2b 中同一目标的相似度,从图中可以看出,同一目标光照情况变化较大。使用单一HSV颜色特征计算相似度为0.26,而使用融合后的外观特征计算相似度为0.14,由式(10)可知,卡方距离越小,相似度越高。颜色直方图对目标旋转和部分遮挡具有较强的适应能力,而HOG直方图对光照变化具有较高鲁棒性,融合颜色和纹理的外观特征可更加准确地反映目标间的相似性,为目标跟踪提供更可靠的关联。
图2 外观相似度比较
2.2.2 尺寸相似性
尺寸相似性用来描述当前帧轨迹边界框与检测边界框的尺寸差异。与其他低速跟踪应用(如传统行人跟踪)相比,高速场景中移动相机获取的图像放大了检测框几何变化,会导致检测的边界框大于或者小于物体的实际尺寸,因此不直接比较两帧检测框之间的相似性,而是将当前帧的跟踪轨迹根据卡尔曼滤波外推到下一帧,尽量减小移动速度较快带来的目标尺寸差异。由检测框信息可得Bbox=(x,y,w,h)T,定义尺寸参数为z=(w,h)T,则t时刻第i个检测目标尺寸参数为zi=(wi,hi)T,将(t-1)时刻第j个跟踪目标边界框外推到t时刻,有zj=(wj,hj)T,计算zi与zj之间的尺寸相似度:
将轨迹边界框外推到下一帧时,若目标出现在图像边缘区域,预测的边界框可能超出图像区域,而检测器输出的检测框只在图像区域内,如仍采用预测的边界框会导致相似性判断不准确,因此需去除超出图像区域的预测部分,只保留图像区域内的预测结果。假设图像的宽度为W,高度为H,检测框可改写成Bbox=(x1,y1,x2,y2)T,其中x2=x1+w、y2=y1+h,根据图像框架限制更新Bbox:
根据式(12)对第j个轨迹尺寸参数zj=(wj,hj)T进行更新,,其中,分别为更新后的轨迹边界框的宽度、高度,分别为更新后的轨迹边界框左上角和右下角坐标。将更新后的结果带入式(11)计算轨迹与检测的尺寸相似度:
图3 显示了图像序列第133 帧~第136 帧中货车的检测边界框与预测边界框的宽度变化,图像宽640 像素,高480像素。从图3中可以看出,货车位于图像区域边缘,上一帧预测的边界框超出了图像区域,将会导致同一目标检测框与预测框尺寸相似性存在较大误差。将超出区域的部分去掉,更新后的边界框宽度更接近当前帧的检测框宽度,越小,目标的尺寸相似度越高。若不更新预测边界框计算,第135 帧和第136 帧中目标尺寸的相似度为0.051 2,更新后尺寸相似度为0.016 7,因此调整后的尺寸相似度在跟踪过程中能更准确地判断目标间的关联性。
图3 连续帧边界框尺寸
对于在线多目标跟踪,数据关联的目的是将当前帧的检测框分配给已存在的轨迹,本文根据外观、尺寸、位置3个方面的相似性来构造相似性度量矩阵,从而将目标与轨迹相关联。假设截止到t时刻,跟踪器在此刻输出的轨迹集合T为{T1,T2,…,TN},当前帧检测器输出检测集合D={D1,D2,…,DM},将Sij定义为目标Di和轨迹Tj之间的相似度,本文从外观相似性、尺寸相似性以及位置相似性3个方面综合比较目标和轨迹的相似性,。其中外观和尺寸相似性已在2.2 节中给出,位置相似性则用轨迹预测框与检测框之间的交并比(IOU)来构造,位置相似性计算方式为:
式中,Sarea(i)为第i个检测目标的边界框面积;为第j个跟踪轨迹的预测更新后边界框的面积;为第i个检测框与第j个预测更新后边界框的重合面积。
综合以上特征,构造目标Di和轨迹Tj之间的相似度Sij,由特征线性加权求和得到:
式中,λ1、λ2、λ3分别为各特征对应的权重,λ1+λ2+λ3=1。
本文开展了大量的穷举试验,发现当λ1=0.2、λ2=0.3、λ3=0.5 或在此附近轻微波动时,取得的跟踪效果最好。
根据第i个目标Di和轨迹Tj之间的相似度Sij构造M个检测与N个轨迹之间的关联矩阵SM×N:
式(16)的最优数据关联可通过匈牙利二分图算法求解,其目标是最小化总体关联的代价。
匹配完成时可能出现两种情况,即存在未匹配的目标或存在未匹配的轨迹。
存在未匹配的目标,可能是新目标出现或检测器误检造成的。对此,本文规定若连续T1帧检测到同一目标,则认为出现新目标,为其创建新的轨迹并将其加入跟踪列表,初始化目标的速度为0。若连续T1帧未检测到,则判断为误检并删除该目标。T1越大,对误检判断越准确,但也会造成正常出现的轨迹延迟,因此本文设T1=2。
存在未匹配的轨迹,可能是旧目标消失、检测器漏检或目标被遮挡。针对这种情况,本文规定若连续T2帧未检测到同一目标,则认为该目标消失,将其从轨迹列表中删除。若在T2帧中检测到了目标,则判断为漏检或遮挡,利用卡尔曼滤波预测作为下一帧的状态直至重新检测到目标。T2越大,对漏检以及遮挡判断越准确,但也会对正常消失的轨迹造成延迟,因此本文设置T2=3。
本文试验平台配置Intel i5-7200U 处理器,8 GB 内存,运行Python 3.5。采用KITTI[9]数据集和自采的广州番禺区高速公路数据集:KITTI数据集中序列2、3、4、5、6、8、10、11、12、18、20 为车辆快速移动场景,基本满足本文高速路车辆多目标跟踪的要求,记作KITTI-Car 类数据集;自采的高速路数据集共1 499幅图像,其中698幅作为训练集,801 幅作为测试集,使用相机的帧率为30 帧/s。KITTI数据集利用RRC[10]网络获取检测结果,自采的高速路数据集利用YOLOv3[11]网络获取检测结果。
采用the CLEAR MOT Metrics[12]对算法进行评估,包括跟踪对象的数量至少占生命周期的比例(MT)>80%、跟踪对象的数量不到生命周期的比例(ML)>20%、多目标跟踪正确率(MOTA)、多目标跟踪准确率(MOTP)、身份混淆数(IDS)、平均每帧运行的时间(runtime)。其中,MOTA 是综合性指标,ML、IDS、runtime 越小越好,MT、MOTA、MOTP越大越好。
为定量分析本文提出算法的有效性,统计KITTICar类数据集的跟踪结果,如表1所示。可以看出,本文算法具有较高的准确率,综合性能较好。但不同序列中检测器漏检、误检及目标遮挡等导致本文算法在各序列上的表现有较大差异,其中序列11、20场景中目标数量庞大,目标相互交错、遮挡严重,跟踪效果较差。
表1 KITTI-Car类本文算法测试结果
将本文算法与其他经典算法在KITTI-Car 类数据集上进行对比,结果如表2 所示。SORT 跟踪算法虽然运行速度快,但因其只将IOU 作为关联依据,在目标相互遮挡时易产生错误跟踪,DeepSort算法将深度学习得到的特征用作目标关联依据,跟踪正确率提高,但也拖慢了跟踪速度。本文提出的基于多特征融合的多目标跟踪算法在综合性能评价指标上优于其他算法,并且在跟踪正确率和跟踪速度上取得了较好的平衡。
表2 KITTI-Car类不同跟踪算法测试结果
为评估本文方法中不同关联成分的影响,在自采高速路数据集上进行了验证,结果如表3所示。表中pose、app、shape分别代表位置、外观和尺寸3个方面的相似度模型,从表3中可以看出,对检测结果使用非极大值抑制(NMS)显著提高了跟踪正确率,加入外观特征后,IDS指标明显降低。融合多种特征进行关联后,虽然跟踪速度下降,但MOTA、MT、ML、IDS逐渐提升,而MOTP主要受标定和检测结果影响,受跟踪结果的影响较小。
表3 不同关联成分在自采数据集上的跟踪结果
对本文算法在实际道路场景进行定性分析,图4、图5 所示分别为采用SORT 算法和本文算法在KITTICar 类数据集序列4 上的部分测试效果,该场景车流量大、车辆严重遮挡。可以看出,SORT 算法由于只采用IOU 匹配,跟踪效果较差,而本文提出的跟踪算法对复杂的交通场景有较好的处理效果,跟踪鲁棒性更强。
图4 SORT算法在KITTI-4数据集上的跟踪效果
图5 本文算法在KITTI-4数据集上的跟踪效果
进一步在真实高速场景下对本文算法进行测试,图6、图7 分别给出了采用SORT 算法和本文算法在自采的广州高速路数据集上的部分测试效果。可以看出,SORT 算法无法较好地应对多帧漏检的情形,易发生跟踪丢失,而本文提出的处理策略使得目标在漏检后重新出现时能持续在同一条轨迹上,具有更好的跟踪效果。但本文算法是将目标检测的结果直接作为观测,因此尚存在一些不足:检测器多帧漏检时,无法持续稳定地跟踪目标;目标发生严重遮挡时,目标身份易混淆。
图6 SORT算法在高速路数据集上的跟踪效果
本文提出了基于多特征融合的多目标跟踪算法,构造简洁高效的关联模型,较好地解决了目标相互遮挡导致跟踪失败的问题。同时针对检测器漏检、误检,目标出现、消失等情形提出了处理策略。试验结果表明,本文提出的车辆跟踪方法在实际高速道路图像序列中获得了准确的跟踪结果,且算法的运行速度满足高速行车要求。但在目标严重遮挡的场景中该算法尚有不足,还需完善。