APP下载

面向目标遮挡场景的车辆实时跟踪方法

2022-08-15林宇舜

交通科技与经济 2022年4期
关键词:卡尔曼滤波特征提取卷积

李 凯,林宇舜

(福建农林大学 交通与土木工程学院,福州 350108)

近年来,随着汽车数量迅速增长,车辆违章现象时有发生,为交通管理带来巨大压力。目前,在特定交通场景下,基于视频的目标检测跟踪算法虽然取得了一定成果,但极易受到外界环境的干扰,无法满足实时鲁棒的跟踪需求。因此,利用深度学习算法研究在复杂交通场景下提升跟踪的准确性及实时性十分必要。

纵观整个目标跟踪算法的发展历程,按其工作原理,可分为生成式模型和判别式模型。其中,比较经典的生成式模型有卡尔曼滤波、Camshift算法等[1-2]。判别式模型主要包含了相关滤波和深度学习算法,比较著名的相关滤波算法有KCF算法、CN算法等[3-4];深度学习算法主要有MDNet算法、SRDCF算法等[5-6]。通常深度学习算法跟踪的准确率要优于生成式模型和相关滤波,然而深度学习模型训练时需要通过多层网络训练分类器,导致网络传递需要经过大量的计算过程,实时性较低。

研究发现,判别式模型不论是速度还是准确率均优于生成式模型。因此,在后续研究中广大学者应针对判别式模型的不足,不断对算法实施改进和完善。Pan等[7]提出一种多模态目标检测技术来改善目标定位精度,同时还利用高置信度跟踪结果的反馈来避免模型损坏问题,通过加入深度特征,提升模型性能。ECO算法是在C-COT算法的基础上提出,它分别从降低模型更新的次数、减少冗余样本集以及去掉贡献小的滤波器3个方面对算法进行改进,由于目标运动速度过快,导致分类器的性能效果降低[8-9]。在SRDCF算法基础上,DeepSRDCF将固定值的学习率改变为自适应函数值,同时运用了卷积神经网络来提高分类的可靠性[10-11]。SORT多目标跟踪算法,通过计算上帧与帧目标检测框之间的IOU距离,结合匈牙利算法的关联匹配,实现目标跟踪[12]。Deep SORT算法的提出有效解决了遮挡问题,根据运动信息以及外观信息将预测的轨迹和检测结果进行匹配,同时引入了深度学习特征方法,有效减少了ID Switch的次数,但却难以满足实时性[13]。黄镓辉等[14]为解决传统相关滤波算法对无人机(UAV)拍摄视频中的车辆进行跟踪时,因目标车辆尺度变化而产生模型漂移问题,提出了一种改进的尺度自适应车辆跟踪算法,实现对目标车辆尺度的自适应。胡习之等[15]提出一种融合Camshift和YOLOv4的车辆目标检测算法,满足了车流量检测系统的实时性和准确性,但在复杂场景中其表现效果一般。许小伟等[16]为研究现有车辆目标检测算法的检测精度与检测速度相矛盾问题,提出了一种小型化的改进YOLOv3深度卷积网络实时车辆检测及跟踪算法,但精度略有不足。

为实现在复杂交通背景下的车辆实时鲁棒跟踪,采用深度学习算法,提出了基于卡尔曼滤波与动态卷积的轻量级跟踪方法,并在公开的UA-DETRAC车辆数据集上进行测试,验证该方法的实时性及抗遮挡性。

1 车辆跟踪方法

1.1 卡尔曼滤波车辆运动状态估计

卡尔曼滤波作为一种高效的回归数据处理算法,可以根据检测得到目标位置信息(即使存在噪声的干扰),对下一帧的目标走向进行预测。因此,被广泛应用于机器人导航、导弹的追踪以及图像处理等场景中。文中采用卡尔曼滤波对车辆运动状态进行估计,主要包含预测和更新两部分。其中,预测部分是车辆在移动的过程中,将上一时刻检测到的车辆信息作为初始条件,借助状态转移函数来预测车辆位置,需要估计跟踪轨迹(track)的两个状态均值(mean)和方差(covariance):均值为x=[cx, cy,r,h, vx, vy, vr, vh],表示车辆的位置信息。cx和cy表示检测框的中心坐标,r为长宽比,h为宽,其余表示各自的速度变化值。协方差是在状态估计中状态转移矩阵由状态量与其导数构成,表示车辆速度和位置的相关性。

X=Ax

(1)

式中:A为状态转移矩阵,x为轨迹在t-1时刻的均值。

基于t-1时刻的状态x,可以预测在t时刻的状态X。根据t-1时刻的协方差PK-1和系统噪声矩阵Q,预测t时刻的协方差矩阵P,如式(2)所示。

P=APK-1AT+Q

(2)

在构建新的轨迹之前,通过对当前帧的检测并提取特征结果,采用卡尔曼滤波去预测这些轨迹在当前帧位置均值与协方差。然后根据预测的均值和协方差进行轨迹与检测结果(detection)的匹配。将轨迹与新检测目标的检测结果采用余弦距离进行表观特征匹配,利用马氏距离对基于表观特征的相似度矩阵进行修正。

更新部分则是当对轨迹匹配成功之后,需要对其各种数据根据匹配对的检测结果进行更新。通过预测值与检测的目标值不断预测和更新计算,使更新目标的状态得到优化,即通过从预测到更新再到预测的方式对车辆运动状态进行更新。

K=PHT(HPHT+R)-1

(3)

XK=X+K(YK-HX)

(4)

PK=(I-KH)P

(5)

在式(3)中K表示卡尔曼增益,卡尔曼增益用于估计误差的重要程度,H将轨迹的均值向量映射到检测空间,R为检测器的噪声矩阵。式(4)中,YK-HX计算了检测结果和轨迹的均值误差,得到更新后的均值向量XK和式(5)中的协方差矩阵PK。

1.2 基于动态卷积的表观特征提取

1.2.1 动态卷积

与传统特征提取网络中的静态卷积相比,动态卷积对特征提取能力更强。因为它可以根据输入图像的不同,动态生成多个并行的卷积核进行调节卷积参数。其实现过程与SENet相类似[17],两者均采用注意力机制思想,但侧重点却有不同,其中动态卷积是基于卷积核,而SENet是基于通道数。

动态卷积网络是由注意力机制模型计算卷积核权重以及卷积核的加权求和两部分组成。如图1所示,基于注意力机制计算权重网络框架相对简单,由全平均池化层和两层全连接层组成。而在对多个卷积核进行加权求和时,由于卷积核的尺寸较小,造成的额外计算量也非常少。

图1 动态卷积运算流程

随着不同特征的输入,将动态生成的权重值分别与对应的卷积核相乘再相加,使得聚合而成的卷积不再是一个简单的线性函数,而是通过注意力对卷积核进行非线性加强,不仅不会对网络的深度造成影响,还大大降低了额外的计算成本,而且模型的表达能力更强,使得基于动态卷积的神经网络具有更强的特征提取能力。

1.2.2 基于动态卷积的轻量级网络

针对遮挡问题会引起IDSW较高的情况,首先在ResNet网络中引入了动态卷积[18],加强特征的提取能力,从而降低IDSW的转化次数。由于ResNet网络结构比较复杂,特征提取需要消耗大量时间,为满足车辆跟踪的实时性需求,选取了网络结构相对比较简单的Shufflenet网络[19],对ResNet网络进行替换。此外,轻量级特征提取网络造成精度损失较大,选择将原网络中的静态卷积改为动态卷积,并通过实验验证加入动态卷积的轻量级特征提取网络对跟踪性能提升的有效性。

为提升特征提取网络的表达效果,首先将ResNet网络中的静态卷积替换为动态卷积,具体操作如图2所示,通过注意力机制思想,根据不同图像的输入特征动态生成相应卷积核(Dy-Conv)[20],利用生成的动态卷积核更新滤波器,并在图像上滑动,将权重矩阵与输入作内积处理以提取相关特征。由于原ResNet网络是由多个残差块构成,因此,在做内积之前还需要将原特征图进行降维处理,然后将二者进行拼接,经Relu函数处理后,作为残差模块的输出。构成基于动态卷积的ResNet(ResNet with Dynamic Convolution)特征提取网络,简称Dy-ResNet特征提取网络。

图2 基于动态卷积的Resnet部分结构

然而,ResNet网络结构本身相对复杂,对特征进行提取时需要消耗大量的时间,影响了跟踪的实时性。因此,为了提升跟踪速度,采用更加轻型的Shufflenet特征提取网络,由于在该网络中使用了通道分离操作,大大减少网络分支,节约了计算成本。由于网络结构简单,在特征提取时含有大量噪声干扰,影响实验效果,在不影响Shufflenet整体网络结构的条件下,将其静态卷积替换为动态卷积。ResNet与加入动态卷积的Shufflenet网络相比,在模型精度没有太大损失的情况下,加快特征提取速度,提升跟踪的实时性。部分基于动态卷积的Shufflenet(Shufflenet with Dynamic Convolution)网络结构如图3所示,简称Dy-Shufflenet。

图3 基于动态卷积的Shufflenet部分结构

最后通过采用veri数据集对加入动态卷积前后的ResNet与Shufflenet特征提取网络进行训练[21],得到车辆的重识别模型,并将其导入到车辆的跟踪算法中,用作车辆的表观特征提取,对于图3检测框中每一辆车都会得到一组128维的特征向量,用作后续车辆跟踪的相似度计算。

1.3 车辆跟踪的实现

为了实现对车辆的实时鲁棒跟踪,首先需要对当前视频中的车辆进行检测,得到各个车辆的运动信息,即候选框参数,将其作为跟踪模型的初始化,利用卡尔曼滤波对目标车辆的候选框进行预测。同时,为降低由遮挡问题带来的IDSW,提高跟踪效率,采用基于Dy-Shufflenet特征提取模型对检测框中车辆的表观特征进行提取,即每个检测框中车辆都会得到一组128维的特征向量,将其用于相邻帧间车辆的相似度计算。当目标首次出现,则为其分配一个卡尔曼跟踪器,更新相应参数值;若该目标并非首次出现,则计算前后两帧的车辆运动特征的马氏距离和表观特征的余弦距离,最后采用匈牙利算法利用目标车辆的运动特征与表观特征进行关联。当前后帧间的对应目标成功匹配,则更新卡尔曼滤波器参数值,同时对下一帧该目标出现的位置进行预测,并将检测框中的目标特征转为128维的特征向量储存下来;而对于没有匹配成功的检测结果,则将其定义为新目标,并为其分配新的卡尔曼滤波器进行后续帧预测;倘若出现没有匹配的跟踪结果,则可能由于遮挡使得车辆暂时消失而没有被检测出来,那么继续采用对应的卡尔曼滤波器进行下一帧的预测而保持当前的特征不变,当连续6帧后仍未匹配成功,则将其删除,并判定其已经从视线中消失。跟踪整体流程如图4所示。

图4 车辆跟踪结构

2 实 验

2.1 实验环境及参数设置

实验采用Pytorch深度学习框架,以Win10作为操作系统,GPU型号为GTX 1660Ti,处理器为intel core i7-9700。训练重识别模型所采用的训练数据集为veri,该数据集是利用20台不同角度的摄像机,耗时24 h拍摄而成,共含有776辆车的图像50 000多张。相同的车辆会在不同摄像机视角出现,经过处理后的数据集中包含的每个角度图片相对比较均匀,大概在6张左右。为提升ID特征识别的准确效果,从不同角度为每辆车挑选40~60张图片,构成训练集,利用训练的重识别模型进行跟踪性能评估。

2.2 模型训练过程

1)加载ResNet101预训练模型,进行权值初始化;

2)输入veri训练数据集,分别使用ResNet,Shufflenet,Dy-ResNet以及Dy-Shufflenet重识别算法进行卷积层和池化层处理,完成图像特征提取和压缩;

3)将提取的特征图像传入RPN,经过处理得到候选区域;

4)将候选区域和特征图传入全连接层进行识别分类。

2.3 实验数据及分析

利用公开的UA-DETRAC车辆数据集对跟踪性能进行评价[22],并验证文中所提车辆跟踪方法的有效性。该数据主要拍摄于北京和天津的24个不同道路、天桥等地,视频总量超过14万帧,共含有8 250辆车以及121万个标记边界框,其中包含了晴天、雨天、夜间及多云4个天气场景。

实验选取常用的跟踪评价指标:MOTA(Multiple Object Tracking Accuracy)、MOTP(Multiple Object Tracking Precision)、MT(Mostly Tracked)、ML (Mostly Lost)、ID Switch、FM (Fragmentation)、FP (False Positive)以及FN (False Negative)。通过计算8个指标来衡量跟踪算法的有效性。其中,MOTA是衡量多目标跟踪过程中所有发生的匹配错误指标;MOTP主要量化检测器的定位精度;MT表示真实目标与跟踪结果至少在80%的时间内能够成功匹配的数量占所有被跟踪目标的比例;ML表示真实目标与跟踪结果在小于20%的时间内匹配成功的数量占所有跟踪目标的百分比;ID Switch表示为真实目标所分配的ID发生变化的次数;FM表示在跟踪过程中被中断的次数;FN表示模型将正类样本预测为负类,而FP则是模型将负类样本预测为正类。

对于给定的车辆视频,首先利用基于深度学习的车辆检测算法,得到检测输出结果,并对框中的目标进行表观特征与运动特征提取,并通过计算前后两帧目标运动特征与表观特征的相似度,采用匈牙利算法对度量值进行最小权值匹配,完成数据的关联,实现车辆跟踪。为了对比不同特征提取网络的重识别跟踪算法对跟踪性能影响,随机挑选了视频中含有遮挡车辆的片段,利用基于注意力机制与多尺度融合的车辆检测算法进行初始化检测,分别使用ResNet,Shufflenet,Dy-ResNet以及Dy-Shufflenet重识别模型与卡尔曼滤波相结合实现对遮挡车辆的跟踪,最终得到在不同重识别方法下的对测试集中40个视频序列(其中包含车辆个数为3 300,帧数为54 723,标注框个数为37万)的跟踪评价结果,具体实验结果数据如表1所示。

从表1可以看出,采用ResNet方法时MOTA的值达到了77.83%,跟踪速度仅为20帧/s,随着动态卷积的加入,Dy-ResNet的MOTA有了明显提升,达到了82.57%,但跟踪速度却降低了25%。而采用轻量级Shufflenet方法的MOTA值只有74.54%,但跟踪速度却达到了27帧/s。虽然Dy-Shufflenet的重识别方法与Shufflenet相比,跟踪速度仅仅相差了2帧/s,但MOTA值却提升了5.71%。此外,与优化前的ResNet方法相比,MOTA达到了80.25%,比ResNet特征提取方法提高了2.42%,并且IDSW也有了显著降低,减少了近10%,优化后的跟踪速度提升了25%,表明文中提出的基于Dy-Shufflenet的车辆跟踪方法具有一定抗遮挡性与实时性。

为进一步探究ResNet与Dy-Shufflenet的抗遮挡性能,随机选取了两段含有遮挡车辆的视频序列,视频跟踪效果如图5所示。其中,实线跟踪框为文中跟踪算法的跟踪结果,虚线跟踪框为传统的ResNet重识别跟踪结果。

由图5(a)可知,在ID为32的车辆(箭头所指)被遮挡之前,两种算法的跟踪效果基本保持一致;在经过ID为27的车辆时被遮挡,导致ID为32的跟踪框暂时消失;图5(b)则是ID为32的车辆在被遮挡后重新出现时,传统的ResNet重识别算法出现了跟踪框的部分偏差,只能在大体上对车辆进行跟踪,而文中Dy-Shufflenet重识别算法仍然能够进行准确框选。两者在基于重识别特征提取方法都能够进行匹配的同时,也得益于多尺度融合与注意力机制的车辆检测算法对其跟踪轨迹进行校正的作用,表明文中的跟踪方法保持了良好的鲁棒性。

由图5(c)可知,在ID为37(箭头所指)的出租车被遮挡之前,两种跟踪算法赋予的ID相同;经ID为39的公交车长时间遮挡,图5(d)中原出租车再次出现时,传统的ResNet重识别算法会导致目标ID发生变化,使得ID由37转化为45,而文中Dy-Shufflenet重识别算法仍然能够赋予准确的ID标识,实现准确跟踪。表明当遇到长时间遮挡情况时,文中跟踪方法仍能够准确对目标进行跟踪,鲁棒性更强。

此外,分别采用ResNet与Dy-Shufflenet方法对图5中的两段视频跟踪效果进行定量分析,实验结果如表2所示。从表2可以看出,对于第一个视频片段,文中方法的MOTA值比ResNet提高了4.4%,其中IDSW降低了13%,FP与FN分别降低了9%和20.3%,同时,跟踪速率提升了35%;而对于第二个视频片段,虽然该片段中车辆较多,但该方法仍优于ResNet方法。

图5 ResNet与Dy- Shufflenet对遮挡目标重识别效果示例

表2 不同视频序列跟踪评价比对结果

3 结 论

1)车辆之间存在遮挡问题为车辆的检测跟踪带来严重干扰,对于交通管理部门而言,准确实时获取车辆信息十分必要。然而在复杂的交通场景下极易受到外界因素的影响,无法满足持续鲁棒的跟踪需求。

2)针对车辆之间的遮挡与实时性问题,提出了卡尔曼滤波与动态卷积的轻量化车辆重识别方法实现对车辆的跟踪,并在UA-DETRAC车辆数据集上进行实验测试和分析,实验结果显示该跟踪方法与传统的ResNet重识别跟踪算法相比,MOTA提升了2.42%,IDSW明显降低了10%,速度也提升了25%。

3)文中提出的车辆跟踪算法在具有一定抗遮挡能力的同时,还能满足实时性需求,从而为交通管理部门及时有效地获取交通信息和智能化交通管控提供强有力的支撑。

猜你喜欢

卡尔曼滤波特征提取卷积
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
脉冲星方位误差估计的两步卡尔曼滤波算法
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于Daubechies(dbN)的飞行器音频特征提取