基于DSP和人臉識(shí)別技術(shù)的門禁系統(tǒng)設(shè)計(jì)
一、引言
隨著計(jì)算機(jī)技術(shù)和模式識(shí)別等相關(guān)技術(shù)的飛速發(fā)展, 使運(yùn)用當(dāng)今先進(jìn)技術(shù)來(lái)研制安全監(jiān)測(cè)系統(tǒng)成為可能, 人臉識(shí)別是安全監(jiān)測(cè)系統(tǒng)中身份識(shí)別的一種最方便、最直接的方法。傳統(tǒng)的人臉圖像識(shí)別系統(tǒng)是由大規(guī)?;虺笠?guī)模集成電路來(lái)完成的, 圖像采集依賴于較大型設(shè)備, 速度比較慢, 實(shí)時(shí)性較差, 在小范圍內(nèi)使用價(jià)格比較昂貴。隨著數(shù)字信號(hào)處理器DSP 的飛速發(fā)展, 它以其高速、準(zhǔn)確的性能為圖像獲取帶來(lái)了新的途徑, 而且用硬件來(lái)實(shí)現(xiàn)人臉圖像識(shí)別價(jià)格比較低廉。
考慮到門禁系統(tǒng)的可靠性, 時(shí)效性和經(jīng)濟(jì)性等技術(shù)指標(biāo), 本文選擇了用CCD 攝像頭進(jìn)行視頻信號(hào)的采集, TI5000 系列功能強(qiáng)大的DSP 芯片作為前端系統(tǒng)的核心圖像處理器件, 配合CPLD 芯片控制圖像采集和處理系統(tǒng)的時(shí)序和邏輯, 又考慮到系統(tǒng)的便利性和擴(kuò)展性, 用網(wǎng)絡(luò)控制芯片RTL8109AS 作為通信接口實(shí)現(xiàn)與上位機(jī)的通訊。本文旨在基于DSP 設(shè)計(jì)一種可擴(kuò)展的人臉識(shí)別門禁系統(tǒng), 并討論了DSP 外圍電路的設(shè)計(jì)以及軟件設(shè)計(jì)中的若干關(guān)鍵問(wèn)題。
二、系統(tǒng)硬件構(gòu)成及工作過(guò)程
門禁系統(tǒng)硬件結(jié)構(gòu)如圖1 所示, 整個(gè)系統(tǒng)的硬件結(jié)構(gòu)由采集系統(tǒng)、識(shí)別動(dòng)作系統(tǒng)以及網(wǎng)口通信3 部分組成。
圖1 門禁系統(tǒng)硬件構(gòu)成
系統(tǒng)的工作原理是: 加電后系統(tǒng)完成初始化,存儲(chǔ)在FLASH 中的程序和數(shù)據(jù)加載到SRAM中。當(dāng)有人要通過(guò)門時(shí), 通過(guò)按鍵中斷給DSP 一個(gè)中斷信號(hào), DSP 通過(guò)緩沖串行接口BDX1 向采集系統(tǒng)發(fā)出采集指令, SAA7111 將從CCD 攝像頭采集的視頻數(shù)據(jù)進(jìn)行解碼, 實(shí)現(xiàn)A/D 轉(zhuǎn)換, 并給出LLC2( 采集時(shí)鐘) 、VREF( 場(chǎng)同步參考信號(hào)) 、HREF( 行同步參考信號(hào)) 等采集參考控制信號(hào), 然后通過(guò)CPLD 控制圖像采集, 并將解碼圖像信號(hào)存儲(chǔ)在SRAM中。當(dāng)完成圖像信號(hào)存儲(chǔ)后, CPLD 給DSP發(fā)出結(jié)束命令。DSP 在接到采集結(jié)束命令后, 對(duì)在SRAM中的圖像信號(hào)進(jìn)行檢測(cè)算法的處理, 獲得特征數(shù)據(jù)并傳給PC 機(jī), 特征數(shù)據(jù)和PC 機(jī)數(shù)據(jù)庫(kù)中的人臉模板進(jìn)行對(duì)比, PC 機(jī)把識(shí)別結(jié)果傳給DSP,DSP 則通過(guò)多通道緩沖串口給門鎖控制器發(fā)送開(kāi)門信號(hào)或報(bào)警信號(hào)。由于DSP 系統(tǒng)的存儲(chǔ)能力有限, 又考慮到系統(tǒng)的便利性和擴(kuò)展性, DSP 與PC機(jī)采用了以太網(wǎng)通訊, 將PC 機(jī)作為DSP 系統(tǒng)的備份設(shè)備, 記錄識(shí)別日志, 同時(shí)存放識(shí)別對(duì)比程序和模板數(shù)據(jù)庫(kù), 并隨時(shí)可以從遠(yuǎn)處PC 機(jī)上得到前端識(shí)別系統(tǒng)的狀態(tài)。
三、DSP 系統(tǒng)硬件設(shè)計(jì)
1、視頻圖像采集電路設(shè)計(jì)
本設(shè)計(jì)采用可編程視頻解碼器SAA7111 對(duì)CCD 攝像頭采集視頻數(shù)據(jù)進(jìn)行解碼, 實(shí)現(xiàn)A/D 轉(zhuǎn)換, 系統(tǒng)以可編程邏輯器件CPLD 實(shí)現(xiàn)采集控制和圖像傳輸接口單元, 其中CPLD 的I /O 口模擬I2C總線接口, 實(shí)現(xiàn)對(duì)SAA7111 的控制。視頻圖像采集電路如圖2 所示。
圖2 視頻圖像采集電路
當(dāng)系統(tǒng)要求采集圖像時(shí), DSP 通過(guò)緩沖串行接口BDX1 向采集系統(tǒng)發(fā)出采集指令, 并通過(guò)串行接口BFX1 產(chǎn)生CPLD 的復(fù)位信號(hào), 使其內(nèi)部的寄存器進(jìn)行清零工作。當(dāng)這一切完成之后, DSP 與存儲(chǔ)器SRAM之間的總線控制器為斷開(kāi)狀態(tài), CPLD 根據(jù)SAA7111 傳過(guò)來(lái)的LLC2( 采集時(shí)鐘) 、VREF( 場(chǎng)同步參考信號(hào)) 、HREF ( 行同步參考信號(hào)) 、FIELD( 奇偶場(chǎng)指示) 信號(hào)控制A/D 的采集及訪問(wèn)存儲(chǔ)器,將A/D 解碼的視頻信號(hào)依次存入SRAM 中, 當(dāng)CPLD 采集控制完成之后, 將結(jié)束采集工作, 并發(fā)出一個(gè)完成信號(hào)OVER 給DSP 的中斷引腳INT2, 告知DSP 采集到的圖像信號(hào)已經(jīng)存儲(chǔ)在SRAM中。DSP 在接到中斷后, 開(kāi)始相應(yīng)的處理程序。
2、DSP 外部存儲(chǔ)器接口設(shè)計(jì)
由于圖像信號(hào)數(shù)據(jù)量很大, DSP 內(nèi)部的RAM和ROM較小, 因此外擴(kuò)了SRAM和FLASH, 并將DSP 的執(zhí)行程序放在外部的FLASH 中。對(duì)于本系統(tǒng)來(lái)說(shuō), 終端部分的數(shù)據(jù)處理量比較大, 而且數(shù)據(jù)處理速度要求很快, 因此需要比較快速的存儲(chǔ)器接口。對(duì)于數(shù)據(jù)存儲(chǔ)器, 本文選用的是高速靜態(tài)存儲(chǔ)器CY7C1041BV33, 它的存儲(chǔ)容量為256K×16bit /片, 存儲(chǔ)速度為12ns, 數(shù)據(jù)寬度為16 位。對(duì)于程序存儲(chǔ)器, 本文選用SST39VF400 芯片, 所有的用戶程序均寫入FLASH 中, 同時(shí)將編寫一個(gè)引導(dǎo)程序,在DSP 上電時(shí), 從DSP 外部程序存儲(chǔ)器FLASH 中逐條地讀取程序代碼并運(yùn)行。DSP 和擴(kuò)展存儲(chǔ)器之間的連接電路如圖3 所示。
圖3 DSP 和擴(kuò)展存儲(chǔ)器之間的連接電路
DSP 提供外部存儲(chǔ)器選通( MSTRB#) 輸出信號(hào), 該信號(hào)處于有效狀態(tài)( 低) 說(shuō)明DSP 產(chǎn)生一個(gè)外部程序或者數(shù)據(jù)空間的訪問(wèn)。外部程序空間選通( PS#) 和數(shù)據(jù)空間( DS#) 選通, 分別表明DSP 是對(duì)外部程序空間和數(shù)據(jù)空間進(jìn)行訪問(wèn)。讀寫選通( R/W#) 輸出表明DSP 和外部器件之間數(shù)據(jù)傳輸?shù)姆较?。這些信號(hào)在保持模式下都為高阻態(tài)。利用它們和SRAM的選通信號(hào)線相連實(shí)現(xiàn)正確的讀寫時(shí)序。
3、以太網(wǎng)通信接口設(shè)計(jì)
采用以太網(wǎng)口和PC 機(jī)通信, PC 機(jī)完成特征數(shù)據(jù)和人臉模板的對(duì)比, 發(fā)送識(shí)別結(jié)果給DSP, PC機(jī)可以作為DSP 系統(tǒng)的備份設(shè)備, 人臉識(shí)別日志保存在PC 機(jī)中, 并可以隨時(shí)從PC 機(jī)上得到DSP系統(tǒng)的狀態(tài)。同時(shí)可以對(duì)系統(tǒng)進(jìn)行擴(kuò)展, 使各個(gè)前端DSP 裝置互連, 構(gòu)成基于網(wǎng)絡(luò)的多門禁系統(tǒng)。本系統(tǒng)采用了應(yīng)用比較普遍的以太網(wǎng)控制器芯片RTL8019AS。C5402 和RTL8019AS 連接方式如圖4所示。
圖4 C5402 和RTL8019AS 連接方式
其中RTL8019AS 的IOCS16 引腳接高電平, 選擇16 位數(shù)據(jù)總線方式。TMS320C5402 的總線電平是3.3V, 而RTL8019AS 的接口電平是5V, 二者在連接時(shí)要使用電平轉(zhuǎn)換器SN74ALVT16245;TMS320C5402 的I /O 口控制信號(hào)IS#、IOSTRB#、R/W# 等信號(hào)經(jīng)過(guò)74AHCT139 譯碼后與RTL8019AS的IOR#、IOW# 連接。由于TMS320C5402 的I/O 口讀寫速度很快, 因此將RTL8019AS 的IOCHRDY信號(hào)與DSP 的READY 相連。另外, 將SMEMR 和SMEMW 引腳接高電平, 屏蔽了遠(yuǎn)程自舉加載功能。
4、DSP 系統(tǒng)的電源設(shè)計(jì)
本系統(tǒng)是一個(gè)多電源系統(tǒng), 在整個(gè)系統(tǒng)中有5V 模擬電源、5V 數(shù)字電源、3.3V、1.8V 四種電源,相對(duì)應(yīng)的有模擬地和數(shù)字地。因?yàn)镈SP 所用的工作電壓需要兩種, 外圍I /O 電源DVDD 采用3.3V,內(nèi)核電源CVDD 采用1.8V, 并且DSP 對(duì)這兩個(gè)電壓有上電順序的要求, 內(nèi)核電源CVDD 必須先于I/O 電源DVDD 上電, 關(guān)斷時(shí)內(nèi)核電源CVDD 應(yīng)晚于I/O 電源DVDD, 而且整個(gè)上電過(guò)程應(yīng)在25ms內(nèi)完成。這樣要求的原因在于, 如果CVDD 先于DVDD 上電, 只是芯片周邊輸入輸出無(wú)效, 對(duì)于芯片本身沒(méi)有損害, 但如果次序相反, 則芯片的緩沖和驅(qū)動(dòng)部分將處于一個(gè)未知的狀態(tài), 容易對(duì)芯片造成損害。根據(jù)上述的分析, 在本系統(tǒng)中, 采用了TPS73HD318 電源管理芯片, 它能同時(shí)輸出3.3V和1.8V 兩種電壓, 每路最大輸出電流達(dá)到1.0A,芯片本身可以提供較為嚴(yán)格的上電次序, 再加上搭配的外圍器件, 保證了系統(tǒng)對(duì)上電次序和功率的要求。
四、系統(tǒng)的軟件流程
系統(tǒng)軟件由DSP 軟件和上位PC 機(jī)軟件構(gòu)成。
DSP 軟件完成人臉圖像的采集、預(yù)處理以及特征提取。PC 機(jī)軟件采用基于模板匹配的算法來(lái)進(jìn)行辨識(shí)和對(duì)比, 給出識(shí)別結(jié)果。使用前需制作可辨識(shí)的人臉正面及左右旋轉(zhuǎn)30°的模板并保存在數(shù)據(jù)庫(kù)中。當(dāng)識(shí)別結(jié)束后, 通過(guò)硬件中斷輸出辨識(shí)結(jié)果。需要注意的是, 由于人的臉部總是在不斷變化的,過(guò)一定時(shí)間以后, 需要重新制作待識(shí)別人臉的模板, 不過(guò)PC 機(jī)數(shù)據(jù)庫(kù)可以很方便地進(jìn)行更新升級(jí)。
DSP 系統(tǒng)上電以后, 軟件首先要對(duì)系統(tǒng)進(jìn)行初始化。初始化結(jié)束后, 通過(guò)硬件中斷向識(shí)別系統(tǒng)提出請(qǐng)求, 識(shí)別系統(tǒng)得到請(qǐng)求后響應(yīng)中斷, 屏蔽中斷, 向采集系統(tǒng)發(fā)出采集控制指令, 此時(shí)可以對(duì)人臉進(jìn)行圖像采集。當(dāng)采集結(jié)束后, 采集系統(tǒng)發(fā)出中斷通知數(shù)據(jù)采集完畢。人臉檢測(cè)的方法有多種, 根據(jù)應(yīng)用的場(chǎng)合和所用的硬件資源, 選擇了一種快速人臉檢測(cè)方法, 提取人臉的特征數(shù)據(jù)傳到上位機(jī)。DSP 軟件的主流程如圖5 所示。
圖5 DSP 軟件的主流程
五、結(jié)束語(yǔ)
由于該系統(tǒng)復(fù)雜, 限于篇幅, 本文著重選擇硬件和軟件設(shè)計(jì)中的關(guān)鍵和難點(diǎn)做詳細(xì)的論述, 硬件的抗干擾以及上位機(jī)軟件等等就不再一一敘述。本系統(tǒng)經(jīng)過(guò)了運(yùn)行檢驗(yàn), 具有速度快, 成本低, 可靠性高, 擴(kuò)展性好等優(yōu)點(diǎn), 具有很廣的應(yīng)用前景?!栋卜揽萍肌冯s志 文/楊吳冰 陸徐平 許晉華
參考文獻(xiàn):
[1] 清源科技. TMS320C54X DSP 硬件開(kāi)發(fā)教程[ M] . 機(jī)械工業(yè)出版, 2003.
[2] 王科俊, 姚向輝. 人臉圖像檢測(cè)與識(shí)別方法綜述[J] . 自動(dòng)化技術(shù)與應(yīng)用, 2004,(12) .
[3] 于淼, 鄭紅. 基于DSP 的人臉圖像識(shí)別系統(tǒng)[J] . 微計(jì)算機(jī)信息, 2003, 19( 6) .
[4] 魏華, 李薦民. CPLD 在圖像采集系統(tǒng)中的應(yīng)用[J] . 計(jì)算機(jī)測(cè)量與控制, 2002.