国产色频,国产网站精品,成人在线综合网,精品一区二区三区毛片,亚洲无卡视频,黄色av观看,亚洲福利影视

基于VC++.NET和OPENCV的身份識(shí)別系統(tǒng)開發(fā)

2018-05-10 16:38:13 電氣技術(shù)  點(diǎn)擊量: 評(píng)論 (0)
人臉識(shí)別涉及圖像處理、模式識(shí)別、計(jì)算機(jī)視覺等多個(gè)研究領(lǐng)域,是生物特征鑒別技術(shù)的一個(gè)主要方向,具有十分廣泛的應(yīng)用前景

首先使用Adaboost方法檢測(cè)到視頻流中的人臉,然后將SIFT特征提取算法應(yīng)用到人臉特征的提取環(huán)節(jié)中,提取出人臉的旋轉(zhuǎn)、縮放、平移和光照不變性SIFT特征。通過將檢測(cè)到的人臉的SIFT特征和人臉庫(kù)中的人臉SIFT特征進(jìn)行匹配,找出匹配程度最大的對(duì)應(yīng)的類別,即為匹配結(jié)果。整個(gè)系統(tǒng)用Visual C++.net 2008和OPENCV開發(fā)。

人臉識(shí)別涉及圖像處理、模式識(shí)別、計(jì)算機(jī)視覺等多個(gè)研究領(lǐng)域,是生物特征鑒別技術(shù)的一個(gè)主要方向,具有十分廣泛的應(yīng)用前景,其中,基于人臉視頻流的身份識(shí)別是人臉識(shí)別中一個(gè)重要的分枝,在考勤和門禁系統(tǒng)中,該方法要求有較低的錯(cuò)誤拒絕率(FRR)和零的錯(cuò)誤接受率(FAR),在商業(yè)應(yīng)用上尤其具有相當(dāng)大的優(yōu)勢(shì)。

人臉識(shí)別技術(shù)中一個(gè)重要的環(huán)節(jié)是特征提取。比較常見的人臉特征提取方法有EigenFace、FisherFace和非線性流形及其改進(jìn)[1]。但是,EigenFace 是基于重建誤差最小,無法揭示數(shù)據(jù)的局部結(jié)構(gòu),對(duì)光照、表情等比較敏感。

FisherFace屬于有監(jiān)督識(shí)別方法,一般先采用PCA 降維,然后利用線性判別分析(LDA),尋找使類間距和類內(nèi)距比值最大化的投影方向,識(shí)別效果好于EgienFace。非線性流形法是最近提出的研究成果,主要有:等距映射(Isomap)、局部線性嵌入(LLE)和拉普拉斯特征映射(Laplacian EigenMaps)]等。

但這些方法都沒有明晰的投影矩陣,很難直接提取新樣本的特征,而且會(huì)出現(xiàn)小樣本問題,所以一般不能直接用于人臉識(shí)別領(lǐng)域。文獻(xiàn)[2]利用Adaboost特征提取人臉,取得了較好的效果,但如何識(shí)別人臉確沒有解決。

1 SIFT特征提取算法簡(jiǎn)述

SIFT(Scale Invariant Feature Transform)特征提取方法用一個(gè)128維的向量來表示特征點(diǎn)。其基本思想是通過高斯核進(jìn)行一系列的濾波來提取圖像的尺度空間中的穩(wěn)定點(diǎn)[3]。

首先,原始圖像通過一系列的具有不同尺度因子的高斯核函數(shù)進(jìn)行平滑濾波,并將每?jī)蓚€(gè)相鄰尺度的平滑濾波后的圖像相減來計(jì)算高斯差分圖像。

其次,在尺度空間中,所有的局部極值通過比較其周圍鄰域的8個(gè)像素和相鄰尺度對(duì)應(yīng)位置的周圍領(lǐng)域,總共26個(gè)像素而產(chǎn)生,見圖1。最后,這些極值點(diǎn)被作為候選關(guān)鍵點(diǎn),通過它們的位置和尺度度量其穩(wěn)定性,過濾掉具有低對(duì)比度和處于邊緣上的點(diǎn),得到穩(wěn)定的關(guān)鍵點(diǎn)。每一個(gè)關(guān)鍵點(diǎn)最終是一個(gè)128維的向量。

通過這種方式所獲取的特征點(diǎn)具有旋轉(zhuǎn)、縮放和平移不變性,最后,再將特征向量的長(zhǎng)度歸一化,則可以進(jìn)一步去除光照變換的影響。

圖1: 尺度空間表示

2 SIFT特征提取方法用于人臉識(shí)別的可行性及相關(guān)步驟

對(duì)于不同的人臉照片,其包含相似或相同SIFT特征的數(shù)量是非常少的,如圖2所示:

圖2: 人臉SIFT特征的匹配

圖3中共有4對(duì)人臉,上下兩張人臉進(jìn)行對(duì)比,第1列到第3列的上下兩張臉均不是一個(gè)人的,其中第1列無相同的SIFT特征,第2、3列只有一個(gè)SIFT特征匹配,第4列為同一個(gè)人臉的不同光照和不同拍攝角度下的照片,卻包含了6個(gè)匹配的SIFT特征。

可見,相同的人臉其SIFT特征總體比較接近,不同的人臉,其SIFT特征差別較大。因此SIFT特征可以用于人臉識(shí)別。

3 系統(tǒng)開發(fā)

OPENCV(Open Source Computer Vision)近年來逐漸成為一個(gè)科學(xué)研究和商業(yè)應(yīng)用的基礎(chǔ)開發(fā)平臺(tái),它由著名的Inter公司資助,對(duì)于所有的商業(yè)和非商業(yè)應(yīng)用均許可,因此本文使用Visual C++.net 2008和OPENCV編寫整個(gè)系統(tǒng)。

3.1 身份識(shí)別與考勤系統(tǒng)應(yīng)具有的特點(diǎn)

員工考勤以及重要工作場(chǎng)合的門禁系統(tǒng)中,身份識(shí)別是一個(gè)必須解決的問題。基于視頻流的考勤或身份識(shí)別系統(tǒng)采用人機(jī)對(duì)話的方式,使用方便,被認(rèn)為是一種較人性化的措施,系統(tǒng)具有如下要求:

1)對(duì)于人臉庫(kù)中存在的人臉,應(yīng)該具有唯一準(zhǔn)確性。在接受其身份的同時(shí),又不會(huì)將其誤識(shí)別為人臉庫(kù)中的其他人。

2)對(duì)于人臉庫(kù)中不存在的人臉,應(yīng)該準(zhǔn)確的不予識(shí)別。

基于以上幾點(diǎn),身份識(shí)別和考勤系統(tǒng)要求具有盡可能低的錯(cuò)誤拒絕率(FRR)和零的錯(cuò)誤接受率(FAR)。在傳統(tǒng)的人臉識(shí)別方案中,無論是特征臉還是Fisher臉,還是基于非線性流形的人臉識(shí)別方法,其FAR都很難做到為零,這明顯的不符合本身份識(shí)別和考勤系統(tǒng)的要求。而SIFT特征采用128維特征向量來表示,在不同人的臉上很難找到匹配的SIFT特征,因此,這里使用基于SIFT特征的身份識(shí)別方案。

3.2 身份識(shí)別系統(tǒng)的開發(fā)

要想在視頻流中準(zhǔn)確的找到并提取人臉?biāo)诘膮^(qū)域,需要性能良好,速度很快的人臉檢測(cè)器。這里,我們使用了Adaboost特征檢測(cè)器[2]5]。同其他的人臉檢測(cè)算法相比, Adaboost人臉檢測(cè)器的檢測(cè)速度和檢測(cè)率均非常高。

對(duì)Adaboost檢測(cè)到的人臉圖片提取出SIFT特征后,為了身份識(shí)別,需要將提取到的SIFT特征和庫(kù)中的SIFT特征進(jìn)行匹配,空間特征點(diǎn)最近鄰匹配操作的一種比較實(shí)用的索引方法是KD-Tree方法[4],他不僅適用于k-NN-Search問題,而且其空間復(fù)雜度與數(shù)據(jù)集的維數(shù)成線性關(guān)系。文中為了保證匹配的速度,在開始匹配前就將這些SIFT特征加載到KD-Tree中。

身份識(shí)別與考勤系統(tǒng)的運(yùn)行步驟如下:(1)系統(tǒng)啟動(dòng),并以多線程方式啟動(dòng)識(shí)別線程。(2)加載訓(xùn)練樣本的SIFT特征集,將所有SIFT特征集用KD-Tree建立索引。(3)開啟視頻捕捉。(4)使用Adaboost特征檢測(cè)器進(jìn)行人臉檢測(cè)。(5)對(duì)檢測(cè)到的人臉提取其SIFT特征,并和2)步加載的SIFT特征進(jìn)行匹配。匹配方法為最近鄰NN匹配。(6)最大的匹配對(duì)應(yīng)的類別即為識(shí)別結(jié)果,如果最大匹配小于某個(gè)閾值T,則可認(rèn)為人臉庫(kù)中不存在該人臉,程序轉(zhuǎn)到4)繼續(xù)執(zhí)行。

為了提取SIFT特征,文中還使用了令一個(gè)著名的開放源代碼的GSL庫(kù)。在人臉檢測(cè)方面,程序直接使用了由OPENCV提供的Adaboost特征檢測(cè)器[6]。

當(dāng)程序檢測(cè)到合法用戶時(shí),其畫面及提示信息如圖3所示。

圖3: 身份識(shí)別成功

圖3中,左圖為視頻捕捉窗口;右圖上為在視頻捕捉窗口中捕捉到的人臉,按子像素精度從左圖中提取,大小固定為180×200(也是樣本庫(kù)中樣本的大?。挥覉D下為在人臉庫(kù)中預(yù)先存儲(chǔ)的標(biāo)準(zhǔn)人臉中的任何一個(gè)。識(shí)別和考勤系統(tǒng)還同時(shí)在后臺(tái)記錄了和考勤有關(guān)的信息。圖4為非法用戶企圖欺騙識(shí)別系統(tǒng)的過程截圖,截圖中時(shí)間已經(jīng)過去了將近10分鐘,其欺騙企圖仍舊沒有成功。

圖4: 非法用戶的欺騙企圖

在算法的實(shí)時(shí)性方面,這里設(shè)定工作線程每25ms從攝像頭中提取一幀圖片,人臉的檢測(cè)和識(shí)別所花費(fèi)的時(shí)間應(yīng)少于25ms,系統(tǒng)可以在CPU1.6Hz,內(nèi)存512兆的聯(lián)想筆記本上的正常運(yùn)行24小時(shí)以上,表明文中所用到的算法是有效的。

4 結(jié)論

文中利用Visual C++.NET 2008編寫系統(tǒng),由于系統(tǒng)需要大量的圖像處理知識(shí)和運(yùn)算,因此使用了OPENCV庫(kù)。本文創(chuàng)新點(diǎn)在于:1、首次將SIFT用于身份識(shí)別,并得到了較好的效果;2、結(jié)合Visual C++.NET 2008和OPENCV的強(qiáng)大功能,編寫了SIFT特征提取算法和特征分類算法,Visual C++.NET 2008和OPENCV的結(jié)合,既保證系統(tǒng)具有良好的人機(jī)界面,又保證系統(tǒng)具有C++語(yǔ)言的運(yùn)行速度。

(摘編自《電氣技術(shù)》,原文標(biāo)題為“基于VC++.NET和OPENCV的身份識(shí)別系統(tǒng)開發(fā)”,作者為崔世林、田斐。)

大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?