一种非机动车头盔佩戴检测方法及系统
未命名
08-07
阅读:172
评论:0
1.本发明涉及检测算法技术领域,具体为一种非机动车头盔佩戴检测方法及系统。
背景技术:
2.随着国家推广绿色出行理念,电动自行车成为主要的出行交通工具之一。由于部分电动自行车驾驶员缺乏安全意识,不佩戴头盔,存在安全风险。据研究表明,江苏省教育科研基金项目(202210294042z);戴头盔能降低42%的死亡率和69%的受伤率,为骑行人员提供安全保障,因此,国家颁布了相关政策及法律法规,并采用人工监管方式规范非机动车骑行人员的行为。但此法存在众多问题,不仅需要大量投入执法人员,还存在监管效率低、覆盖面不够广泛等问题,难以满足现阶段精准、规范执法需求。因此,利用以深度学习为代表的人工智能算法对非机动车驾驶员和乘客头盔佩戴进行检测具有较大现实意义。
3.主流的头盔佩戴检测算法分为两类:一类是双阶段式检测算法;另一类是单阶段式检测算法,双阶段式目标检测算法主要以r-cnn系列模型为代表。使用主要样本注意力机制和可变形卷积模块对faster r-cnn算法进行改进,检测安全头盔,并采用ablu数据增强算法提升网络的泛化性,改进的算法在小目标识别方面实现提升,但模型的复杂度较高,难以实现安全头盔实时监测。
4.综上所述,在密集骑行场景下目标检测算法仍存在精度与模型复杂度难以平衡、准确率低以及漏检率高等问题,为解决上述问题,提出一种非机动车头盔佩戴检测方法及系统。
技术实现要素:
5.本发明提供如下技术方案:一种非机动车头盔佩戴检测系统,包括yolov5s系统,所述yolov5s系统包括kmeans++算法聚类锚框、轻量级通用上采样算子、注意力机制和后处理方法的改进,yolov5s系统用于针对数据集的锚框,利用kmeans++算法对数据集重聚类,在backbone模块中使用carafe算法替代最近邻插值算法,提高网络提取语义信息的能力,然后在sppf模块以及head端前添加ca注意力机制,在模型轻量化的同时提高目标识别的精度,最后在后处理中使用diou-nms算法代替nms算法,降低模型的目标漏检率,yolov5s是对yolov5的优化。
6.优选的,所述kmeans算法用于聚类生成锚框,且采用遗传算法在网络训练过程中不断调整锚框,由于算法在聚类前需要完成k个簇中心的初始化,因此其存在收敛情况过度依赖簇中心初始化结果的问题,严重影响网络性能的稳定性,kmeans++是对kmeans随机初始化方法的优化。
7.优选的,所述轻量级通用上采样算子在用于在yolov5模型中引入carafe,可以实现在满足轻量化的同时,增大感受野,获得更多的语义信息,carafe主要由上采样预测模块和特征重组模块组成,传统yolov5模型使用最近邻插值算法对高阶特征图进行上采样操作,不能充分利用特征图的语义信息,并且感受野较小。
8.优选的,所述carafe的具体步骤如下;
9.步骤s1:为了减少参数和计算量,通过1
×
1卷积将原来的c个通道压缩到cm;
10.步骤s2:利用内容编码器中一个卷积核大小为kencoder
×
kencoder的卷积层预测上采样核,得到尺寸为σh
×
σw
×
k2up的上采样核,其中kencoder为编码器参数;
11.步骤s3:将步骤s2得到的上采样核归一化,且确保卷积核权重和为1;
12.步骤s4:将输入特征图中kup
×
kup的区域与预测出的上采样核做点积操作,输出重组后的特征。
13.优选的,所述注意力机制用于协同注意力机制网络,引入一种新的注意力结构,该结构不仅考虑到空间和通道信息,还考虑到长距离依赖问题,使得模型在轻量化的同时实现精度的提升。
14.现有研究表明,将注意力模块添加到现有卷积神经网络中可以带来显著的性能飞跃。近来,senet模块被广泛应用于轻量级网络的注意力机制中,其仅考虑通道间的关系,忽略空间位置关系;cbam模块则考虑到空间位置关系,注重提高各个特征在通道和空间上的联系,但卷积只能提取局部关系,缺乏长距离关系提取的能力。
15.优选的,一种非机动车头盔佩戴检测方法适用于权利要求5的一种非机动车头盔佩戴检测系统,所述注意力机制的具体方法为;
16.网络中的任意中间特征张量x可以表示为:
17.x=[x1,x2,...,xc]∈rh×w×cꢀꢀꢀ
(1)
[0018]
进行转化后输出同样尺寸的张量y:
[0019]
y=[y1,y2,...,yc]∈rh×w×cꢀꢀꢀ
(2)
[0020]
通过特征聚合生成高、宽度方向特征图zh和zw:
[0021][0022][0023]
将zh和zw进行拼接操作,利用共享卷积核对特征图降维,再使用sigmoid激活函数得到特征图f:
[0024]
f=δ(f1([zh,zw])) (4)
[0025]
接下来,对特征图f进行卷积操作,得到两方向上的特征图fh和fw。此外,使用sigmoid激活函数,获取注意力权重gh和gw:
[0026]gh
=σ(fh(fh))
ꢀꢀ
(55)
[0027]gw
=σ(fh(fh))
[0028]
最后将原始特征图xc(i,j)与权重值相乘,得到输出特征图yc(i,j):
[0029][0030]
因此,本文在backbone中的sppf层以及head端前添加ca注意力机制,可以有效帮助模型更加准确地识别与定位目标。
[0031]
优选的,所述后处理方法的改进包括diou-nms算法,diou-nms算法既关注iou值,
也关注两个框中心点的相对位置,非极大值抑制(nms)主要是用于基于深度学习的目标检测模型输出的后处理,从而除去冗余的检测框,获得正
[0032]
确的检测结果。yolov5使用nms算法对模型输出的结果进行处理,此算法将iou值作为唯一考量,当iou值大于设定的阈值时,模型将此候选框与置信度最高的候选框视为同一个候选框,将其删除。在检测目标数量多且存在重叠情况时,nms算法会存在严重的漏检情况。
[0033]
优选的,一种非机动车头盔佩戴检测方法适用于权利要求7的一种非机动车头盔佩戴检测系统,所述diou-nms的具体方法为:
[0034][0035]
式中si是分类置信度,ε是diou-nms阈值,m为si最大值对应的候选框,rdiou为两个框中心点的距离,其计算公式如式8所示:
[0036][0037]
由于检测目标为非机动车头盔,存在检测目标数量多且重叠情况。因此,本文选择diou-nms算法进行模型的后处理。
[0038]
有益效果
[0039]
与现有技术相比,本发明提供了一种非机动车头盔佩戴检测方法及系统,具备以下有益效果:
[0040]
本发明基yolov5进行优化,选择yolov5s作为改进算法;其次,引入kmeans++算法聚类生成锚框,增强网络性能的稳定性;然后,使用carafe对高阶特征图进行上采样操作,增大感受野,充分利用特征语义信息;紧接着,在backbone模块和head端前加入ca注意力机制,提升网络对目标的定位能力,保证轻量化的同时提升精度;最后,在后处理方法上引入diou-nms,这一做法能降低模型的漏检率,改善遮挡物体的检测能力,改进后的yolov5s算法在准确率、召回率、map等性能指标相较于原始算法均有一定提升,并且在目标密集场景下漏检情况有所改善。
附图说明
[0041]
图1为本发明一种非机动车头盔佩戴检测方法及系统的yolov5s网络结构示意图;
[0042]
图2为本发明一种非机动车头盔佩戴检测方法及系统的kmeans++算法流程示意图;
[0043]
图3为本发明一种非机动车头盔佩戴检测方法及系统的carafe网络结构示意图;
[0044]
图4为本发明一种非机动车头盔佩戴检测方法及系统的ca注意力机制结构示意图;
[0045]
图5为本发明一种非机动车头盔佩戴检测方法及系统的部分数据集样示意图;
[0046]
图6为本发明一种非机动车头盔佩戴检测方法及系统的系统界面示意图;
[0047]
图7为本发明一种非机动车头盔佩戴检测方法及系统的各类损失参数变化示意图
((a)定位损失变化曲线,(b)置信度损失变化曲线,(c)分类损失变化曲线);
[0048]
图8为本发明一种非机动车头盔佩戴检测方法及系统的算法改进前后的精度对比示意图((a)改进前,(b)改进后);
[0049]
图9为本发明一种非机动车头盔佩戴检测方法及系统的检测效果对比示意图(a为原始yolov5模型检测结果,b为本发明提出算法的检测结果)。
具体实施方式
[0050]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
实施例一;
[0052]
请参阅图1,一种非机动车头盔佩戴检测系统,包括yolov5s系统,所述yolov5s系统包括kmeans++算法聚类锚框、轻量级通用上采样算子、注意力机制和后处理方法的改进,yolov5s系统用于针对数据集的锚框,利用kmeans++算法对数据集重聚类,在backbone模块中使用carafe算法替代最近邻插值算法,提高网络提取语义信息的能力,然后在sppf模块以及head端前添加ca注意力机制,在模型轻量化的同时提高目标识别的精度,最后在后处理中使用diou-nms算法代替nms算法,降低模型的目标漏检率,yolov5s是对yolov5的优化。
[0053]
实施例二;
[0054]
请参阅图2,所述kmeans算法用于聚类生成锚框,数据如表1所示,且采用遗传算法在网络训练过程中不断调整锚框,由于算法在聚类前需要完成k个簇中心的初始化,因此其存在收敛情况过度依赖簇中心初始化结果的问题,严重影响网络性能的稳定性,kmeans++是对kmeans随机初始化方法的优化。
[0055]
表1锚框尺寸
[0056][0057]
实施例三;
[0058]
请参阅图3,所述轻量级通用上采样算子在用于在yolov5模型中引入carafe,可以实现在满足轻量化的同时,增大感受野,获得更多的语义信息,carafe主要由上采样预测模块和特征重组模块组成,传统yolov5模型使用最近邻插值算法对高阶特征图进行上采样操作,不能充分利用特征图的语义信息,并且感受野较小。
[0059]
进一步的,所述carafe的具体步骤如下;
[0060]
步骤s1:为了减少参数和计算量,通过1
×
1卷积将原来的c个通道压缩到cm;
[0061]
步骤s2:利用内容编码器中一个卷积核大小为kencoder
×
kencoder的卷积层预测
上采样核,得到尺寸为σh
×
σw
×
k2up的上采样核,其中kencoder为编码器参数;
[0062]
步骤s3:将步骤s2得到的上采样核归一化,且确保卷积核权重和为1;
[0063]
步骤s4:将输入特征图中kup
×
kup的区域与预测出的上采样核做点积操作,输出重组后的特征。
[0064]
图中,c、h、w为特征图尺寸参数,σ为倍率,kup为重组内核尺寸。
[0065]
实施例四;
[0066]
请参阅图4,所述注意力机制用于协同注意力机制网络,引入一种新的注意力结构,该结构不仅考虑到空间和通道信息,还考虑到长距离依赖问题,使得模型在轻量化的同时实现精度的提升,现有研究表明,将注意力模块添加到现有卷积神经网络中可以带来显著的性能飞跃。近来,senet模块被广泛应用于轻量级网络的注意力机制中,其仅考虑通道间的关系,忽略空间位置关系;cbam模块则考虑到空间位置关系,注重提高各个特征在通道和空间上的联系,但卷积只能提取局部关系,缺乏长距离关系提取的能力。
[0067]
进一步的,一种非机动车头盔佩戴检测方法适用于权利要求5的一种非机动车头盔佩戴检测系统,所述注意力机制的具体方法为;
[0068]
网络中的任意中间特征张量x可以表示为:
[0069]
x=[x1,x2,...,xc]∈rh×w×
c (1)
[0070]
进行转化后输出同样尺寸的张量y:
[0071]
y=[y1,y2,...,yc]∈rh×w×
c (2)
[0072]
通过特征聚合生成高、宽度方向特征图zh和zw:
[0073][0074][0075]
将zh和zw进行拼接操作,利用共享卷积核对特征图降维,再使用sigmoid激活函数得到特征图f:
[0076]
f=δ(f1([zh,zw]))
ꢀꢀ
(4)
[0077]
接下来,对特征图f进行卷积操作,得到两方向上的特征图fh和fw。此外,使用sigmoid激活函数,获取注意力权重gh和gw:
[0078]gh
=σ(f(fh))
ꢀꢀꢀꢀꢀ
(5)
[0079]gw
=σ(fh(fh))
[0080]
最后将原始特征图xc(i,j)与权重值相乘,得到输出特征图yc(i,j):
[0081][0082]
因此,本文在backbone中的sppf层以及head端前添加ca注意力机制,可以有效帮助模型更加准确地识别与定位目标。
[0083]
实施例五;
[0084]
所述后处理方法的改进包括diou-nms算法,diou-nms算法既关注iou值,也关注两个框中心点的相对位置。非极大值抑制(nms)主要是用于基于深度学习的目标检测模型输
precision,map)3个指标进行模型评价。精度是目标的预测是否准确的评价,计算公式如式9所示:
[0100][0101]
召回率是对目标是否被全部识别的评价,计算公式如式10所示:
[0102][0103]
式中tp、fp、fn、tn含义如表3所示:
[0104]
表3混淆矩阵
[0105][0106]
平均精度map目标检测精度的衡量指标,计算公式如11所示:
[0107][0108][0109]
式中ap指p-r曲线包围的面积。
[0110]
3.4实验评估与分析
[0111]
3.4.1不同yolov5模型对比实验
[0112]
根据模型的复杂程度,yolov5被划分yolov5n、yolov5s、yolov5m、yolov5l、yolov5x五种模型结构,本文将模型检测精度、参数量和计算量作为评价指标,依次训练四种模型,实验数据如表4所示。
[0113]
表4各种传统yulov5模型对比实验结果
[0114][0115]
从表中可以看出,随着模型深度和宽度的增加,模型的检测性能不断提升,同时参数量和计算量也不断增加。由于yolov5n模型的深度和宽度较小,map值仅有83.6%,相较于其它四种模型精度较低,不易满足目标检测精度要求;yolov5s模型的精度与yolov5m模型
较为接近,map值仅低0.3%,但yolov5m模型的参数量和计算量近似于yolov5s模型的3倍;yolov5l和yolov5x模型的精度相较yolov5s模型有明显的提升,但参数量和计算量过大,难以满足实际性检测的要求。
[0116]
根据评价指标的数据,综合考虑所研究非机动车头盔目标检测要求及精度、模型复杂程度等多方面因素,选择参数量和计算量较小且满足精度要求的yolov5s作为原始模型。
[0117]
3.4.2模型训练,请阅图7,
[0118]
根据上述参数设置,在非机动车头盔数据集上对改进的yolov5s模型进行训练,各损失训练结果如图7所示。
[0119]
从图中可以看出,定位损失、置信度损失及分类损失曲线不断下降直至收敛,实验数据表明网络模型具有较好的收敛能力和学习能力。
[0120]
3.4.3对比实验,请阅图8,
[0121]
为了对改进的yolov5s算法进行更加充分的评估,选取ssd、yolov3、yolov4、yolov5-cbam以及yolov5-shufflenetv2等主流的目标检测算法作为对照,各个模型均利用非机动车头盔数据集进行训练,并对比各评价指标,实验结果如表5所示。
[0122]
表5对比实验结果
[0123][0124]
从实验结果可知,本文改进的模型相比其它几种目标检测算法,综合性能具有明显的优势。相比多阶段目标检测算法ssd,不仅平均检测精度提升了5.3%,而且模型的参数量和计算量明显降低;相比单阶段目标检测算法yolov3和yolov4,不仅平均检测精度提升了3.7%和4%,而且模型的复杂程度降低;相比yolov5-cbam算法,本文改进算法在模型容量低的同时检测精度更高;yolov5-shufflenetv2算法实现模型的轻量化,但检测精度仅有77%,难以满足精度要求。
[0125]
综上所述,本文提出的改进算法在保证轻量化的同时,具备较高的检测精度,进一步证明了本文算法相较于其它算法的优越性。
[0126]
表6消融实验结果
[0127][0128]
如表6所示,当yolov5s模型加入carafe时,在上采样操作中充分获取语义信息,召回率出现下降,但精确率有所提升,并且map值提高了0.3%;加入ca注意力机制后,提升了网络目标检测能力,精确率、召回率以及map值分别提升了2%、0.4%和0.5%;加入diou_nms后,增强了模型对密集骑行场景的检测能力,使得精确率、召回率和map值均得到一定程度提升;在使用kmeans++算法对数据集重新聚类后,不仅使网络性能更稳定,且得到的锚框尺寸更贴合实际头盔检测,精确率和map值分别提升0.3%和0.2%。
[0129]
所提出的算法综合各个模块的优点,相比原yolov5s网络,在保证轻量化的同时,精确率、召回率和平均检测精度分别提升2.3%、1.5%和1.5%。所提出的4种优化模块均取得较理想的提升效果,并且优化模块组合时效果最佳。如图8所示,图中展示算法改进前后的精度对比情况,可见所提出的改进算法对三种目标检测对象均具有较高平均检测精度,整体提升1.5%。
[0130]
图8算法改进前后的精度对比图:(a)改进前(b)改进后
[0131]
3.4.4模型检测效果可视化分析,请阅图9,
[0132]
为了更好地验证改进的yolov5s模型相较于原始yolov5s模型的提升效果,将两模型检测效果进行可视化分析,模型效果对比如图9所示。通过检测效果对比可以看出,本文改进模型减少了原始yolov5s模型对于中小目标的漏检,提升了目标检测精度。
[0133]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0134]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种非机动车头盔佩戴检测系统,包括yolov5s系统,其特征在于:所述yolov5s系统包括kmeans++算法聚类锚框、轻量级通用上采样算子、注意力机制和后处理方法的改进,yolov5s系统用于针对数据集的锚框,利用kmeans++算法对数据集重聚类,在backbone模块中使用carafe算法替代最近邻插值算法,然后在sppf模块以及head端前添加ca注意力机制,最后在后处理中使用diou-nms算法代替nms算法,yolov5s是对yolov5的优化。2.根据权利要求1所述的一种非机动车头盔佩戴检测系统,其特征在于:所述kmeans算法用于聚类生成锚框,且采用遗传算法在网络训练过程中不断调整锚框,kmeans++是对kmeans随机初始化方法的优化。3.根据权利要求1所述的一种非机动车头盔佩戴检测系统,其特征在于:所述轻量级通用上采样算子在用于在yolov5模型中引入carafe,carafe主要由上采样预测模块和特征重组模块组成。4.根据权利要求3所述的一种非机动车头盔佩戴检测系统,其特征在于:所述carafe的具体步骤如下;步骤s1:为了减少参数和计算量,通过1
×
1卷积将原来的c个通道压缩到cm;步骤s2:利用内容编码器中一个卷积核大小为kencoder
×
kencoder的卷积层预测上采样核,得到尺寸为σh
×
σw
×
k2up的上采样核,其中kencoder为编码器参数;步骤s3:将步骤s2得到的上采样核归一化,且确保卷积核权重和为1;步骤s4:将输入特征图中kup
×
kup的区域与预测出的上采样核做点积操作,输出重组后的特征。5.根据权利要求1所述的一种非机动车头盔佩戴检测系统,其特征在于:所述注意力机制用于协同注意力机制网络,引入一种新的注意力结构,该结构不仅考虑到空间和通道信息,还考虑到长距离依赖问题。6.一种非机动车头盔佩戴检测方法适用于权利要求5的一种非机动车头盔佩戴检测系统,其特征在于:所述注意力机制的具体方法为;网络中的任意中间特征张量x可以表示为:x=[x1,x2,...,x
c
]∈r
h
×
w
×
c
ꢀꢀꢀꢀꢀ
(1)进行转化后输出同样尺寸的张量y:y=[y1,y2,...,y
c
]∈r
h
×
w
×
c
ꢀꢀꢀꢀꢀ
(2)通过特征聚合生成高、宽度方向特征图zh和zw:将zh和zw进行拼接操作,利用共享卷积核对特征图降维,再使用sigmoid激活函数得到特征图f:f=δ(f1([z
h
,z
w
]))
ꢀꢀꢀꢀꢀꢀ
(4)接下来,对特征图f进行卷积操作,得到两方向上的特征图fh和fw;此外,使用sigmoid激活函数,获取注意力权重gh和gw:
最后将原始特征图xc(i,j)与权重值相乘,得到输出特征图yc(i,j):因此,本文在backbone中的sppf层以及head端前添加ca注意力机制,可以有效帮助模型更加准确地识别与定位目标。7.根据权利要求1所述的一种非机动车头盔佩戴检测系统,其特征在于:所述后处理方法的改进包括diou-nms算法diou-nms算法既关注iou值,也关注两个框中心点的相对位置。8.一种非机动车头盔佩戴检测方法适用于权利要求7的一种非机动车头盔佩戴检测系统,其特征在于:所述diou-nms的具体方法为:式中si是分类置信度,ε是diou-nms阈值,m为si最大值对应的候选框,rdiou为两个框中心点的距离,其计算公式如式8所示:由于检测目标为非机动车头盔,存在检测目标数量多且重叠情况,因此,本文选择diou-nms算法进行模型的后处理。
技术总结
本发明涉及检测算法技术领域,且公开了一种非机动车头盔佩戴检测方法及系统,包括YOLOv5s系统,所述YOLOv5s系统包括Kmeans++算法聚类锚框、轻量级通用上采样算子、注意力机制和后处理方法的改进,本发明基YOLOv5进行优化,选择YOLOv5s作为改进算法;其次,引入Kmeans++算法聚类生成锚框,增强网络性能的稳定性,然后,使用CARAFE对高阶特征图进行上采样操作,增大感受野,充分利用特征语义信息;紧接着,在Backbone模块和Head端前加入CA注意力机制,提升网络对目标的定位能力,保证轻量化的同时提升精度;最后,在后处理方法上引入DIoU-NMS,这一做法能降低模型的漏检率,改善遮挡物体的检测能力。遮挡物体的检测能力。遮挡物体的检测能力。
技术研发人员:张子涵 袁栋 黄近达 王智明 岳郅力 王名轩
受保护的技术使用者:河海大学
技术研发日:2023.04.10
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
