基于matlab人脸图像考勤系统的设计_第1页
基于matlab人脸图像考勤系统的设计_第2页
基于matlab人脸图像考勤系统的设计_第3页
基于matlab人脸图像考勤系统的设计_第4页
基于matlab人脸图像考勤系统的设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

插图清单TOC\h\z\c"图1."图3.1系统工作流程图 9图3.2CASIA_FaceV5数据集文件结构 10图3.3CASIA_FaceV5数据集样本图片 10TOC\h\z\c"图2."图3.4Viola-Jones算法调用示例 11图3.5人脸检测结果 12图3.6图像预处理流程 12图3.7图像预处理部分代码示例 13图3.8图像处理前后对比示例 13图3.9卷积神经网络结构 15图4.11ImageAcquisitionToolbox安装包 18图4.2设备识别成功截图 19图4.3系统启动与登录界面 19图4.4系统训练界面 20图4.5CASIA_Face数据集图像示例 21图4.6静态图像识别界面 22图4.7非库内图像识别提示 22图4.8库内人脸识别界面 23图4.9非库内人脸识别界面 24图4.10打卡次数统计界面 25图4.11Excel数据表格 25图5.1人脸检测与预处理时间 28图5.2内存使用情况 28图5.3训练进程曲线图 291绪论研究背景计算机视觉技术相对于传统的生物识别技术,如指纹识别、虹膜识别等,人脸识别技术具有非侵入性、便捷性、高效性等特点,且能够在用户不主动配合的情况下进行自动化识别,正是由于人脸识别技术的这些优异特性,使其被应用到了各行各业中,尤其是在教育领域,人脸识别作为自动化考勤系统的重要组成部分,不仅提高了课堂教学管理的效率,还大大降低了人工错漏,在提高数据准确性和可靠性的同时,也提高了教育管理的现代化水平。而在人脸识别过程中,人脸识别系统会受到各种环境因素的影响,如光照程度、表情、姿势等。人脸识别如何提高其鲁棒性和识别精度是一个重要的问题。陈秀端在2021年提出了一种基于Gabor变换方法和主成分分析(principalcomponentanalysis,PCA)算法结合的方法,以提高人脸识别系统在复杂环境下的鲁棒性和识别精度。上述研究表明,Gabor变换能够有效地提取人脸纹理信息,而PCA算法是一种用来降低数据维数的算法,能够减少外部干扰。通过结合两种算法,可以提高人脸识别的准确度[1]。随着深度学习的突飞猛进,MATLAB软件成为了做人脸识别技术实施的重要工具之一。邵燚等(2022)利用了MATLAB平台的人脸识别系统程序,使用深度学习工具箱提取人脸特征,识别人体面部。通过训练神经网络(ConvolutionalNeuralNetworks,CNN)模型,从庞杂的图像数据中提取有效特征,从而实现人脸识别[3]。王慧等(2022)同样采用MATLAB软件,提出了基于Gabor变换和PCA算法的人脸识别新方法。该方法提出了对特征提取的降维处理,保证了所提模型对人脸识别的高准确度以及对于不同环境具有更好的鲁棒性[4]。

研究目标设计出一个基于MATLAB的人脸图像考勤系统,结合人脸识别技术来提高人脸图像考勤系统的考勤效率和准确性。本设计要达到的主要目的是以下几方面。实现人脸识别功能:基于MATLAB开发卷积神经网络(CNN)的人脸识别模块,实现对员工或者学生的面部特征识别以及相关身份验证。改进图像处理过程:对采集到的图像进行预处理,执行图像裁剪、图像大小归一化、灰度化等操作,提升识别精度。设计考勤信息统计系统:设计考勤信息统计系统,可以实现每个学生的出勤情况自动记录、考勤统计报告生成等。实现用户友好界面:设计简洁友好的图形用户界面,用于管理员进行系统操作和显示识别结果。研究意义设计实现一套基于MATLAB的人脸图像自动考勤系统,具有较高的学术价值和现实意义。随着信息技术的飞速发展,传统的考勤管理系统不仅浪费时间消耗人力,而且经常出错。采用人脸识别技术不仅可以避免人工误差,而且可以及时准确地将学生的出勤信息记录下来。此外,本系统对教育信息化、智慧化的发展具有积极影响。在课堂管理方面,由于教育管理逐步向数字化、智慧化发展,提供了一种实际可用的解决方案,而且由于采用MATLAB平台,所提供的技术支持,使得人脸识别技术应用于考勤管理,大大地提高了课堂管理的自动化水平,所提出的系统为其他类似考勤管理系统提供了技术参考,具有较大的应用和推广价值。1.4国内外研究现状1.4.1国内研究现状目前,国内对于基于人脸识别技术的考勤系统相关研究较多,研究领域不断扩展,技术路线呈现多元化发展趋势。随着应用需求的不断深化,人脸识别技术在我国考勤系统领域的应用呈现多元化发展趋势。人脸识别作为非接触式身份识别技术,具有自然、快捷的特点,目前已经广泛地应用于教育、企事业单位以及远程管理等领域,成为智能考勤的重要方式之一。杜旭然(2023)着眼于高效的人脸识别系统,提出了一种基于轻量化卷积神经网络和表示学习的通用人脸识别方法,实现了在不损失准确率的情况下降低资源开销,适合于部署在各种计算资源有限的实际场景。目前,经典的课堂出勤工作流中,付迎迎等人(2024)提出了一套集目标探测和脸部识别为一体的智能识别系统,其在复杂环境下依然保持着较高的准确率,适用于动态环境中的学生实时考勤识别[9]。李明和党青霞(2024)将Transformer和卷积神经网络(Convolutionalneuralnetwork,CNN)结合提出了一种轻量级算法,在保证模型效率的同时提升特征提取效率[10]。郑圳(2024)提出了一种基于多任务学习的框架,将卷积神经网络(Convolutionalneuralnetwork,CNN)用于面部识别的同时,加入了性别,年龄的预测,提高了模型的泛化能力[11]。夏冉等人于2024年设计了一种基于CNN的人脸考勤系统,优化了网络结构,使其对环境具有更强的适应性[12]。赵永丽在2024年提出的远程在线考勤系统的设计[13],将人脸识别技术与互联网相结合,实现不同地点的实时自动化考勤记录,适用于远程教育和灵活办公等场景。郭顺超等研究者(2024)基于课堂实际教学需求设计了一套基于人脸识别技术的课堂考勤系统,在系统设计中增加了用户交互与数据分析,提升了教师使用操作和班级管理效率[16]。蔡靖等研究者(2024)通过改进AlexNet模型结构,使原始卷积神经网络的人脸图像识别准确率和识别速度大幅提升,为高校或其他教育环境提供了更优的人脸识别技术方案[17]。张亮敬等研究者(2024)设计了一套完整的课堂考勤系统方案,包括图像采集、特征提取、考勤统计等模块,并对其进行了可行性验证[18]。尹向兵等研究者(2024)基于算法研究视角,对比分析了深度卷积神经网络的人脸识别性能[19]。4.4.2教师端人脸识别技术的研究现状面向教师端的人脸识别技术的研究与应用主要是教师利用人脸识别软件,对上课的学生进行考勤管理。研究者发现网络深度、训练策略均会对识别效果产生一定影响。这些研究为后续的模型改进提供了参考[17]。从目前来看,对于人脸识别考勤系统的研究已经从算法模型研究逐步走向了具体系统的设计、构建与应用,系统的研究内容也更加聚焦应用性、轻量化和对环境的适应性。1.4.2国外研究现状随着人工智能和机器视觉技术的迅速发展,国内外人脸识别的研究和应用已经取得了不少重大成果,尤其是在公共安全维护、身份识别、工作出勤管理、智能监控等领域的人脸识别技术已经开始广泛应用,并逐步成为了现代信息安全保障的基础技术之一。除了在技术上进行不断改进之外,国内外学者们也致力于研究如何处理个人隐私问题,提高鲁棒性与不同的环境挑战。(Mietheetal.,2025)等则针对人脸识别技术在执法中的适用性进行了系统研究,评估了公众对于人脸识别技术的接受度以及隐私和安全顾虑,发现虽然公众对于人脸识别技术增强安全性和预防犯罪的功能表示支持,但他们仍然有相当一部分的民众对大数据收集和个人隐私的使用表示担忧。这项研究为人脸识别技术在执法和公共安全领域的进一步应用提供了有价值的社会反馈,并为未来可能的政策规划和发展提供了重要的参考材料。其中,图像处理领域的学者Baby和Gopi于2025年提出了一种新的雷达人脸识别方法,基于复杂彩色成像技术,优化图像色彩处理,提高雷达系统对人脸识别的准确度,尤其遇到光照度低、天气恶劣、环境复杂等情况,且雷达信号可以穿透雾霾雨雪等障碍,无疑具有较大的应用价值,在户外监控、安全防护、搜索救援等方面均可应用[19]。实验结果不仅进一步提高了传统人脸识别技术的可靠性,也为未来可能出现的多模态识别系统提供了思路。为了解决传统人脸识别系统脆弱于有动机的对抗攻击,Khedr等人(2025)提出基于代理模型来对可转移的恶意攻击进行微调,从而能够有效地对抗有动机的恶意攻击。通过对深度学习模型进行有动机的恶意攻击,发现人脸识别系统在对抗恶意攻击时十分脆弱,尤其是攻击者采用智能的攻击时,这种代理模型能够轻易地绕过基于传统的人脸识别系统。为此,Khedr等人通过微调代理模型,提出了一种新的防御技术来抵御恶意攻击,并提升人脸识别系统的安全性能[2()]。这项研究既挑战了人脸识别系统的安全性,也为提升人脸识别系统的可靠性和安全性提供了较好的应对措施。Balachandran和Dominic在(2025)的人脸识别技术与虚拟私人网络(VPN)安全机制的研究中提出,随着远程工作和在线教育的兴起,虚拟私人网络(VPN)已成为保护数据安全的可靠工具。通过将人脸识别技术加入虚拟私人网络的身份验证过程,可以强化系统的安全性能。在该系统中,用户必须通过人脸识别验证。通过验证的用户才能访问网络资源。该系统为网络安全提供智能且有效的解决方案[21]。此项技术的应用不仅有助于提高远程工作环境下的安全性,同时还可以避免使用传统密码认证方法的潜在安全风险。GP等(2025)提出一种用于伪装面部识别问题的增强模型transfer学习的集成模型(theStealthFace)。因此,如何利用图像分割或其它先进技术对伪装面部图像进行预处理以用于增强伪装面孔的识别能力成为一个值得关注的研究内容。随着人脸识别技术在多个领域中的普及,如何针对佩戴口罩、眼镜或其他伪装材料遮挡下的面部特征进行识别是一个极其重要的研究方向。针对该问题,基于集成学习和transfer学习等技术的发展产生了StealthFace模型,在伪装人脸的识别精度上取得重大突破,为提升复杂环境下面容识别技术提供了一种新的策略和思路。本研究实现了在目标动态、掩饰或隐蔽的脸上进行精确识别的一项突破性技术方案。整体而言,国际上在人脸识别技术的鲁棒性、识别准确率和防护性研究方面取得了很多的成果。国外研究者采用图像处理技术、深度学习算法和多领域应用研究结合的方式,为不同的应用场景和条件下的人脸识别技术提供多样性的选择和整体性的解决方案,其突破性成就推动了人脸识别技术的快速发展,也为以后更有效更安全的实际应用提供了重要的理论技术支撑。1.5论文结构本文一共有六个章节具体章节分布如下:第一章为绪论,是对本文研究背景、目的、意义以及国内外研究现状的阐述。第二章为基础理论,对人脸识别技术卷积神经网络(CNN)原理,考勤系统相关的研究进行介绍。第三章为系统设计,主要介绍了基于MATLAB的人脸识别考勤系统总体设计,包括系统的主要设计技术模块,总体框架和工作流程。第四章为系统实现,主要介绍系统开发过程,图像采集,图像预处理,CNN模型训练,考勤数据管理等功能的实现。第五章为系统测试与性能分析。对系统进行测试,并对其识别精度、识别效率及优化方向进行分析。第六章是总结与展望。对本文主要研究成果做出总结以及对未来该课题的研究方向做出展望与意见。

2理论基础2.1面部识别技术本文采用MATLAB平台,基于卷积神经网络(CNN),实现人脸识别,同时结合人脸检测和图像预处理技术等,以增强考勤管理系统的智识水平。其中,面部识别技术涉及以下环节。人脸检测:通过摄像头或者图像采集软件获取一张人脸,然后通过人脸检测的算法,检测人脸的位置。一般常用的有基于Haar特征的Viola-Jones算法,该方法利用提取出来的图像特征信息,级联分类器判断该区域是否是人脸,速度很快并且精度比较高。图像预处理:系统在检测人脸后会对图像进行预处理,主要包括图像裁剪、图像尺寸归一化、图像灰度化、直方图均衡化等操作,通过对输入图像数据进行标准化处理,减小光照变化、角度变化等因素的影响,提高识别精度。人脸特征提取:系统对图像进行预处理后输入到卷积神经网络进行人脸特征提取。卷积神经网络(Convolutionalneuralnetwork,CNN)是深度学习中的经典算法,能够通过卷积操作对输入图片自动提取不同层面的特征并学习这些特征;系统通过CASIA-FaceV5数据集训练后能够很好地学习出面部特征,并用于识别对比。人脸识别与匹配:最后,根据提取到的人脸特征与已存在于数据库的人脸特征进行比对完成身份确认。本文是基于卷积神经网络(Convolutionalneuralnetwork)(CNN)的人脸识别系统,在训练阶段利用训练集进行人脸特征的训练,在测试阶段对人脸识别系统所识别出的不同的人脸进行分类匹配,从而能在实际应用中高效、准确地进行身份认定。本研究的创新之处在于采用CNN模型对人的脸部特征进行深度学习,不仅能够提升识别的准确度,同时能够处理动态的人脸图像数据。由于采用MATLAB工具进行编写,其运算能力十分强大,卷积神经网络技术结合MATLAB可实现实时考勤,自动记录学生的出勤状态,以实现课堂管理的自动化和智能化。2.2卷积神经网络(CNN)其强大的原因,源于它的自动学习能力。CNN能从不经人工干预的情况下,从输入图像中提取有用的特征。在本研究中,将CNN技术应用于人脸图像特征提取与分类工作中,可以有效提高在复杂环境下的识别精度。卷积神经网络的主要组成部分有卷积层、池化层、全连接层以及输出层,卷积层,通过过滤器(即卷积核)对图像进行卷积操作,以提取图像特征,并通过池化层对卷积层输出的特征进行降维,减少数据量和过拟合风险。全连接层将提取的特征组合并通过输出层分类。尤其是在人脸识别领域,CNN能够通过对人脸图像进行分析,学习人的复杂特征。当面对照明、表情、角度变化时,其依旧能够保持良好的识别效果。卷积神经网络模型基于MATLAB软件平台搭建,用于对采集的人脸图像数据进行训练和识别。本文利用CASIA-FaceV5数据集进行训练,使系统可以学习到不同的面部特征,并在测试时对新的面部图像进行准确的分类和匹配。反向传播算法和梯度下降法被用于训练模型,以优化网络权重,使所构建的模型具备针对不同面部图像提取有效特征的能力。为了防止过拟合问题的出现,采取数据增强技术来提高训练集的多样性,增强网络的泛化能力。虽然CNN在识别精度上具有极高的优势,可以实现在图片特征提取的自动化,以及分类器的有效性,但同时计算量和计算时间也是一大问题。鉴于此,本系统采用轻量级网络,对超参数进行配置以及硬件调整,以达到实时性和有效性相结合的目的,使系统可以高精度识别的同时满足日常考勤管理工作的需求。

3系统设计3.1系统流程本系统将以MATLAB为基础,采用摄像头和GUI图形用户界面,实现人脸识别考勤系统。系统开始使用时,管理员需要输入密码,输入验证后进入考勤管理界面。管理员登录后,系统开启图像采集模块,通过摄像头采集面部图像或静态图像并进行人脸识别。采集的图像经过人脸检测处理后,判断输入的图像信息是不是人脸,若不是则重新采集图像,若是则跳转到图像预处理阶段。通过裁剪,大小归一化,灰度化等操作处理以获得高质量图像,同时减少或消除环境因素造成的影响,并将处理后的图像输入到预训练好的卷积神经网络CNN模型中进行人脸识别,最后系统将采集到的面部图像与数据库中存储的人脸图像数据进行比对。待识别成功后,系统将会自动记录学生的考勤信息并生成相应的考勤统计报表,以便于管理员查阅和管理考勤信息。在此过程中,完成识别后显示考勤成功的提示,管理员可以选择继续或其他操作。如下图所示,考勤工作流程图。图3.1系统工作流程图3.2CASIA_Face数据库介绍为了对人脸识别系统进行训练和测试,本课题使用了一套专门用于人脸识别的亚洲人脸数据集CASIA-FaceV5作为实验数据源。由于没有针对考勤的人脸数据集,所以本课题采用公开的人脸数据集作为人脸数据源,以保证系统在人脸识别系统实际应用中能够应对各种各样的人脸图像。CASIA-FaceV5是一个专门用于人脸识别的公开人脸数据集。这个数据库中包含了500个不同的个体,每个个体提供了5张不同的面部图像,因此该数据集共包含2500张图片。如图3.2是CASIA_FaceV5数据集文件结构图,图3.3是CASIA_FaceV5数据集样本图片。单个个体的图像存储于一个文件夹中,文件夹的名称是以数字加从“000”开始到“499”的数据库中每个个体的名字。每个人有5张人脸图片,命名方式是:文件夹名_0.jpg到文件夹名_4.jpg,例如文件夹“000”中包含的人脸图片有:000_0.jpg、000_1.jpg、000_2.jpg、000_3.jpg、000_4.jpg。图3.2CASIA_FaceV5数据集文件结构图3.3CASIA_FaceV5数据集样本图片图像的尺寸为640×480像素,并且大多数图像是有色的。数据集的目的是要提供一个具有各种照明照明、表情和角度以及背景变化的彩色面部图像集合,作为人脸识别测试和验证使用,以测试识别技术的鲁棒性和准确性。在本文的研究过程中,将CASIA-FaceV5数据集中的每个人的4张图像作为训练集,另外1张图像作为测试集,分两部分进行测试,这样做的目的主要是为了保证训练集和测试集的数据不重复,从而测试人脸识别系统的识别效果。通过训练集和测试集的人脸识别系统可以学习到人脸的多种特征,从而能够对于现实应用中识别未知图像提供快速且准确的识别。3.3人脸检测因此,这里我们选用Viola-Jones(VJ)检测算法研究人脸检测,其具有定位速度快、精度高等优点。该算法首先通过积分图像快速计算图像特征,然后使用弱分类器对图像特征进行分类,减少运算量,最后通过级联分类器提升分类的准确性,不断提高人脸定位精度。VJ算法是通过Haar特征值来进行检测的。由adaboost算法生成的级联分类器,能够对图像中的某一块区域进行特征匹配,从而能检测出该区域中是否存在人脸。VJ算法共包括训练、检测两个过程。在训练过程中,adaboost算法从事先采集到的正样本和负样本中提取特征,计算出一个最优的分类器;检测过程利用级联分类器对图像上的滑动窗口进行滑动检测,并通过缩放的方式对图像中的人脸进行检测。MATLAB自带Viola-Jones算法的调用函数,非常方便,且精度较高。本研究中采用MATLAB自带的visionCascadeObjectDetector函数来实现人脸检测,其实现过程调用Viola-Jones算法。图3.4为Viola-Jones人脸检测算法的实现过程,将图片输入到step函数里,检测出人脸区域标记后输出。下图3.5为人脸检测效果图,展示了系统通过Viola-Jones算法检测出的人脸区域。某高校大学生的人脸检测系统设计与实现32图3.4Viola-Jones人脸检测算法流程图图3.5Viola-Jones人脸检测效果图应用上述代码,实现人脸检测。图3.4Viola-Jones算法调用示例图3.5人脸检测结果3.4图像预处理本课题采用了大量的图像预处理操作来提高人脸识别准确性和训练效率。通过Viola-Jones人脸检测算法检测输入图像中的人脸位置,根据检测到的人脸位置裁剪图像中的人脸区域。针对于不同图像中的人脸区域尺寸不一致的情况,为了后续卷积神经网络(CNN)的统一尺寸需求,需要将裁剪的人脸图像统一处理成一张尺寸大小一致的图像。具体过程如图3.6所示:图3.6图像预处理流程完成裁剪之后,下一步是灰度化处理,将彩色图像灰度化后,一方面能够减少数据量,降低计算成本,另一方面能够去除光照等因素造成的灰度变化对识别的影响。经过灰度图像处理之后,系统识别的主要对象是人的面部形状而不是颜色,增强了系统环境适应能力。图像的直方图是描述图像灰度分布的一个主要特点,它描述了图像中每个灰度级像素出现的频率。直方图均衡化可以增强图像的对比度,尤其是在低对比度的图像中,直方图均衡化能提高图像整体对比度。直方图均衡化的基本原理是将原始图像的灰度直方图变换成均匀分布,这样可以扩大每个像素灰度值的动态范围,使图像细节得到更好的突出。然后使用了wiener2滤波器对图像进行去噪处理,使用了histeq函数对图像直方图进行均衡化,这样处理的图像对比度较好,可以提升卷积神经网络的识别度。图3.7图像预处理MATLAB代码图3.8是原始图像、灰度化图像和直方图均衡化后图像的对比图,从图中可以看出,直方图均衡化后的图像对比度较好。图3.7图像预处理部分代码示例图3.8图像处理前后的对比示例3.5卷积神经网络模型结构为了实现高效的人脸识别,本文构建了卷积神经网络CNN来进行人脸识别。以下是该网络的结构代码。layers=[imageInputLayer(image_size,'Name','data')convolution2dLayer(3,32,'Padding','same','Name','cnn1')batchNormalizationLayer('Name','bn1')reluLayer('Name','relu1')maxPooling2dLayer(2,'Stride',2,'Name','pool1')convolution2dLayer(3,96,'Padding','same','Name','cnn2')batchNormalizationLayer('Name','bn2')reluLayer('Name','relu2')maxPooling2dLayer(2,'Stride',2,'Name','pool2')convolution2dLayer(3,128,'Padding','same','Name','cnn3')batchNormalizationLayer('Name','bn3')reluLayer('Name','relu3')fullyConnectedLayer(128,'Name','fc1')reluLayer('Name','relu4')fullyConnectedLayer(4096,'Name','fc6','BiasLearnRateFactor',2)reluLayer('Name','relu6')dropoutLayer(0.5,'Name','drop6')fullyConnectedLayer(4096,'Name','fc7','BiasLearnRateFactor',2)reluLayer('Name','relu7')dropoutLayer(0.5,'Name','drop7')fullyConnectedLayer(class_number,'Name','fc2')softmaxLayer('Name','prob')classificationLayer('Name','output')];该网络结构始于输入层,通过多次卷积和池化操作提取图片特征,并逐步映射到分类结果。在每一个卷积层的后面都跟随着一个批次的标准化层以及ReLU激活层,以提升训练速度并增强网络中的非线性表达能力。全连接层将所得到的特点集合汇聚在一起并加以分类。Droupout层起到了正则化的作用,为了避免过拟合。最后,通过Softmax层将得到的结果以概率的形式展现,分类层则给输出最终的决策。图3.9卷积神经网络结构该卷积神经网络从输入到输出的层级结构图如下图3.9,每一层都发挥着不同的功能和作用,从输入到输出,逐层对图像特征进行提取和处理。3.6模型训练3.6.1训练数据准备在本文实验中采用CASIA-FaceV5人脸数据集进行训练,包含500个不同的个体,每个个体包含5张图像,共2500张,分辨率为640x480像素。为了提高模型的泛化能力,提高模型的鲁棒性,所有图像都经过严福建师范大学李昂硕士学位论文-12-重的预处理。首先利用Viola-Jones算法对图像进行人脸检测,获得人脸区域裁剪。Viola-Jones算法是利用图像积分快速提取图像特征的一种算法。通过该算法能够快速找到图像中的人脸并检测人脸。将每张人脸区域裁剪出来,这样可以保证模型训练时只对包含人脸的区域进行训练,提高训练速度和识别精度。然后,将所有的裁剪出来的人脸图像进行灰度化处理。将彩色的人脸图像转换为灰度图可以降低输入数据的维数,不仅降低了计算量,而且能够减弱光照等因素对识别结果的影响,而且在提取人脸特征的时候更注重人脸的形状、结构等信息,而不是表面的颜色信息。为了进一步提高图像质量,避免低对比度图像影响训练效果,将所选取图像全部进行直方图均衡化。直方图均衡化可以改善图像对比度,使图像明暗细节更佳。采用此方法后,图像像素灰度值分布将转变为均衡分布,整体提高图像对比度及细节能力。增强数据则采用了MATLAB的augmentedImageDatastore函数来进行图像增强,该过程可以针对训练集中的图像在训练过程自动对图像进行旋转、缩放、翻转等处理,从而使数据更加多样化,避免模型过拟合,提高模型的泛化能力,对训练集和验证集的数据都进行这样的数据增强处理,来提高模型的训练效果。3.6.2训练参数设置在训练过程中,设置了一些重要的超参数来保证模型能充分学习收敛。学习率初始化时设置为0.001,以此确保网络在训练初期能够快速收敛,避免由于学习率过快造成梯度爆炸或欠拟合。在训练过程中逐渐降低学习率,使模型能够在训练后期进行更精细的调优,并提高最终的性能。max_epochs(最大训练轮次)设置为500,确保网络能够通过足够的训练周期来学习足够的特征,以提高识别精度。在每个epoch中,采用64个样本进行批量训练,批量大小能够帮助稳定训练过程,并提高计算效率。使用adam优化器来加速训练过程,同时提高精度。Adam优化器能够根据每个参数的梯度动态调整学习率,从而使模型能够快速收敛,非常适合大数据集。对于学习率,采取piecewise学习率的调度策略,每800个训练回合降低学习率0.1倍,保证训练后期有足够精细的权重调节。另外,训练过程中加入validationData参数保证每一轮在验证集上进行训练,避免过拟合,同时提高模型的泛化能力。下面给出MATLAB训练参数配置的代码样例。MaxEpochs=round(500);%最大训练轮数InitialLearnRate=0.001;%初始学习率LearnRateDropPeriod=800;%学习率下降周期MiniBatchSize=round(64);%批量大小ExecutionEnvironment='auto';%自动选择计算环境options_train=trainingOptions('adam',...'MaxEpochs',MaxEpochs,...'InitialLearnRate',InitialLearnRate,...'Verbose',true,...'MiniBatchSize',MiniBatchSize,...'LearnRateSchedule','piecewise',...'LearnRateDropFactor',0.1,...'LearnRateDropPeriod',LearnRateDropPeriod,...'Shuffle','every-epoch',...'Plots','training-progress',...'ValidationData',augimdsValidation,...'ExecutionEnvironment',ExecutionEnvironment);

4系统实现4.1开发环境本系统采用MATLAB平台作为开发工具,通过调用MATLAB图像处理工具箱和深度学习工具箱来实现人脸识别的功能。MATLAB提供了比较强大的支持,可以通过调用其Viola-Jones算法来实现人脸检测的功能。图像处理工具箱和深度学习工具箱为卷积神经网络(CNN)提供了设计、训练和评估工具。为了保证系统能够有效利用硬件资源进行训练人脸识别,本研究还引入了MATLAB并行计算工具箱,本工具箱可加速系统的运算速度,尤其在利用GPU进行深度学习训练中,运算速度可更快的处理。本项目在开发过程中,采用摄像头进行实时图像采集,摄像头可方便使用,通过MATLAB与硬件的兼容性,让摄像头的使用更方便。在系统中,需要安装ImageAcquisitionToolbox以支持图像采集。如图4.1所示为ImageAcquisitionToolbox安装包。图4.1ImageAcquisitionToolbox安装包MATLAB提供了对多种硬件设备,包括普通视频采集设备或Kinect传感器等的支持。附加功能中可找到此安装包,使用imaqhwinfo('winvideo')命令可检测系统是否成功识别连接的摄像头设备,如下图4.2所示命令行窗口返回摄像头设备的全部信息,若红框中设备ID存在,代表摄像头连接成功。图4.2设备识别成功截图4.2系统界面与操作流程4.2.1系统启动与登录本系统主要以MATLAB实现,在MATLAB命令行输入guide命令,选择choose_sys.fig文件,打开系统。进入登录界面,输入管理员登录名和密码,登录成功后,进入系统主界面。如图4.3所示,用户通过输入管理员账号和密码进行登录,若没有账号,用户可以点击“注册”按钮创建新账号。图4.3系统启动与登录界面4.2.2CNN模型训练与初始化设置第一次使用本系统时,需要进行卷积神经网络(CNN)模型的训练,卷积神经网络模型的训练是整个系统能够实现高效人脸识别的重要步骤。用户可以通过点击系统界面的“训练CNN”键开始训练。系统将使用包含500个不同人的面部图像数据集CASIA-Face[7]作为训练集,通过卷积神经网络对图像数据进行特征学习和分类。训练时,系统将自动加载数据(CASIA-FACE数据集)并对图像数据进行预处理预处理后,系统采用CNN模型进行学习,在卷积层与池化层反复提取图像深层次特征后,在全连接层分类。图4.4系统训练界面如图4.4所示,该训练界面可用于系统训练时,并能够实时显示CNN的训练进程和训练情况,以及准确率和损失函数变化等信息。训练过程中,用户还可根据需要来对一些训练参数进行改变,如学习率、训练轮次、批量大小等,来对模型训练进行更优的调整。学习率决定了每次权重更新的步伐,初始化设定学习率时一般会设置成一个较小数值,防止在训练集合开始时,步伐太大导致训练不稳定。根据这些参数对系统进行多次训练,从而优化模型参数。图4.5CASIA_Face数据集图像示例如图4.5所示,CASIA_Face数据集的图像文件具有统一的命名规律,使得系统可以正确识别和加载。每个文件夹代表一个人,文件夹中的图片具有“编号_0.bmp”、“编号_1.bmp”等命名规律。按照此命名规律,用户可以将新的图片添加到CARIA_Face文件夹中。添加图像数据结束后,可以再次点击“训练CNN”继续进行训练。通过此种方式,可以持续扩充数据集,训练更为鲁棒的识别模型。在训练过程中,系统将采用GPU加速技术提升训练速度,满足大规模数据集的训练需求。在完成训练之后,生成已经训练好的模型,供实时的人脸识别使用。通过CNN训练过程,系统将学习对人脸图像的特征,在人脸识别中准确率和泛化能力都比较强。4.3人脸识别方法4.3.1静态图像识别本系统用户可以通过点击“读取静态图像识别”按钮,加载静态图像进行人脸识别。当用户选择了静态图像之后,系统自动执行人脸检测、图像预处理、人脸识别等识别程序,最后显示识别结果。如图4.6所示,图中左侧为原始图像,中间为裁剪的人脸部分,右侧为数据库中查找到的人员图像。系统将按照查找到的人员信息在界面下方显示该人员的标签、打卡次数以及打卡时间。根据界面信息可知每次图像识别的具体信息。图4.6静态图像识别界面当系统认为拍摄到的图像不是库内人员时,界面上会显示一个警告框,如图4.7所示,系统显示“非库内人脸”提示。由此可以区分库内人员与库外人员,保证考勤系统的精准性。图4.7非库内图像识别提示4.3.2摄像头自动识别本系统采用摄像头自动识别,当摄像头发现人脸时,系统对图像进行暂停识别3秒钟,此过程不因外界环境而中断,暂停3秒后再继续识别人脸,然后对识别的人脸图像进行比对,若人脸识别库内有该人脸,则调出打卡信息,显示用户考勤状态。如图4.8所示。系统在识别库内人脸时,展示出人脸图像、匹配信息和打卡信息等,其中包含使用者的标签、打卡次数、打卡时间等具体信息。人脸识别技术能准确地识别库内人员并实现实时考勤。相反,图4.9展示了当系统识别到非库内人脸时,系统弹出警告框提醒人脸不在库内,并拒绝打卡,有效地防止了非授权人员通过假冒身份进行打卡的情况发生。图4.8库内人脸识别界面图4.9非库内人脸识别界面4.4打卡统计与数据管理使用系统的过程中,对考勤数据的统计和管理也是非常重要的部分,为了方便对考勤数据的统计,让数据更加清晰并且方便管理,系统设置了“打卡统计”功能,管理员通过“打卡统计”功能,可以对员工考勤情况有全面清晰的展示。“打卡统计”功能可以根据统计显示,每位员工的打卡记录,例如根据员工打卡的次数进行统计,将员工的考勤情况以直方图的形式展现出来。打卡统计是管理员维护系统的过程中统计考勤数据的重要功能。例如:当点击“打卡统计”时,系统将生成系统,每个员工的打卡次数就会显示在左侧,以直方图的形式呈现。图4.10打卡次数统计界面图4.10打卡次数统计图横坐标为员工编号,纵坐标为员工的打卡次数。黄色条形图代表员工的打卡次数,条形图的长度表示员工在一定时间内的打卡频率,管理员通过图表能快速找到打卡频繁和未打卡员工,打卡数据的可视化展示使考勤管理更加直观、简单。管理员可以及时发现存在的考勤问题,如员工未打卡或迟到早退。图4.11Excel数据表格此外,还提供了Excel表格,将统计的结果以表格的形式展现,提供给管理员做进一步的分析。图4.11Excel表格图4.11的Excel表格中包含了每个员工的代号、姓名以及相应的打卡记录,通过这个表格可以迅速地查找到每一位员工的考勤情况,通过进一步的分析,确保员工的考勤情况符合公司和组织的要求,同时,表格中也包含了员工的上班时间,为后续的考勤管理提供了时间依据。通过该功能,管理员不仅可以实时的看到每名员工的上班打卡情况,还可以通过统计历史数据,挖掘出考勤管理中的规律性问题,完善考勤管理方案和流程。

5系统测试与性能分析5.1测试平台与实验设置本系统采用的测试平台是基于MATLAB深度学习工具箱和图像处理工具箱,实现了人脸识别功能,采用了符合基准的计算机系统环境,摄像头采用了高质量、高配置的设备,实时采集图像。系统选用的设备是支持MATLAB和ImageAcquisitionToolbox的连接装置,具有采集高质量视频数据的能力,这些数据可用于人脸检测和识别。在实验环境上,为了验证系统在多场景中都能正常工作,我们分别设置了室内弱光环境、室内高光环境、室外自然光环境等不同场景,确保系统在多场景中都能表现出良好的鲁棒性,在强光和弱光的情况下都能正确识别人脸的方向和距离远近。此外,我们还在实验过程中引入了一些背景噪音,如背景人物的对话、移动物体的摩擦声等,来验证系统在复杂环境中是否能排除非目标对象。

在软件工程中实现本实验系统核心模块包括但不限于人脸检测模块、图像预处理模块、CNN训练模块、识别模块。系统在满足实际应用的前提下进行设计,确保所有模块之间数据流通,功能协调一致,保障所有功能正常实现。特别是人脸识别模块,本系统采用前文训练好的网络CNN模型,保障对实时和静态图片有着较高的识别精度。5.2系统性能与资源消耗分析系统性能测试主要从人脸检测率、检测时间、占用资源等方面进行评价。实验结果表明,系统各项指标均达到比较满意的成绩。在人脸检测性能方面,设计的系统在10张测试图像上,对人脸的检测率都为100%,说明系统对不同环境、不同场景的人脸都有着高度的稳定性,能够准确地检测人脸,系统的可靠性得到了保证。在处理的时间方面,系统平均处理时间为36.61ms,其中最小处理时间8.88ms,最大为137ms。虽然系统处理时间会在不同图像中有所波动,但在可接受的时间范围内,系统实时处理图像的能力满足人脸识别任务需求。而在资源占用方面,整个系统平均只消耗了6.95MB的内存,占用内存量很少,在一般机器配置环境下也不会占用了系统资源,系统运行时不会出现明显下降的现象。如下面的图表所示。图5.1人脸检测与预处理时间系统完成不同测试图像的处理时间如图5.1所示。在一些测试图像中,系统的处理时间较长,在图像复杂度较高时,最大处理时间达到137ms。图5.2内存使用情况图5.2展示了系统在检测人脸、预处理人脸的过程中的内存占用,总体内存占用非常低,平均仅有6.95MB,系统在资源利用上表现良好。5.3训练结果与性能评估系统在训练过程中利用CNN来学习人脸数据并不断地提高识别准确率,随着轮次的不断增加,系统的准确率也呈现出了不断上升的趋势,在训练过程中主要趋势如图5.3所示,左上角的蓝色部分表示系统准确率的训练过程不断上升的趋势,并逐渐稳定在一个较高的水平,其中训练到500轮之后验证集的准确率达到了85.37%,说明系统不断地学习数据特征并逐渐找到了识别任务的有效模式。图5.3训练进程曲线图图5.3中下方的(橙色)曲线表示损失函数,训练初始阶段,损失函数下降迅速,表明模型在训练早期识别误差在迅速减小,训练后期损失函数趋于平稳,说明模型已经趋近于最优解,网络在训练后期,加深了网络的提取特征能力,误差继续减小,精度得到提高。由此可以判断网络优化过程是否顺利成功。训练曲线图可以看出,在训练过程中准确率能够迅速提高,损失值在训练过程中不断下降,这表示网络不断进行优化并提高其识别精度,每一次训练,网络都能对自身的不足进行修正,识别精度得以提升。测试结果验证了整个训练过程的训练效果,库内人脸识别准确率高,速度快。库外人脸的识别结果准确率稳定,能够给出及时的警告,系统有较强的泛化能力,可以准确给出识别结果,并给出相应的反应。

6总结与展望6.1总结系统主要以基于MATLAB,深度学习和图像处理技术为支撑,在人脸检测、卷积神经网络、卷积神经网络训练和人脸识别等环节都取得了良好的效果。测试结果显示,系统在库内人脸的识别结果准确且稳定。系统对库内员工的身份识别和考勤系统的信息能够准确地识别和更新。但是,当测试对象是库外人脸时,容易出现误识别的情况。非库内人脸经常被误认为库内人脸;而在一些光照变化较大的场景下,识别的准确率会有所降低。不同光照条件下,系统识别的效果也不尽如人意,一些图像对比度低,光源不均匀,识别效果就会比较差。面对上述问题,本文采取了数据增强的措施,多样化图像丰富度,提升网络的泛化能力。经过数据增强和CNN结构改进,本系统具有较强的环境适用能力,在静态和动态图像识别场景下,可以快速提取图像特征,并与人脸数据库数据进行比对,实现考勤数据的精准记录。虽然目前的库内人脸识别系统已经能够实现非常高的准确度,但是在库外人脸的识别方面还需要进一步提高。在未来可以通过增加训练集,提高算法的性能来优化非库内人脸的识别准确度。提升系统对光照差异的鲁棒性,在复杂的环境下能够有更好的表现,进一步提高系统识别的准确度和鲁棒性。通过提升系统的鲁棒性,在面对不同的环境的情况下能够有更好的表现,系统的鲁棒性越高,识别的准确度就越高。6.2展望尽管本系统在实验过程中达到了较好的性能,但在一定范围内,本系统还存在一些改进的空间,特别是在非库内人脸识别的准确率和系统跨场景的泛化能力方面,在今后的工作中,计划针对上述几个方面做更深一步的探索和研究,从而提高系统的综合性能,拓展系统的应用场合。人脸识别技术中的数据集中,人脸识别模型对数据库中不存在的人脸识别精度降低,特别是在光照度低或者背景比较复杂的环境下,对于识别精度有更高的要求。后续可以通过加入不同光照、角度、背景等特征的数据集训练以提高模型的泛化能力,提高对人脸识别错误识别的情况。在照明变化较大的情况下,本系统的识别准确率有所下降。这表明本系统在识别精确度方面还有待提高。后期可考虑采用更先进的图像处理方法,如动态光照处理、图像增强,甚至可以考虑采用基于GAN的图像合成方法,以确保系统在不同光照条件下的表现不被光照的变化所影响。此外,在图像处理阶段,采用更先进的图像去噪和对比度增强方法,也能提高系统对环境的鲁棒性。系统在未来的优化上必然朝向更快的实时性。系统的正常处理速度在一般的操作下有着非常快的反应。在面对大量并发图像信息时,系统识别处理速度有较大的提升空间,系统对数据处理的提升将体现在网络的搭建,更有效的计算方法,以及GPU加速或者其他加速手段。以更快的速度处理实时数据,保证系统的及时性,即使在系统任务繁重的情况下也能保证对事件的及时响应。考虑到系统的现实需要,云平台与IoT的有机结合是未来发展的必然趋势。通过系统部署云端,可以充分利用云计算的数据处理能力来实现人员管理和考勤数据的存储。同时,利用物联网技术实现多个设备的数据共享和协同操作,进一步提升考勤管理的智能化水平,也为该技术在其他领域的应用提供了可能。参考文献陈秀端.Gabor与PCA融合算法的人脸识别技术[J].南方农机,2021,52(18):139-142.费弘.一种基于人脸识别的幼教大数据综合系统设计[J].中国科技信息,2022,(08):112-114.邵燚,侯益明,李和雨.基于Matlab的人脸识别系统设计[J].无线互联科技,2022,19(08):62-63.王慧,黄睿,刘林慧,等.基于MATLAB的人脸识别算法研究[J].自动化应用,2022,(09):69-71.DOI:10.19769/j.zdhy.2022.09.021.AbdullahiMI,MalikiD,Abub

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论