1. 研究目的与意义
背景:传统手写登记在智能时代已经显得格格不入,无论是查找困难还是访客信息易于泄露,都给出入口控制的安防建设带来不少问题。2020年1月新型冠状病毒爆发,截止目前(7月15号)我国新型病毒感染人数为87250,治愈人数为80914,海外确诊人数16609568,海外治愈人数10339502,这样的数字得我国人民人心惶惶,为了防止新型冠状病毒的进一步传播,我国开始大范围的口罩佩戴宣传活动。如何尽可能快速高效的方法来检测人们佩戴口罩并落实相关的效果,保护人民生命健康与安全,成为了一项重大的考验。不仅出行运输业面临车辆地域分布广泛,活动频率较高、等现实问题,其他行业也纯在人力资源紧张,监督成本昂贵等情况,因此目前急需开发出相关产品来检测。本课题基于视觉图像的分析和处理,研究基于人脸识别的访客身份验证方法及系统实现,并针对疫情场景,通过图像识别检测,具备提醒访客佩戴口罩的功能。(针对人脸识别技术,20世纪这项技术慢慢地走入人们的视野,如今已然成为计算机领域最热门的应用之一。简单来讲,人脸识别就是给定两张脸,然后判断他们不是同一个人,这是他最原始的定义。如今的应用场景也不仅限于两张脸,而对于一张图像中有多张人脸去识别,这就需要了解机器的深度学习。同时也需要人脸库这种已有的数据库去进行匹对。开始还是静态搜索,随着深度学习算法的发展,用来检索图片的质量也越来越苛刻,实际应用中很多问题也很苛刻,比如嫌疑人在摄像头里出现距离比较远,有侧面的,或者帽子遮挡,戴眼镜等现象。再加上要去处理大数量级别的图像,降低误报率,所以要求我们有更聪明的方法,还有更多的研究空间。而大致人脸识别流程是人脸检测,人脸关键点定位,人脸矫正,人脸关键特征提取)(针对口罩识别,以前肯定是没有口罩识别的,所以这个功能也比较新。在机器人上添加这个功能是为了提醒人员佩戴口罩,是当前对把控疫情传播的一种手段。当前人脸识别模型多是基于深度神经网络,需要获取到足够充分的训练数据用于训练模型。之前做人脸识别的时候,无论是使用公开数据集还是采集实际场景的人脸数据,都有很大的数据量积累。但是现阶段的基于口罩的人脸识别,一个很大的挑战就是数据量非常少,直接从现实场景采集大量带口罩人脸识别训练数据比较困难,时间又很紧迫。那么这个时候怎么办?所以除了少量现实场景数据外,通过数据增强的方式,京东智联云还采用多种方法生成大量模拟带口罩的训练数据。首先我们仔细研究了一般口罩的遮挡区域,并采用自研的人脸106点关键点模型检测人脸关键点,依据人脸关键点生成口罩区域mask,并通过该mask为人脸加上随机颜色的虚拟口罩或者口罩模板,就可以生成大量的戴口罩的人脸新的数据,最后使用这些数据来训练模型。在算法上,面部的大部分关键点都被遮盖,要去充分利用深度学习提高人脸识别的精度,尤其是脸的上半部分眼睛和眉毛。)
目的及意义:为了保护自己不受新冠疫情的影响,我们几乎每个人都戴口罩。在大多数公共场所,如商场、剧院、公园等,检查人群中是否有人戴口罩变得越来越必要。开发一种人工智能解决方案来检测一个人是否戴着口罩,并允许他们进入,将对社会有很大帮助。在此,我们使用深度学习技术——卷积神经网络(CNN)构建了一个简单的人脸面具检测系统。这个CNN模型是使用TensorFlow框架和OpenCV库建立的,OpenCV库在实时应用中被广泛使用。这个模型也可以用来开发一个成熟的软件,在每个人进入公众集会之前扫描他们。该模型的精度达到96%以上。这也可以进一步用于实现更高水平的准确性。通过这种技术,能在许多应用场景下,完成访客的身份验证登录,很好地提高了安全性,为阻止疫情传播作出贡献。
2. 研究内容与预期目标
主要研究内容:
1.研究基于人脸识别的访客身份验证方法及系统实现。
2.针对疫情场景,通过图像识别检测,具备提醒访客佩戴口罩的功能。
3. 研究方法与步骤
人脸识别研究方法:使用Python,Keras和OpenCV进行实时面部检测。
在该方法中,使用keras库的顺序API构建了人脸面具检测模型。这允许我们一步一步地为我们的模型创建新的层。下面描述了用于我们的CNN模型的各个层。第一层是Conv2D层,有100个过滤器,过滤器大小或kernel大小为3X3。在第一步中,使用的激活函数是“ReLu”。该ReLu函数表示整流线性单元,如果输入为正,则直接输出,否则输出为零。对于使用该模型训练和测试的所有图像,输入大小也初始化为1500x1500x3。在第二层,使用MaxPooling2D,池大小为2X2。下一层同样是Conv2D层,它还有100个相同大小为3X3的滤镜,使用的激活函数是“ReLu”。这个Conv2D层之后是一个池大小为2X2的MaxPooling3=2D层。在下一步,我们使用Flatten()层将所有的层压平成一个单一的1D层。在平坦层之后,我们使用Dropout(0.5)层来防止模型过拟合。最后,我们使用了50个单位的密集层,激活函数为“ReLu”。我们模型的最后一层将是另一个密集层,只有两个单元,使用的激活函数将是“Softmax”函数。softmax函数输出一个向量,它将代表每个输入单元的概率分布。这里使用了两个输入单元。softmax函数将输出一个带有两个概率分布值的向量。构建模型后,对模型进行编译,定义损失函数和优化函数。在该模型中,我们使用“亚当”优化器和“二元交叉熵”作为训练目的的损失函数。
对于人脸检测,本实验使用了基于Haar特征的级联分类器。它是一种机器学习对象检测算法,用于识别图像或视频中的对象,基于Paul Viola和Michael Jones提出的特征概念。在这种方法中,一个级联函数是从大量的正面和负面图像中训练出来的。然后,它被用来检测其他图像中的物体。
4. 参考文献
[1] 贾海鹏, 张云泉, 袁良,等. 基于OpenCL的Viola-Jones人脸检测算法性能优化研究[J]. 计算机学报, 2016(9期):1775-1789.
[2] 吴素雯, 战荫伟. 基于选择性搜索和卷积神经网络的人脸检测[J]. 计算机应用研究, 2017, 34(009):2854-2857.
[3] 邓珍荣, 白善今, 马富欣,等. 改进YOLO的密集小尺度人脸检测方法[J]. 计算机工程与设计, 2020, v.41;No.399(03):282-287.
5. 工作计划
(1) 2021-03-01----2021-03-20熟悉课题背景,查阅中英文资料,完成毕设开题。
(2) 2021-03-21----2021-04-30开展课题内容,完成课题的主要实验工作和程序调试。
(3) 2021-05-01----2021-05-20 撰写毕设论文初稿并完成中英文翻译。
