李冠楠
摘 要: 傳統的企業考勤系統主要有人工考勤和刷卡考勤兩種。人工考勤工作量大、工作效率低,而刷卡考勤則他人代替刷卡考勤現象嚴重,還經常出現考勤卡丟失情況,考勤成本較高。利用企業攝像頭開發一款基于人臉識別的企業考勤系統,可以大大提高企業考勤效率并降低考勤成本。文章介紹了某企業“ 基于人臉識別的考勤系統”的研發過程與研究成果。
關鍵詞: 人臉識別; 數據采集; 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.