一种基于改进YOLOv5的化工厂安全标志检测的方法
未命名
09-07
阅读:190
评论:0
一种基于改进yolov5的化工厂安全标志检测的方法
技术领域
1.本发明属于目标检测领域,涉及一种基于改进yolov5的化工厂安全标志检测的方法。
背景技术:
2.目标检测是计算机视觉领域中的重要任务,它的目标是通过分析图像并识别其中的物体,从而实现对图像内容的理解和抽象。在目标检测任务中,双阶段和单阶段是两种不同的目标检测方法。双阶段目标检测方法将目标检测任务分成两个阶段:提取区域和分类检测。在第一个阶段中,通过一些算法从图像中提取一些候选区域,这些候选区域是可能包含物体的区域。在第二个阶段中,常常采用一些分类器(如卷积神经网络),根据提取的候选区域来对图像中的物体进行分类和定位。相比较而言,单阶段目标检测方法直接对整个图像进行物体检测和定位。这种算法通常采用卷积神经网络(如ssd、yolo、retinanet等),直接在一个网络中完成分类和定位任务。总而言之,双阶段方法的优势在于准确性高,但计算量较大,而且速度较慢,适用于对精度有要求的场景;单阶段方法的优势在于检测速度快,但精度相对较低,适用于实时检测的场景。
3.随着化工厂的发展和扩展,化工安全管理日益重要。安全标志是化工生产中不可或缺的重要组成部分之一。在化工厂内,各种区域会设置对应的安全标志,比如在电力设备较多的区域设置当心触电标志,在有易燃易爆物品的区域设置禁止烟火标志,在空间狭小的区域设置有限空间禁止入内的标志,在危险器械较多的区域设置当心机械伤人标志,以便于日常管理,当出现事故时,如局部区域火灾事故,由于救援人员对化工厂现场不熟悉,容易误入空间狭小或易燃易爆区域,造成危险,为保障救援人员的安全,设计了本发明来避免事故的发生。
技术实现要素:
4.本发明针对无人机在化工厂中对环境中的安全标志能否正确的识别使得发生事故时能够减少人员伤亡,保障救援人员的安全,提出了一种基于改进yolov5的化工厂安全标志检测的方法。本发明可以对化工厂的安全标志进行快速准确的识别。一种基于改进yolov5的化工厂安全标志检测的方法,技术方案如下:
5.(1)拍摄数据集,前往化工厂内部,在化工厂内部的车间拍摄有关安全标志识别的数据集;
6.(2)对数据集进行处理,得到能够进行训练的数据集;
7.(3)改进网络,使用k-means++聚类算法计算出适合该模型的锚框,并将原模型的九个锚框替换成新得到的九个锚框。加入轻量级上采样算子carafe,损失函数采用focal-eiou loss代替原模型的ciou loss;
8.(4)训练网络,将步骤(3)改进好的网络进行训练,并保存训练好的结果。用训练好的模型对化工厂内的安全标志进行检测;
9.进一步的所述,步骤(1)包括以下步骤:
10.前往化工厂拍摄有关安全标志的数据集,在化工厂将相机放置在固定机位,以此模仿工厂使用无人机的摄像头对厂内的安全标志进行识别。拍摄时分别拍摄白天车间内安全标志的图片和夜晚开灯环境下车间内安全标志的图片。拍摄结束后,检查获得的数据集,删除特别不清晰和不含有需要检测的安全标志的图片。
11.进一步的所述,步骤(2)中包括以下步骤:
12.使用脚本对文件夹里的图片进行编号,对编完号的图片使用labelimg标注工具进行图片的标注,在本模型中准备了四种安全标志来进行识别,包括有限空间禁止入内(confined space),当心机械伤人(beware of machinery injuries),当心电机严禁烟火(no smoking)和当心触电(electric shock carefully)。将以上图片标注生成xml文件,然后使用python脚本将xml文件转为yolov5模型可以识别的txt文件。最后使用python脚本将数据集划分为训练集、测试集和验证集,比例为8:1:1。
13.进一步的所述,步骤(3)中包括以下步骤:
14.(3-1)使用k-means++聚类算法计算出适合该模型的锚框,并将原模型的九个锚框替换成新得到的九个锚框。
15.(3-2)加入轻量级上采样算子carafe,yolov5原模型使用的最邻近插值或者常用的双线性插值没有利用特征图的语义信息,仅采用像素点的空间位置来确定了上采样内核,感知域非常小,而carafe能在更大的感知领域聚合上下文信息,并且重量轻,计算速度快。
16.(3-3)本模型的损失函数采用focal-eiou loss代替原模型的ciou loss,由于质量较差的锚框会产生较大的梯度,影响训练过程,focal-eiou loss从梯度的角度出发,将质量比较高的锚框和质量比较低的锚框区分开来,加速了收敛,提高了回归的精度。focal-eiou loss的计算公式为:
[0017][0018]
c2=(wc)2+(hc)2[0019][0020][0021]
l
focal-eiou
=iou
γ
l
eiou
[0022]
其中,b和b
gt
分别为物体的预测框和目标框中心点的坐标,w和w
gt
分别为物体的预测框的宽度和目标框的宽度,h和h
gt
分别为物体的预测框的高度和目标框的高度,wc和hc分别为物体的预测边界框和物体目标框能够组成的最小外接矩形的宽度与高度,ρ2(b,b
gt
)代表物体的预测边界框和物体目标框中心点的坐标的欧氏距离的平方,ρ2(w,w
gt
)代表预测物体的预测边界框和物体目标框的宽度的差值的平方,ρ2(h,h
gt
)代表物体的预测边界框和物体目标框的高度的差值的平方。γ是用来控制曲线弧度的超参,γ=0.5时可以使得模型达到最佳权衡。
[0023]
进一步的所述,步骤(4)中包括以下步骤:
[0024]
网络模型改好之后,将改进的网络进行训练,保存模型训练完之后的权重文件和
全局平均精度(map)。和原模型训练完得到的map值相比较,map值从0.965上升到了0.995。和原模型训练后的精度相比较,精度由0.949上升到了0.984。和原模型训练后的召回率相比较,召回率由0.958上升到了0.981。用改进后的模型检测化工厂内的安全标志,识别精度与原模型相比有大幅度提升,误识率也比原模型降低了很多。
[0025]
本发明具有如下优势:
[0026]
(1)采集数据集时分为白天采集和晚上在灯光下采集使得模型在不同环境下都能有更出色的识别能力。
[0027]
(2)通过加入轻量级上采样算子carafe使得模型的检测精度有一定提升并且能在复杂的环境中精确的检测到安全标志。
[0028]
(3)采用focal-eiou loss代替原模型的ciou loss,加速了收敛,提高了回归的精度。并且与eiou loss相比,训练后的精度也有大幅提升。
[0029]
(4)使用k-means++聚类算法计算出适合该模型的锚框能够提高此模型的识别效率和识别精度。
[0030]
(5)将此网络应用到化工厂中可以对化工厂进行更安全有效的管理。应用到无人机中可以采用无人机对事故场景进行勘察,能够使得救援人员不进入危险场景从而有效的避免人员的伤亡。
附图说明
[0031]
图1为一种基于改进yolov5的化工厂安全标志检测的方法流程图;
[0032]
图2为一种基于改进yolov5的化工厂安全标志检测的方法的网络框架简图;
[0033]
图3为原网络的化工厂安全标志识别的效果图一;
[0034]
图4为改进yolov5网络的安全标志识别方法的效果图一;
[0035]
图5为原网络的化工厂安全标志识别的效果图二;
[0036]
图6为改进yolov5网络的安全标志识别方法的效果图二;
具体实施方式
[0037]
为使本发明的技术方案更加清楚,下面结合附图对本发明做进一步阐述。如图1所示,本发明按以下具体步骤实现:
[0038]
第一步,拍摄安全标志的数据集。
[0039]
前往化工厂拍摄有关安全标志的数据集,在化工厂将相机放置在固定机位,以此模仿工厂使用无人机的摄像头对厂内的安全标志进行识别。拍摄时分别拍摄白天车间内安全标志的图片和夜晚开灯环境下车间内安全标志的图片。拍摄结束后,检查获得的数据集,删除特别不清晰和不含有需要检测的安全标志的图片。
[0040]
第二步,对第一步拍摄好的数据集进行处理。
[0041]
使用脚本对文件夹里的图片进行编号,对编完号的图片使用labelimg标注工具进行图片的标注,在本模型中准备了四种安全标志来进行识别,包括有限空间禁止入内(confined space),当心机械伤人(beware of machinery injuries),当心电机严禁烟火(no smoking)和当心触电(electric shock carefully)。将以上图片标注生成xml文件并将xml文件放在annotations文件夹中,然后使用python脚本将xml文件转为yolov5模型可
以识别的txt文件,txt文件放在labels文件夹中,最后使用python脚本将数据集划分为训练集、测试集和验证集,比例为8:1:1,生成按比例随机分配数据集的train.txt、test.txt、val.txt文件,并在imagesets文件夹中生成以上数据集中图片的路径,以方便模型对图片进行读取。
[0042]
第三步,对yolov5网络进行改进。
[0043]
(3-1)使用k-means++聚类算法计算出适合该模型的锚框,并将原模型的九个锚框替换成新得到的九个锚框。k-means++算法是一种改进的k-means聚类算法,这种算法简单、快速,特别适合在常规数据集上使用,它是一种避免在使用k-means算法时会有时出现较弱聚类的方法。它通过一种智能化的初始化方法来提高聚类结果的准确性。k-means++算法的步骤如下:
[0044]
1.从输入数据集中随机选择一个样本点作为第一个聚类中心。
[0045]
2.对于剩余的每个样本点,计算它到已选择的每个聚类中心的最短距离。
[0046]
3.选择一个新的聚类中心,使它被选择的概率与其到已选择的聚类中心的最短距离的平方成正比。
[0047]
4.重复步骤2和3,直到选择了k个聚类中心。
[0048]
5.用所选的k个聚类中心运行标准的k-means聚类算法。
[0049]
这种智能化的初始化方法可以使算法更容易避免局部最优解,从而提高聚类结果的准确性。
[0050]
(3-2)加入轻量级上采样算子carafe,yolov5原模型使用的最邻近插值或者常用的双线性插值没有利用特征图的语义信息,仅采用像素点的空间位置来确定了上采样内核,感知域非常小,而carafe能在更大的感知领域聚合上下文信息,并且重量轻,计算速度快。在图像分类、目标检测等任务中,carafe可以显著提高模型的性能和精度,具有广泛的应用价值。
[0051]
(3-3)本模型采用focal-eiou loss代替原模型的ciou loss,由于质量较差的锚框会产生较大的梯度,影响训练过程,focal-eiou loss从梯度的角度出发,将质量比较高的锚框和质量比较低的锚框区分开来,加速了收敛,提高了回归的精度。使用focal-eiou loss在其他条件不变的情况下与eiou loss训练后得到的精度参数相比较,提升了4.3%,使用focal-eiou loss在其他条件不变的情况下与ciou loss训练后得到的精度参数相比,提升了3.5%,focal-eiou loss的计算公式为:
[0052][0053]
c2=(wc)2+(hc)2[0054][0055][0056]
l
focal-eiou
=iou
γ
l
eiou
[0057]
其中,b和b
gt
分别为物体的预测框和目标框中心点的坐标,w和w
gt
分别为物体的预测框的宽度和目标框的宽度,h和h
gt
分别为物体的预测框的高度和目标框的高度,wc和hc分别为物体的预测边界框和物体目标框能够组成的最小外接矩形的宽度与高度,ρ2(b,b
gt
)代
表物体的预测边界框和物体目标框中心点的坐标的欧氏距离的平方,ρ2(w,w
gt
)代表预测物体的预测边界框和物体目标框的宽度的差值的平方,ρ2(h,h
gt
)代表物体的预测边界框和物体目标框的高度的差值的平方。γ是用来控制曲线弧度的超参,γ=0.5时可以使得模型达到最佳权衡。
[0058]
第四步,对改进的网络进行训练。
[0059]
网络模型改好之后,将改进的网络进行训练,保存模型训练完之后的权重文件和全局平均精度(map),并保存训练完后得到的新的权重文件,方便使用新的权重文件对安全标志进行识别。和原模型训练完得到的map值相比较,map值从0.965上升到了0.995。和原模型训练后的精度相比较,精度由0.949上升到了0.984。和原模型训练后的召回率相比较,召回率由0.958上升到了0.981。用改进后的模型检测化工厂内的安全标志,识别精度与原模型相比有大幅度提升,误识率也比原模型降低了很多。
[0060]
第五步,在无人机识别危险标志方面的应用,如图3-6所示,
[0061]
随着自动化技术的不断发展,如果工厂内发生局部火灾等事故时可以采用无人机对事故现场进行勘察,由于化工厂内机械臂和危险伤人的器械较多,并且易燃易爆的危险品比较多,如果没有通过安全标志了解化工厂内的情况就盲目对发生火灾等事故的化工厂实施救援会发生无法预计的人员伤亡情况,通过无人机拍摄事故现场的实时情况,无人机拍摄的视频可以传递到电脑上,并通过在电脑上使用该模型来识别危险场景,能够使得救援人员了解哪些区域特别危险从而在救援的时候不进入危险场景或远离危险场景,避免人员误入危险区域,从而有效保障人员的安全。
[0062]
将改进的yolov5模型部署到无人机所连接的电脑上的主要步骤有:
[0063]
(1)为电脑配置深度学习的环境,由于pytorch框架能够更好的投入生产配置,配置时为计算平台安装pytorch框架,同时安装模型所需要的各种工具包,安装完深度学习环境后对环境进行测试,保证模型部署到电脑后能够成功的运行。
[0064]
(2)将无人机摄像头连接到电脑上,测试无人机上的摄像头能否正常的使用,保证无人机拍摄的画面能够显示在电脑上,并将无人机对场景勘察录制的视频进行保存。
[0065]
(3)将模型部署到车内的计算平台上,将detect.py文件中weights模块的权重文件路径更换为已经训练好得到的best.py权重文件路径。再将detect.py文件中的source模块的路径改为步骤(2)里无人机录制好的视频的路径。
[0066]
(4)为了对比模型训练前和训练后对安全标志识别的效果,将detect.py文件中weights模块的权重文件路径分别更换为改进后的模型训练得到的best.py权重文件路径和原模型训练后得到的best.py权重文件路径,并对视频中的安全标志分别用原模型的权重文件和改进后的模型的权重文件进行识别并进行对比。
[0067]
(5)经过在化工厂内用原模型和改进后的模型对包含安全标志的视频进行识别后,发现改进的yolov5模型可以在识别安全标志时有较好的检测精度和鲁棒性,原网络与改进后的网络对同一场景的识别对比图如图3-6所示。使用时,保留改进后的yolov5模型,无人机的摄像头会获取化工厂内安全标志的图像信息,并将安全标志的信息传递电脑上,然后再将无人机录制好的视频传递至已经部署到电脑上的改进后的yolov5模型,改进后的yolov5模型会对当前的数据做出识别,并输出对安全标志的检测结果。
[0068]
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所
应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,包括以下步骤:步骤1、拍摄数据集,前往化工厂内部,在化工厂内部的车间拍摄有关安全标志识别的数据集;步骤2、对数据集进行处理,得到能够进行训练的数据集;步骤3、改进网络,使用k-means++聚类算法计算出适合该模型的锚框,并将原模型的九个锚框替换成新得到的九个锚框,加入轻量级上采样算子carafe,损失函数采用focal-eiou loss代替原模型的ciou loss;步骤4、训练网络,将步骤3改进好的网络进行训练,并保存训练好的结果,将训练好的模型部署到无人机上对发生事故的化工厂内进行检测并输出结果。2.根据权利要求书1所述的一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,在步骤1中,前往化工厂拍摄有关安全标志的数据集,在化工厂将相机放置在固定机位,以此模仿工厂使用无人机的摄像头对厂内的安全标志进行识别,拍摄时分别拍摄白天车间内安全标志的图片和夜晚开灯环境下车间内安全标志的图片,拍摄结束后,检查获得的数据集,删除特别不清晰和不含有需要检测的安全标志的图片。3.根据权利要求书1所述的一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,在步骤2中,使用脚本对文件夹里的图片进行编号,对编完号的图片使用labelimg标注工具进行图片的标注,在本模型中共准备了四种安全标志来进行识别,包括有限空间禁止入内(confined space),当心机械伤人(beware of machinery injuries),当心电机严禁烟火(no smoking)和当心触电(electric shock carefully),将以上图片标注生成xml文件,然后使用python脚本将xml文件转为yolov5模型可以识别的txt文件,最后使用python脚本将数据集划分为训练集、测试集和验证集,比例为8:1:1。4.根据权利要求书1所述的一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,在步骤3中,改进网络,改进网络包括:(3-1)使用k-means++聚类算法计算出适合该模型的锚框,并将原模型的九个锚框替换成新得到的九个锚框;(3-2)加入轻量级上采样算子carafe,yolov5原模型使用的最邻近插值或者常用的双线性插值没有利用特征图的语义信息,仅采用像素点的空间位置来确定了上采样内核,感知域非常小,而carafe能在更大的感知领域聚合上下文信息,并且重量轻,计算速度快;(3-3)本模型的损失函数采用focal-eiou loss代替原模型的ciou loss,由于质量较差的锚框会产生较大的梯度,影响训练过程,focal-eiou loss从梯度的角度出发,将质量比较高的锚框和质量比较低的锚框区分开来,加速了收敛,提高了回归的精度,focal-eiou loss的计算公式为:c2=(w
c
)2+(h
c
)
22
l
focal-eiou
=iou
γ
l
eiou
其中,b和b
gt
分别为物体的预测框和目标框中心点的坐标,w和w
gt
分别为物体的预测框的宽度和目标框的宽度,h和h
gt
分别为物体的预测框的高度和目标框的高度,w
c
和h
c
分别为物体的预测边界框和物体目标框能够组成的最小外接矩形的宽度与高度,ρ2(b,b
gt
)代表物体的预测边界框和物体目标框中心点的坐标的欧氏距离的平方,ρ2(w,w
gt
)代表预测物体的预测边界框和物体目标框的宽度的差值的平方,ρ2(h,h
gt
)代表物体的预测边界框和物体目标框的高度的差值的平方,γ是用来控制曲线弧度的超参,γ=0.5时可以使得模型达到最佳权衡。5.根据权利要求书1所述的一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,在步骤4中,包括以下步骤:训练网络,将步骤3改进好的网络进行训练,并保存训练好的结果,用训练好的模型对化工厂里面的安全标志进行识别。6.根据权利要求书1所述的一种基于改进yolov5的化工厂安全标志检测的方法,其特征在于,在发生事故的化工厂内利用无人机识别安全标志的时候,将训练好的模型部署到能够接收无人机传输的视频的电脑上,通过无人机的摄像头来识别该化工厂内的安全标志和周围环境,将摄像头获得的视频信息传输到电脑上面,电脑会保存从摄像头获取的视频信息,将视频信息传递至模型,同时模型会输出对安全标志的识别结果,并将该识别结果传递给救援人员。
技术总结
本发明公开了一种基于改进YOLOv5的化工厂安全标志检测的方法,包括以下步骤:前往化工厂实地拍摄化工厂安全标志的图片,为了使模型能在各种光线条件下都有比较好的检测性能,拍摄数据集选择了白天和光线比较阴暗的夜晚进行拍摄,数据集拍摄完后对数据集进行一些处理,来提高模型的泛化能力。对数据集进行标签的标注,每一种安全标志都标注上其对应的名称,然后再对数据集进行划分。本发明使用性能更好的K-means++聚类算法计算出更适合该模型的目标框,使用轻量级上采样算子CARAFE代替原模型的最近邻插值算法来获得更大的感知域和更多的特征图的语义信息,损失函数采用Focal-EIOU Loss代替原模型的CIOU Loss,加速了收敛,提高了回归的精度。实验结果表明,该方法在不同的场景下能够实现高效、准确的安全标志检测,与原YOLOv5模型相比,改进的YOLOv5模型的精确率、召回率、平均精度分别提高了3.5%,2.3%和3%,能够更加精确的识别安全标志,为事故现场提供方向指导。场提供方向指导。场提供方向指导。
技术研发人员:郭浩宇 赵环宇 刘伟 刘根水 赵春贵 赵延波 华尚
受保护的技术使用者:淮阴工学院
技术研发日:2023.06.07
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种蚀刻液的制备方法与流程 下一篇:一种智能焊接综合线及其使用方法与流程
