基于深度学习的多目标车辆轨迹自动采集方法

2021-09-03 09:47周雄峰
交通科技 2021年4期
关键词:轨迹车辆目标

周雄峰

(同济大学道路与交通工程教育部重点实验室 上海 201804)

交通信息是智能交通系统中的基础和保障,获取全面、准确、可靠、实时的交通信息对交通管理与安全、驾驶行为建模、微观交通流分析有着至关重要的作用。交通信息的采集方式包括微波雷达、视频、红外和感应线圈等等[1]。在这些采集技术中,视频图像具有直观性高、信息量丰富、可溯性强等特点。越来越多的研究者选择利用图像处理技术从视频中提取交通数据。在这些数据中,车辆的行车轨迹全面反映了车辆的驾驶行为,通过对车辆轨迹的处理可以获得如道路交通量、车辆速度、车头时距等交通流微观参数。车辆轨迹的精确提取对于分析交通行为、获取交通流的运行状态具有重要意义。

基于视频对车辆轨迹进行提取需要对车辆进行检测跟踪。传统的车辆检测跟踪方法主要分为基于运动和基于特征两类。基于运动的方法主要通过帧差法、背景建模、光流法等手段实现。基于特征的方法主要通过设计如Haar-like、HOG、SURF等特征来检测车辆。蔡晓禹等[2]利用基于对称差分分块建模的背景差分法来检测无人机视频中的车辆。文献[3]为克服传统边缘特征检测方法易受噪声、背景干扰问题,提出基于多尺度边缘融合和SURF特征匹配的车辆检测与跟踪方法。Xie[4]使用改进KLT光流法跟踪车辆特征点,然后通过高斯混合模型和谱聚类对同一辆车的特征点进行聚类匹配,不匹配的轨迹将被过滤。李文辉等[5]使用一种自适应的免疫粒子滤波车辆跟踪算法,并根据在真实场景中车辆行驶的特点,在算法的相应部分加入了自适应学习参数,保证了算法鲁棒性。

近年来,随着深度学习、计算机视觉等人工智能技术的发展,深度学习模型依靠强大的特征提取和抽象表达的能力,在目标检测识别领域取得了很高的精度。赖见辉等[6]利用基于深度学习的YOLOv3方法,以路侧视频为输入,建立卡尔曼滤波+匈牙利分配+透视投影变换的交通流量计数模式,实现车辆的快速和高精度追踪。Kim等[7]使用基于人为特征的聚合通道特征(ACF)和Faster R-CNN神经网络提取交通拥堵情况下的车辆轨迹。上述研究虽然实现了车辆的检测和追踪,但大多存在提取精度不高、轨迹连续性不强等局限性,无法应对复杂道路环境和恶劣天气条件。本文提出一种新的提取车辆轨迹的方法,主要包含3个步骤,分别是车辆检测、车辆跟踪及轨迹后处理。第一步使用YOLOv5检测器在视频帧中自动检测每个车道上感兴趣区域的车辆。在获得车辆位置之后,第二步使用DeepSORT跟踪器实现快速而准确的跟踪。最后一步,利用透视变换矩阵将车辆的坐标位置从像素坐标系映射到世界坐标系,然后采用局部加权回归算法消除原始采集轨迹的异常值和锯齿形振荡。

1 车辆检测

YOLO[8]是一种先进的端到端目标检测算法,可以实时、高精度地执行目标检测。YOLO算法的主要核心思想是:将1幅图像分成S×S个网格(grid cell),如果某个目标的中心落在这个网格中,则这个网格就负责预测这个目标框的坐标、置信度和类别概率,然后采用非极大值抑制法就可以筛选出最终的检测框。

YOLOv5是Glenn Jocher在2020年6月提出的最新版YOLO序列算法,是目前推理速度最快、精度最高的实时目标检测模型之一。YOLOv5算法的权重文件最小只有14 M,在Tesla P100显卡上能实现140 FPS的快速检测。与之前的版本不同,YOLOv5具有马赛克数据增强和自动适应锚框的改进,在小目标检测上取得了较好的效果。因此,本文选取YOLOv5算法作为车辆检测器对视频流进行逐帧检测,只保留与车辆有关的对象如car、truck、bus、motorcycle等。图1为利用YOLOv5算法进行车辆检测的效果图。

图1 YOLOv5检测效果图

2 车辆跟踪

2.1 多目标跟踪

上一节获得了车辆在每一帧图像上的检测结果,下一步工作是将不同帧间的目标进行动态地关联,形成车辆轨迹,亦即车辆跟踪。目标跟踪分为单目标跟踪(single object tracking)和多目标跟踪(multi object tracking),由于本文需要同时提取大量通行车辆的轨迹,所以属于多目标跟踪。跟踪多个目标的算法需要考虑帧中对象的相似性以及帧之间对象的相关性。多目标跟踪的4个核心步骤为:

1) 运行目标检测器进行检测,获取目标检测框。

2) 将所有目标框中对应的目标抠出来,进行特征提取,包括表观特征和运动特征。

3) 进行相似度计算,计算前后两帧目标之间的匹配程度,前后属于同一个目标其之间的距离较小,不同目标的距离较大。

4) 数据关联,为每个对象分配目标的ID。

图2中描述了基于检测的车辆跟踪的核心步骤,虚线框代表跟踪框,实线框代表新一帧的检测框。

图2 多目标跟踪核心步骤

2.2 DeepSORT算法

当前主流的对象跟踪算法是基于检测的跟踪策略,DeepSORT[9]也使用此策略。DeepSORT算法是经典的深度学习多目标跟踪算法。与SORT算法一致,它也通过卡尔曼滤波预测出预测框,然后使用匈牙利算法逐帧关联数据,再由关联度量计算边界框的IOU。本文利用deepSORT算法跟踪视频帧中的车辆。在实时目标跟踪过程中,提取车辆的表观特征以进行最近邻匹配,可以在存在遮挡的情况下提高车辆跟踪效果,同时,也大大减少了车辆ID丢失的问题。算法关键步骤如下。

利用现有轨迹的运动状态和外观特征,将每个新的检测框与现有跟踪器相关联。使用代价矩阵表示每个检测框和现有跟踪器之间的空间和外观相似性,它通过2个度量进行加权。第一个度量是用马氏距离来表示第j个检测目标和第i条轨迹之间的运动匹配程度,其计算方法见式(1)。

(1)

式中:dj为第j个检测的状态;yi为轨迹i在当前时刻的预测值;Si为第i条轨迹由卡尔曼滤波器预测得到的在当前时刻观测空间的协方差矩阵。

第二个是外观特征的距离度量。为了获得检测框和轨迹的外观信息,对于每个边界框dj,通过CNN计算其128维特征向量的外观描述子rj,其中‖rj‖=1。对于每条轨迹,将其最近成功匹配对应的检测框的外观描述子保存在集合Ri中,存储的数量通过超参数budget(默认100帧)进行限制。这个特征集合将用于下面度量外观空间中第i条轨迹和第j条检测之间的最小余弦距离的计算。

(2)

基于运动信息的马氏距离对于短期预测非常有效,而对于长时间遮挡后的车辆,基于外观信息的余弦距离可以发挥作用,因此上述的2个度量指标可以相互补充,为了建立关联问题,使用加权平均计算最终的关联匹配程度,超参数可用来控制2个度量指标对最终结果的影响。

ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)

(3)

当一个新的检测成功与现有跟踪器相关联时,该检测将添加到该轨迹中。如果未能成功关联时,新的检测将初始化为暂定轨迹。在后续该轨迹如果连续3帧成功关联,则该轨迹将更新为已确认状态。否则,轨迹将立即删除。至于在每帧中未能与新检测结果关联的现有跟踪器,与之关联的代表失配帧数的计数器将加1。如果该计数器超过了一定阈值,则该轨迹也将被删除。

为解决全局分配问题中的数据关联,使用级联匹配的方式,将不同的跟踪器按照失配帧数排序,失配帧数小的先进行匹配,大的后进行匹配,这样做的目的是使更加频繁出现的目标车辆赋予优先匹配权,这可以缓解表观突变或者部分遮挡导致的马氏距离发生较大变化的问题。

2.3 YOLOv5-DeepSORT车辆检测跟踪模型

本文使用YOLOv5算法作为实时检测器,结合DeepSORT算法构建1个实时车辆检测跟踪模型。首先,将输入视频的图像序列送入YOLOv5网络中进行对象检测,输出结果包含检测框像素坐标bbox、对象类别cls和对应的置信度conf。下一步,这些值将作为DeepSORT算法的输入,DeepSORT将预测输入的对象的ID,生成每个车辆目标的轨迹,输出元素包括帧索引fram idx、目标ID,以及预测框的坐标(x,y,w,h)。组合模型预测过程见图3。

图3 结合YOLOv5和DeepSORT算法的车辆检测跟踪模型

3 车辆世界坐标定位与轨迹优化

3.1 车辆世界坐标计算

上一节得到了车辆目标在图像中的跟踪框序列,下一步需要在矩形框的内部选取一个像素点作为车辆在地平面上的坐标,一般选择矩形框的中心或者框底边的中心。道路监控视频视角见图4。由射影几何知识可知,选择矩形框中心,则投影到地面的坐标会比真实值远;如果选择矩形框底边的中心,则投影后的坐标会比真实值近,不过相比于前者,后者误差更小,也更加稳定。因此,最好选择矩形框底边中心作为车辆在图像上的像素坐标。

图4 交通监控视频视角下的车辆

为计算目标的真实交通参数,需要将目标车辆的像素坐标转换成世界坐标。对于单目相机,坐标转换需要获取相机的内部参数和外部参数。内部参数负责像素坐标系和相机坐标系之间的转换,包括3×3的相机矩阵和 1×4 的畸变系数。外部参数负责相机坐标系和世界坐标系之间的转换,包含一个3×3 的旋转矩阵和一个 1×3 的平移向量。通常标定相机内部参数需要使用棋盘标定板,通过得到内部参数再计算外部参数,步骤相对繁琐。

现代道路监控相机一般采用标准或者长焦镜头,安装精度高,拍摄的车辆离相机也较远,因此畸变影响较小,几乎可以忽略。假设平面上某点P,在像素坐标系和世界坐标系下的坐标分别为(u,v)和(X,Y,Z),在不考虑畸变系数情况下,从世界坐标系到像素坐标系的映射表达式见式(4)。

(4)

式中:s为尺度因子;A为内参矩阵;(r1,r2,r3)和t分别为旋转矩阵和平移向量。由于路面近似平面,假设其Z=0,则式(4)变为

(5)

(6)

式(6)中透视变换矩阵H=A[r1r2t]可通过4组标定点进行求解。后续所有轨迹点都可以通过式(5)计算出对应的真实世界坐标。

3.2 轨迹优化

由于车辆预测框的抖动、有风天气下摄像机晃动、坐标转换等步骤带来的误差的积累,车辆在世界坐标系下的轨迹点在时间上未必连续,可能呈现一定程度的锯齿形状,本文使用局部加权回归(LOWESS)平滑算法对其进行优化。

局部加权回归[10](LOWESS)是一种非参数回归方法,主要思想是以一个点为中心,向前后截取一定窗口长度的局部数据,在这部分子集中用权值函数做一个加权的线性回归。LOWESS算法具体实现步骤如下。

1) 确定一个以x0为中心的区间,计算区间中每个数据点的回归权重,权重由如下所示的三次函数或者其他权值函数给出。从函数中可以看出,离x0越近的点权重越大,对拟合的影响也越大,反之则越小,区间外的数据点的权重为0,对拟合无影响。

(7)

2) 对区间内的点使用一次多项式进行加权线性最小二乘回归。

3)x0处的拟合值y0就是平滑后的值,将所有平滑点连线即得到LOWESS曲线。

LOWESS平滑算法能有效避免异常值对平滑曲线的影响,同时能反映数据的总体变化规律,在数据去噪平滑处理中应用广泛。

4 案例分析

4.1 实验准备

本文的实验环境配置:Intel i7-9900k处理器,NVIDIA GTX 3080 10GB显卡,软件环境为Windows 10,CUDA 11.0,cudnn7.8.5,Python 3.7.0,opencv-python 4.4.0,pytorch 1.7.0。

为验证本文算法的有效性,选择不同的交通环境进行测试。测试视频是高速公路路段的监控视频,视频分辨率为1 920×1 080,帧率30帧/s。各视频的具体参数见表1。

表1 测试视频信息

4.2 评估指标

1) 对于车辆的捕获准确度,选取多目标检测跟踪任务常见的指标FN、FP、IDSW、MOTA来评价算法的有效性。由于道路监控视频的视角问题,默认检测区为距离摄像头150 m以内。

FN:漏检的车辆目标数量;

FP:误检的车辆目标数量;

IDSW:目标ID发生跳变的总数量;

MOTA:multiple object tracking accuracy,多目标跟踪准确率,被定义如下,式中t为帧数,GTt是图像中第t帧中的总目标数量。

(8)

2) 对于轨迹的采集准确度,选取LCSS算法度量本文方法提取的轨迹T1与人工点选的真实轨迹T2之间的相似长度,如式(9)所示。

(9)

式中:N(Tk)、tk,N(tk)分别为轨迹Tk的长度和末尾点坐标。Head(Tk)为轨迹Tk去除末尾点后的子轨迹,ε为相似度阈值,根据经验取10 pixel。将计算结果除以较短的轨迹长度,得到轨迹的相似度,如式(10)所示。

(10)

4.3 实验结果

4.3.1车辆检测跟踪结果

对比人工观测和算法自动检测结果,3个场景视频部分帧的测试结果见表2,视频处理得到的部分结果见图5。

表2 不同场景车辆跟踪实验结果

图5 测试视频实验结果

由表2及图5可见,在阴天和小雨这种能见度较高的环境条件下,模型对车辆的检出率极高,漏检、误检的情况很少。对于浓雾天气,随着能见度的大大降低,出现了一些车辆目标间隔几帧漏检的现象。值得注意的是,由于DeepSORT算法提取表观特征和级联匹配的策略,车辆目标的ID很少发生跳变,视频场景中的IDSW数量极小。3个场景的MOTA指标都超过了90%,平均准确率达96.1%,表明本文所提出的YOLOv5-DeepSORT车辆检测跟踪模型在道路监控视频上有较好的效果。

4.3.2车辆轨迹实验结果

随机选取2辆车,窗口大小取20,使用局部加权回归平滑其轨迹坐标。使用LCSS算法计算自动提取轨迹和实际轨迹的相似度,结果见表3。

表3 实际轨迹与算法提取轨迹相似度对比

由表3可见,轨迹的采集准确度较高,平均准确度超过了93%。根据真实世界的轨迹坐标可以计算车辆的瞬时速度。图6显示了目标车辆轨迹平滑前后的结果和各自的速度变化。由图6可见,车辆的原始轨迹呈现了锯齿形的抖动,违反了运动学的常理。经过平滑算法的优化,轨迹点和速度变得较为平稳,更加符合真实世界的情况。

图6 轨迹和速度曲线优化结果图

5 结语

视频图像是信息量最丰富的交通参数来源,利用这些交通视频数据提取出需要的交通信息参数成为当下研究的热点问题。本文基于深度学习算法提出了一种车辆轨迹自动采集的方法。在车辆检测部分,使用了适应各种复杂场景的YOLOv5算法。在车辆跟踪部分,将检测模型与多目标跟踪算法DeepSORT结合,缓解车辆相互遮挡带来ID跳变的问题。在轨迹后处理阶段,利用变换矩阵将图像像素坐标转换为真实世界坐标,并针对轨迹的锯齿形跳动,提出利用局部加权回归平滑算法进行优化。实验结果表明,本文所使用的方法在高速公路监控视频数据集上平均多目标跟踪准确率达96.1%,轨迹采集的平均准确度超过了93%,使用的轨迹平滑算法能有效地去除抖动,能够实现车辆轨迹的自动采集,在交通安全研究领域具有较好的应用场景。

猜你喜欢
轨迹车辆目标
轨迹
轨迹
轨迹
车辆
进化的轨迹(一)——进化,无尽的适应
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)
(新目标)七年级下Unit 1练习(二)