范哲意, 曾亞軍, 蔣 姣, 翁澍沁, 劉志文
(北京理工大學(xué) 信息與電子學(xué)院, 北京 100081)
?
視頻人臉識(shí)別實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
范哲意, 曾亞軍, 蔣姣, 翁澍沁, 劉志文
(北京理工大學(xué) 信息與電子學(xué)院, 北京100081)
在VS2010編程環(huán)境下,結(jié)合OpenCV視覺(jué)庫(kù)設(shè)計(jì)并完成了一個(gè)人臉識(shí)別實(shí)驗(yàn)平臺(tái)。首先檢測(cè)圖像中的人臉區(qū)域,然后通過(guò)子空間法將其映射到新的特征空間提取特征,最后使用支持向量機(jī)實(shí)現(xiàn)分類識(shí)別。該實(shí)驗(yàn)平臺(tái)可完成人臉檢測(cè)、人臉識(shí)別功能,并實(shí)現(xiàn)了人臉數(shù)據(jù)庫(kù)的創(chuàng)建、修改以及查詢。在此實(shí)驗(yàn)平臺(tái)上對(duì)ORL人臉數(shù)據(jù)庫(kù)和實(shí)際創(chuàng)建的數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了視頻人臉識(shí)別實(shí)驗(yàn)平臺(tái)的有效性。
人臉識(shí)別; 人臉檢測(cè); 支持向量機(jī); OpenCV; 實(shí)驗(yàn)平臺(tái)
北京理工大學(xué)信息與電子學(xué)院在國(guó)家“985工程”三期建設(shè)項(xiàng)目的支持下,建設(shè)了“電子信息類大學(xué)生實(shí)踐創(chuàng)新平臺(tái)”,為培養(yǎng)高素質(zhì)創(chuàng)新人才提供了有利的條件。本文介紹的視頻人臉識(shí)別實(shí)驗(yàn)平臺(tái)是大學(xué)生實(shí)踐創(chuàng)新平臺(tái)實(shí)踐創(chuàng)新活動(dòng)的成果,由參與創(chuàng)新實(shí)踐活動(dòng)的學(xué)生設(shè)計(jì)完成。
人臉識(shí)別是圖像處理、計(jì)算機(jī)視覺(jué)以及模式識(shí)別領(lǐng)域的研究熱點(diǎn)之一[1-2],在智能人機(jī)交互、視頻監(jiān)控等領(lǐng)域有廣泛的應(yīng)用。至今,關(guān)于人臉識(shí)別問(wèn)題已有一些典型方法:(1)基于幾何特征[3]的識(shí)別方法,即由人臉形狀、頭部器官位置及其相對(duì)關(guān)系等幾何特征組成特征矢量,通過(guò)矢量匹配來(lái)確定不同人臉的相似性;(2)基于統(tǒng)計(jì)理論的識(shí)別方法,即將人臉看成一個(gè)整體,并將其特征表示為一個(gè)高維矢量,這樣,人臉識(shí)別問(wèn)題就轉(zhuǎn)化為在高維空間中尋找最優(yōu)分類曲面的問(wèn)題,主要有特征臉?lè)椒ê虵isherface方法[4]等;(3)基于機(jī)器學(xué)習(xí)的識(shí)別方法,即通過(guò)計(jì)算機(jī)模擬人腦的思維方式,先對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行有監(jiān)督的學(xué)習(xí),再進(jìn)行預(yù)測(cè),主要有支持向量機(jī)[5]、深度學(xué)習(xí)[6]、稀疏表示[7]等。
支持向量機(jī)是20世紀(jì)90年代中期發(fā)展起來(lái)的基于統(tǒng)計(jì)學(xué)習(xí)理論的一種機(jī)器學(xué)習(xí)方法,通過(guò)尋求結(jié)構(gòu)化風(fēng)險(xiǎn)最小來(lái)提高分類器的泛化能力,實(shí)現(xiàn)經(jīng)驗(yàn)風(fēng)險(xiǎn)和置信范圍的最小化。由于其能夠在統(tǒng)計(jì)樣本量較少的情況下達(dá)到良好的分類效果,適合于人臉識(shí)別,故采用此方法來(lái)設(shè)計(jì)分類器。
OpenCV[8]是Intel公司開(kāi)發(fā)的一套完整、高效的開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù),其通過(guò)C和C++語(yǔ)言編寫,包含了豐富的圖像處理、目標(biāo)跟蹤和模式識(shí)別功能,且具有調(diào)用簡(jiǎn)單、易讀易學(xué)的特點(diǎn)。視頻人臉識(shí)別實(shí)驗(yàn)平臺(tái)在OpenCV和VS2010的開(kāi)發(fā)條件下,利用其人臉檢測(cè)以及支持向量機(jī)函數(shù)庫(kù)功能,并通過(guò)MFC設(shè)計(jì)實(shí)現(xiàn)交互界面。
視頻人臉識(shí)別包括訓(xùn)練過(guò)程和識(shí)別過(guò)程,其中的關(guān)鍵步驟有:人臉檢測(cè),人臉圖像預(yù)處理、特征提取以及分類識(shí)別。
2.1人臉檢測(cè)
人臉檢測(cè)即從圖像中提取出人臉區(qū)域,常用方法有[9]基于膚色模型、基于紋理特征以及基于幾何特征等。本文通過(guò)提取Haar特征并訓(xùn)練Ada-Boost級(jí)聯(lián)分類器對(duì)圖像進(jìn)行匹配[10],實(shí)現(xiàn)人臉檢測(cè)功能。
在人臉檢測(cè)過(guò)程中提取的特征為矩形特征,如圖1所示,特征值的大小即為矩形區(qū)域內(nèi)黑色區(qū)域像素值之和減去白色區(qū)域內(nèi)像素值之和。
圖1 部分矩形Haar特征
Ada-Boost分類器是一種迭代學(xué)習(xí)的方法,將足夠多的弱分類器進(jìn)行級(jí)聯(lián)得到強(qiáng)分類器。Ada-Boost分類器通過(guò)增加錯(cuò)分樣本權(quán)值的方法實(shí)現(xiàn)對(duì)于錯(cuò)分樣本的強(qiáng)化學(xué)習(xí),從而增加分類器的整體泛化能力。
2.2人臉圖像預(yù)處理以及特征提取
人臉圖像預(yù)處理旨在去除噪聲,加強(qiáng)有用信息,并統(tǒng)一圖像尺寸大小[11],包括尺度歸一化和灰度歸一化操作。尺度歸一化即是通過(guò)插值或者采樣,使人臉圖像的尺寸達(dá)到統(tǒng)一;灰度歸一化是指采用光照補(bǔ)償?shù)忍幚矸椒p小光照變化對(duì)人臉檢測(cè)的影響。
人臉的特征提取是指從人臉中提取出能夠反映人臉信息的特征,通常情況下提取的特征包括顏色特征、紋理特征以及統(tǒng)計(jì)特征等。顏色特征和紋理特征會(huì)因?yàn)槿四樧藨B(tài)的變化產(chǎn)生較大差異,為此,本實(shí)驗(yàn)平臺(tái)采用統(tǒng)計(jì)特征,即通過(guò)子空間法將人臉圖像特征映射到新的特征空間中[12]。
假設(shè)圖像矩陣表示為x∈Rm×n,訓(xùn)練集中共有k張人臉圖像,具體操作步驟如下。
(1) 圖像特征向量化。將圖像灰度特征x∈Rm×n按矩陣的列依次排成一個(gè)向量,表示為x∈Rmn×1,所有圖像組成矩陣X=[x1,x2,…,xk]∈Rmn×k。
(2) 訓(xùn)練矩陣的構(gòu)造。訓(xùn)練矩陣是由圖像矩陣減去平均圖像向量得到的,公式為
(1)
(3) 構(gòu)造關(guān)聯(lián)矩陣。關(guān)聯(lián)矩陣表示為
(2)
(4) 主成分提取。先求解矩陣C的特征值和特征向量,并按照特征值大小進(jìn)行降序排列,分別表示為[λ1,λ2,…,λk]和[v1,v2,…,vk]。求前d個(gè)達(dá)到所有特征值能量80%以上的特征向量
(3)
由此構(gòu)成的特征向量形成的子空間即為特征的投影方向。
(5) 人臉特征空間映射。將所有圖像映射到新的子空間,得到人臉的特征矩陣為
(4)
2.3分類識(shí)別
分類是數(shù)據(jù)挖掘中一項(xiàng)非常重要的工作,它的目的是學(xué)習(xí)一個(gè)分類函數(shù)或分類模型,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng)映射到給定類別中的某一個(gè),從而實(shí)現(xiàn)對(duì)于數(shù)據(jù)類別的預(yù)測(cè)。其中的分類函數(shù)或分類模型即為分類器。本實(shí)驗(yàn)平臺(tái)采用支持向量機(jī)作為分類器,其基本原理如下。
假設(shè)所有的樣本以及其類別標(biāo)號(hào)表示為{xi,yi}(i=1,2,…,k),支持向量機(jī)是以二類分類為基礎(chǔ)的,其基本思想是創(chuàng)建一個(gè)超平面,使得此平面距離兩類樣本都盡可能地遠(yuǎn)。設(shè)超平面方程為wTx+b=0,其目標(biāo)函數(shù)表示為:
(5)
其中ξi(i=1,2,…,k)是松弛變量,對(duì)應(yīng)數(shù)據(jù)點(diǎn)xi允許偏離超平面的距離的量。C是一個(gè)懲罰參數(shù),用于控制公式中對(duì)于樣本偏離超平面的距離的權(quán)重。
將求解得到的w和b構(gòu)成超平面方程,待測(cè)樣本代入超平面方程進(jìn)行求解,判斷其所屬類別。
3.1實(shí)驗(yàn)平臺(tái)介紹
人臉識(shí)別實(shí)驗(yàn)平臺(tái)的硬件部分主要由攝像頭、視頻采集卡和計(jì)算機(jī)等組成。監(jiān)控用攝像頭不能直接讀取數(shù)據(jù),通過(guò)連接視頻采集卡并引入Windows的VideoInput庫(kù)實(shí)現(xiàn)圖片的讀取。
人臉識(shí)別實(shí)驗(yàn)平臺(tái)的算法設(shè)計(jì)包括訓(xùn)練過(guò)程和識(shí)別過(guò)程。訓(xùn)練過(guò)程包括錄入人臉樣本庫(kù),人臉預(yù)處理以及特征提取和分類器的訓(xùn)練等步驟;識(shí)別過(guò)程包括讀取待測(cè)試人臉圖片、預(yù)處理、特征提取以及預(yù)測(cè)結(jié)果等步驟,整體流程如圖2所示。實(shí)驗(yàn)平臺(tái)通過(guò)VS2010加載OpenCV庫(kù)的方法實(shí)現(xiàn)上述所有功能,并通過(guò)MFC設(shè)計(jì)交互界面。
圖2 實(shí)驗(yàn)的整體流程圖
3.2人臉識(shí)別實(shí)驗(yàn)平臺(tái)軟件
通過(guò)OpenCV視覺(jué)庫(kù)和MFC設(shè)計(jì)人臉識(shí)別平臺(tái)的軟件運(yùn)行界面如圖3所示。軟件實(shí)現(xiàn)了人臉數(shù)據(jù)庫(kù)的建立、修改、查詢以及人臉檢測(cè)和人臉識(shí)別功能。
圖3 人臉識(shí)別軟件界面
通過(guò)讀取計(jì)算機(jī)內(nèi)部圖像或者拍照的方式創(chuàng)建人臉數(shù)據(jù)庫(kù),將所有的人臉圖像存儲(chǔ)在數(shù)據(jù)庫(kù)文件夾中,可以刪除其中不符合要求的人臉圖片。利用人臉識(shí)別功能,可以實(shí)現(xiàn)對(duì)計(jì)算機(jī)內(nèi)已有圖像中的人進(jìn)行身份識(shí)別,還可以在攝像頭條件下采集特定幀數(shù),通過(guò)投票方式[13]識(shí)別身份。
將ORL(olivetti research laboratory)數(shù)據(jù)庫(kù)和實(shí)際創(chuàng)建的數(shù)據(jù)庫(kù)在本實(shí)驗(yàn)平臺(tái)上進(jìn)行實(shí)驗(yàn),通過(guò)實(shí)驗(yàn)結(jié)果的驗(yàn)證,說(shuō)明了該人臉識(shí)別實(shí)驗(yàn)系統(tǒng)的有效性。
4.1在ORL數(shù)據(jù)庫(kù)中的實(shí)驗(yàn)結(jié)果
ORL數(shù)據(jù)庫(kù)共包含40個(gè)人、每人10張人臉圖像,其中每個(gè)人的圖片包含了表情以及姿態(tài)變化,如圖4所示。實(shí)驗(yàn)過(guò)程中將前7張圖片加入到數(shù)據(jù)庫(kù)中作為訓(xùn)練樣本,剩余的3張圖片用于識(shí)別。
圖4 部分ORL數(shù)據(jù)庫(kù)人臉圖像
實(shí)驗(yàn)步驟如下:(1)由于標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中不需要進(jìn)行人臉檢測(cè),則直接將其加入到數(shù)據(jù)庫(kù)中即可;(2)進(jìn)行人臉預(yù)處理和特征提取,得到的特征臉圖像如圖5所示;(3)在經(jīng)過(guò)預(yù)處理之后將剩余的3張圖片用于識(shí)別,其識(shí)別率為93.3%,證明了此算法的有效性。
圖5 部分特征臉圖像
4.2用實(shí)際創(chuàng)建的數(shù)據(jù)庫(kù)的實(shí)驗(yàn)結(jié)果
在用標(biāo)準(zhǔn)人臉數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn)之后,采集實(shí)驗(yàn)者的照片,創(chuàng)建實(shí)際的數(shù)據(jù)庫(kù)并進(jìn)行實(shí)驗(yàn)。
首先是訓(xùn)練樣本的建立,可以用讀取已有圖像和攝像條件下截取圖像幀兩種方式進(jìn)行。在讀取已有圖像時(shí),包含多種表情以及姿態(tài)變化,其采集到的圖像如圖6(a)所示。攝像條件下采集到的人臉圖像具有連續(xù)的表情變化,如圖6(b)所示。
圖6 部分?jǐn)?shù)據(jù)庫(kù)中的人臉圖像
然后是數(shù)據(jù)的預(yù)處理以及特征提取,得到的特征臉如圖7所示。
最后是識(shí)別功能。將訓(xùn)練好的支持向量機(jī)用于識(shí)別,既可以識(shí)別已有圖像的身份,也可以識(shí)別視頻序列中的目標(biāo)身份。在識(shí)別已有圖像的過(guò)程中,分別選擇每個(gè)人的多張圖像進(jìn)行識(shí)別,其識(shí)別率為92.5%。對(duì)于視頻條件下的身份識(shí)別采用的是投票法,采集固定幀數(shù)的視頻序列,對(duì)每一幀的識(shí)別結(jié)果進(jìn)行投票,得票最多的為最終的識(shí)別結(jié)果,其識(shí)別率為95.8%。通過(guò)上述2個(gè)實(shí)驗(yàn)證明了本實(shí)驗(yàn)平臺(tái)的有效性。
圖7 部分特征臉圖像
人臉識(shí)別是模式識(shí)別的重要組成部分,已成為許多高校本科生和研究生的創(chuàng)新實(shí)驗(yàn)項(xiàng)目。本文闡述的基于VS2010和OpenCV的視頻人臉識(shí)別實(shí)驗(yàn)平臺(tái),具有人臉檢測(cè)、人臉識(shí)別和識(shí)別結(jié)果分析的功能,并在實(shí)驗(yàn)中取得了較好的識(shí)別效果,證明了其有效性。
References)
[1] Chen Xue, Wang Chunheng, Xiao Baihua,et al. Scenario oriented discriminant analysis for Still-to-Video face Recognition[C]//Proceedings of IEEE International Conference on Image Processing.2014:738-742.
[2] Liao Shengcai, Jain A K, Li S Z. Partial face recognition: alignment-free approach [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(5):1193-1205.
[3] Brunelli R, Poggio T. Face Recognition: Features versus Templates[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.
[4] Belhumeur P N, Hespanha J P, Kriegman D. Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(7):711-720.
[5] Boser B E, Guyon I M, Vapnik V N. A Training Algorithm for Optimal Margin Classifiers[C]//Proceedings of Annual Acm Workshop on Computational Leaning Theory,1996:144-152.
[6] 林妙真.基于深度學(xué)習(xí)的人臉識(shí)別研究[D].大連:大連理工大學(xué),2013.
[7] Wright J, Yang A Y, Ganesh A, et al. Robust Face Recognition via Sparse Representation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(2): 210- 227.
[8] 雷靜.基于OpenCV的人臉跟蹤識(shí)別系統(tǒng)研究[D].西安:西安電子科技大學(xué),2010.
[9] 劉翠響,肖伶俐.基于視頻的人臉檢測(cè)綜述[J].電子設(shè)計(jì)工程,2011,19(14):172-174.
[10] Viola Paul, Jones Michael. Robust Real-Time Face Detection[J]. International Journal of Computer Vision, 2004, 57(2): 137-154.
[11] 周昕.基于BP神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別技術(shù)的研究[D].南京:南京理工大學(xué),2007.
[12] Turk M, Pentland A. Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience,1991,3(1):71-86.
[13] 師飛龍,李嵐,徐楠楠.基于多數(shù)投票的DBC人臉識(shí)別[J].計(jì)算機(jī)工程與應(yīng)用,2014(11):163-166.
Design and realization of experimental platform for video face recognition
Fan Zheyi, Zeng Yajun, Jiang Jiao, Weng Shuqin, Liu Zhiwen
(School of Information and Electronics, Beijing Institute of Technology, Beijing 100081, China)
A face recognition experimental platform was designed and realized combining OpenCV under VS2010. It can detect face in image firstly, then map this face image into a new feature space, and finally use the support vector machine (SVM) classifier to recognize new face videos. This experiment platform could detect face in image and recognize face, at the same time it can realize the establishment, modification and enquiry of the data in the database. The experimental results in ORL and database collected by ourselves show that it is effective.
face recognition; face detection; support vector machine; OpenCV; experimental platform
10.16791/j.cnki.sjg.2016.03.040
2015- 10- 22修改日期:2015- 11- 08
范哲意(1983—),男,福建莆田,博士,實(shí)驗(yàn)師,主要從事信號(hào)與圖像處理方向教學(xué)科研及實(shí)驗(yàn)室建設(shè)與管理工作.
E-mail:funye@bit.edu.cn
TP391.41
A
1002-4956(2016)3- 0159- 03