一种基于深度学习的公路交通事件检测方法转让专利

申请号 : CN202210301685.8

文献号 : CN114724063B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘永桂黄家琛

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于深度学习的公路交通事件检测方法,包括以下步骤:获取道路交通车辆样本数据集;对样本数据集进行处理,并进行划分得到训练集与验证集;在原始YOLOv5模型加入注意力模块CBAM,使用α‑CIOULoss替换原有CIOULoss,得到改进的YOLOv5‑Improved模型检测算法;将处理后的样本数据集输入到YOLOv5‑Improved模型得到训练后的.pt权重文件;利用权重文件对视频测试集进行检测,得到目标车辆结果信息,并将其输入到Deepsort目标跟踪检测算法中进行跟踪,得到车辆的具体坐标信息以及车辆ID;将其输入到预先写好的逻辑算法中判断其是否为停车、拥堵事件。本发明采用上述基于深度学习的公路交通事件检测方法,能够解决现有的目标检测方法实时性和检测精度较差的问题。

权利要求 :

1.一种基于深度学习的公路交通事件检测方法,其特征在于,包括以下步骤:

S1、获取道路交通车辆样本数据集,包括目标检测数据集Visdrone2019‑DET、UA‑DETRAC以及车辆重识别数据集VeRi776数据集;

S2、对所述样本数据集进行处理,将目标检测数据集标注类型转成YOLOv5所适用格式,并进行划分得到训练集与验证集;

S3、对原始YOLOv5模型检测算法进行改进,加入注意力模块CBAM,使用α‑CIOULoss替换原有CIOULoss,使用Soft‑NMS替代YOLOv5中原有的Hard‑NMS,得到改进的YOLOv5‑Improved目标检测模型;

S4、将处理后的目标检测样本数据集输入到YOLOv5‑Improved模型得到训练后的.pt权重文件,同时将车辆重识别数据集输入到Deepsort表征提取网络得到训练后的.t7文件;

S5、利用训练得到的权重文件对高速公路视频测试集进行检测,得到目标车辆结果信息,并将其输入到Deepsort目标跟踪检测算法中进行跟踪,得到车辆的具体坐标信息以及车辆ID;

S6、根据得到的车辆ID及其相应的坐标信息,将其输入到预先写好的逻辑算法中判断其是否为停车、拥堵事件;

所述步骤S5中,将高速公路视频测试集转为图像序列传入,利用步骤S4所得权重文件进行检测并得到检测结果;将检测结果传入到Deepsort多目标跟踪算法中得到对车辆跟踪的ID以及相应的位置,其信息以嵌套数组形式呈现:[[car_ID,topLeft_X,topLeft_Y,botRight_X,botRight_Y],…]其中car_ID代表当前车辆ID,topLeft_X与topLeft_Y分别代表检测得到的目标框左上角横、纵坐标,botRight_X以及botRight_Y分别表示目标框右下角的横、纵坐标;根据以下公式分别计算出目标框中心点坐标center_X和center_Y:其中,Round表示四舍五入保留1位小数;

所述步骤S6中,每隔6帧将车辆位置进行对比,遍历当前帧中检测出来的所有目标,对每一目标先判断其car_ID是否已在slow缓行数组中;若在,则进一步对比当前帧和6帧前数据备份数组last_frame中该目标的坐标center_X、center_Y像素差距,若小于stop_pixel像素则证明目标车辆已经停下,将该目标更新到停车数组stopCertify中,同时更新到last_frame数组中用于在6帧后作为对比;stop_pixel像素根据当前目标框大小计算,其具体计算如下:若目标车辆car_ID不在slow缓行数组中,则将其与last_frame数组中6帧前同一目标位置进行对比,若小于slow_pixel像素则证明目标车辆为缓行状态,并将其更新到slow缓行数组以及last_frame数组中;slow_pixel具体计算公式如下:若以上都不满足,则车辆为正常行驶状态,仅将该车辆信息更新至last_frame数组中用于6帧后的比对;最后得到stopCertify停车数组将其在视频中进行框选作为停车事件进行展示,同时判断slow缓行数组长度是否大于8,如果视频中同时缓行的车辆数目大于8则判别为交通拥堵。

2.根据权利要求1所述的一种基于深度学习的公路交通事件检测方法,其特征在于:所述步骤S1中,收集Visdrone2019‑DET、UA‑DETRAC车辆数据集作为目标检测数据集,VeRi776车辆重识别数据集作为Deepsort表征提取数据集。

3.根据权利要求2所述的一种基于深度学习的公路交通事件检测方法,其特征在于:所述步骤S2中,对Visdrone2019‑DET数据集、UA‑DETRAC数据集中车辆目标进行筛选,并整理划分得到目标检测数据集,将目标检测数据集划分为训练集和验证集,并通过python脚本对目标检测数据集中图像进行批量格式转化,得到YOLOv5模型适用的txt标注文件;所述txt标注文件中包含了所有目标车辆归一化后的位置信息;获取VeRi776车辆重识别数据集作为Deepsort多目标跟踪算法中表征提取网络的训练数据集。

4.根据权利要求3所述的一种基于深度学习的公路交通事件检测方法,其特征在于:所述步骤S3中,在YOLOv5模型的Backbone后接入注意力模块CBAM,注意力模块CBAM包括通道注意力模块和空间注意力模块;

通道注意力模块计算公式如下:

Mc(F)代表将原始输入F输入到通道注意力模块中得到的通道注意力图,AvgPool(F)以及MaxPool(F)分别代表原始输入F经过平均池化以及最大池化后的输出,然后将两者送入一个共享网络后相加并经过sigmoid函数得到最终注意力通道输出;其中sigmoid函数计算公式如下:空间注意力模块计算公式如下:

Ms(F')代表将前面通道注意力模块结果F'输入后得到的空间注意力图,将输入分别经

7x7

过平均池化与最大池化后得到AvgPool(F')以及MaxPool(F'),f 表示卷积核尺寸为7x7的卷积操作;

使用α‑CIOULoss替代YOLOv5中默认的CIOULoss计算方式作为预测框bounding box的损失函数,得到改进后的YOLOv5‑Improved;

α‑CIOULoss的计算公式:

其中,DistanceA代表预测框中心点与真实框中心点间的欧式距离,DistanceB代表两框最小外界矩形的对角线距离;

v的计算公式:

gt gt p p

其中,w 、h 分别表示真实框的宽、高,而w 、h 分别代表预测框的宽、高;

IOU计算方式:

其中,Intersection代表预测框与真实框两者的交集,Union代表预测框与真实框两者的并集;

α‑CIOULoss在IOU及惩罚项表达式中进行了幂的运算,power参数α可作为调节α‑IOU损失的超参数以满足不同水平的bounding box回归精度,α取推荐值3;

使用soft‑NMS非极大值抑制替代原有的Hard‑NMS非极大值抑制, soft‑NMS进行扣分惩罚的计算公式如下:iou(M,bi)代表两框交并比IOU值,Si为预测框得分由于上式并非一个连续函数,在函数交界处得分会发生跳变,从而使结果产生波动,故对其改写,最终高斯形式soft‑NMS表达式如下所示:。

5.根据权利要求4所述的一种基于深度学习的公路交通事件检测方法,其特征在于:所述步骤S4中,将步骤S2所得目标检测训练集输入到改进后的YOLOv5‑Improved模型中进行训练,得到训练好的.pt权重文件;同时将车辆重识别数据集输入到Deepsort表征提取网络中进行训练并得到训练好的.t7权重文件。

说明书 :

一种基于深度学习的公路交通事件检测方法

技术领域

[0001] 本发明涉及交通事件检测技术领域,尤其是涉及一种基于深度学习的公路交通事件检测方法。

背景技术

[0002] 随着公路发展的突飞猛进,其日常运行也遇到各种各样的问题,如高速公路上的停车、拥堵问题便是其中重中之重。早期,主要是通过在高速公路出入口进行严格把控,以及交警在高速公路上巡视来达到目的。但是这样耗费人力物力,且效率也十分低下。目前,市场上常见的是交通视频监控系统,但这些系统仅负责采集视频信息并传输至后台控制室,不具备主动判别道路上的异常行为(如停车、拥堵)的能力,只能作为发生意外后的视频查证依据,且需人为调取效率低下。
[0003] 现有的停车、拥堵检测实现思路主要分为传统的机器学习方法以及近年来新出现的深度学习方法。深度学习方法中相关的目标检测算法分为以SSD、YOLO系列为代表一阶段(one‑stage)算法。这类算法检测速度快,但准确度较低。另一类则是以R‑CNN、SPPNet为代表的两阶段(two‑stage)算法,该类算法相较于上一类one‑stage算法需要先生成可能包含待检测物体的候选框,再进行细粒度的物体检测,所以精确度高。但在实时性方面表现较one‑stage算法差。

发明内容

[0004] 本发明的目的是提供一种基于深度学习的公路交通事件检测方法,解决现有的目标检测方法实时性和检测精度较差,无法满足公路上通车、拥堵事件检测的问题。
[0005] 为实现上述目的,本发明提供了一种基于深度学习的公路交通事件检测方法,包括以下步骤:
[0006] S1、获取道路交通车辆样本数据集,包括目标检测数据集Visdrone2019‑DET、UA‑DETRAC以及车辆重识别数据集VeRi776数据集;
[0007] S2、对所述样本数据集进行处理,将目标检测数据集标注类型转成YOLOv5所适用格式,并进行划分得到训练集与验证集;
[0008] S3、对原始YOLOv5模型检测算法进行改进,加入注意力模块CBAM,使用α‑CIOULoss替换原有CIOULoss,使用Soft‑NMS替代YOLOv5中原有的Hard‑NMS,得到改进的YOLOv5‑Improved目标检测模型;
[0009] S4、将处理后的目标检测样本数据集输入到YOLOv5‑Improved模型得到训练后的.pt权重文件,同时将车辆重识别数据集输入到Deepsort表征提取网络得到训练后的.t7文件;
[0010] S5、利用训练得到的权重文件对高速公路视频测试集进行检测,得到目标车辆结果信息,并将其输入到Deepsort目标跟踪检测算法中进行跟踪,得到车辆的具体坐标信息以及车辆ID;
[0011] S6、根据得到的车辆ID及其相应的坐标信息,将其输入到预先写好的逻辑算法中判断其是否为停车、拥堵事件。
[0012] 优选的,所述步骤S1中,收集Visdrone2019‑DET、UA‑DETRAC车辆数据集作为目标检测数据集,VeRi776车辆重识别数据集作为Deepsort表征提取数据集。
[0013] 优选的,所述步骤S2中,对Visdrone2019‑DET数据集、UA‑DETRAC数据集中车辆目标进行筛选,并整理划分得到目标检测数据集,将目标检测数据集划分为训练集和验证集,并通过python脚本对目标检测数据集中图像进行批量格式转化,得到YOLOv5模型适用的txt标注文件;;所述txt文件中包含了所有目标车辆归一化后的位置信息;获取VeRi776车辆重识别数据集作为Deepsort多目标跟踪算法中表征提取网络的训练数据集。
[0014] 优选的,所述步骤S3中,在YOLOv5模型的Backbone后接入注意力模块CBAM,注意力模块CBAM包括通道注意力模块和空间注意力模块;
[0015] 通道注意力模块计算公式如下:
[0016] Mc(F)=sigmoid(MLP(AvgPool(F))+MLP(MaxPool(F)))
[0017] Mc(F)代表将原始输入F输入到通道注意力模块中得到的通道注意力图,AvgPool(F)以及MaxPool(F)分别代表原始输入F经过平均池化以及最大池化后的输出,然后将两者送入一个共享网络后相加并经过sigmoid函数得到最终注意力通道输出;其中sigmoid函数计算公式如下:
[0018]
[0019] 空间注意力模块计算公式如下:
[0020] Ms(F')=sigmoid(f7x7([AvgPool(F');MaxPool(F')]))
[0021] Ms(F')代表将前面通道注意力模块结果F'输入后得到的空间注意力图,将输入分7x7
别经过平均池化与最大池化后得到AvgPool(F')以及MaxPool(F'),f 表示卷积核尺寸为
7x7的卷积操作;
[0022] 使用α‑CIOULoss替代YOLOv5中默认的CIOULoss计算方式作为预测框boundingbox的损失函数,得到改进后的YOLOv5‑Improved;
[0023] α‑CIOULoss的计算公式:
[0024]
[0025] 其中,DistanceA代表预测框中心点与真实框中心点间的欧式距离,DistanceB代表两框最小外界矩形的对角线距离;
[0026] v的计算公式:
[0027]
[0028] 其中,wgt、hgt分别表示真实框的宽、高,而wp、hp分别代表预测框的宽、高;
[0029] IOU计算方式:
[0030]
[0031] 其中,Intersection代表预测框与真实框两者的交集,Union代表预测框与真实框两者的并集;
[0032] α‑CIOULoss在IOU及惩罚项表达式中进行了幂的运算,power参数α可作为调节α‑IOU损失的超参数以满足不同水平的bounding box回归精度,α取推荐值3;
[0033] 使用soft‑NMS非极大值抑制替代原有的Hard‑NMS非极大值抑制,soft‑NMS进行扣分惩罚的计算公式如下:iou(M,bi)代表两框交并比IOU值,Si为预测框得分[0034]
[0035] 由于上式并非一个连续函数,在函数交界处得分会发生跳变,从而使结果产生波动,故对其改写,最终高斯形式soft‑NMS表达式如下所示。
[0036]
[0037] 优选的,所述步骤S4中,将步骤S2所得目标检测训练集输入到改进后的YOLOv5‑Improved模型中进行训练,得到训练好的.pt权重文件;同时将车辆重识别数据集输入到Deepsort表征提取网络中进行训练并得到训练好的.t7权重文件。
[0038] 优选的,所述步骤S5中,将高速公路视频测试集转为图像序列传入,利用步骤S4所得权重文件进行检测并得到检测结果;将检测结果传入到Deepsort多目标跟踪算法中得到对车辆跟踪的ID以及相应的位置,其信息以嵌套数组形式呈现:
[0039] [[car_ID,topLeft_X,topLeft_Y,botRight_X,botRight_Y],…]
[0040] 其中car_ID代表当前车辆ID,topLeft_X与topLeft_Y分别代表检测得到的目标框左上角横、纵坐标,botRight_X以及botRight_Y分别表示目标框右下角的横、纵坐标;根据以下公式分别计算出目标框中心点坐标center_X和center_Y:
[0041] center_X=Round[topLeft_X+(botRight_X‑topLeft_X)/2]
[0042] center_Y=Round[topLeft_Y+(botRight_Y‑topLeft_Y)/2]
[0043] 其中,Round表示四舍五入保留1位小数。
[0044] 优选的,所述步骤S6中,每隔6帧将车辆位置进行对比,遍历当前帧中检测出来的所有目标,对每一目标先判断其car_ID是否已在slow缓行数组中;若在,则进一步对比当前帧和6帧前数据备份数组last_frame中该目标的坐标center_X、center_Y像素差距,若小于stop_pixel像素则证明目标车辆已经停下,将该目标更新到停车数组stopCertify中,同时更新到last_frame数组中用于在6帧后作为对比;stop_pixel像素根据当前目标框大小计算,其具体计算如下:
[0045]
[0046] 若目标车辆car_ID不在slow缓行数组中,则将其与last_frame数组中6帧前同一目标位置进行对比,若小于slow_pixel像素则证明目标车辆为缓行状态,并将其更新到slow缓行数组以及last_frame数组中;slow_pixel具体计算公式如下:
[0047]
[0048] 若以上都不满足,则车辆为正常行驶状态,仅将该车辆信息更新至last_frame数组中用于6帧后的比对;最后得到stopCertify停车数组将其在视频中进行框选作为停车事件进行展示,同时判断slow缓行数组长度是否大于8,如果视频中同时缓行的车辆数目大于8则判别为交通拥堵。
[0049] 本发明所述的一种基于深度学习的公路交通事件检测方法的优点和积极效果是:
[0050] 1、本发明在YOLOv5的基础上进行改进,利用改进后的YOLOv5‑Improved对当前数据集进行训练,结果显示在FPS几乎不变的情况下改进后的map0.5指标达到92.41%,较原始YOLOv5网络对同一数据集训练结果中map0.5指标的90.12%上升了2.29%。
[0051] 2、本发明中的停车判别算法加入了停车前缓行预判机制,以及针对车辆目标框大小动态计算的停车判别stop_pixel像素值与缓行判别slow_pixel像素值,有效过滤掉整个检测流程中车辆距摄像头距离以及摄像头角度不同带来的判断误差,提高了停车判别的准确率并为拥堵判别提供可靠依据。
[0052] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0053] 图1为本发明一种基于深度学习的公路交通事件检测方法实施例的检测步骤流程图;
[0054] 图2为本发明一种基于深度学习的公路交通事件检测方法实施例的YOLOv5整体网络架构图;
[0055] 图3为本发明一种基于深度学习的公路交通事件检测方法实施例的切片操作示意图;
[0056] 图4为本发明一种基于深度学习的公路交通事件检测方法实施例的注意力模块结构示意图;
[0057] 图5为本发明一种基于深度学习的公路交通事件检测方法实施例的通道注意力模块结构示意图;
[0058] 图6为本发明一种基于深度学习的公路交通事件检测方法实施例的空间注意力模块结构示意图;
[0059] 图7为本发明一种基于深度学习的公路交通事件检测方法实施例的sigmoid函数示意图;
[0060] 图8为本发明一种基于深度学习的公路交通事件检测方法实施例的停车、拥堵判别算法流程图。

具体实施方式

[0061] 以下通过附图和实施例对本发明的技术方案作进一步说明。
[0062] 实施例
[0063] 如图1所述,一种基于深度学习的公路交通事件检测方法,包括以下步骤:
[0064] S1、获取道路交通车辆样本数据集。收集Visdrone2019‑DET、UA‑DETRAC车辆数据集作为目标检测数据集,VeRi776车辆重识别数据集作为Deepsort表征提取数据集。
[0065] S2、对所述样本数据集进行处理,将目标检测数据集标注类型转成YOLOv5所适用格式,并进行划分得到训练集与验证集。
[0066] 由于搜集得到数据集过大,对Visdrone2019‑DET数据集、UA‑DETRAC数据集中车辆目标进行筛选,并整理划分得到目标检测数据集,包括训练集16400张图像以及验证集3426张图像。并通过python脚本对图像进行批量格式转化,得到YOLOv5模型适用的txt标注文件。该过程中将所有车辆目标的标签归一化为“car”,消除目标检测前后帧中车辆类型变化导致Deepsort多目标跟踪过程中的ID switch,以提升整个事件检测流程的准确性,所述txt文件中包含了所有目标车辆归一化后的位置信息。此外,获取VeRi776车辆重识别数据集作为Deepsort多目标跟踪算法中表征提取网络的训练数据集,一共包含约5万张车辆图像。
[0067] S3、对原始YOLOv5模型检测算法进行改进,加入注意力模块CBAM,使用α‑CIOULoss替换原有CIOULoss,作为预测框bounding box的损失函数,使用Soft‑NMS替代YOLOv5中原有的Hard‑NMS,得到改进的YOLOv5‑Improved目标检测模型。
[0068] 如图2、图3所示,原始YOLOv5模型中,Input输入端主要对输入图像进行预处理,包括Mosaic数据增强、自适应图像填充、数据增强(随机缩放、随机裁剪)等。Backbone主干网络包括Focus层,对输入的图像进行切片操作将原始三通道输入图片扩充为12通道,并将其通过卷积操作(yolov5l中卷积核数为64)最终在保持信息不丢失的情况下减小了输入图像的宽高,从而在几乎不影响mAP指标前提下提升前向与反向传播速度。瓶颈跨阶段局部结构CSP以减少计算量,提高推理速度,空间金字塔池化SPP对同一特征图提取不同尺度特征从而提高检测精度。
[0069] 如图5、图6所示,在YOLOv5模型的Backbone后接入注意力模块CBAM,注意力模块CBAM包括通道注意力模块(ChannelAttention  Module)和空间注意力模块(SpatialAttentionModule);依次从通道和空间两个不同的维度推算注意力图,然后将注意力图与输入特征图相乘,从而进行自适应特征细化。
[0070] 通道注意力模块计算公式如下:
[0071] Mc(F)=sigmoid(MLP(AvgPool(F))+MLP(MaxPool(F)))
[0072] Mc(F)代表将原始输入F输入到通道注意力模块中得到的通道注意力图,AvgPool(F)以及MaxPool(F)分别代表原始输入F经过平均池化以及最大池化后的输出,然后将两者送入一个共享网络后相加并经过sigmoid函数得到最终注意力通道输出。其中sigmoid函数计算公式如下:
[0073]
[0074] sigmoid函数图如图7所示。
[0075] 空间注意力模块计算公式如下:
[0076] Ms(F')=sigmoid(f7x7([AvgPool(F');MaxPool(F')]))
[0077] Ms(F')代表将前面通道注意力模块结果F'输入后得到的空间注意力图,将输入分7x7
别经过平均池化与最大池化后得到AvgPool(F')以及MaxPool(F'),f 表示卷积核尺寸为
7x7的卷积操作。
[0078] Neck网络层包括自上而下传递语义信息的特征金字塔FPN以及自下而上传递定位信息的路径聚合结构PAN;Head输出端最终在特征图上预测出相应的目标。
[0079] 使用α‑CIOULoss替代YOLOv5中默认的CIOULoss计算方式作为预测框boundingbox的损失函数,得到改进后的YOLOv5‑Improved。
[0080] α‑CIOULoss的计算公式如下:
[0081]
[0082] 其中,DistanceA代表预测框中心点与真实框中心点间的欧式距离,DistanceB代表两框最小外界矩形的对角线距离;
[0083] v的计算公式:
[0084]
[0085] 其中,wgt、hgt分别表示真实框的宽、高,而wp、hp分别代表预测框的宽、高;
[0086] IOU计算方式如下:
[0087]
[0088] 其中,Intersection代表预测框与真实框两者的交集,Union代表预测框与真实框两者的并集。
[0089] α‑CIOULoss在IOU及惩罚项表达式中进行了幂的运算,power参数α可作为调节α‑IOU损失的超参数以满足不同水平的bounding box回归精度。α取推荐值3。
[0090] 使用soft‑NMS非极大值抑制替代原有的Hard‑NMS非极大值抑制,相较于Hard‑NMS直接将交并比IOU超过阈值(即重叠程度高的)目标框直接移除,soft‑NMS对重叠度程度高的目标框进行扣分处理,在一定程度上避免了了直接删除预测框带来的漏检现象,有助于提升高速公路上密集车辆目标检测效果。soft‑NMS进行扣分惩罚的计算公式如下:iou(M,bi)代表两框交并比IOU值,Si为预测框得分
[0091]
[0092] 由于上式并非一个连续函数,在函数交界处得分会发生跳变,从而使结果产生波动,故对其改写,最终高斯形式soft‑NMS表达式如下所示。
[0093]
[0094] S4、将处理后的目标检测样本数据集输入到YOLOv5‑Improved模型得到训练后的.pt权重文件,同时将车辆重识别数据集输入到Deepsort表征提取网络得到训练后的.t7文件。
[0095] S5、利用训练得到的权重文件对高速公路视频测试集进行检测,得到目标车辆结果信息,并将其输入到Deepsort目标跟踪检测算法中进行跟踪,得到车辆的具体坐标信息以及车辆ID。
[0096] 将高速公路视频测试集转为图像序列传入,利用步骤S4所得权重文件进行检测并得到检测结果;将检测结果传入到Deepsort多目标跟踪算法中得到对车辆跟踪的ID以及相应的位置,其信息以嵌套数组形式呈现:
[0097] [[car_ID,topLeft_X,topLeft_Y,botRight_X,botRight_Y],…]
[0098] 其中,car_ID代表当前车辆ID,topLeft_X与topLeft_Y分别代表检测得到的目标框左上角横、纵坐标,botRight_X以及botRight_Y分别表示目标框右下角的横、纵坐标。
[0099] 根据以下公式分别计算出目标框中心点坐标center_X和center_Y:
[0100] center_X=Round[topLeft_X+(botRight_X‑topLeft_X)/2]
[0101] center_Y=Round[topLeft_Y+(botRight_Y‑topLeft_Y)/2]
[0102] 其中,Round表示四舍五入保留1位小数,将操作后的坐标精度精确到小数点后一位像素便于后续逻辑判断操作。
[0103] S6、根据得到的车辆ID及其相应的坐标信息,将其输入到预先写好的逻辑算法中判断其是否为停车、拥堵事件。
[0104] 如图8所示,由于逐帧之间车辆位置变化差距过小,每隔6帧将车辆位置进行对比。在目标帧(即第0帧、第6帧、第12帧…)中,遍历当前帧中检测出来的所有目标,对每一目标先判断其car_ID是否已在slow缓行数组中。若在,则进一步对比当前帧和6帧前数据备份数组last_frame中该目标的坐标center_X、center_Y像素差距,若小于stop_pixel像素则证明目标车辆已经停下,将该目标更新到停车数组stopCertify中,同时更新到last_frame数组中用于在6帧后作为对比。
[0105] 由于摄像头离目标车辆的远近不同可能会导致拍摄到车辆目标大小不一样,若stop_pixel设置为固定像素大小则可能在摄像头距离、角度发生变化后不再适用,stop_pixel像素根据当前目标框大小计算而出,其具体计算如下:
[0106]
[0107] 即通过目标框左上坐标以及右下坐标计算出当前目标框长宽,将长宽进行相乘后得到当前目标框像素面积。u为停车判断常数项,经过多次实验对比发现u取10时能取得较好判断效果。
[0108] 若目标车辆car_ID不在slow缓行数组中,则将其与last_frame数组中6帧前同一目标位置进行对比,若小于slow_pixel像素则证明目标车辆为缓行状态,并将其更新到slow缓行数组以及last_frame数组中;slow_pixel具体计算公式如下:
[0109]
[0110] 相关计算同上,先根据Deepsort输出结果计算出当前目标框面积,然后除以缓行常数项v,经过多次实验对比发现v在取值10时能取得较好的判断效果。
[0111] 若以上都不满足,则车辆为正常行驶状态,仅将该车辆信息更新至last_frame数组中用于6帧后的比对。最后得到stopCertify停车数组将其在视频中进行框选作为停车事件进行展示,同时判断slow缓行数组长度是否大于8,如果视频中同时缓行的车辆数目大于8则判别为交通拥堵。
[0112] 因此,本发明采用上述基于深度学习的公路交通事件检测方法,能够解决现有的目标检测方法实时性和检测精度较差,无法满足公路上通车、拥堵事件检测的问题。
[0113] 最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。