欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 信号装置> 一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法独创技术0字

一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法

2021-04-07 08:03:54

附图说明" src="/d/file/p/2021/01-31/1fa4a73753d08689b55a768a90ebbca9.gif" />

一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法

  技术领域

  本发明涉及交通大数据领域,具体的是一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法。

  背景技术

  交通流参数提取作为交通管理和控制的一项基本且重要的任务,为交通管理者的决策和管理带来了便利。目前一些典型的交通流参数提取的方法主要分为(1)有基于线圈检测的方式;(2)基于红线传感器检测的方式;(3)基于微波技术检测方式等。基于线圈检测的方式是一种接触式的检测方式,其缺点是安装和拆卸麻烦,不能很好地提取车辆的轨迹数据,且不适用于拥堵情况较严重的路段。基于红外线或者微波技术的检测方式采用了非接触式的检测方式,安装和拆卸较为方便,但是其无法区分不同车道的车辆,且同样受限于交通拥堵较多的路段。

  近年来,随着交通监控的大面积覆盖,基于交通监控的车辆轨迹提取、分车道车辆计数等应用受到人们的关注,相较于上述一些传统的交通流参数提取方式,基于视频的检测方式具有以下优势:

  (1)非接触式的检测方式,安装和拆卸方便;

  (2)可以区分车辆的车型和车辆所处的车道;

  (3)受交通拥堵等情况限制较小,可以较好地检测和追踪交通拥堵中的车辆。

  论文《Real-Time Traffic Flow Parameter Estimation From UAV Video Basedon Ensemble Classifier and Optical Flow》基于无人机监控视频,采用了Haar cascade和卷积神经网络检测视频监控中的车辆,然后使用光流理论捕捉车辆在时间维度上的运动信息,最后根据运动信息,提取监控路段的交通流参数(轨迹,速度,车流量),该方法适用于特定的监控视频(无人机监控视频),但其受限于其他监控类型(如卡口监控,高空相机等)。论文《Vision-based vehicle detection and counting system using deep learningin highway scenes》基于高速公路监控视频,采用了深度学习YOLO V3目标检测模型进行车辆检测,然后使用ORB算法获取车辆轨迹,并实现不同车辆的计数功能,该方法利用了YOLO V3来捕捉车辆,检测精度得到了大幅度的提升。论文《Vehicle Count System basedon Time Interval Image Capture Method and Deep Learning Mask R-CNN》采用了MaskRCNN目标检测和分割模型对特定道路的车辆进行捕捉和计数,但是其对非机动车等小物体识别能力较差且检测速度无法得到保证。

  综上所述,目前研究方法的主要缺点有:

  (1)就车辆位置检测算法/模型而言,目前大多数研究方法主要通过背景减除法或者光流法来检测车辆,其检测精度不高,影响交通流参数提取的精度和效率;少数研究使用精度较好的卷积神经网络模型来进行车辆检测,但是由于卷积神经网络模型较大,无法很好地满足检测的实时性要求,影响交通流参数提取的速度和效率。

  (2)就车辆的运动信息提取而言,目前大多数研究方法主要通过光流法/检测区域的图像特征匹配/卡尔曼滤波等方法进行车辆追踪,其适用于车辆稀少的路段,但是受限于复杂/拥堵路段。

  (3)目前多数研究方法不具备轨迹分析、车道自动划分以及分车道车辆自动计数等功能,车道判别需要依赖人为手动设定的规则,对于车道较多的监控画面,人为判别费时费力。

  发明内容

  为解决上述背景技术中提到的不足,本发明的目的在于提供一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法,本发明利用目标检测模型YOLO V4检测监控视频中的车辆位置,具有检测精度高,检测速度快等优点,在YOLO V4获取车辆位置的基础上,使用目标追踪模型DeepSORT在时间维度进行车辆的追踪,由于DeepSORT中使用了卡尔曼滤波进行位置预测以及重识别模型进行特征提取,相较于传统的目标追踪算法/模型,精度得到了大幅度提升;

  同时,本发明在使用时,在后台搭建车辆轨迹数据存储CSV文件,记录每一帧各车辆检测框中心坐标与对应的车辆ID。最后使用DBSCAN聚类算法对轨迹数据进行聚类分析,实现轨迹终点聚类、车道自动划分与各车道车辆自动计数功能。

  本发明的目的可以通过以下技术方案实现:

  一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法,包括以下步骤:

  S1.收集YOLO V4训练数据集和车辆重识别数据集与数据增强;

  S2.使用Pytorch深度学习框架搭建YOLO V4模型并进行训练;

  S3.搭建DeepSORT目标追踪模型,使车辆重识别数据训练其车辆特征提取网络,并以YOLO V4在每帧的检测框为输入,完成YOLO V4+DeepSORT车辆追踪模型的搭建;

  S4.使用YOLO V4+DeepSORT模型进行车辆的追踪并提取每辆车运行轨迹,搭建轨迹记录文件并存储每辆车的运行轨迹信息;

  S5.使用DBSCAN聚类算法对轨迹数据的终点坐标进行聚类,将聚类簇与车道信息进行关联;

  S6.根据轨迹数据的变化规律以及轨迹和聚类簇对应关系,实现车辆的分车道计数功能。

  进一步地,所述S1中具体的数据集和数据增强方式包括:

  S11.YOLO V4训练数据集的收集与数据增强:收集PASCAL VOC和COCO数据集中小轿车、卡车、公交车和非机动车标注图片和标注信息,并手动标注2000张不同视角监控视频帧中的车辆类别和位置信息,采用的数据增强方式是随机裁剪,随机翻转,随机调整饱和度、色调、亮度的图片参数,马赛克数据增强,混合裁剪数据增强,图片数据统一缩放到608x608分辨率;

  S12.车辆重识别数据集收集与数据增强:收集VeRi数据集,训练DeepSORT中车辆特征提取模型,采用的数据增强方式是随机裁剪。

  进一步地,所述S2中搭建和训练YOLO V4的过程如下:

  S21.YOLO V4有以下部分组成:一、特征提取网络CSPDarknet53;二、多尺度特征融合网络PAN和空间金字塔池化SPP;三、类似YOLO V3模型用于分类和检测框回归的头网络;使用Pytorch深度学习框架依次搭建CSPDarknet53特征提取网络,将其输出的三个不同宽高特征图,通过SSP+PAN进行特征融合,最后将特征融合后获得的三个不同宽高特征图一次性通过1x1卷积神经网络,获得YOLO V4的输出结果;

  S22.在S21搭建完毕的YOLO V4的基础上,根据网络的输出和数据集的真实标签设定损失函数进行训练,物体分类损失继承YOLO V3的交叉熵损失,损失函数设定完毕后,使用反向传播算法更新YOLO V4网络参数;

  S23.训练过程中YOLO V4超参数设定为:选择Adam优化器,初始学习率设定为1e-5,数据集训练轮次设定为50,批量大小设定为16。

  进一步地,所述S3中DeepSORT目标追踪模型的搭建以及训练过程具体包括:

  S31.以YOLO v4输出的候选框大小和位置信息为输入,搭建DeepSORT的三大组成部分:(1)卡尔曼滤波算法做位置预测器,包括两个阶段:

  (1.1)预测阶段:当目标移动时,根据目标在上一帧的速度和位置信息,预测出目标在当前帧的速度和位置的信息;

  (1.2)更新阶段,根据算法捕捉的预测值以及观测值,通过两个正态分布的线性加权,得到当前系统的状态;

  (2)小型残差网络做特征提取器的训练和测试,使用ReID数据集训练该小型残差网络,使用交叉熵作为训练损失函数,训练轮次设定为50轮次,优化器选择Adam优化器,初始学习率设定为0.0001,训练完毕后,将YOLO V4检测框中的车辆图片缩放至112像素×112像素作为输入,获得128维的低维向量用于后面相似度计算;

  (3)匈牙利算法做特征匹配器,使用余弦距离计算检测框向量化后的近似度后,利用匈牙利算法对前后两帧中检测框内车辆进行匹配,匹配度高的被认定为同一车辆,分配统一的ID编号。

  进一步地,所述S4的具体步骤为:

  S41.获得每辆车在每帧中的位置信息,且为每辆车分配唯一的标识符;

  S42.以检测框的中心代替车辆,绘制同一ID车辆在时间上的轨迹;

  S43.创建CSV文件作为轨迹记录文件,并实时地将所有车辆的ID信息和车辆轨迹信息导入CSV文件中。

  进一步地,所述S5的具体步骤为:

  S51.选择轨迹终点坐标做轨迹聚类;

  S52.导入CSV文件中的轨迹数据并获取所有轨迹数据的终点坐标;

  S53.使用DBSCAN聚类算法对轨迹数据的终点坐标进行聚类;

  S54.将轨迹终点落入同一聚类簇的轨迹进行分析,连接这些轨迹起点位置的重心和终点位置的重心,实现该聚类簇对应车道的识别和划分,如果某一聚类簇对应轨迹的起点出现多个明显的差异,分别连接这些差别较大的起点重心到终点重心,实现聚类簇和车道信息的关联;

  S54.关联聚类簇和车道信息后,每产生一条完整的轨迹数据,该轨迹数据分配给其终点坐标所属聚类簇对应的车道中。

  进一步地,所述S6中实现车辆的分车道计数功能,具体包括:

  S61.如果某一车辆的轨迹数据在接下来的10帧视频段中均不发生更新,则该轨迹被存入CSV文件中;

  S62.将CSV文件中新添的轨迹数据根据终点坐标分配给离他最近的聚类簇中;

  S63.如果一个聚类簇中新增了一个终点坐标数据,则该聚类簇对应的车道的车流量增加产生该轨迹辆车的标准车当量数,实现分车道的车辆计数功能。

  本发明的有益效果:

  1、本发明采用了YOLO V4+DeepSORT车辆检测和追踪模型,保证了车辆检测和追踪实时性的同时,精度也有了大幅度提升;

  2、本发明在使用时,通过轨迹终点位置代替轨迹数据,使用DBSCAN对轨迹终点位置进行聚类,实现对轨迹数据的聚类,聚类结束后根据轨迹落入的聚类簇位置和轨迹起点位置进行聚类簇和车道的匹配对应,最后根据匹配的车道和轨迹分析,完成分车道车辆自动计数功能。

  附图说明

  下面结合附图对本发明作进一步的说明。

  图1是本发明整体流程图;

  图2是本发明部分车辆重识别数据集展示图;

  图3是本发明YOLO V4结构图;

  图4是本发明车辆在每帧中的位置以及ID示意图;

  图5是本发明车辆轨迹绘制示意图;

  图6是本发明YOLO V4车辆检测效果图;

  图7是本发明YOLO V4+DeepSORT的车辆追踪效果图;

  图8是本发明车辆轨迹提取效果图;

  图9是本发明4.车辆轨迹终点分布图;

  图10是本发明DBSCAN聚类后聚类簇分布图;

  图11是本发明聚类簇与车道对应图;

  图12是本发明分车道车辆计数功能实现。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

  在本发明的描述中,需要理解的是,术语“开孔”、“上”、“下”、“厚度”、“顶”、“中”、“长度”、“内”、“四周”等指示方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本发明的限制。

  一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法,如图1所示,包括以下步骤:

  S1.收集YOLO V4训练数据集和车辆重识别数据集与数据增强;

  S11.YOLO V4训练数据集的收集与数据增强:收集PASCAL VOC和COCO数据集中所有小轿车、卡车、公交车和非机动车标注图片和标注信息,并手动标注2000张不同视角监控视频帧中的车辆类别和位置信息。采用的数据增强方式主要是随机裁剪,随机翻转,随机调整饱和度、色调、亮度等图片参数,马赛克数据增强,混合裁剪数据增强等;图片数据统一缩放到608x608分辨率;

  S12.车辆重识别数据集收集与数据增强:收集VeRi数据集(37778张训练图片,11579张测数数据集)训练DeepSORT中车辆特征提取模型,采用的数据增强方式主要是随机裁剪,部分数据集如图2所示(以下为同一车辆不同角度拍摄);

  S2.使用Pytorch深度学习框架搭建YOLO V4模型并进行训练;

  S21.YOLO V4有以下部分组成:(1)特征提取网络CSPDarknet53;(2)多尺度特征融合网络PAN和空间金字塔池化SPP;(3)类似YOLO V3模型用于分类和检测框回归的头网络;其具体结构图如下图3所示,使用Pytorch深度学习框架依次搭建CSPDarknet53特征提取网络,将其输出的三个不同宽高特征图(宽高为19x19,38x38,76x76)通过SSP+PAN进行特征融合,最后将特征融合后获得的三个不同宽高特征图一次性通过1x1卷积神经网络,获得YOLOV4的输出结果;

  S22.在S21搭建完毕的YOLO V4的基础上,根据网络的输出和数据集的真实标签设定损失函数进行训练,YOLO V4模型采用了CIOU损失函数学习检测框的位置和大小,相较于YOLO V3中采用的MSE损失函数,速度更快,精度更高。物体分类损失仍然继承YOLO V3的交叉熵损失,损失函数设定完毕后,使用反向传播算法更新YOLO V4网络参数。

  S23.训练过程中YOLO V4一些超参数设定为:选择Adam优化器,初始学习率设定为1e-5;数据集训练轮次设定为50;批量大小设定为16;

  S3.搭建DeepSORT目标追踪模型,使车辆重识别数据训练其车辆特征提取网络,并以YOLO V4在每帧的检测框为输入,完成YOLO V4+DeepSORT车辆追踪模型的搭建;

  S31.以YOLO v4输出的候选框大小和位置信息为输入,搭建DeepSORT的三大组成部分:(1)卡尔曼滤波算法做位置预测器,这里使用的是卡尔曼滤波器的匀速运动和线性观测模型;主要分为两个阶段,

  (1.1)预测阶段:当目标移动时,根据目标在上一帧的速度和位置信息,预测出目标在当前帧的速度和位置的信息;

  (1.2)更新阶段,根据算法捕捉的预测值以及观测值,通过两个正态分布的线性加权,得到当前系统的状态;

  (2)小型残差网络做特征提取器的训练和测试。使用ReID数据集训练该小型残差网络,使用交叉熵作为训练损失函数,训练轮次设定为50轮次,优化器选择Adam优化器,初始学习率设定为0.0001。训练完毕后,将YOLO V4检测框中的车辆图片缩放至112像素112像素作为输入,获得128维的低维向量用于后面相似度计算。

  (3)匈牙利算法做特征匹配器,使用余弦距离计算检测框向量化后的近似度后,利用匈牙利算法对前后两帧中检测框内车辆进行匹配,匹配度高的被认定为同一车辆,分配统一的ID编号;

  S4.使用YOLO V4+DeepSORT模型进行车辆的追踪并提取每辆车运行轨迹,搭建轨迹记录文件并存储每辆车的运行轨迹信息;

  S41.获得每辆车在每帧中的位置信息(检测框的位置),且为每辆车分配唯一的标识符,如下图4所示;

  S42.以检测框的中心代替车辆,绘制同一ID车辆在时间上的轨迹,如图5所示;

  S43.创建CSV文件作为轨迹记录文件,并实时地将所有车辆的ID信息和车辆轨迹信息导入CSV文件中;

  S5.使用DBSCAN聚类算法对轨迹数据的终点坐标进行聚类,将聚类簇与车道信息进行关联;

  S51.不同轨迹数据长度不尽相同,直接对轨迹数据进行聚类会出现轨迹间距离难以计算等问题,所以本发明我们选择轨迹终点坐标(基于图像像素坐标系)代替轨迹数据做轨迹聚类;

  S52.导入CSV文件中的轨迹数据并获取所有轨迹数据的终点坐标;

  S53.使用DBSCAN聚类算法对轨迹数据的终点坐标进行聚类;

  S54.将轨迹终点落入同一聚类簇的轨迹进行分析,连接这些轨迹起点位置的重心和终点位置的重心,实现该聚类簇对应车道的识别和划分,如果某一聚类簇对应轨迹的起点出现多个明显的差异,分别连接这些差别较大的起点重心到终点重心,实现聚类簇和车道信息的关联;

  S54.关联聚类簇和车道信息后,每产生一条完整的轨迹数据,该轨迹数据分配给其终点坐标所属聚类簇对应的车道中;

  S6.根据轨迹数据的变化规律(一段时间是否停止更新)以及轨迹和聚类簇对应关系,实现车辆的分车道计数功能。

  S61.如果某一车辆的轨迹数据在接下来的10帧视频段中均不发生更新,则该轨迹被存入CSV文件中;

  S62.将CSV文件中新添的轨迹数据根据终点坐标分配给离他最近的聚类簇中;

  S63.如果一个聚类簇中新增了一个终点坐标数据,则该聚类簇对应的车道的车流量增加产生该轨迹车辆的标准车当量数,实现分车道的车辆计数功能。

  图6中展示了四种不同道路环境/天气环境下的YOLO V4的检测效果图,从左上角(大雾)的检测图可以看出我们的模型对雾天环境下车辆检测的效果依旧很好,右上角(夜晚)展示了夜晚环境下车辆的检测效果图,YOLO V4模型仍然保证了该亮度环境下车辆检测的精度。下面两张图代表了常见的两种道路环境,即拥堵车流和正常车流。我们的模型在这些道路环境下保证了检测的精度,很少会出现重复检测以及漏检测等情况。

  图7展示了DeepSORT在YOLO V4车辆检测的基础上,为每辆车检测框分配了唯一的ID标识符,且随着视频的播放同一车辆的ID标识符在时间维度上不再发生变化,实现了车辆的追踪。图8在车辆追踪的基础上,选择车辆检测框的中心位置代替检测车辆,在时间维度上将车辆检测中心位置进行连接,实现车辆轨迹提取。

  图9(右)将已经完成(不在更新)的车辆轨迹的终点绘制在了图上,可以清晰的看出轨迹终点的分布呈现类内距离较小、类间距离较大的特点。我们使用DBSCAN聚类算法对轨迹终点分布图进行聚类,得到图10的聚类簇分布图。本发明将轨迹终点落入同一聚类簇的轨迹进行分析,连接这些轨迹起点位置的重心和终点位置的重心,实现该聚类簇对应车道的识别和划分,如果某一聚类簇对应轨迹的起点出现多个明显的差异,分别连接这些差别较大的起点重心到终点重心,获得如图11所示的聚类簇和车道的对应关系。最后根据轨迹不在发生更新将轨迹保存至CSV文件中,并将该轨迹分配给其终点落入聚类簇对应车道中,根据产生该轨迹的车型为相应车道增加等标准车当量的车流,实现分车道车流的自动计数功能,如图12所示。

  在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

  以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

《一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)