王慧琴
(山西機電職業(yè)技術學院信息管理工程系,山西長治046011)
基于OpenCV的人臉識別的研究
王慧琴
(山西機電職業(yè)技術學院信息管理工程系,山西長治046011)
文章提出了基于OpenCV的人臉識別系統(tǒng)的一種應用模式。通過訓練生成人臉的特征值文件,當檢測到人臉的時候,與提前訓練好的特征值文件進行比對,然后結合LDA算法,完成人臉識別。
OpenCV,LDA算法,人臉識別
目前,人臉識別技術[1]廣泛應用于安全驗證、視頻會議、公安系統(tǒng)、人機交流、智能家居等領域。OpenCV[2](Open Source Computer Vision Library)是一個開源的跨平臺計算機視覺庫,OpenCV的代碼都經(jīng)過了優(yōu)化,它不僅可以用于實時處理圖像,還具有良好的可移植性。由于其代碼效率高、使用方便。因此,文章提出了一種基于OpenCV的人臉識別研究。
人臉識別技術[3]是根據(jù)人臉的面部特征進行身份識別的一種生物識別技術。它首先通過智能終端等設備的攝像頭采集含有人臉的圖像或者視頻,然后通過相關算法設計從畫面中提取出人臉的特征值,最后將被測者的人臉圖像和特征值進行比對、分析,實現(xiàn)識別。
OpenCV[4]可以運行在Linux操作系統(tǒng)、Windows操作系統(tǒng)和Mac OS操作系統(tǒng)上。OpenCV提供很多圖像處理和計算機視覺方面的相關算法。它是由英特爾公司開發(fā)的由一系列C函數(shù)和少量的C++類構成的可以免費使用的函數(shù)庫,同時還提供了Ruby、Python、MATLAB等語言的接口。OpenCV具有非常完善的API即低級和高級的應用程序接口,它還提供了面向Intel IPP高效多媒體函數(shù)庫的接口。開發(fā)者可以根據(jù)需要對相應的代碼進行優(yōu)化。在研究應用中,常用OpenCV來對圖像進行高級處理,比如,物體的運動情況分析、目標物的識別與分割、特征檢測和追蹤,以及3D重建[5]等。由于其代碼效率特別高、使用起來方便等明顯的優(yōu)點,所以最近幾年被廣泛的應用在國內外的圖像處理等相關領域。
2.1OpenCV的結構
OpenCV有許多不同模塊,不同模塊的功能不同,其相應的實現(xiàn)方法也不同。OpenCV主體部分主要分為五個模塊,即CV模塊,ML模塊,HighGUI模塊,CXCore模塊和CvAux模塊。OpenCV各個模塊間的關系如圖2-1所示。
圖2-1 OpenCV的基本結構
2.2OpenCV的特點
OpenCV是一種具有很多優(yōu)點的圖像處理軟件,主要體現(xiàn)在以下幾個方面:
1)OpenCV是一個包含C函數(shù)的應用編程接口,它所包含的庫函數(shù)大約有300多個。
2)高性能。OpenCV中的算法都是基于封裝于IPL的動態(tài)數(shù)據(jù)結構,這種數(shù)據(jù)結構具有很高的靈活性。
3)OpenCV提供了一些接口,這些接口可以同Ch、MATLAB等語言進行互相調用。
4)開放性。OpenCV的源代碼是完全開放的,在開發(fā)的時候,可以根據(jù)需要對源代碼進行修改、調用以及優(yōu)化。
3.1人臉識別的流程
計算機人臉識別技術的主要思想是先判斷圖像中是否包含人臉,若含有人臉的特征則對其特征進行提取,然后對提取出來的人臉顯著特征與人臉數(shù)據(jù)庫中的樣本圖像進行比對,找出相似度最高的樣本從而達到身份識別的目的。人臉識別的過程如圖3-1所示。
圖3 -1人臉識別流程圖
3.2基于OpenCV的人臉識別
首先設i類的樣本均值為:
總體樣本均值為:
根據(jù)類間離散度矩陣和類內離散度矩陣,得到Sb和Sw:
除此之外,還有另一種類間離散度矩陣和類內離散度矩陣的表達方式,如公式(3-5)和公式(3-6):
在公式(3-5)和公式(3-6)中,p(i)是指i類樣本的先驗概率,經(jīng)過換算,公式(3-5)和公式(3-6)只是比公式(3-3)和公式(3-4)都少乘了1/m,對于算法本身并沒有影響。
協(xié)方差矩陣(ui-xk)(ui-xk)T描述的是該類和樣本總體之間的關系,其中,該協(xié)方差矩陣對角線上的函數(shù)[6]表示的是該類的分散度。根據(jù)公式(3-3),計算出與總體協(xié)方差矩陣以及樣本的總和。其結果可以用來描述所有類和總體之間的離散冗余程度。同理,根據(jù)公式(3-4),也可以得到分類內各個樣本和所屬類之間的協(xié)方差矩陣之和,它是從總體上對類內各個樣本與類之間的離散度進行描述的。因為我們的目的是為了分類,所以希望運用LDA算法實現(xiàn)它所分的類間低耦合類內高內聚。
其中,φ為任一n維列矢量。公式(3-7)的目的就是要選取使Jfisher(φ)達到最大值的矢量φ作為投影方向。這樣的話,我們就可以使所分的類間低耦合類內高內聚。將公式(3-3)和公式(3-4)代入公式(3-7)得到公式(3-8)。
設矩陣R=φT(ui-u),我們把φ當作一個空間,即φT(ui-u)是(ui-u)構成的低維空間的投影,當我們的樣本為列向量時,φT(ui-u)(ui-u)Tφ就表示(ui-u)在φ空間的幾何距離的平方。因此,可以推出φTSwφ為樣本在投影空間φ下的類內幾何距離的平方差,φTSbφ為樣本在投影空間φ下的類間幾何距離的平方和,如此,便將分類問題轉化成了尋找一個低維空間的問題。這個空間可以使樣本投影到該空間的類間距離平方和與類內距離平方和之比最大,即最佳分類效果。
根據(jù)上述思想,通過最優(yōu)化準則函數(shù)公式(3-9)來找到有一組最優(yōu)鑒別向量構成的投影矩陣Wopt。
通過證明得到結論,當Sw為非奇異解時,最佳投影矩陣Wopt的列向量正好為公式(3-10)的最大特征值所對應的特征向量。
再結合公式(3-12),得到公式(3-9)的最大值max。
由上可知,當λi取最大值時,max就最大。綜上,得出結論:投影矩陣Wopt的列向量為d個最大特征值所對應的特征向量,其中d≤c-1。到此,便運用LDA算法實現(xiàn)了人臉識別。
文章主要對基于OpenCV的人臉識別進行了研究,分析了OpenCV技術在人臉識別中的實現(xiàn)方法,并提出了最優(yōu)化的人臉識別算法。
[1]胡敏敏,人臉識別系統(tǒng)的研究與實現(xiàn)[D].南京郵電大學,2011.
[2]BradskiG,KaehlerA,LearningOpenCV: Computer Vision with the OpenCV[M].O'Reilly Media,2008.
[3]虞闖,魏新華,張明揚,人臉識別技術在門禁系統(tǒng)中的應用[J].電腦開發(fā)與應用,2010(8):27-28,40
[4]Open Source Computer Image Library Reference Mannual[M].2001(8).
[5]BradskiG,KaehlerA,LearningOpenCV: Computer Vision with the OpenCV[M].O'Reilly Media,2008.
[6]Freund Y,Schapire R E A,Decision-Theoretic General-ization of On-LionLearning and an Application to Boosting[J].Journal of Computer and SystemSciences,1977,55(1):119-139.
(責任編輯張劍妹)
The Research of Face Recognition Based on OpenCV
Wang Hui-qin
(Shanxi Institute of Mechanical&Electrical Engineering,Changzhi Shanxi 046011)
The application of face recognition technology is more widely used in pattern recognition technology.Its secure authentication,man-machine communication,smart home,andvideo conferencing have been widely applied.The OpenCV(Open Source Computer Vision Library)is a cross-platform open source computer vision library.It has been widely applied in the field of pattern recognition because of its particularly high code efficiency,convenience and other obvious advantages.Therefore,this paper presents a research of face recognition based on OpenCV.Particular way is:through the training of eigenvalues file to generate face,when detecting the human face,compare the trained eigenvalues file in advance,and then complete the face recognition.
OpenCV;LDA;face recognition
TP3
A
1673-2014(2016)05-0042-03
2016—05—26
王慧琴(1989—),女,山西晉城人,助教,主要從事物聯(lián)網(wǎng)教學與研究。