一种复杂场景下的安全帽佩戴检测方法

文档序号:29856161发布日期:2022-04-30 09:25阅读:267来源:国知局
一种复杂场景下的安全帽佩戴检测方法

1.本发明涉及深度学习和目标检测技术领域,特别是涉及一种基于多尺度特征的安全帽佩戴检测方法及其应用。


背景技术:

2.随着城市化的发展,地铁等大量的基础设施需要建设,施工现场的安全问题引起人们越来越多的关注。安全帽则是减轻工人在自身跌落或者受到坠物撞击时受到伤害的有效个人防护用品之一,而且在施工现场佩戴安全帽是全世界的法定要求。然而,由于佩戴安全帽带来的不适和工人安全意识的淡薄,工人往往会不自觉地摘下安全帽。因此,长时地检测工人是否正确佩戴安全帽,对其安全生产至关重要,可以提高安全管理水平。传统的施工现场安全帽佩戴检查主要包括监控图像检查和人工巡逻检查。后者需要大量的时间和劳力,而人工监控视频要求检查员长时间盯着屏幕,可能会因为疲劳而造成误判。在这一背景下,借助传感器和图像分析技术来检测建筑工地工人安全帽佩戴状况的新技术得到迅速发展。
3.多种传感器被用于安全帽佩戴检测,如颏带传感器,三轴加速计传感器,射频识别和压力传感器。然而,这些方法不仅增加了检测的投资,而且工人会将这些传感器视为对自己的侵犯。因此,由于隐私和健康问题,工人们往往不愿意戴装有上述传感器的安全帽。因此,非侵入式的方法更容易被接受,一种常见的方法是用图像传感器来检测施工现场的安全帽佩戴状况。许多图像分析算法已经被提出来用于检测目标,如高斯混合模型、方向梯度直方图和支持向量机。这些算法也被用于安全帽检测,如利用肤色和hu矩来识别头盔,利用方向梯度直方图检测工人,然后通过颜色和霍夫圆检测完成安全帽检测,或者利用支持向量机对工人安全帽佩戴状况进行分类。然而,以上传统的检测方法都有其缺点。高斯混合模型不能准确地区分前景类别,手工设计特征的如颜色和方向梯度直方图等难以有效地捕捉高层次和中层次特征。因此,基于这些方法的检测器泛化能力较差,难以在实际工程中应用。
4.随着计算机技术的发展,gpu在大规模并行计算中的应用使得训练大型深层神经网络成为可能。在目标检测领域,人们发展了一系列基于深度学习的方法,其中卷积神经网络由于其在高层特征提取中的优越性而成为最常用的方法。因此,它们逐渐取代了图像分析中的传统检测方法。一般来说,基于卷积神经网络的目标检测方法可以分为两类。一种是基于区域的两步检测器,如r-cnn、fast r-cnn、faster r-cnn等,另一种是基于回归的单步检测器如yolo、ssd、retinalnet等。一般情况下,与两步检测器相比,单步检测器拥有更高的检测速度但其准确度较低。如何兼顾速度和准确度是利用深度学习目标检测算法对安全帽佩戴进行检测时需要考虑的问题。
5.同时在地铁施工现场进行安全帽检测会遇到诸如尺度变换、透视畸变、小目标因素等挑战。如与摄像头距离不同会造成画面上需要被检测的个体在尺寸上的差异;某些场景施工人员密集,会出现互相遮挡的情况;由于条件限制,摄像头需要放置在离工地较远的
地方,这会导致画面上个体尺寸较小;同时,有些施工场地背景复杂,也会影响安全帽佩戴的检测。这些场景的存在大大限制了检测算法的性能。
6.本发明拟通过四个检测尺度增大目标检测算法的可检测范围来应对画面上目标的尺寸差异,同时在图像一个区域中生成更多合理的预测框以包含尽可能多的目标来应对遮挡带来的漏检;针对小目标,一方面引入注意力机制让算法关注图像上的重点区域,另一方面让算法的第四个检测尺度尽可能拥有更大的感受野,专门针对小目标检测;最后通过数据扩充和迁移学习来提高网络的泛化能力以应对复杂的背景。在模型取得较好的检测结果后,本发明拟利用步态识别的方法确定未佩戴安全帽人员的身份。


技术实现要素:

7.本发明针对单步目标检测器速度快而准确度较低的特点,提出利用多尺度特征进行检测的方法,实现安全帽佩戴状况的准确快速检测以及未佩戴安全帽人员的身份确认,本发明具体步骤如下:
8.步骤a,根据复杂场景下检测目标在画面中尺寸变化大的特点,设计安全帽检测的四个特征尺度;
9.在yolo v5网络检测颈部和头部的基础上增加感受野更小的第四个检测尺度,增强对小目标的检测效果,增加后四个检测尺度分别为13
×
13,26
×
26,52
×
52,104
×
104,相比于原来的三个尺度具有更大的尺度检测范围;
10.yolo v5训练时,其边界框回归的目标函数与真实值b
gt
和预测值b有关,其计算如公式(1)所示,
[0011][0012]
其中d为真实值的中心c
gt
和预测框的中心c之间的距离,l为真实值和预测框最小外接矩形的对角线长度,iou为两个矩形框的交并比,其计算如公式(2)所示,
[0013][0014]
α为权重参数,其定义如公式(3)所示,
[0015][0016]
v为纵横比一致性,根据真实值和预测框的宽w
gt
,w和高h
gt
,h计算,如公式(4)所示,
[0017][0018]
根据损失函数计算公式可以确定生成更多合适的预测框能够提升网络的训练效果;
[0019]
步骤b,在yolo v5骨干网络中引入注意力机制,设计改进后的yolo v5网络,减少低层有效信息提取到高层时的损失;
[0020]
引入第四个检测尺度会导致网络层数加深,低层信息向高层信息传递时会产生损失,因此引入注意力机制减少信息损失,提高传输效率,同时使网络可以注意到图像中的小目标;
[0021]
对于卷积映射f
tr
:x

u,x∈rh′×w′×c′
,u∈rh×w×c,vc表示第c个卷积核,那么输出u=[u1,u2,

,uc],如式(5)所示,
[0022]
uc=vc*x
ꢀꢀꢀ
(5)
[0023]
引入的注意力机制包括挤压操作和激发操作,挤压操作将一个通道的空间特征编码为一个全局特征,采用全局平均池化实现,如公式(6)所示,
[0024][0025]
而激发操作采取sigmoid(σ)激活函数如式(7)所示,
[0026]
s=f
ex
(z,w)=σ(g(z,w))=σ(w2δ(w1z))
ꢀꢀꢀ
(7)
[0027]
其中δ为relu激活函数,r为降维比例;最后将学习到的各通道权重赋予原始特征得到最后输出如公式(8)所示,
[0028]
x=s
·uꢀꢀꢀ
(8)
[0029]
注意力机制让模型更加关注信息量最大的通道特征,抑制不重要的通道特征,本发明引入了2个se模块,引入位置为骨干网络中第二个和第三个卷积拼接操作前;
[0030]
步骤c,从精度和速度两方面设计评价指标评价检测效果,对检测效果较差的类别进行针对性数据扩充和cutmix数据增强;
[0031]
为了对比模型改进带来的提升,将改进后的模型和改进前的模型在同一训练集和测试集上进行训练和测试,并从精度和速度两个方向进行评估,在精度方面计算指标精确率(precision),召回率(recall)并绘制pr曲线,计算平均精度均值(map),其计算公式如公式(9),公式(10)和公式(11)所示,
[0032][0033][0034][0035]
其中真正(tp)是被模型正确预测的目标数目,假正(fn)是将其它物体错误的预测为目标的数目,假负(fn)为没有被模型正确预测出的真值的数量;n为类别数目,对于每一类,平均精度(api)为相应pr曲线下的面积;在速度方面则以在相同测试集上的平均检测时间为指标;评估完成后对检测效果较差的类别进行针对性数据扩充和cutmix数据增强;
[0036]
令x∈rw×h×c和y分别代表训练目标和其标签,则对于a和b两张图片cutmix数据增强操作如公式(12)和公式(13)所示,
[0037][0038][0039]
其中m∈{0,1}w×h为一个由0和1标记的掩码矩阵,其与图像尺寸一致,0为需要裁剪的区域,1为需要保留的区域;

为逐元素相乘,λ为服从(0,1)的均匀分布;
[0040]
数据增强操作可以使模型专注于目标较难区分的特征,提高训练效率;
[0041]
步骤d,基于改进后的yolo v5,迁移学习其骨干网络cspdarknet53模型的特征提取能力,实现复杂场景下的安全帽识别;
[0042]
在改进后的模型可以在安全帽检测数据集上取得较好的结果后,迁移学习其他相
似检测任务的模型可以进一步提升安全帽检测模型的泛化能力,
[0043]
迁移学习一般化定义如下:
[0044]
条件:给定一个源域ds和源域上的学习任务ts,目标域d
t
和目标域上的学习任务t
t
[0045]
目标:利用ds和ts学习目标域上的预测函数f(
·
)
[0046]
限制条件:ds≠d
t
,ts≠t
t
[0047]
本发明迁移学习在ms coco等大型数据集上进行初步训练并完成相应检测任务的骨干网络cspdarknet53,冻结其所有的卷积层以及分类前的全连接层,并移植到改进后的模型中,在步骤c增强的数据集上重新进行训练,得到利用多尺度特征的安全帽佩戴检测模型,在施工现场对工人进行安全帽佩戴状态检测,输出检测结果,结果有两类,未佩戴安全帽(person),佩戴安全帽(hat);
[0048]
步骤e,基于改进后的yolo v5的检测结果,设计步态识别算法模块,实现未佩戴安全帽人员的身份识别:
[0049]
为了减少计算量,仅对person类检测结果采取步态识别,对于检测框的左上角坐标(x1,y1)和右下角坐标(x2,y2),可以通过计算出头部的宽度和高度推断出未佩戴安全帽的人体边界框,如公式(14)-(19)所示,
[0050]
h=y
2-y1ꢀꢀꢀ
(14)
[0051]
w=x
2-x1ꢀꢀꢀ
(15)
[0052]
x3=max(0,x
1-2
×
w)
ꢀꢀꢀ
(16)
[0053]
y3=min(0,y
1-h)
ꢀꢀꢀ
(17)
[0054]
x4=min(width,x2+2
×
w)
ꢀꢀꢀ
(18)
[0055]
y4=min(height,y2+5
×
h)
ꢀꢀꢀ
(19)
[0056]
其中width和height为图片的宽和高,(x3,y3),(x4,y4)为人体边界框的左上角和右下角坐标;在边界框里利用hrnet提取17个骨架关键点,并将其组成的骨架关键点步态序列输入到步态识别网络gaitgraph中进行识别;
[0057]
人体的骨架图可以在结构上可以被表示为g=(v,ε),其中v={v1,

,vn}为表示关节的n个节点的集合,ε表示由邻接矩阵表示的骨骼的边的集合,邻接矩阵可表示为a∈rn×n,当vi到vj有边连接时,a
i,j
=1,否则a
i,j
=0,因为g为非定向的,所以a为对称矩阵;
[0058]
人体的步态在特征上可以被表示为x={x
t,n
∈rc|t,n∈z,1≤t≤t,1≤n≤n},对于一个特征张量x∈r
t
×n×c,其中x
t,n
=x
t,n
为节点vn在时间t的c维特征向量,总共有t帧,x
t
∈rn×c为时间t时,姿态特征x在c维为对应的2d坐标及其置信度,n为节点的数量;
[0059]
因此,网络l层的可学习权重矩阵可以表示为其在时间t可被用于特征的图卷积神经网络层更新计算如下:
[0060][0061]
其中为加上了单位矩阵以保证节点自身特征的骨架图,为的对角矩阵,σ(
·
)为激活函数;
[0062]
本发明的步态识别网络由resgcn模块组成,该模块由一个图卷积、一个普通的时域二维卷积和带有瓶颈结构的残差连接组成;整个网络由多个resgcn模块按顺序排列组成,输出层由一个平均池化层和一个产生特征向量的全连接层组成,使用监督对比损失作
为损失函数,网络最终输出结果为识别目标对应的编码及其对应的特征向量。
[0063]
本发明的基于多尺度特征的工人安全帽佩戴检测方法,与现有技术相比,具有以下优点:
[0064]
1.从网络的不同层提取特征进行拼接融合,从多个尺度对目标进行检测使其在进行安全帽佩戴检测时对多个尺度的目标均具有较好的检测性能,克服了以往安全帽佩戴检测算法无法同时兼顾多尺度目标检测的缺点。
[0065]
2.在网络进行特征拼接前引入了注意力机制,减少因为网络层数加深造成的信息损失,将更多有效的底层特征信息与高层拼接融合,用于提高安全帽佩戴检测效果。
[0066]
3.在进行针对性数据扩充时不再需要各类别数目大致相同,实验结果证明模型在各类别上的检测效果均有所提升,cspdarknet53模型迁移学习的成功证明了在ms coco数据集上的预训练模型在安全帽佩戴检测任务上的有效性。与其他检测方法相比,缓解了安全帽数据集不充足的问题,在一定程度上缓解了数据集的标注工作。
[0067]
4.基于安全帽佩戴状态的检测结果,设计了针对未佩戴安全帽人员的步态识别模块,在检测出存在未佩戴安全帽人员后可以进一步确定其身份,准确提醒到个人,进一步完善了基于深度学习的安全帽佩戴检测框架。
附图说明
[0068]
图1为本发明中yolo v5训练时损失函数计算示意图;
[0069]
图2为本发明改进的yolo v5网络模型图,其中改进部分已用红色虚线标出,backbone处的标记为注意力机制的引入,neck和prediction中的标记为增加第四个检测尺度。
[0070]
图3为本发明中基于多尺度特征进行安全帽佩戴检测的流程图。
具体实施方式
[0071]
下面结合附图以及具体实施方式对本发明作进一步详细说明:
[0072]
实施例1
[0073]
一种复杂场景下的安全帽佩戴检测方法,包括以下步骤:
[0074]
步骤a,根据复杂场景下检测目标在画面中尺寸变化大的特点,设计安全帽检测的四个特征尺度;
[0075]
在yolo v5网络检测颈部和头部的基础上增加感受野更小的第四个检测尺度,增强对小目标的检测效果,增加后四个检测尺度分别为13
×
13,26
×
26,52
×
52,104
×
104,相比于原来的三个尺度具有更大的尺度检测范围;
[0076]
yolo v5训练时,其边界框回归的目标函数与真实值b
gt
和预测值b有关,其计算如公式(1)所示,
[0077][0078]
其中d为真实值的中心c
gt
和预测框的中心c之间的距离,l为真实值和预测框最小外接矩形的对角线长度,iou为两个矩形框的交并比,其计算如公式(2)所示,
[0079]
[0080]
α为权重参数,其定义如公式(3)所示,
[0081][0082]
v为纵横比一致性,根据真实值和预测框的宽w
gt
,w和高h
gt
,h计算,如公式(4)所示,
[0083][0084]
根据损失函数计算公式可以确定生成更多合适的预测框能够提升网络的训练效果;
[0085]
步骤b,在yolo v5骨干网络中引入注意力机制,设计改进后的yolo v5网络,减少低层有效信息提取到高层时的损失;
[0086]
引入第四个检测尺度会导致网络层数加深,低层信息向高层信息传递时会产生损失,因此引入注意力机制减少信息损失,提高传输效率,同时使网络可以注意到图像中的小目标;
[0087]
对于卷积映射f
tr
:x

u,x∈rh′×w′×c′
,u∈rh×w×c,vc表示第c个卷积核,那么输出u=[u1,u2,

,uc],如式(5)所示,
[0088]
uc=vc*x
ꢀꢀꢀ
(5)
[0089]
引入的注意力机制包括挤压操作和激发操作,挤压操作将一个通道的空间特征编码为一个全局特征,采用全局平均池化实现,如公式(6)所示,
[0090][0091]
而激发操作采取sigmoid(σ)激活函数如式(7)所示,
[0092]
s=f
ex
(z,w)=σ(g(z,w))=σ(w2δ(w1z))
ꢀꢀꢀ
(7)
[0093]
其中δ为relu激活函数,r为降维比例;最后将学习到的各通道权重赋予原始特征得到最后输出如公式(8)所示,
[0094]
x=s
·uꢀꢀꢀ
(8)
[0095]
注意力机制让模型更加关注信息量最大的通道特征,抑制不重要的通道特征,本发明引入了2个se模块,引入位置为骨干网络中第二个和第三个卷积拼接操作前;
[0096]
步骤c,从精度和速度两方面设计评价指标评价检测效果,对检测效果较差的类别进行针对性数据扩充和cutmix数据增强;
[0097]
为了对比模型改进带来的提升,将改进后的模型和改进前的模型在同一训练集和测试集上进行训练和测试,并从精度和速度两个方向进行评估,在精度方面计算指标精确率(precision),召回率(recall)并绘制pr曲线,计算平均精度均值(map),其计算公式如公式(9),公式(10)和公式(11)所示,
[0098][0099][0100][0101]
其中真正(tp)是被模型正确预测的目标数目,假正(fn)是将其它物体错误的预测
为目标的数目,假负(fn)为没有被模型正确预测出的真值的数量;n为类别数目,对于每一类,平均精度(api)为相应pr曲线下的面积;在速度方面则以在相同测试集上的平均检测时间为指标;评估完成后对检测效果较差的类别进行针对性数据扩充和cutmix数据增强;
[0102]
令x∈rw×h×c和y分别代表训练目标和其标签,则对于a和b两张图片cutmix数据增强操作如公式(12)和公式(13)所示,
[0103][0104][0105]
其中m∈{0,1}w×h为一个由0和1标记的掩码矩阵,其与图像尺寸一致,0为需要裁剪的区域,1为需要保留的区域;

为逐元素相乘,λ为服从(0,1)的均匀分布;
[0106]
数据增强操作可以使模型专注于目标较难区分的特征,提高训练效率;
[0107]
步骤d,基于改进后的yolo v5,迁移学习其骨干网络cspdarknet53模型的特征提取能力,实现复杂场景下的安全帽识别;
[0108]
在改进后的模型可以在安全帽检测数据集上取得较好的结果后,迁移学习其他相似检测任务的模型可以进一步提升安全帽检测模型的泛化能力,
[0109]
迁移学习一般化定义如下:
[0110]
条件:给定一个源域ds和源域上的学习任务ts,目标域d
t
和目标域上的学习任务t
t
[0111]
目标:利用ds和ts学习目标域上的预测函数f(
·
)
[0112]
限制条件:ds≠d
t
,ts≠t
t
[0113]
本发明迁移学习在ms coco等大型数据集上进行初步训练并完成相应检测任务的骨干网络cspdarknet53,冻结其所有的卷积层以及分类前的全连接层,并移植到改进后的模型中,在步骤c增强的数据集上重新进行训练,得到利用多尺度特征的安全帽佩戴检测模型,在施工现场对工人进行安全帽佩戴状态检测,输出检测结果,结果有两类,未佩戴安全帽(person),佩戴安全帽(hat);
[0114]
步骤e,基于改进后的yolo v5的检测结果,设计步态识别算法模块,实现未佩戴安全帽人员的身份识别:
[0115]
为了减少计算量,仅对person类检测结果采取步态识别,对于检测框的左上角坐标(x1,y1)和右下角坐标(x2,y2),可以通过计算出头部的宽度和高度推断出未佩戴安全帽的人体边界框,如公式(14)-(19)所示,
[0116]
h=y
2-y1ꢀꢀꢀ
(14)
[0117]
w=x
2-x1ꢀꢀꢀ
(15)
[0118]
x3=max(0,x
1-2
×
w)
ꢀꢀꢀ
(16)
[0119]
y3=min(0,y
1-h)
ꢀꢀꢀ
(17)
[0120]
x4=min(width,x2+2
×
w)
ꢀꢀꢀ
(18)
[0121]
y4=min(height,y2+5
×
h)
ꢀꢀꢀ
(19)
[0122]
其中width和height为图片的宽和高,(x3,y3),(x4,y4)为人体边界框的左上角和右下角坐标;在边界框里利用hrnet提取17个骨架关键点,并将其组成的骨架关键点步态序列输入到步态识别网络gaitgraph中进行识别;
[0123]
人体的骨架图可以在结构上可以被表示为g=(v,ε),其中v={v1,

,vn}为表示关节的n个节点的集合,ε表示由邻接矩阵表示的骨骼的边的集合,邻接矩阵可表示为a∈rn×n,
当vi到vj有边连接时,a
i,j
=1,否则a
i,j
=0,因为g为非定向的,所以a为对称矩阵;
[0124]
人体的步态在特征上可以被表示为x={x
t,n
∈rc|t,n∈z,1≤t≤t,1≤n≤n},对于一个特征张量x∈r
t
×n×c,其中x
t,n
=x
t,n
为节点vn在时间t的c维特征向量,总共有t帧,x
t
∈rn×c为时间t时,姿态特征x在c维为对应的2d坐标及其置信度,n为节点的数量;
[0125]
因此,网络l层的可学习权重矩阵可以表示为其在时间t可被用于特征的图卷积神经网络层更新计算如下:
[0126][0127]
其中为加上了单位矩阵以保证节点自身特征的骨架图,为的对角矩阵,σ(
·
)为激活函数;
[0128]
本发明的步态识别网络由resgcn模块组成,该模块由一个图卷积、一个普通的时域二维卷积和带有瓶颈结构的残差连接组成;整个网络由多个resgcn模块按顺序排列组成,输出层由一个平均池化层和一个产生特征向量的全连接层组成,使用监督对比损失作为损失函数,网络最终输出结果为识别目标对应的编码及其对应的特征向量。
[0129]
实施例2
[0130]
本实施例采用网络开源安全帽数据集safety-helmet-wearing-dataset以及数据扩充图片,针对性数据扩充(da)前,共包括9047个佩戴安全帽的正类hat和9082个未佩戴安全帽的负类person,分别将两个类别按照8:2的比例随机划分成训练集和测试集对网络进行训练和测试,针对性数据扩充后,person类个数增长至35531个,测试集保持不变。为了验证本发明提出的改动的有效性,在本实施例中,原始yolo v5网络被选为基线,依次增加第四个检测尺度(fs),引入注意力机制(sb),针对性数据扩充(da),迁移学习(pt),在同一个测试集上进行测试,从精度和速度两方面对模型进行评估,实验环境如表1所示,得到实验结果如表2所示。
[0131]
表1实验环境
[0132][0133]
表2实验结果
[0134][0135]
进行对比分析可知,相较于基线,本发明提出的每一步网络改进方法均可以带来
较明显的精度提升,最终对佩戴安全帽的ap达到了92.6%,对未佩戴安全帽的ap达到了91.7%,整体map达到了92.2%,在测试集上平均仅需3ms即可完成对一张图片进行检测,满足实时性要求。
[0136]
对于步态识别模块,采用了自制数据集进行测试,数据集包括10个施工场景下的123个经过提前建模的目标,共有1230个视频,每个视频均包括佩戴安全帽的人和未佩戴安全帽的人,测试要求算法识别出其中未佩戴安全帽的人并识别出其身份,实验平台不变,最终在1230个视频中成功识别出1109个视频中未佩戴安全帽人员的身份,准确率达到90.2%。分别平均需要6.1ms和0.08ms对安全帽检测结果进行骨架提取和步态识别,即平均一帧处理的时间为9.18ms,满足实时性要求
[0137]
综上所述,本发明的基于多尺度特征的安全帽佩戴检测方法解决了施工现场目标尺度变换的问题并满足实时性要求,提出的数据扩充方法表明了在某些情况下可以不考虑样本类别的均衡性,基于cspdarknet53模型的迁移学习证明了在ms coco等大型数据集上的预训练模型可以迁移到安全帽佩戴检测中,提升了算法的性能,缓解了数据不充分的问题,避免了需要标注大量数据集的缺点,基于安全帽佩戴检测结果设计的步态识别可以有效的识别出未佩戴安全帽人员的身份,实现及时准确地提醒。
[0138]
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1