APP下载

基于人体关键点与迁移学习的口罩佩戴检测研究

2023-07-29叶永雪马鸿雁

计算机仿真 2023年6期
关键词:关键点人脸口罩

叶永雪,马鸿雁*,2,3

(1. 北京建筑大学电气与信息工程学院,北京 100044;2. 建筑大数据智能处理方法研究北京市重点实验室,北京 100044;3. 智慧城市国家级虚拟仿真实验教学中心,北京 100044)

1 引言

自2019年末新型冠状病毒肺炎以来,疫情飞速蔓延至全球。在疫情常态化的当下,正确佩戴口罩可以简单并有效的减少飞沫传播,切断病毒传播途径,减缓疫情[1]。但在某些场合,存在口罩佩戴不严谨且无法检测的问题[2]。随着计算机视觉技术的快速发展,目标检测在近几十年得到了高速发展。有效的口罩佩戴检测系统对于公众防范新型冠状病毒感染,降低感染风险具有十分重要的意义[2]。时下针对口罩等小目标的检测算法主要包含两类:基于机器学习的算法以及基于迁移学习的算法[3]。基于机器学习的算法包含单阶段检测算法与双阶段检测算法[5],有检测精度高,检测速度快等优势,但需要大量的数据作为算法支撑。而基于迁移学习的算法则可以弥补基于大数据和深度学习的物体检测方法的不足[4]。

机器学习的单阶段口罩检测算法以YOLO系列为主[5]。J R等基于YOLO算法,设计出高检测速度的YOLO目标检测系统。但是该系统存在检测边框不稳定等问题[6]。在此之上,J R通过扩展数据类型,提出YOLO v2算法。该算法可以检测多达9000个目标类别,但对口罩等小物体检测敏感度低[7]。A K等人对YOLO的各类变种算法进行实验,实验结果显示,YOLO v3在口罩等小目标检测中有较高的精确性,但是该算法需大量的算力,不适合嵌入式或移动设备推广[8]。叶子勋等通过替换YOLO v4算法的主干特征提取网络,有效的提高了该算法的鲁棒性,该算法考虑到光照的影响。但该算法的泛化能力较差,时效性也较低[10]。谈世磊通过将YOLO v5网络模型用于口罩佩戴检测,在保证较高的准确率的同时,大幅度的提高了帧频速度,解决了口罩佩戴检测速度较低下的问题。但该研究仅完成前期算法测试,后期算法部署仍存有局限性[11]。

迁移学习在农业病理图像识别中取得了不错的应用成果。张德军等人基于GoogLeNet网络进行迁移学习,采用图像增强,区域填充等图像处理手段,有效的检测出芒果的各类病状[12]。赵立新等利用迁移学习算法并辅以数据增强技术,将Plant Village领域的知识迁移到棉花病虫害领域,解决了棉花叶部病虫害图像识别问题[13]。许景辉等提出基于迁移学习的卷积神经网络玉米病害识别模型,并开发图形用户界面,可实现田间玉米大斑病与锈病图像的智能识别[14]。黎振等针对番茄病理叶片存在背景干扰问题,提出基于迁移学习和k-means分割的方法对番茄病害叶片进行识别。可以有效的辨别出白粉病、早疫病、叶霉病、斑点病、黄花曲叶病等[15]。

在新冠疫情的大环境下,口罩正确佩戴检测研究是计算机视觉和模式识别中备受青睐的热点[16]。许德刚认为,如何在不影响检测速度的前提下提高口罩佩戴检测精度是未来发展的趋势[17]。而基于机器学习的单阶段口罩佩戴检测精度低,双阶段口罩佩戴检测速度慢,使其难以产品化[18]。迁移学习拥有低数据基础、高检出率等优点[19],使得其产品化较为容易。本文基于领域自适应迁移学习建立口罩佩戴检测模型,并将该模型嵌入到手持摄像头中。

2 基于迁移学习的口罩佩戴检测研究理论

2.1 迁移学习理论

迁移学习(Transfer learning)是将已训练好的模型即预训练模型的参数迁移到新的模型来帮助新模型进行训练[20]。具体的迁移学习过程见图1所示。常见的迁移学习包括在领域自适应迁移学习、线迁移学习、终身迁移学习、异构迁移学习、深度迁移学习、强化迁移学习、对抗迁移学习等。

图1 迁移学习过程

2.2 领域自适应迁移学习的口罩佩戴检测模型

领域自适应迁移学习是目前较为实用的迁移学习。领域自适应迁移学习将不同源领域的数据及特征映射到相同特征空间,增强目标领域的训练,可以达到更好的训练效果。综上本文基于领域自适应迁移学习建立口罩佩戴检测模型。图2为基于领域自适应迁移学习口罩佩戴检测流程图,该流程主要由三大部分组成。

图2 领域自适应迁移学习口罩佩戴检测流程

1)数据处理:将采集的数据集进行人体关键点检测-人脸分割,去除图像背景及人体姿态的影响;然后对分割后的图像进行预处理;最后利用数据增强技术扩充数据样本的数量。

2)模型建立:将处理后的图像数据按照8:2的比例分为训练集和测试集。利用训练级的图像数据训练基于领域自适应迁移学习口罩模型,并以混淆矩阵的方式检测模型的精准率与召回率。

3)模型输出与重利用:将输出的模型嵌入到手持摄像头中,以实现口罩佩戴检测的硬件部署部署。

2.3 口罩佩戴检测模型评价指标

2.3.1 精准率与召回率

精准率与召回率是口罩佩戴检测模型好坏的重要的判断标准。精确率表示检测为正的样本中有多少是真正的正样本。召回率表示样本中的正类有多少被检测正确。本文正确佩戴口罩(mask)为正类,未佩戴口罩(face)、错误佩戴口罩(mistake)为负类。则精准率P与召回率R如式(1)所示

(1)

式中:TP—正类检测为正类数;

FN—正类检测为负类数;

FP—负类检测为正类数;

TN—负类检测为负类数。

2.3.2 混淆矩阵

混淆矩阵用于描绘样本数据的真实属性与识别结果类型之间的关系。表1显示口罩佩戴检测模型中各个类别检测的结果。

表1 口罩佩戴检测模型混淆矩阵

在表1口罩佩戴检测模型混淆矩阵中,X1%表示正确佩戴口罩(mask)数据中模型检测正确的百分比。Y1%表示正确佩戴口罩(mask)数据中模型检测错误,即检测为未佩戴口罩(face)的百分比。同理,Y3%表示不正确佩戴口罩(mistake)数据中模型检测错误,即检测为正确佩戴口罩(mask)的百分比。该模型希望X1%,X2%,X3%趋近于100%。

2.3.3 基于混淆矩阵的模型准确率

基于混淆矩阵的分类准确率用于反映模型对不同类别目标检测的准确性。该模型的数据集类别分为3类:正确佩戴口罩(mask)类,未佩戴口罩(face)类、错误佩戴口罩(mistake)类。在口罩佩戴检测的混淆矩阵中,模型准确率H计算见式(2)。

(2)

式中:Xi—表1中的X1%,X2%,X3%;

hi—类别数据对应数据集中的占比。

3 口罩佩戴检测模型研究进展

3.1 数据图像样本采集

3.1.1 数据图像采集装置

本文通过悬挂式摄像头采集人脸是否佩戴口罩图像数据。摄像头具体参数如下:支持Windows操作系统,有效像素为210万,信噪比大于50dB,镜头焦距为3.6mm,采用标准USB2.0接口,兼容USB3.0接口,最大分辨率为1280×720,视频输出格式为AVI,图片输出格式为JPG。视频输出大小为YUY2(640×480),输出图像质量满足Skype &Lynx要求。摄像头如图3所示

图3 数据图像采集摄像头

3.1.2 数据图像采集类别

采集的数据图像包括三大类:正确佩戴口罩(mask)类,共采集数据图像3548张;未佩戴口罩(face)类,共采集数据图像1156张;错误佩戴口罩(mistake)类,共采集数据图像1352张。采集的数据图像总计超6000张。

正确佩戴口罩(mask)类数据为正类,该数据在采集过程中考虑到人脸配饰的遮挡与否的情况,即考虑到被采集人员的性别,是否佩戴帽子,是否佩戴眼镜以及佩戴口罩的颜色等情况。详见表2正确佩戴口罩类采集情况。

表2 正确佩戴口罩类采集情况

错误佩戴口罩(mistake)类为负类,主要包含三大类别:mis1-口罩佩戴未遮住鼻腔类,mis2-口罩佩戴未遮住口鼻类,mis3-口罩未完全佩戴类。详见图4 错误佩戴口罩(mistake)类示例图。

图4 错误佩戴口罩(mistake)类示例图

3.2 基于人体关键点检测技术的图像分割

人体关键点检测技术有两种较为准确的方案,即自下而上检测和自上而下检测。本文采用的Open Pose算法属于典型的自下而上的检测算法。具有大幅缩短检测周期的优势。Open Pose将输入的图像样本,经过VGG19卷积网络提取相关特征;使用CNN网络通过两个方向上分别提取置信度和关联度;将上述两个信息使用偶匹配的方法求出其关联,将同人的关键点连接起来,合并成整体骨架。原理见图5人体关键点检测Open Pose实现原理。

图5 人体关键点检测Open Pose实现原理

人体面部包含6个关键点,即右耳、右目、鼻、左目、左耳以及颈。基于人体关键点的人脸面部分割:①以颈为基点,以平行于原始图像下边的为分割图片的下边;②以左耳为基点,以平行原始图像左边为分割图像左边;③以右耳为基点,以平行原始图像右边为分割图像右边;④以左、右目中较高的一个为基点,以平行原始图像上边为分割图像上边。详见图6基于人体关键点的图像分割原理。分割后的图像包含所有面部信息,可以有效的排除背景及人姿态的影响。将分割完后的图像进行人体关键点去除,构造数据集。

图6 基于人体关键点的图像分割原理

3.3 图像预处理及数据增强

3.3.1 图像预处理

为平滑人脸图像,并提高图像数字化的视感质量。本文通过加入高斯噪声,以空间域滤波法去除噪声。去除噪声后,将图片数字化,数字化后数据集的类别特征如图7所示。

图7 图像预处理后类别特征

3.3.2 图像数据增强

基于领域自适应迁移学习可能存在过拟合问题,过拟合会导致口罩佩戴检测模型泛化能力变差,在新的图像数据集上不能检测,会导致后期硬件部署后,出现无法检测的问题。

为了防止出现过拟合问题,本研究采取数据增强的方法来防止模型过拟合。通过对图像的随机垂直翻转、随机水平转、随机缩放等操作,扩充原始口罩图像数据集,可以使训练更多的轮数,提高模型的准确度。对扩充后的人脸图像数据集样本以8:2的比例划分为训练集和测试集。

3.4 仿真结果及结果分析

将6000张采集的图像平均分为三组,每组数据集分别进行带有人脸图像分割、不带人脸图像分割的口罩佩戴检测试验。基于人脸图像分割口罩佩戴检测模型测试集结果如图8所示。

图8 基于图像分割口罩佩戴检测模型测试结果

图8为基于图像分割口罩佩戴检测模型第二次实验测试集结果3D显示图。从图8可以看出,测试集总计395张图像。其中face类图像总计103张,mask类图像总计184张,mistake类图像总计108张;而face类识别错误1张,mask类识别错误3张,mistake类识别错误2张。该模型的具体准确率见表3。

表3 基于图像分割口罩佩戴检测模型第二次实验测试集混淆矩阵

图像数据占比为:mask:face:mistake=184:103:108。则该模型基于混淆矩阵的模型准确率H为98.48%,具体的计算如下所示

三次仿真结果见表4。从表4可以看出,带有人脸图像分割口罩佩戴检测模型的平均准确率比不带人脸图像分割口罩佩戴检测模型平均准确率高6%。

表4 三次实验不同模型准确率对比

4 基于口罩检测模型的硬件开发

将训练好的模型嵌入至Open Mv设备中,该设备如图9所示。该设备的摄像头焦距为2.8mm,光圈为F2.0。该设备的处理器主芯片型号为STM32H743II,芯片架构为ARM M7。

图9 Open Mv手持设备

Open Mv设备采用Python语言,该硬件在处理嵌入式模型的具体情况见图10硬件处理情况。从图10中可以看出该设备在处理该模型时可达到4fps的帧率,且连续3次识别口罩未正确佩戴的概率均超过95%,这说明该嵌入式模型可以完成口罩佩戴检测。

图10 嵌入式程序硬件处理情况

基于图像分割口罩佩戴检测模型的准确率超98%,但在不同类别的检测上,该模型的检测的准确率也不相同。此外,模型在嵌入至硬件设备在,由于硬件摄像头,主芯片处理情况等各类原因,导致模型的准确率下降。因此,在嵌入至移动端后,为防止误判,采用连续检测正确逻辑增加判断准确率。具体的逻辑见图11所示。通过连续检测这一系统,口罩正确佩戴检测不会产生误检测。

图11 口罩佩戴连续检测系统

5 结论

本文提出基于人体关键点检测的人脸图像分割与迁移学习的口罩佩戴检测算法,通过实验对比并分析发现,不带人脸图像分割口罩佩戴检测模型仿真平均准确率比带人脸图像分割口罩佩戴检测模型仿真平均准确率低6%。这说明基于人体关键点检测的人脸图像分割技术在口罩佩戴检测技术中有了较大的提升。

将基于人体关键点检测与迁移学习的口罩佩戴检测系统部署于Open Mv硬件中,在该硬件设备处理帧数快,模型识别率高。通过设计的口罩佩戴连续检测系统,使得该模型在进行口罩佩戴检测中表现良好。

猜你喜欢

关键点人脸口罩
聚焦金属关键点
肉兔育肥抓好七个关键点
有特点的人脸
戴口罩的苦与乐
因为一个口罩,我决定离婚了
雾霾口罩
三国漫——人脸解锁
马面部与人脸相似度惊人
医联体要把握三个关键点
长得象人脸的十种动物