安 逸,江 丹
(河北聯(lián)合大學后勤集團,河北唐山063009)
嵌入式人臉識別系統(tǒng)與傳統(tǒng)鑒別身份的系統(tǒng)相比具有很強的優(yōu)勢,無需特殊的采集設(shè)備,成本低廉,使用簡單;同時,人臉識別不干擾使用者,不侵犯使用者的隱私,屬于非侵犯的主動識別,易于為用戶所接受[1]。
本文以嵌入式ARM9系統(tǒng)開發(fā)為主線,以HMM模型為理論基礎(chǔ),展示了完成圖像采集、人臉檢測與識別等功能相對應的硬件平臺和軟件模塊的設(shè)計及實現(xiàn)過程;并對圖像預處理的浮點算法做了優(yōu)化,極大提高了嵌入式系統(tǒng)的速度。
本系統(tǒng)軟件部分可直接應用于帶有Linux操作系統(tǒng)的智能手機中,利用手機以及內(nèi)置的攝像頭,即可進行個人面部特征數(shù)據(jù)分析,然后對比最初存儲的人臉信息庫,完成身份識別功能。
本系統(tǒng)采用了Samsung推出的以ARM 920T RISC為內(nèi)核的處理器——S3C2410A。其優(yōu)秀的處理性能理所當然地成為便攜式設(shè)備開發(fā)的首選。同時為適應智能手機對視頻圖像采集的需求,系統(tǒng)采用了基于USB總線的視頻采集模塊,與串行傳輸相比極大地提高了數(shù)據(jù)的采集速率。本系統(tǒng)涉及到數(shù)字圖像的采集、處理、存儲、傳輸和HMM算法等多種技術(shù)。其系統(tǒng)架構(gòu)如圖1所示。
圖1 基于嵌入式Linux的HMM人臉識別系統(tǒng)結(jié)構(gòu)圖
鑒于傳統(tǒng)CCD圖像傳感器昂貴的成本、相對復雜的附加電路和較高的功耗,本系統(tǒng)采用 OmniVision公司的OV7640 CMOS芯片作為圖像傳感器。OV7640是一款低電壓(2.5 V)、高靈敏度的 CMOS 圖像傳感器[2]。
實時采集存儲系統(tǒng)需要高速的數(shù)據(jù)傳輸,對系統(tǒng)硬件之間的配合提出較高的要求。本系統(tǒng)設(shè)計中,在采集部分和傳輸部分之間配有相應的緩存區(qū)。實際中,采用OV7640及配套的芯片OV511擴展DRAM起緩存作用,實現(xiàn)將數(shù)字視頻圖像通過高速USB送入ARM處理器。OV511是一個專用的數(shù)字攝像IC的USB接口芯片。
本系統(tǒng)采用Linux做為操作系統(tǒng)平臺,操作系統(tǒng)的移植在此不做過多介紹。
Video 4 Linux(簡稱V4L)是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,它為針對視頻設(shè)備的應用程序編程提供一系列接口函數(shù),這些視頻設(shè)備包括現(xiàn)今市場上流行的TV卡、視頻捕捉卡和USB攝像頭等。Linux內(nèi)核提供Video4Linux應用程序接口,在程序開發(fā)時,首先是基于Video4Linux API函數(shù)來設(shè)計程序[3]。
基于Video4Linux圖像采集的程序流程如圖2所示。
圖2 基于Video4Linux的圖像采集的程序流程圖
人臉識別過程首先判斷輸入的人臉圖像或者視頻中是否存在人臉,如果存在,則進一步給出每個人臉的位置、大小和各個主要面部器官的位置信息,并依據(jù)這些信息,進一步提取每個人臉中所蘊含的身份特征,將其與已有人臉庫中的人臉進行對比,從而識別人的身份[4]。
人臉識別的過程可以分為圖像預處理、人臉檢測和人臉識別三部分。
人臉檢測是指從待識別矩陣中定位人臉區(qū)域中各特征區(qū)域,并將各個區(qū)域分割開。人臉識別是根據(jù)已有的人臉數(shù)據(jù)庫,輸出待測人臉對應在人臉庫中的對象標號。二者互為前提和目的。由于HMM既可完成人臉檢測,又可完成人臉識別,因此我們將人臉檢測與識別同時處理。
HMM是一組用于特征化信號的統(tǒng)計特性的模型,它包含兩個相關(guān)的過程:一個是隱含的、不可見的有限狀態(tài)馬爾可夫鏈,它具有初始狀態(tài)概率分布函數(shù)和狀態(tài)轉(zhuǎn)移概率矩陣,另外是一組與狀態(tài)有關(guān)的概率密度函數(shù)[5]。
一個HMM的構(gòu)成元素如下:
(1)HMM模型的狀態(tài)數(shù)N,假設(shè)S是狀態(tài)集合,則S={S1,S2,…,SN}。模型在時間 t的狀態(tài)記為,qt∈s,1≤t≤T,此處T為觀察序列的長度(又稱幀數(shù))。模型經(jīng)歷的狀態(tài)序列記為 Q={q1,q2,…,qT}。
(2)觀察符號數(shù)為M,設(shè)V是所有觀察符號的集合(又稱為模型的 Codebook),則 V={v1,v2,…,vm}。
(3)狀態(tài)轉(zhuǎn)移概率矩陣A={aij},其中:aij=P(qt=Sj|qt-1=Si),1≤i,j≤N。其中:約束條件為 0≤aij≤1,及
(4)觀察符號概率矩陣B={bj(k)},bj(k)=P(ot=vk|qt=Sj),1≤j≤N,1≤j≤M。此處 ot是時間t下的觀察符號(觀察矢量序列為O={o1,o2,…,oT})。
(5)初始狀態(tài)概率分布∏={πi},πi=P(qi=Si),1≤i≤N。
一個HMM可以簡記為λ={A,B,∏},由于其輸入為有限字符集V={v1,v2,…vm},因此稱其為離散隱馬爾可夫模型[6]。
根據(jù)狀態(tài)轉(zhuǎn)移的類型,HMM可分為遍歷的(ergodic)和從左到右的(left-right)。前者表示狀態(tài)轉(zhuǎn)移是任意的,可以到本身和其他所有狀態(tài),后者狀態(tài)轉(zhuǎn)移只限于本身和下一個狀態(tài)。人臉垂直方向由上至下和水平方向從左至右各個區(qū)域具有自然不變的順序,可以用1D-HMM來模擬人臉,如圖3所示。
圖3 用于人臉識別的HMM模型
設(shè)每一個人臉圖像寬度為W,高度為H,被劃分為互相重疊的塊。塊的高度為L,重疊深度為P。因此,從人臉圖像抽取的總分塊數(shù)為觀察矢量數(shù)T,且T=(H-L)/(L-P)+1。參數(shù)L和P的選擇將影響系統(tǒng)的識別率,大的重疊深度值P增加了垂直特征向量的數(shù)量,使系統(tǒng)的識別率提高。L的選擇比較微妙,較小的L使觀察矢量不能有效鑒別;而大的L使剪切相交特征概率增加。當P大時,系統(tǒng)識別率對L的變化不敏感[6]。分割算法流程如圖4所示。
圖4 人臉區(qū)域提取流程圖
為人臉圖像庫中每一個人臉建立一個HMM模型,用同一個人的5張不同人臉照片進行訓練。按照子塊劃分方法,得到的2D-DCT變換系數(shù)矢量形成觀察矢量序列。用觀察矢量序列O={o1,o2,…,oT}進行訓練,得到HMM模型參數(shù)[7]。
首先對HMM模型λ={A,B,∏}進行初始化,通過自上而下均勻分割人臉圖像得到訓練數(shù)據(jù)。模型狀態(tài)數(shù)N=6,與每一個狀態(tài)有關(guān)的觀察矢量序列用于得到觀察概率矩陣B的初始估計,A和∏的初始值按人臉模型自左到右的結(jié)構(gòu)給出。然后利用最大似然估計算法(Baum-Welch估計算法)重新估計模型參數(shù),檢測P(O|λ)的收斂條件。
如果滿足式(3)條件,則模型已收斂,結(jié)束訓練迭代過程;否則繼續(xù)進行下一次訓練。
此處,C為預先給定的閾值。
被識別的人臉圖像用于訓練過程相同的方法提取觀察矢量序列,觀察矢量序列的概率由人臉圖像HMM模型計算出,即:
當滿足式(4)時,被識別人臉對應人臉圖像庫中第k個人的人臉被識別出[6]。
實驗證明,此算法易于實現(xiàn)實時處理,不受臉部表情變化的影響,抗噪聲能力強,魯棒性好。但在人臉識別中的光照問題和姿態(tài)問題方面還有待于進一步的研究。
基于嵌入式ARM9和HMM算法的人臉識別系統(tǒng)具有體積小,計算量小,運算速度快,性能穩(wěn)定等特點,能夠滿足人們對識別設(shè)備小型化的需求。相信在不久的將來,基于嵌入式的人臉識別系統(tǒng)會在安檢、身份驗證、門禁系統(tǒng)、智能考勤等方面得到廣泛應用。
本文作者創(chuàng)新點:
人臉識別是生物特征識別中一個重要的研究方向,是間接、無侵犯式身份識別的主要方法。在嵌入式系統(tǒng)進行人臉識別,能夠?qū)崿F(xiàn)人臉識別設(shè)備的便攜化,將會極大地拓展識別設(shè)備的使用范圍。識別使用HMM算法,有效地降低了識別算法的空間和時間復雜度,為實時識別提供了可能。
[1]Wang Zhiliang,Zhao Yanling.An Expert System of Commodity Choose Applied with Artificial Psychology[J].IEEE International Conference on Systems,Man and Cy-bernetics,2001:2326 -2330.
[2]李侃,廖啟征.基于S3C2410平臺與嵌入式Linux的圖像采集應用[J].微計算機信息,2006,22(3-2):125 -127,168.
[3]黎冰,吳松,曾凡濤.人臉識別在智能手機中的實現(xiàn)[J].計算機工程,2006,32(7):272 -274.
[4]徐毅瓊,李弱程,王波.基于隱馬爾可夫模型的自動人臉識別方法[J].計算機應用,2004,24:225 -227.
[5]NEFIAN AV,HAYES MH.Face Detection and Recognition Using Hidden Markov Models[C].Proceedings of the International Conference on Image Processing,1998:141-145.
[6]Samaria F.Halter A.Parameterization of Stochastic Model for Human Face Identification[C].USA:Proceedings of the Second IEEE Workshop on Application of Computer Vision,1994.
[7]Samaria F,Young S.HMM Based Architecture for Face I-dentification[J].Image and Computer Vision,1994,12(4):537-543.