APP下载

基于YOLOv3和DeepSort的车流量检测

2021-08-03陈佳倩金晅宏王文远陆莹洁

计量学报 2021年6期
关键词:车流量车辆目标

陈佳倩, 金晅宏, 王文远, 陆莹洁

(上海理工大学 光电信息与计算机工程学院, 上海 200093)

1 引 言

随着城市化进程的加快和智能交通的发展,车流量检测成了重要课题之一。车流量检测技术的发展可以进一步提高智慧城市的管理和规划能力以及城市的生产和服务效率[1]。交通规划部门常用的车流量检测方法多为空气管道检测技术、磁感应检测技术[2]等,这些技术的应用易受到外部因素的影响,已不能满足如今自动化程度越来越高的时代需求。随着图像处理技术、计算机视觉以及计算机硬件设施的发展,基于视频的车流量检测可以减少人为对检测的干预,计算机视觉被应用于视频车流量检测领域是车流量统计的发展趋势。基于视频的车流量检测通常分为2个部分:车辆检测和车辆跟踪。车辆跟踪的传统方法主要分为判别类方法和生成类方法,其中部分算法实时性差,复杂度高,如背景建模法、光流法[3,4]等;部分算法则容易受到目标移动速度影响,如卡尔曼滤波、粒子滤波、均值漂移[5,6]等。基于深度学习的目标检测算法主要分为基于候选区域和基于回归思想的算法。基于候选区域的算法如R-CNN、Fast R-CNN[7,8]等实时性能较差,而经改良的基于回归思想的YOLOv3算法[9]在精度提高的同时,实时性强。在车辆跟踪方面,跟踪算法SORT[10](simple online and real-time tracking)算法使用卡尔曼滤波器和匈牙利算法处理跟踪问题中的运动估计和数据关联。跟踪器对视频中的前一帧和当前帧处理,提高了在线跟踪的效率,但是无法解决长期遮挡和目标识别问题。DeepSort[11](simple online and realtime tracking with a deep association metric)则使用更加可靠的度量代替关联度量,使用CNN网络对数据集训练并提取特征,增加网络对遗失和障碍的鲁棒性,有效的解决了跟踪过程中的遮挡问题[12,13]。

为了能够将目标准确检测后输入跟踪器进行在线实时跟踪,本文将YOLOv3算法和DeepSort算法结合,展开车流量检测研究。首先,采用YOLOv3算法在Darknet-53图像特征提取网络结构下训练车辆目标检测模型,获得性能优良的YOLOv3检测器。然后利用YOLOv3的检测结果作为后续跟踪的输入,结合DeepSort算法框架,利用运动模型和表观信息进行数据关联,实现端到端多目标视觉跟踪,进行视频车流量检测,使车辆目标在光照、快速移动、遮挡等复杂情况下获得良好的跟踪效果,提升了传统车流量检测算法的性能和鲁棒性。

2 基于YOLOv3的车辆检测

Tracking-By-Detection是一种detector+tracker的多目标追踪方式,选择合适优良的检测器对跟踪效果影响巨大。YOLOv3是一种基于一体化卷积网络(one stage)的目标检测算法,通过直接回归的方式一次处理并学出对应物体的目标区域、位置及类别[14,15]。YOLOv3的网络结构模型如图1所示。

图1 YOLOv3网络结构Fig.1 YOLOv3 network structure

YOLOv3算法采用DarkNet-53网络作为主干网络,使用其中的52个卷积层提取特征的主要结构,经过卷积和矩阵拼接操作对中低层和底层矩阵进行处理,产生3个尺度的输出。预测网络对不同尺寸的特征图处理,预测目标类别及位置。YOLOv3使用多尺度特征,优化了对小目标的检测效果。并且采用多标签取代单标签,减少目标重叠。

经过从YOLO到YOLOv2再到YOLOv3的一系列改进,YOLOv3算法与其它深度学习检测算法在COCO数据集上的测试速度与精度对比如表1所示。

表1 YOLOv3与其它深度学习检测器性能对比Tab.1 Performance comparison between YOLOv3 and other deep learning detectors

3 基于DeepSort的车辆跟踪

DeepSort算法带有深度关联特征,是基于Sort算法的改进,它的跟踪效果基于现有的准确的检测结果。以检测结果bounding box、confidence、feature为输入。conf主要用于检测框的筛选,bounding box与feature(ReID)用于与跟踪器的匹配计算。预测模块利用卡尔曼滤波器,更新模块部分利用IOU进行匈牙利算法的匹配,跟踪流程如图2所示。

图2 DeepSort 跟踪流程Fig.2 DeepSort tracking process

马氏距离表示检测目标背离目标轨迹平均位置的偏离程度,使用马氏距离可度量卡尔曼滤波器预测的目标状态与检测值的匹配度,用yi表示第i个追踪器的目标预测框位置,dj为第j个检测框位置,Si为检测位置与追踪位置之间的协方差矩阵。马氏距离计算公式为:

(1)

通过马氏距离对左右检测到的目标进行筛选,设阈值t(1)=9.487 7。若关联的马氏距离d(1)小于阈值,则设置运动状态关联成功,示性函数为:

(2)

(3)

设定阈值t(2),确定是否关联:

(4)

使用2种度量方式的线性加权作为最终的度量:

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

(5)

当ci,j位于2种度量阈值交集内,则认为实现了正确的关联。

门限函数为:

(6)

为了将DeepSort与其他多目标跟踪模型进行对比,选取结合丢失目标,虚警率,标号转换后的准确率MOTA;平均边框重叠率MOTP;被跟踪到的轨迹占比MT;跟丢的轨迹占比ML;跟踪轨迹改变目标标号的次数ID;真实轨迹被打断的次数FM;误报总数FP;未命中目标总数FN和运行频率Runtime作为评价指标进行评价。DeepSort和其它方法在Mot16数据集上的跟踪结果对比如表2所示。

表2 DeepSort与其它多目标跟踪算法性能对比Tab.2 Performance comparison of DeepSort and other multi-target tracking algorithms

作为一种在线跟踪方法,DeepSort具有良好的性能,满足了视频多目标检测和跟踪的要求。

为了解决车流量跟踪计数的问题,本文利用卷积神经网络对大规模车辆ReID数据集对车辆数据集进行训练,采用VeRi基准数据集,该数据集包括776辆车,超过50 000张的图像,每辆车在不同的视点、照明、分辨率和遮挡条件下由2~18台摄像机拍摄,将图像裁剪缩放到大小为128×256像素进行cosine_metric训练,再使用该预训练网络为基础网络,构建wide ResNet,得到车辆表观特征模型,与检测器的输入bounding box进行匹配计算,解决传统跟踪方法对表面特征提取不准确的问题。

将训练好的YOLOv3检测器用于复杂环境下的车流量检测,使用YOLOv3训练的车辆检测模型,将车流视频中的车辆检测结果作为DeepSort跟踪器的实时输入。高精度的目标检测算法弥补了DeepSort的自身缺陷。具体的车流量检测算法流程图如图3所示。

图3 车流量检测算法流程图Fig.3 Flow Chart of Vehicle Flow Detection Algorithm

4 实验结果及分析

为了验证YOLOv3和DeepSort框架相结合进行车辆跟踪计数的可行性和准确性,将该算法集成在Tensorflow平台下,选取30帧/s,尺寸为1 280×720像素的道路拍摄车辆视频进行测试。实验配置环境为英伟达 RTX 2060 SUPER以及Win10系统。开发基于Python语言,跟踪可视化基于OpenCV。

4.1 车辆检测

网络训练时,在ImageNet数据集预训练好权重的基础上,使用UA-DETRAC[16]车辆数据库训练车辆检测模型数据集,该数据集主要拍摄于北京和天津的道路过街天桥,多为摄像头俯视视角。将数据集格式转换为VOC格式,再将格式标注信息转换为YOLO格式的TXT文件,YOLOv3.cfg文件中识别类别改为1。设置权重衰减因子为0.0005,初始学习率为0.001,动量参数设为0.9,训练批次取为64。用训练好的YOLOv3检测器对测试视频进行测试。截取城间公路场景第515到518帧的车辆检测效果如图4所示。

图4 第515到518帧车辆检测效果Fig.4 Vehicle detection effect of frames 515 to 518

4.2 车辆跟踪及计数

在检测的基础上,用DeepSort进行对检测框质心的匹配,形成车辆运动的轨迹,实现车辆的跟踪计数,完成车流量检测。分别采用混合高斯建模加虚拟线圈法、粒子滤波法、三帧差法和本文算法进行处理,选取视频中的第59~62帧进行对比,得到的处理效果如图5所示。不同算法的车流量检测的检测性能对比如表3所示。

表3 与不同车流量检测模型性能对比Tab.3 Performance comparison with different vehicle flow detection models

图5 第59到62帧车流量检测效果图Fig.5 traffic flow detection effect diagrams of frames 59 to 62

从表3可看出,传统基于高斯混合模型的车流量检测模型,由于光照等原因,出现了大面积的阴影,致使前景目标不能被正常检测出,虚拟检测带对车辆数的检测就不准确。基于粒子滤波的算法模型由于其只用单一的目标特征从而丧失对背景的自适应能力易导致目标跟踪失效。基于帧差法的检测模型对快速运动的物体,容易出现鬼影的现象,甚至会被检测为几个不同的运动物体,造成车辆目标被反复检测并计数。而本文采用的YOLOv3检测和DeepSort跟踪算法对车流量进行统计,应对快速移动的车辆和环境光照的的影响可以准确得检测出车辆并进行跟踪,有效防止目标的丢失,实现有效跟踪。

5 结 论

本文解决了由于道路和环境的复杂性,传统的车流量检测算法精度低、鲁棒性差不理想的问题。通过YOLOv3算法快速检测车辆,在检测的基础上,利用基于深度神经网络的多目标跟踪算法DeepSort算法实现车辆的跟踪计数,完成车流量的检测。YOLOv3高精度的检测结果弥补了DeepSort自身的算法缺陷,减少了DeepSort算法对检测结果依赖性产生的影响。实验证明,将这两种算法结合进行车辆目标的跟踪计数,减少了车辆快速移动、车身部分遮挡和光照阴影对车辆跟踪的干扰,提高了跟踪的稳定性和车流量检测的精度。

猜你喜欢

车流量车辆目标
车辆
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
参考答案
高速公路重大节假日免费车流量金额算法研究与应用
一种新型多车道车流量检测算法
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)
(新目标)七年级下Unit 1练习(二)