基于DSP的人臉識(shí)別系統(tǒng)設(shè)計(jì)
摘要:介紹了以DSP為核心的實(shí)時(shí)人臉識(shí)別系統(tǒng)設(shè)計(jì)。通過對視頻制式組成的充分學(xué)習(xí),設(shè)計(jì)了包括圖像采集編碼、CPLD控制存儲(chǔ)器存取切換系統(tǒng),以及圖像編碼輸出在內(nèi)的硬件平臺(tái)。在軟件設(shè)計(jì)過程中,分別設(shè)計(jì)了自動(dòng)采集樣本程序、主分量分析(PCA)提取特征程序、包含K近鄰分類(KNN)及判否的程序3部分。系統(tǒng)采用了浮點(diǎn)DSP TMS320C6713作為中央處理單元,實(shí)時(shí)性好,識(shí)別精度高,可脫機(jī)運(yùn)行,攜帶方便,可推廣到運(yùn)動(dòng)檢測、動(dòng)態(tài)跟蹤等領(lǐng)域。
關(guān)鍵詞:DSP;CPLD;主分量分析;KNN分類器
為了人臉識(shí)別的相關(guān)算法能快速運(yùn)行,選擇了TI公司的DSP處理器,另附加鍵盤模塊和PAL制式輸出模塊,可以脫離PC獨(dú)立對PAL視頻信號(hào)進(jìn)行采集和處理,并獨(dú)立運(yùn)行人臉的定位,特征抽取以及人臉的識(shí)別。硬件方面,系統(tǒng)采用了存儲(chǔ)器切換系統(tǒng),使得圖像數(shù)據(jù)緩存和讀取分別由CPLD和DSP獨(dú)立且同時(shí)執(zhí)行,縮短了數(shù)據(jù)的處理周期,保證了系統(tǒng)的實(shí)時(shí)運(yùn)行。軟件設(shè)計(jì)包括了:人臉定位、人眼定位、樣本存儲(chǔ)以及人臉識(shí)別。其中樣本由DSP自動(dòng)選取,根據(jù)人眼定位和人臉標(biāo)記方框的大小共同決定,選取一部分大小相等且眼距相同的圖片作為訓(xùn)練樣本以及待識(shí)別樣本。在主分量分析過程中,提取出主分量構(gòu)成特征臉空間,將原樣本投影到該空間內(nèi)一點(diǎn),再輸送到KNN分類器中進(jìn)行分類。該設(shè)備攜帶方便,功耗低并可通過軟件設(shè)計(jì)將其應(yīng)用到其他領(lǐng)域,如運(yùn)動(dòng)識(shí)別、動(dòng)態(tài)跟蹤等。
1 人臉檢測的算法
人臉檢測系統(tǒng)可以分為人臉檢測和人臉識(shí)別模塊,這兩大模塊又進(jìn)一步可劃分為人臉檢測與定位、規(guī)范化、特征提取和人臉識(shí)別4個(gè)模塊。其詳細(xì)結(jié)構(gòu),如圖1所示。
1.1 人臉的定位
通過已獲得的樣本來判斷人臉的位置,選取合適的人臉,截取出做樣本是重要的步驟。人臉特征定位與特征提取質(zhì)量的好壞對于人臉圖像識(shí)別效果有直接的影響。首先確定人眼的坐標(biāo)(x1,y1)和(x2,y2),由此可間接得到正方形人臉的左上頂點(diǎn)和右下頂點(diǎn)的坐標(biāo),設(shè)其分別為(X1,Y1)和(X2,Y2),其詳細(xì)計(jì)算方法如下所示
式中,RH和RV均為經(jīng)驗(yàn)常數(shù),在設(shè)計(jì)過程中將其分別取值為2.0和3.5。如此可在原圖中得到人臉的區(qū)域座標(biāo),其尺寸隨眼距Widtheyes的大小而變化,但是作為PCA的輸入,要求輸入樣本的維數(shù)相同,所以必須對圖片進(jìn)行歸一化處理。在設(shè)計(jì)中將所得人臉區(qū)域樣本均縮放至24×24。此外還需要對圖片進(jìn)行對比度調(diào)節(jié)和直方圖均衡等操作,以提高識(shí)別的準(zhǔn)確性。
1.2 人臉特征提取
在設(shè)計(jì)人臉識(shí)別分類器時(shí),通常將一幅圖片看成一個(gè)一維向量。雖然這與傳統(tǒng)的將圖片看成矩陣形式有差別,但是卻能為采用主分量分析(PCA)進(jìn)行特征臉提取創(chuàng)造有利條件。
特征臉分類的方法是將一幅圖像投影到一個(gè)特定“臉空間”的一個(gè)點(diǎn)。這個(gè)“臉空間”由一股互相正交的向量組成。這些向量便是表征各個(gè)人臉聚類的重要組成部分。不同人臉的圖片在此空間的相差較遠(yuǎn),相同人臉的不同圖片在此空間上的投影相距較近。因此可以使用PCA的方法為整個(gè)人臉識(shí)別系統(tǒng)打下基礎(chǔ)。
第一步,采集到N個(gè)樣本用作訓(xùn)練集X,求出樣本平均值m,如式(1)所示
其中,xi∈樣本訓(xùn)練集X=(x1,x2,…,xN)。
第二步,求出散布矩陣S,如式(2)所示
根據(jù)PCA的基本原理,必須求出散布矩陣的特征值λi和對應(yīng)的特征向量ei。其中,ei便是主分量,且其對應(yīng)的特征值的大小代表它包含信息的多少。所以需要將特征值從大到小依次排列λ1,λ2,…。如圖2所示,左邊是由λ1對應(yīng)的特征向量重建的人臉圖像,基本能分辨出人臉的輪廓,右邊是由λ100對應(yīng)的特征向量重建的圖像,看起來更像是噪聲,如果將其應(yīng)用到系統(tǒng)中,對識(shí)別是不利的。
假設(shè)取出p個(gè)值,λ1,λ2,…,λp可以確定出臉空間E=(e1,e2,…,eP),在此臉空間上,訓(xùn)練樣本X中,每個(gè)元素投影到該空間的點(diǎn)可以由式(3)得到
由上式得到的是將原向量經(jīng)過PCA降維后的p維向量,下一步便是將其輸入KNN分類器進(jìn)行分類。
評(píng)論