基于人脸识别企业考勤系统的研究
2017-04-26李冠楠
李冠楠
摘 要: 传统的企业考勤系统主要有人工考勤和刷卡考勤两种。人工考勤工作量大、工作效率低,而刷卡考勤则他人代替刷卡考勤现象严重,还经常出现考勤卡丢失情况,考勤成本较高。利用企业摄像头开发一款基于人脸识别的企业考勤系统,可以大大提高企业考勤效率并降低考勤成本。文章介绍了某企业“ 基于人脸识别的考勤系统”的研发过程与研究成果。
关键词: 人脸识别; 数据采集; Adaboos算法; 考勤
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2017)04-53-03
Abstract: There are two kinds of traditional enterprise time and attendance system, the manual system and the timecard system. The manual system is of great workload and low efficiency, while the timecard system has the phenomenon of fake registration and loss of the card, resulting in a higher cost. Therefore the use of enterprise camera to develop a face-recognition based enterprise time and attendance system can greatly improve the efficiency of enterprise check work attendance and reduce the cost of attendance management. This paper introduces the research and development process and the research results of an enterprise's face-recognition based time and attendance system.
Key words: face recognition; data collection; Adaboos algorithm; check work attendance
0 引言
人脸图像具有惟一性和稳定性,因此人脸识别广泛应用于刑侦破案、视频监控、表情分析、日常考勤等场合,逐渐成为人们工作和生活中的常用身份验证手段。人脸识别技术应用于考勤系统,可以充分利用已经建好的人脸数据库资源,更直观、方便地核查身份。本文对应用于考勤系统的人脸识别技术进行了研究。
1 系统设计概述
本系统包含采集模块和管理模块两大模块。采集模块主要包括视频图像的采集、处理、人脸检测、人脸定位以及跟踪;管理模块主要包括人脸识别管理和考勤管理。系统架构和工作流程如图1所示。
系统分为服务器端、办公室端和工厂端三部分。服务器端负责数据的存储和读写;办公室端负责软件系统设置、考勤人员录入、人员人脸特征采集、考勤情况统计等等;工厂端为人员考勤点[1]。
人脸识别考勤系统的程序流程:管理员通过摄像头将企业员工头像录入数据库,员工每次考勤时将脸部对准摄像头,系统提取头像,经视频识别模块与数据库中照片比对,配对成功后记一次考勤,并将考勤数据发送到考勤数据处理模块。考勤数据模块与企业财务系统对接,将考勤与员工的工资、奖金挂钩。图2为识别程序流程图。
2 数据库整体框架
本系统首先通过登录模块来确保登录用户具有合法性,保障了系统的安全。本文将用户分为管理员和普通用户,普通用户可以查看员工的考勤记录和修改自己的密码,而管理员可以对所有窗口进行各种管理操作,如添加、删除、修改员工基本信息,设置权限,添加员工请假信息等。其中本系统中还有一个人脸库,它存储每一个员工人脸照片,这些照片经过图像预处理,分别存放在以员工名字命名的文件夹中,为人脸库的训练提供数据[2]。
用户登录窗口是整个系统的入口,在用户成功登录后就可以按照权限进行相应的操作。管理员权限登录成功后可以进行人脸检测、人脸自动识别、保存视频图像等功能,而普通用户就没有这个权限。普通用户的权限是可以查询员工的出勤信息、修改自己的密码等功能。
用到数据库的窗体主要有以下三个。
⑴ 员工注册信息窗口,它用于管理员工的基本信息,包括员工信息的添加、删除、修改和浏览等操作。
⑵ 员工出勤窗口,它用来记录员工的出勤状况如是否请假、迟到等,也包括对请假员工信息的录入等。
⑶ 查询窗口,它主要用来查询员工的出勤信息,可以按多种条件进行查询,比如按具体的日期、是否迟到、是否请假、正常出勤等条件进行查询[3]。
3 人脸识别算法的实现
AdaBoost 算法以根據弱学习的反馈信息自适应性的调整错误率下限,这就使得该算法更容易被应用于实际问题。同时,由于AdaBoost算法在效率上几乎和原有的Boosting算法相差无几,这就使得 Adaboost算法得到了极大的发展[4]。
Adaboost算法的具体实现步骤如下。
⑴ 设输入M个训练样本:{(x1,y1,…,(xm,ym))},其中Xi∈X,Yi=(+1,-1),初始化样本权重D1(i)=1/m,i=1,…,m。
⑵ 对每次训练都要进行一次操作:对弱分类器空间的每个弱分类器h进行操作为:将样本空间X划分为:X1,X2,…,Xn,计算每个划分j=1,…,N及b={+1,-1}之间的区域标识权重。得到每个弱分类器h 在各个划分上的输出值为:
,计算归一化因子:。
⑶ 从弱分类器空间中选择出使归一化因子Z 最小化的弱分类器h并加入到强分类器中,则:Zmin(Z)。
模块的输入为所有训练样本的特征集,经过用户指定的迭代次数T次后,共可得到T个分类能力比较强的弱分类器。在每次迭代时,根据训练样本的权重来训练弱分类器,然后根据弱分类器的判断结果和样本的权重分布来选择出一个错误率最小的弱分类器以作为本次迭代选出的分类能力较强的弱分类器 h,最后通过增大h所错分的样本权重值来更新每个训练样本的权值,以便在下次迭代中,使这些被错分的样本得到更多的重视,经过迭代最后共可产生T个弱分类器,将这些弱分类器组合后便可得到分类能力较强的强分类器[5]。
4 结论与展望
本文针对镭射卡考勤存在的问题,运用软件工程的方法,设计实现了人脸识别考勤系统,并将其用于广东顺德科晟电子有限公司。
本文主要是做了以下几方面的内容:
⑴ 介绍了人脸识别的方法原理和比较有特色的人脸识别及其算法。
⑵ 根据顺德科晟电子有限公司原有考勤管理系统存在的问题,以及当前认人事考勤管理现状,论证了对进行人脸识别考勤系统的必要性和紧迫性。
⑶ 针对广东顺德科晟电子有限公司的考勤管理系统的现状,按照软件工程的思想完成了对人脸识别考勤系统的需求分析和系统设计。
⑷ 设计了人脸识别考勤系统数据库和数据字典。
⑸ 完成了人脸识别考勤系统的开发。
由于本人水平有限,本系统的设计和开发还存在许多不周全之处,在下一步研究中还需要改进。
参考文献(References):
[1] 齐礼成.基于人脸识别考勤系统的设计与实现[D].西安电子科技大学硕士学位论文,2012.
[2] 郭磊.人脸检测技术研究及实现[D].哈尔滨理工大学硕士学位论文,2009.
[3] 刘明宝,姚鸿勋,高文.彩色图像的實时人脸跟踪方法[J].计算机学报,1998.21(6).
[4] 刘兆军,基于人脸识别的考勤系统的设计与实现[D].电子科技大学硕士学位论文,2010.
[5] 何东风.人脸识别的技术研究与实现[D].广东工业大学硕士学位论文,2004.