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