CN116543433A - 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 - Google Patents
一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 Download PDFInfo
- Publication number
- CN116543433A CN116543433A CN202310408094.5A CN202310408094A CN116543433A CN 116543433 A CN116543433 A CN 116543433A CN 202310408094 A CN202310408094 A CN 202310408094A CN 116543433 A CN116543433 A CN 116543433A
- Authority
- CN
- China
- Prior art keywords
- module
- yolov7
- model
- improved
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 67
- 230000007246 mechanism Effects 0.000 claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 35
- 230000004913 activation Effects 0.000 claims abstract description 31
- 238000012549 training Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 31
- 238000011176 pooling Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 14
- 230000001965 increasing effect Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000002708 enhancing effect Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 37
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000000605 extraction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- VYGQUTWHTHXGQB-FFHKNEKCSA-N Retinol Palmitate Chemical compound CCCCCCCCCCCCCCCC(=O)OC\C=C(/C)\C=C\C=C(/C)\C=C\C1=C(C)CCCC1(C)C VYGQUTWHTHXGQB-FFHKNEKCSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000011717 all-trans-retinol Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 235000019172 retinyl palmitate Nutrition 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于改进YOLOv7模型的口罩佩戴检测方法和置,本发明为了增大模型的感受野,提高算法的检测精度,在主干网络引入RFB(Receptive Field Block,感受野模块);其次,为了使得结果特征矩阵上的特征信息更容易被突显出来,在模型的Head部分引入CBAM(Convolutional Block Attention Module,卷积注意力机制模块);最后,为了提高模型的泛化能力和传输性能,将YOLOv7原始的LeakyReLU激活函数替换为MetaAconC激活函数。实验结果表明:改进后的YOLOv7模型在口罩佩戴检测中较原算法检测精确率提高3.6%,达到93.9%,平均精度提高5.3%,召回率提高3%。
Description
技术领域
本发明涉及目标检测技术领域,尤其涉及一种基于改进YOLOv7模型的口罩佩戴检测方法和。
背景技术
口罩佩戴检测任务是通过摄像头等信息采集装置来收集图像和视频信息,进而对图像和视频信息中的人脸和口罩进行检测,来判断检测目标是否佩戴口罩。口罩佩戴检测对实时性要求较高。
口罩佩戴检测任务属于目标检测,通常可以通过下述算法实现:传统的目标检测算法和基于深度学习的目标检测算法。
传统的目标检测算法存在如下问题:传统的目标检测算法使用的特征提取器是人为手工设计的,主要是从目标图像中提取颜色和形状等特征进行分辨,只含有较弱的语义信息,导致检测效果不理想;其次,每个步骤都需要单独优化设计,产生大量的计算,造成运行速度慢,并且可能会产生多个正确识别的结果;最后,如果遇到面部遮挡、光线明暗交替和图像背景复杂等问题,传统的目标检测算法难以处理。
基于深度学习的目标检测包括两大类别:两阶段目标检测和一阶段目标检测。其中,两阶段目标检测存在漏检率低,但由于模型参数量较大,导致计算速度较慢,无法满足一些对于实时性要求较高的任务。而一阶段目标检测算法省去了生成候选区域这一过程,直接进行分类和回归,所以一阶段目标检测算法检测速度快,但精度相对来说略低一些。
因此,对于口罩佩戴检测任务,亟需一种精确度更高、检测速度更快,数据处理量更大的检测算法。
发明内容
本发明提供一种基于改进YOLOv7模型的口罩佩戴检测方法、装置和设备。
第一方面,本发明提供了一种基于改进YOLOv7模型的口罩佩戴检测方法,所述方法通过训练好的改进的YOLOv7模型检测待检测图像中的人是否佩戴口罩,所述训练好的改进的YOLOv7模型包括主干网络和头部网络,所述主干网络中包括RFB模块,所述头部网络中包括CBAM模块;所述检测方法包括:
将待检测图像输入所述主干网络,得到多个第一特征矩阵,利用RFB模块增加所述第一特征矩阵的特征信息;将所述多个第一特征矩阵输入所述头部网络,得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
进一步地,所述改进的YOLOv7模型中还包括CBM模块,所述CBM模块包括一个卷积层,一个批归一化层和一个MetaAconC激活函数层。
进一步地,所述主干网络中还包括CBM模块、ELAN模块、MP1模块;主干网络中各层网络的顺序为:多个CBM模块、一个ELAN模块、一个MP1模块、一个ELAN模块、一个RFB模块、一个MP1模块、一个ELAN模块、一个MP1模块、一个ELAN模块。
进一步地,所述头部网络中包括SPPCSPC模块、上采样模块、ELAN-H模块、CBAM模块、CBM模块、REP模块;其中,所述CBAM模块在ELAN-H模块和上采样模块之间。
进一步地,在所述方法之前,还包括:获取原始数据集和对应的标签,将所述原始数据集中的图像归一化处理,得到处理好的数据集;将处理好的数据集按照3:1:1的比例依次划分为训练集、测试集和验证集;通过训练集和与训练集对应的标签训练改进的YOLOv7模型,训练迭代100次,每次训练8张,得到训练好的改进的YOLOv7模型。
进一步地,在所述主干网络的第24层引入RFB模块,RFB模块首先三个分支通过1×1卷积降低特征矩阵的通道数,然后分别通过1×1、3×3和5×5的卷积核构成多分支结构来获取多尺度特征,并在对应的每个分支上分别引入dilation rate=1、dilation rate=3和dilation rate=5的空洞卷积来增大网络的感受野,在所述头部网络的第63层引入CBAM模块,CBAM注意力机制由通道注意力机制CAM和空间注意力机制SAM串行连接组成,CBAM注意力机制融合了通道和空间两种维度上的注意力权重;
其中,通道注意力机制CAM的输入特征分别经过全局最大池化和全局平均池化,然后送入共享多层感知机,将得到的特征进行加和操作以及sigmoid激活操作,最终得到通道注意力特征Fc;
其中,空间注意力机制SAM将输入特征与通道注意力机制生成的通道注意力特征Fc进行乘法操作后,再经过基于通道的全局最大池化和全局平均池化,得到两个特征矩阵并将其进行通道拼接和非线性运算,再经过一层卷积进行降维之后得到空间注意力特征Fs;
最后再将输入特征F1与通道注意力特征Fs进行乘法操作得到对应CBAM注意力机制的输出特征Fz。
第二方面,本发明还提供了一种基于改进YOLOv7模型的口罩佩戴检测装置,包括:所述装置通过训练好的改进的YOLOv7模型检测待检测图像中的人是否佩戴口罩,所述训练好的改进的YOLOv7模型包括主干网络和头部网络,所述主干网络中包括RFB模块,所述头部网络中包括CBAM模块;
所述装置包括:
第一处理模块,用于将待检测图像输入所述主干网络,得到多个第一特征矩阵,利用RFB模块增加所述第一特征矩阵的特征信息;
第二处理模块,用于将所述多个第一特征矩阵输入所述头部网络,得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;
第三处理模块,用于将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于改进YOLOv7模型的口罩佩戴检测方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于改进YOLOv7模型的口罩佩戴检测方法的步骤。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于改进YOLOv7模型的口罩佩戴检测方法的步骤。
本发明提供的一种基于改进YOLOv7模型的口罩佩戴检测方法和装置在YOLOv7的基础上做了以下改进:首先,为了增大模型的感受野,提高算法的检测精度,在主干网络第24层引入RFB(Receptive Field Block)模块;其次,为了使得结果特征矩阵上的特征信息更容易被突显出来在模型的Head部分第63层引入CBAM(Convolutional Block AttentionModule)注意力机制;最后,为了提高模型的泛化能力和传输性能,将YOLOv7原始的LeakyReLU激活函数替换为MetaAconC激活函数。与原有的YOLOv7算法相比,上述技术方案至少具有以下有益效果:改进后的YOLOv7口罩佩戴检测算法较原网络精确率提高3.6%,达到93.9%,平均精度提高5.3%,召回率提高3%。改进后的算法更加适用于现实场景中的口罩佩戴检测。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为根据一示例性实施例示出的改进的YOLOv7模型结构图,图1b-图1h依次为CBM模块结构图、MP1模块结构图、MP2模块结构图、ELAN模块结构图、ELAN-H模块结构图、SPPCSPC模块结构图、REP模块结构图;
图2为根据一示例性实施例示出的RFB网络结构图;
图3为根据一示例性实施例示出的CBAM模块的基本结构;
图4为根据一示例性实施例示出的通道注意力机制处理过程;
图5为根据一示例性实施例示出的空间注意力机制处理过程。
具体实施方式
YOLOv7在一般的目标检测任务中能够更快速和准确的完成目标检测,而为了使YOLOv7能够更加适配关于口罩的检测任务,特提出本发明。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本发明实施例的核心思想在于,在YOLOv7模型的Head部分引入CBAM注意力机制,使得结果特征矩阵上的特征信息更容易被突显出来。其次在主干网络引入RFB模块,增大模型的感受野,进一步提高算法的检测精度。最后将YOLOv7原始的LeakyReLU激活函数替换为MetaAconC激活函数,提高模型的泛化能力和传输性能。下面将参考附图并结合实施例来详细说明本发明。
请参阅图1a,图1a是改进的YOLOv7模型结构图,图1b-图1g为图1a中各个模块的分解图:
图1b为CBM模块,它是由一个卷积层,一个批归一化层和一个MetaAconC激活函数层构成,是原有YOLOv7算法中CBS模块的改进版,为了提高模型的泛化能力和传输性能,将CBS模块中的激活函数替换为MetaAconC激活函数。当卷积核为1(即k=1),步长为1(即s=1)时,主要起到改变通道数的作用。当卷积核为3(即k=3),步长为1(即s=1)时,主要起到特征提取的作用。当卷积核为3(即k=3),步长为2(即s=2)时,主要起到下采样的作用。
图1c为MP1模块,MP1模块主要是由MaxPool和CBM模块构成,共分为两个分支。第一条分支首先经过一个MaxPool进行最大池化,其作用就是进行下采样,然后再经过一个k=1,s=1的卷积将通道数进行改变。另一条分支首先经过一个k=1,s=1的卷积将通道数进行改变,然后再经过一个k=3,s=2的卷积,其作用也是进行下采样,最后将两个分支的结果叠加在一起进行下采样。
图1d为MP2模块,其结构与MP1大体一样,唯一的区别是通道数不发生变化。
图1e为ELAN模块,ELAN模块由多个CBM模块构成,共分为两个分支。第一条分支直接通过一个k=1,s=1的卷积将通道数进行改变,第二条分支首先通过一个k=1,s=1的卷积将通道数进行改变,然后再经过四个k=3,s=1的卷积对特征进行提取,最后将四个特征叠加到一起得到最后的特征提取结果。它通过控制最短最长的梯度路径,使一个更深的网络同样可以有效地进行学习和收敛。
图1f为ELAN-H模块,ELAN-H模块与ELAN模块非常相似,不同的是ELAN-H模块选取的输出数量比ELAN模块多。
图1g为SPPCSPC模块(即SPP模块与CSP模块的联合),SPP模块的作用是通过最大池化来增大感受野,提升模型精度。CSP模块的主要作用是减小计算量。它将特征分为两部分,其中一部分进行常规的减小计算量的处理,另一部分进行SPP结构处理,最后再将两部分合并在一起。这样做可以减少计算量,而且还可以提升模型的精度。
图1h为REP模块,REP模块在训练时将一个用于特征提取的3x3卷积、一个用于平滑特征的1x1卷积和一个不做卷积操作的特征融合在一个卷积层中,在推理时则只包含一个3x3的卷积,是由训练阶段重参数化转换而来。
所述训练好的改进的YOLOv7模型包括主干网络和头部网络,所述主干网络中包括RFB模块,所述头部网络中包括CBAM模块,本发明通过训练好的改进的YOLOv7模型检测待检测图像中的人是否佩戴口罩,具体检测方法如下:
将待检测图像输入所述主干网络,分别得到多个特征矩阵,利用RFB模块增加所述特征矩阵的特征信息;
将所述多个特征矩阵输入所述头部网络,分别得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;
将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
其中,RFB模块模仿了人类视觉的特点,将感受野和偏心率联系在一起,它的结构与Inception结构相似,主要由不同尺度的常规卷积组成的多分支卷积层和不同尺度的空洞卷积层组成。多分支卷积层主要用来模拟群体感受野中不同的感受野,空洞卷积层主要用来模拟群体感受野尺度与偏心率之间的关联度。这种结构不仅不会增加参数量,而且还扩大了感受野,提高了算法的检测精度。图2为RFB网络结构图,首先三个分支通过1×1卷积降低特征矩阵的通道数,然后分别通过1×1、3×3和5×5的卷积核构成多分支结构来获取多尺度特征,并在对应的每个分支上分别引入dilation rate=1、dilation rate=3和dilation rate=5的空洞卷积来增大网络的感受野。当dilation rate=1时,空洞卷积就是常规的卷积。空洞率不同时,获得感受野的大小也不同。RFB模块将空洞率设置为1、3、5这种组合,使得采样点交错,尽可能多的学习局部信息,减少了网格效应带来的信息丢失。最后将三个分支的输出连接在一起完成特征融合。
其中,CBAM注意力机制基本结构图如图3所示。CBAM注意力机制是由通道注意力机制(CAM)和空间注意力机制(SAM)串行连接组成,在输入特征F的基础上依次融合了通道和空间两种维度上的注意力权重,最终与输入特征不断相乘输出一个新的特征Fz。这样不仅节约了计算力,而且与单一使用通道和空间注意力机制相比,特征矩阵上的特征信息更容易被突显出来,从而提高模型的准确率。其中,通道注意力机制(CAM)处理过程如图4所示。输入特征F分别经过全局最大池化和全局平均池化,然后送入共享多层感知机,将得到的特征进行加和操作以及sigmoid激活操作,最终得到通道注意力特征Fc。空间注意力机制(SAM)处理过程如图5所示。输入特征F1是原始输入特征F与通道注意力机制生成的通道注意力特征Fc进行乘法操作所得到的,输入特征F1经过基于通道的全局最大池化和全局平均池化,得到两个特征矩阵并将其进行通道拼接和非线性运算,再经过一层卷积进行降维之后得到空间注意力特征Fs。最后,再将输入特征F1与通道注意力特征Fs进行乘法操作得到最终的输出特征Fz。
在一些实施例中,多个结果特征矩阵可以分别对应大、中、小三个目标,其中,大目标指的是一张图片中距离镜头较近的目标人物,中目标指的是一张图片中距离镜头不近不远的目标人物,小目标指的是一张图片中距离镜头较远的目标人物。由于相同大小的目标可以有多个,因此,对应大目标的结果特征矩阵中可以包括多个大目标的坐标和类别信息(同理,小目标和中目标)。因此,可以将结果特征矩阵分贝输入至对应的分类器进行分类,得到待检测图像中戴口罩的目标以及目标的位置,分类器可以是逻辑回归或支持向量机,也可以根据需要根据其他原理定义分类器。
在一些可选的实现方式中,所述改进的YOLOv7模型中还包括CBM模块,所述CBM模块包括一个卷积层,一个批归一化层和一个MetaAconC激活函数层。
MetaACON为ACON设计了一个计算β的自适应函数,它包含了层、通道和像素三种设计空间。
如图1所示,本发明改进的YOLOv7模型在原始YOLOv7算法的基础上,将RFB模块添加到Backbone中的第24层,将CBAM注意力机制添加到Head中的第63层,将CBM模块中的LeakyReLU激活函数替换为MetaAconC激活函数。
上述改进的YOLOv7模型的检测过程可以参考:
首先将输入的图片的尺寸调整为640x640大小,并输入到backbone网络(即主干网络)中。在backbone网络中,首先经过四个卷积核和步长不同的CBM模块分别进行特征提取、改变通道数和下采样,然后经过一个ELAN模块进行高效的特征提取。通过一个MP1模块进行下采样之后,经过一个相同的ELAN模块进行特征提取,然后经过一个RFB模块增大模型的感受野,在此之后会有三个分支,第一个分支经过两个相同的MP1+ELAN模块之后得到第一特征矩阵A,第二个分支经过一个k=1,s=1的CBM模块之后得到第二特征矩阵B,第三个分支经过一个相同的MP1+ELAN模块和一个k=1,s=1的CBM模块之后得到第三特征矩阵C,最后将A、B、C输入到Head网络中。在Head网络中,首先将第一特征矩阵A输入到SPPCSPC模块,通过最大池化来增大感受野,减少计算量,提升模型精度。SPPCSPC模块后分为两个分支,第一个分支得到特征矩阵D1,另一个分支经过UP模块上采样后得到的特征与第三个第一特征矩阵C进行拼接得到第一拼接特征,将第一拼接特征输入到ELAN-H模块中进行特征提取得到特征矩阵D2,特征矩阵D2经过一个CBAM模块,使特征信息更容易被突显出来,然后经过一个UP模块上采样后与第二个第一特征矩阵B进行拼接得到第二拼接特征。
将第二拼接特征依次输入到ELAN-H模块、REP模块和CBM模块之后,输出第一张结果特征矩阵,第一张结果特征针具表示对小目标进行预测。
将第二拼接特征依次输入到ELAN-H模块、MP2模块,并与特征矩阵D2进行拼接得到第三拼接特征,将第三拼接特征依次输入到ELAN-H模块、REP模块和CBM模块之后,输出第二张结果特征矩阵,第二张结果特征矩阵表示对中目标进行预测。
将第三拼接特征依次输入到ELAN-H模块、MP2模块,并与特征矩阵D1进行拼接得到第四拼接特征,将第四拼接特征依次输入到ELAN-H模块、REP模块和CBM模块之后,输出第三张结果特征矩阵,第三结果特征矩阵表示对大目标进行预测。
其中,第一张结果特征矩阵、第二张结果特征矩阵、第三张结果特征矩阵分别包含了多个坐标信息和类别置信度(参考图1中的总网络架构,输入的三个结果特征矩阵,从上到下小依次为)。分别将第一张结果特征矩阵、第二张结果特征矩阵、第三张结果特征矩阵输入对应的分类器得到对应的坐标信息和类别置信度。最终生成边界框并根据类别置信度进行判断是否佩戴口罩。
在所述方法之前,还包括:
获取原始数据集和对应的标签,将所述原始数据集中的图像均预处理为尺寸为640乘640的三通道图像,得到预处理后的数据集;
将预处理后的数据集按照3:1:1的比例依次划分为训练集、测试集和验证集;
通过训练集和与训练集对应的标签训练改进的YOLOv7模型,训练迭代100次,每次训练8张,得到训练好的改进的YOLOv7模型。
作为示例,在具体的实验中,所用的口罩数据集可以来自于网络上收集的图片,总共分为两种数据集,一种是佩戴口罩的人群:mask,一种是未佩戴口罩的人群:face。数据集总共有5000张,训练集3000张,测试集1000张,验证集1000张。在建立数据集的时候通过LabelImg软件对图片进行标记,佩戴口罩的标记为mask,未佩戴口罩的标记为face。
为确保改进算法的准确性和有效性,本实施例所有实验统一在表1实验环境及配置下进行。
表1实验环境及配置
实验的具体参数如表2所示,为确保改进算法的准确性和有效性,本实施例所有实验均在同一参数下进行。
表2实验的参数设置
实验参数 | 参数值 |
迭代次数 | 100 |
每次处理张数 | 8 |
图像尺寸 | 640×640 |
在目标检测领域中常用的评价指标主要有:精确率(Precision)、平均准确率均值(mean Average Precision,mAP)和召回率(Recall)。因此本发明也选用这三种作为评价指标,精确率和召回率计算公式如公式1~公式2:
其中,TP、TN、FP、FN如表3所示。在本发明中TP是指将戴口罩的人脸正确识别为戴口罩的人脸的数量,FP是指将未戴口罩的人脸错误识别为戴口罩的人脸的数量,FN是指将佩戴口罩的人脸错误识别为未佩戴口罩的人脸的数量。平均准确率均值mAP的计算方式为所有分类的平均准确率AP进行平均所得。平均准确率AP的计算方式为Recall和Precision的曲线(RP曲线)与坐标轴构成图形的面积。其中,mAP值是指佩戴口罩和未佩戴口罩两个类别的AP均值。其计算公式如公式3和公式4所示。
首先采用原始的YOLOv7算法对数据集进行训练,三次训练结果的精确率、平均精度和召回率如表3所示。
表3YOLOv7算法三次训练结果
P | mAP | R | |
Yolov7 | 0.903 | 0.713 | 0.84 |
Yolov7 | 0.912 | 0.689 | 0.85 |
Yolov7 | 0.904 | 0.686 | 0.83 |
为了提升原始YOLOv7算法的性能,在原始YOLOv7算法的特征提取层(24层)加入RFB模块,增大感受野,加强了网络的特征提取能力。同时在输出层(63层)加入CBAM注意力机制,提取图像中的关键信息,忽略无关信息,缓解了梯度爆炸问题。具体改进的层数是通过大量实验得出在特征提取层24层加入RFB模块和输出层63层加入CBAM注意力机制效果最好。表4为分别引入RFB模块和CBAM注意力机制以及同时引入RFB模块和CBAM注意力机制之后算法的精确率、平均精度和召回率。
表4YOLOv7算法分别引入CBAM和RFB性能比较
P | mAP | R | |
YOLOv7 | 0.903 | 0.713 | 0.84 |
YOLOv7+CBAM | 0.927 | 0.731 | 0.86 |
YOLOv7+RFB | 0.931 | 0.735 | 0.86 |
YOLOv7+CBAM+RFB | 0.941 | 0.749 | 0.88 |
上述实验结果表明,在原始YOLOv7算法的特征提取层(24层)单独加入RFB模块或在输出层(63层)单独加入CBAM注意力机制之后,算法的精确率、平均精度和召回率都有了明显的提升。同时在特征提取层(24层)加入RFB模块和在输出层(63层)加入CBAM注意力机制的效果要比单独加入任何一种的效果要更好。因此,将同时在特征提取层(24层)加入RFB模块和在输出层(63层)加入CBAM注意力机制作为网络模型的改进方法。
为了进一步提升模型的学习能力以及泛化和传输性能,在Backbone24层引入RFB模块和Head 63层引入CBAM注意力机制的基础上,对CBM模块中的LeakyReLU激活函数作进一步改进,但由于选择一个合适的激活函数需要考虑很多因素,所以本发明通过实验效果对比来决定选择哪种激活函数。将CBM模块中的激活函数分别替换不同的激活函数,其精确率、平均精度和召回率如表5所示。
表5在改进方法基础上替换不同激活函数性能比较
P | mAP | R | |
FReLU | 0.925 | 0.741 | 0.89 |
DyReLUC | 0.924 | 0.732 | 0.87 |
LeakyReLU | 0.941 | 0.749 | 0.88 |
MetaAconC | 0.939 | 0.766 | 0.87 |
对比上述实验结果,发现替换为FReLU激活函数和DyReLUC激活函数之后,算法的精确率和平均精度都有所下降,召回率基本持平。而替换为MetaAconC激活函数之后,虽然算法的精确率和召回率基本持平,但平均精度有了明显的提升。综合考虑,将激活函数替换为MetaAconC的效果优于LeakyReLU激活函数,所以选择将改进方法的激活函数替换为MetaAconC作为最终的改进YOLOv7算法。
采用改进后的YOLOv7算法(改进后的网络结构如图1所示)对相同的数据集进行训练,三次训练结果的精确率、平均精度和召回率如表6所示。
表6改进后的YOLOv7算法三次训练结果
P | mAP | R | |
YOLOv7(改进) | 0.939 | 0.766 | 0.87 |
YOLOv7(改进) | 0.943 | 0.758 | 0.86 |
YOLOv7(改进) | 0.945 | 0.755 | 0.88 |
实验表明改进后的YOLOv7算法与原有YOLOv7算法相比,无论是精确率、平均精度和召回率,都有了大幅提高。较原网络精确率提高3.6%,达到93.9%,平均精度提高5.3%,召回率提高3%。
上述实验结果和基于改进YOLOv7的口罩佩戴检测算法,可以用于实际的口罩佩戴检测当中,具有实际应用价值。
本发明还提供了一种基于改进YOLOv7模型的口罩佩戴检测装置的结构示意图,包括:第一处理模块,用于将待检测图像输入所述主干网络,得到多个第一特征矩阵,利用RFB模块增加所述第一特征矩阵的特征信息;第二处理模块,用于将所述多个第一特征矩阵输入所述头部网络,得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;第三处理模块,用于将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
进一步地,所述改进的YOLOv7模型中还包括CBM模块,所述CBM模块包括一个卷积层,一个批归一化层和一个MetaAconC激活函数层。
进一步地,所述主干网络中还包括CBM模块、ELAN模块、MP1模块;主干网络中各层网络的顺序为:多个CBM模块、一个ELAN模块、一个MP1模块、一个ELAN模块、一个RFB模块、一个MP1模块、一个ELAN模块、一个MP1模块、一个ELAN模块。
进一步地,所述头部网络中包括SPPCSPC模块、上采样模块、ELAN-H模块、CBAM模块、CBM模块、REP模块;其中,所述CBAM模块在ELAN-H模块和上采样模块之间。
进一步地,装置还包括训练模块,用于:获取原始数据集和对应的标签,将所述原始数据集中的图像归一化处理,得到处理好的数据集;将处理好的数据集按照3:1:1的比例依次划分为训练集、测试集和验证集;通过训练集和与训练集对应的标签训练改进的YOLOv7模型,训练迭代100次,每次训练8张,得到训练好的改进的YOLOv7模型。
进一步地,在所述主干网络的第24层引入RFB模块,RFB模块首先三个分支通过1×1卷积降低特征矩阵的通道数,然后分别通过1×1、3×3和5×5的卷积核构成多分支结构来获取多尺度特征,并在对应的每个分支上分别引入dilation rate=1、dilation rate=3和dilation rate=5的空洞卷积来增大网络的感受野,在所述头部网络的第63层引入CBAM模块,CBAM注意力机制由通道注意力机制CAM和空间注意力机制SAM串行连接组成,CBAM注意力机制融合了通道和空间两种维度上的注意力权重;
其中,通道注意力机制CAM的输入特征分别经过全局最大池化和全局平均池化,然后送入共享多层感知机,将得到的特征进行加和操作以及sigmoid激活操作,最终得到通道注意力特征Fc;
其中,空间注意力机制SAM将输入特征与通道注意力机制生成的通道注意力特征Fc进行乘法操作后,再经过基于通道的全局最大池化和全局平均池化,得到两个特征矩阵并将其进行通道拼接和非线性运算,再经过一层卷积进行降维之后得到空间注意力特征Fs;
最后再将输入特征F1与通道注意力特征Fs进行乘法操作得到对应CBAM注意力机制的输出特征Fz。
上述装置的实施细节和效果可以参考与一种基于改进YOLOv7模型的口罩佩戴检测方法,在此不赘述。
以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分上述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,所述方法通过训练好的改进的YOLOv7模型检测待检测图像中的人是否佩戴口罩,所述训练好的改进的YOLOv7模型包括主干网络和头部网络,所述主干网络中包括RFB模块,所述头部网络中包括CBAM模块;
所述检测方法包括:
将待检测图像输入所述主干网络,分别得到多个特征矩阵,利用RFB模块增加所述第一特征矩阵的特征信息;
将所述多个特征矩阵输入所述头部网络,分别得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;
将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
2.根据权利要求1所述的基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,所述改进的YOLOv7模型中还包括CBM模块,所述CBM模块包括一个卷积层,一个批归一化层和一个MetaAconC激活函数层。
3.根据权利要求2所述的基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,所述主干网络中还包括CBM模块、ELAN模块、MP1模块;
主干网络中各层网络的顺序为:多个CBM模块、一个ELAN模块、一个MP1模块、一个ELAN模块、一个RFB模块、一个MP1模块、一个ELAN模块、一个MP1模块、一个ELAN模块。
4.根据权利要求2所述的基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,所述头部网络中包括SPPCSPC模块、上采样模块、ELAN-H模块、CBAM模块、CBM模块、REP模块;其中,所述CBAM模块在ELAN-H模块和上采样模块之间。
5.根据权利要求1所述的基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,在所述方法之前,还包括:
获取原始数据集和对应的标签,将所述原始数据集中的图像归一化处理,得到处理好的数据集;
将处理好的数据集按照3:1:1的比例依次划分为训练集、测试集和验证集;
通过训练集和与训练集对应的标签训练改进的YOLOv7模型,训练迭代100次,每次训练8张,得到训练好的改进的YOLOv7模型。
6.根据权利要求1-5任一项所述的基于改进YOLOv7模型的口罩佩戴检测方法,其特征在于,在所述主干网络的第24层引入RFB模块,RFB模块首先三个分支通过1×1卷积降低特征矩阵的通道数,然后分别通过1×1、3×3和5×5的卷积核构成多分支结构来获取多尺度特征,并在对应的每个分支上分别引入dilation rate=1、dilation rate=3和dilationrate=5的空洞卷积来增大网络的感受野,在所述头部网络的第63层引入CBAM模块,CBAM注意力机制由通道注意力机制CAM和空间注意力机制SAM串行连接组成,CBAM注意力机制融合了通道和空间两种维度上的注意力权重;
其中,通道注意力机制CAM的输入特征分别经过全局最大池化和全局平均池化,然后送入共享多层感知机,将得到的特征进行加和操作以及sigmoid激活操作,最终得到通道注意力特征Fc;
其中,空间注意力机制SAM将输入特征与通道注意力机制生成的通道注意力特征Fc进行乘法操作后,再经过基于通道的全局最大池化和全局平均池化,得到两个特征矩阵并将其进行通道拼接和非线性运算,再经过一层卷积进行降维之后得到空间注意力特征Fs;
最后再将输入特征F1与通道注意力特征Fs进行乘法操作得到对应CBAM注意力机制的输出特征Fz。
7.一种基于改进YOLOv7模型的口罩佩戴检测装置,其特征在于,所述装置通过训练好的改进的YOLOv7模型检测待检测图像中的人是否佩戴口罩,所述训练好的改进的YOLOv7模型包括主干网络和头部网络,所述主干网络中包括RFB模块,所述头部网络中包括CBAM模块;
所述装置包括:
第一处理模块,用于将待检测图像输入所述主干网络,得到多个第一特征矩阵,利用RFB模块增加所述第一特征矩阵的特征信息;
第二处理模块,用于将所述多个第一特征矩阵输入所述头部网络,得到多个结果特征矩阵,利用CBAM模块增强所述结果特征矩阵的特征信息;
第三处理模块,用于将所述多个结果特征矩阵分别输入对应的分类器中得到对应的检测结果。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的基于改进YOLOv7模型的口罩佩戴检测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于改进YOLOv7模型的口罩佩戴检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310408094.5A CN116543433A (zh) | 2023-04-17 | 2023-04-17 | 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310408094.5A CN116543433A (zh) | 2023-04-17 | 2023-04-17 | 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116543433A true CN116543433A (zh) | 2023-08-04 |
Family
ID=87455166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310408094.5A Pending CN116543433A (zh) | 2023-04-17 | 2023-04-17 | 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116543433A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117218329A (zh) * | 2023-11-09 | 2023-12-12 | 四川泓宝润业工程技术有限公司 | 一种井口阀门检测方法、装置、存储介质及电子设备 |
CN117351648A (zh) * | 2023-10-08 | 2024-01-05 | 海南大学 | 一种驾驶员疲劳监测预警方法及系统 |
-
2023
- 2023-04-17 CN CN202310408094.5A patent/CN116543433A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117351648A (zh) * | 2023-10-08 | 2024-01-05 | 海南大学 | 一种驾驶员疲劳监测预警方法及系统 |
CN117218329A (zh) * | 2023-11-09 | 2023-12-12 | 四川泓宝润业工程技术有限公司 | 一种井口阀门检测方法、装置、存储介质及电子设备 |
CN117218329B (zh) * | 2023-11-09 | 2024-01-26 | 四川泓宝润业工程技术有限公司 | 一种井口阀门检测方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107945204B (zh) | 一种基于生成对抗网络的像素级人像抠图方法 | |
US20230011257A1 (en) | Method for distinguishing a real three-dimensional object from a two-dimensional spoof of the real object | |
CN107529650B (zh) | 闭环检测方法、装置及计算机设备 | |
US10535141B2 (en) | Differentiable jaccard loss approximation for training an artificial neural network | |
CN110298321B (zh) | 基于深度学习图像分类的道路阻断信息提取方法 | |
CN116543433A (zh) | 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 | |
Chen et al. | Remote sensing image quality evaluation based on deep support value learning networks | |
CN110879982B (zh) | 一种人群计数系统及方法 | |
CN113111979B (zh) | 模型训练方法、图像检测方法及检测装置 | |
JP2019087181A (ja) | 画像検査装置および方法 | |
CN108960260B (zh) | 一种分类模型生成方法、医学影像图像分类方法及装置 | |
CN115272196B (zh) | 组织病理图像中病灶区域预测方法 | |
CN112308825B (zh) | 一种基于SqueezeNet的农作物叶片病害识别方法 | |
Yan et al. | Underwater object detection algorithm based on attention mechanism and cross-stage partial fast spatial pyramidal pooling | |
CN113361397A (zh) | 一种基于深度学习的人脸口罩佩戴情况检测方法 | |
WO2024021461A1 (zh) | 缺陷检测方法及装置、设备、存储介质 | |
CN113052006A (zh) | 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质 | |
CN115564983A (zh) | 目标检测方法、装置、电子设备、存储介质及其应用 | |
CN114021704B (zh) | 一种ai神经网络模型的训练方法及相关装置 | |
WO2024078112A1 (zh) | 一种舾装件智能识别方法、计算机设备 | |
CN115526891B (zh) | 一种缺陷数据集的生成模型的训练方法及相关装置 | |
CN113361336B (zh) | 基于注意力机制的视频监控场景下行人视图属性的定位与识别方法 | |
CN115661618A (zh) | 图像质量评估模型的训练方法、图像质量评估方法及装置 | |
CN115423090A (zh) | 一种面向细粒度识别的类增量学习方法 | |
CN111368625B (zh) | 一种基于级联优化的行人目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |