基于Python考勤系统的设计与实现.doc
基于Python考勤系统的设计与实现摘要:近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域的应用铺垫好了根底。而且自从2016年以来,人脸识别的应用领域逐步扩大,特别自从2016年下半年开始,人脸识别技术等的各种应用案例的运用落地速度飞快,普及程度也有所提高,诸如此类手机摄像头开锁及考勤门禁人脸识别功能等。2017年出现井喷,在各种应用和领域中熠熠生辉,目前来看很有发展得前景。经过几十年的发展,人脸识别技术已经成为计算机视觉领域的研究热点。随着人脸识别算法的成熟,人脸识别技术已广泛应用于诸如此类财务支付、各种认证、美容摄像、公安事业等领域。本文在如今Python人脸识别的现有研究成果下,显浅使用Python语言的第三方库Dlib,通过机器深度学习来实现人脸识别的各种功能,设计和实现创新的人脸识别的考勤系统,完成用户注册,用户识别,考勤系统管理等功能整合。该系统考勤相对于传统考勤系统具有灵活、编程简单、准确率相对较高等的优势。关键词:人脸识别;Python 语言;dlib 库;考勤系统。 Design and implementation of attendance system based on PythonAbstract: In recent years, the application technology of face recognition has developed rapidly, which has effectively improved the accuracy and speed of face recognition, and paved the way for the application of face recognition in many fields. Since 2016, the application field of face recognition has gradually expanded, especially since the second half of 2016, the speed of landing of various application cases of face recognition technology has been significantly accelerated, and the popularity has also increased. Face recognition function, etc. A blowout appeared in 2017, which is shining in various applications and fields. At present, it has a promising development prospect. After decades of development, face recognition technology has become a research hotspot in the field of computer vision. With the maturity of face recognition algorithms, face recognition technology has been widely used in such fields as financial payment, various certifications, beauty cameras, public security, and other fields. Based on the current research results of Python face recognition, this paper uses the third-party library Dlib of Python language to implement various functions of face recognition through machine deep learning, and design and implement an innovative face recognition attendance system. , Complete user registration, user identification, attendance system management and other functions integration. Compared with the traditional attendance system, this system has the advantages of flexibility, simple programming, and relatively high accuracy.Keywords:Face recognition; Python language; dlib library; attendance system. 目录第一章 绪 论11.1 系统设计的背景11.2 课题目的与意义11.3 课题的研究现状21.4 论文系统结构与内容21.5 考勤管理系统简介31.5.1概述31.5.2考勤管理系统的历史概述31.5.3常见考勤系统4第二章 开发技术及环境搭建52.1、Dlib库介绍52.2、Python3.6+OpenCV3.2环境搭建62.21、python安装62.22、搭建python虚拟环境72.23、安装openVC的先决条件82.24、编译openVC环境92.25、安装验证112.3、Python3.6+dlib19.4环境搭建112.3.1、dlib之前的准备112.3.2、安装dlib依赖112.3.3、安装dlib132.3.4、实例检测112.4、数据库的建立142.5、Visual Studio连接SQL Server数据库162.5.1 连接数据库流程162.5.2 注意事项18第三章 设计需求分析193.1 开发需完成目标193.2 系统结构分析193.3 系统性能需求分析203.4 功能性需求分析203.5 本章小结21第四章 人脸识别考勤系统功能设计224.1、功能概括224.2、考勤系统用户注册功能224.3、数据库设计234.3.1 SQL Server 数据库平台234.3.2 SQL 语言244.3.3 数据库设计概括244.4、考勤系统识别流程254.5、系统界面的设计26第五章 系统的实现275.1、Python3.6+OpenCV3.2识别275.1.1、获图实时检测275.1.2、本地获取图片进行人脸检测并保存图片285.2、Python3.6+dlib19.4识别实例315.2.1、生成方形框识别人脸325.2.2、关键线识别人脸335.3用户界面模块的实现35第六章 考勤系统测试386.1测试的目的和意义386.2系统测试环境386.3系统测试原则386.4系统测试方法396.5系统测试过程406.6考勤系统测试总结42参考文献:43致谢45IV第一章 绪 论1.1 系统设计的背景人脸识别的研究起源在 20 世纪 60 年代,是 Bledsoe 和 Chen 最开始发表的。在过去的两年中,人脸识别技术发展迅速。一路走来有效地提高识别精确度和速度,为这项研究的广泛发展提供了基础。其实,从2016年以来,人脸识别的应用领域就开始逐步扩大,各种各样的人脸识别技术应用明显加快,百花齐放应接不暇。进入2017年后,它迎来了它的春天,并在许多应用程序和许多领域大放异彩。按行业划分的领域通常囊括:军事,公安,企业,机构,工厂,学校,房地产,家庭等等各行各业。例如准入在仓库,计算机室,办公楼,办公室,数据室,档案室,实验室等中进行控制,出勤签到,巡逻,识别,追踪和预警等适用范围也很广。随着人脸识别算法的不断改进,人脸识别技术在保险金融等行业得到了很深度的挖掘使用。本文在现有人脸识别领域钻研成果的基础上,利用Python语言的第三方库dlib,完成用户注册,用户识别,考勤系统管理等功能集成。1.2 课题目的与意义人脸识别用于身份识别,它是一种取决于人脸模型的特征信息的生物识别技术,其中具有的唯一性和难以取代复制的特点,使人脸识别考勤系统等人脸识别类应用系统应运而生。它不仅因为人脸识别系统无需任何介质完成以往需要实物去达到的目的,所以可以节省不少成本,并且还免去实物造成的麻烦。铁打的系统,严格规范并且灵活管理员工或者学生的考勤,而流水的考勤人不需要导致修改更换物料,例如员工信息卡和门锁等,只需对新的人脸信息重新进行注册录入数据库,直接进行新的考勤运转。最后,人脸识别系统可以逐步完善,搭配各种平台,实现方式越来越简单,很好避免替代传统打卡的效率低下情况,还有统计困难造成的人力管理,甚至是性价比低的使用和维运成本。1.3 课题的研究现状人脸是确定一个人身份的最重要的方法之一。而作为一个人的最显著差异化标签,人脸识别是通过生物特征对人的身份进行辨认,是未来的一个很有前景的方向。近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域的应用铺垫好了根底。而作为非常热门的编程语言Python,其作用也是越来越大。其中Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法,也是受到了很广泛的挖掘。大到公安系统小到每一个人的手机人脸解锁,研究人脸识别具有非常重要的理论价值和应用价值。1.4 论文系统结构与内容人脸识别考勤系统,重点是对人脸的检测和特征提取。因为其底层是一种Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法。这里不同技术会采用不同的方法来实现人脸面部特征的抽象。归纳起来大致都可以分为以下几个流程:人脸检测、人脸规范化 人脸特征提取、人脸识别。本文目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的数据进行比较,然后进行验证。3.考勤系统管理,由管理界面和考勤通过人脸识别记录,可迅速提取数据。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是由深度学习的,利用人脸识别模型和经过训练的人脸关键点检测器得到人脸特征值。通过对一个人面部的观察,可以获得很多信息,如:性别、身体状况、情绪、年龄等。其实,人脸检测就是一个特别复杂的过程,本文所研究只是人脸识别的简单实现。1.5 考勤管理系统简介1.5.1概述考勤管理是指用现代方法对单位内部,企业和事业单位,以及机关等人力资源进行合理的组织和配置,合理控制和协调员工的思想和行为,在约束条件下充分发挥人的主观能动性,使每个人都能发挥自己的才能,为自己的目标或业绩找到舞台。传统的公司企业,对于考勤,比如工资核算及发放、请假、员工上下班签到等都是通过指定的传统物料和考勤人员用人工操作来搞定的。1.5.2考勤管理系统的历史概述 总体来说,在20世纪60年代开始,以往的人工考勤都是传统的人力打卡,系统的效率非常低,漏洞也非常多,这种情况持续在第一代计算机考勤管理系统诞生之前。在第一代计算机考勤管理系统研发之后,受制约于当时计算机发展水平,第一代计算机考勤系统并不好用。 而后,得益于数据库技术的发展,在这段时间里考勤系统的开发和应用拥有着比以前雄厚的技术后盾。在大概20世纪70年代时候在第二代计算机考勤系统应运而生之,而且与第一代相比,第二代系统有了很大的进步,功能也相对完善。但第二代系统的实用性还是有待提高。 而到了接近21世纪,人类越来越知道计算机的重要性,计算机技术、数据库技术和网络技术等系列学科迅猛成长,让考勤管理正逐步走向现代化。我国在走向国际化,全球化,市场竞争越来越激烈,特别是在现代企业中,开始重视人员考勤,而在跟国际接壤的影响下,懂得出勤效率的高低直接关系到企业的竞争力。在此背景下,第三代计算机考勤管理系统逐步普及,解决了人员考勤的诸多问题。1.5.3常见考勤系统 总的来说,现在的考勤管理系统根据考勤方式的不同,具体可以分成几个主流的类型,有卡片式类型、生物识别式类型、动态人脸识别类型的考勤系统等。最基础的卡片式是最稳定的,以磁卡作为媒介进行考勤主体的运用,要求待考勤人必须携带与之身份相对应的磁卡,通过刷磁卡内保存的条码信息来实现考勤。简单容易,但缺点也是比较多的。物料的成本较高,后期维护的工作量也相对来说比较大,而且其采用的是始于“物”的方式,寿命短的同时也当然阻止不了别人代考勤的发生,保密性不好。还有在现代生活中,卡片具有容易被复制的缺陷,密码也有泄露风险。 这里与卡片考勤系统相比,指纹考勤系统是更进步且越来越普遍的考勤系统使用。指纹考勤和人脸特征识别考勤系统都是是利用考勤人的生物特征来实现考勤流程的,总的来对比,物理打卡考勤存在易丢失、使用寿命有限的问题。一般来说,在先阶段考勤系统中,指纹识别考勤还是占据主要地位的,其应用范围也比较普遍。重要的是要有良好的保密性。指纹直接用于考勤,指纹唯一稳定。考勤方式也很灵活,可以满足复杂的考勤轮班需求。 而本文所研究的是目前比较新颖的考勤系统办法,利用python人脸识别完成考勤,更加灵活地实现动态考勤,采用“人”为基础的出勤方式,能够有效解决代人出勤的问题,因为不受其他外来因素的影响,这样的考勤系统后期维护工作量小,成本低使用人脸识别考勤虽然在准确度亟需提升,但是进步有目共睹,得到的考勤可信度开始提高,结果更加真实、有效。第二章 开发技术及环境搭建2.1、Dlib库介绍 最近这些年来,Python成长的开展适当迅猛。Python言语之所以开展得如此快,得益于其源代码开源性和代码开发的高效性。Python社区提供了很多的第三方库,它们可以完成数据可视化、数据剖析和科学计算等多个方面的功能,其中Dlib库便是一个比较出名的第三方库,可以完成人脸检测和识别,其算法选用HOG特征与级联分类器,算法的完成大概过程有:将照片图像进行灰度化;对于选用Gamma校正法对图画进行色彩空间的标准化;对每个图画像素进行梯度的计算;有效的小单元格区分图像画面;然后生成每个单元格的梯度直方图;把单元格组合成大的块,块内归一化梯度直方图;最后生成HOG特征描述向量。Dlib是一个包含机器学习算法的C+开源工具包。Dlib可以帮助开发者创建许多复杂的机器学习软件,来解决各种各样的实际问题。目前,Dlib已经广泛应用于工业和学术领域,包括机器人、嵌入式设备、手机和大规模高性能计算环境等。还有一点就是,Dlib是开源和免费的。其git如图2.1:图2.1 这里说一下有关Dlib的主要特点:1.Dlib为每一个类和函数提供了完整的文档说明,同时还提供了debug模式;不像很多其他传统的开源库一样繁重。在debug模式中,用户大可以任意调试代码,查看变量和对象的值,并且能快速定位到错误点。此外,Dlib还提供了大量的实例供给参考。2. Dlib库具有高质量的可移植代码。众所周知,Dlib不依赖第三方库,无须安装和配置,这部分可前往官网how to compile的介绍,介绍界面在左侧树形目录里。还有就是,Dlib可用在window、Mac OS、Linux系统上,适配性比较高。3. 可以供给大量的机器学习或图像处理算法,这边可以参考Dlib学习及换脸程序 。可以总结为:(1)深度学习(2)基于SVM的分类和递归算法(3) 针对大规模分类和递归的降维方法(4)相关向量机。是与支持向量机相同的函数形式稀疏概率模型,对未知函数进行预测或分类。其训练是在贝叶斯框架下进行的,与SVM相比,不需要估计正则化参数,其核函数也不需要满足Mercer条件,需要更少的相关向量,训练时间长,测试时间短。(5)聚类: linear or kernel k-means, Chinese Whispers, and Newman clustering. Radial Basis Function Networks(6)多层感知机 2.2、Python3.6+OpenCV3.2环境搭建2.2.1、python安装可以从官网上下载最新版本的python,本文选择的是dmg文件,可以直接双击安装python3.6。python官网:https:/www.python.org/downloads/完成之后需要更新一下PATH的目录:Win+F,输入cmd,在/.bash_profile中添加(显示不存在的话就要在这里进行添加)$ vim /.bash_profileexport PATH=/usr/local/bin:$PATH然后重新加载/.bash_profile,保证更新成功$ source /.bash_profile确认python安装成功$ which python3/usr/local/bin/python$ python3 versionPython 3.6.12.2.2、搭建python虚拟环境首先需要重新开一个虚拟环境来做python里opencv的开发。这里的作用,虽然虚拟环境不是必须的步骤,但是因为我们电脑需要开发各种各样的项目,避免冲突。首先,安装虚拟环境 virtualenv 和 virtualenvwrapper。pip3 install virtualenv virtualenvwrapper这个虚拟环境是在python环境中都可以用的。这里我们更新/.bash_profile 的设置。#Virtualenv/VirtualenvWrapperexport VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3source /usr/local/bin/virtualenvwrapper.sh然后重新加载.bash_profile:$ source /.bash_profile为了便于安装一些这个项目需要的额外的包并进行图片处理,这里创建一个cv3的虚拟环境进行开发。$ mkvirtualenv cv3 -p python3mkvirtualenv后会自动进入cv3,这里有一个注意的事项:本身已经存在了此环境,需要再次进入该环境,用worken,成功进入到cv3环境:$ workon CV3在这里安装numpy是进入python的前提条件:$ pip install numpy2.2.3、安装openVC的先决条件我把编译openVC能用到的开发工具这里详细列出来:先是:$ brew install cmake pkg-config这里可以同时下载各种图片格式读取的包:$ brew install jpeg libpng libtiff openexr这些包,用于优化openVC程序:$ brew install eigen tbb2.2.4、编译openVC环境官网上选择最新的版本进行检查更新,然后从Github用于下载openVC源码。其中, Github的地址是: 代码如下:$ cd $ git clone $ cd opencv$ git checkout 3.2.0 #需要下载opencv_contrib包。完成后,去让OpenCV供给额外的支持,像内容检测等等。对于这方面,可以选择和OpenCV相同的版本进行下载$ cd $ git clone $ cd opencv_contrib$ git checkout 3.2.0下载完成后,最后创建build文件夹:$ cd /opencv$ mkdir build$ cd build使用CMake进行build:注:这里要确认OpenCV和python3模块都加载完成。$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_PACKAGES_PATH=/.virtualenvs/cv3/lib/python3.4/site-packages -D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4m.dylib -D PYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/include/python3.4m -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=/opencv_contrib/modules .这里等CMake完成,没有产生报错,再继续进行编译:$ make -j4$ make install(如果显示权限不足,就使用此语句)$ make -j4$ sudo make install2.2.5、安装验证验证cv2.so正确:$ cd /.virtualenvs/cv3/lib/python3.4/site-packages/$ ls -l cv2.so-rwxr-xr-x 1 admin _developer 2017027 April 14 06:11 cv2.so验证python中可以使用opencv包,import不报错:(cv3)74-80-245-164: admin$ python3Python 3.6.1 (default, April 14 2017, 05:23:16)GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53) on darwinType “help”, “copyright”, “credits” or “license” for more information.>>> import cv22.3、Python3.6+dlib19.4环境搭建2.3.1、dlib之前的准备dlib之前的准备就是前提安装好安装python3.6环境,还有进入终端需要安装一系列可能用到的包如下:安装easy-install:$ sudo pip install python-setuptools安装python-dev:$ sudo pip install python-dev安装numpy:$ sudo pip install numpy安装PIL:$ sudo pip install Image安装scipy:$ sudo apt-get install python-scipy安装matplotlib:$ sudo apt-get install python-matplotlib2.3.2、安装dlib依赖Dlib必要安装的依赖:openblas,opencv:$ brew install openblas$ brew install opencv还有dlib中so库必要的依赖 :libboost:$ sudo pip install libboost-python-dev cmake$ cd /usr/local/opt$ ln -s /opt/X11 X112.3.3、安装dlib正常选择进入dlib官网,下载安装包地址为:再选择合适位置解压或者使用git下载:$ git clone 完成下载后解压与安装步骤:$ cd dlib/examples$ mkdir build$ cd build$ cmake .$ cmake build . config Release这里再说一下dlib安装中的python模块:Dlib的18.17中还有包括之前的版本里面,进入python_examples下运用bat实行编译,前提是编译需要先update:libboost-python-dev及cmake。$ cd to dlib-18.17/python_examples$ ./compile_dlib_python_module.bat如果在18.18版本之后,就采用新办法,使用setup.py安装,让其生成so依赖文件:$ cd dlib$ sudo python setup.py install在得到dlib.so之后将其复制到dist-packages目录下:$ sudo cp dlib.so /usr/local/lib/python3.6/dist-packages/设置python环境变量:# Put the following line in .bashrc or .profile$ export PYTHONPATH=/path/to/dlib/python_examples:$PYTHONPATH之后再安装一些可能会用到的依赖包:安装skimage$ sudo pip install python-skimage安装imtools$ sudo pip install imtools2.3.4、实例检测实例1:出现了X11窗口:$ cd dlib/examples/build/ (标注人脸landmar)我们需要手动打开笔记本的摄像头自动检验人脸头像:#下载face landmark模型$ wget # 解压文件$ ./webcam_face_pose_ex实例2:人脸标记图片的显示:$./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat ./faces/2008_002506.jpg2.4、数据库的建立 什么是数据库?现阶段我们所接触的数据库技术,诸如此类数据存储和统计,还有关于信息收集和整理以及信息发布等,一系列操作的完成。系统数据库,展开来剖析,数据库的设计应始于要求的前提下和相对统一的标准化的设计理论,根据各种技术处理的要求对真实的数据,符合软硬件操作系统的特点,并且可以使用现有的DBMS来满足用户对信息的需求进行合理的开发设计。系统的数据库必须按照规范来进行设计,数据库系统的开发应根据实际情况,制定相应的数据库流程图。如图2.41所示。 图2.41: 数据库开发流程图2.5、Visual Studio连接SQL Server数据库2.5.1 连接数据库流程这里要说一下,在VS的开发环境中,需要点击菜单中选中流程“工具-链接到数据库”按钮,再如图2.5所显示的界面,点击“更改”即可,这里需要选中需要的数据源类型,并且点击“确定”按钮即可。 图2.5: 更改数据源类型图2.6:选择数据库文件此时这种情况下。可以点击“浏览”添加数据库文件,如上图2.6所示2.5.2 注意事项在连接数据库的过程中,我们需要注意的是,这时可能会有权限访问限制:(图2.52)图2.52对应方法:鼠标右键点击该文件,之后“属性-安全-高级”,根据图片操作,在淡出的页面上点击“添加”按钮或者“启用继承”按钮,对当前用户有对该文件进行访问修改权限。还有就是,“应用-确定”,接着再按一下确定就可以了。如果出现了如2.53那样的问题,原因是SQL Server的数据库管理工具还在处于管理状态。需要用鼠标对该数据库进行右击,而后将它分离,最后,点击“确认”完成。图2.53完成以上步骤,我们呢再从vs上点击打开,再点击“测试连接”,完成流程后就可以进行这类型代码的日常编写和操作了。第三章 设计需求分析3.2 系统结构分析(1) 为了实现完整的人脸识别考勤,先对本考勤系统的数据库进行设计。举例如下表格3.2(可选): 表3.2人员属性表签到时间表信息注册属性表考勤特殊信息登记表统参数属性表考勤记录属性表(2) 对考勤方案的制定,在我们完成对考勤系统的需求分析及可行性分析后,需要设计好一个较为完整的系统架构与模型。其流程是,用户通过注册,使用摄像头来收集人脸头像数据,建立了人脸档案存储进数据库。用户人脸识别,通过摄像头手机人脸图像与档案中的数据进行对比来实现人脸识别的验证。考勤系统的管理,到考勤管理系统界面设计,还有通过人脸识别记录的考勤情况。(3) 可对整个考勤管理体系准确的设计并实现其正常运转,包括但不限于对此系统运转的流程:考勤人员进行注册、考勤人的识别、考勤系统管理以及人员信息管理的整合。(4) 最后是对考勤系统进行功能测试,设计针对的测试界面,检验各模块和整个系统的运行是否正常,可用到软件测试里面的白盒测试和黑盒测试。3.3 系统性能需求分析(1) 考勤系统可以全天不间断稳定的运作,确保每天呈现的系统故障次数不得超过1次,而且不论系统正处于更新或者故障修复状态,也都应确保考勤系统的考勤签到登记稳定运行及数据库考勤数据的稳定录入存储;(2) 在系统设计里面可以考虑加入,故障时具备数据恢复功能,这样更安全可靠。应该对考勤历史信息和注册人员信息等关键信息具备必要的自动备份,防止造成信息丢失;(3) 由于考勤系统的签到以后,出勤结果只能隔很长时间才能送考勤管理者的系统里,这样考勤管理员就不能及时地了解考勤情况,这样在安全性上就会出现漏洞,因此,考勤信息同步的及时性就很有必要了。所以系统的设计就应考虑具有时效性,考勤管理端口及时了解考勤人员的考勤情况。3.1 开发需完成目标 本文的实现目标是完成一个简单的人脸识别考勤管理系统。该系统也可以简单设计分开考勤以及人脸识别模块分部实现模块的功能,而整个系统拥有的功能是: (1)利用数据库完成人员注册及考勤信息录入;(2)考勤系统人脸识别的功能,此为本论文重点研究的内容。 (3)考勤信息设定,以及考勤结构的导出。 (4)考勤系统拥有较高的识别率以及较快的识别速度其目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的数据进行比较,然后进行验证。3.考勤系统管理,管理界面和考勤通过人脸识别记录,迅速提取数据。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是基于深度学习的,利用经过训练的人脸关键点检测器和人脸识别模型得到人脸特征值。3.4 功能性需求分析 由于根据需求设计的具有自身特色的考勤管理系统。在功能性需求分析方面分析设计如下:(1)考勤的工作由复杂到简单:将复杂的考勤工作量分担开来,多人协同完成考勤流程,可统一控制又可以分权管理,这样考勤工作面前人尽其能,各种信息交流也能做到实时无阻。更需要注意的是系统界面设计要简洁、易于操作,界面简洁易懂,对电脑知识贫乏的人也可以正常独立办公;(2)本管理系统是在线上进行考勤的,人员考勤动作和管理人员后台操作的结果都是实时可见的,不需要大量的传统考勤物料,减少了可操作性,更加环保科学,体现了办公环保无一次性损耗的优势。3.5 本章小结本章首先对本系统的实现目标进行概述,阐述系统总体要满足的功能,并且加以说明。接着我们对系统的功能需求进行分析,先介绍该考勤系统系统的运行流程,然后从数据管理、人脸信息管理、用户管理、考勤管理以及系统设计等几个方面进行系统分析,之后介绍了系统的结构,系统性能需求及功能性需求的详细概括和总结。 第四章 人脸识别考勤系统功能设计4.1、功能概括全文总结起来,其目标的实现可以分为以下功能需求:1.用户端人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的识别数据来比较,然后实现自我检验。3.最后的流程:考勤通过人脸识别来记录,及管理界面,并且迅速提取数据等考勤管理系统。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是基于深度学习的,利用经过训练的人脸关键点检测器和人脸识别模型得到人脸特征值。4.2、考勤系统用户注册功能注册开始,用户注册操作下,需要登记用户本人资料以及脸部模块信息。注册流程下,用户必须在摄像头前拍摄五幅人脸线条较好的正面人脸图片准备进行训练,如果有异常的训练情况,则提示用户需要执行重新训练流程,然后训练结果的特征模板和用户资料放到数据