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