基于卡尔曼滤波-LSTM模型的车速估计方法
2023-01-16易可夫
易可夫,陈 托,郝 威
(1.长沙理工大学 汽车与机械工程学院,湖南 长沙 410114;2.长沙理工大学 交通运输工程学院,湖南 长沙 410114)
随着新型城镇化的深入推进、居民经济收入水平的显著提高,我国进入到以私人小汽车爆发式增长为核心特征的机动化发展阶段,机动车出行需求持续快速增长。尽管如今城市道路基础设施建设逐步完善,但由于汽车保有量持续上升,城市道路交通事故数量明显升高,机动车交通违法也成为城市道路交通事故的最主要成因[1]。信号交叉路口作为城市道路结点,在路网中起着各路交通流互通作用,与普通路段相比更容易诱发交通事故。据统计,2015年我国有30%的交通事故发生在交叉口,其安全问题仍亟待解决[2]。
车速是表征机动车运行状态的指标之一。掌握车速的分布特征是进行交通规划、交通设计、交通管理的基础,对国内交通流理论研究、交通安全研究有着重要意义。有研究表明,车速分布对交通事故率有一定影响,掌握车速分布类型和特征能为道路安全性提供理论指导[3]。信号交叉口作为事故的主要发生地,进行速度分布研究是有必要的。为了高效获得信号交叉路口机动车速度数据,选择合适的速度估计方法也是十分重要的。
速度估计方法可分为非视频识别估计方法和视频识别估计方法。针对非视频识别估计方法,姚亚军等[4]通过地埋环形线圈检测器获得通过车辆的时间-振荡频率曲线,利用曲线变换后的斜率实现车辆速度的测量。任彦铭等[5]采用人工手持雷达测速枪对城市主干道进行车速采集,并对采集数据讨论了不同类型主干道的车速分布类型、集中趋势和离散程度。ZHANG等[6]通过两个位置的传感器进行车速估计,并采用动态时间规整算法(Dynamic Time Warping,DTM)来减少传输数据失真,其速度估计准确率高于98%。
基于视频识别车速估计可分为传统视频估计方法和深度学习视频估计方法。针对传统视频估计方法,El等[7]采用背景减法来检测车辆,利用加速稳健特征算法(Speeded Up Robust Features,SURF)对车牌等显著特征进行匹配,生成稀疏深度图后,根据距离变换与帧差估计平均速度。杨轸等[2]提出一种基于视频的交叉口内目标运动轨迹自动采集方法,通过视觉前景提取算法(Visual Background Extractor,ViBe)与混合高斯模型(GaussianMixtureModel,GMM)相结合的方法提取目标前景,然后基于光流的方法实现目标跟踪,利用透视变换原理得到目标的真实轨迹与运动参数,从而实现对目标加速度与速度的估计,估计准确率达到91.71%。ARINALDI等[8]采用支持向量机和混合高斯背景减法对交通视频内的车辆进行检测和分类,采用核相关滤波算法(Kernel Correlation Filter,KCF)对检测车辆的位置进行短期的跟踪后,利用帧差法来估计车辆速度。TOURANI等[9]通过混合高斯背景减法进行车辆检测,利用形态学变换与过滤来保留车辆对象,采用斑点跟踪算法进行跟踪。根据连续帧内行驶的距离估计车速,估计准确率达94.8%。针对深度学习视频估计方法,ARINALDI等[8]利用Faster RCNN模型检测交通视频中的车辆后,使用KCF跟踪算法进行跟踪,通过跟踪距离与跟踪时间估计车辆速度。LI等[10]利用YOLOv3和Sort算法对无人机拍摄视频中车辆进行检测和跟踪,通过运动补偿消除背景运动的影响,得到车辆的真实轨迹。随后基于映射关系,以车辆的实际尺寸为先验信息,建立高斯模型估计图像中的车辆尺寸,实现自适应像素尺度恢复和速度计算。
综上所述,基于非视频的车速估计方法可靠性更高,但部署需要花费较多的人力和硬件投入。而基于视频的车速估计方法在保证一定精度的同时,可使采集过程更加高效和便捷。而且,随着深度学习方法的兴起,基于视频的方法有效地降低了光照影响与对视频质量要求,提高了对密集车流的检测效果。
为了更加准确、高效地获取机动车交通数据,本文借鉴深度学习的多目标跟踪技术,设计视频识别方法代替人工处理。考虑到跟踪任务未来应用于监管的处理速度需求,初步选择深度关联度量的简单在线实时跟踪方法(simple online and real-time tracking with a deep association metric,DeepSort)作为主要架构,融合速度较快的检测器YOLOv4并对其进行改造。通过构建轻量级目标检测算法YOLOv4-MobileNetV2,解决传统算法对道路机动车重叠检测效果差,检测速度慢等问题,也减少了模型参数,达到模型小型化的目的。同时针对DeepSort算法对机动车跟踪过程中的标签切换(ID-Switch)现象考虑不足,使得检测结果不适于车速统计分析的缺点,通过融合卡尔曼滤波与长短时记忆网络(Long Short Term Memory networks,LSTM)两个模型的轨迹匹配结果,结合DeepSort算法的匹配策略进行多目标跟踪。最后融合YOLOv4-MobileNetV2和改进后的多目标跟踪算法,得到本文基于检测的多目标跟踪算法YM-DeepSorts,算法在保证跟踪精度的前提下,改善原方法在复杂行车场景下目标跟踪标签频繁切换的问题,同时也能满足嵌入式设备要求,为机动车交通数据采集做好前提准备。
1 基于视频的机动车速度估计方法
为了提高基于视频的车速估计的速度和精度,本文提出的车速估计方法主要分为目标检测、目标跟踪、车速估计3个步骤:首先,通过目标检测模型来识别视频中的机动车目标;然后,通过目标跟踪方法对检测结果进行融合,并计算多个目标的位置轨迹;最后,从机动车目标轨迹中提取的跟踪距离与跟踪时间来计算目标车速。
1.1 目标检测
YOLOv4在结构上采用CSPDarknet 53[11]作为主干网络来进行特征提取。为了加强特征提取能力,引入空间金字塔池化模块(Spatial Pyramid Pooling,SPP)[12]来增加感受野,并利用路径聚合网络(Path Aggregation Network,PAN)[13]替换特征金字塔进行多通道特征融合。最后使用YOLOv3作为头部进行特征预测。
YOLOv4作为一阶段算法,在推理速度和检测精度上达到一个较高的水平,但是由于模型权重文件较大,不适合用于移动端和嵌入式设备。从轻量化模型的角度出发,本文采用MobileNetV2[14]作为主干网络,替换CSPDarknet53进行特征提取。MobileNetV2通过使用Inverted Residual Block与Linear Bottleneck配合深度可分离卷积与逐点卷积,在缓解特征退化和加速训练的同时,大幅度的降低参数量与计算量,达到模型小型化和提高模型推理速度的目的。
1.2 目标跟踪
DeepSort算法是基于检测的多目标跟踪算法,在Sort算法的基础上引入深度余弦外观匹配模型来进行相似度计算,在保证实时性的前提下,提高了跟踪的准确率。该算法通过卡尔曼滤波构建运动模型,对目标此刻的状态进行预测,得到下一刻运动信息,使用8个参数进行描述(cx,cy,w,h,c′x,c′y,w′,h′),其中前4个参数表示位置信息,后4个参数表示速度信息。DeepSort算法利用级联匹配算法来关联外观信息和运动信息,在计算运行信息时,采用马氏距离来衡量卡尔曼滤波预测结果和检测结果,与计算外观信息的余弦相似度一起构成代价矩阵,最后使用匈牙利算法进行匹配。
DeepSort算法中使用的卡尔曼滤波是一种线形轨迹预测方法,具有速度快的特性。但目标在运动过程出现遮挡,检测结果有噪声等干扰时,运动状态为非线性,此时卡尔曼滤波不能进行准确的轨迹预测,容易导致目标在跟踪过程中出现ID-Switch问题。针对非线性问题,研究者提出使用基于深度学习LSTM替代卡尔曼滤波进行轨迹预测,试验结果表明ID-Switch次数极大减少,并且在遮挡情况下,多目标跟踪精度与多目标跟踪准确度更高[15]。但是通过试验发现,在线性情况下卡尔曼滤波预测速度与准确度要高于LSTM,即在无遮挡的情况下,卡尔曼滤波性能更优。本研究使用的试验数据均来自于监控视频,由于摄像头的安装角度问题,在车流密度较大时,视频画面容易出现车辆遮挡情况,此时使用LSTM进行轨迹预测效果更优,而车流密度较小时,基本无遮挡情况,此时使用卡尔曼滤波进行轨迹预测更优。基于这种现象,本文对DeepSort算法进行改进,通过设置一个条件阈值来融合LSTM与卡尔曼滤波两种轨迹预测方法,该条件阈值为线圈内检测框数量。改进DeepSort算法如式(1)所示。
假设M(c|N)为融合了卡尔曼滤波与LSTM模型的DeepSort算法,有:
(1)
式中:MK为卡尔曼滤波模型作状态位置预测;ML为LSTM模型作状态位置预测;Age为目标跟踪帧数;m为LSTM输入帧数。c=(0,1),当检测框的数量n>N时,c=0;反之,c=1。
本文将改进后的检测与跟踪算法记作YM-DeepSorts,整个算法流程如图1所示。
图1 YM-DeepSorts算法流程图
1.3 车速估计
本文采用帧差法来估计机动车速度。在交通十字路口场景中选择一个长度R=20 m左右的感兴趣区域,只关注该区域的机动车,每当机动车进入该区域时,组合算法输出带有ID信息的检测框,并进行稳定跟踪。通过设置存储器来自动保存同一跟踪对象检测框的中心坐标(Xt,Yt),则在整个跟踪周期T=[f1,f2],目标在视频中的位移为:
(2)
式中:LP为目标跟踪的位移;f1为目标开始跟踪的帧位置;f2为目标结束跟踪的帧位置。
根据相机的仿射原理,目标在世界坐标系下的位移长度LW与在图像坐标系下的位移长度LP存在如下关系:
(3)
式中:D为摄像头与感兴趣区域的垂直距离;α为相机轴与机动车行驶方向的角度;fc为相机焦距。其中fc可通过已知的感兴趣区域在世界坐标系下的长度与图像坐标系下的长度关系求得。
得到机动车平均速度:
(4)
式中:V为平均速度;F为视频播放帧率;乘以3.6是将速度m/s转换成km/h。
为了进一步保证样本采集的准确可靠性,通过挑选合适的拍摄位置,要求摄像头能拍摄到整个感兴趣区域R,不同车道的机动车不会出现大面积遮挡情况。图2为拍摄位置和感兴趣区域的示意图。
图2 信号交叉口感兴趣区域示意图
2 案例分析
2.1 试验数据
本文机动车速度样本采集来自长沙市枫林三路的信号交叉口监控视频,视频分辨率为1 920×1 080,帧率为30FPS。采集地点包含4个不同位置信号交叉路口,采集时间为上午7:00—9:00(早高峰)和下午4:30—6:0(晚高峰),采集的总天数为30 d,并且保证在4个调查点的早晚高峰时段交通量充足,能够满足持续观测过饱和与欠饱和状态下的机动车交通流。
2.2 模型训练
本文模型训练基于 python 编译环境完成程序设计,运行环境为 CPU:i7-9 700 k,GPU:NVIDIA GeForce RTX 2070,8 G内存。训练所使用的数据集为公开数据集UA-DETRAC,该数据集源于北京和天津24个不同区域的道路监控视频中的截图,拍摄角度为俯拍,适用于城市道路的车辆检测与跟踪模型训练。
a.目标检测模型训练。
由于UA-DETRAC数据集的数量较大,同一个场景相邻两张图片相似度较高,为了减轻训练难度,选取其中9 180张图片作为检测数据集,并对检测数据集的标签数据进行处理。首先将其中标注文件转化为便于YOLOv4-MobileNetV2算法训练的VOC格式,只保留其中Car类标签;然后将该数据集以0.6,0.2,0.2的比例划分为训练集、验证集、测试集。训练中网络输入大小为416×416,优化器为Adam[16],训练次数为150个Epoch。期间为了加速模型训练,采用两阶段的训练策略,第一阶段冻结Backbone,采用大小为0.001学习率对网络头部训练50轮次,第二阶段解冻Backbone,采用大小为0.000 1学习率对Backbone和网络头部训练100轮次,两阶段Batchsize大小分别为16和8。模型训练过程的Loss的变化如图3所示,显示网络基本收敛。
图3 YOLOv4-MobileNetV2损失曲线
为了验证优化模型有效性,对YOLOv4进行同等训练,两个模型在IOU=0.5时的测试结果如表1所示。结果显示,改进的YOLOv4在召回率略微下降情况下,模型大小为原YOLOv4的1/5,参数量为46.4 MB,适合嵌入式设备部署;同时FPS提升约30%,速度达到30FPS,满足实时性要求。
表1 不同目标检测模型试验结果Table 1 Results of experiments on different object detection models检测网络F1值召回率/%准确率/%网络大小/MBFPS/(帧·s-1)YOLOv40.9595.8093.9524423YOLOv4-MobileNetV20.9594.2894.8646.430
b.目标跟踪模型训练。
原始的DeepSort算法中使用的外观匹配模型是在行人重识别数据集中训练的,不适用于车辆跟踪,为此使用VERI车辆重识别数据集[17]进行重新训练,将训练好的模型应用于改进的DeepSort算法中。对LSTM进行训练时,在UA-DETRAC中60个序列标注文件中选取前40个序列标注文件用作多目标跟踪训练,提取其中的Car类标签制作车辆轨迹状态(cx,cy,w,h)数据集。从每个目标的第一帧起,每次截取长度为7的数据作为一组训练数据,前6帧作为输入数据,最后一帧作为训练标签。LSTM网络的超参数设置如下:隐藏层层数为2,神经元个数分别为50和100,损失函数为均方误差,优化器Adam学习率为0.000 1,Batchsize为64,训练轮次为16。LSTM网络训练过程的Loss的变化如图4所示,结果显示网络基本收敛。
图4 LSTM损失曲线
为了验证整个算法的有效性,将UA-DETRAC数据集中的后20个序列文件制作成视频文件对YOLOv4-DeepSort与YM-DeepSorts算法进行测试,测试平均结果如表2所示。输出结果表明:YM-DeepSorts算法相比于YOLOv4-DeepSort算法,提高了跟踪精度与推理速度,同时跟踪过程中目标的标签切换次数能有效减少。当N=0时,YM-DeepSorts算法主要使用LSTM进行轨迹预测,此时标签切换次数达到最少;当N=10时,YM-DeepSorts算法主要使用卡尔曼滤波进行轨迹预测,此时推理速度达到最快。改进后的算法整体性能均优于原算法,在监控范围内能够根据检测框的数量选择最佳的轨迹预测方法,实现对机动车的稳定跟踪,适合辅助交通部门进行交通数据采集。
表2 算法跟踪评价结果对比Table 2 Comparison of algorithm tracking evaluation results模型轨迹准确率/%跟踪精度/%命中轨迹/%丢失轨迹/%身份切换/次FPS/(帧·s-1)YOLOv4-DeepSort72.4626.0671.703.33617YM-DeepSorts (N=0)74.9127.5974.323.12218YM-DeepSorts (N=10)73.3026.7073.953.52724
2.3 车速估计误差分析
2.4 车速分布结果
本文利用4个双向六通道的信号交叉口的实测数据进行机动车速度分布研究。在对比多个单分布与混合分布模型的基础上,选用正态分布、Gamma分布、Weibull分布、Logistic分布4种的单分布模型,以及二元混合高斯分布与三元混合高斯分布2种混合分布模型来对实测数据进行拟合分析。为了确定上述提出的4种单分布与2种混合分布模型是否适用于描述信号交叉口的机动车速度分布状况,这里使用Kolmogorov-Smirnov检验(K-S检验)方法来进行检验。K-S检验是基于累积分布,来检验数据样本的经验分布是否服从某种理论的分布。在K-S检验过程中,假设D为样本数据X的累计频数分布函数FX(x)与特定的理论分布函数F(x)差值的绝对值最大值,即:
D=max|FX(x)-F(x)|
(14)
通过比较D与D(X,α)的值,当D 表3 各分布模型的K-S检验结果Table 3 K-S test results of each distribution mode编号正态分布伽马分布威布尔分布Logistc分布二元GMM 三元GMMR1拒绝拒绝拒绝拒绝拒绝接受R2拒绝拒绝拒绝拒绝拒绝接受R3拒绝拒绝拒绝拒绝接受接受R4拒绝拒绝拒绝拒绝接受接受 各交叉口机动车速度的三元混合高斯分布拟合情况如图5所示,同时表4给出了具体的K-S检验结果。从图5的结果来看,各亚类分布模型之间有明显的区分度。 (a)R1 城市信号交叉路口处于一个复杂的交通环境中,在不同的车流密度、是否有非机动车和行人的干扰情况下,机动车速度都会改变。其中车流密度是车流速度的主要影响因素,两者一般成负相关[19]。在信号交叉口处,红灯期间内交叉口的入口会积聚大量的非机动车与机动车,在绿灯开始时,成团的非机动车会涌入交叉口,对机动车行驶造成干扰。积聚的非机动车数量越多,机动车平均速度越低。此时,机动车在高车流密度与非机动车的影响下,行驶速度较为缓慢。随着车流密度减小,车速随之升高,但由于存在车道外侧的非机动车和行人的摩擦干扰,最外侧车道的车流速度会低于内侧车道的车流速度,导致车流速度出现不一致,出现整体车速较高的情况下,部分车速较低。在中密度车流状况与外界干扰因素的影响下,路口机动车行驶速度处于不稳定状态。最后,在低密度车流状况下,机动车之间影响较小,并且受到车道外侧行人与非机动车干扰程度较低,机动车会以较高速度行驶。 表4 各路段三元混合高斯分布K-S检验结果Table 4 K-S test results of ternary Gaussian mixture distribu-tion in each road secti编号数据量检验标准D(X,α=0.05)=1.36nD值是/否服从分布D 通过上述分析环境因素对机动车速度的影响,得出信号交叉口机动车主要有3种行驶状况,从而说明三元混合高斯模型更适合描述信号交叉口机动车速度分布特征。基于交通流运行特性,3种亚类交通流依次可划分为:拥挤流、限制流、自由流。 a.在深度学习框架下,采用YOLOv4构建车辆目标检测算法,将主干网络改进为MobileNetV2以达到模型小型化的目的,在保证检测精度的同时,加速了目标特征的提取效率,检测帧率在原基础上提升约30%,有利于提高基于视频的车速统计实时性。 b.提出了一种卡尔曼滤波-LSTM模型的车速估计方法,通过阈值法对两种模型的轨迹跟踪结果进行了检测融合,有效改善了复杂行车场景下机动车目标跟踪的标签切换现象,在长沙市枫林三路信号交叉口监控视频中进行了应用,车速估计准确度达94.5%,验证了方法的有效性。 c.对车速统计分析的结果表明,单分布模型难以描述信号交叉口机动车速度分布状况,而三元混合高斯分布能够较好的拟合并通过K-S检验,各亚类之间有明显的区分度,与交叉口的机动车流分为拥挤流、限制流和自由流的实际情况相符合。 d.本文所提方法对视频拍摄角度有一定要求,且对恶劣天气状况、极端拥堵道路环境等因素考虑不足。在后续的研究中,将对上述问题进一步优化改进,以提高基于视频的车速统计方法的应用范围。2.5 车速分布分析
3 结论