CN113076923A - 基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 - Google Patents
基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113076923A CN113076923A CN202110432067.2A CN202110432067A CN113076923A CN 113076923 A CN113076923 A CN 113076923A CN 202110432067 A CN202110432067 A CN 202110432067A CN 113076923 A CN113076923 A CN 113076923A
- Authority
- CN
- China
- Prior art keywords
- ssd
- convolution
- mobilenet
- network
- mask
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及基于轻量型网络MobileNet‑SSD的口罩佩戴检测方法、设备及存储介质,采用了SSD(Single Shot MultiBox Detector)方法,并将MobileNet作为主干网络替换原SSD中的VGG网络,提出了一种改进SSD的目标检测算法MobileNet‑SSD。在少量牺牲检测准确性的情况下大幅度降低了整个模型的参数量,并且检测速度翻倍,使得在实际应用中对设备性能的要求大大降低。所提出的MobileNet‑SSD适用于入口处流动人员是否佩戴口罩的检测。在肺炎疫情期间,有助于超市、商场等人员流动量较大的场所进行口罩佩戴的监管,可以有效节约劳动力成本以及降低工作人员感染的风险。
Description
技术领域
本发明涉及一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质,属于 目标检测的技术领域。
背景技术
与传统检测器中使用的人工特征描述相比,深度卷积网络会生成从原始像素到高级语义信息的 层次特征表示,这些特征表示可在复杂的图像中显示出更强的分辨能力。基于深度学习的目标检测 框架主要分为两大类:两级(two-stage)检测器和单极(one-stage)检测器:对于两级检测器,第一 阶段会生成的约两千个提案,第二阶段采用深度卷积神经网络对生成的提案的特征向量进行编码, 然后进行目标检测。单极检测器会将输入图像上的所有位置视为潜在的目标对象,并试图将每个 ROI分类为目标对象或者背景。
基于深度学习的人脸检测算法多数都是基于深度学习目标检测算法的改进,即为适应人脸检测 任务对通用的目标检测模型进行特别设计众多的目标检测模型中,人脸检测算法最常用的就是SSD 算法,例如SSH模型、S3FD模型、RetinaFace算法,都是受SSD算法的启发,或者基于SSD进 行的任务定制化改进,例如将定位层提到更靠前的位置,锚点大小调整,锚点标签分配规则的调整, 在SSD基础上加入FPN等。
为了确保出入人员的口罩佩戴,往往需要安排员工在入口处对是否佩戴口罩进行检查。这样既 增加了劳动力的消耗,对工作人员来说也增加了感染的风险。在入口处设定视频捕捉设备对出入人 员的口罩佩戴进行监测无疑是一个好方案。本发明基于传统的VGG-SSD提出了更加轻量级的目标 检测网络MobileNet-SSD,该模型不仅参数少运算量低,而且再经过微调后可以很好地完成口罩佩 戴检测的任务。基于MobileNet-SSD在口罩佩戴数据集的良好的检测效果与其实时性,改进了检 测器使其可以应用于视频检测。
发明内容
针对现有技术的不足,本发明提供了一种基于轻量型网络MobileNet-SSD的模型用于口罩佩戴 检测的方法;
本发明还提供了一种计算机设备及存储介质。
发明概述:
本发明基于传统的VGG-SSD提出了更加轻量级的目标检测网络MobileNet-SSD,该模型不仅参 数少、运算量低,而且,再经过微调后可以很好地完成口罩佩戴检测的任务。基于MobileNet-SSD 在口罩佩戴数据集的良好的检测效果与其实时性,改进了检测器使其可以应用于视频检测。
术语解释:
1、WIDER Face数据集,是一个人脸检测的主流数据集。里面有32203张人脸图像,393703 个标注人脸,且各类场景十分复杂。
2、MAFA数据集,由中科院信工所葛仕明老师开源的,该数据集本是遮挡人脸数据集。
本发明的技术方案为:
一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,包括步骤如下:
(1)获取数据集;
(2)对步骤(1)获取的数据集进行预处理;
(3)构建轻量型网络模型,所述轻量型网络模型的网络架构为轻量型网络MobileNet-SSD;
(4)通过步骤(2)预处理后的数据集训练轻量型网络模型;
(5)将待检测的图片预处理后输入训练后的轻量型网络模型得到是否佩戴口罩的检测结果。
根据本发明优选的,步骤(1)中,获取数据集,是指:
从WIDER Face数据集中选取若干图片,标注为没有佩戴口罩的face类;
从MAFA数据集中选取若干图片,标注为佩戴口罩的face_mask类。
人脸检测数据集非常多,最常用的莫过于WIDER Face数据集。从中选出3894张图片作为face 类。对于face_mask类,使用了中科院信工所葛仕明老师开源的MAFA数据集,该数据集本是遮挡 人脸数据集,从中选择4018张佩戴口罩的照片,组成了此次口罩佩戴检测的数据集。数据集共包 含7912张图片。
根据本发明优选的,步骤(2)中,对步骤(1)获取的数据集进行数据增强(dataaugmentation) 操作,是指:根据随机数种子随机进行镜像、改变比例、叠加噪声、颜色扰动变换。数据增强可以 增强模型的泛化能力,在数据集较小时也可以有效扩充数据集。
根据本发明优选的,考虑到SSD网络的主干网络VGG16的参数量与计算量较大,同时MobileNet 可以做到取得与VGG16相当的准确率的同时参数量与计算量得到了大幅度降低,轻量型网络 MobileNet-SSD是将现有的SSD网络中的VGG16网络替换为MobileNet,即:将SSD网络中Conv2D替换 为depthwise_conv_block,所述depthwise_conv_block包括DepthwiseConv2D卷积层(即深度卷积 层)、第一批标准化(BatchNormalization)层、第一ReLU6激活函数、逐点卷积层、第二批标准 化层、第二ReLU6激活函数。第一ReLU6激活函数、第二ReLU6激活函数均为ReLU函数,使其最大值 为6而不是正无穷。逐点卷积层使用Conv2D函数来完成。
所述轻量型网络MobileNet-SSD包括MobileNet、卷积层conv6、卷积层conv7、卷积层conv8、 卷积层conv9;
本发明的改进就是把SSD中的VGG16网络替换为MobileNet,如图14所示。
输入一张图片后,将其调整成300x300的尺寸;
经过MobileNet,输出的特征层为1024,net表示为(19,19,1024);
卷积层conv6用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络, 输出的特征层为512,输出的net为(10,10,512);
卷积层conv7用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络, 输出的特征层为256,输出的net为(5,5,256);
卷积层conv8用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3] 卷积网络,输出的特征层为256,输出的net为(3,3,256);
卷积层conv9用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3] 卷积网络,输出的特征层为256,输出的net为(1,1,256);
分别取MobileNet输出的特征层、conv6的第二次卷积的输出的特征层、conv7的第二次卷积 的输出的特征层、conv8的第二次卷积的输出的特征层、conv9的第二次卷积的输出的特征层,为 了和普通特征层区分,称之为有效特征层;
对获取到的每一个有效特征层,分别对其进行一次num_priors x 4的卷积、一次num_priors x num_classes的卷积、并计算每一个有效特征层对应的先验框,num_priors指的是该有效特征层 所拥有的先验框数量;其中,num_priors x 4的卷积用于预测该有效特征层上每一个网格点上每 一个先验框的变化情况,num_priors x num_classes的卷积用于预测该有效特征层上每一个网格 点上每一个预测框对应的种类,每一个有效特征层对应的先验框对应着该有效特征层上每一个网格 点上预先设定好的多个框;
通过对每一个有效特征层的处理,获得三个内容,分别是:num_priors x 4的卷积用于预测 该特征层上每一个网格点上每一个先验框的变化情况;num_priors x num_classes的卷积用于预 测该特征层上每一个网格点上每一个预测框对应的种类;每一个有效特征层对应的先验框对应着该 特征层上每一个网格点上预先设定好的多个框;利用num_priors x 4的卷积与每一个有效特征层 对应的先验框获得框的真实位置;
通过以上步骤,获得预测框在原图上的位置,而且这些预测框都是经过筛选的,这些筛选后的 预测框直接绘制在原图上,获得检测结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述 计算机程序时实现基于轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于 轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
本发明的有益效果为:
本发明尝试了将具有优秀实时检测效果的SSD网络的主干网络VGG16替换为MobileNet,提 出了轻量化目标检测模型MobileNet-SSD。这使得网络参数大幅度降低的同时又保证了其目标检测 的准确性,并且降低了其达到实时检测对硬件设备的要求。
附图说明
图1为SSD网络框架示意图;
图2为从有效特征层获取预测结果示意图;
图3(a)为VGG-SSD与MobileNet-SSD在VOC2007数据集检测效果示意图一;
图3(b)为VGG-SSD与MobileNet-SSD在VOC2007数据集检测效果示意图二;
图4(a)为face分类数据集图片示例一;
图4(b)为face分类数据集图片示例二;
图4(c)为face分类数据集图片示例三;
图4(d)为face分类数据集图片示例四;
图4(e)为face分类数据集图片示例五;
图5(a)为face_mask分类数据集图片示例一;
图5(b)为face_mask分类数据集图片示例二;
图5(c)为face_mask分类数据集图片示例三;
图5(d)为face_mask分类数据集图片示例四;
图6(a)为MobileNet-SSD训练过程中学习率随epoch变化情况示意图;
图6(b)为MobileNet-SSD训练过程中loss随学习率变化情况示意图;
图7为VGG-SSD与MobileNet-SSD在口罩佩戴数据集的检测效果对比示意图;
图8(a)为MobileNet-SSD检测效果示意图一;
图8(b)为MobileNet-SSD检测效果示意图二;
图9(a)为MobileNet-SSD对用手遮挡面部时的检测结果示意图一;
图9(b)为MobileNet-SSD对用手遮挡面部时的检测结果示意图二;
图10为MobileNet-SSD对不佩戴口罩与佩戴不同口罩的检测结果示意图;
图11为MobileNet-SSD对佩戴口罩过程的检测结果示意图;
图12为MobileNet-SSD对遮挡面部的检测结果示意图;
图13为用先验框匹配图像的GT框的示意图;
图14为MobileNet-SSD网络框架示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,包括步骤如下:
(1)获取数据集;
(2)对步骤(1)获取的数据集进行预处理;
(3)构建轻量型网络模型,所述轻量型网络模型的网络架构为轻量型网络MobileNet-SSD;
(4)通过步骤(2)预处理后的数据集训练轻量型网络模型;
(5)将待检测的图片预处理后输入训练后的轻量型网络模型得到是否佩戴口罩的检测结果。
根据本发明优选的,步骤(1)中,获取数据集,是指:
从WIDER Face数据集中选取若干图片,标注为没有佩戴口罩的face类;
从MAFA数据集中选取若干图片,标注为佩戴口罩的face_mask类。
人脸检测数据集非常多,最常用的莫过于WIDER Face数据集。从中选出3894张图片作为face 类。对于face_mask类,使用了中科院信工所葛仕明老师开源的MAFA数据集,该数据集本是遮挡 人脸数据集,从中选择4018张佩戴口罩的照片,组成了此次口罩佩戴检测的数据集。数据集共包 含7912张图片。
实施例2
根据实施例1所述的一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,包括步骤如下:
步骤(2)中,对步骤(1)获取的数据集进行数据增强(data augmentation)操作,是指: 根据随机数种子随机进行镜像、改变比例、叠加噪声、颜色扰动变换。数据增强可以增强模型的泛 化能力,在数据集较小时也可以有效扩充数据集。
SSD网络基于一个前向传播的CNN网络,产生一系列固定大小的bounding boxes,以及每个box 中包含目标物体的分数,最后经过非极大值抑制(Non-maximumsuppression)对每个目标对象绑 定一个预测框作为检测结果。其结构如图1所示。
SSD网络采用的主干网络为VGG16网络,但是对比普通的VGG网络有一定的修改。VGG网络的 FC6层和FC7层在SSD网络中使用了卷积层代替,同时去掉了所有的Dropout层和FC8层。同时, 在VGG网络后新增了一系列卷积层。这些卷积层的输出大小不同,即感受野不同。如图2所示,SSD 网络提取conv4的第三次卷积的特征图,fc7的特征图,con6的第二次卷积的特征图,conv7第二 次卷积的特征图,conv8第二次卷积的特征图,conv9第二次卷积的特征图被提取出来以获取预测 结果,为了与普通特征层区分,称之为有效特征层。
因为使用了多尺度的特征图(38×38,19×19,10×10,5×5,3×3,1×1)进行检测,因此 特征图包含不同的语义特征和位置敏感性,在多尺度检测中表现出不错的效果。SSD网络的主干网 络为VGG。但是VGG耗费更多的计算资源,整个网络内存占用达到140M。SSD网络应用了先验框机 制(也称为默认框)。对于获取到的每一个有效特征层,对其分别进行一次num_prior×4的卷积 和一个num_classes×4的卷积。其中num_prior指的是该特征层所拥有的先验框数量,num_classes 为目标物体种类数量。分别卷积后要计算每一个有效特征层对应的先验框。每个有效特征层将图片 分成与其长宽对应的网格,每个网格的所分配的先验框个数为4个或者6个。
在训练过程中,SSD网络仅需输入训练图像与其GT框的位置。在训练时,首先将GT框与先验 框进行匹配,例如,图13中的(b)将两个先验框与猫匹配,图13中的(c)将一个先验框与狗 匹配,这几个框被视为positive,剩余框被视为positive。随后使用损失函数计算loss。数据集 为VOC2007时,num_classes=21,各有效特征层对应的先验框信息即对应的预测结果的shape如表 1所示。共8732个先验框。
表1
SSD目标检测算法的损失由位置损失(localization loss)和置信度损失(confidence loss) 的加权总和。完整公示如下
其中,N是匹配样本的总量,如果N=0,L=0。x是分类的指示量,c是分类的置信度。l,g分 别为预测框和GT框,α是位置损失的权重。
位置损失是预测框l和真是框g之间的Smooth L1损失
是指示量,当第i个匹配框和分类p的第j个真是框配对时值为1,否则为0。cx,cy,w, h分别是框的中心点横纵坐标,宽度和高度。d是网络本身预设的先验框,l是预测框(网络输出 加上预测偏移的框),g为GT框。
分类损失是分类置信度之间的softmax损失
深度可分离卷积(depthwise separable convolution)就是将普通卷积拆分为一个深度卷积 和一个逐点卷积。在标准卷积的情况下,输入一个12×12×3的一个特征图,经过5×5×3的卷积 核卷积得到一个8×8×1的输出特征图。如果输入有256个特征图,输出的shape为8×8×256。
与标准卷积网络不一样的是,如果将卷积网络拆分为单通道形式,在不改变输入特征图像的深 度的情况下,对每一通道进行卷积操作,就会得到和输入特征图通道数一样的输出特征图。例如, 当输入12×12×3的特征图,经过5×5×1×3的深度卷积之后,输出特征图为8×8×3。
逐点卷积就是1×1卷积,可以对特征图进行升维和降维。用256个1×1×3的卷积核对之前 的8×8×3特征图进行卷积操作,输出特征图的形状就与标准卷积操作相同了。
卷积核的尺寸是D=×D=×M,一共有N个。标准卷积的参数量为D=×D=×M×N,计算量为 D=×D=×M×N×D@×DA。与之相比,深度可分离卷积的参数量为D=×D=×M+M×N,计算量为D=×D=×M×D@×DA+M×N×D@×DA。其中,前项为深度卷积的计算量,后项为逐点 卷积的计算量。
2017年,谷歌提出MobileNet v1,一种大量应用深度可分离卷积的专注在移动设备应用的轻 量级网络。因为大量应用了深度可分离卷积,MobileNet的参数量与传统网络VGG等相比下降了很 多。表2给出了MobileNet与其他流行网络在分类问题上检测效果的对比。
表2
由表2可以看出,与VGG16相比,MobileNet仅牺牲了少量的准度度就大幅度减少了网络的参 数量与计算量。
考虑到SSD网络的主干网络VGG16的参数量与计算量较大,同时MobileNet可以做到取得与 VGG16相当的准确率的同时参数量与计算量得到了大幅度降低,轻量型网络MobileNet-SSD是将现 有的SSD网络中的VGG16网络替换为MobileNet,即:将SSD网络中Conv2D替换为 depthwise_conv_block,所述depthwise_conv_block包括DepthwiseConv2D卷积层(即深度卷积 层)、第一批标准化(BatchNormalization)层、第一ReLU6激活函数、逐点卷积层、第二批标准 化层、第二ReLU6激活函数。第一ReLU6激活函数、第二ReLU6激活函数均为ReLU函数,使其最 大值为6而不是正无穷。逐点卷积层使用Conv2D函数来完成。
轻量型网络MobileNet-SSD包括MobileNet、卷积层conv6、卷积层conv7、卷积层conv8、卷 积层conv9;
本发明的改进就是把SSD中的VGG16网络替换为MobileNet,如图14所示。
输入一张图片后,将其调整成合适的尺寸;
经过MobileNet,输出相应特征;
卷积层conv6用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络, 输出相应特征;
卷积层conv7用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络, 输出相应特征;
卷积层conv8用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3] 卷积网络,输出相应特征;
卷积层conv9用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3] 卷积网络,输出相应特征;
卷积层conv6、卷积层conv7、卷积层conv8、卷积层conv9均为有效特征层;
由图14可以知道,分别取MobileNet输出的特征、conv6的第二次卷积的输出的特征、conv7 的第二次卷积的输出的特征、conv8的第二次卷积的输出的特征、conv9的第二次卷积的输出的特 征,为了和普通特征层区分,称之为有效特征层;对获取到的每一个有效特征层,分别对其进行一 次num_priors x 4的卷积、一次num_priors x num_classes的卷积、并计算每一个有效特征层对 应的先验框,num_priors指的是该有效特征层所拥有的先验框数量;其中,num_priors x 4的卷 积用于预测该有效特征层上每一个网格点上每一个先验框的变化情况,num_priors x num_classes 的卷积用于预测该有效特征层上每一个网格点上每一个预测框对应的种类,每一个有效特征层对应 的先验框对应着该有效特征层上每一个网格点上预先设定好的多个框;
通过对每一个有效特征层的处理,获得三个内容,分别是:num_priors x 4的卷积用于预测 该特征层上每一个网格点上每一个先验框的变化情况;num_priors x num_classes的卷积用于预 测该特征层上每一个网格点上每一个预测框对应的种类;每一个有效特征层对应的先验框对应着该 特征层上每一个网格点上预先设定好的多个框;利用num_priors x 4的卷积与每一个有效特征层 对应的先验框获得框的真实位置,获得检测结果。
因为大量应用了深度可分离卷积,MobileNet-SSD与VGG-SSD相比参数量明显减少,在VOC2007 的数据集上两个网络的参数量如表3所示。
表3
在VOC2007数据集上,MobileNet-SSD取得了与VGG-SSD相当的检测效果(表4)。
表4
Name | VGG-SSD | MobileNet-SSD |
mAP | 76.83% | 70.23% |
图3为VGG-SSD与MobileNet-SSD在VOC2007数据集检测效果对比。从检测结果来看原SSD 网络对小目标检测的能力高于MobileNet-SSD,但是对于正常目标(位置与大小适中,无遮挡等), MobileNet-SSD检测能力并不差。
步骤(4)中,通过步骤(2)预处理后的数据集训练轻量型网络模型,包括步骤如下:
A、真实框的处理:在训练的时候,需要计算loss函数,这个loss函数是相对于MobileNet-SSD 网络的预测结果的。把图片输入到所述轻量型网络MobileNet-SSD中,得到预测结果;同时把真实 框的信息进行编码,编码是指将真实框的位置信息格式转化为所述轻量型网络MobileNet-SSD的预 测结果的格式;即:找到每一张用于训练的图片的每一个真实框对应的先验框,并求出如果想要得 到这样一个真实框,预测结果应该是怎么样的;在训练的时候只选择iou最大的先验框,这个iou 最大的先验框就是用来预测这个真实框所用的先验框;因此,经过一次筛选,将上述代码获得的真 实框对应的所有的iou较大先验框的预测结果中,iou最大的那个筛选出来。通过assign_boxes 就获得了,输入进来的这张图片,应该有的预测结果是什么样子的。
B、利用处理完的真实框与对应图片的预测结果计算loss;loss的计算分为三个部分:1、获 取所有正标签的框的预测结果的回归loss;2、获取所有正标签的种类的预测结果的交叉熵loss; 3、获取一定负标签的种类的预测结果的交叉熵loss;由于在ssd的训练过程中,正负样本极其不 平衡,即存在对应真实框的先验框可能只有2~3个,但是不存在对应真实框的负样本却有几千个, 这就会导致负样本的loss值极大,因此可以考虑减少负样本的选取。
为验证本发明的有效性,采用如下实验数据集进行验证:
口罩佩戴检测通常将标签分为两类:没有戴口罩的face类和佩戴口罩的face_mask类。人脸 检测数据集非常多,最常用的莫过于WIDER Face数据集。从中选出3894张图片作为face类。如 图4(a)、图4(b)、图4(c)、图4(d)、图4(e)示例所示。对于face_mask类,使用了中科 院信工所葛仕明老师开源的MAFA数据集,该数据集本是遮挡人脸数据集,从中选择4018张佩戴口 罩的照片,如图5(a)、图5(b)、图5(c)、图5(d)示例所示。组成了此次口罩佩戴检测的数 据集。数据集共包含7912张图片。
通常用mAP来评估目标检测网络的性能。考虑到口罩佩戴检测的应用场景,往往是在超市、车 站等入口处,这些场景中应用的特点是人脸在在图像捕捉设备中的位置与大小相对固定。因此可以 忽视掉图片中小目标的人脸无法检测的状况(face分类中,小目标或模糊不清、互相遮挡等目标 数量较多,并且MobileNet-SSD自身对小目标的检测就不够理想),因为应用场景中较小的目标(距 离较远)会逐渐移动到前方使得可以被检测到。考虑到以此种指标来评估工作量较大,所以下文仍 以mAP为精确度指标进行比较。同时,作为实时检测系统,FPS也是重要的指标之一。
实验环境与训练过程:
软件环境:
OS:Windows 10
Python:Anaconda3 python3.7
cudnn:7.4.1.5
CUDA:10.0
Tensorflow:tensorflow-gpu==1.13.2
Keras:keras==2.1.5
硬件环境:
CPU:Intel(R)Core(TM)i7-9700 CPU@3.00GHz
GPU:NVIDA GeForce RTX 2060
首先根据数据集中GT框的纵横比,将MobileNet-SSD中的先验框的纵横比调整为1.5 (num_prior=4)与(1.5,2)(num_prior=6),可以加速网络的收敛速度,以减少训练时间。
基于迁移学习的思想,使用在ImageNet上训练好的权重作为初始权重进行训练,并且在训练 初期设置前81层(主干网络部分)“trainable==False”,只训练先验框回归的权重。在25epoch 后所有网络权重“trainable==True”,并且降低学习率,对整个网络进行微调。迁移学习可以加 快模型训练速度。
训练过程中对输入图像进行数据增强(data augmentation)操作,根据随机数种子随机进行 镜像,改变比例,叠加噪声,颜色扰动等变换。数据增强可以增强模型的泛化能力,在数据集较小 时也可以有效扩充数据集。
训练过程中使用Adam优化器,β1设置为0.9,β2设置为0.999。
训练采取逐渐降低学习率的方法,当val_loss在3个epoch内不下降时便自动降低学习率, 同时使用tensorboard进行监测学习进程,如图6(a)、图6(b)所示。图6(a)中,横坐标为 epoch,纵坐标是学习率。图6(b)中,横坐标学习率,纵坐标loss损失。
图3(a)为VGG-SSD与MobileNet-SSD在VOC2007数据集检测效果示意图一;图3(b)为VGG-SSD 与MobileNet-SSD在VOC2007数据集检测效果示意图二;表5为原始VGG-SSD模型与MobileNet-SSD 模型在口罩佩戴数据集上训练过后的检测效果(输入图片大小为300×300)。
表5
VGG-SSD | MobileNet-SSD | |
Parameters | 23,879,570 | 6,408,110 |
Face AP | 60.38% | 52.59% |
Face_mask AP | 94.38% | 92.56% |
mAP | 77.38% | 72.57% |
FPS | 27 | 55 |
从表5可以看出,MobileNet-SSD在口罩佩戴数据集上的参数仅有6M,与VOC2007数据集(接 近9M)相比参数量又降低了。而且从监测结果上来看,虽然两个网络mAP有五个百分点的差距, 但是这个差距大多来源于face分类,因为数据集中face类的小目标等较多。但根据刚才的分析, 小目标的检测并不影响应用效果,或者说,不检测小目标更有利于实际应用。同样,在face_mask 分类上,MobileNet-SSD的性能与原SSD网络相差并不大。
图7为VGG-SSD与MobileNet-SSD在口罩佩戴数据集的检测效果对比,其中左图为VGG-SSD 在口罩佩戴数据集的检测效果图(face=0.99,face_mask=0.97),右图为MobileNet-SSD在口罩佩 戴数据集的检测效果图(face=0.96,face_mask=0.97),可以看出两个网络对正常目标(大小位置 适中,无遮挡且清晰)的检测效果相当。
图8(a)及图8(b)为MobileNet-SSD对正常目标的检测效果。在检测速度上,MobileNet-SSD 达到了55FPS,达到了原SSD检测速度的两倍,可以满足实时检测的需求。
因为在数据集中加入了用手或者其他物体遮挡面部的图片,所以网络也可以分辨是否用其他物 体遮挡面部而并非佩戴口罩,效果如图9(a)及图9(b)所示。
在Python3.7中使用cv2实现了将目标检测网络应用于视频检测。对使用iphone11前置摄像 头拍摄的30FPS的一段视频的检测效果。
图10、图11、图12分别为对不佩戴与佩戴不同口罩的检测,对佩戴口罩过程的检测与对遮 挡面部的检测的检测效果截图。由检测结果可以看出,无论在实时性和准确性上,MobileNet-SSD 都能够满足实际应用需要。
实施例3
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述 计算机程序时实现实施例1或2基于轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
实施例4
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施 例1或2基于轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
Claims (6)
1.一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,其特征在于,包括步骤如下:
(1)获取数据集;
(2)对步骤(1)获取的数据集进行预处理;
(3)构建轻量型网络模型,所述轻量型网络模型的网络架构为轻量型网络MobileNet-SSD;
(4)通过步骤(2)预处理后的数据集训练轻量型网络模型;
(5)将待检测的图片预处理后输入训练后的轻量型网络模型得到是否佩戴口罩的检测结果。
2.根据权利要求1所述的一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,其特征在于,步骤(1)中,获取数据集,是指:
从WIDER Face数据集中选取若干图片,标注为没有佩戴口罩的face类;
从MAFA数据集中选取若干图片,标注为佩戴口罩的face_mask类。
3.根据权利要求1所述的一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,其特征在于,步骤(2)中,对步骤(1)获取的数据集进行数据增强操作,是指:根据随机数种子随机进行镜像、改变比例、叠加噪声、颜色扰动变换。
4.根据权利要求1所述的一种基于轻量型网络MobileNet-SSD的口罩佩戴检测方法,其特征在于,所述轻量型网络MobileNet-SSD包括MobileNet、卷积层conv6、卷积层conv7、卷积层conv8、卷积层conv9;
输入一张图片后,将其调整成合适的尺寸;
经过MobileNet,输出相应特征;
卷积层conv6用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络,输出相应特征;
卷积层conv7用于:经过一次[1,1]卷积网络,调整通道数,一次步长为2的[3,3]卷积网络,输出相应特征;
卷积层conv8用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3]卷积网络,输出相应特征;
卷积层conv9用于:经过一次[1,1]卷积网络,调整通道数,一次padding为valid的[3,3]卷积网络,输出相应特征;
卷积层conv6、卷积层conv7、卷积层conv8、卷积层conv9均为有效特征层;
分别取MobileNet输出的特征、conv6的第二次卷积的输出的特征、conv7的第二次卷积的输出的特征、conv8的第二次卷积的输出的特征、conv9的第二次卷积的输出的特征,分别对其进行一次num_priors x 4的卷积、一次num_priors x num_classes的卷积、并计算每一个有效特征层对应的先验框,num_priors指的是该有效特征层所拥有的先验框数量;其中,num_priors x 4的卷积用于预测该有效特征层上每一个网格点上每一个先验框的变化情况,num_priors x num_classes的卷积用于预测该有效特征层上每一个网格点上每一个预测框对应的种类,每一个有效特征层对应的先验框对应着该有效特征层上每一个网格点上预先设定好的多个框;
利用num_priors x 4的卷积与每一个有效特征层对应的先验框获得框的真实位置,获得检测结果。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4任一所述的基于轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一所述的基于轻量型网络MobileNet-SSD的口罩佩戴检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110432067.2A CN113076923A (zh) | 2021-04-21 | 2021-04-21 | 基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110432067.2A CN113076923A (zh) | 2021-04-21 | 2021-04-21 | 基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113076923A true CN113076923A (zh) | 2021-07-06 |
Family
ID=76618263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110432067.2A Pending CN113076923A (zh) | 2021-04-21 | 2021-04-21 | 基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076923A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092998A (zh) * | 2021-11-09 | 2022-02-25 | 杭州电子科技大学信息工程学院 | 一种基于卷积神经网络的佩戴口罩人脸识别检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200265255A1 (en) * | 2017-11-12 | 2020-08-20 | Beijing Sensetime Technology Development Co., Ltd. | Target detection method and apparatus, training method, electronic device and medium |
CN111931623A (zh) * | 2020-07-31 | 2020-11-13 | 南京工程学院 | 一种基于深度学习的人脸口罩佩戴检测方法 |
CN112464701A (zh) * | 2020-08-26 | 2021-03-09 | 北京交通大学 | 基于轻量化特征融合ssd的人员是否佩戴口罩检测方法 |
-
2021
- 2021-04-21 CN CN202110432067.2A patent/CN113076923A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200265255A1 (en) * | 2017-11-12 | 2020-08-20 | Beijing Sensetime Technology Development Co., Ltd. | Target detection method and apparatus, training method, electronic device and medium |
CN111931623A (zh) * | 2020-07-31 | 2020-11-13 | 南京工程学院 | 一种基于深度学习的人脸口罩佩戴检测方法 |
CN112464701A (zh) * | 2020-08-26 | 2021-03-09 | 北京交通大学 | 基于轻量化特征融合ssd的人员是否佩戴口罩检测方法 |
Non-Patent Citations (4)
Title |
---|
BUBBLIIIING: "睿智的目标检测23——Pytorch搭建SSD目标检测平台", 《CSDN》 * |
BUBBLIIIING: "睿智的目标检测24——Keras搭建Mobilenet-SSD目标检测平台", 《CSDN》 * |
王兵: "改进YOLO轻量化网络的口罩检测算法", 《计算机工程与应用》 * |
风度78: "开源!人脸口罩检测数据+模型+代码+在线网页体验", 《CSDN》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092998A (zh) * | 2021-11-09 | 2022-02-25 | 杭州电子科技大学信息工程学院 | 一种基于卷积神经网络的佩戴口罩人脸识别检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Du | Understanding of object detection based on CNN family and YOLO | |
CN108133188B (zh) | 一种基于运动历史图像与卷积神经网络的行为识别方法 | |
CN112949572B (zh) | 基于Slim-YOLOv3的口罩佩戴情况检测方法 | |
Negi et al. | Face mask detection classifier and model pruning with keras-surgeon | |
WO2019237567A1 (zh) | 基于卷积神经网络的跌倒检测方法 | |
CN111062429A (zh) | 基于深度学习的厨师帽和口罩佩戴的检测方法 | |
Dimokranitou | Adversarial autoencoders for anomalous event detection in images | |
JP2017157138A (ja) | 画像認識装置、画像認識方法及びプログラム | |
CN109657545B (zh) | 一种基于多任务学习的行人检测方法 | |
CN108805140B (zh) | 一种基于lbp的特征快速提取方法及人脸识别系统 | |
CN110232361B (zh) | 基于三维残差稠密网络的人体行为意图识别方法与系统 | |
CN106650617A (zh) | 一种基于概率潜在语义分析的行人异常识别方法 | |
CN112668366A (zh) | 图像识别方法、装置、计算机可读存储介质及芯片 | |
Algamdi et al. | Learning temporal information from spatial information using CapsNets for human action recognition | |
Zhou et al. | A study on attention-based LSTM for abnormal behavior recognition with variable pooling | |
Zhang et al. | X-Net: A binocular summation network for foreground segmentation | |
CN113076923A (zh) | 基于轻量型网络MobileNet-SSD的口罩佩戴检测方法、设备及存储介质 | |
CN111881803B (zh) | 一种基于改进YOLOv3的畜脸识别方法 | |
Murugan et al. | Fragmented iris recognition system using BPNN | |
Vinodhini et al. | Detection of Post COVID-Pneumonia Using Histogram Equalization, CLAHE Deep Learning Techniques | |
CN113449550A (zh) | 人体重识别数据处理的方法、人体重识别的方法和装置 | |
CN109815786B (zh) | 一种基于区域熵特征的步态识别方法 | |
CN114943873B (zh) | 一种工地人员异常行为分类方法及装置 | |
Wang et al. | A hierarchical learning approach for detection of clustered microcalcifications in mammograms | |
Sun et al. | Flame Image Detection Algorithm Based onComputer Vision. |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210706 |