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