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