← 返回列表

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

申请号: CN202311421665.5
申请人: 淮阴工学院
申请日期: 2023/10/31

摘要文本

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

专利详细信息

项目 内容
专利名称 一种基于改进yolov5模型的交通信号灯图像检测方法
专利类型 发明申请
申请号 CN202311421665.5
申请日 2023/10/31
公告号 CN117372996A
公开日 2024/1/9
IPC主分类号 G06V20/58
权利人 淮阴工学院
发明人 周泓; 石锐; 李翔; 邹佳明; 徐斌; 赵保中; 杜萌; 古小诗; 刘云飞; 宗美晨; 秦燚阳
地址 江苏省淮安市经济技术开发区枚乘东路1号

专利主权项内容

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,公式如下所示:其中,x是输入张量的第j个元素,y是输出张量的第i个元素,w和b分别是Involution卷积中的权重和偏置,k是块的总数,指输入张量划分为的子块的数量;通过Involution所得的特征图中每个元素各不相同,可以学到更多的全局信息,而通道层面核参数共享;jiijij步骤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至检测模型中进行推理检测,获取待检测图像中的交通信号灯的状态。