基于MATLAB的人脸考勤系统

题目:MATLAB人脸考勤系统

  • 介绍

随着信息技术、大数据、人工智能技术的发展,人体生物特征的应用已越来越广泛,指纹、虹膜、人脸等生物特征的身份认证技术广泛应用到人们的工作、学习、生活中,带动了新一轮信息安全技术改革。作者在上一个系列里介绍了三种人脸识别的方法及其程序实现,本文将人脸识别方法应用于考勤管理中,能够通过调用摄像头以及静态图像输入的方式进行图像采集以及人脸识别,并进行数据统计,具有省时、高效、准确性高的特点,提升课堂管理和教学管理。

  • 算法流程

实验条件系统基于MATLAB开发,在人脸识别上会用到卷积神经网络,因此需要用到深度学习的模块,在人脸检测上由于需要使用摄像头,因此需要安装下面的硬件支持包编辑切换为居中这个安装包在附加功能中可以找到编辑切换为居中在matlab中将这个安装包安装好后在命令行输入imaqhwinfo(winvideo)编辑如果红框里显示有设备即安装成功了。

2.1 系统设计

系统流程编辑切换为居中基于MATLAB的考勤系统的工作流程如上,主要由摄像头和GUI组成,首先需要输入管理员密码进入考勤系统,可通过摄像头或静态图像采集图像,对于采集的图像,进行人脸检测,检测到人脸后会进行预处理,包括裁剪、尺寸归一化、灰度化、直方图均衡化;之后会用预训练的卷积神经网络进行人脸识别。

2.2 CASIA_Face数据库介绍

由于缺少考勤的人脸数据库,因此采用公开的人脸数据库,CASIA-FaceV5亚洲人脸数据集有500人、每个人5张图片,共2500张图片,图片大小为640*480。数据集共有500个文件夹,文件夹名称为:000~499;一个文件夹表示一个人,里面有5张图片,图片名称为:文件夹名_0.bmp~文件夹名_4.bmp,具体如下图所示,采用其中4张照片作为训练集,一张照片作为测试集进行训练。

2.3 人脸检测

本文采用Viola-Jones(VJ)算法进行人脸检测,VJ算 法 是 由 学 者 Paul Viola 和Michael Jones 共同提出的,有着定位速度快的优点。VJ 算法主要分为三部分。 第一部分,采用积分图像的方法快速提取图像的特征信息;第二部分,利用弱分类器对提取的特征进行分类,减少计算复杂度;第三部分,再采用级联分类器进一步分类,提高人脸定位的精确度。Viola-Jones人脸检测算法使 用Haar特征值进行目标检测:通过Adaboost算法生成级联分类器,直接对图像的一小块区域进行特征匹配,从而判断该区域内是否有人脸存在.该算法包括训练和检测两部分:训练部分使 Adaboost算法从预先收集的正负样本中提取特 征值进行计算,最终生成一个级联分类器;检测部分使用级联分类器,通过检测窗口的移动和缩放,对图像上的人脸进行检测。关于这个算法在这篇博客中讲的挺好,感兴趣的同学可以自行学习,这里就不再细述。目标检测之Viola-Jones在MATLAB中给出了对于Viola-Jones算法的调用,十分方便,并且对于人脸检测的精度很高,因此这里采用MATLAB内置的Viola-Jones算法进行人脸检测。

2.4 图像预处理

编辑切换为居中依据Viola-Jones算法确定的人脸坐标对输入图像进行裁剪,由于不同图像所裁剪的人脸区域尺寸不同,为方便训练卷积神经网络,因此需将裁剪后的人脸图像进行尺寸统一,此后,通过灰度化可以减小输入数据维度,同时也可减少因光照变化导致的灰度变化对正确识别的影响;图像的直方图是图像的重要统计特征,它可以认为是图像的灰度密度函数的近似。灰度直方图是一个离散函数﹐它表示数字图像每一灰度级与该灰度级出现频率的对应关系。直方图均衡化的基本思想是把原始图像的直方图变化为均匀分布的形式,这样就增加了像素灰度值的动态范围从而达到增强图像整体对比度的效果。编辑切换为居中该流程效果如下:编辑切换为居中

2.5 模型训练在对数据库的图像进行预处理后,就可以利用该批数据库进行训练了,本文设计的网络结构以及对应参数如下,在MATLAB中进行分类训练,结果如下,对该模型进行训练后,就可以进行人脸识别了。编辑切换为居中编辑编辑切换为居中从训练结果来看,模型的训练集和测试集准确率都还可以,虽说精度不是特别高,但用作二次开发和改进是比较容易的。

三、 系统实现

本文利用MATLAB GUI将以上功能集成,设计出如下的考勤系统:

3.1 进入系统命令行输入guide,选择choose_sys.fig,即可进入系统。编辑切换为居中编辑切换为居中在输入管理员账号和密码后,即可进入考勤系统,若没有管理员账号和密码,可以点击注册。编辑切换为居中首次使用时需要对CNN网络进行训练,点击“训练CNN”即可,若需自行添加图像,可将图像数据添加入CASIA_Face文件夹,命名规则需与其它文件一样。编辑切换为居中命名规则

3.2 识别识别方法有两个,一个是静态图像识别,一个是实时摄像头识别。

3.2.1 静态图像识别点击“读取静态图像识别”,即可读取静态图像,自动进行人脸检测-预处理-人脸识别,结果如下:编辑切换为居中如图,GUI中会显示原图像,裁剪后的人脸图,以及库内匹配的人,并且会在GUI中显示识别结果的人的标签,打卡次数以及打卡时间。对于非人脸库中的图像,库内也能识别,不过准确率不高,可能是因为参与训练的人脸数据本身背景杂乱,不标准,样本少,卷积神经网络精度本身不高,这也是作者以后希望改进的方向,不过也是有少数几个图像可以对非库内图像进行识别,如下:编辑切换为居中

3.2.2摄像头自动识别作者没有载入自己的数据,使用电脑识别手机显示的图像,结果如下编辑切换为居中编辑切换为居中编辑切换为居中摄像头采集到人脸后,会暂停进行人脸识别3秒,此后再进行识别,而采集到非库内人脸时,也会暂停进行人脸识别3秒,并且可以看到对于库内的人脸数据识别准确率是比较高的。

3.3 打卡统计在一系列的打卡后,可以对打卡记录情况进行统计,点击“打卡统计”,如下编辑切换为居中会产生每个标签人员打卡次数的记录表以及打卡及格线,同时会产生对应的excel数据表格编辑

四、运行效果

五、展望

本系统实现的是人脸检测、图像处理、卷积神经网络训练、人脸识别等功能,对于人脸库的识别有良好的效果,但仍然有许多问题,比如对于非库内人脸识别效果不佳,容易将非库内人脸识别为库内人脸等问题,但本系统的注释完全、清晰,能够方便各位同学对系统进行二次开发和改进。

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip 基于MATLAB人脸考勤打卡签到系统(摄像头界面GUI+项目源码).zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值