CN117372996A - 一种基于改进yolov5模型的交通信号灯图像检测方法 - Google Patents

一种基于改进yolov5模型的交通信号灯图像检测方法 Download PDF

Info

Publication number
CN117372996A
CN117372996A CN202311421665.5A CN202311421665A CN117372996A CN 117372996 A CN117372996 A CN 117372996A CN 202311421665 A CN202311421665 A CN 202311421665A CN 117372996 A CN117372996 A CN 117372996A
Authority
CN
China
Prior art keywords
model
yolov5
traffic signal
improved
signal lamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311421665.5A
Other languages
English (en)
Inventor
周泓
石锐
李翔
邹佳明
徐斌
赵保中
杜萌
古小诗
刘云飞
宗美晨
秦燚阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaiyin Institute of Technology
Original Assignee
Huaiyin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huaiyin Institute of Technology filed Critical Huaiyin Institute of Technology
Priority to CN202311421665.5A priority Critical patent/CN117372996A/zh
Publication of CN117372996A publication Critical patent/CN117372996A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

一种基于改进yolov5模型的交通信号灯图像检测方法,包含步骤:采用公共数据构建交通信号灯状态的检测样本数据集;搭建改进的yolov5网络模型,引入PConv和Involution卷积并加入ReLU6激活函数;在计算机端,使用改进的yolov5模型对数据集进行训练并保存;在树莓派端环境搭建配置,将改进的yolov5模型移植到树莓派中,再安装vnc服务器;在计算机端安装vncviewer应用程序,验证并访问树莓派的桌面远程操作;在树莓派端,输入含有交通信号灯的目检测图像至改进的yolov5模型,加载最优权重文件至检测模型中进行推理检测,获取待检测图像中的交通信号灯的状态。本发明不仅解决了yolov5部署在边缘设备上高延迟、低吞吐量和计算复杂度高的问题,还获得较高的帧率,使模型更轻量,更适用于嵌入式设备。

Description

一种基于改进yolov5模型的交通信号灯图像检测方法
技术领域
本发明属于深度学习目标检测领域,具体涉及一种基于改进yolov5模型的交通信号灯图像检测方法。
背景技术
随着数字相机和计算机技术的发展,计算机视觉技术已成为人工智能、机器学习、深度学习等领域的重要支撑技术,并在自动驾驶、机器人、医疗、安防等众多领域得到了广泛应用和发展。随着自动驾驶的不断发展,准确检测交通信号灯,对路上通信安全、交通违规监管和交通事故定责具有重要意义。
yolov5是一种目标检测模型,在保持高精度的情况下,大幅提升了检测速度。虽然yolov5在目标检测中表现出色,但yolov5因为层数多和网络容量大的特性,所以需要更长时间的训练、更多的计算资源和时间。yolov5模型中运用了大量的Convolution(Conv)操作,频繁的内存访问导致了FLOPS低下。yolov5部署在边缘设备上高延迟、低吞吐量和计算复杂度高的问题更加突出
高延迟:yolov5的推理过程相对较慢,导致较高的延迟。边缘设备的计算资源有限,无法在短时间内完成复杂的推理过程,会严重影响实时应用场景。针对高延迟问题,通过引入Partial Convolution(PConv)和Involution,PConv利用特征图中的冗余信息,仅在一部分输入通道上应用Convolution操作,以减少计算冗余和内存访问,这样可以降低yolov5模型的计算复杂度,从而减少推理过程中的延迟;Involution可以增加特征图的感受野和语义信息,通过局部感知调整输入特征图,而不影响其余通道。这样可以在保持特征图分辨率不变的情况下提高模型的感知能力,进而减少不必要的计算量和延迟。
低吞吐量:由于yolov5的计算复杂度较高,边缘设备无法快速处理大量的输入图像,这会限制同时处理的任务数量,降低系统的整体吞吐量。而PConv比Convolution的计算效率更高,通过减少计算冗余和内存访问的数量,可以提高模型的推理速度,从而增加边缘设备的吞吐量。Involution比Convolution操作更轻量高效,可以提升模型的计算效率,从而增加边缘设备的吞吐量。
计算复杂度高:yolov5具有大量的参数和复杂的计算操作。在边缘设备上运行这样的模型,需要大量的计算资源和内存。边缘设备通常具有较低的计算能力和内存限制,这会导致计算复杂度过高,无法有效地完成推理任务。PConv可以利用特征图中的冗余信息,有选择地在部分输入通道上应用Convolution操作,从而减少计算复杂度和内存访问的数量,有助于降低yolov5模型的计算复杂度,使其适应边缘设备的计算能力和内存限制;Involution是一种轻量级的卷积操作,可以在保持特征图分辨率不变的情况下增加感受野和语义信息,通过减少计算冗余,Involution可以提高模型的计算效率,降低计算复杂度。
yolov5激活函数ReLU在边缘设备计算能力有限,无法达到在高性能服务器上的精度水平,而ReLU6在边缘设备上的float16/int8低精度环境下能够保持良好的数值分辨率,通过限制激活范围,ReLU6可以减少较大范围激活值的数值损失,提高模型的数值稳定性。
通过采用PConv、Involution和ReLU6激活函数,可以在yolov5模型的基础上减少计算冗余、降低计算复杂度,从而解决在边缘设备上高延迟、低吞吐量和计算复杂度高的问题。这样的改进使得模型更轻量、更适合于嵌入式设备,并在一定程度上牺牲微小的准确率,以获得更高的帧率和更好的实时性能。
发明内容
发明目的:
针对上述yolov5模型部署在边缘设备上高延迟、低吞吐量和计算复杂度高的技术问题,本技术方案提供了一种基于改进yolov5模型的交通信号灯图像检测方法,降低模型的计算复杂度,提高模型的鲁棒性,使模型可以在ARM处理器设备上运行良好;能有效的解决上述问题。本发明通过以下技术方案实现:
一种基于改进yolov5模型的交通信号灯图像检测方法,采用公共数据构建交通信号灯状态的检测样本数据集;分析yolov5模型检测交通信号灯响应时间长的问题,针对问题对yolov5模型进行改进;在yolov5模型的基础上,通过引入PConv和Involution卷积减少模型参数量;加入ReLU6激活函数,使得模型在边缘设备上float16/int8低精度的时候也有好的数值分辨率;具体的操作步骤包括:
步骤1:采用上海交通大学交通信号灯图像数据集-SJTU Small Traffic LightDataset(S2TLD),并将数据集分为训练集和测试集;
步骤2:搭建改进的yolov5网络模型;
步骤2.1:将yolov5骨干网络全部C3模块Bottleneck结构的1×1卷积和3×3卷积修改为PConv卷积,生成PConvC3模块;在Neck层对最后两层C3模块进行修改,修改为PConvC3模块,公式如下所示:
其中,X为输入的特征图矩阵;M为输入的mask(0-1分布),其中0表示损坏区域,1表示未损坏区域;W为卷积核,b为卷积运算的偏置;这里的X和M都只是当前运算区域的像素;输出的x′是单个像素,也就是W卷积核的中心位置;sum(M)是指与卷积核W相同大小,元素全部为1的矩阵;第一层PConv的M中,1为未损坏区域,而0为损坏区域;m′指Mask(0-1分布)更新过程,在每一步卷积运算之后都会更新,如果sum(M)>0,则表示该区域为未损坏区域,反之则为损坏区域;
步骤2.2:将yolov5的PConvC3模块的激活函数由ReLU修改为ReLU6,公式如下所示:
ReLU6(x)=min(max(0,x),6) (3);
其中,x是输入的实数值,max(x,0)表示取x和0之间的最大值,这一部分实现了ReLU的非线性部分;如果x大于等于0,那么这个部分的输出就等于x,否则输出为0,min(max(0,x),6)表示取上一步得到的结果和6之间的最小值;这一部分的作用是将输出限制在不超过6的范围内;和ReLU不同的是ReLU6限制最大输出为6,是为了在边缘设备float16/int8低精度的时候也有好的数值分辨率;
步骤2.3:在yolov5的Neck层中,将最后两层Convolution改为Involution,公式如下所示:
其中,xj是输入张量的第j个元素,yi是输出张量的第i个元素,wij和bij分别是Involution卷积中的权重和偏置,k是块的总数,指输入张量划分为的子块的数量;通过Involution所得的特征图中每个元素各不相同,可以学到更多的全局信息,而通道层面核参数共享;
步骤3:在计算机端,使用改进的yolov5模型,将S2TLD数据集的训练集输入训练,在验证集上,保存改进yolov5模型准确率最高的模型参数,将其文件命名为best.pt;
步骤4:在树莓派端环境搭建配置,将改进的yolov5模型移植到树莓派中;
步骤4.1:使用SD Card Formatter软件格式化U盘,选择最新64位系统进行烧入树莓派镜像文件;
步骤4.2:配置部署环境,安装winscp,将改进的yolov5模型输入树莓派端,安装opoencv和对应版本的pytorch,修改yolov5的requirements.txt文件进行yolov5环境运行程序;
步骤5:在树莓派端安装vnc服务器,在计算机端安装vncviewer应用程序,输入树莓派的IP地址,计算机端通过vncviewer与树莓派端连接,验证并访问树莓派的桌面远程操作,将训练好的权重文件best.py传输到树莓派端;
步骤6:在树莓派端,输入含有交通信号灯的目检测图像至改进的yolov5模型,加载步骤3中的最优权重文件best.pt至检测模型中进行推理检测,获取待检测图像中的交通信号灯的状态。
进一步的,所述步骤1的具体操作方式为:
步骤1.1:采用github上海交通大学开源数据集S2TLD,共5786张,包含4个类别(包括red、yellow、green和wait_on)图像数据;
步骤1.2:将S2TLD数据集标签的xml标准文件转换成对应的可用于yolov5模型训练的txt文件;
步骤1.3:将txt文件按照8:2划分为训练集:验证集,用于yolov5模型训练。
进一步的,所述步骤3的具体操作方式为:将交通信号灯数据集的训练集图像数据输入到改进的网络模型中,使用GPU训练,设置网络模型参数,训练轮数为200轮,初始学习率为0.01,最小学习率为0.0001,权重衰减系数为0.00005,采用AdamW改进器,batch-size为16;模型训练过程中,会保存准确率最优的模型参数,将其命名为best.pt。
进一步的,所述的步骤6是采用精确率(Precision)、平均精度均值(mAP)作为模型算法的评价指标,具体包括以下步骤:
步骤6.1:将包含交通信号灯的待检测图像传输到树莓派上,加载预训练的模型权重文件best.pt至改进的yolov5检测模型中,对图像进行目标检测,以检测交通信号灯的位置和状态;
步骤6.2:为检测改进后的模型性能,采用Precision、mAP、FPS作为模型算法的评价指标;
其中,Recall为召回率,TP代表样本中正确预测为正样本的个数,FN是实际正例样本中模型未能正确识别的样本数量,Precision为精确率,FP代表样本中被错误预测为正样本的负样本的个数,F1(F1 Score)是精确度(Precision)和召回率(Recall)的调和平均值,classes代表类别个数,P(R)D(R)代表第R类平均精度,FPS(Frames Per Second,每秒帧数)表示在一秒钟内显示的帧数。
有益效果
本发明提出的一种基于改进yolov5模型的交通信号灯图像检测方法,与现有技术相比较,其具有以下有益效果:
(1)本发明在yolov5模型的基础上,通过在C3模块引入PConv代替Conv,从而只在部分输入通道上应用卷积操作,减少了计算量和内存访问,更好地利用设备的计算能力;Involution卷积相较于传统的Convolution卷积具有更少的计算量、更好的感受野、更少的内存访问和更好的可扩展性,在不影响yolov5模型的深度的前提下,提高了模型效率和精度;ReLU6激活函数相比于ReLU函数,通过限制激活值上限在6以内,可以防止梯度爆炸、抑制过大的激活值,适用于有界输入范围的情况,使得模型在边缘设备上float16/int8低精度的时候也有好的数值分辨率。降低模型的计算复杂度,提高模型的鲁棒性,使模型可以在ARM处理器设备上运行良好。
附图说明
图1是本发明整体流程示意图。
图2是本发明中PConvC3模型的框架图。
图3是本发明中yolov5-fast结构图。
图4是采用常规yolov5的预测图截选图。
图5是本发明中yolov5-fast的预测图截选图。
图6是采用常规yolov5的帧率图。
图7是本发明中yolov5-fast的帧率图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。在不脱离本发明设计构思的前提下,本领域普通人员对本发明的技术方案做出的各种变型和改进,均应落入到本发明的保护范围。
实施例1:
一种基于改进yolov5模型的交通信号灯图像检测方法,采用公共数据构建交通信号灯状态的检测样本数据集;分析yolov5模型检测交通信号灯响应时间长的问题,针对问题对yolov5模型进行改进;在yolov5模型的基础上,通过引入PConv和Involution卷积减少模型参数量;加入ReLU6激活函数,使得模型在边缘设备上float16/int8低精度的时候也有好的数值分辨率;具体的操作步骤如图1所示,包括:
步骤1:采用上海交通大学交通信号灯图像数据集-SJTU Small Traffic LightDataset(S2TLD),并将数据集分为训练集和测试集;具体操作方式为:
步骤1.1:采用github上海交通大学开源数据集S2TLD,共5786张,包含4个类别(包括red、yellow、green和wait_on)图像数据。
步骤1.2:将S2TLD数据集标签的xml标准文件转换成对应的可用于yolov5模型训练的txt文件。
步骤1.3:将txt文件按照8:2划分为训练集:验证集,用于yolov5模型训练。
步骤2:搭建改进的yolov5网络模型;改进后的yolov5网络模型形成yolov5-fast模型,yolov5-fast结构图如图3所示,具体操作方式为:
步骤2.1:将yolov5骨干网络全部C3模块Bottleneck结构的1×1卷积和3×3卷积修改为PConv卷积,生成PConvC3模块;在Neck层对最后两层C3模块进行修改,修改为PConvC3模块,如图2所示。公式如下所示:
其中,X为输入的特征图矩阵;M为输入的mask(0-1分布),其中0表示损坏区域,1表示未损坏区域;W为卷积核,b为卷积运算的偏置;这里的X和M都只是当前运算区域的像素;输出的x′是单个像素,也就是W卷积核的中心位置;sum(M)是指与卷积核W相同大小,元素全部为1的矩阵;第一层PConv的M中,1为未损坏区域,而0为损坏区域;m′指Mask(0-1分布)更新过程,在每一步卷积运算之后都会更新,如果sum(M)>0,则表示该区域为未损坏区域,反之则为损坏区域。
步骤2.2:将yolov5的PConvC3模块的激活函数由ReLU修改为ReLU6,公式如下所示:
ReLU6(x)=min(max(0,x),6) (3);
其中,x是输入的实数值,max(x,0)表示取x和0之间的最大值,这一部分实现了ReLU的非线性部分;如果x大于等于0,那么这个部分的输出就等于x,否则输出为0,min(max(0,x),6)表示取上一步得到的结果和6之间的最小值;这一部分的作用是将输出限制在不超过6的范围内;和ReLU不同的是ReLU6限制最大输出为6,是为了在边缘设备float16/int8低精度的时候也有好的数值分辨率。
步骤2.3:在yolov5的Neck层中,将最后两层Convolution改为Involution,公式如下所示:
其中,xj是输入张量的第j个元素,yi是输出张量的第i个元素,wij和bij分别是Involution卷积中的权重和偏置,k是块的总数,指输入张量划分为的子块的数量;通过Involution所得的特征图中每个元素各不相同,可以学到更多的全局信息,而通道层面核参数共享。
步骤3:在计算机端,使用改进的yolov5模型,将S2TLD数据集的训练集输入训练,在验证集上,保存改进yolov5模型准确率最高的模型参数,将其文件命名为best.pt;具体操作方式为:
将交通信号灯数据集的训练集图像数据输入到改进的网络模型中,使用GPU训练,设置网络模型参数,训练轮数为200轮,初始学习率为0.01,最小学习率为0.0001,权重衰减系数为0.00005,采用AdamW改进器,batch-size为16;模型训练过程中,会保存准确率最优的模型参数,将其命名为best.pt。
步骤4:在树莓派端环境搭建配置,将改进的yolov5模型移植到树莓派中;具体操作方式为:
步骤4.1:使用SD Card Formatter软件格式化U盘,选择最新64位系统进行烧入树莓派镜像文件。
步骤4.2:配置部署环境,安装winscp,将改进的yolov5模型输入树莓派端,安装opoencv和对应版本的pytorch,修改yolov5的requirements.txt文件进行yolov5环境运行程序。
步骤5:在树莓派端安装vnc服务器,在计算机端安装vncviewer应用程序,输入树莓派的IP地址,计算机端通过vncviewer与树莓派端连接,验证并访问树莓派的桌面远程操作,将训练好的权重文件best.py传输到树莓派端。
步骤6:在树莓派端,输入含有交通信号灯的目检测图像至改进的yolov5模型,加载步骤3中的最优权重文件best.pt至检测模型中进行推理检测,获取待检测图像中的交通信号灯的状态;采用精确率(Precision)、平均精度均值(mAP)作为模型算法的评价指标,具体包括以下步骤:
步骤6.1:将包含交通信号灯的待检测图像传输到树莓派上,加载预训练的模型权重文件best.pt至改进的yolov5检测模型中,对图像进行目标检测,以检测交通信号灯的位置和状态;
步骤6.2:为检测改进后的模型性能,采用Precision、mAP、FPS作为模型算法的评价指标;
其中,Recall为召回率,TP代表样本中正确预测为正样本的个数,FN是实际正例样本中模型未能正确识别的样本数量,Precision为精确率,FP代表样本中被错误预测为正样本的负样本的个数,F1(F1 Score)是精确度(Precision)和召回率(Recall)的调和平均值,classes代表类别个数,P(R)D(R)代表第R类平均精度,FPS(Frames Per Second,每秒帧数)表示在一秒钟内显示的帧数。
实验验证:
为了验证本方案的可行性,发明人做了实验对比进行验证;具体的对比例如下所示:
Predicted-True实现数据反映了算法预测正确的概率,以本次实验为例,反应了算法预测“green”,“red”,“yellow”,“wait_on”4类正确的情况。算法预测正确的概率的数据分析如下表1所示:
表1数据集各类的准确率
Predicted-Recall实验数据反应了平均精确度(AP),Predicted-Recall所围成的面积就是平均精确度,mAP@0.5是每一个类分别计算AP,取平均的结果,mAP@0.5:0.95表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。数据集各类的平均准确率的数据分析如下表2所示:
表2数据集各类的平均准确率
F1兼顾精确率(Predicted)和召回率(Recall),并使用一个统一的单值评价指标来评价模型的训练效果,F1-Confidence实验数据反应了算法性能的差异,F1值越大算法的性能越好。模型综合指标F1的数据分析如下表3所示:
表3模型综合指标F1
F1-Confidence allclasses
yolov5n 0.409-0.86
yolov5n-fast 0.421-0.85
通过修改模型,模型的参数量有的明显的下降,训练时间也有明显的改进,模型参数量和训练时长的数据分析如下表4所示:
表4模型参数以及训练时长
model gradients 100epochstime
yolov5n 1765930 4.472
yolov5n-fast 847516 4.407
案例1
采用100张交通信号灯图片做验证集,对它们进行预测,计算平均置信度,其值如下表5所示,yolov5-fast比yolov5平均置信度要低,但是从图4和图5可以看出预测效果差距不明显。
表5模型验证平均置信度
案例2
选取了1个30分钟的城市街拍视频做预测,分析树莓派在高负载情况下,处理复杂图片的平均帧率如图6和图7所示,模型平均帧率如下表6所示。
表6模型验证平均帧率
model AvgFPS
yolov5n 1.515
yolov5n-fast 2.353
从上标可知,yolov5-fast处理速度比yolov5处理速度更快,并且效果明显。

Claims (4)

1.一种基于改进yolov5模型的交通信号灯图像检测方法,其特征在于:采用公共数据构建交通信号灯状态的检测样本数据集;分析yolov5模型检测交通信号灯响应时间长的问题,针对问题对yolov5模型进行改进;在yolov5模型的基础上,通过引入PConv和Involution卷积减少模型参数量;加入ReLU6激活函数,使得模型在边缘设备上float16/int8低精度的时候也有好的数值分辨率;具体的操作步骤包括:
步骤1:采用上海交通大学交通信号灯图像数据集-SJTU Small Traffic LightDataset(S2TLD),并将数据集分为训练集和测试集;
步骤2:搭建改进的yolov5网络模型;
步骤2.1:将yolov5骨干网络全部C3模块Bottleneck结构的1×1卷积和3×3卷积修改为PConv卷积,生成PConvC3模块;在Neck层对最后两层C3模块进行修改,修改为PConvC3模块,公式如下所示:
其中,X为输入的特征图矩阵;M为输入的mask(0-1分布),其中0表示损坏区域,1表示未损坏区域;W为卷积核,b为卷积运算的偏置;这里的X和M都只是当前运算区域的像素;输出的x′是单个像素,也就是W卷积核的中心位置;sum(M)是指与卷积核W相同大小,元素全部为1的矩阵;第一层PConv的M中,1为未损坏区域,而0为损坏区域;m′指Mask(0-1分布)更新过程,在每一步卷积运算之后都会更新,如果sum(M)>0,则表示该区域为未损坏区域,反之则为损坏区域;
步骤2.2:将yolov5的PConvC3模块的激活函数由ReLU修改为ReLU6,公式如下所示:
ReLU6(x)=min(max(0,x),6) (3);
其中,x是输入的实数值,max(x,0)表示取x和0之间的最大值,这一部分实现了ReLU的非线性部分;如果x大于等于0,那么这个部分的输出就等于x,否则输出为0,min(max(0,x),6)表示取上一步得到的结果和6之间的最小值;这一部分的作用是将输出限制在不超过6的范围内;和ReLU不同的是ReLU6限制最大输出为6,是为了在边缘设备float16/int8低精度的时候也有好的数值分辨率;
步骤2.3:在yolov5的Neck层中,将最后两层Convolution改为Involution,公式如下所示:
其中,xj是输入张量的第j个元素,yi是输出张量的第i个元素,wij和bij分别是Involution卷积中的权重和偏置,k是块的总数,指输入张量划分为的子块的数量;通过Involution所得的特征图中每个元素各不相同,可以学到更多的全局信息,而通道层面核参数共享;
步骤3:在计算机端,使用改进的yolov5模型,将S2TLD数据集的训练集输入训练,在验证集上,保存改进yolov5模型准确率最高的模型参数,将其文件命名为best.pt;
步骤4:在树莓派端环境搭建配置,将改进的yolov5模型移植到树莓派中;
步骤4.1:使用SD Card Formatter软件格式化U盘,选择最新64位系统进行烧入树莓派镜像文件;
步骤4.2:配置部署环境,安装winscp,将改进的yolov5模型输入树莓派端,安装opoencv和对应版本的pytorch,修改yolov5的requirements.txt文件进行yolov5环境运行程序;
步骤5:在树莓派端安装vnc服务器,在计算机端安装vncviewer应用程序,输入树莓派的IP地址,计算机端通过vncviewer与树莓派端连接,验证并访问树莓派的桌面远程操作,将训练好的权重文件best.py传输到树莓派端;
步骤6:在树莓派端,输入含有交通信号灯的目检测图像至改进的yolov5模型,加载步骤3中的最优权重文件best.pt至检测模型中进行推理检测,获取待检测图像中的交通信号灯的状态。
2.根据权利要求1所述的一种基于改进yolov5模型的交通信号灯图像检测方法,其特征在于:所述步骤1的具体操作方式为:
步骤1.1:采用github上海交通大学开源数据集S2TLD,共5786张,包含4个类别(包括red、yellow、green和wait_on)图像数据;
步骤1.2:将S2TLD数据集标签的xml标准文件转换成对应的可用于yolov5模型训练的txt文件;
步骤1.3:将txt文件按照8:2划分为训练集:验证集,用于yolov5模型训练。
3.根据权利要求1所述的一种基于改进yolov5模型的交通信号灯图像检测方法,其特征在于:所述步骤3的具体操作方式为:将交通信号灯数据集的训练集图像数据输入到改进的网络模型中,使用GPU训练,设置网络模型参数,训练轮数为200轮,初始学习率为0.01,最小学习率为0.0001,权重衰减系数为0.00005,采用AdamW改进器,batch-size为16;模型训练过程中,会保存准确率最优的模型参数,将其命名为best.pt。
4.根据权利要求1所述的一种基于改进yolov5模型的交通信号灯图像检测方法,其特征在于:所述的步骤6是采用精确率(Precision)、平均精度均值(mAP)作为模型算法的评价指标,具体包括以下步骤:
步骤6.1:将包含交通信号灯的待检测图像传输到树莓派上,加载预训练的模型权重文件best.pt至改进的yolov5检测模型中,对图像进行目标检测,以检测交通信号灯的位置和状态;
步骤6.2:为检测改进后的模型性能,采用Precision、mAP、FPS作为模型算法的评价指标;
其中,Recall为召回率,TP代表样本中正确预测为正样本的个数,FN是实际正例样本中模型未能正确识别的样本数量,Precision为精确率,FP代表样本中被错误预测为正样本的负样本的个数,F1(F1 Score)是精确度(Precision)和召回率(Recall)的调和平均值,classes代表类别个数,P(R)D(R)代表第R类平均精度,FPS(Frames Per Second,每秒帧数)表示在一秒钟内显示的帧数。
CN202311421665.5A 2023-10-31 2023-10-31 一种基于改进yolov5模型的交通信号灯图像检测方法 Pending CN117372996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311421665.5A CN117372996A (zh) 2023-10-31 2023-10-31 一种基于改进yolov5模型的交通信号灯图像检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311421665.5A CN117372996A (zh) 2023-10-31 2023-10-31 一种基于改进yolov5模型的交通信号灯图像检测方法

Publications (1)

Publication Number Publication Date
CN117372996A true CN117372996A (zh) 2024-01-09

Family

ID=89390834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311421665.5A Pending CN117372996A (zh) 2023-10-31 2023-10-31 一种基于改进yolov5模型的交通信号灯图像检测方法

Country Status (1)

Country Link
CN (1) CN117372996A (zh)

Similar Documents

Publication Publication Date Title
CN108764164B (zh) 一种基于可变形卷积网络的人脸检测方法及系统
CN111950723B (zh) 神经网络模型训练方法、图像处理方法、装置及终端设备
CN110956255B (zh) 难样本挖掘方法、装置、电子设备及计算机可读存储介质
CN108564052A (zh) 基于mtcnn的多摄像头动态人脸识别系统与方法
CN109492435B (zh) 基于数据开放共享的隐私泄露风险评估方法、装置及系统
WO2023143178A1 (zh) 对象分割方法、装置、设备及存储介质
CN112037142B (zh) 一种图像去噪方法、装置、计算机及可读存储介质
CN114863226A (zh) 一种网络物理系统入侵检测方法
EP4332815A1 (en) Intelligent connected vehicle data training method and electronic device based on privacy data protection, and computer readable storage medium
CN114861875A (zh) 基于自监督学习和自知识蒸馏的物联网入侵检测方法
CN115861646A (zh) 一种基于结构重参数化的轻量级目标检测方法及系统
Yuan et al. Infi: End-to-end learnable input filter for resource-efficient mobile-centric inference
He et al. On-device deep multi-task inference via multi-task zipping
CN116861262B (zh) 一种感知模型训练方法、装置及电子设备和存储介质
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
CN117372996A (zh) 一种基于改进yolov5模型的交通信号灯图像检测方法
CN111832435A (zh) 基于迁移与弱监督的美丽预测方法、装置及存储介质
CN114448659B (zh) 基于属性探索的黄河坝岸监测物联网访问控制优化方法
CN116363149A (zh) 一种基于U-Net改进的医学图像分割方法
Liu et al. Abnormal behavior analysis strategy of bus drivers based on deep learning
CN115795355A (zh) 一种分类模型训练方法、装置及设备
CN112396126B (zh) 一种基于检测主干与局部特征优化的目标检测方法及系统
CN113762042A (zh) 视频识别方法、装置、设备以及存储介质
CN111652102A (zh) 一种输电通道目标物辨识方法及系统
KR20210038027A (ko) 신경망 압축 훈련 방법 및 압축된 신경망을 이용하는 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination