基于改进后的SSD人脸口罩佩戴识别方法研究与典型应用
2021-06-11刘子龙周志鹏万森许瑞
■ 文/刘子龙 周志鹏 万森 许瑞
1.安徽科大擎天科技有限公司 2.安徽省公安厅科技信息化处
关键字:人脸口罩佩戴识别技术 智慧社区 疫情防控
1 引言
社区通过传统的视频监控手段可以实现社区进出人员的身份识别,满足社区通行管理和安全监控需求。疫情防控期间,佩戴口罩是疫情防控的最佳手段,也是人员出行的基本要求。但在佩戴口罩的情况下,人脸识别系统如何做到戴口罩刷脸通行,避免接触感染,成为疫情防控和治安防控要求下的新难题。
传统的口罩识别技术采用MTCNN(多任务级联卷积神经网络)或SSD(单发多边框检测器)网络作为口罩佩戴识别的网络模型,在识别准确率和识别速度等方面不尽如人意,给社区疫情防控工作带来不便,进而带来疫情传播风险。因此,为解决传统识别方法中识别率和准确率低等问题,我们对传统SSD架构进行了改进,增加对戴口罩人脸的检测,实现自动准确且快速地识别人脸或视频中的人物是否佩戴口罩,有效预防感染、防控疫情。
2 传统口罩佩戴识别的网络模型
2.1 MTCNN网络
对于口罩识别功能,目前大多采用神经网络进行识别,很多安防监控系统通过系统升级来实现口罩识别。例如,采用MTCNN(多任务级联卷积神经网络)作为口罩佩戴识别的网络模型,在光谱图像上标记ROI(感兴趣区域)的目标区域,获取坐标和类别信息,训练SVM(支持向量机)分类器,进而针对是否佩戴口罩进行分类判断。该方法的缺点在于光谱成像仪成本高,且识别流程冗余,速度慢。
2.2 SSD网络
传统的SSD(单发多边框检测器)网络同样可以作为口罩佩戴识别的网络模型。采用视频监控图像作为检测输入,降低了采样端设备安装和使用成本,但采用SSD方案仍然存在模型的鲁棒性差、识别准确率低等缺点。同时,该方法对硬件处理性能要求较高,网络模型的识别速率相对较慢,导致系统实时性不足。除此之外,检测目标对象用衣物或手臂捂住口鼻、天气及环境因素等很多非系统原因也会导致识别系统的识别准确率降低。
3 基于改进后的SSD人脸口罩佩戴识别方法
本文设计了一种人脸口罩佩戴识别方法、系统及终端。基于改进后的SSD网络模型设计,解决了传统识别方法误检率高和识别速率低、实时性差、易受环境等因素干扰等缺点。该识别方法包括以下过程。
3.1 原始数据集获取
对社区真实的历史监控视频数据分帧处理,选择其中包含人脸的图像,并人工将其分类标记为佩戴口罩和未佩戴口罩两类图像,从而获得包含两类图像的原始数据集。其中,原始数据集中佩戴口罩和未佩戴口罩的人脸图像数量比为3:1。
3.2 数据集增强
采用数据集增强方法对原始数据集进行预处理,将处理后的图像增加到原始数据集中,获得扩增后的训练数据集。数据集增强方式包括:角度旋转、随机裁剪、亮度调整、对比度调整。
角度旋转指对原始图像进行任意角度旋转的变化,该过程中人物图像主体的位置被改变,契合了真实场景下取景角度的差异。
随机裁剪是对原始图像进行裁剪,在该变换情况下,人物主体在图像中的大小比例发生改变,契合了真实场景下人物主体位置变化带来的前景和后景的景深变化。
亮度调整是对图像的亮度进行调整,对比度调整是改变图像的对比度。在这两种调整情况下,图像质量被改变,契合了真实场景下因为光纤、空气质量等环境因素造成取像质量不一的情况。
可见,数据集增强处理的应用,有效解决了常规取景状态下可能存在的各种影响成像质量的问题,也满足了神经网络在训练过程中准确识别图像中人物对口部进行遮挡和欺骗行为等深层语义特征的识别要求,保障了神经网络最终识别准确率。同时对于克服小样本缺陷,改善神经网络的鲁棒性,并最终达到工业化应用的标准也具有重要意义。
3.3 神经网络模型的构建
将单发多边框检测器基础网络模型中的主干网络替换为具有残差结构的DenseNet网络,并在神经网络模型中引入具有特征融合的特征金字塔模块,进而构建改进后的基于单发多边框检测器的神经网络模型。其中,改进后的神经网络模型对输入数据集的识别处理过程包括如下步骤:
1)对输入图片进行预处理,将图片尺寸统一调整为300×300,所述图片作为网络模型的输入神经元;
2)输入图片经过网络模型中的多个卷积层后,进入到DenseNet网络;DenseNet网络在前面层和后面层之间建立短路连接,增强训练过程中梯度的反向传播,获取准确参数,得到第一个特征图;
3)图片继续在卷积层中进行前向传播和后向参数调整传播,并在经过若干卷积层后依次获得第二、三、四、五、六个特征图;
4)利用神经网络模型产生的第一、第二和第三特征图搭建特征金字塔结构,通过神经网络模型中的特征金字塔模块对特征图进行特征信息融合;
5)设置神经网络模型损失函数,然后对六个特征图进行目标分类和位置定位,获得特征图的目标检测框;
6)通过非极大值抑制方法找到最佳目标检测框,消除冗余的目标检测框,进而针对获取最佳目标检测框,得到检测目标是否佩戴口罩的识别结果。
传统SSD网络模型的网络架构如图1所示。
图1 传统SSD网络模型的网络架构
在该网络模型中,样本图像从左边第一个模块输入,输入图像经过预处理后,图片规格统一调整为300×300,然后数据会经过第二部分的主干网络,传统SSD网络的主干网络为VGG-16网络,主干网络中最后两个全连接层为卷积层,随后为增加的4个卷积层,依次为:conv8_2、conv9_2、conv10_2、conv11_2,在该网络模型中,图像信息最终经过神经网络中的卷积操作达到conv5_3层,将该层卷积后的图像作为第一个特征图。
经过conv5_3层后,图像继续在卷积层中前向传播和后向参数调整传播,经过卷积操作,在conv7即第七全连接层中调整通道数,图像在该层卷积后的输出作为第二个特征图。
在接下来的各卷积层中,四层网络每层都会产生一个特征图。因此,在卷积层结束后一共会产生六个特征图,分别是conv5_3、conv7(FC7)、conv8_2、conv9_2、conv10_2、conv11_2。这六个特征图都要经过目标分类和位置定位,不同的是这四个特征图尺度大小不一样,所能识别的物体体积不一样,通常低层次的特征图对小目标的识别更为准确。
随着特征图层次的提高,其所能识别的目标体积也逐渐增大。上述六个特征图会产生数量庞大的目标检测框。最终SSD网络会将这些框进行非极大值抑制(NMS),筛选出一定区域内属于同一种类得分最大的框,将识别结果框出并显示。
该项技术中,将传统的VGG-16主干网络改成了DenseNet网络,可以使目标检测的神经网络层数变得更深,避免传统识别网络模型中出现的梯度爆炸和计算量变大的问题,同时可以提高识别率。DenseNet网络的网络结构如图2所示。
图2 DenseNet网络的网络结构
在DenseNet网络中,最左边为输入图像,原始图像输入被等比缩放至300×300的尺寸,作为神经网络的输入神经元。经过若干卷积层后,图片会进入DenseNet网络,DenseNet网络是在前面层和后面层之间建立短路连接,增强训练过程中梯度的反向传播,更快更准确地获取参数。在DenseNet网络中,x0是网络的初始输入;H1的输入是x0,输出是x1;而H2的输入是x0和x1,输出是x2,以此类推。在这种网络构架中,网络更窄、参数更少,每个卷积层输出特征图的数量都很小,而且特征和梯度的传递更加有效,网络更加容易训练。
在经过主干网络DenseNet后,数据网络模型可以获取第一个特征图;再经过若干卷积层,获取第二个特征图,第二个特征图在conv7层中产生;图像继续在卷积层中进行前向传播和后向参数调整传播;接下来的四层卷积层,分别为conv8_2、conv9_2、conv10_2、conv11_2,上述四层卷积层都会产生一个特征图,在卷积层结束后一共会产生六个特征图。
该技术的神经网络模型,在对图像的特征提取过程中引入了特征金字塔结构,对不同尺度的特征图进行特征融合,检测对应尺度的目标。SSD网络模型在训练过程中会产生六个不同尺度的特征图,该项技术将前三个特征图构建特征金字塔结构,目的是加强目标特征提取,以获取更完整的特征信息,提高目标检测的最终识别率。特征金字塔模型的架构如图3所示。
图3 特征金字塔模型的架构
特征金字塔模型中特征信息的融合过程如下:
原始的输入特征图沿特征金字塔模型左侧最低层输入,并自下向上获得尺寸依次减小的第一、第二和第三特征图;特征金字塔模型右侧进行自上向下的特征融合,其中最上方第四特征图的输入是由左侧第三特征图进行卷积得到的,下一层级的第五特征图输入是由左侧第二特征图进行卷积得到的,最后一个层级的第六特征图输入是由左侧第一特征图进行卷积得到的。特征金字塔模型中,同一层级的左右特征图进行信息叠加从而实现特征图的特征信息融合。
在该项技术的神经网络模型中,产生的六个特征图都会进行目标分类和位置定位,因此,还需要定义识别定位过程中的损失函数。
上式中,X为当前预测框的类别匹配信息,c为类别置信度预测值,l表示预测框坐标,g表示真实框坐标,N表示与该类别的校准框匹配成功的默认框数量,a为拉格朗日乘子,来平衡置信度误差和位置误差。
其中,置信误差函数的表达式如下:
考虑到神经网络模型在识别检测过程中产生候选框的数量过于庞大,该技术采用NMS(非极大值抑制)方法进行候选框择优。
非极大值抑制方法的对目标检测框的处理过程如下:
1)依靠神经网络模型中的分类器获取多个候选框及候选框中属于类别的概率值;
2)对分类器得到的所有候选框进行得分排序,选中最高分及其对应的候选框;
3)遍历其余的候选框,比较当前最高分候选框的重叠面积IOU与设定阈值的关系,并作出如下判断:
a)当最高分候选框的重叠面积小于阈值时,则保留当前候选框;
b)当最高分候选框的重叠面积大于或等于阈值时,则将当前候选框删除。
4)重复步骤3),依次处理所有候选框,完成对候选框非极大值抑制处理过程,获得最佳目标检测框。
3.4 神经网络模型训练
需要对构建的神经网络模型进行训练,以提高其对于目标检测对象的识别准确率。该阶段,需要根据具体的训练指标要求设定训练阶段的相关参数,这些参数包括学习率、迭代次数和衰减策略等。该项技术中,利用经过数据集增强方法扩增后的训练数据集作为样本输入,对基于SSD网络改进的神经网络模型进行迭代训练,训练完成后保存经训练过的具有最优识别效率的神经网络模型。
3.5 输入检测图像获取
神经网络模型在进行目标对象是否佩戴口罩的识别检查过程中,输入样本数据是从视频监控中获取的图像。该项技术中,通过分帧方法将实时获取的监控视频转化为逐帧图像,并识别出其中含有人脸的目标图像。
通常,一段视频经分帧后产生的图像很多,在实际识别检测过程中无需对所有图像进行输入识别,否则会导致系统处理难度和数据量激增。因此,可以通过择优方式选择其中的若干张作为输入图像进行检测。通常,选择标准是人物主体在图像的中央区域且图像质量较佳,图像质量的判断指标包括亮度、对比度和图像噪点等。在针对逐帧图像选取最佳图像之后,还需要通过对目标图像进行亮度调整和清晰度提升完成图像预处理。其中,通常需要将图像的亮度提升至可清晰辨认人物主体的程度,而清晰度调整可通过图像去噪等技术实现,最后再将预处理后的图像作为目标检测图像输入。
3.6 口罩佩戴识别检测
将实时监控过程中提取并预处理后的目标检测图像作为输入,训练完成后的神经网络模型对其进行识别和检测,获取检测目标对象是否佩戴口罩的识别结果。该处理结果可以通过语音或视频图像方式直接输出,也可以传输到其它功能系统中,作为后续管理执行过程的依据。
4 基于改进后的人脸口罩佩戴识别技术在实际应用中的测试
人脸口罩佩戴识别技术通过对传统SSD模型进行改进,将具有残差结构的DenseNet网络和具有特征融合的特征金字塔(FNP)模块引入到网络模型中,提高了网络模型的深度和对融合特征的提取性能,进而提升网络模型识别精度和处理速度。在社区疫情防控中,进出人员在正确佩戴口罩的场景下,可以实现无接触式的精准快速身份识别。
为检测该项技术方法的优越性,本文进行了MTCNN、SSD与改进后的SSD网络模型性能对比实验。测试应用数据包含10个随机小区,10万条人脸数据。性能评价指标包括用于评估识别准确率的mAP(均值平均精度)和用于评估检测速率的FPS(每秒帧率)。具体参见表1。
表1 对比实验中各类目标检测方法的性能测试结果
从对比结果来看,改进后的SSD网络模型,相比于MTCNN模型,检测精度提升了9.09%,检测速度提高了8.1 FPS,效果比较明显;相比于传统SSD模型,检测精度提高了7.27%,检测速度提高了5.7 FPS。因此可以判定,改进后的SSD网络模型显著提高了人脸口罩佩戴识别的准确率和检测速率,性能上有了明显提升。
5 基于改进后人脸口罩佩戴识别技术的社区疫情精准防控系统
社区疫情精准防控是一项复杂任务,因此,将改进后的人脸口罩佩戴识别技术运用到社区疫情精准防控系统中,可有效提升社区疫情防控智能化水平。系统主要包括实时测温单元、脸部跟踪单元、信息扫描单元、闸机控制单元。具体如图4所示。
图4 社区疫情精准防控系统架构图
实时测温单元包括非接触式红外体温测量仪,采用红外扫描的方式检测体温。
脸部跟踪单元,包括改进后的人脸口罩佩戴识别模块和人脸精准识别模块(包含佩戴口罩场景)。口罩识别模块识别是否佩戴口罩。人脸精准识别模块,通过采集人脸图片(包含佩戴口罩场景)并提取人脸特征值,从而与信息扫描单元扫描的身份证信息上的人脸进行特征值比对,实现人员精准识别。
信息扫描单元包括身份信息扫描模块、身份信息输入模块和健康码信息扫描模块。身份信息扫描模块用以扫描身份证信息,包括身份证号、姓名、住址及人脸图片等等。身份信息输入模块是针对未携带身份证者提供一个手动输入身份信息的界面。健康码信息扫描模块用以扫描并记录健康码,以及解读其代表含义。
闸机控制单元包括信号接受模块、闸机控制机和警报控制机。信号接受模块用于接收是否放行以及是否发出警报指令,当收到放行指令时,闸机控制机打开闸门放行,当收到发出警报指令时,警报控制机发出报警警示音。
我们选取5个社区,对每个社区全天出入人员进行疫情防控识别(5个社区数据量分别为10000人次、12000人次、13000人次、16000人次、20000人次),判别是否体温正常、佩戴口罩等。测试结果如图5所示。
图5 改进前与改进后的社区疫情防控系统准确率测试
6 结语
社区是疫情防控的第一道防线,在社区疫情防控中,做好人脸识别检测、体温测量与人员管控,是有效防控疫情和进行社区管理的重要举措。基于改进后人脸口罩佩戴识别技术的社区疫情精准防控系统,有效解决传统网络模型下人脸识别图像识别难度大、准确率低、速度慢等难题,结合实时测温与身份采集,促进了疫情防控的智能化发展。同时,在社区人流量大、人员流动性强的情况下,口罩佩戴识别做到高效、快速通行,真正实现“无接触”服务,大大提升了疫情防控形势下社区管理的智能化水平,保障了社区安全。