Research on the Improvement of YOLOv7 Algorithm for Industrial Safety Multi-Target Detection
Safety has always been a focal point within factory valve rooms. To prevent abnormal behaviors such as employees not wearing safety helmets, smoking within the valve room, or being distracted by phone calls from causing harm to factory equipment and personnel, target detection technology is often utilized in industrial safety scenarios for the recognition of employee abnormal behaviors, thereby ensuring the safety of industrial production. Target detection technology, as a core component of industrial safety monitoring, is particularly crucial for its application in real scenarios and the performance of algorithm recognition. To further study the human abnormal behavior recognition algorithms applied in the field of industrial production safety, this paper has conducted the following work: (1) This paper proposes a dataset of nearly 20,000 images set against the backdrop of a factory valve room, consisting of over 20,000 real surveillance photos taken in actual factory valve room settings. The dataset is divided into training (validation) and testing sets in a 4:1 ratio. To enhance the practicality of the dataset, data annotation was conducted for the 8 highest-risk abnormal behaviors and three safe behaviors, forming an 11-class labeled USDA dataset. Additionally, to improve the robustness of the model, data augmentation was applied to the USDA dataset to make it more applicable in real-world scenarios. (2) This paper introduces an improved SD-YOLOv7 model for the recognition of abnormal behaviors. In this model, the Squeeze-and-Excitation Networks (SENet) attention mechanism was first integrated into the core network Backbone. SENet introduces an innovative feature recalibration method that can automatically learn and allocate weights to each feature channel, thereby enhancing the weight of key feature channels. It automatically acquires the weights of each feature channel through self-learning, increasing the weight of important target feature channels. At the same time, deformable convolution DCNv4 is used to replace traditional convolution to better capture targets at various angles and postures, thereby strengthening the target detection capabilities of the SD-YOLOv7 model in factory monitoring under different angles. Furthermore, a weighted loss function, FA loss, was proposed that is tailored to the characteristics of the factory valve room scenario. This model was compared with traditional YOLOv7, YOLOv9, and other models on a self-built dataset of over 20,000 images. The results indicate that this model has significantly improved in recall rate and mean average precision (mAP) compared to traditional YOLOv7, YOLOv9, and other models, with the improved SD-YOLOv7 algorithm significantly enhancing the performance of the algorithm with minimal increase in complexity. Additionally, the model has been successfully deployed on edge devices and can successfully perform real-time detection for cooperative units. This study provides a highly practical dataset and an efficient target detection model for the field of industrial safety monitoring, and future work will explore its application in more actual industrial scenarios.
Factory Valve Room
近年来,随着全球工业化进程的加速,工业安全问题日益凸显,成为影响社会稳定和经济发展的重要因素。工业安全事故不仅对工人的生命安全构成直接威胁,还可能导致巨大的经济损失和环境破坏。特别是在化工、石油、采矿等高风险行业中,异常行为的发生的后果非常严重
为了应对这一挑战,各国政府和企业已经开始采取一系列措施,如制定严格的安全法规、加强安全培训、提高安全设施投入等。然而,仅仅依靠传统的安全管理措施已经难以满足日益复杂的工业环境需求。因此,利用先进的技术手段,如人工智能和深度学习,来提高工业安全监控的智能化水平,已成为行业发展的新趋势。通过引入智能化的安全监控系统,可以实时监测工人的行为,及时发现并预防异常行为的发生
目标检测是计算机视觉领域的重要研究方向之一,旨在从图像或视频中自动检测并识别出特定类别的物体目标
行为识别(Action Recognition)是计算机视觉中极其重要也非常活跃的研究方向,它已经被研究了数十年。因为人们可以用动作(行为)来处理事情、表达感情,因此行为识别有非常广泛但又未被充分解决的应用领域,例如智能监控系统、人机交互、虚拟现实、机器人等。以往的方法中都使用RGB图像序列,深度图像序列,视频或者这些模态的特定融合(例如RGB+光流),也取得了超出预期的结果
本文提出了一种改进版的YOLOv7算法SD-YOLOv7,在自建数据集上进行实验,结果显示本模型在检测工厂阀室内工人未佩戴安全帽、未着劳保服装等异常行为方面,SD-YOLOv7与基线模型相比性能有明显提升。
YOLOv7是YOLO系列中最先进的新型目标检测器
卷积神经网络(Convolutional Neural Networks, CNNs)是深度学习领域中一种具有革命性意义的网络结构,它在图像识别、视频分析和自然语言处理等多个领域均取得了卓越的成就
卷积层是CNN的核心组件,它通过卷积运算提取输入数据的局部特征。在数学上,卷积可以定义为两个函数(卷积核和输入信号)的积分或求和。在CNN中,卷积核是一个小的权重矩阵,它在输入数据(如图像)上滑动,计算核与输入数据局部区域的点积,从而生成特征图(feature map)。这个过程可以表示为:
(2.1)
其中,f是输入信号,g是卷积核, 表示卷积运算,t是卷积核滑动的位置。卷积操作的优势在于它能够捕捉输入数据的空间相关性,同时通过共享卷积核的权重实现参数共享,这大大减少了模型的复杂度。此外,卷积层通常伴随着非线性激活函数(如ReLU),以增强模型的表达能力。
池化层(Pooling Layer)是CNN中的另一个关键组件,它负责降低特征图的空间维度,从而减少计算量和防止过拟合。最常见的池化操作是最大池化(Max Pooling)和平均池化(Average Pooling)。池化层通过在特征图上滑动一个固定大小的窗口,并提取窗口内的最大值或平均值作为输出,实现下采样。这一过程不仅减少了数据的空间尺寸,还保留了重要的特征信息。CNN通常由多个卷积层和池化层交替堆叠而成,形成深度网络结构。在网络的深层,低级特征(如边缘和纹理)逐渐被组合成更高级的语义特征(如物体的部分和整体结构)。这种层次化的特征表示不仅符合人类视觉系统的工作原理,而且能够有效地处理图像中的平移、旋转和缩放变化。
在CNN的末端,全连接层(Fully Connected Layer)将前面层次结构中提取的特征映射到最终的输出,如分类标签。全连接层的每个神经元与前一层的所有激活值相连,通过学习权重和偏置,实现从特征空间到输出空间的映射。在多分类问题中,通常在全连接层后接一个softmax层,它将网络输出转换为概率分布,从而进行类别预测。CNN的训练涉及前向传播和反向传播两个过程。在前向传播中,输入数据通过网络,生成输出;在反向传播中,根据输出与真实标签的差异计算损失函数的梯度,并通过网络传播回权重,更新网络参数。梯度下降及其变体(如SGD、Adam等)是最常用的优化算法,用于最小化损失函数,训练过程中还常常结合正则化技术(如L1、L2正则化和Dropout)来提高模型的泛化能力
注意力机制(Attention Mechanism)是一种模拟人类视觉注意力的计算模型,它允许深度学习网络在处理信息时对输入数据的某些部分进行聚焦。在卷积神经网络中,注意力机制通过引入额外的加权层来实现,这些层能够学习输入特征图中各个区域的重要性,并据此分配处理资源。
注意力机制的基本原理是通过对输入特征图F中的每个区域进行加权求和,生成一个加权特征表示 :
(2.2)
其中,N是特征图中区域的数量, 是第i个区域的注意力权重,通常由模型学习得到。注意力权重 的计算通常依赖于输入特征 和一个可学习的权重向量 之间的相似度评分,计算如下:
(2.3)
这里, 是一个用于提取特征表示的函数,可以是一个全连接层或者特定的特征提取网络。权重向量 通过训练过程学习得到,确保模型能够关注对当前任务最重要的特征。
注意力机制的应用显著提升了模型对关键信息的捕捉能力,尤其是在目标检测任务中,它能够帮助模型更好地识别和定位目标。此外,注意力机制还增强了模型对于上下文信息的利用,从而在复杂的视觉场景中提高了识别的准确性和鲁棒性。在YOLOv7中,注意力机制的集成可以通过Squeeze-and-Excitation (SE)模块实现,该模块通过显式地建模通道间的关系来提高特征的表达能力。SE模块的核心思想是利用全局平均池化(Global Average Pooling, GAP)来获取通道的统计信息,并通过两个全连接层(FC)来学习每个通道的重要性权重:
(2.4)
(2.5)
这里, 表示在通道c上的 位置的特征值, 是特征图的元素总数, 和 是SE模块中的全连接层的权重矩阵, 是激活函数。
通过这种方式,YOLOv7能够有效地提高对目标的检测精度,尤其是在复杂的工业场景中,注意力机制的引入显著提升了模型对异常行为的识别能力。
随着工业自动化和智能化的快速发展,工厂阀室内的人体异常行为识别成为工业安全监控领域的核心问题。为了提高检测的准确性和鲁棒性,本章提出了一种改进的YOLOv7算法,即SD-YOLOv7。该算法通过融合Squeeze-and-Excitation Networks的注意力机制和可变形卷积DCNv4,显著提升了模型在复杂工业场景下的表现。此外,本章还将介绍SD-YOLOv7模型的实验设计,包括数据集的构建、数据增强策略、评估指标的选择以及实验结果的详细分析。本文将展示如何通过自定义的加权损失函数FA loss,进一步优化模型以适应工厂阀室场景的特定需求。改进的YOLOv7模型SD-YOLOv7在核心网络Backbone内集成了Squeeze-and-Excitation Networks的注意力机制。同时在部分CBS模块改为引入了可变形卷积DCNv4的DCBS,以更好地捕捉各种角度和姿态的目标。提高模型在工厂监控下在不同角度下的目标检测能力,并且提出了符合工厂阀室场景特征的加权损失函数FA loss。SD-YOLOv7模型如
基于人类视觉系统的研究,注意力机制旨在从大量数据中筛选出对特定任务最为关键的信息。本研究针对香烟识别任务引入了注意力机制,优先处理与香烟相关的特征,从而使模型集中分析与识别香烟有关的关键区域。研究表明,将注意力机制纳入模型设计中可以有效提高其性能。而这种机制的整合位置相对灵活,关键在于能否促进模型效能的提升。本文特别采用了Squeeze-and-Excitation Networks的架构于模型的通道层级中,并将其嵌入到YOLOv7网络架构之中,获得了显著的实验成果。SENet通过引入一种革新的特征重调方法,实现了对特征通道权重的自动学习与分配,以此强调对检测任务有益的特征并抑制那些较为无关的特征。通过这种方式,SENet增强了卷积神经网络(CNN)内部通道之间的相互联系,通过自适应学习分配权重,有效地提升了模型对关键特征的关注度并降低了不相关特征的干扰。SENet包含两个关键模块:Squeeze模块和Excitation模块,如
在SD-YOLOv7模型中将SENet注意力机制加入MP-C3模块之后,如
设输入的特征图为 ,经过全局平均池化得到全局描述向量 。然后,将全局描述向量z分别输入到两个全连接层中,得到它们的输出s和t:
(3.1)
其中,
和
是全连接层的权重参数,
和
是激活函数。然后,将通过 Sigmoid函数得到权重系数
,即
。接着,将t经过ReLU函数激活,得到激活输出
,即
。最后,将
和
相乘,得到最终权重
,即
。其中,
表示逐元素相乘。最终,将原始特征图X和得到的权重
相乘得到加权特征图
,即
,引入SENet模块后的SD-YOLOv7局部模型图如
在深度学习的卷积神经网络中,传统的卷积层通常具有固定的卷积核,这意味着它们以固定的方式从输入数据中提取特征。然而,这种方法在处理具有复杂几何变换的数据时可能不够灵活。为了解决这一问题,在模型中引入了可变形卷积(Deformable Convolution)。
可变形卷积是一种增强版的卷积运算,它通过添加额外的偏移量来允许卷积核适应输入特征的空间变化,从而提供了更好的几何适应性。这些偏移量是可学习的参数,使得卷积核能够自由地变形以更好地对齐和捕捉到目标物体的关键特征,尤其是当物体出现旋转、缩放或其他非刚性变换时
在SD-YOLOv7模型中,加入了可变形卷积DCNv4的新的DCBS模块替换原模型的CBS模块,如
YOLOv7采用了一种复合损失函数来训练模型,以优化检测性能。损失函数包括几个主要部分:坐标损失( )、对象置信度损失( )和类别损失( )。这种设计旨在同时优化模型对目标位置、存在性及其类别的预测能力。通过给这三种损失赋予不同的权重,从而得到总损失。
由于模型对劳保服装、香烟等不同大小的目标进行分散预测,因此为了平衡不同尺度特征之间的关系,防止某些特征单方面决定预测结果,从而使某些特征的预测结果失效。本模型将检测的目标根据大小划分为tiny、small、medium、large等级,并且将不同等级的损失函数划分为不同的权重,以经过实验,通过针对不同的特征设计了不同的权重并进行了实验,收敛性最好的FA Loss 如下:
(3.2)
(3.3)
本文采用的图像处理单元(GPU)为英伟达RTX 8000 GPU,并在rk3399ProD上测试,依赖pytorch1.7.0、python3.7,框架为SD-YOLOv7。本文共设计了6组实验,分别在自制数据集下测试SD-YOLOv7与其他主流模型对目标检测性能结果,来综合判断本文提出的改进模型的性能。本文的实验流程图如
本文数据集为自制的工厂阀室背景下的数据集,数据集共2万多张真实工厂阀室下的监控拍摄图片照片。将其按照训练集(验证集)和测试集按照4:1的比例进行划分。为了模型的实用性,数据集均来自天然气阀室的真实工作场景。在对异常行为进行分类时,放弃了使用单一目标分类或CNN自动特征提取方法,因为这些方法有时会提取出一些人类难以解读的行为特征。在对从业人员进行问卷调查后,将异常行为划分为不同的风险等级。调查包括60种危险行为,对象是150多名员工。本文对风险等级最高的8种异常行为以及三种安全行为进行数据标注形成了11类标签的USDA数据集。具体分类如下:未着劳保服装、着劳保服装(安全行为)、未戴安全帽、佩戴安全帽(安全行为)、着火、打电话、抽烟、烟雾、未系安全带、系安全带(安全行为)、爬墙。数据集示例如
标签 |
类别 |
扩充前标签数 |
扩充后标签数 |
No-cloth |
未着劳保服 |
5893 |
18,042 |
Cloth |
着劳保服 |
672 |
3187 |
No-hat |
未戴安全帽 |
4762 |
16,212 |
Hat |
戴安全帽 |
893 |
4267 |
Fire |
火焰 |
2541 |
5203 |
Phone |
手机 |
1982 |
4622 |
Cigarette |
香烟 |
2431 |
4752 |
Smoke |
烟雾 |
1209 |
3381 |
No-belt |
未系安全带 |
5982 |
19,391 |
Belt |
系安全带 |
721 |
3564 |
Climb wall |
攀爬 |
994 |
2254 |
通常,模型训练是离线训练。因此,本文希望利用这一特点设计出更好的训练方法,在不增加推理成本的情况下获得更高的精度。数据增强通常用于物体检测。增强方法大致可分为两类
由于火灾和烟雾的图像较少,标签类型在数据集中表现出数据不平衡。以及对于低照度情况下,特征能见度较低,为了解决这些问题,对数据集使用了一些增强方法来增加火灾和烟雾图像的数量。同时,由于数据集取自监控视频,图像之间存在较大的相似性。因此,使用了Mosaic和CutMix来提高模型的鲁棒性,使用了高斯模糊来提高模型的泛化能力和抗噪声能力,如
CutMix:移除图像的一部分,并将另一幅图像中相同大小的部分添加到原始图像中。
Mosaic:通过数据增强将四幅随机图像拼接在一起。
高斯模糊:将图像进行模糊处理。
Random Horizonta Flip:随机水平翻转图像。
为了评估模型的性能,采用了平均精确率(mean average precision, mAP)和召回率(recall)两个指标。召回率计算的是模型正确识别的正例图片数量与实际正例图片总数之比,它的值反映了模型找到所有相关实例的能力。而mAP是评估排名任务的常用指标,它计算的是模型在每个查询上的平均精确率,考虑了排名和相关性,因此在检测多类别对象时特别有用。在实验中,mAP的高值表明模型在不同查询上保持了高精确率,而较高的召回率说明模型能够找到大多数真实正例。
(3.4)
(3.5)
其中,TP是真正例的数量,FN是假负例的数量,Q表示查询数量, 表示第q个查询的相关样本的数量, 表示截至第k个样本的准确率, 是一个指示函数,表示第k个样本是否与查询相关。
所有模型都在英伟达RTX 8000 GPU上训练,并在rk3399ProD上测试。在训练阶段,SD-YOLOv7很多权重与YOLOv7相同,可以加速收敛,从而节省大量训练时间。考虑到图像数量和收敛速度,进行了87轮训练,并使用了SGD优化器,模型训练如
模型PR曲线如
为了验证本文所提模型的进展,选择了六种最主流的物体检测模型作为比较基准,包括Faster-RCNN、DETR、YOLO v5、YOLO v7、YOLO v8和YOLO v9,实验结果见
模型 |
R |
mAP |
Faster-RCNN |
0.802 |
0.824 |
DETR |
0.824 |
0.842 |
YOLOv5 |
0.904 |
0.887 |
YOLOv7 |
0.883 |
0.892 |
YOLOv8 |
0.872 |
0.873 |
YOLOv9 |
0.917 |
0.891 |
SD-YOLOv7 |
0.941 |
0.923 |
通过
(1) 平均精度均值(mAP)的提升:在mAP方面,SD-YOLOv7相较于YOLOv7提升了接近5.82%,与YOLOv9相比也有2.30%的提高。mAP的提升反映了SD-YOLOv7在多类别检测任务中的综合性能得到了增强,这在复杂的工厂阀室环境中尤为关键。
(2) 性能对比:通过与YOLO家族的其他模型,包括最新型号YOLOv9的对比,SD-YOLOv7在召回率上仍显示出4.15%的提高,这进一步证明了SD-YOLOv7在实际应用中的有效性和可靠性。
(3) 模型改进点:SD-YOLOv7在YOLOv7的基础上,通过引入SENet注意力机制和可变形卷积DCNv4,显著提高了小目标如手机和香烟的检测性能。这些改进使得SD-YOLOv7在多角度和复杂背景下的检测更为准确和鲁棒。
(4) 数据集的贡献:自建的近两万张图像数据集,涵盖了11种不同的行为标签,为模型训练和评估提供了丰富的、现实环境下的样本。这些数据集的建立,不仅对本研究至关重要,也对工业安全领域的未来研究具有重要价值。
尽管SD-YOLOv7模型在工业安全监控领域取得了显著的成果,但仍存在一些局限性和改进空间
在本研究的完成过程中,特别感谢国家自然科学基金(批准号:61772342)对本研究项目的资助与支持。