1. 引言
车辆速度检测是交通系统中至关重要的部分,常见的车辆速度检测方法有超声波检测技术、激光检测技术、雷达检测技术以及地埋式感应线圈检测技术等 [1]。然而超声波检测技术容易受到环境影响且在反应时间、检测距离方面存在一定的缺陷;激光检测技术只能在静止状态下使用且激光检测装置可能会对人体产生一定的伤害,存在一定的风险;雷达检测技术受自身技术特点的影响无法同时对多个目标车辆进行测速且抵抗无线电波的干扰能力较差;地埋式感应线圈检测技术使用过程中存在线圈使用寿命短、可靠性差、安装维修困难等问题。分析发现已有的车辆速度检测方法成本较高难以同时对多个目标车辆测速且精度得不到保障。
随着新型技术的发展,基于计算机视觉的交通信息采集技术为车辆速度检测提供了强大的技术保障,轻便、高效、智能的无人机在交通数据采集中得到了越来越广泛的应用。与传统的视频摄像相比,航拍视频覆盖范围更广、获取信息更丰富、图像分辨率更高、坐标系转换造成的误差更小,同时克服了传统摄像拍摄角度固定导致车辆遮挡等问题。然而现有研究中基于视频进行车辆速度检测的文献相对较少,现有研究通过计算位移与时间的比值获得速度,主要分为两类:利用经过固定位移的时间实现车辆速度的检测和计算固定时间内的位移实现车辆速度的检测。固定位移的方法主要是虚拟线圈法 [2],镜头发生转动时该方法检测精度会受到极大的影响;固定时间的方法主要包括帧差法 [3] [4] [5]、运动矢量法 [6] 等。
分析相关文献可知,已有多种车速检测方法普遍存在可靠性不足的问题,有如下难点仍需解决:
1) 城市道路中车辆数目较大,需避免车辆之间的相互影响提高车辆的检测与追踪的精度;
2) 镜头抖动等问题对车速的检测带来了一定的影响。
基于上述分析,本文主要利用计算机视觉技术提升多目标车辆的检测精度同时结合车辆瞬时速度与相邻轨迹点之间的关系,基于线性回归的思想,提出了车辆速度检测的方法,最后通过试验证明方法的有效性。
2. 基于航拍视频的车速检测
为降低坐标转换过程中造成的误差,本文采用无人机垂直拍摄的视频进行车辆的识别与追踪并输出车辆的轨迹数据,根据实际距离与像素距离之间的比值完成像素坐标到实际坐标的转换,最后考虑车辆瞬时速度与相邻轨迹点之间的关系利用线性回归的方法获得单个车辆某时刻的瞬时速度。车辆速度检测流程如图1所示。
2.1. 目标车辆检测
YOLO目标检测算法是端到端的算法,基本实现思路如下:
1) 将图像分为S S个网格,当某个检测目标中心落在所述网格中,则该网格负责预测该目标。
2) 在每个网格中预测B个边界框及对应的置信度。边界框包含5个参数中心点坐标,宽度,高度及置信度。
3) 在每个网格中预测C个目标类别的概率。
4) 最后在测试阶段将目标类别概率与置信度相乘,计算出每个目标框的特定类别的可能性,并通过阈值筛选去除多余检测框。
通过上述流程,YOLO从整个训练图像中学习目标的特征,在测试阶段利用训练模型进行目标检测。基于YOLO原理,借助开源标注软件制作数据集,并分为训练和测试数据集,使用YOLO深度学习框架训练模型,然后将保存的模型用于车辆检测。
2.2. 目标车辆追踪
在目标车辆检测的基础上,需要对目标车辆进行跟踪预测,从而获得车辆的运动轨迹。
2016年Bewley A等提出了Deep-sort [7] 多目标跟踪算法,该算法利用深度学习的思想,主要通过卷积神经网络提取特征,在跟踪过程中使用递归卡尔曼滤波预测的状态与新到达的状态之间的马氏距离和余弦距离这两个组合指标与阈值之间的关系进行关联度量,确保目标被遮挡后再次出现时仍然能匹配正确的ID,减少了ID的切换,达到了持续跟踪的目的。本文将YOLO的检测结果作为输入传给Deep-sort算法,实现目标车辆的追踪并输出车辆轨迹数据。
2.3. 车速计算
2.3.1. 坐标转换
本文采用的航拍视频均由大疆MAVICAIR2在距离地面120米的空中拍摄所得,此时镜头畸变很小,可以忽略不计,像素坐标
到实际坐标
的变换如式1所示。
(1)
其中,
表示x方向上实际距离与像素距离的比值;
表示y方向上实际距离与像素距离的比值。
2.3.2. 速度的计算
以往研究大多通过确定目标车辆在相邻视频帧中移动的像素距离进而对车速进行求解,然而在目标检测与追踪的过程中受到镜头抖动的影响,目标车辆的位置信息会不可避免的出现误差。以无人机在120米飞行高度下拍摄的帧率为30 fps的视频为例,若目标车辆的位置出现1像素的误差(在此飞行高度下11像素约等于1米),则对应的瞬时速度的误差为1 pixel/frame (9.8 Km/h),由此可见,传统方法测量下即使很小的测量误差也会对速度的求解产生显著的影响。
考虑到某点的瞬时速度与相邻轨迹点的相关性,本文引入线性回归的思想,旨在消除测量误差对速度计算的影响,提高车辆速度的检测精度。为方便瞬时速度的求解,将单个车辆的瞬时速度沿道路纵断面(x方向)、横断面(y方向)分解为
、
。以t时刻x方向速度的求解为例,在时间间隔
内(本文中c取15),确定一条直线使区间内所有的点到该直线的距离最小,该直线的斜率即为车辆在t时刻沿x方向的瞬时速度,取值区间及速度求解如图2所示。
t时刻车辆的瞬时速度求解公式见式2~4。
(2)
(3)
(4)
其中,
为目标车辆t时刻的瞬时速度;
为目标车辆t时刻x方向上的瞬时速度;
为目标车辆t时刻y方向上的瞬时速度;m为取值区间内点的总数。
3. 实验结果
3.1. 数据采集
为了验证方法的可行性,本文基于大疆MAVICAIR2无人机进行数据采集。根据不同路段的需求,无人机的到飞行高度控制在100~130之间,拍摄角度为垂直拍摄,视频清晰度为1080 P,视频帧率为30 f/s。为了验证检测方法的精确度,拍摄过程中驾车在拍摄路段内行驶并记录仪表盘车速作为车辆的参考速度。
3.2. 数据集制作
考虑到本文航拍视频中的车辆均为俯视视角,而且所占像素面积远远小于地面拍摄车辆的面积,因此不能采用地面或者较低飞行高度下拍摄的照片作为数据集训练模型。现有的航拍车辆数据集大多是在地面或无人机在较低的飞行高度下拍摄所得,无法满足本文实验的需要,为了提高模型的检测精度需要针对性的构建航拍车辆数据集。
本文利用无人机在110~130米飞行高度下垂直拍摄获得的照片,为保证所获得的样本照片的质量,对于存在不完整的车辆的图片进行剔除,同时尽可能多的挑选多样化的车辆样本。借助开源软件LabelImg通过手动标注的方式对目标车辆进行标记,标签包含五个参数分别是车辆类别、目标位置、边界框的宽以及高。在实验中,本文对小汽车、卡车、公交车三类机动车共3000辆车进行了手动标记。
3.3. 目标检测
本文的YOLO模型训练在配置有GTX1080Ti的计算机上进行,为了提升模型训练速度,训练过程中使用了预训练模型权重文件作为基础模型,采用了迁移训练的方案。为了适配GPU显存,训练参数设置如下:批尺寸为16,学习率为0.001,训练次数为3000次。保证训练结果满足收敛条件,并保存训练模型的权重文件。
加载训练模型,对航拍车辆进行检测,将检测结果中的置信度调整为0.3,检测结果如图3所示。
3.4. 车辆跟踪
试验中使用Deep-sort算法对目标车辆跟踪,并进行了实验,以其中一组为例,运动轨迹如图4所示,观察发现跟踪目标车辆大多出于直线行驶的状态与实际情况一致,其中编号为40的车辆被交通标志牌遮挡后编号并未改变,证明该算法对目标车辆具有较好的跟踪效果,保证了轨迹数据的完整性。
3.5. 车辆速度计算
实验通过对目标车辆进行跟踪直至车辆驶出画面,然后基于车辆的轨迹数据进行车辆速度的估算,具体如式2~4所示。图5是某一车辆不同时刻的瞬时速度图,从图中可以看出车辆速度变化较为平缓符合车辆实际的运动过程。
将使用本文提出的方法检测的车速与汽车仪表盘显示的速度进行对比,并进行误差率评价,计算本方法测速的误差率,具体计算公式如式5~6所示。
(5)
(6)
其中,
表示误差值;
表示本文方法计算的车辆速度;
表示仪表盘上记录的速度;
表示实验的平均误差率;n表示测试的总数。
利用线性回归的方法估算车速,并计算车辆速度检测的误差率,结果如表1所示。
由表1可以得知,该方法提取车速与真实速度的平均误差率为2.95%,可见本文提出的车辆速度检测方法具有较高的精度,可以应用到车辆速度提取的研究中。

Table 1. The result of vehicle speed estimation
表1. 车辆速度计算结果
4. 结论
本文研究的是基于航拍视频的车辆速度检测方法,将YOLO算法与Deep-sort算法相结合,同时基于构建的针对特定飞行高速下的航拍车辆数据集,在一定程度上提升了目标车辆的检测与追踪精度,在目标车辆的轨迹数据的基础上提出了线性回归求解车辆速度的方法。试验证明本方法可以有效的避免镜头抖动等因素对速度检测的影响,具有较高的精度和抗干扰能力。