基于TMS320C6713的人臉識(shí)別系統(tǒng)設(shè)計(jì)
第一步,采集到N個(gè)樣本用作訓(xùn)練集X,求出樣本平均值m,如式(1)所示本文引用地址:http://www.ex-cimer.com/article/163044.htm
其中,xi∈樣本訓(xùn)練集X=(x1,x2,…,xN)。
第二步,求出散布矩陣S,如式(2)所示
根據(jù)PCA的基本原理,必須求出散布矩陣的特征值λi和對(duì)應(yīng)的特征向量ei。其中,ei便是主分量,且其對(duì)應(yīng)的特征值的大小代表它包含信息的多少。所以需要將特征值從大到小依次排列λ1,λ2,…。如圖2所示,左邊是由λ1對(duì)應(yīng)的特征向量重建的人臉圖像,基本能分辨出人臉的輪廓,右邊是由λ100對(duì)應(yīng)的特征向量重建的圖像,看起來(lái)更像是噪聲,如果將其應(yīng)用到系統(tǒng)中,對(duì)識(shí)別是不利的。
假設(shè)取出p個(gè)值,λ1,λ2,…,λp可以確定出臉空間E=(e1,e2,…,eP),在此臉空間上,訓(xùn)練樣本X中,每個(gè)元素投影到該空間的點(diǎn)可以由式(3)得到
由上式得到的是將原向量經(jīng)過(guò)PCA降維后的p維向量,下一步便是將其輸入KNN分類器進(jìn)行分類。
1.3 KNN分類器的構(gòu)建
KNN的實(shí)現(xiàn)分訓(xùn)練和識(shí)別兩步。訓(xùn)練時(shí),把每類樣本降維后的結(jié)果作為KNN的輸入。K近鄰算法將一個(gè)測(cè)試點(diǎn)x分類為與它最接近的K個(gè)近鄰中出現(xiàn)最多的那個(gè)類別,從測(cè)試樣本點(diǎn)開(kāi)始生長(zhǎng),不斷擴(kuò)大區(qū)域,直到包含進(jìn)K個(gè)訓(xùn)練樣本點(diǎn)為止,并且把測(cè)試樣本點(diǎn)的類別歸為這最近K個(gè)訓(xùn)練樣本點(diǎn)中出現(xiàn)頻率最大的類別。如圖3所示,圓圈表示待識(shí)別數(shù)據(jù)所處的位置,選擇K值為3時(shí),選中實(shí)線圓中的3個(gè)數(shù)據(jù),識(shí)別結(jié)果為三角形代表的類;選擇K值為5時(shí),選中虛線圓中的5個(gè)數(shù)據(jù),識(shí)別結(jié)果為正方形代表的類。所以選取恰當(dāng)?shù)腒值對(duì)分類的結(jié)果有很大影響。如果K值選取過(guò)大時(shí),可能能較正確地分類,但是同時(shí)犧牲了性能,提高了計(jì)算復(fù)雜度。如果K值選取過(guò)小,則大大降低了計(jì)算復(fù)雜度,但是可能會(huì)影響分類的準(zhǔn)確性。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)設(shè)計(jì)時(shí)選用TMS320C6713,這是TI公司生產(chǎn)的C6000系列的浮點(diǎn)處理器,其采用了VLIW體系結(jié)構(gòu),指令運(yùn)行的等效周期數(shù)較低,運(yùn)行速度較快。圖像的采集采用了PAL制式輸出的普通攝像頭加上TI公司生產(chǎn)的圖像編碼芯片TVP5147,該芯片支持多種制式,多種接口輸入,并可以輸出YUV格式的視頻數(shù)據(jù),同時(shí)提供行同步信號(hào)和垂直同步信號(hào)等。數(shù)據(jù)暫存使用CPLD和SRAM實(shí)現(xiàn)。設(shè)計(jì)系統(tǒng)構(gòu)成,如圖4所示。
2.1 TVP5147芯片
系統(tǒng)上電時(shí),TMS320C6713首先對(duì)TVP5147初始化,其通過(guò)I2C總線實(shí)現(xiàn),DSP自帶I2C總線控制器。芯片I2C地址是由芯片引腳I2CA的電平控制的,如該引腳接高電平,則I2C寫地址為0xB8,否則為OxBB。
評(píng)論