基于DSP和人臉識別技術的門禁系統設計
一、引言
隨著計算機技術和模式識別等相關技術的飛速發展, 使運用當今先進技術來研制安全監測系統成為可能, 人臉識別是安全監測系統中身份識別的一種最方便、最直接的方法。傳統的人臉圖像識別系統是由大規模或超大規模集成電路來完成的, 圖像采集依賴于較大型設備, 速度比較慢, 實時性較差, 在小范圍內使用價格比較昂貴。隨著數字信號處理器DSP 的飛速發展, 它以其高速、準確的性能為圖像獲取帶來了新的途徑, 而且用硬件來實現人臉圖像識別價格比較低廉。
考慮到門禁系統的可靠性, 時效性和經濟性等技術指標, 本文選擇了用CCD 攝像頭進行視頻信號的采集, TI5000 系列功能強大的DSP 芯片作為前端系統的核心圖像處理器件, 配合CPLD 芯片控制圖像采集和處理系統的時序和邏輯, 又考慮到系統的便利性和擴展性, 用網絡控制芯片RTL8109AS 作為通信接口實現與上位機的通訊。本文旨在基于DSP 設計一種可擴展的人臉識別門禁系統, 并討論了DSP 外圍電路的設計以及軟件設計中的若干關鍵問題。
二、系統硬件構成及工作過程
門禁系統硬件結構如圖1 所示, 整個系統的硬件結構由采集系統、識別動作系統以及網口通信3 部分組成。

圖1 門禁系統硬件構成
系統的工作原理是: 加電后系統完成初始化,存儲在FLASH 中的程序和數據加載到SRAM中。當有人要通過門時, 通過按鍵中斷給DSP 一個中斷信號, DSP 通過緩沖串行接口BDX1 向采集系統發出采集指令, SAA7111 將從CCD 攝像頭采集的視頻數據進行解碼, 實現A/D 轉換, 并給出LLC2( 采集時鐘) 、VREF( 場同步參考信號) 、HREF( 行同步參考信號) 等采集參考控制信號, 然后通過CPLD 控制圖像采集, 并將解碼圖像信號存儲在SRAM中。當完成圖像信號存儲后, CPLD 給DSP發出結束命令。DSP 在接到采集結束命令后, 對在SRAM中的圖像信號進行檢測算法的處理, 獲得特征數據并傳給PC 機, 特征數據和PC 機數據庫中的人臉模板進行對比, PC 機把識別結果傳給DSP,DSP 則通過多通道緩沖串口給門鎖控制器發送開門信號或報警信號。由于DSP 系統的存儲能力有限, 又考慮到系統的便利性和擴展性, DSP 與PC機采用了以太網通訊, 將PC 機作為DSP 系統的備份設備, 記錄識別日志, 同時存放識別對比程序和模板數據庫, 并隨時可以從遠處PC 機上得到前端識別系統的狀態。
三、DSP 系統硬件設計
1、視頻圖像采集電路設計
本設計采用可編程視頻解碼器SAA7111 對CCD 攝像頭采集視頻數據進行解碼, 實現A/D 轉換, 系統以可編程邏輯器件CPLD 實現采集控制和圖像傳輸接口單元, 其中CPLD 的I /O 口模擬I2C總線接口, 實現對SAA7111 的控制。視頻圖像采集電路如圖2 所示。

圖2 視頻圖像采集電路
當系統要求采集圖像時, DSP 通過緩沖串行接口BDX1 向采集系統發出采集指令, 并通過串行接口BFX1 產生CPLD 的復位信號, 使其內部的寄存器進行清零工作。當這一切完成之后, DSP 與存儲器SRAM之間的總線控制器為斷開狀態, CPLD 根據SAA7111 傳過來的LLC2( 采集時鐘) 、VREF( 場同步參考信號) 、HREF ( 行同步參考信號) 、FIELD( 奇偶場指示) 信號控制A/D 的采集及訪問存儲器,將A/D 解碼的視頻信號依次存入SRAM 中, 當CPLD 采集控制完成之后, 將結束采集工作, 并發出一個完成信號OVER 給DSP 的中斷引腳INT2, 告知DSP 采集到的圖像信號已經存儲在SRAM中。DSP 在接到中斷后, 開始相應的處理程序。
2、DSP 外部存儲器接口設計
由于圖像信號數據量很大, DSP 內部的RAM和ROM較小, 因此外擴了SRAM和FLASH, 并將DSP 的執行程序放在外部的FLASH 中。對于本系統來說, 終端部分的數據處理量比較大, 而且數據處理速度要求很快, 因此需要比較快速的存儲器接口。對于數據存儲器, 本文選用的是高速靜態存儲器CY7C1041BV33, 它的存儲容量為256K×16bit /片, 存儲速度為12ns, 數據寬度為16 位。對于程序存儲器, 本文選用SST39VF400 芯片, 所有的用戶程序均寫入FLASH 中, 同時將編寫一個引導程序,在DSP 上電時, 從DSP 外部程序存儲器FLASH 中逐條地讀取程序代碼并運行。DSP 和擴展存儲器之間的連接電路如圖3 所示。

圖3 DSP 和擴展存儲器之間的連接電路
DSP 提供外部存儲器選通( MSTRB#) 輸出信號, 該信號處于有效狀態( 低) 說明DSP 產生一個外部程序或者數據空間的訪問。外部程序空間選通( PS#) 和數據空間( DS#) 選通, 分別表明DSP 是對外部程序空間和數據空間進行訪問。讀寫選通( R/W#) 輸出表明DSP 和外部器件之間數據傳輸的方向。這些信號在保持模式下都為高阻態。利用它們和SRAM的選通信號線相連實現正確的讀寫時序。
3、以太網通信接口設計
采用以太網口和PC 機通信, PC 機完成特征數據和人臉模板的對比, 發送識別結果給DSP, PC機可以作為DSP 系統的備份設備, 人臉識別日志保存在PC 機中, 并可以隨時從PC 機上得到DSP系統的狀態。同時可以對系統進行擴展, 使各個前端DSP 裝置互連, 構成基于網絡的多門禁系統。本系統采用了應用比較普遍的以太網控制器芯片RTL8019AS。C5402 和RTL8019AS 連接方式如圖4所示。

圖4 C5402 和RTL8019AS 連接方式
其中RTL8019AS 的IOCS16 引腳接高電平, 選擇16 位數據總線方式。TMS320C5402 的總線電平是3.3V, 而RTL8019AS 的接口電平是5V, 二者在連接時要使用電平轉換器SN74ALVT16245;TMS320C5402 的I /O 口控制信號IS#、IOSTRB#、R/W# 等信號經過74AHCT139 譯碼后與RTL8019AS的IOR#、IOW# 連接。由于TMS320C5402 的I/O 口讀寫速度很快, 因此將RTL8019AS 的IOCHRDY信號與DSP 的READY 相連。另外, 將SMEMR 和SMEMW 引腳接高電平, 屏蔽了遠程自舉加載功能。
4、DSP 系統的電源設計
本系統是一個多電源系統, 在整個系統中有5V 模擬電源、5V 數字電源、3.3V、1.8V 四種電源,相對應的有模擬地和數字地。因為DSP 所用的工作電壓需要兩種, 外圍I /O 電源DVDD 采用3.3V,內核電源CVDD 采用1.8V, 并且DSP 對這兩個電壓有上電順序的要求, 內核電源CVDD 必須先于I/O 電源DVDD 上電, 關斷時內核電源CVDD 應晚于I/O 電源DVDD, 而且整個上電過程應在25ms內完成。這樣要求的原因在于, 如果CVDD 先于DVDD 上電, 只是芯片周邊輸入輸出無效, 對于芯片本身沒有損害, 但如果次序相反, 則芯片的緩沖和驅動部分將處于一個未知的狀態, 容易對芯片造成損害。根據上述的分析, 在本系統中, 采用了TPS73HD318 電源管理芯片, 它能同時輸出3.3V和1.8V 兩種電壓, 每路最大輸出電流達到1.0A,芯片本身可以提供較為嚴格的上電次序, 再加上搭配的外圍器件, 保證了系統對上電次序和功率的要求。
四、系統的軟件流程
系統軟件由DSP 軟件和上位PC 機軟件構成。
DSP 軟件完成人臉圖像的采集、預處理以及特征提取。PC 機軟件采用基于模板匹配的算法來進行辨識和對比, 給出識別結果。使用前需制作可辨識的人臉正面及左右旋轉30°的模板并保存在數據庫中。當識別結束后, 通過硬件中斷輸出辨識結果。需要注意的是, 由于人的臉部總是在不斷變化的,過一定時間以后, 需要重新制作待識別人臉的模板, 不過PC 機數據庫可以很方便地進行更新升級。
DSP 系統上電以后, 軟件首先要對系統進行初始化。初始化結束后, 通過硬件中斷向識別系統提出請求, 識別系統得到請求后響應中斷, 屏蔽中斷, 向采集系統發出采集控制指令, 此時可以對人臉進行圖像采集。當采集結束后, 采集系統發出中斷通知數據采集完畢。人臉檢測的方法有多種, 根據應用的場合和所用的硬件資源, 選擇了一種快速人臉檢測方法, 提取人臉的特征數據傳到上位機。DSP 軟件的主流程如圖5 所示。

圖5 DSP 軟件的主流程
五、結束語
由于該系統復雜, 限于篇幅, 本文著重選擇硬件和軟件設計中的關鍵和難點做詳細的論述, 硬件的抗干擾以及上位機軟件等等就不再一一敘述。本系統經過了運行檢驗, 具有速度快, 成本低, 可靠性高, 擴展性好等優點, 具有很廣的應用前景。《安防科技》雜志 文/楊吳冰 陸徐平 許晉華
參考文獻:
[1] 清源科技. TMS320C54X DSP 硬件開發教程[ M] . 機械工業出版, 2003.
[2] 王科俊, 姚向輝. 人臉圖像檢測與識別方法綜述[J] . 自動化技術與應用, 2004,(12) .
[3] 于淼, 鄭紅. 基于DSP 的人臉圖像識別系統[J] . 微計算機信息, 2003, 19( 6) .
[4] 魏華, 李薦民. CPLD 在圖像采集系統中的應用[J] . 計算機測量與控制, 2002.