崔紹華,王懷友
(承德供電隆化分公司,河北承德 068150)
由于不需要特殊的采集設(shè)備,基于嵌入式的人臉識別系統(tǒng),相比傳統(tǒng)鑒別身份的系統(tǒng),具有很強的優(yōu)勢,它成本較低,并且使用簡單;同時,由于人臉識別不對使用者造成干擾,并不去侵犯使用者的個人隱私,容易被用戶所接受。
本文以嵌入式ARM11系統(tǒng)設(shè)計為主線,以HMM數(shù)學(xué)模型為圖像處理理論基礎(chǔ),描述了完成視頻采集、面部檢測與人臉識別等功能相對應(yīng)的硬件平臺研發(fā)和軟件功能的開發(fā)及實現(xiàn)過程;以及并對圖像預(yù)處理的相應(yīng)浮點算法進行了優(yōu)化,從而提高了該嵌入式系統(tǒng)的性能。
本系統(tǒng)采用了S3C6410作為處理器,它是Samsung推出的以ARM 11 76JZF-S為內(nèi)核的芯片。它的優(yōu)秀的處理能力已成為設(shè)計便攜式設(shè)備的首選。設(shè)計中為了滿足智能終端對圖像視頻采集的要求,人臉識別系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。
圖1 人臉識別系統(tǒng)硬件結(jié)構(gòu)圖
OmniVision公司生產(chǎn)的圖像傳感器OV7640 CMOS芯片,是一款高靈敏度、低電壓(2.5V)、高性能的圖像傳感器。
由于圖像采集系統(tǒng)需要對數(shù)據(jù)進行實時采集并存儲,因此需要系統(tǒng)的數(shù)據(jù)傳輸速率較高,需要硬件之間的搭配盡量合理。本系統(tǒng)硬件設(shè)計中,在采集和傳輸設(shè)備中間加了相應(yīng)的緩存器件。即采用OV511芯片擴展OV7640的DRAM,OV511是一個專用的數(shù)字攝像IC的USB接口芯片,它能夠起到緩存作用,從而實現(xiàn)高速USB數(shù)字視頻圖像采集并存入嵌入式處理器。
本設(shè)計使用Linux做為操作系統(tǒng)開發(fā)平臺,關(guān)于操作系統(tǒng)的移植方法在此不再介紹。Video 4 Linux(簡稱V4L),是Linux操作系統(tǒng)內(nèi)核中關(guān)于視頻設(shè)備的驅(qū)動模塊,它有專門針對視頻設(shè)備的接口函數(shù),為進行圖像編程提供方便。在程序設(shè)計時,Linux內(nèi)核開放了Video4Linux接口,所以在圖像處理時,我們首先做的設(shè)計程序是基于Video4Linux的API函數(shù)編程。
圖像采集的程序框圖如圖2所示。
圖2 圖像采集的程序框圖
視頻采集、數(shù)字圖像處理、傳送和HMM識別算法等多個技術(shù)都在這個設(shè)計中得到應(yīng)用。面部識別過程,第一步要判斷輸入的視頻單幀圖像中是否包含人臉信息,如果有,就進一步判斷人臉的具體位置、尺寸和每個主要面部器官的具體位置,并根據(jù)這些數(shù)據(jù),再計算每個人臉范圍內(nèi)所包含的個人身份特征。通過將其與數(shù)據(jù)庫中的已有人臉信息進行對比,判斷并識別人的身份[3]。
人臉識別的算法過程包括視頻預(yù)處理、圖像面部區(qū)域檢測和人臉識別等部分。
從待識別圖像中確定人臉區(qū)域中各特征目標(biāo)的區(qū)域,并將此區(qū)域分割開稱為人臉檢測。根據(jù)現(xiàn)有的人臉數(shù)據(jù)庫,完成待測人臉?biāo)鶎?yīng)人臉庫中的唯一標(biāo)號稱為人臉識別。人臉檢測和人臉識別互為前提和目的。鑒于HMM同時可完成人臉檢測和人臉識別,因此在程序設(shè)計中我們將這兩者同時處理。
隱馬爾可夫模型是一組針對特征化信號進行特性統(tǒng)計的數(shù)學(xué)模型,這其中包括兩個相關(guān)的過程:第一個是有限狀態(tài)馬爾可夫鏈,它是是隱藏的、不可見的,由初始狀態(tài)概率分布函數(shù)和狀態(tài)轉(zhuǎn)移概率矩陣組成,第二個是一組概率密度函數(shù),它是與狀態(tài)有關(guān)的。
一個HMM的基本組成元素如下:
(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è)被測符號數(shù)為M,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,而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}是有限元集合,因此稱其為離散隱馬爾可夫模型[4]。
根據(jù)狀態(tài)轉(zhuǎn)移的過程,HMM可分為ergodic(遍歷的)和1eft-right(從左到右的)。遍歷表示其狀態(tài)轉(zhuǎn)移是隨意的,可以到自身和所有可能的狀態(tài),從左到右的狀態(tài)轉(zhuǎn)移只限于本身和下一個狀態(tài)。由于人臉垂直方向(由上至下)和水平方向(從左至右)各個特征具有自然不變的順序,所以用由上至下的1D-HMM來模擬人臉,如圖3所示。
圖3 用于人臉識別的HMM模型
我們將寬度定義為W,高度定義為H的人臉圖像,劃分為可重疊的塊。塊的高度定義為L,重疊深度定義為P。因此,從該圖像提取的總分塊數(shù)做為被測矢量數(shù)T,則T=(H-L)/(L-P)+1。其中參數(shù)L和P的選取會影響系統(tǒng)的識別率,L的選擇應(yīng)該比較謹慎,因為較小的L值會使被測矢量不能得到有效鑒別;過大的L會增加剪切時的相交特征概率。過大的重疊深度值P會增加垂直特征向量的數(shù)量,能夠提升系統(tǒng)的識別率。經(jīng)過檢驗當(dāng)P大時,L的變化對最終識別率影響不大。文獻[6]詳細闡述了與HMM使用的狀態(tài)數(shù)與參數(shù)P和L之間的相互作用關(guān)系。面部特征提取分割算法流程如圖4所示[5]。
圖4 人臉區(qū)域提取流程圖
我們?yōu)槿四様?shù)據(jù)庫中每個圖像建立一個HMM模型,使用同一個人的6張不同面部照片對模型進行訓(xùn)練。方法是:采用子塊劃分的方法,得到了被測矢量序列——2D-DCT變換系數(shù)矢量。采用被測矢量序列O={o1,o2,…,oT}對人臉HMM模型進行訓(xùn)練,得到參數(shù)。
首先需要我們對HMM模型λ={A,B,∏}進行初始化工作,通過對人臉圖像數(shù)據(jù)自上而下均勻分割,我們能得到訓(xùn)練數(shù)據(jù)。模型狀態(tài)數(shù)N對應(yīng)照片數(shù),等于6,被測概率矩陣B的初始估計就是每一個狀態(tài)有關(guān)的被測矢量序列。A和Π的初始估計按自左到右的人臉模型結(jié)構(gòu)給出。通過使用Baum-Welch估計算法 (最大似然估計方法)重新估算模型參數(shù),用它來檢測P(O/λ)的收斂條件。
當(dāng)滿足式(1)時,表面模型收斂,結(jié)束迭代訓(xùn)練過程,不然繼續(xù)對模型進行訓(xùn)練。
式中,C為預(yù)先設(shè)定的閾值。
和訓(xùn)練過程相同提取被測矢量序列的方法相同,被測矢量序列的概率由人臉圖像HMM模型計算得出,即:
當(dāng)被識別人臉圖像和對應(yīng)數(shù)據(jù)庫中第k個人的特征信息相同時,則被識別出[6]。
試驗證明,此算法簡單,易于在嵌入式系統(tǒng)上實現(xiàn)實時處理。由于不受臉部表情變化的影響,因此錯誤率低,魯棒性好。研究中也發(fā)現(xiàn),在人臉識別過程中的光照影響和姿態(tài)問題需要解決,問題還有待于深入研究。
具有硬件體積小、算法計算簡便、運算性能高,性能突出等特點,基于嵌入式ARM11硬件平臺和隱馬爾可夫的人臉識別系統(tǒng),可以滿足識別設(shè)備微型化的需要。隨著技術(shù)的發(fā)展,在不久的將來,基于人臉識別的嵌入式系統(tǒng)將在各種安檢、樓宇門禁、身份驗證、工作考勤等場合得到廣泛應(yīng)用。
創(chuàng)新點:
人臉識別是人類特征識別中一個主要的研究方向,是無侵犯式、非接觸身份識別的重要方法。在嵌入式系統(tǒng)能夠?qū)崿F(xiàn)人臉識別設(shè)備的便攜化,通過它進行人臉識別,能夠極大地拓寬識別設(shè)備的使用范圍,為工作提供便利。使用HMM算法實現(xiàn)識別功能,可以有效降低識別算法難度,提高效率,為實現(xiàn)實時地識別提供了一種可能。
[1]Wang Zhiliang,Zhao Yanling.An Expert System of Commodity Choose Applied with Artificial Psychology[J].IEEE International Conference on Systems,Man and Cybernetics,2001:2326-2330.
[2]李侃,廖啟征.基于S3C2410開發(fā)平臺與嵌入式Linux的視頻采集應(yīng)用[J].微計算機信息,2006,22(3-2):125-127,168.
[3]徐毅瓊,李弱程,王波.基于隱馬爾可夫模型的自動人臉識別方法[J].計算機應(yīng)用,2004,24:225-227.
[4]黎冰,吳松,曾凡濤.人臉識別在智能終端中的實現(xiàn)[J].計算機工程,2006,32(7):272-274.
[5]NEFIAN AV,HAYES MH.Face Detection and Recognition Using Hidden Markov Models[A].Proceedings of the International Conference on Image Processing[C].1998.141-145.
[6]Samaria F,Young S.HMM Based Architecture for Face I-dentification[J].Image and Computer Vision,1994,12(4):537-543.
[7]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.