基于VC++.NET和OPENCV的身份識別系統(tǒng)開發(fā)
首先使用Adaboost方法檢測到視頻流中的人臉,然后將SIFT特征提取算法應(yīng)用到人臉特征的提取環(huán)節(jié)中,提取出人臉的旋轉(zhuǎn)、縮放、平移和光照不變性SIFT特征。通過將檢測到的人臉的SIFT特征和人臉庫中的人臉SIFT特征進行匹配,找出匹配程度最大的對應(yīng)的類別,即為匹配結(jié)果。整個系統(tǒng)用Visual C++.net 2008和OPENCV開發(fā)。
人臉識別涉及圖像處理、模式識別、計算機視覺等多個研究領(lǐng)域,是生物特征鑒別技術(shù)的一個主要方向,具有十分廣泛的應(yīng)用前景,其中,基于人臉視頻流的身份識別是人臉識別中一個重要的分枝,在考勤和門禁系統(tǒng)中,該方法要求有較低的錯誤拒絕率(FRR)和零的錯誤接受率(FAR),在商業(yè)應(yīng)用上尤其具有相當(dāng)大的優(yōu)勢。
人臉識別技術(shù)中一個重要的環(huán)節(jié)是特征提取。比較常見的人臉特征提取方法有EigenFace、FisherFace和非線性流形及其改進[1]。但是,EigenFace 是基于重建誤差最小,無法揭示數(shù)據(jù)的局部結(jié)構(gòu),對光照、表情等比較敏感。
FisherFace屬于有監(jiān)督識別方法,一般先采用PCA 降維,然后利用線性判別分析(LDA),尋找使類間距和類內(nèi)距比值最大化的投影方向,識別效果好于EgienFace。非線性流形法是最近提出的研究成果,主要有:等距映射(Isomap)、局部線性嵌入(LLE)和拉普拉斯特征映射(Laplacian EigenMaps)]等。
但這些方法都沒有明晰的投影矩陣,很難直接提取新樣本的特征,而且會出現(xiàn)小樣本問題,所以一般不能直接用于人臉識別領(lǐng)域。文獻[2]利用Adaboost特征提取人臉,取得了較好的效果,但如何識別人臉確沒有解決。
1 SIFT特征提取算法簡述
SIFT(Scale Invariant Feature Transform)特征提取方法用一個128維的向量來表示特征點。其基本思想是通過高斯核進行一系列的濾波來提取圖像的尺度空間中的穩(wěn)定點[3]。
首先,原始圖像通過一系列的具有不同尺度因子的高斯核函數(shù)進行平滑濾波,并將每兩個相鄰尺度的平滑濾波后的圖像相減來計算高斯差分圖像。
其次,在尺度空間中,所有的局部極值通過比較其周圍鄰域的8個像素和相鄰尺度對應(yīng)位置的周圍領(lǐng)域,總共26個像素而產(chǎn)生,見圖1。最后,這些極值點被作為候選關(guān)鍵點,通過它們的位置和尺度度量其穩(wěn)定性,過濾掉具有低對比度和處于邊緣上的點,得到穩(wěn)定的關(guān)鍵點。每一個關(guān)鍵點最終是一個128維的向量。
通過這種方式所獲取的特征點具有旋轉(zhuǎn)、縮放和平移不變性,最后,再將特征向量的長度歸一化,則可以進一步去除光照變換的影響。
圖1: 尺度空間表示
2 SIFT特征提取方法用于人臉識別的可行性及相關(guān)步驟
對于不同的人臉照片,其包含相似或相同SIFT特征的數(shù)量是非常少的,如圖2所示:
圖2: 人臉SIFT特征的匹配
圖3中共有4對人臉,上下兩張人臉進行對比,第1列到第3列的上下兩張臉均不是一個人的,其中第1列無相同的SIFT特征,第2、3列只有一個SIFT特征匹配,第4列為同一個人臉的不同光照和不同拍攝角度下的照片,卻包含了6個匹配的SIFT特征。
可見,相同的人臉其SIFT特征總體比較接近,不同的人臉,其SIFT特征差別較大。因此SIFT特征可以用于人臉識別。
3 系統(tǒng)開發(fā)
OPENCV(Open Source Computer Vision)近年來逐漸成為一個科學(xué)研究和商業(yè)應(yīng)用的基礎(chǔ)開發(fā)平臺,它由著名的Inter公司資助,對于所有的商業(yè)和非商業(yè)應(yīng)用均許可,因此本文使用Visual C++.net 2008和OPENCV編寫整個系統(tǒng)。
3.1 身份識別與考勤系統(tǒng)應(yīng)具有的特點
員工考勤以及重要工作場合的門禁系統(tǒng)中,身份識別是一個必須解決的問題。基于視頻流的考勤或身份識別系統(tǒng)采用人機對話的方式,使用方便,被認為是一種較人性化的措施,系統(tǒng)具有如下要求:
1)對于人臉庫中存在的人臉,應(yīng)該具有唯一準(zhǔn)確性。在接受其身份的同時,又不會將其誤識別為人臉庫中的其他人。
2)對于人臉庫中不存在的人臉,應(yīng)該準(zhǔn)確的不予識別。
基于以上幾點,身份識別和考勤系統(tǒng)要求具有盡可能低的錯誤拒絕率(FRR)和零的錯誤接受率(FAR)。在傳統(tǒng)的人臉識別方案中,無論是特征臉還是Fisher臉,還是基于非線性流形的人臉識別方法,其FAR都很難做到為零,這明顯的不符合本身份識別和考勤系統(tǒng)的要求。而SIFT特征采用128維特征向量來表示,在不同人的臉上很難找到匹配的SIFT特征,因此,這里使用基于SIFT特征的身份識別方案。
3.2 身份識別系統(tǒng)的開發(fā)
要想在視頻流中準(zhǔn)確的找到并提取人臉?biāo)诘膮^(qū)域,需要性能良好,速度很快的人臉檢測器。這里,我們使用了Adaboost特征檢測器[2]5]。同其他的人臉檢測算法相比, Adaboost人臉檢測器的檢測速度和檢測率均非常高。
對Adaboost檢測到的人臉圖片提取出SIFT特征后,為了身份識別,需要將提取到的SIFT特征和庫中的SIFT特征進行匹配,空間特征點最近鄰匹配操作的一種比較實用的索引方法是KD-Tree方法[4],他不僅適用于k-NN-Search問題,而且其空間復(fù)雜度與數(shù)據(jù)集的維數(shù)成線性關(guān)系。文中為了保證匹配的速度,在開始匹配前就將這些SIFT特征加載到KD-Tree中。
身份識別與考勤系統(tǒng)的運行步驟如下:(1)系統(tǒng)啟動,并以多線程方式啟動識別線程。(2)加載訓(xùn)練樣本的SIFT特征集,將所有SIFT特征集用KD-Tree建立索引。(3)開啟視頻捕捉。(4)使用Adaboost特征檢測器進行人臉檢測。(5)對檢測到的人臉提取其SIFT特征,并和2)步加載的SIFT特征進行匹配。匹配方法為最近鄰NN匹配。(6)最大的匹配對應(yīng)的類別即為識別結(jié)果,如果最大匹配小于某個閾值T,則可認為人臉庫中不存在該人臉,程序轉(zhuǎn)到4)繼續(xù)執(zhí)行。
為了提取SIFT特征,文中還使用了令一個著名的開放源代碼的GSL庫。在人臉檢測方面,程序直接使用了由OPENCV提供的Adaboost特征檢測器[6]。
當(dāng)程序檢測到合法用戶時,其畫面及提示信息如圖3所示。
圖3: 身份識別成功
圖3中,左圖為視頻捕捉窗口;右圖上為在視頻捕捉窗口中捕捉到的人臉,按子像素精度從左圖中提取,大小固定為180×200(也是樣本庫中樣本的大小);右圖下為在人臉庫中預(yù)先存儲的標(biāo)準(zhǔn)人臉中的任何一個。識別和考勤系統(tǒng)還同時在后臺記錄了和考勤有關(guān)的信息。圖4為非法用戶企圖欺騙識別系統(tǒng)的過程截圖,截圖中時間已經(jīng)過去了將近10分鐘,其欺騙企圖仍舊沒有成功。
圖4: 非法用戶的欺騙企圖
在算法的實時性方面,這里設(shè)定工作線程每25ms從攝像頭中提取一幀圖片,人臉的檢測和識別所花費的時間應(yīng)少于25ms,系統(tǒng)可以在CPU1.6Hz,內(nèi)存512兆的聯(lián)想筆記本上的正常運行24小時以上,表明文中所用到的算法是有效的。
4 結(jié)論
文中利用Visual C++.NET 2008編寫系統(tǒng),由于系統(tǒng)需要大量的圖像處理知識和運算,因此使用了OPENCV庫。本文創(chuàng)新點在于:1、首次將SIFT用于身份識別,并得到了較好的效果;2、結(jié)合Visual C++.NET 2008和OPENCV的強大功能,編寫了SIFT特征提取算法和特征分類算法,Visual C++.NET 2008和OPENCV的結(jié)合,既保證系統(tǒng)具有良好的人機界面,又保證系統(tǒng)具有C++語言的運行速度。
(摘編自《電氣技術(shù)》,原文標(biāo)題為“基于VC++.NET和OPENCV的身份識別系統(tǒng)開發(fā)”,作者為崔世林、田斐。)
責(zé)任編輯:售電衡衡
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進這個行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市