基于DSP的人臉識別系統(tǒng)設(shè)計
1.3 KNN分類器的構(gòu)建
KNN的實現(xiàn)分訓(xùn)練和識別兩步。訓(xùn)練時,把每類樣本降維后的結(jié)果作為KNN的輸入。K近鄰算法將一個測試點x分類為與它最接近的K個近鄰中出現(xiàn)最多的那個類別,從測試樣本點開始生長,不斷擴大區(qū)域,直到包含進K個訓(xùn)練樣本點為止,并且把測試樣本點的類別歸為這最近K個訓(xùn)練樣本點中出現(xiàn)頻率最大的類別。如圖3所示,圓圈表示待識別數(shù)據(jù)所處的位置,選擇K值為3時,選中實線圓中的3個數(shù)據(jù),識別結(jié)果為三角形代表的類;選擇K值為5時,選中虛線圓中的5個數(shù)據(jù),識別結(jié)果為正方形代表的類。所以選取恰當?shù)腒值對分類的結(jié)果有很大影響。如果K值選取過大時,可能能較正確地分類,但是同時犧牲了性能,提高了計算復(fù)雜度。如果K值選取過小,則大大降低了計算復(fù)雜度,但是可能會影響分類的準確性。本文引用地址:http://www.ex-cimer.com/article/151846.htm
2 系統(tǒng)硬件設(shè)計
系統(tǒng)設(shè)計時選用DSP6713,這是TI公司生產(chǎn)的C6000系列的浮點處理器,其采用了VLIW體系結(jié)構(gòu),指令運行的等效周期數(shù)較低,運行速度較快。圖像的采集采用了PAL制式輸出的普通攝像頭加上TI公司生產(chǎn)的圖像編碼芯片TVP5147,該芯片支持多種制式,多種接口輸入,并可以輸出YUV格式的視頻數(shù)據(jù),同時提供行同步信號和垂直同步信號等。數(shù)據(jù)暫存使用CPLD和SRAM實現(xiàn)。設(shè)計系統(tǒng)構(gòu)成,如圖4所示。
2.1 TVP5147芯片
系統(tǒng)上電時,DSP首先對TVP5147初始化,其通過I2C總線實現(xiàn),DSP自帶I2C總線控制器。芯片I2C地址是由芯片引腳I2CA的電平控制的,如該引腳接高電平,則I2C寫地址為0xB8,否則為OxBB。
假如系統(tǒng)初始化為從Y[9..O]端口輸出10位的YUV混合視頻數(shù)據(jù),則可知道其輸出符合以下時序,如圖5所示。
圖中第一行為DATACLK信號,其為TVP5147芯片提供的數(shù)據(jù)時鐘信號,第二行為數(shù)據(jù)Y[9…0],當每一行圖像開始之前,會有4個SAV信號,同樣,結(jié)束之后也有4個EAV信號,如圖5所示,數(shù)據(jù)是YCbCr格式,每個像素點的數(shù)據(jù)為4個數(shù)據(jù)組成,一次為Cb,Y,Cr,Y。而由圖5中可以看出AVID信號為高電平時,表明當前的數(shù)據(jù)為有效數(shù)據(jù)。這為CPLD采集有效數(shù)據(jù)提供了參考信號。同時TVP5147芯片還輸出FID信號,該信號為奇偶場指示信號。
2.2 CPLD讀寫SRAM
存儲器選擇了DS1265AB,它是SRAM存儲器,具有存儲速度快的優(yōu)點,并能夠在系統(tǒng)掉電時保存數(shù)據(jù)10年。DS1265具有1 MB的容量,20根地址線,8根數(shù)據(jù)線,另有WE,OE,CE信號輸入端。
CPLD選用EPM7128具有價格便宜、計數(shù)頻率高等優(yōu)點。將存儲器SRAM接到CPLD的IO引腳上,配合時序便能達到對SRAM讀寫的要求,原理圖,如圖6所示。
編寫CPLD程序使得輸出時序滿足SRAM的存儲要求,當然對于設(shè)計的具體要求,利用兩片SRAM分別存儲奇偶場的數(shù)據(jù),SRAM的切換是由奇偶場信號FID控制多片74HC245實現(xiàn)的,詳細過程,如圖7所示。當FID處于高電平時,此時M1和M4使能,此時CPLD將地址信號CPLDaddr輸入SRAM1中,DSP將地址信號DSPaddr輸入至SRAM2中,同時M6和M8使能,由圖中可以看出,此時CPLD正向SRAM1寫入數(shù)據(jù),而DSP正從SRAM2中讀取數(shù)據(jù),同時M10使能,CPLD的信號CPLDctl控制SRAM1的讀寫,而DSP的信號DSPctl控制SRAM2的讀寫,當FID轉(zhuǎn)為低電平時,正好將SRAM1和SRAM2實現(xiàn)了交換。以這種方式構(gòu)建的系統(tǒng),能同時將視頻的兩場數(shù)據(jù)同時記錄下來,實現(xiàn)了CPLD和DSP的有機結(jié)合。至此CPLD的任務(wù)就是將有效的圖像數(shù)據(jù)存儲到對應(yīng)的SRAM中,當TVP5147芯片AVID引腳上升沿時,置地址為初始值00h,即從首地址依次往后寫入。每一個數(shù)據(jù)時鐘信號DATACLK上升沿時將TVP5147輸出的Y[9…2]存儲到當前地址單元,Y0和Y1位舍棄,因為所選擇的SRAM數(shù)據(jù)位為8位,當放棄Y0和Y1位后,降低了圖像數(shù)據(jù)的精度,但對識別效果的影響卻很小,然后隨著DATACLK每次上升沿的來臨,CPLD將地址單元加1,這樣實現(xiàn)每一場數(shù)據(jù)的寫入。當切換至另一場數(shù)據(jù)時,執(zhí)行的過程相同,只是存儲的對象被74HC245強制更改,如此循環(huán),便可將每場數(shù)據(jù)記錄下來。
2.3 圖像輸出系統(tǒng)的設(shè)計
系統(tǒng)設(shè)計時為了減輕負擔,采用電視監(jiān)控的方法,將小型電視機通過TI公司的視頻編碼芯片THS8135連接至DSP總線,將得到的YUV數(shù)據(jù)通過THS8135直接輸出至電視AV的視頻接收端,并且通過DSP可以將一些信息顯示到電視屏幕上,這樣使得識別的過程更加人性化。
評論