基于opencv的人脸识别企业考勤系统(源码)【字数:8405】

随着计算机网络的快速发展,人们的生活方式也越来越信息化,上班考勤也不例外。现如今大多数公司的上班考勤采用上班人工点名或者上班电脑签到等方法,然而这样会消耗大量的工作时间和增加公司人员支出。其次,对于人工点名和网上签到等考勤方法,可能会出现考勤效率低,考勤人员准确率低,考勤容错率低等问题。使得考勤这一过程会大大增加企业负担。这一系列问题都迫切需要去解决。针对以上所诉的这一系列考勤问题,研发出了本系统,本系统使用python、opencv实现,opencv在所有软件库中属于一种轻量级别的库,能减轻电脑的承载负担,提高运行效率。Opencv所提供的人脸检测功能,人脸识别功能和人脸数据功能接口,都在本系统中得到了合理的运用,这个系统能方便人们快捷高效地进行考勤打卡,相比以前的考勤方式,大大增加其效率和准确率。从而让企业能更好地管理运营,提高企业效率。
目 录
一、引言 1
(一)开发背景 1
(二)选题意义 1
(三)设计目标 1
(四)开发软件 1
二、可行性分析 3
(一)经济可行性 3
(二)技术可行性 3
(三)操作可行性 4
(四)业务流程分析 4
三、需求分析 4
(一)系统需求分析 4
(二)数据流图 5
四、系统设计 5
(一)系统模块总体设计 5
(二)数据库设计 6
(三)数据表的设计 7
五、系统实现 7
(一)人脸录入功能模块实现 8
(二)人脸识别功能模块实现 9
(三)考勤管理模块实现 12
(四)员工数据可视化模块实现 14
六、系统测试 14
(一)系统测试的定义 15
(二)系统测试的目的及意义 15
(三)系统测试的重要性 15
(四)系统测试的常用方法 16
(五)系统测试结果 16
致 谢 18
参考文献 19
一、引言
(一)开发背景
随着社会越来越快速的发展,考 *好棒文|www.hbsrm.com +Q: ^351916072# 
勤成为了推动现代企业发展不可或缺的一部分。运用计算机来考勤取代了以前的的刷卡点名考勤方式,从而节省了员工的工作量,降低了企业的人力开支成本,推动企业的核心竞争力的发展。而人脸识别考勤系统的发展,不仅顺应了时代的计算机化和现代化的趋势,而且提高了企业考勤的效率,加强了考勤信息管理方法,提高了考勤效率,实现了考勤自动化,减小了考勤误差。人脸识别考勤系统把人脸数据压缩储存,便于数据的携带和利用。完善的人脸识别功能使管理员可以完全控制和管理公司的考勤信息,降低人工成本并提高公司的市场核心竞争力。对于人工考勤来说,公司管理人员很难对多位员工同时进行精准的考勤,在竞争激烈的市场中,这无疑是一个巨大的劣势。 在这种情况下,出现了人脸考勤系统。 这有助于计算机技术的发展,该技术可以有益地结合员工数据的录入,识别和导出图表,链接图表可视化,并提高考勤的效率和效力。
(二)选题意义
开发该系统的目的是用人脸识别的方法代替旧的人工处理方法,使企业考勤管理的信息量,标准性和数字化程度更高,并防止人为干预引起的错误。该系统的人脸录入功能能够通过64位人脸准确的录入员工的人脸信息,并压缩储存到数据库,便于管理员的管理。管理人员通过后台图表便可随时观察到员工考勤的数据变化。这提供了一个方便省事的管理方式,可以根据现有考勤数据。一定程度可以提高考勤的准确率,简化人工考勤管理的步骤,使得管理者能够准确及时的管理,也大大减轻了工作强度,提高了工作效率,并且能明显的提高企业的经济效益。
(三)设计目标
人脸识别考勤管理系统要求管理员督促员工用人脸数据录入功能进行人脸数据的录入。主要的设计目标包括人脸识别数据的录入,员工对已经录入的人脸数据进行一一的识别,管理员规定考勤时间,对考勤完的数据实现表格化,同时对考勤员工的年龄籍贯考勤时间进行数据可视化。
(四)开发软件
1. Pycharm简介
PyCharm主要是用于python的一种强大的集成开发环境。由捷克公司JetBrains开发。 它能够用于分析python代码,对python图形开发进行调试,同时能集成测试python代码,集成版本的系统调试,以支持将Django用于Web开发。
Pycharm具有的优点有:
(1)软件设计更为简介,使用更为便利;
(2)具有能让事件驱动的运作机制;
(3)具有更为结构化的程序设计语言功能;
(4)具有能够更为方便和快速的访问数据库功能;
(5)为编程提供了一个不仅方便,并且强大的集成开发环境;
(6)支持对象链接和嵌入技术;
(7)具有网络连接和通讯功能;
(8)提供了一个快捷方便的联机帮助功能。
2.MySQL简介
MySQL具有的优点:
(1)数据存储简单,便于操作,使用方便
(2)数据库界面窗口较规范化
(3)具有字段名称自动更正的功能
(4)支持ODBC,共享性强可以与Excel、Word共享信息
3.dlib介绍
Dlib是以C++语言为基础的一个强大的工具箱,同时它也是一个开源的源代码库,dlib工具箱中拥有许多有用的模块,包括机器学习模块,图像的预处理模块,安卓人像处理模块等。 Dlib库使用ERT级联回归算法来构建集成的回归树算法训练模型并生成特征点预测变量。 该算法可以根据局部的投影特征大致描绘出图像的当前形状,以获得更好的定位精度,并且级联的弱回归器可以适应复杂的非线性关系。 dlib库可以用来识别所获得的图像,并保存至数据库,同时可以对不同像素类型之间的自动色彩空间转换以及人脸识别图像进行分析。 该库主要通过调用68个特征点对获得的人脸图像进行64特征提取。 最后,获取脸部最为关键的点的人脸数据。
4.人脸68位特征点定位技术
特征提取对于建立面部特征模型非常重要,并且会影响面部识别。 面部特征是对人脸的抽象描述的结果,该抽象描述可分为面部轮廓,眼睛轮廓,鼻子轮廓和嘴部轮廓,并通过从这些轮廓中提取特征,从而获得人的面部表情。 可以描述脸部的基本情况。 特征点用于勾勒轮廓,基于特征点的位置变化获得面部特征模型,并描述面部变化以确定面部表情。 面部识别技术通过检测图像的频域空间来检测图像块,确定是否存在面部区域,并提取可用于识别面部状况的特征信息。
在本文中,我们使用OpenCV将视频划分为多个帧,以减少除面部区域之外的冗余区域中的噪声。 输入照片以创建面部特征模型。 Dlib的68点面部特征模型是一个面部特征模型,已于2018年在Dlib库的官方网站上正式更新,以帮助您更准确地描述您的面部。 68种特征点定位技术的实现是先对人脸进行检测和定位,然后对人脸框进行锁定和跟踪,最后完成人脸识别。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/258.html

好棒文