« 首页 - 西安必信达软件技术有限公司 - BXDSOFT.COM
基于MTCNN的FaceNet架构的人脸识别考勤系统设计与实现
「该文设计并实现了一个基于MTCNN的FaceNet架构的人脸识别考勤系统。在系统中,将多级联CNN模型(MTCNN)应用于人脸检测里,可以提高对光照阴影等自然变化因素存在的鲁棒性,对于人脸识别部分采用FaceNet网络架构。实验证明,基于MTCNN的FaceNet架构相较于传统的人脸检测与识别具有更好的效果。最后,在保证识别速度和识别精度的前提下对数据的计算量进行了优化。(2024-3-29)」
关键词:MTCNN:FaceNet架构;人脸识别
  中图分类号:TP37 文献标识码:A
  文章编号:1009-3044(2020)27-0181-03
  开放科学(资源服务)标识码(OSID):
  现如今随着教育力度的大力发展和学生人数的逐渐增多,传统的考勤点名考勤或者签名考勤存在着虚假签到的弊端,极大影响了学生平时成绩获取的公平性[1],而且,这些传统的考勤方式拖慢并影响了课堂的连续性和统一管理,无法满足现如今快速的学生增长趋势所带来的考勤弊端。近年来,随着人工智能和互联网的渗入,指纹考勤和人脸考勤应运而生,这些新式的考前系统可以帮助考勤管理流程化并提高效率。但是在市面上出现的这些考勤系统都是商用的,对于普通的班级上课考勤来说,价格不菲。因此,本论文主要是设计并实现一个具有人脸数据添加、人脸识别的通用考勤系统。该系统将能快速地进行人脸图像训练、获取人脸图像特征、特征提取和人脸识别,从而生成学生考勤打卡表格,让教师考勤变得更智能、更高效。
  1 系统功能结构
  人脸识别系统功能如下图1所示,包括:添加新用户、人脸录入、提取人脸特征、人脸识别、考勤数据管理等功能。整个系统界面设计图如图1所示。
  1.1添加新用户
  本学生考勤系统服务定位于高校的课堂考勤管理,因此设置有两种权限的角色:管理员和普通用户。管理员拥有全部的权限,可以对整个系统信息进行管理。而添加新用户的工作则是管理员添加使用本系统进行考勤的教师用户,这个每一位系统中的教师用户就可以使用本系统考勤并期末导出考勤数据。
  1.2人脸录入
  人脸识别的前提是人脸数据录入并进行训练。新建的人脸数据表包括院系、班级和学号属性。录入过程为:首先选择人脸数据表与对应的学号,点击打开摄像头,利用OpenCV库调用摄像头进行,获取人脸图像数据。人脸录入界面如图2所示。
  1.3提取人脸特征
  上一步获取人脸图像数据后,点击“特征提取”,系统将会对人脸图像数据获取,然后送人Facenet进行训练得到128维的特征向量,然后遍历特征值数据库中的数据进行对比检测,如果数据中的数据与被识别的数据相似度高于闽值,则表示该人脸数据已经存在,不再保存人脸特征数据,反之,则需要保存新的人脸特征数据。
  1.4人脸识别
  人脸识别过程就是考勤打卡过程,与人脸识别过程类似,可以用来检验本系统的准确性和鲁棒性。其识别过程为:通过摄像头获取学生面部数据,然后获得128维的特征向量,然后遍历特征值数据库中的数据进行对比检测,如果数据中的数据与被识别的数据相似度高于阈值,则表示该人这是同一个人脸数据,更新考勤数据表,反之,则检测不到这个人,无法进行考勤。
  1.5 考勤数据管理
  本系统创建采用有人脸特征表、学生考勤表等数据表,管理员对人脸特征数据表和学生考勤表进行增、删、改、查的操作。
  2 基于多任务级联卷积神经网络的人脸检测
  基于多任务级联卷积神经[2]网络(MTCNN)检测是在CNN网络模型上的改进。在2016年的时候Kaipeng Zhang,Zhan-peng Zhang,Zhifeng Li,Yu Qiao提出了人臉检测模型:MTCNN(Multi-task Cascaded Convolutional Net works)。这个模式是一种Multi-task的人脸检测框架,使用3个CNN级联算法结构,将人脸检测和人脸特征点检测同时进行,MTCNN人脸检测方法对自然环境中光线,角度和人脸表情变化更具有鲁棒性。本文多任务级联卷积神经网络采用FaceNet网络架构。
  2.1 MTCNN人脸预处理
  在对模型进行训练之前,往往需要对图片进行预处理,如滤波处理,尺寸变换,色彩空间变换等,目的是为了减少因为光照,旋转,遮挡等自然因素的干扰,以提高检测准确率。目前人脸检测的引用场景越来越多,从单一限定场景发展到广场、车站、地铁口等场景,人脸检测面临的要求也越来越高,比如:人脸尺度多变、姿势多样包括俯拍人脸、戴帽子口罩等的遮挡、表情夸张、化妆伪装、光照条件恶劣等。其次为了在检测过程中,能检测到不同大小的人脸,需要把图片进行多次尺寸变换,即对图像进行图像金字塔变换,以便为模型提供足够多的不同尺寸图片数据。图像金字塔变换如图3所示。
  同时为了处理过度曝光或低曝光的图片,需要对图片进行预白化,改变图像的平均像素值为0,改变图像的方差为单位方差1,保证训练图片均处于理想状态。一般的计算公式如公式(1):
  2.2 MTCNN人脸检测
  MTCNN中每一层都采用P-NET检测模型。对于P-NET的模型来说,是用单尺度[12,12]的图片训练出来的,所以在推断的时候,想要识别各种尺度的人脸更准,需要把待识别的人脸的尺度先变化到接近模型尺度[12,12]。经过多次试验,设置缩小因子为:√2/2≈0.709,即为每次缩放都为上一次图片面积的1/2。图像经过3次卷积和1次池化操作后,原来[12,12,3]的矩阵变为[1,1,32],然后利用这个[1,1,32]的向量,再通过一个[1,1,2]的卷积,再通过二分类,从而得到了“是否存在人脸”的分类结果。其流程图如下图4所示。
  在二分类的问题中,本文选择交叉熵作为损失函数,具体公式如公式(2):   2.3MTCNN检测效果
  本系统进行了单人人脸检测和多人人脸检测检测,单人人脸检测效果如图5所示,多人脸检测效果如图6所示:
  3 系统数据优化
  本文主要从图像数据优化和数据库表中数据优化进行系统的数据优化。
  3.1 尺度变化
  MTCNN是多级联卷积神经网络,如果输入图片规模太大,那么在进行模型推理的时候往往会很耗费时间。为了能够检测多尺度的人脸,那么在设置minsize的时候minsize越小,re-size的的金字塔层数也就越多,PNET的计算量也就越多,消耗的时间也就越长。所以在第一阶段,可以通过增大mlnsize来减少pnet部分的计算量。其次,在产生图像金字塔时,resize的选择的缩放算法不同,运行时间也不同。所以在使用MTCNN进行人脸检测完成后,需要单独把人脸裁剪出来,并缩放成合适的大小,在测试时,重新缩放大小为[200,200]-[140-140]的区间内。经测试,这种方法对FaceNet影响范围在可接受范围。
  3.2 计算数据优化
  在传统的人脸识别中,往往会把许多人的人脸混合在一起进行训练,那么就会造成当在一个比较大的数据中再次添加一个人脸图像的时候,存在需要重新把之前的数据再训练一次的问题。因此,在本系统中,在MTCNN进行人脸检测的时候,可以选择当前图像中最大的人脸,并进行裁剪缩放然后送入Facenet中进行训练比对,这样每次进行Facenet训练时候都可以达到最小的训练量。解决了再次训练問题,同时对每个人的人脸特征模型进行分类保存,从而大幅度地提升了系统运行效率。
  4 结束语
  本文实现了一个的通用的人脸识别考勤系统,能够稳定、快速地帮助老师进行课堂考勤和考勤管理,大大提高了校园信息化管理能力和课堂工作效率。
  参考文献:
  [1]孙玥,杨国为.基于人脸识别的学生考勤系统的研究[J].现代电子技术,2020,43(10):116-118,123.
  [2]龙海强,谭台哲.基于深度卷积网络算法的人脸识别方法研究[J].计算机仿真,2017,34(1):322-325,371.
  【通联编辑:唐一东】
  作者简介:李林峰-(1998-),男,学生;李春青(1983-),通讯作者,女,讲师,主要研究方向为数据挖掘技术与计算机应用技术;田博源(1998-),男,学生;廖晓霞(1999-),女,学生。
(5l钢)
点击进入「必信达创业合作论坛」下一篇:从云计算平台发展探索金融行业IT基础架构技术路线选型 »
Copyright © 1999-2024 西安必信达软件技术有限公司