史啟文,董愛華
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 200051)
?
基于OPENCV的人臉考勤系統(tǒng)
史啟文,董愛華
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 200051)
設(shè)計實(shí)現(xiàn)了一種基于幾何特征的人臉識別考勤系統(tǒng)。通過圖像的灰度積分投影來確定各器官的大體位置。通過提取人臉的左眼、右眼、鼻子和嘴巴的位置及其之間的相對距離關(guān)系等7個特征值,并賦予不同的權(quán)重來合成矢量人臉,進(jìn)而與數(shù)據(jù)庫進(jìn)行對比實(shí)現(xiàn)人臉考勤。
特征提??;幾何特征;人臉識別
人臉識別法主要集中在二維圖像上,二維人臉識別主要利用分布在人臉上從低到高的80個節(jié)點(diǎn)或標(biāo)點(diǎn),人臉識別算法主要有:基于奇異值特征方法[1]、子空間分析法[2]、彈性匹配方法[3]、局部保持投影[4]等諸多算法,但由于人臉形態(tài)的多樣性和環(huán)境的多樣性以及相似人臉的存在等問題,造成識別的準(zhǔn)確率較低。因此,需要尋求一種更加簡便高效的人臉識別方法。
本文設(shè)計了一個基于幾何特征的人臉識別系統(tǒng),該算法的基本思想是提取人臉的主要特征值的形狀、大小及其之間的相對位置和相對距離,再加上人臉輪廓的形狀綜合起來對人臉進(jìn)行判斷。
為更好地設(shè)計系統(tǒng),本文采用了OpenCV[5]函數(shù)庫,OpenCV是基于BSD許可證授權(quán)發(fā)布的實(shí)時計算機(jī)視覺函數(shù)庫,最大的特點(diǎn)是具有開放性。其擁有包括300多個C函數(shù)的夸平臺中高層API,不依賴于其他外部庫,但也可使用某些外部庫。
該系統(tǒng)最主要的功能就是實(shí)現(xiàn)實(shí)時的人臉鑒別,在建立數(shù)據(jù)庫的過程中,系統(tǒng)通過攝像頭獲取視頻流,對視頻流中的幀進(jìn)行提取、分析、預(yù)處理,并可獲得表征人臉的特征值,每張人臉均由提取的器官特征向量組成,將圖像和特征值保存在一個數(shù)據(jù)庫中;在人臉鑒別過程,每次從視頻流中采集的人臉經(jīng)特征提取后變成由適量特征組成的人臉特征,通過匹配算法跟數(shù)據(jù)庫中的人臉數(shù)據(jù)進(jìn)行對比,找出不大于閾值的人臉。
2.1Adaboost算法
Adaboost[6]是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),再將這些弱分類器集合起來,構(gòu)成一個更強(qiáng)的最終分類器(強(qiáng)分類器)?;贏daboost算法的人臉檢測方法采用Haar-like[7]特征進(jìn)行特征表示,并通過積分圖方式計算特征值,然后采用Adaboost算法從特征集中選擇少量具有較強(qiáng)分類特性的特征產(chǎn)生一系列弱分類器,接著將這些弱分類器合成一個強(qiáng)分類器,最后通過級聯(lián)算法將多個強(qiáng)分類器合成一個更強(qiáng)的人臉檢測分類器。其主要算法是通過改變不同樣本的權(quán)重以及分類器的權(quán)重來實(shí)現(xiàn)的。根據(jù)每次訓(xùn)練后得到結(jié)果的正確率來確定樣本的權(quán)重,將修改過權(quán)值的新樣本送給下層分類器進(jìn)行訓(xùn)練,同理調(diào)整樣本的權(quán)重,最終將每次訓(xùn)練得到的具有不同權(quán)重的分類器聯(lián)合起來,作為最后的分類器。使用Adaboost分類器可較好的去除識別對象上不感興趣的特征值,并將關(guān)鍵的特征值凸顯出來。
2.2Adaboost算法描述
輸入一組訓(xùn)練集:(x1,y1),…,(xn,yn),其中xi為樣本描述,yi為樣本標(biāo)識,yi∈(0,1);其中0,1分別表示正例和反例。
初始化:初始樣本權(quán)值為
(1)
對t=1,2,…,T,循環(huán)執(zhí)行以下步驟:
歸一化權(quán)重
(2)
對于每個特征f,訓(xùn)練一個弱分類器h(x,f);計算所有特征的弱分類器加權(quán)錯誤率
εf=∑iqi|h(x,f)-yi|
(3)
按最小錯誤率選取最佳弱分類器ht(x)
εf=minf∑iqi|h(x,f)-yi|=∑iqi|h(x,ft-yi)|
(4)
按照這一最佳弱分類器調(diào)整權(quán)重
(5)
其中,ei=0表示xi被正確分類;ei=1表示xi被錯誤分類。
最后的強(qiáng)分類器為
(6)
其中,
2.3主要模塊的設(shè)計過程
攝像頭獲取頭像視頻,對人臉圖像進(jìn)行區(qū)域劃分后的主要工作就是對人臉特征進(jìn)行提取,并在此基礎(chǔ)上與數(shù)據(jù)庫中保存的特征值進(jìn)行比較,從而實(shí)現(xiàn)人臉鑒別。
(1)特征識別模塊。該模塊主要用來識別人臉的主要器官。系統(tǒng)識別的器官主要有左眼、右眼、鼻子和嘴巴。下面以眼睛為例,眼睛的大體定位可用方差投影獲得,對正面人臉圖像進(jìn)行水平積分投影[8]和垂直積分投影,可以發(fā)現(xiàn),人臉在眼睛處灰度值較小,而在積分圖上表現(xiàn)為兩個極小值,利用積分投影圖可大體確定人眼睛的位置。
圖1 采用積分投影處理的效果圖
圖1(b)為水平積分投影圖像,通過水平投影可發(fā)現(xiàn)積分圖像的波谷位置就是眼睛的位置。若采集的臉部為傾斜的,則在積分圖的眼睛分布大致位置會有兩個波谷,分別是兩個眼睛的位置。圖1(c)為垂直積分投影圖像,通過人臉圖像的垂直積分投影可明顯地看到積分圖上的兩個波谷,分別是左右眼睛的位置;
(2)人臉特征提取模塊。在識別出人臉的器官后,便可獲取人臉器官的特征值。本系統(tǒng)提取的特征主要有左右眼睛的位置、大小;鼻子的位置、大??;嘴巴的位置、大??;眼睛跟鼻子形成的三角形;眼睛跟嘴巴形成的三角形。其中,各個器官的大小及中心坐標(biāo)可根據(jù)級聯(lián)分類器檢測出來的矩形框來確定。
表1為可直接獲取的人臉器官的特征值以及通過求和得到的簡單特征值,主要包括各器官的坐標(biāo)、大小及中心位置的坐標(biāo)等。
表1 直接獲取的特征值
為了更好的表征人臉特征,提高系統(tǒng)的識別率,本系統(tǒng)在表1特征值的基礎(chǔ)上,通過計算可得到表2中間接獲取的特征值;
(3)人臉匹配模塊。人臉匹配是系統(tǒng)的重要功能之一,系統(tǒng)采用基于幾何特征的人臉識別算法,每張人臉均由提取的器官特征向量組成,每次從視頻流中采集的人臉經(jīng)特征提取后變成由適量特征組成的人臉特征。通過匹配算法跟數(shù)據(jù)庫中的人臉數(shù)據(jù)進(jìn)行對比,找出不大于閾值的人臉。
表2 間接獲取的特征值
人臉比較過程設(shè)定了一個W函數(shù),函數(shù)中定義了7個比較值,用來存放檢測過程中人臉各個器官矢量特征的相似程度,每個比較值均由CompareFace()函數(shù)完成,最后將所有比較值附加權(quán)重,統(tǒng)一計算兩幅圖像的相似程度,具體定義如表3所示。
表3 比較值的定義
其中,比較值2(ret2)、比較值3(ret3)用來存放人臉各個器官所組成三角形長度特征的相似程度,計算公式如下
(7)
比較值4(ret4)、比較值5(ret5)、比較值6(ret6)、比較值7(ret7)用來存放人臉各個器官所組成三角形的各邊所成角度的余弦值,計算公式如下
(8)
最后附加權(quán)重,統(tǒng)一計算兩幅圖像的相似程度,計算公式如下
W=a×ret1+b×(ret2+ret3)+
c×(ret4+ret5+ret6+ret7)
(9)
式中,a,b和c為相應(yīng)權(quán)值,系統(tǒng)設(shè)定a=0.7,b=0.2,c=0.1。
2.4系統(tǒng)測試結(jié)果分析
采用白盒測試方法檢測系統(tǒng),可以發(fā)現(xiàn),隨著閾值的減小,識別準(zhǔn)確率會上升,同時人臉的采納率也會隨之下降。人臉識別正確率同時也與各特征值賦予的權(quán)重有一定的關(guān)系,閾值為0.15時的實(shí)驗(yàn)結(jié)果如表4所示??砂l(fā)現(xiàn)人臉的不同特征對于人臉的區(qū)分度是不同的,有些特征對于區(qū)分人臉比較重要,而有些特征則在不同的人臉上表現(xiàn)并不明顯。
表4 不同權(quán)重時的正確率和采納率
圖2 系統(tǒng)流程圖
3.1人臉錄入過程
在人臉錄入時,通過計時器不斷的獲取視頻流中的圖片,若獲得的圖片中含有符合人臉特征的信息,則人臉將會被保存在數(shù)據(jù)庫中,同時所獲得的人臉將依次顯示在主界面中的12個圖形框中。效果如圖3所示。
當(dāng)成功獲得12張符合規(guī)定的人臉照片時,系統(tǒng)會彈出人臉錄入成功的對話框,以提示人臉錄入的工作已完成,對話框如圖4所示。
圖3 人臉錄入
圖4 錄入成功
為了更好地測試系統(tǒng),繼續(xù)錄入9人的頭像,并保存在數(shù)據(jù)庫中,如圖5所示。
圖5 數(shù)據(jù)庫中保存的用戶
3.2人臉檢測過程
當(dāng)系統(tǒng)運(yùn)行到人臉檢測的模塊時,系統(tǒng)將根據(jù)計時器不斷的從視頻流中獲取圖片,當(dāng)檢測到人臉時,在人臉上畫框,同時計算人臉的各個特征值,并顯示在主界面右邊的文本框中。文本框中的進(jìn)度欄,顯示人臉識別程序的進(jìn)度,界面如圖6所示。
圖6 人臉檢測
當(dāng)系統(tǒng)檢測到與視頻流中相匹配的人臉時,就停止從視頻流中獲取圖像,并更新所識別的用戶簽到次數(shù),同時將數(shù)據(jù)庫中存儲的最相似的人臉顯示出來,彈出查找成功對話框,提示用戶已查找成功。
圖7 檢測成功界面
隨著生物識別技術(shù)的成熟,會有越來越多的生物識別技術(shù)被應(yīng)用到生活當(dāng)中。人臉識別技術(shù)的不斷發(fā)展和完善,使得人臉識別的效率和準(zhǔn)確率得到了不斷的提升。人臉識別技術(shù)與其他技術(shù)相結(jié)合,必將為生活帶來便利,給社會帶來良好的經(jīng)濟(jì)效益。
[1]謝競.基于Gabor小波網(wǎng)絡(luò)的人臉識別研究[D].北京:北京交通大學(xué),2007.
[2]尹幫治.一種新的網(wǎng)站用戶登錄驗(yàn)證方案[J].微型電腦與應(yīng)用,2008,24(10):13-15.
[3]Manjunath B,Chel Lappa R,Vonder Marsburg C. A feature based approach to face recognition[C].CA, USA:Proceeding of IEEE Conference Computer Vix Patt and Recogn,1992.
[4]Lades M,Vorbrueggen J C,Buhmann J,et al.Distortion invariant object recognition in the dynamic link architecture[J].IEEE Transactions on Computers,1993,42(3):300-311.
[5]Turk M,Pentland A.Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience,1991,3(1): 71-86.
[6]Claus Neubauer.Evaluation of convolutional neural networks for visual recognition[J].IEEE Transactions on Neural Networks,1998,9(4):685-695.
[7]Kohonen T.Self-organization and associative memory[M].New York:Springer Verlag,1988.
[8]張儉鴿,王世卿,盛光磊.基于小波和DFB-PCA的人臉識別算法研究[J].微計算機(jī)信息,2007, 23(4):253-254.
Face Recognition Attendance System Based on OPENCV Platform
SHI Qiwen, DONG Aihua
(College of Information Science and Technology, Donghua University, Shanghai 200051, China)
This paper designs a simple face-recognizing attendance system based on geometric feature. This paper expounds the image gray-level integration projection to determine the general location of facial organs. This system extracts the position of human's left eye, right eye, nose, mouth, the relative distances between them and other seven Eigen-values, and gives different weights to synthesize vector face. The face matching is realized by comparing the synthesized vector face with the database.
feature extraction; geometric feature; face recognition
2015- 12- 21
史啟文(1990-),男,碩士研究生。研究方向:工業(yè)控制。
10.16180/j.cnki.issn1007-7820.2016.09.027
TP391.41
A
1007-7820(2016)09-098-04