APP下载

基于YOLOv3的高速公路隧道多车辆跟踪方法

2021-01-22凡阳阳胡放荣熊显名李小勇

桂林电子科技大学学报 2020年5期
关键词:跟踪器滤波器尺度

凡阳阳, 胡放荣, 熊显名, 李小勇

(1.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004;2.广西交通科学研究院有限公司,南宁 530007)

隧道的稳定安全运行关系到整个高速公路网的安全畅通运行,因此,对高速公路隧道内进行监测具有很大的意义。可以基于当前大量的高速公路隧道视频监控设备对隧道内的交通状况进行监控,实现隧道交通的智能化。隧道内的车辆检测与跟踪是实现这一智能化的重要手段[1]。近几年来随着人工智能技术的快速发展,车辆检测方面主要表现在基于深度卷积神经网络的深度学习算法。Yang等[2]提出了一种基于Faster R-CNN网络的道路车辆检测方法,通过对网络模型进行改进,提高了小型车辆的检测性能。宋焕生等[3]基于SSD深度学习算法,实现了适用于高速公路场景的车辆目标分类与检测。李云鹏等[4]采用目前比较流行的YOLOv3目标检测算法,对道路上的行人及车辆进行检测,实现了良好的目标检测精度和速度。在车辆跟踪方向,刘军等[5]提出一种基于Tiny YOLOv3、卡尔曼滤波和匈牙利算法的多目标车辆跟踪方法,该方法运行速度较快,适合应用在嵌入式平台。潘振福等[6]将多尺度估计加入KCF跟踪算法中,增强了跟踪算法的目标尺度变化适应性。程立英等[7]基于TLD跟踪算法实现了快速视觉跟踪,具有较强的适应性和有效性。

考虑到车辆检测与跟踪算法的实时性及准确性,采用YOLOv3目标检测算法,实现高精度的隧道车辆检测和车型识别。在车辆检测的基础上,提出了一种目标检测结合DSST跟踪算法的多车辆跟踪方法,实现高速公路隧道多目标车辆跟踪,具有较好的实用价值。

1 YOLOv3

YOLO(you only look once)是Redmon等[8]提出的基于深度神经网络的对象识别和定位算法,其特点是运行速度很快,可用于实时系统,现YOLO已发展到v3版本。YOLOv3[9]采用了全新的网络结构,该结构大量采用3×3和1×1的卷积核,因为一共有53个卷积层,所以该网络结构叫Darknet-53。为了避免由网络层的加深引起的训练的梯度爆炸,该网络结构借鉴了深度残差网络的设计思想,在卷积层之间设置了残差模块和跳跃链接。网络结构如图1所示。

图1 Darknet-53网络结构

YOLOv3借鉴了FPN[10](feature pyramid network)的思想,在3种不同的尺度上进行预测,分别为13×13、26×26、52×52,每种规模预测3个目标边框。在每个尺度特征图的每个网格设置3个先验框,共有13×13×3+26×26×3+52×52×3=10 647个预测。每个预测结果是一个(4+1+80)=85维向量,这个85维向量包含边框坐标(4个数值)、边框置信度(1个数值)、对象类别的概率(对于COCO数据集,有80种对象)。

2 DSST算法

DSST(discriminative scale space tracking)[11]算法是在MOSSE算法的基础上进行了2个方面的改进:1)改进了特征提取方式;2)增加了尺度滤波器用于尺度估计。DSST采用HOG特征代替MOSSE原有的灰度特征。DSST算法设计了位置滤波器和尺度滤波器2个独立的的相关滤波器,位置滤波器负责当前帧的目标定位,尺度滤波器负责当前帧的目标尺度估计。

2.1 位置滤波器

将输入图像特征矩阵块f设计为d维特征向量,通过建立最小均方误差来求解最优位置滤波器h,最小均方误差ε可表示为

(1)

其中:l为特征的某一维度,l∈{1,2,…,d};g为f训练得到的期望结果,由峰值位于跟踪目标中点的高斯函数构造得来;λ为正则化系数;*表示相关运算。式(1)在频域中求解可得,

(2)

其中:F(·)表示函数的离散傅里叶变换;变量上带横线表示共轭复数。用At,l、Bt分别表示滤波器H的分子与分母,分别进行迭代更新,

(3)

其中η为学习率。在新一帧图像中,目标位置可通过求解最大响应值y得到,

(4)

其中:F-1(·)表示逆傅里叶变换;Z为新一帧图像的候选输入样本。

2.2 尺度滤波器

在新一帧图像中,利用2维的位置相关滤波器确定目标的新位置,再使用1维的尺度相关滤波器,以当前中心位置为中心点,获取不同尺度的候选区域,从而找到最匹配的尺度。尺寸选择原则为

(5)

其中:P和R分别为目标框的宽度和高度;n在取值区间内取整数;s为尺度数量,s=33;a为尺度因子,a=1.02。

3 多目标数据关联

跟踪的关键是使跟踪目标和检测目标建立一一对应关系。采用检测目标与跟踪目标之间的欧式距离来构造代价矩阵,然后采用匈牙利算法[12]计算跟踪目标和检测目标的对应关系。代价计算公式和代价矩阵为:

(6)

(7)

其中:dij为检测目标的中心位置与DSST跟踪目标的中心位置的欧式距离;T为根据经验设置的阈值,当跟踪目标与检测目标距离过大时,直接定义一个距离很大的数值,防止错误匹配。

多目标匹配示意图如图2,其中实线方框表示跟踪器预测的目标方框,虚线方框表示YOLOv3检测器检测到的目标方框。

图2 多目标匹配示意图

通过匈牙利算法求解总体关联代价最大指派矩阵A=[aij],aij∈{0,1},aij=1表示检测目标i和跟踪目标j已被成功关联。匈牙利算法确保整体最终匹配的距离代价之和是最低的,最小代价之和为

(8)

其中Z为总体最小代价。

4 多目标跟踪方法

多目标跟踪方法主要步骤为:

1)采用YOLOv3检测器从当前帧找到新的目标,为每一个新目标创建跟踪器。

2)结合YOLOv3检测到的所有目标与当前跟踪器所跟踪的目标进行多目标数据关联匹配,用匹配的检测目标更新跟踪器的位置参数。

3)根据目标未匹配的次数判定目标是否已离开,若已离开则删除对应的跟踪器。对于这个未匹配次数阈值,根据经验设置为3,即超过3次未匹配则删除对应的跟踪器。

YOLOv3检测器并未对每一帧都检测,而是每隔30帧进行一次目标检测,其余帧图像由DSST跟踪器进行持续跟踪,并在跟踪过程中使用检测器去校正跟踪器,这样的好处是可以提升系统运行帧率,且充分利用了检测器与跟踪器的各自优点。多目标跟踪过程如图3所示。

图3 多目标跟踪过程

5 实验结果与分析

5.1 数据集

为了使YOLOv3网络模型更好地适应高速公路隧道环境,本实验使用广西境内的汕昆高速(G78)部分隧道内的监控视频所采集的842张样本图片作为训练数据集。本数据集有轿车(car)、客车(bus)和货车(truck)三种类型的车辆。使用LabelImg软件进行数据集的标记。

5.2 初始候选框优化

选择合适的预选框[13]可提高模型的准确度和训练速度。因此,采用k-mean聚类算法在自制的高速公路隧道车辆数据集上进行聚类分析,得到9组预选框,预选框的宽高分别为:(17,24),(22,32),(40,62),(30,45),(51,84),(68,101),(81,138),(102,204),(151,286)。使用上述这9组预选框进行模型训练。

5.3 模型训练

由于样本数量较少,从头开始训练容易产生过拟合现象,且不具备泛化能力。因此,采用迁移学习的方式进行YOLOv3模型的训练。

硬件环境为:CPU为Intel(R) Xeon(R) CPU E5-2620 v4,GPU为NVIDIA Tesla P40,运行内存(RAM)128 GiB。实验在Windows系统的Pycharm开发平台开发实现,使用的编程语言为Python3.6,深度学习框架为Keras2.2.2,并结合了OpenCV3.4.1。

YOLOv3迁移学习训练是在原作者提供的252层YOLOv3模型的基础上进行训练的,需要保留模型的前249层的参数(预训练权重)。在第一轮的训练过程中,冻结模型的前249层,只训练整个模型的后3层,采用学习率为0.001,迭代500次。当损失值达到稳定水平时,降低学习率为0.000 1,解冻前249层,放开所有层进行第二轮训练,迭代500次。YOLOv3迁移学习训练过程如图4所示。

图4 YOLOv3迁移学习训练过程

当放开所有层一起训练时,损失值随着训练迭代次数的增加缓慢下降,最终达到收敛状态,损失值达到一个比较低的值,大约为5。训练损失曲线图如图5所示。

图5 训练损失

5.4 实验效果

实验采用广西壮族自治区河百高速(G78汕昆高速河百段)的新烟隧道的监控视频。表1为模型测试结果。由表1可知,模型性能表现较好,尤其是轿车的检测效果最好,达到了99.47%。检测效果图如图6所示。

表1 模型测试结果

图6 检测效果图

本实验采用YOLOv3结合DSST跟踪算法进行车辆跟踪实验。图7为单车辆与多车辆情况下的多目标跟踪。从图7可看出,本方法可以很好地应对多车辆同时跟踪,并绘制跟踪轨迹。本方法的系统FPS基本在25帧以上,有的达30帧以上,完全可以满足实时性要求,相较于使用YOLOv3结合卡尔曼滤波对每帧图像进行检测跟踪的传统方法,在相同硬件配置下平均帧率提升了15帧。

图7 跟踪效果图

采用同一段视频场景下,对高速公路隧道内的车辆进行跟踪,以车流量统计的准确性来评价跟踪方法的性能。跟踪结果如表2所示。从表2可看出,本方法在高速公路隧道场景下,跟踪效果表现良好,车流量统计的平均准确率达到了95.75%,其中轿车的跟踪准确率最高,达97%以上。与传统的YOLOv3结合卡尔曼滤波对每帧图像进行检测跟踪的方法比较,本方法在帧率上具有很大优势,平均帧率提升了15帧,且本方法在跟踪的平均准确率上也更具有优势。从整体来看,本方法能满足高速公路隧道场景下的车辆检测与跟踪应用的需求。

表2 跟踪结果

6 结束语

提出了一种基于YOLOv3的高速公路隧道多车辆跟踪方法,使用隧道监控摄像头所采集到的样本数据对YOLOv3模型进行训练,结合DSST跟踪器,利用数据关联实现对高速公路隧道多车辆进行检测与跟踪。实验表明,本跟踪方法达到了预期效果,而且系统算法的帧率较于传统的方法有了很大的提升,完全可以达到实时性要求,可以满足高速公路隧道场景下车辆检测与跟踪应用的需求。下一步将增加训练样本数量,进一步提高跟踪准确率。

猜你喜欢

跟踪器滤波器尺度
光伏跟踪器阵列跟踪精度的测算方法研究
财产的五大尺度和五重应对
浅析一种风光储一体化跟踪器
从滤波器理解卷积
超长待机的自行车位置跟踪器
开关电源EMI滤波器的应用方法探讨
双向多轨迹判定方法在目标跟踪中的应用研究
基于Canny振荡抑制准则的改进匹配滤波器
宇宙的尺度
基于TMS320C6678的SAR方位向预滤波器的并行实现