基于DSP人臉識別系統(tǒng)的設計與實現(xiàn)
出處:電子科技 發(fā)布于:2011-09-04 16:20:04
隨著計算機技術和模式識別等相關技術的飛速發(fā)展, 使運用當今先進技術來研制安全監(jiān)測系統(tǒng)成為可能, 人臉識別是安全監(jiān)測系統(tǒng)中身份識別的一種方便、直接的方法。傳統(tǒng)的人臉圖像識別系統(tǒng)是由大規(guī)模或超大規(guī)模集成電路來完成的, 圖像采集依賴于較大型設備, 速度比較慢, 實時性較差, 在小范圍內使用價格比較昂貴。隨著數(shù)字信號處理器DSP的飛速發(fā)展, 它以其高速、準確的性能為圖像獲取帶來了新的途徑, 而且用硬件來實現(xiàn)人臉圖像識別價格比較低廉。
DSP(digital signal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數(shù)字信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或實際環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是值得稱道的兩大特色。
1 人臉檢測的算法
人臉檢測系統(tǒng)可以分為人臉檢測和人臉識別模塊,這兩大模塊又進一步可劃分為人臉檢測與定位、規(guī)范化、特征提取和人臉識別4個模塊。其詳細結構,如圖1所示。

1.1 人臉的定位
通過已獲得的樣本來判斷人臉的位置,選取合適的人臉,截取出做樣本是重要的步驟。首先確定人眼的坐標(x1,y1)和(x2,y2),由此可間接得到正方形人臉的左上頂點和右下頂點的坐標,設其分別為(X1,Y1)和(X2,Y2),計算方法如下:

式中,RH和RV均為經(jīng)驗常數(shù),在設計過程中將其分別取值為2.0和3.5。如此可在原圖中得到人臉的區(qū)域座標,其尺寸隨眼距Widtheyes的大小而變化,作為PCA的輸入,要求輸入樣本的維數(shù)相同,所以必須對圖片進行歸一化處理。
1.2 人臉特征提取
特征臉分類的方法是將一幅圖像投影到一個特定“臉空間”的一個點。這個“臉空間”由一股互相正交的向量組成。這些向量便是表征各個人臉聚類的重要組成部分。不同人臉的圖片在此空間的相差較遠,相同人臉的不同圖片在此空間上的投影相距較近。可以使用PCA的方法為整個人臉識別系統(tǒng)打下基礎。
步,采集到N個樣本用作訓練集X,求出樣本平均值m,如式(1)所示

其中,xi∈樣本訓練集X=(x1,x2,…,xN)。
第二步,求出散布矩陣S,如式(2)所示

根據(jù)PCA的基本原理,必須求出散布矩陣的特征值λi和對應的特征向量ei。其中,ei便是主分量,且其對應的特征值的大小代表它包含信息的多少。所以需要將特征值從大到小依次排列λ1,λ2,…。如圖2所示,左邊是由λ1對應的特征向量重建的人臉圖像,右邊是由λ100對應的特征向量重建的圖像,如果將其應用到系統(tǒng)中,對識別是不利的。

假設取出p個值,λ1,λ2,…,λp可以確定出臉空間E=(e1,e2,…,eP),在此臉空間上,訓練樣本X中,每個元素投影到該空間的點可以由式(3)得到:
![]()
由上式得到的是將原向量經(jīng)過PCA降維后的p維向量,下一步將其輸入KNN分類器進行分類。
1.3 KNN分類器的構建
KNN的實現(xiàn)分訓練和識別兩步。訓練時,把每類樣本降維后的結果作為KNN的輸入。如圖3所示,圓圈表示待識別數(shù)據(jù)所處的位置,選擇K值為3時,選中實線圓中的3個數(shù)據(jù),識別結果為三角形代表的類;選擇K值為5時,選中虛線圓中的5個數(shù)據(jù),識別結果為正方形代表的類。

2 系統(tǒng)硬件設計
系統(tǒng)設計時選用DSP6713,這是TI公司生產(chǎn)的C6000系列的浮點處理器,其采用了VLIW體系結構,指令運行的等效周期數(shù)較低,運行速度較快。數(shù)據(jù)暫存使用CPLD和SRAM實現(xiàn)。設計系統(tǒng)構成,如圖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信號,如圖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的存儲要求,當然對于設計的具體要求,利用兩片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轉為低電平時,正好將SRAM1和SRAM2實現(xiàn)了交換。所選擇的SRAM數(shù)據(jù)位為8位,當放棄Y0和Y1位后,降低了圖像數(shù)據(jù)的,但對識別效果的影響卻很小,然后隨著DATACLK每次上升沿的來臨,CPLD將地址單元加1,這樣實現(xiàn)每一場數(shù)據(jù)的寫入。

2.3 圖像輸出系統(tǒng)的設計
系統(tǒng)設計時為了減輕負擔,采用電視監(jiān)控的方法,將小型電視機通過TI公司的視頻編碼芯片THS8135連接至DSP總線,將得到的YUV數(shù)據(jù)通過THS8135直接輸出至電視AV的視頻接收端,并且通過DSP可以將一些信息顯示到電視屏幕上,這樣使得識別的過程更加人性化。
3 系統(tǒng)軟件設計
3.1 DSP的圖像預處理
TVP5147芯片輸出的圖像數(shù)據(jù)并非RGB格式,而是以YUV格式輸出的。需要通過DSP處理器轉換成RGB格式,才能進行圖像的預處理,轉換公式如式(4)所示

DSP將圖像數(shù)據(jù)讀入內存空間,然后對其進行運算,將得到的RGB分別放到對應的存儲單元,并算出灰度值Gray,運算公式如式(5)所示
![]()
將得到的灰度值存放到對應的數(shù)組當中。每張圖片由兩場圖片構成,所以完整的圖片分辨率為720×576。但是對于系統(tǒng)本身無需對其每一個像素都進行轉換,所以截取其中320×240進行存儲,這樣每場的分辨率為320×120。
3.2 人臉判別流程
將得到的320×240的圖片經(jīng)過人臉的檢測后,將截取人臉的部分作為人臉樣本。設計時,人臉的所有樣本都將在顯示器上顯示出來,降低了人臉錯誤檢測的可能,一定程度上提高系統(tǒng)的準確性。
人臉的樣本分辨率為24×24,作為576維的一維向量輸入至PCA。圖8(a)為計算PCA投影矩陣的流程圖,圖8(b)為KNN分類器的工作流程圖,其中訓練樣本經(jīng)過PCA投影后的數(shù)值,可以作為初始化時的計算,也可存儲于掉電非易失介質中,如Flash存儲器中,可以提高設備的運行效率,降低運算量。

如圖8所示,KNN分類器可以判斷接近的分類,但是并不能拒絕分類,于是產(chǎn)生了任何人的臉都將被分到內置樣本集的一類中。這樣的分類方式是不可取的,所以必須加入是否拒絕的判定,流程圖如圖9所示。

如流程圖中顯示,當樣本點經(jīng)過PCA降維后,輸送至KNN分類器進行分類,先求出待測點與K類標號的樣本點的歐氏距離之和sum。定義兩個閾值a和b,如果sum<a值則判定為類;如果sum>b值則判定為拒絕類;如果sum介于a和b值之間,則引入控制量accuracy,計算出sum與a的差值,如若小于控制量accuracy,則判定為第K類,否則拒絕分類。
4 試驗結果
實驗中,選定a的值為12 400,b的值為16 200,這兩個值的確定需要進行大量的實驗,從中找出規(guī)律。x的值的大小直接影響識別的效果,文中分別選取x=4和x=5進行了測試。
(1)x=4時:程序在測試可識別庫中的分屬12個人的36幅人臉圖像時,正確識別出其中的33幅,其余3幅圖像均被判否,0個判錯。程序在測試不可識別庫中的分屬3個人的33幅人臉圖像時,22幅圖像被成功判否,11幅被誤判;
(2)x=5時:程序在測試可識別庫中的分屬12個人的36幅人臉圖像時,正確識別出其中的25幅,其余l(xiāng)l幅圖像均被判否,O幅判錯。程序在測試不可識別庫中的分屬3個人的33幅人臉圖像時,28幅圖像被成功判否,5幅被誤判。
分析上面的實驗數(shù)據(jù)可知,x=4時,可識別庫的識別率為91.6%,不可識別庫的判否率為66.7%。x=5時,可識別庫的識別率為69.4-%,不可識別庫的判否率為84.8%。應用于不同的場合時,應選擇不同的x值,當要求盡可能拒絕外來人臉時,可選x值為5,當要求盡量識別已知人臉時,可選x值為4。
5 結束語
此人臉識別系統(tǒng),沒有采用USB攝像頭作為圖像采集設備,而以通用視頻標準的模擬攝像頭取而代之,因此用戶在攝像頭選擇的時候更加自由。本系統(tǒng)經(jīng)過了運行檢驗, 具有速度快, 成本低, 可靠性高, 擴展性好等優(yōu)點, 具有很廣的應用前景。
參考文獻:
[1]. CPLD datasheet http://hbjingang.com/datasheet/CPLD_1136600.html.
[2]. DS1265AB datasheet http://hbjingang.com/datasheet/DS1265AB_1109473.html.
[3]. EPM7128 datasheet http://hbjingang.com/datasheet/EPM7128_1135902.html.
[4]. 74HC245 datasheet http://hbjingang.com/datasheet/74HC245_1811615.html.
[5]. THS8135 datasheet http://hbjingang.com/datasheet/THS8135_1658083.html.
[6]. Gray datasheet http://hbjingang.com/datasheet/Gray_2529394.html.
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 掌握 DSP:原理剖析與應用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉換中的應用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38









