人臉考勤系統(tǒng)設(shè)計(jì)方案
1 引言
人面局部特征是人體獨(dú)一無二的“身份證”,并且具有“與人不可分割”的特點(diǎn)。人臉識(shí)別技術(shù)是采用人臉的一些獨(dú)特生物特征對人身份進(jìn)行自動(dòng)識(shí)別的生物特征技術(shù)。 它具有人臉獲取直接隱蔽、友好、鑒別簡便、安全性高、隨身攜帶等特點(diǎn),因而其在公安、安防、金融、信息網(wǎng)絡(luò)安全等諸多領(lǐng)域內(nèi)具有廣闊的應(yīng)用前景。
文中將人臉識(shí)別技術(shù)應(yīng)用于考勤管理,設(shè)計(jì)并實(shí)現(xiàn)了動(dòng)態(tài)人臉識(shí)別考勤系統(tǒng)(以下簡稱人臉考勤系統(tǒng)) ,克服了傳統(tǒng)打卡中磁卡、IC 卡等考勤方式存在的代打卡、卡丟失等不足和缺陷,有效地杜絕了考勤管理中的人為因素,充分體現(xiàn)了考勤管理的公正性和高效性。 與指紋考勤系統(tǒng)相比,人臉考勤系統(tǒng)具有非侵犯性、使用友好等優(yōu)點(diǎn),同時(shí)采集的正面人臉圖像可以應(yīng)用于單位員工的其他管理信息系統(tǒng)。
2 人臉考勤系統(tǒng)概述人臉考勤系統(tǒng),是將先進(jìn)的人臉識(shí)別技術(shù)應(yīng)用到考勤領(lǐng)域的一個(gè)成功產(chǎn)品。 該產(chǎn)品首先錄入員工的文字資料和動(dòng)態(tài)采集人臉圖像并訓(xùn)練,建立人臉圖像庫。 考勤時(shí),通過與計(jì)算機(jī)相連的攝像頭動(dòng)態(tài)捕捉員工的臉部照片,同時(shí)把捕捉到的人臉照片與預(yù)先采集的照片進(jìn)行比對,如果是員工本人,則考勤成功,同時(shí)根據(jù)考勤時(shí)間判斷人員出勤情況(正常、遲到、早退或加班等) ,并記錄考勤信息,如考勤日期、班次、上班時(shí)間等信息。 如果不是員工本人考勤,則系統(tǒng)給出友好提示,并進(jìn)行相應(yīng)處理。 所有考勤數(shù)據(jù)通過主機(jī)程序處理匯總后,生成相應(yīng)管理報(bào)表或數(shù)據(jù)文本,可提供給人事部門進(jìn)行人事考核或財(cái)務(wù)部門進(jìn)行工資結(jié)算。
2. 1 人臉考勤系統(tǒng)組成人臉識(shí)別考勤系統(tǒng)包括硬件和軟件兩個(gè)部分,硬件由考勤機(jī)、統(tǒng)計(jì)主機(jī)和打印機(jī)構(gòu)成,考勤機(jī)由主機(jī)、攝像頭、視頻采集卡來組成,用于人臉考勤識(shí)別、圖像建庫;統(tǒng)計(jì)主機(jī)用于考勤統(tǒng)計(jì)、查詢、管理、保存系統(tǒng)數(shù)據(jù)等, 打印機(jī)用于打印考勤報(bào)表。 軟件由Windows2000 Advanced Server 操作系統(tǒng)、SQL Serv2er2000 數(shù)據(jù)庫管理系統(tǒng)和人臉考勤系統(tǒng)組成。
2. 2 人臉考勤系統(tǒng)的功能結(jié)構(gòu)人臉識(shí)別考勤系統(tǒng)分由人臉識(shí)別子系統(tǒng)和考勤管理子系統(tǒng)組成,其功能結(jié)構(gòu)圖如圖1 所示。
人臉識(shí)別子系統(tǒng)包括視頻采集模塊、人臉檢測模塊、人臉處理模塊和人臉識(shí)別模塊。 視頻采集模塊從考勤現(xiàn)場中實(shí)時(shí)采集使用者的人臉視頻圖像;人臉檢測模塊定時(shí)抽樣視頻中的一幀圖像,利用人臉的特征信息準(zhǔn)確定位圖像中的人臉坐標(biāo)和人臉范圍;人臉處理模塊截取人臉區(qū)域圖像,對其進(jìn)行尺寸規(guī)格化、亮度均衡化和圖像增強(qiáng)后,分離背景得到只包含人臉的圖像;人臉識(shí)別模塊使用多種識(shí)別技術(shù)得到分類結(jié)果,并進(jìn)行決策級(jí)融合得到最終結(jié)果??记诠芾碜酉到y(tǒng)包括信息登記、信息查詢和打印報(bào)表模塊。 管理員在信息登記界面輸入員工的信息和現(xiàn)場采集員工的多個(gè)照片樣本;在信息管理界面可以查詢員工信息和考勤信息;并且可以在任何時(shí)候可以打印出員工在某個(gè)時(shí)間段的考勤報(bào)表。
3 人臉考勤系統(tǒng)的實(shí)現(xiàn)3. 1 視頻采集技術(shù)
采用VFW(Video for Windows) 技術(shù)采集人臉視頻圖像。 VFM 庫函數(shù)是微軟公司為開發(fā)Windows平臺(tái)下的視頻應(yīng)用程序提供的軟件工具包,它提供了一系列應(yīng)用程序編程接口(API) ,用戶通過它能方便地實(shí)現(xiàn)視頻捕獲、視頻編輯及視頻播放等功能.VFM 的視頻采集功能主要包括捕獲視頻流、捕獲視頻流至緩存、捕獲視頻流至AVI 文件、本地瀏覽和捕獲單幀預(yù)覽等。 VFW 主要由6 個(gè)模塊組成,其中AVICAP 模塊主要實(shí)現(xiàn)處理視頻捕獲功能,為AVI文件輸入輸出和視頻、音頻設(shè)備驅(qū)動(dòng)程序提供一個(gè)編程接口;MSVIDEO 模塊主要實(shí)現(xiàn)視頻捕獲窗口與驅(qū)動(dòng)設(shè)備連接起來,支持ICM 視頻編碼服務(wù).AVICAP 實(shí)現(xiàn)實(shí)時(shí)視頻捕獲的一般流程:
(1) 創(chuàng)建視頻捕獲窗口;
(2) 注冊系統(tǒng)回調(diào)函數(shù);
(3) 獲取有關(guān)視頻捕獲窗口的缺省設(shè)置;
(4) 設(shè)置捕獲窗口相關(guān)參數(shù);
(5) 與視頻采集設(shè)備連接;
(6) 設(shè)置捕獲窗口顯示模式;
(7) 捕獲視頻到緩存或文件并進(jìn)行相應(yīng)處理;
(8) 終止視頻捕獲并斷開與視頻采集設(shè)備的連接。
3. 2 人臉檢測技術(shù)人臉檢測是指在輸入圖像中判定是否存在人臉,如果存在的話,確定所有人臉的位置、大小、姿態(tài)的過程。 為了提高人臉的檢測速度,文中采用Ad2aBoost 算法 來進(jìn)行人臉檢測。 AdaBoost 算法最早由Freund 和Schapire在1996 年提出,目前Ad2aBoost 廣泛應(yīng)用于人臉檢測、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域。
AdaBoost 算法是一種迭代方法,通過從大量的弱分類器中選取最具有分類意義的組合成一個(gè)強(qiáng)分類器,目的是為了提高檢測的精確度。 Viola 等提出了積分圖像概念和基于AdaBoost 方法訓(xùn)練人臉檢測分類器的方法如圖2 所示,該方法使用圖像的矩形特征作為分類的依據(jù),為了有效地排除大量的非人臉窗口,整個(gè)分類器由多級(jí)子分類器級(jí)聯(lián)而成。 每級(jí)分類器對應(yīng)一個(gè)Harr 特征。 輸入的待檢測窗口將被逐級(jí)驗(yàn)證。 如果其中的分類器將其驗(yàn)證為非人臉,則立即排除,不再進(jìn)入下一級(jí)分類器驗(yàn)證.Viola 等人提出的AdaBoost 方法,不僅檢測效果好,而且檢測速度達(dá)到15fps ,該方法易于實(shí)現(xiàn),在實(shí)際系統(tǒng)開發(fā)中得到了廣泛的應(yīng)用。 限于篇幅,具體算法見文獻(xiàn)。 最終得到的強(qiáng)分類器CFINAL ( x) 為
式中, Ci ( x ) 為弱分類器, ai = log (1/βi ) ,具體含義是當(dāng)已經(jīng)提取的分類器對于某些樣本分類正確, 那么減小這些樣本的權(quán)重(βi 變小) ;當(dāng)分類錯(cuò)誤,增加樣本的權(quán)重(βi 變大) 。 這樣,后面訓(xùn)練提取的簡單分類器就會(huì)更加強(qiáng)化對這些分類錯(cuò)誤樣本的訓(xùn)練。
3. 3 人臉動(dòng)態(tài)采集與人臉庫的構(gòu)建
系統(tǒng)采集每人的10 幅有一定差別的正面人臉圖像,保存到訓(xùn)練庫, 圖3 是動(dòng)態(tài)采集某個(gè)人員10副照片的圖例。 在對同一個(gè)人臉采集10 個(gè)樣本的過程中,如果后面采集的人臉與前面采集的相似度很高,則認(rèn)為此次采集的人臉已經(jīng)在訓(xùn)練庫中存在,不保存結(jié)果并繼續(xù)采集, 直到采集相似度較高的圖像為止,然后保存到訓(xùn)練庫中。 相似度的計(jì)算如式(2)所示,式中f i 和f j 分別表示第i 和j 個(gè)人臉,其中f i= ( ui1 , ui2 , ?, uip) 。 最后在訓(xùn)練庫中, 同一個(gè)人的不同樣本歸為相同的類, 不同的受考勤人員的樣本屬于不同的類。
3. 4 維數(shù)約減與特征提取
人臉圖像是高維的數(shù)據(jù),并且在高維空間分布很不緊湊,計(jì)算復(fù)雜度高,為此,需要對高維的人臉數(shù)據(jù)進(jìn)行維數(shù)約減。 常見的維數(shù)約減方法有主成分分析( PCA) 、獨(dú)立成分分析( ICA) 、線性判別分析(LDA/ FDA) 、非負(fù)矩陣因子(NMF) 、多維尺度分析(MDS) 、核主成分分析( KPCA) 、核Fisher 判決分析(KFDA) 、流形學(xué)習(xí)(ML) 等方法。 考慮到本系統(tǒng)在考勤時(shí)人臉圖像基本上是正面人臉,因此采用PCA方法對人臉圖像進(jìn)行降維、特征提取并最終識(shí)別出人臉。Kirby 和Sirovich[6 ]首先把PCA 思想引入到人臉識(shí)別; Turk 和Pentland[7 ] 進(jìn)一步發(fā)展為特征臉(Eigenface) 方法,用于正面的人臉識(shí)別,并取得很大成功。 PCA 是基于DKL T (離散K - L 變換) 的人臉識(shí)別方法,DKL T 變換是圖像壓縮的一種最優(yōu)正交變換,其生成矩陣一般為訓(xùn)練樣本的總體散布矩陣。高維的圖像空間經(jīng)過DKL T 變換后得到一組新的正交基,保留其中重要的正交基,由這些基可以組成低維線性空間。 PCA 是一種簡單、快速、實(shí)用的基于代數(shù)特征的多元分析技術(shù),保留了人臉部件之間的拓?fù)潢P(guān)系,也保留了各器官部件的信息,目前得到廣泛的應(yīng)用。
PCA 的目的是通過線性變換找一組最優(yōu)的單位正交向量基(即主成分) , 用它們的線性組合來重建原樣本,并使重建后的樣本和原來樣本的均方誤差(MSE) 最小。 假定有N 個(gè)樣本x k ( k = 1 ,2 , ?,
N) ,所有樣本的均值為E( x) , 則x 的協(xié)方差矩陣
令u1 , u2 , ?, un 和λ1 ,λ2 , ?,λn 分別是S 的特征向量和特征值,并且λ1 ≥λ2 ≥ ?λn 。 然后將協(xié)方差矩陣S 分解成:
式中, U = [ u1 , u2 , ?, un ] ,Ω = diag (λ1 ,λ2 , ?,λn) 選擇最優(yōu)的m ( m 《 n) 個(gè)非零特征值作為主成分,并使得均方誤差(MSE) 最小。 令Wopt = [ u1 ,u2 , ?, um ] , 則原空間的樣本就可以在低維主成分子空間上的投影系數(shù)用來描述:
3. 5 相似度匹配及閾值確定
對人臉圖像進(jìn)行特征提取后,接著進(jìn)行相似度度量。 常見的相似性度量有基于距離的方法、基于概率的方法和基于熵函數(shù)的方法,其中基于距離的方法中,有Euclidean 距離、Manhattan 距離、Hamming距離、Chebychev、s 階Minkowski 等方法。 在基于幾何特征的識(shí)別方法中,通常利用特征矢量之間的距離函數(shù)進(jìn)行度量。 針對本系統(tǒng)得到的特征矢量信息,采用Euclidean 距離的方法來計(jì)算待識(shí)別人臉與訓(xùn)練樣本的距離。 根據(jù)相似度計(jì)算的結(jié)果,如果相似度大于給定的閾值δ,則系統(tǒng)判定現(xiàn)場采集的人臉與事先采集的人臉圖像為同一個(gè)人,并在數(shù)據(jù)庫中記錄考勤的日期、上班時(shí)間等信息。 考勤時(shí)人臉相似度閾值δ確定的依據(jù)來源于人臉采集時(shí)的樣本相似度值,以克服人為因素設(shè)定閾值的隨意性,確保閾值取值的合理性。
4 實(shí)驗(yàn)結(jié)果及分析動(dòng)態(tài)人臉考勤系統(tǒng)采集了天思智能系統(tǒng)研究所50 位博碩士生的各10 幅圖像進(jìn)行識(shí)別實(shí)驗(yàn),結(jié)果表明系統(tǒng)一次性識(shí)別率達(dá)到為96 % ,主要原因在于: (1) 人臉訓(xùn)練庫比較小、人員固定; (2) 要求考勤時(shí)人臉正面或近似正面對準(zhǔn)攝像頭; (3) 通常情況下用戶在考勤時(shí)候姿態(tài)、表情都是正常情況,沒有太大變化,也沒有復(fù)雜背景及夸張性的化妝等情況,所以識(shí)別率很高。
5 結(jié)束語文中設(shè)計(jì)并實(shí)現(xiàn)了基于Adaboost 和主元分析法(PCA) 的動(dòng)態(tài)人臉識(shí)別考勤系統(tǒng)。 AdaBoost 算法選擇多個(gè)弱分類器構(gòu)成強(qiáng)分類器,提高人臉的檢測速度;PCA 算法實(shí)現(xiàn)從高維特征空間到低維特征空間的降維壓縮處理,提取出高維人臉圖像在低維空間的特征描述,實(shí)現(xiàn)人臉識(shí)別,最終實(shí)現(xiàn)考勤管理。系統(tǒng)運(yùn)行結(jié)果表明,動(dòng)態(tài)人臉識(shí)別考勤系統(tǒng)具有人臉識(shí)別動(dòng)態(tài)性、識(shí)別率高、實(shí)用性好、可靠性強(qiáng)等特點(diǎn)。 下一步的工作是進(jìn)一步優(yōu)化人臉特征的選擇和提取算法,提高識(shí)別的速度和系統(tǒng)的性能。