基于Python考勤系统的设计与实现.doc
《基于Python考勤系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Python考勤系统的设计与实现.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Python考勤系统的设计与实现摘要:近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域的应用铺垫好了根底。而且自从2016年以来,人脸识别的应用领域逐步扩大,特别自从2016年下半年开始,人脸识别技术等的各种应用案例的运用落地速度飞快,普及程度也有所提高,诸如此类手机摄像头开锁及考勤门禁人脸识别功能等。2017年出现井喷,在各种应用和领域中熠熠生辉,目前来看很有发展得前景。经过几十年的发展,人脸识别技术已经成为计算机视觉领域的研究热点。随着人脸识别算法的成熟,人脸识别技术已广泛应用于诸如此类财务支付、各种认证、美容摄像、公安事业等领域。本文在如
2、今Python人脸识别的现有研究成果下,显浅使用Python语言的第三方库Dlib,通过机器深度学习来实现人脸识别的各种功能,设计和实现创新的人脸识别的考勤系统,完成用户注册,用户识别,考勤系统管理等功能整合。该系统考勤相对于传统考勤系统具有灵活、编程简单、准确率相对较高等的优势。关键词:人脸识别;Python 语言;dlib 库;考勤系统。 Design and implementation of attendance system based on PythonAbstract: In recent years, the application technology of face rec
3、ognition 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,
4、 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
5、 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 certificatio
6、ns, 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 innov
7、ative 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.
8、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、编译o
9、penVC环境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
10、、数据库设计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
11、系统测试过程406.6考勤系统测试总结42参考文献:43致谢45IV第一章 绪 论1.1 系统设计的背景人脸识别的研究起源在 20 世纪 60 年代,是 Bledsoe 和 Chen 最开始发表的。在过去的两年中,人脸识别技术发展迅速。一路走来有效地提高识别精确度和速度,为这项研究的广泛发展提供了基础。其实,从2016年以来,人脸识别的应用领域就开始逐步扩大,各种各样的人脸识别技术应用明显加快,百花齐放应接不暇。进入2017年后,它迎来了它的春天,并在许多应用程序和许多领域大放异彩。按行业划分的领域通常囊括:军事,公安,企业,机构,工厂,学校,房地产,家庭等等各行各业。例如准入在仓库,计算机室
12、,办公楼,办公室,数据室,档案室,实验室等中进行控制,出勤签到,巡逻,识别,追踪和预警等适用范围也很广。随着人脸识别算法的不断改进,人脸识别技术在保险金融等行业得到了很深度的挖掘使用。本文在现有人脸识别领域钻研成果的基础上,利用Python语言的第三方库dlib,完成用户注册,用户识别,考勤系统管理等功能集成。1.2 课题目的与意义人脸识别用于身份识别,它是一种取决于人脸模型的特征信息的生物识别技术,其中具有的唯一性和难以取代复制的特点,使人脸识别考勤系统等人脸识别类应用系统应运而生。它不仅因为人脸识别系统无需任何介质完成以往需要实物去达到的目的,所以可以节省不少成本,并且还免去实物造成的麻烦
13、。铁打的系统,严格规范并且灵活管理员工或者学生的考勤,而流水的考勤人不需要导致修改更换物料,例如员工信息卡和门锁等,只需对新的人脸信息重新进行注册录入数据库,直接进行新的考勤运转。最后,人脸识别系统可以逐步完善,搭配各种平台,实现方式越来越简单,很好避免替代传统打卡的效率低下情况,还有统计困难造成的人力管理,甚至是性价比低的使用和维运成本。1.3 课题的研究现状人脸是确定一个人身份的最重要的方法之一。而作为一个人的最显著差异化标签,人脸识别是通过生物特征对人的身份进行辨认,是未来的一个很有前景的方向。近几年来,人脸识别的应用技术发展迅速,有效地提高了人脸识别的准确率和速度,为人脸识别在许多领域
14、的应用铺垫好了根底。而作为非常热门的编程语言Python,其作用也是越来越大。其中Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法,也是受到了很广泛的挖掘。大到公安系统小到每一个人的手机人脸解锁,研究人脸识别具有非常重要的理论价值和应用价值。1.4 论文系统结构与内容人脸识别考勤系统,重点是对人脸的检测和特征提取。因为其底层是一种Python语言利用Dlib第三方库实现基于深度学习的人脸识别方法。这里不同技术会采用不同的方法来实现人脸面部特征的抽象。归纳起来大致都可以分为以下几个流程:人脸检测、人脸规范化 人脸特征提取、人脸识别。本文目标的实现可以分为以下功能需求:1.用户端
15、人脸数据采集注册,通过摄像机收集面部图像,创建面部文件并将其存储在数据库中。2.系统进行考勤用户人脸识别,将相机收集的面部图像与文件中的数据进行比较,然后进行验证。3.考勤系统管理,由管理界面和考勤通过人脸识别记录,可迅速提取数据。该系统是一个基于人脸识别的考勤系统。在功能实现中使用的Dlib库是由深度学习的,利用人脸识别模型和经过训练的人脸关键点检测器得到人脸特征值。通过对一个人面部的观察,可以获得很多信息,如:性别、身体状况、情绪、年龄等。其实,人脸检测就是一个特别复杂的过程,本文所研究只是人脸识别的简单实现。1.5 考勤管理系统简介1.5.1概述考勤管理是指用现代方法对单位内部,企业和事
16、业单位,以及机关等人力资源进行合理的组织和配置,合理控制和协调员工的思想和行为,在约束条件下充分发挥人的主观能动性,使每个人都能发挥自己的才能,为自己的目标或业绩找到舞台。传统的公司企业,对于考勤,比如工资核算及发放、请假、员工上下班签到等都是通过指定的传统物料和考勤人员用人工操作来搞定的。1.5.2考勤管理系统的历史概述 总体来说,在20世纪60年代开始,以往的人工考勤都是传统的人力打卡,系统的效率非常低,漏洞也非常多,这种情况持续在第一代计算机考勤管理系统诞生之前。在第一代计算机考勤管理系统研发之后,受制约于当时计算机发展水平,第一代计算机考勤系统并不好用。 而后,得益于数据库技术的发展,
17、在这段时间里考勤系统的开发和应用拥有着比以前雄厚的技术后盾。在大概20世纪70年代时候在第二代计算机考勤系统应运而生之,而且与第一代相比,第二代系统有了很大的进步,功能也相对完善。但第二代系统的实用性还是有待提高。 而到了接近21世纪,人类越来越知道计算机的重要性,计算机技术、数据库技术和网络技术等系列学科迅猛成长,让考勤管理正逐步走向现代化。我国在走向国际化,全球化,市场竞争越来越激烈,特别是在现代企业中,开始重视人员考勤,而在跟国际接壤的影响下,懂得出勤效率的高低直接关系到企业的竞争力。在此背景下,第三代计算机考勤管理系统逐步普及,解决了人员考勤的诸多问题。1.5.3常见考勤系统 总的来说
18、,现在的考勤管理系统根据考勤方式的不同,具体可以分成几个主流的类型,有卡片式类型、生物识别式类型、动态人脸识别类型的考勤系统等。最基础的卡片式是最稳定的,以磁卡作为媒介进行考勤主体的运用,要求待考勤人必须携带与之身份相对应的磁卡,通过刷磁卡内保存的条码信息来实现考勤。简单容易,但缺点也是比较多的。物料的成本较高,后期维护的工作量也相对来说比较大,而且其采用的是始于“物”的方式,寿命短的同时也当然阻止不了别人代考勤的发生,保密性不好。还有在现代生活中,卡片具有容易被复制的缺陷,密码也有泄露风险。 这里与卡片考勤系统相比,指纹考勤系统是更进步且越来越普遍的考勤系统使用。指纹考勤和人脸特征识别考勤系
19、统都是是利用考勤人的生物特征来实现考勤流程的,总的来对比,物理打卡考勤存在易丢失、使用寿命有限的问题。一般来说,在先阶段考勤系统中,指纹识别考勤还是占据主要地位的,其应用范围也比较普遍。重要的是要有良好的保密性。指纹直接用于考勤,指纹唯一稳定。考勤方式也很灵活,可以满足复杂的考勤轮班需求。 而本文所研究的是目前比较新颖的考勤系统办法,利用python人脸识别完成考勤,更加灵活地实现动态考勤,采用“人”为基础的出勤方式,能够有效解决代人出勤的问题,因为不受其他外来因素的影响,这样的考勤系统后期维护工作量小,成本低使用人脸识别考勤虽然在准确度亟需提升,但是进步有目共睹,得到的考勤可信度开始提高,结
20、果更加真实、有效。第二章 开发技术及环境搭建2.1、Dlib库介绍 最近这些年来,Python成长的开展适当迅猛。Python言语之所以开展得如此快,得益于其源代码开源性和代码开发的高效性。Python社区提供了很多的第三方库,它们可以完成数据可视化、数据剖析和科学计算等多个方面的功能,其中Dlib库便是一个比较出名的第三方库,可以完成人脸检测和识别,其算法选用HOG特征与级联分类器,算法的完成大概过程有:将照片图像进行灰度化;对于选用Gamma校正法对图画进行色彩空间的标准化;对每个图画像素进行梯度的计算;有效的小单元格区分图像画面;然后生成每个单元格的梯度直方图;把单元格组合成大的块,块内
21、归一化梯度直方图;最后生成HOG特征描述向量。Dlib是一个包含机器学习算法的C+开源工具包。Dlib可以帮助开发者创建许多复杂的机器学习软件,来解决各种各样的实际问题。目前,Dlib已经广泛应用于工业和学术领域,包括机器人、嵌入式设备、手机和大规模高性能计算环境等。还有一点就是,Dlib是开源和免费的。其git如图2.1:图2.1 这里说一下有关Dlib的主要特点:1.Dlib为每一个类和函数提供了完整的文档说明,同时还提供了debug模式;不像很多其他传统的开源库一样繁重。在debug模式中,用户大可以任意调试代码,查看变量和对象的值,并且能快速定位到错误点。此外,Dlib还提供了大量的实
22、例供给参考。2. Dlib库具有高质量的可移植代码。众所周知,Dlib不依赖第三方库,无须安装和配置,这部分可前往官网how to compile的介绍,介绍界面在左侧树形目录里。还有就是,Dlib可用在window、Mac OS、Linux系统上,适配性比较高。3. 可以供给大量的机器学习或图像处理算法,这边可以参考Dlib学习及换脸程序 。可以总结为:(1)深度学习(2)基于SVM的分类和递归算法(3) 针对大规模分类和递归的降维方法(4)相关向量机。是与支持向量机相同的函数形式稀疏概率模型,对未知函数进行预测或分类。其训练是在贝叶斯框架下进行的,与SVM相比,不需要估计正则化参数,其核函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 考勤 系统 设计 实现
限制150内