基于改进YOLOv5与DeepSORT的小模型交通流检测方法、装置及系统
未命名
09-23
阅读:76
评论:0
基于改进yolov5与deepsort的小模型交通流检测方法、装置及系统
技术领域:
:1.本技术涉及交通流检测模
技术领域:
:,具体涉及基于改进yolov5与deepsort的小模型交通流检测方法、装置及系统。
背景技术:
::2.随着我国经济快速发展,截止2022年一月,全国机动车保有量已经达到了3.95亿。机动车的数量增加也导致了车流量的增长,造成了城市交通拥堵问题。而高效的交通流检测是问题的关键。3.传统的车辆检测采用数字图像处理方法,如背景差分、连续视频帧差分、光流等。由于alexnet在2012年的imagenetlargescalevisualrecognitionchallenge(ilsvrc)中取得了巨大成功,现在的车辆检测的算法主要基于卷积神经网络(cnn)。目标检测算法根据其检测物体的方法可以分为两类:一阶段检测器和两阶段检测器。一阶段检测器直接进行物体分类和边界框回归,不使用预先生成的候选框,而两阶段检测器在进行物体分类和边界框回归之前生成候选框。因而一阶段检测器的优点是检测速度快。目标检测的两阶段检测器包括r-cnn和fasterr-cnn,两阶段检测器包括yolo和ssd。4.但是现有的交通流检测模型计算量大,运行速度慢,不能实时检测并用于实际工业应用。而且deepsort算法在行人重识别数据进行训练,且车辆检测框尺寸和行人检测框长宽比不一致,对于车辆的重识别效果不佳。技术实现要素:5.有鉴于此,本技术提供了基于改进yolov5与deepsort的小模型交通流检测方法、装置及系统,能够增加改进后检测器模型的总参数量,保持原模型轻量化,增加了模型的检测精度。6.第一方面,本技术提供了基于改进yolov5与deepsort的小模型交通流检测方法,包括:获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;以及基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;其中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;其中,所述c2f模块使用多个bottleneck模块进行残差连接;以及基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;其中,所述基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;7.其中,所述改进的基于改进的deepsort为基于sort算法增加深度学习组件;其中,所述改进的deepsort中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练;其中,所述改进的deepsort使用卡尔曼滤波作为预测组件;其中,所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;以及基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;以及获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。8.本方面在使用时,步骤包括数据采集与预处理、基于改进的yolov5进行目标检测模型训练、基于改进的deepsort进行目标跟踪模型训练、目标检测与跟踪、交通流量分析与统计以及结果可视化展示。本方案综合了目标检测和跟踪技术,并对yolov5和deepsort进行了改进,以提高交通目标的检测和跟踪准确性。同时,通过卡尔曼滤波等技术,预测目标的位置和状态,提高目标跟踪的精度。最终,可以获得准确的交通流量信息,并通过可视化方式展示,提供更直观的交通流量分析结果。9.结合第一方面,在一种可能的实现方式中,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。10.结合第一方面,在一种可能的实现方式中,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。11.结合第一方面,在一种可能的实现方式中,所述改进的yolov5包括:所述c2f模块的bottleneck模块连接则可以表示为:12.xl=hl{hl-1...[hl-k+1(xl-k)]}+...+hl-k+1(xl-k)+xl-k;[0013]其中:在每一层l,x为模型的权重,h为优化算法,k为常量;[0014]其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。[0015]结合第一方面,在一种可能的实现方式中,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。[0016]结合第一方面,在一种可能的实现方式中,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。[0017]结合第一方面,在一种可能的实现方式中,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为[0018][0019]pt|t-1=ftpt-1|t-1ftt+qt[0020]在这一步给出了观测值zt,卡尔曼滤波计算后验状态更新规则如下:[0021][0022][0023]pt|t=(i-ktht)pt|t-1[0024]其中,所述deepsort中,使用的是一个八维向量来表示[0025][0026]其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:[0027][0028]上式中,i为追踪的序号,j为检测框的序号,yi,si表示第i个跟踪分布在测量空间上的投影,yi为均值,si为协方差[0029]其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:[0030][0031]上式中,rj为新检测到的表观特征,rk为已经存储在画廊中的表观特征;[0032]最后使用系数λ加权运算结合两个特征,并完成级联匹配:[0033]ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)[0034]上式中,ci,j为当前跟踪物体的总特征。[0035]第二方面,本技术提供了一种小模型交通流检测系统,包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的yolov5deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪检测模型训练;目标跟踪模块:配置为:基于改进的deepsort对中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。[0036]第三方面,本技术提供了一种小模型交通流检测装置,所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。[0037]第四方面,本技术提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时第一方面以及结合第一方面所述的方法。[0038]与现有技术对比,本技术技术方案具备的有益效果为:[0039]1)通过试验结果表明:改进后检测器模型的总参数量为233万,map_0.5为60.83%。相比于原模型参数量只增加了32.31%,map_0.5却提升了4.01%。改进后的检测器模型在保持原模型轻量化的同时,增加了模型的检测精度。总体模型相较于原模型精度提升了6.25%,在运算能力较差的设备上也能实时检测交通流,并拥有不错的准确性。[0040]2)改进的yolov5模型和deepsort算法提高了交通目标检测和跟踪的准确性和鲁棒性。[0041]3)使用卡尔曼滤波进行预测组件,能够更好地预测目标的位置和状态,并减少跟踪的误差。[0042]4)结合了目标检测和跟踪技术,能够在实时场景中准确地检测和跟踪交通目标,提供更精确的交通流量分析结果。[0043]5)可以对交通目标进行轨迹分析,了解交通车辆的行驶路径和行为,有助于交通管理和安全评估。[0044]6)提供了可视化展示的功能,使交通流量分析结果更直观、易于理解和传达。附图说明[0045]图1所示为本技术一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0046]图2所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0047]图3所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0048]图4所示为本技术一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法中改进yolov5示意图。[0049]图5所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图;[0050]图6所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0051]图7为实施例实验验证流程图;[0052]图8是借助tensorboard绘制的改进前后的验证集的loss对比图。[0053]图9是精确度指标对比图。[0054]图10为训练指标图。具体实施方式[0055]下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。[0056]示例性基于改进yolov5与deepsort的小模型交通流检测方法如下:[0057]包括:如图1所示,[0058]步骤110、获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;[0059]本步骤包括采集包含交通场景的视频或图像数据。这些数据信息将作为输入用于后续的目标检测和跟踪步骤。[0060]步骤120、基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;改进的yolov5;[0061]本步骤中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;所述c2f模块使用多个bottleneck模块进行残差连接;[0062]本步骤使用改进的yolov5模型对包含交通场景的数据进行训练。优点是yolov5具有快速的检测速度和较高的准确率,能够实时检测交通场景中的目标,并且改进的模型能够进一步提升检测性能。[0063]步骤130、基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;[0064]本步骤中,所述改进的deepsort为基于sort算法增加深度学习组件;所述改进的deepsort使用卡尔曼滤波作为预测组件;所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;[0065]本步骤应用时,使用改进的deepsort算法对通过目标检测模型检测到的交通场景目标进行跟踪模型训练。deepsort结合卡尔曼滤波等技术,可以准确预测目标的位置和状态,提高目标跟踪的准确性和鲁棒性。[0066]步骤140、基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;[0067]本步骤将训练好的目标检测模型和跟踪模型应用于实际的交通场景,实时检测和跟踪交通目标。[0068]步骤150、获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。[0069]本步骤基于目标检测和跟踪的结果,对交通场景的交通流量、速度、密度等进行分析,并将结果以图表、表格等形式进行可视化展示。优点是能够直观地观察和分析交通场景中的交通情况,有助于交通管理和决策的制定[0070]在基于改进yolov5与deepsort的小模型交通流检测方法中,通过改进的模型训练和目标跟踪算法,可以实现高效准确地检测和跟踪交通场景中的目标,并通过可视化方式展示交通信息,为交通管理和决策提供有价值的数据支持。[0071]在一实施例中,如图2所示,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。[0072]在本实施例中,通过对包含交通场景的视频数据进行收集、标注和预处理,将有标签数据用于模型训练、可以有效的减少计算量、加快模型训练和推理速度,以及保持图像的宽高比,提高模型的准确性和效率。[0073]在一实施例中,如图3所示,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。[0074]在本实施例中,通过使用改进的yolov5进行目标检测训练,可以创建具有标注的交通场景图像的训练集。这个训练集将包含车辆、行人和动物等多种目标类别,有助于模型学习和识别交通场景中各种类型的目标。这样做的优点是可以提高模型对于不同目标类别的识别和检测能力,使模型在复杂的交通场景中具有更好的表现。损失函数是用于衡量目标检测模型预测结果与真实标签之间的误差。优化损失函数的目的是使模型能够快速、准确地收敛,并提高模型的检测性能。通过对目标检测模型的损失函数进行优化,可以提高模型对于目标边界框位置、目标类别和置信度等方面的预测准确性。这个操作的优点是可以提高模型的检测精度和鲁棒性,减少误检和漏检的情况,使模型在实际交通场景中更具实用性和可靠性。[0075]本实施例应用时,使用改进的yolov5进行目标检测训练,形成标注的交通场景图像的训练集,并对目标检测模型的损失函数进行优化,具有提高模型的检测能力和准确性的优点。[0076]在一实施例中,所述改进的yolov5包括:[0077]所述c2f模块的bottleneck模块连接则可以表示为:[0078]xl=hl{hl-1...[hl-k+1(xl-k)]}+...+hl-k+1(xl-k)+xl-k;[0079]其中:在每一层l,x为模型的权重,h为优化算法,k为常量;[0080]其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;[0081]其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。[0082]在本实施例中,如图4所示,为改进的yolov5,具体的,在第4层的c2f模块中使用2个bottleneck模块,在第6层的c2f模块中使用3个bottleneck模块,其余层使用1个bottleneck模块。在0-10层降采样的过程中设置shortcut=true,使用残差网络resnet[15]结构,更加充分提取特征;在其余层上采样的过程中设置shortcut=false,降低计算量。每个conv模块含有卷积,批量正则化(batchnormalization),silu激活3个操作。[0083]在一实施例中,如图5所示,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。[0084]在本步骤中,通过目标位置和特征提取以及目标跟踪与状态更新操作,可以实现对交通场景中目标的准确描述和实时追踪。这个操作的优点包括提高目标识别和追踪的准确性、增强对目标状态和行为的理解,以及提供更完整和连续的目标信息。这些优点可以提高交通场景目标跟踪的性能和效果,并为后续的交通分析和决策提供更可靠的数据支持。[0085]在一实施例中,如图6所示,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。[0086]在本实施例中,卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态来预测下一个时间步的状态。这种状态预测可以减小测量误差的影响,提高预测的准确性。通过准确的状态预测,可以更好地预测目标的位置、速度和加速度等运动特征,从而更精确地进行目标跟踪和预测。深度学习组件可以提取目标的表观特征,包括目标的外观、形状、纹理等信息。这些特征丰富性的增强可以提高目标的区分度和识别准确性。通过利用深度学习组件提取的表观特征,可以更好地区分不同目标类别,并提高目标的识别和分类性能。卡尔曼滤波预测的运动特征可以通过对目标的运动轨迹、速度和加速度等信息进行建模来实现。通过对运动特征的预测,可以更好地理解目标的运动行为和状态变化。这种运动特征的预测能力提升可以提高目标跟踪的鲁棒性和准确性,使模型能够更好地应对目标的快速移动、遮挡和复杂动作等情况。[0087]在本实施例应用时,通过改进的deepsort中的卡尔曼滤波、深度学习组件和运动特征预测,可以提高目标跟踪的准确性、特征丰富性和运动特征预测能力。这些优点可以使模型在复杂的交通场景中更好地进行目标跟踪和预测,提高交通安全和交通管理的效果。[0088]在一实施例中,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为[0089][0090][0091]在这一步给出了观测值zt,卡尔曼滤波计算后验状态更新规则如下:[0092][0093][0094]pt|t=(i-ktht)pt|t-1[0095]其中,所述deepsort中,使用的是一个八维向量来表示[0096][0097]其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:[0098][0099]上式中,i为追踪的序号,j为检测框的序号,yi,si表示第i个跟踪分布在测量空间上的投影,yi为均值,si为协方差;[0100]其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:[0101][0102]上式中,rj为新检测到的表观特征,rk为已经存储在画廊中的表观特征;[0103]最后使用系数λ加权运算结合两个特征,并完成级联匹配:[0104]ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)[0105]上式中,[0106]对上述实施例进行实验验证:[0107]1环境配置[0108]本实验系统环境为win11-wslg-ubuntu22.04,编程语言为python3.9,cpu为r54600h,显卡为rtx3060laptop,cuda版本为11.7,采用pytorch2.0作为深度学习框架。[0109]2数据集分析与处理[0110]最开始,采用ua-detrac数据集[16]进行本次实验车辆检测训练,但是此数据集含有大量的忽略区域(ignoreregion)。经过实验验证,若不进行数据集的预处理,当检测框出现在忽略区域,会导致正样本被列为负样本,fp(falsepositive)值升高,进而影响准确率(precision),以及map(meanaverageprecision)。所以,采用未处理的含有忽略区域的数据集做对比实验不具有严谨性。下面是相关公式[0111][0112][0113][0114]其中tp,tn,fp,fn的含义如表格1所示,map为多个类的平均ap。[0115]表1混淆矩阵table1confusionmatrix[0116][0117]然而数据的预处理比较繁琐,所以采用提取coco2017[17]数据集车辆类的方法进行实验。coco2017数据集包含80个类,其训练集共117266张图片,验证集共4952张图片。利用python脚本提取coco2017数据集中的[‘1’,‘2’,‘3’,‘5’,‘7’]类,分别对应[1:bicycle,2:car,3:motorcycle,5:bus,7:truck],并重新编号为5类,组成coco_vehicles数据集。其中训练集共19759张图片,验证集共870张图片。[0118]在车辆跟踪方面,deepsort跟踪器的预训练模型在market-1501或mars行人重识别数据集上进行训练,将预训练权重迁移到车辆重识别上效果不佳。为了得到更好的效果,处理了veri-wild[20]车辆重识别数据集作为的训练集和测试集。veri-wild车辆重识别数据集含有40671辆车的图片,图片数量共416314张,不同车辆id的图片数量不相同。为了更好的学习特征提取能力,每个id的图片数应该尽可能均衡,并且车辆id图片多有助于提高特征分类识别准确度。具体处理方法为,使用python脚本提取车辆图片数量为40-60之间的车辆id,将每个车辆id中的4张图片作为测试集,其余图片作为训练集,构成veri-wild_50-60数据集。其中训练集共586辆车,含有25206张图片;测试集共586辆车,含有2344张图片。[0119]3实验流程图[0120]采用yolov5n作为检测器,采用用deepsort作为跟踪器,最后用opencv设置了蓝色和黄色两条虚拟检测带来检测车辆的上行和下行情况。算法的流程图如图7所示:[0121]4、实验结果及分析[0122]检测器改进前后对比[0123]使用相同的超参数对改进前后的网络训练90轮,以下为一些重要的超参数设置:批量大小batch-size=12;预热模型轮次warmup_epochs=3.0;优化器采用随机梯度下降optimizer=sgd;初始学习率lr0=0.01;使用线性下降学习率,最后一轮学习率lr0*lrf=0.001;使用数据增强方法,mosaic=1.0,mixup:0.1,copy_paste=0.1。[0124]由于刚开始训练时,模型的权重(weights)是随机初始化的,使用预热模型轮次,从较小的学习率开始训练,可以防止较大学习率带来模型的振荡,使模型慢慢趋于稳定。随机梯度下降相比于标准梯度下降法,每次使用小批量的图片,运算量更小,更快收敛。使用数据增强方法可以扩充图像,使训练集的图像更加多样化,增加收敛速度。[0125]图8是借助tensorboard绘制的改进前后的验证集的loss对比图,从左到右分别为定位损失(box_loss):预测框与标定框之间的误差(giou);分类损失(cls_loss):计算锚框与对应的标定分类是否正确;置信度损失(obj_loss):计算网络的置信度。蓝色为改进前,红色为改进后,可以看到均有正向提升:[0126]图9是精确度指标对比图,从左到右分别为map_0.5:在iou阈值为0.5时的平均精度,即预测框和真实框的重叠面积与两者面积之和的比值大于0.5时,认为预测正确;map_0.5:0.95:在iou阈值从0.5到0.95,步长为0.05时的平均精度,即预测框和真实框的重叠面积与两者面积之和的比值大于0.5、0.55、0.6、…、0.95时,认为预测正确。蓝色为改进前,红色为改进后,可以看到均有正向提升:[0127]表格2是改进前后最后一轮精确度指标对比,改进的yolov5n在参数量只增加57万的前提下,map_0.5提升了4.01%,map_0.5:0.95提升了3.75%。而yolov5s网络相对于yolov5n网络参数量增加了298.27%,map_0.5却只提升了8.10%。改进的yolov5n网络相对于yolov5n网络,参数量只增加了32.31%,用更少的参数量做了更有效的提升。[0128]表2网络对比[0129][0130]跟踪器改进与分析[0131]将改进后的deep在自制的veri-wild_50-60数据集上重新训练了60轮。训练得到的准确率(acc)为94.18%,loss和top1err如图10所示。[0132]top-1error:假设模型预测某个对象的类别,模型输出1个预测结果,那么这一个结果能判断正确的概率就是top-1正确率;判断错误的概率就是top-1错误率(top-1error)。[0133]可以看到loss和top1err在每20轮有一次明显下降,因为设置了梯度学习率,验证了合适的学习率对于模型提升巨大,学习率公式为[0134][0135]本技术得到的主要结论如下:[0136](1)在检测器方面,更改yolov5n中的c3模块为c2f模块,在参数量只增加了32.31%的情况下,map_0.5提升了4.01%,map_0.5:0.95提升了3.75%。[0137](2)在跟踪器方面,更改deepsort中输入图片尺寸和卷积核结构,并在车辆重识别数据集上进行重新训练,训练得到的准确率(acc)达到了94.18%,更加贴合交通流检测项目应用。[0138](3)进行交通流检测时,不仅能进行实时计数,而且跟踪的帧数提前,检测框更加精准,大大提升了交通流检测的鲁棒性。总体准确率提升了6.25%,可以达到交通流检测项目要求。[0139]示例性一种小模型交通流检测系统如下包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;目标跟踪模块:配置为:基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。[0140]示例性一种小模型交通流检测装置如下包括:[0141]所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。[0142]示例性一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现基于改进yolov5与deepsort的小模型交通流检测方法。[0143]以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。[0144]本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。[0145]还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。[0146]提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。[0147]以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
技术特征:
1.基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,包括:获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;以及基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;其中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;其中,所述c2f模块使用多个bottleneck模块进行残差连接;以及基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;其中,所述改进的基于改进的deepsort为基于sort算法增加深度学习组件;其中,所述改进的deepsort中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练;其中,所述改进的deepsort使用卡尔曼滤波作为预测组件;其中,所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;以及基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;以及获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。2.根据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。3.根据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。4.根据权利要求3所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述改进的yolov5包括:所述c2f模块的bottleneck模块连接则可以表示为:x
l
=h
l
{h
l-1
...[h
l-k+1
(x
l-k
)]}+...+h
l-k+1
(x
l-k
)+x
l-k
;其中:在每一层l,x为模型的权重,h为优化算法,k为常量;其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。5.据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。6.据权利要求5所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征
在于,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。7.据权利要求6所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为p
t|t-1
=f
t
p
t-1|t-1
f
tt
+q
t
在这一步给出了观测值z
t
,卡尔曼滤波计算后验状态更新规则如下:,卡尔曼滤波计算后验状态更新规则如下:p
t|t
=(i-k
t
h
t
)p
t|t-1
其中,所述deepsort中,使用的是一个八维向量来表示其中,所述deepsort中,使用的是一个八维向量来表示其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:上式中,i为追踪的序号,j为检测框的序号,y
i
,s
i
表示第i个跟踪分布在测量空间上的投影,y
i
为均值,s
i
为协方差;其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:上式中,r
j
为新检测到的表观特征,r
k
为已经存储在画廊中的表观特征;最后使用系数λ加权运算结合两个特征,并完成级联匹配:c
i,j
=λd
(1)
(i,j)+(1-λ)d
(2)
(i,j)上式中,c
i,j
为当前跟踪物体的总特征。8.一种小模型交通流检测系统,其特征在于,包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的yolov5对所述目标检测模型检测的所述交通场景的目标做目标检测模型训练;目标跟踪模块:配置为:基于改进的deepsort对中的深度学习组件deep对车辆重识别
数据集进行不同车辆的重识别训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。9.一种小模型交通流检测装置,其特征在于,所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述方法。
技术总结
本申请涉及交通流检测模技术领域,具体涉及基于改进YOLOv5与DeepSORT的小模型交通流检测方法、装置及系统。本方法包括:获取包含交通场景的数据信息,交通场景的数据信息用于对目标的检测与跟踪;基于改进的YOLOv5对包含交通场景的数据信息做目标检测模型训练;基于改进的DeepSORT对目标检测模型检测的交通场景的目标做目标跟踪模型训练车辆重识别数据集进行不同车辆的重识别训练;基于改进的YOLOv5的目标检测模型和基于改进的DeepSORT的目标跟踪模型对输入的交通场景目标检测和跟踪;获取所述交通场景的交通信息,并对交通场景的交通信息可视化展示。本方法能够增加大大减少改进后检测器模型的总参数量,增加了并维持模型的检测精度在可控范围内。的检测精度在可控范围内。的检测精度在可控范围内。
技术研发人员:沈瑜 梁煜东 宋婧 许佳文 刘广辉 严源
受保护的技术使用者:兰州交通大学
技术研发日:2023.06.30
技术公布日:2023/9/22
技术领域:
:1.本技术涉及交通流检测模
技术领域:
:,具体涉及基于改进yolov5与deepsort的小模型交通流检测方法、装置及系统。
背景技术:
::2.随着我国经济快速发展,截止2022年一月,全国机动车保有量已经达到了3.95亿。机动车的数量增加也导致了车流量的增长,造成了城市交通拥堵问题。而高效的交通流检测是问题的关键。3.传统的车辆检测采用数字图像处理方法,如背景差分、连续视频帧差分、光流等。由于alexnet在2012年的imagenetlargescalevisualrecognitionchallenge(ilsvrc)中取得了巨大成功,现在的车辆检测的算法主要基于卷积神经网络(cnn)。目标检测算法根据其检测物体的方法可以分为两类:一阶段检测器和两阶段检测器。一阶段检测器直接进行物体分类和边界框回归,不使用预先生成的候选框,而两阶段检测器在进行物体分类和边界框回归之前生成候选框。因而一阶段检测器的优点是检测速度快。目标检测的两阶段检测器包括r-cnn和fasterr-cnn,两阶段检测器包括yolo和ssd。4.但是现有的交通流检测模型计算量大,运行速度慢,不能实时检测并用于实际工业应用。而且deepsort算法在行人重识别数据进行训练,且车辆检测框尺寸和行人检测框长宽比不一致,对于车辆的重识别效果不佳。技术实现要素:5.有鉴于此,本技术提供了基于改进yolov5与deepsort的小模型交通流检测方法、装置及系统,能够增加改进后检测器模型的总参数量,保持原模型轻量化,增加了模型的检测精度。6.第一方面,本技术提供了基于改进yolov5与deepsort的小模型交通流检测方法,包括:获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;以及基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;其中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;其中,所述c2f模块使用多个bottleneck模块进行残差连接;以及基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;其中,所述基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;7.其中,所述改进的基于改进的deepsort为基于sort算法增加深度学习组件;其中,所述改进的deepsort中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练;其中,所述改进的deepsort使用卡尔曼滤波作为预测组件;其中,所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;以及基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;以及获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。8.本方面在使用时,步骤包括数据采集与预处理、基于改进的yolov5进行目标检测模型训练、基于改进的deepsort进行目标跟踪模型训练、目标检测与跟踪、交通流量分析与统计以及结果可视化展示。本方案综合了目标检测和跟踪技术,并对yolov5和deepsort进行了改进,以提高交通目标的检测和跟踪准确性。同时,通过卡尔曼滤波等技术,预测目标的位置和状态,提高目标跟踪的精度。最终,可以获得准确的交通流量信息,并通过可视化方式展示,提供更直观的交通流量分析结果。9.结合第一方面,在一种可能的实现方式中,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。10.结合第一方面,在一种可能的实现方式中,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。11.结合第一方面,在一种可能的实现方式中,所述改进的yolov5包括:所述c2f模块的bottleneck模块连接则可以表示为:12.xl=hl{hl-1...[hl-k+1(xl-k)]}+...+hl-k+1(xl-k)+xl-k;[0013]其中:在每一层l,x为模型的权重,h为优化算法,k为常量;[0014]其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。[0015]结合第一方面,在一种可能的实现方式中,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。[0016]结合第一方面,在一种可能的实现方式中,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。[0017]结合第一方面,在一种可能的实现方式中,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为[0018][0019]pt|t-1=ftpt-1|t-1ftt+qt[0020]在这一步给出了观测值zt,卡尔曼滤波计算后验状态更新规则如下:[0021][0022][0023]pt|t=(i-ktht)pt|t-1[0024]其中,所述deepsort中,使用的是一个八维向量来表示[0025][0026]其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:[0027][0028]上式中,i为追踪的序号,j为检测框的序号,yi,si表示第i个跟踪分布在测量空间上的投影,yi为均值,si为协方差[0029]其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:[0030][0031]上式中,rj为新检测到的表观特征,rk为已经存储在画廊中的表观特征;[0032]最后使用系数λ加权运算结合两个特征,并完成级联匹配:[0033]ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)[0034]上式中,ci,j为当前跟踪物体的总特征。[0035]第二方面,本技术提供了一种小模型交通流检测系统,包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的yolov5deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪检测模型训练;目标跟踪模块:配置为:基于改进的deepsort对中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。[0036]第三方面,本技术提供了一种小模型交通流检测装置,所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。[0037]第四方面,本技术提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时第一方面以及结合第一方面所述的方法。[0038]与现有技术对比,本技术技术方案具备的有益效果为:[0039]1)通过试验结果表明:改进后检测器模型的总参数量为233万,map_0.5为60.83%。相比于原模型参数量只增加了32.31%,map_0.5却提升了4.01%。改进后的检测器模型在保持原模型轻量化的同时,增加了模型的检测精度。总体模型相较于原模型精度提升了6.25%,在运算能力较差的设备上也能实时检测交通流,并拥有不错的准确性。[0040]2)改进的yolov5模型和deepsort算法提高了交通目标检测和跟踪的准确性和鲁棒性。[0041]3)使用卡尔曼滤波进行预测组件,能够更好地预测目标的位置和状态,并减少跟踪的误差。[0042]4)结合了目标检测和跟踪技术,能够在实时场景中准确地检测和跟踪交通目标,提供更精确的交通流量分析结果。[0043]5)可以对交通目标进行轨迹分析,了解交通车辆的行驶路径和行为,有助于交通管理和安全评估。[0044]6)提供了可视化展示的功能,使交通流量分析结果更直观、易于理解和传达。附图说明[0045]图1所示为本技术一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0046]图2所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0047]图3所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0048]图4所示为本技术一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法中改进yolov5示意图。[0049]图5所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图;[0050]图6所示为本技术另一实施例提供的基于改进yolov5与deepsort的小模型交通流检测方法步骤示意图。[0051]图7为实施例实验验证流程图;[0052]图8是借助tensorboard绘制的改进前后的验证集的loss对比图。[0053]图9是精确度指标对比图。[0054]图10为训练指标图。具体实施方式[0055]下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。[0056]示例性基于改进yolov5与deepsort的小模型交通流检测方法如下:[0057]包括:如图1所示,[0058]步骤110、获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;[0059]本步骤包括采集包含交通场景的视频或图像数据。这些数据信息将作为输入用于后续的目标检测和跟踪步骤。[0060]步骤120、基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;改进的yolov5;[0061]本步骤中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;所述c2f模块使用多个bottleneck模块进行残差连接;[0062]本步骤使用改进的yolov5模型对包含交通场景的数据进行训练。优点是yolov5具有快速的检测速度和较高的准确率,能够实时检测交通场景中的目标,并且改进的模型能够进一步提升检测性能。[0063]步骤130、基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;[0064]本步骤中,所述改进的deepsort为基于sort算法增加深度学习组件;所述改进的deepsort使用卡尔曼滤波作为预测组件;所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;[0065]本步骤应用时,使用改进的deepsort算法对通过目标检测模型检测到的交通场景目标进行跟踪模型训练。deepsort结合卡尔曼滤波等技术,可以准确预测目标的位置和状态,提高目标跟踪的准确性和鲁棒性。[0066]步骤140、基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;[0067]本步骤将训练好的目标检测模型和跟踪模型应用于实际的交通场景,实时检测和跟踪交通目标。[0068]步骤150、获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。[0069]本步骤基于目标检测和跟踪的结果,对交通场景的交通流量、速度、密度等进行分析,并将结果以图表、表格等形式进行可视化展示。优点是能够直观地观察和分析交通场景中的交通情况,有助于交通管理和决策的制定[0070]在基于改进yolov5与deepsort的小模型交通流检测方法中,通过改进的模型训练和目标跟踪算法,可以实现高效准确地检测和跟踪交通场景中的目标,并通过可视化方式展示交通信息,为交通管理和决策提供有价值的数据支持。[0071]在一实施例中,如图2所示,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。[0072]在本实施例中,通过对包含交通场景的视频数据进行收集、标注和预处理,将有标签数据用于模型训练、可以有效的减少计算量、加快模型训练和推理速度,以及保持图像的宽高比,提高模型的准确性和效率。[0073]在一实施例中,如图3所示,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。[0074]在本实施例中,通过使用改进的yolov5进行目标检测训练,可以创建具有标注的交通场景图像的训练集。这个训练集将包含车辆、行人和动物等多种目标类别,有助于模型学习和识别交通场景中各种类型的目标。这样做的优点是可以提高模型对于不同目标类别的识别和检测能力,使模型在复杂的交通场景中具有更好的表现。损失函数是用于衡量目标检测模型预测结果与真实标签之间的误差。优化损失函数的目的是使模型能够快速、准确地收敛,并提高模型的检测性能。通过对目标检测模型的损失函数进行优化,可以提高模型对于目标边界框位置、目标类别和置信度等方面的预测准确性。这个操作的优点是可以提高模型的检测精度和鲁棒性,减少误检和漏检的情况,使模型在实际交通场景中更具实用性和可靠性。[0075]本实施例应用时,使用改进的yolov5进行目标检测训练,形成标注的交通场景图像的训练集,并对目标检测模型的损失函数进行优化,具有提高模型的检测能力和准确性的优点。[0076]在一实施例中,所述改进的yolov5包括:[0077]所述c2f模块的bottleneck模块连接则可以表示为:[0078]xl=hl{hl-1...[hl-k+1(xl-k)]}+...+hl-k+1(xl-k)+xl-k;[0079]其中:在每一层l,x为模型的权重,h为优化算法,k为常量;[0080]其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;[0081]其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。[0082]在本实施例中,如图4所示,为改进的yolov5,具体的,在第4层的c2f模块中使用2个bottleneck模块,在第6层的c2f模块中使用3个bottleneck模块,其余层使用1个bottleneck模块。在0-10层降采样的过程中设置shortcut=true,使用残差网络resnet[15]结构,更加充分提取特征;在其余层上采样的过程中设置shortcut=false,降低计算量。每个conv模块含有卷积,批量正则化(batchnormalization),silu激活3个操作。[0083]在一实施例中,如图5所示,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。[0084]在本步骤中,通过目标位置和特征提取以及目标跟踪与状态更新操作,可以实现对交通场景中目标的准确描述和实时追踪。这个操作的优点包括提高目标识别和追踪的准确性、增强对目标状态和行为的理解,以及提供更完整和连续的目标信息。这些优点可以提高交通场景目标跟踪的性能和效果,并为后续的交通分析和决策提供更可靠的数据支持。[0085]在一实施例中,如图6所示,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。[0086]在本实施例中,卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态来预测下一个时间步的状态。这种状态预测可以减小测量误差的影响,提高预测的准确性。通过准确的状态预测,可以更好地预测目标的位置、速度和加速度等运动特征,从而更精确地进行目标跟踪和预测。深度学习组件可以提取目标的表观特征,包括目标的外观、形状、纹理等信息。这些特征丰富性的增强可以提高目标的区分度和识别准确性。通过利用深度学习组件提取的表观特征,可以更好地区分不同目标类别,并提高目标的识别和分类性能。卡尔曼滤波预测的运动特征可以通过对目标的运动轨迹、速度和加速度等信息进行建模来实现。通过对运动特征的预测,可以更好地理解目标的运动行为和状态变化。这种运动特征的预测能力提升可以提高目标跟踪的鲁棒性和准确性,使模型能够更好地应对目标的快速移动、遮挡和复杂动作等情况。[0087]在本实施例应用时,通过改进的deepsort中的卡尔曼滤波、深度学习组件和运动特征预测,可以提高目标跟踪的准确性、特征丰富性和运动特征预测能力。这些优点可以使模型在复杂的交通场景中更好地进行目标跟踪和预测,提高交通安全和交通管理的效果。[0088]在一实施例中,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为[0089][0090][0091]在这一步给出了观测值zt,卡尔曼滤波计算后验状态更新规则如下:[0092][0093][0094]pt|t=(i-ktht)pt|t-1[0095]其中,所述deepsort中,使用的是一个八维向量来表示[0096][0097]其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:[0098][0099]上式中,i为追踪的序号,j为检测框的序号,yi,si表示第i个跟踪分布在测量空间上的投影,yi为均值,si为协方差;[0100]其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:[0101][0102]上式中,rj为新检测到的表观特征,rk为已经存储在画廊中的表观特征;[0103]最后使用系数λ加权运算结合两个特征,并完成级联匹配:[0104]ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)[0105]上式中,[0106]对上述实施例进行实验验证:[0107]1环境配置[0108]本实验系统环境为win11-wslg-ubuntu22.04,编程语言为python3.9,cpu为r54600h,显卡为rtx3060laptop,cuda版本为11.7,采用pytorch2.0作为深度学习框架。[0109]2数据集分析与处理[0110]最开始,采用ua-detrac数据集[16]进行本次实验车辆检测训练,但是此数据集含有大量的忽略区域(ignoreregion)。经过实验验证,若不进行数据集的预处理,当检测框出现在忽略区域,会导致正样本被列为负样本,fp(falsepositive)值升高,进而影响准确率(precision),以及map(meanaverageprecision)。所以,采用未处理的含有忽略区域的数据集做对比实验不具有严谨性。下面是相关公式[0111][0112][0113][0114]其中tp,tn,fp,fn的含义如表格1所示,map为多个类的平均ap。[0115]表1混淆矩阵table1confusionmatrix[0116][0117]然而数据的预处理比较繁琐,所以采用提取coco2017[17]数据集车辆类的方法进行实验。coco2017数据集包含80个类,其训练集共117266张图片,验证集共4952张图片。利用python脚本提取coco2017数据集中的[‘1’,‘2’,‘3’,‘5’,‘7’]类,分别对应[1:bicycle,2:car,3:motorcycle,5:bus,7:truck],并重新编号为5类,组成coco_vehicles数据集。其中训练集共19759张图片,验证集共870张图片。[0118]在车辆跟踪方面,deepsort跟踪器的预训练模型在market-1501或mars行人重识别数据集上进行训练,将预训练权重迁移到车辆重识别上效果不佳。为了得到更好的效果,处理了veri-wild[20]车辆重识别数据集作为的训练集和测试集。veri-wild车辆重识别数据集含有40671辆车的图片,图片数量共416314张,不同车辆id的图片数量不相同。为了更好的学习特征提取能力,每个id的图片数应该尽可能均衡,并且车辆id图片多有助于提高特征分类识别准确度。具体处理方法为,使用python脚本提取车辆图片数量为40-60之间的车辆id,将每个车辆id中的4张图片作为测试集,其余图片作为训练集,构成veri-wild_50-60数据集。其中训练集共586辆车,含有25206张图片;测试集共586辆车,含有2344张图片。[0119]3实验流程图[0120]采用yolov5n作为检测器,采用用deepsort作为跟踪器,最后用opencv设置了蓝色和黄色两条虚拟检测带来检测车辆的上行和下行情况。算法的流程图如图7所示:[0121]4、实验结果及分析[0122]检测器改进前后对比[0123]使用相同的超参数对改进前后的网络训练90轮,以下为一些重要的超参数设置:批量大小batch-size=12;预热模型轮次warmup_epochs=3.0;优化器采用随机梯度下降optimizer=sgd;初始学习率lr0=0.01;使用线性下降学习率,最后一轮学习率lr0*lrf=0.001;使用数据增强方法,mosaic=1.0,mixup:0.1,copy_paste=0.1。[0124]由于刚开始训练时,模型的权重(weights)是随机初始化的,使用预热模型轮次,从较小的学习率开始训练,可以防止较大学习率带来模型的振荡,使模型慢慢趋于稳定。随机梯度下降相比于标准梯度下降法,每次使用小批量的图片,运算量更小,更快收敛。使用数据增强方法可以扩充图像,使训练集的图像更加多样化,增加收敛速度。[0125]图8是借助tensorboard绘制的改进前后的验证集的loss对比图,从左到右分别为定位损失(box_loss):预测框与标定框之间的误差(giou);分类损失(cls_loss):计算锚框与对应的标定分类是否正确;置信度损失(obj_loss):计算网络的置信度。蓝色为改进前,红色为改进后,可以看到均有正向提升:[0126]图9是精确度指标对比图,从左到右分别为map_0.5:在iou阈值为0.5时的平均精度,即预测框和真实框的重叠面积与两者面积之和的比值大于0.5时,认为预测正确;map_0.5:0.95:在iou阈值从0.5到0.95,步长为0.05时的平均精度,即预测框和真实框的重叠面积与两者面积之和的比值大于0.5、0.55、0.6、…、0.95时,认为预测正确。蓝色为改进前,红色为改进后,可以看到均有正向提升:[0127]表格2是改进前后最后一轮精确度指标对比,改进的yolov5n在参数量只增加57万的前提下,map_0.5提升了4.01%,map_0.5:0.95提升了3.75%。而yolov5s网络相对于yolov5n网络参数量增加了298.27%,map_0.5却只提升了8.10%。改进的yolov5n网络相对于yolov5n网络,参数量只增加了32.31%,用更少的参数量做了更有效的提升。[0128]表2网络对比[0129][0130]跟踪器改进与分析[0131]将改进后的deep在自制的veri-wild_50-60数据集上重新训练了60轮。训练得到的准确率(acc)为94.18%,loss和top1err如图10所示。[0132]top-1error:假设模型预测某个对象的类别,模型输出1个预测结果,那么这一个结果能判断正确的概率就是top-1正确率;判断错误的概率就是top-1错误率(top-1error)。[0133]可以看到loss和top1err在每20轮有一次明显下降,因为设置了梯度学习率,验证了合适的学习率对于模型提升巨大,学习率公式为[0134][0135]本技术得到的主要结论如下:[0136](1)在检测器方面,更改yolov5n中的c3模块为c2f模块,在参数量只增加了32.31%的情况下,map_0.5提升了4.01%,map_0.5:0.95提升了3.75%。[0137](2)在跟踪器方面,更改deepsort中输入图片尺寸和卷积核结构,并在车辆重识别数据集上进行重新训练,训练得到的准确率(acc)达到了94.18%,更加贴合交通流检测项目应用。[0138](3)进行交通流检测时,不仅能进行实时计数,而且跟踪的帧数提前,检测框更加精准,大大提升了交通流检测的鲁棒性。总体准确率提升了6.25%,可以达到交通流检测项目要求。[0139]示例性一种小模型交通流检测系统如下包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;目标跟踪模块:配置为:基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。[0140]示例性一种小模型交通流检测装置如下包括:[0141]所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。[0142]示例性一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现基于改进yolov5与deepsort的小模型交通流检测方法。[0143]以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。[0144]本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。[0145]还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。[0146]提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。[0147]以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
技术特征:
1.基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,包括:获取包含交通场景的数据信息,所述交通场景的数据信息用于对目标的检测与跟踪;以及基于改进的yolov5对所述包含交通场景的数据信息做目标检测模型训练;其中,所述改进的yolov5采用c2f模块替换所述yolov5模型的c3模块;其中,所述c2f模块使用多个bottleneck模块进行残差连接;以及基于改进的deepsort对所述目标检测模型检测的所述交通场景的目标做目标跟踪模型训练;其中,所述改进的基于改进的deepsort为基于sort算法增加深度学习组件;其中,所述改进的deepsort中的深度学习组件deep对车辆重识别数据集进行不同车辆的重识别训练;其中,所述改进的deepsort使用卡尔曼滤波作为预测组件;其中,所述改进的deepsort修改所述跟踪目标的初始化、新生与消失;以及基于所述改进的yolov5的所述目标检测模型和基于所述改进的deepsort的所述目标跟踪模型对输入的交通场景目标检测和跟踪;以及获取所述交通场景的交通信息,并对所述交通场景的交通信息可视化展示。2.根据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述获取包含交通场景的数据信息还包括:收集并标注包含交通场景的视频数据集;以及对视频数据进行预处理,包括视频分割、帧提取和图像尺寸调整。3.根据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述目标检测模型训练还包括:使用所述改进的yolov5进行目标检测训练,形成目标检测训练集;其中,训练集包括标注的交通场景图像,目标类别包括车辆、行人和动物;以及优化所述目标检测模型的损失函数。4.根据权利要求3所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述改进的yolov5包括:所述c2f模块的bottleneck模块连接则可以表示为:x
l
=h
l
{h
l-1
...[h
l-k+1
(x
l-k
)]}+...+h
l-k+1
(x
l-k
)+x
l-k
;其中:在每一层l,x为模型的权重,h为优化算法,k为常量;其中,所述c2f模块的第四层中使用两组bottleneck模块;所述c2f模块的第六层使用三组bottleneck模块;其余层使用一组bottleneck模块;其中,所述c2f模块的0-10层降采样的过程中设置通行通道,使用残差网络resnet结构;所述c2f模块的其余层上采样的过程中设置阻断通道。5.据权利要求1所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述目标跟踪模型训练还包括:提取所述交通场景的目标的位置和特征;以及对每个目标进行跟踪,并更新其状态。6.据权利要求5所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征
在于,所述改进的deepsort包括:通过所述改进的deepsort中的所述卡尔曼滤波利用前一个时间步的预测状态和当前时间步的测量状态预测下一个时间步的状态;通过所述改进的deepsort中的所述深度学习组件提取的表观特征;通过所述改进的deepsort中的所述卡尔曼滤波预测的运动特征。7.据权利要求6所述的基于改进yolov5与deepsort的小模型交通流检测方法,其特征在于,所述卡尔曼滤波中有两组变量,后验状态估计变量x和后验状态估计协方差p;在目标追踪任务中,用状态转移模型f、观测模型h、过程噪声q和观测噪声r对卡尔曼滤波的过程进行描述;在每一步t,卡尔曼滤波预测先验估计状态x和协方差状态矩阵p的公式为p
t|t-1
=f
t
p
t-1|t-1
f
tt
+q
t
在这一步给出了观测值z
t
,卡尔曼滤波计算后验状态更新规则如下:,卡尔曼滤波计算后验状态更新规则如下:p
t|t
=(i-k
t
h
t
)p
t|t-1
其中,所述deepsort中,使用的是一个八维向量来表示其中,所述deepsort中,使用的是一个八维向量来表示其中,所述deepsort使用马氏距离衡量预测到所述卡尔曼滤波状态和新获得的检测框之间的距离;公式如下:上式中,i为追踪的序号,j为检测框的序号,y
i
,s
i
表示第i个跟踪分布在测量空间上的投影,y
i
为均值,s
i
为协方差;其中,deepsort用最小余弦距离来衡量已经获得的表观特征和新获得的检测框的表观特征:上式中,r
j
为新检测到的表观特征,r
k
为已经存储在画廊中的表观特征;最后使用系数λ加权运算结合两个特征,并完成级联匹配:c
i,j
=λd
(1)
(i,j)+(1-λ)d
(2)
(i,j)上式中,c
i,j
为当前跟踪物体的总特征。8.一种小模型交通流检测系统,其特征在于,包括:数据采集模块:配置为收集并标注包含交通场景的视频数据集;预处理模块:对所述数据采集模块中的预处理模块进行视频分割、帧提取和图像尺寸调整;目标检测模块:配置为:基于改进的yolov5对所述目标检测模型检测的所述交通场景的目标做目标检测模型训练;目标跟踪模块:配置为:基于改进的deepsort对中的深度学习组件deep对车辆重识别
数据集进行不同车辆的重识别训练;输入模块,输入待检测和跟踪交通场景目标;显示模块,对分析结果进行目标展示。9.一种小模型交通流检测装置,其特征在于,所述小模型交通流检测装置具有目标的检测与跟踪功能,所述小模型交通流检测装置与权利要求8所述的小模型交通流检测系统通讯连接。10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述方法。
技术总结
本申请涉及交通流检测模技术领域,具体涉及基于改进YOLOv5与DeepSORT的小模型交通流检测方法、装置及系统。本方法包括:获取包含交通场景的数据信息,交通场景的数据信息用于对目标的检测与跟踪;基于改进的YOLOv5对包含交通场景的数据信息做目标检测模型训练;基于改进的DeepSORT对目标检测模型检测的交通场景的目标做目标跟踪模型训练车辆重识别数据集进行不同车辆的重识别训练;基于改进的YOLOv5的目标检测模型和基于改进的DeepSORT的目标跟踪模型对输入的交通场景目标检测和跟踪;获取所述交通场景的交通信息,并对交通场景的交通信息可视化展示。本方法能够增加大大减少改进后检测器模型的总参数量,增加了并维持模型的检测精度在可控范围内。的检测精度在可控范围内。的检测精度在可控范围内。
技术研发人员:沈瑜 梁煜东 宋婧 许佳文 刘广辉 严源
受保护的技术使用者:兰州交通大学
技术研发日:2023.06.30
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/