本发明属于目标检测,更具体地说,涉及一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法。
背景技术:
1、随着时代的快速发展,越来越多的人为了方便出行,会选择电动车这种交通工具,国家为了保障骑行人员的安全问题,推出了“一盔一带”的政策,对未佩戴头盔的骑行人员进行处罚,然而现阶段对道路上行驶的电动车,主要依靠交警的人工判断,不仅效率十分低下,还不能保证全天候的监测,也有人提出智能头盔技术,就是在头盔中内置传感器、芯片等设备,可以监测骑行者的佩戴状态,并通过无线传输技术将数据发送到控制中心,但是这种方式成本较高,不利于部署。随着人工智能技术的普及,基于深度学习的目标检测应用越来越广泛,如无人驾驶,但是对骑行电动车佩戴头盔检测的研究依然很少。
2、目标检测是计算机视觉领域的一个重要任务,包括传统的目标检测方法和基于深度学习的目标检测方法。传统的目标检测方法主要依赖于特征提取和分类器设计,基于深度学习的目标检测方法则是通过训练大量的图像数据,学习图像中的特征表示,从而实现对目标的自动检测和识别。
3、随着深度学习的发展,目标检测的准确率越来越高,但与此同时,模型的复杂度和计算量越来越高,于是轻量化目标检测技术逐渐被人们提及,旨在保证检测精度的同时,降低模型复杂度和计算量,以适应各种硬件资源有限的场景。
4、传统的检测算法通常采用深度卷积神经网络来提取特征,但这些网络通常具有大量的参数和计算量,难以在移动设备等资源受限的平台上部署。为此,研究者们提出了轻量化目标检测技术,轻量化目标检测技术的研究主要集中在设计轻量化的神经网络结构、模型剪枝和模型量化等方面。其中,轻量化的神经网络结构如mobilenet、shufflenet和squeezenet等,被广泛应用于目标检测任务中,但是这些轻量化的神经网络结构会牺牲一定的识别准确率,同时对遮挡目标的检测也较弱,难以用于有遮挡情况下的目标识别及检测。
5、经检索,关于采用yolov5目标检测算法在工人是否佩戴安全帽的识别检测中已经有相关应用,如,中国专利申请号为202211501358.3,发明创造名称为一种基于yolov5的轻量化安全帽佩戴检测方法。该专利申请案中通过对现有的yolov5目标检测算法进行改进,通过构建轻量化安全帽佩戴检测网络,在yolov5算法的特征提取部分引入stem模块用于主干网络的卷积下采样操作,确保较强的特征表达能力且能够减少大量的参数。顺序连接的stem模块、c3模块、conv模块、c3模块、conv模块、c3模块、conv模块、c3模块、sppf模块构建为改进yolov5主干部分;在yolov5算法的特征融合部分用轻量的ghost conv卷积模块对所有的常规卷积模块进行替换,构建轻量的颈部网络ghost neck;在yolov5网络的损失函数部分进行了改进,引用siou指标来取代原本的ciou指标。
6、又如,中国专利申请号为202211534970.0,发明创造名称为一种基于改进yolov5模型的安全帽佩戴检测方法。该专利申请案对yolov5算法进行改进,通过在特征提取部分嵌入倒置残差模块与倒置残差注意力模块进行图像特征提取;在特征融合部分设计多尺度特征融合模块进行特征融合,并生成四个不同感受野的检测头;优化预测框回归损失函数。
7、上述两个申请案均通过对现有的yolov5算法进行改进,在检测精度提升和模型轻量化设计方面具有一定先进性,从而可以较为快速、准确地将施工现场未佩戴安全帽的人员自动识别出来。但是对于检测环境更为复杂的环境下,尤其是在人员密集的场景下准确、快速、轻量化识别出电动车骑行者及所载人员是否佩戴安全头盔,上述两个申请案中所提出的技术方案均难以解决。
技术实现思路
1、1.要解决的问题
2、为了解决上述问题,在yolov5模型的基础上,本发明目的是提出一种轻量化,并且准确率高的检测算法,能够有效应用在电动车骑行者是否佩戴头盔这一实时检测任务中,通过快速、准确的识别出骑行者及所载人员是否佩戴头盔,以提升电动车骑行者在道路上行驶的安全性。
3、2.技术方案
4、为了解决上述问题,本发明所采用的技术方案如下:
5、本发明提供的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,包括以下步骤:
6、步骤s1、收集电动车骑行者照片,构建数据集,并对数据集进行数据标注和数据增强处理;
7、步骤s2、改进yolov5算法骨干网络,采用pc3模块替换c3模块;在颈部网络使用分层特征提取与逐步融合网络进行处理;采用mpdiou为损失函数;
8、步骤s3、对经步骤s1和步骤s2处理后得到的初始目标检测模型进行迭代训练;
9、步骤s4、训练完成后,得到最终目标检测模型,采用此模型对采集到的电动车骑行者照片进行识别检测,能够自动检测出佩戴头盔的人员和未佩戴头盔的人员,完成检测后输出检测结果。
10、作为本发明的进一步优选,步骤s2中,pc3模块的工作流程具体为:首先,特征图经过2个分支,一个主分支和另一个残差分支,特征图通过主分支输入,依次经过pcbs模块和bottleneckp模块进行处理;与此同时,特征图还通过残差分支输入,经过一个pcbs模块处理,然后将主分支和残差分支的输出进行拼接,最后再经过一个pcbs模块处理后并输出。
11、作为本发明的进一步优选,pcbs模块的处理流程为:特征图经过部分卷积pconv,后面再依次进行批量标准化batchnorm2d和silu激活函数处理,并输出结果。
12、作为本发明的进一步优选,bottleneckp模块由两个分支组成,一个主分支和另一个残差分支,bottleneckp模块的处理流程为:特征图通过主分支输入,依次经过2个pcbs模块进行处理,最后和通过残差分支输入的特征图直接拼接输出。
13、作为本发明的进一步优选,特征图在颈部网络处理流程具体为:从骨干网络中选取两个低级特征和位于骨干网络末端的高级特征开始分层提取,然后将低级特征和高级特征进行逐步融合处理。
14、作为本发明的进一步优选,特征图在颈部网络中进行处理时,使用到的处理模块包括cbs模块、c3模块和asff模块。
15、7、根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,mpdiou损失函数公式如下:
16、
17、
18、
19、其中,分别表示预测框b的左上角和右下角点坐标,分别表示实际框a的左上角和右下角点坐标,w,h表示输入图片的宽度和高度。
20、作为本发明的进一步优选,步骤s3,迭代训练初始目标检测模型时,选择adam优化器进行处理。
21、作为本发明的进一步优选,步骤s4中,迭代周期至少为200个。
22、作为本发明的进一步优选,步骤s1中,全天各时段通过线下拍摄采集各路口的电动车骑行者的照片,图片数大于3500张,训练集和测试集的数量比为8:2;采用labelimg对数据集进行yolo格式标注;使用几何变换中的水平翻转以及对图片进行随机矩阵遮挡、hsv变换进行数据增强。
23、3.有益效果
24、相比于现有技术,本发明的有益效果为:
25、(1)本发明的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,通过改进特征提取模型,在yolov5骨干网络中,将原c3模型中采用普通卷积conv提取特征,修改成在一部分输入通道上使用卷积,其余通道保持不变,不仅降低了模型的复杂度和计算量,还充分利用特征图的冗余,提升对图片特征信息的提取。
26、(2)本发明的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,通过改进特征融合模型,在yolov5颈部网络中修改使用分层特征提取与逐步融合网络,它有助于跨非相邻层次的直接特征融合,从而防止在传输和交互过程中特征信息的丢失或退化,提高对遮挡目标的识别。
27、(3)本发明的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,通过改进原yolov5算法的损失函数,使用一种基于最小点距离的边界框相似度比较度量mpd1ou作为目标框损失函数,其中包含了现有损失函数中考虑的所有相关因素,同时简化了计算过程,使目标框的回归更加稳定,收敛的精度更高。
1.一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,步骤s2中,pc3模块的工作流程具体为:首先,特征图经过2个分支,一个主分支和另一个残差分支,特征图通过主分支输入,依次经过pcbs模块和bottleneckp模块进行处理;与此同时,特征图还通过残差分支输入,经过一个pcbs模块处理,然后将主分支和残差分支的输出进行拼接,最后再经过一个pcbs模块处理后并输出。
3.根据权利要求2所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,pcbs模块的处理流程为:特征图经过部分卷积pconv,后面再依次进行批量标准化batchnorm2d和silu激活函数处理,并输出结果。
4.根据权利要求2所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,bottleneckp模块由两个分支组成,一个主分支和另一个残差分支,bottleneckp模块的处理流程为:特征图通过主分支输入,依次经过2个pcbs模块进行处理,最后和通过残差分支输入的特征图直接拼接输出。
5.根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于:特征图在颈部网络处理流程具体为:从骨干网络中选取两个低级特征和位于骨干网络末端的高级特征开始分层提取,然后将低级特征和高级特征进行逐步融合处理。
6.根据权利要求5所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,特征图在颈部网络中进行处理时,使用到的处理模块包括cbs模块、c3模块和asff模块。
7.根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,mpdiou损失函数公式如下:
8.根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,步骤s3,迭代训练初始目标检测模型时,选择adam优化器进行处理。
9.根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,步骤s4中,迭代周期至少为200个。
10.根据权利要求1-4中任一项所述的一种基于yolov5算法改进的电动车骑行者头盔佩戴检测方法,其特征在于,步骤s1中,全天各时段通过线下拍摄采集各路口的电动车骑行者的照片,图片数大于3500张,训练集和测试集的数量比为8:2;采用labelimg对数据集进行yolo格式标注;使用几何变换中的水平翻转以及对图片进行随机矩阵遮挡、hsv变换进行数据增强。