基于DSP/BIOS的門禁系統(tǒng)設(shè)計
引言
在數(shù)字化網(wǎng)絡(luò)化飛速發(fā)展的今天,門禁技術(shù)也得到了迅猛的發(fā)展。生物認證技術(shù)由于其具有高可靠性、安全性、方便性等特點,逐漸受到社會的矚目。傳統(tǒng)的人臉圖像識別系統(tǒng)依賴于較大型設(shè)備,速度較慢、實時性較差、價格昂貴。隨著數(shù)字信號處理器DSP的飛速發(fā)展,以DSP為核心的硬件系統(tǒng)同樣可以用來進行圖像處理。隨著DSP的運算速度和運算精度不斷提高,片內(nèi)的存儲容量不斷加大,系統(tǒng)功能、數(shù)據(jù)處理能力以及與外部設(shè)備的通信功能不斷增強,人們完全可以脫離PC 機開發(fā)出基于DSP的圖像處理系統(tǒng)。
本文利用DSP和實時嵌入式操作系統(tǒng)DSP/BIOS開發(fā)了基于人臉識別技術(shù)的門禁系統(tǒng)。系統(tǒng)利用攝像頭獲取人臉圖像,利用DSP完成人臉圖像的處理和特征提取以及識別,利用液晶顯示器完成識別信息的顯示,并通過串口與外部通信。
1 DSP/BIOS簡介
DSP/BIOS是一種簡易的實時嵌入式操作系統(tǒng),主要面向?qū)崟r調(diào)度與同步、主機與目標系統(tǒng)通訊以及實時監(jiān)測等應(yīng)用,具有實時操作系統(tǒng)的諸多功能,如任務(wù)的調(diào)度管理、任務(wù)問的同步和通訊、內(nèi)存管理、實時時鐘管理、中斷服務(wù)管理、外設(shè)驅(qū)動程序管理等。DSP/BIOS由三個部分組成:DSP/BIOS實時內(nèi)核與API、DSP/BIOS分析工具以及DSP~IOS配置工具” 。
1.1 DSP/BIOS中的線程
DSP~IOS內(nèi)核通過在單一處理器上允許高優(yōu)先級線程搶先低優(yōu)先級線程的方式支持不同優(yōu)先級的多種線程,并負責處理各線程之間的各種相互作用,包括通訊、同步等。DSP/BIOS支持四種線程:硬件中斷(HWI)、軟件中斷(SWI)、任務(wù)(TSK)、后臺線程(IDL)。它們的優(yōu)先級依次從高到低。 DSP~IOS用HWI模塊來管理硬件中斷,為DSP中的每個硬件中斷配置了中斷服務(wù)程序(ISR)。硬件中斷用來處理時間要求苛刻的關(guān)鍵任務(wù),如系統(tǒng)時鐘等。軟件中斷通過SWI模塊管理,用于處理一些對實時性要求較低的任務(wù)。任務(wù)通過TSK模塊管理,后臺線程的優(yōu)先級最低,用于沒有時間限制的處理,只有在其它線程不運行時,它才運行。
任務(wù)管理與軟件中斷的區(qū)別是,每個任務(wù)都有自己的堆棧,任務(wù)問支持同步和通訊,一個任務(wù)可以掛起以等待某一資源的釋放,因此,特別適用于門禁系統(tǒng)的應(yīng)用。本文中用到了兩個任務(wù):tskvideocapture與tskloopback,其中tskvideocapture是視頻獲取任務(wù),tskloopback是視頻處理和顯示任務(wù)。TASK任務(wù)級的通訊主要使用SCOM(Synchronized COMmunication module)消息隊列。SCOM消息是用戶定義的一個數(shù)據(jù)結(jié)構(gòu),用于task之間交換信息。
1.2 DSP/BIOS程序開發(fā)
DSP/BIOS支持交互式的應(yīng)用程序開發(fā)模式,開發(fā)人員可以用DSP/BIOS先為應(yīng)用程序生成一個框架,在使用實際的算法之前給程序加上一個仿真的運算負荷來測試程序,看是否滿足時序要求。開發(fā)步驟如下:① 用配置工具建立應(yīng)用程序要用到的對象;②保存配置文件,系統(tǒng)會生成編澤和鏈接應(yīng)用程序時需的庫文件;③為應(yīng)用程序編寫一個框架,可以使用C、c++、匯編語言;④在CCS環(huán)境下編譯并鏈接程序;⑤使用仿真器和DSP/BIOS分析工具來測試應(yīng)用程序;⑥ 重復步驟① 到⑤ 直到程序運行正確;⑦硬件開發(fā)好后,修改配置文件以支持硬件,并進行測試。
1.3 CDB配置文件
CDB文件包含了以下幾個部分內(nèi)容:系統(tǒng)部分(System)、實時分析部分(Instrumentation)、調(diào)度部分(Scheduling)、同步部分(Synchronization)、輸入輸出部分(Input/Output)、芯片支持庫部分(CSL)。DSP/BIOS配置工具采用可視化界面,如圖l所示。
圖l DSP~IOS配置界面
具體地說,CDB文件的主要配置內(nèi)容有以下幾部分。系統(tǒng)部分:Global Settings體現(xiàn)系統(tǒng)所用處理器型號及其各種參數(shù)特性;MEM體現(xiàn)系統(tǒng)的程序和代碼的放置位置以及占用空間的大小。調(diào)度部分:TSK—Task Manager主要定義用戶定義任務(wù)及系統(tǒng)后臺線程所調(diào)用的子函數(shù),任務(wù)的優(yōu)先級以及其存放位置和堆棧大小的設(shè)置情況。輸入輸出部分:定義視頻各個輸入輸出端口如何實現(xiàn)與片級支持庫CSL的鏈接,從而實現(xiàn)微驅(qū)動和參數(shù)傳遞。
2 門禁系統(tǒng)的硬件結(jié)構(gòu)
本系統(tǒng)基于TI公司的TMS320DM642設(shè)計硬件平臺,因為DM642有豐富的外部設(shè)備接口,完全能夠滿足門禁系統(tǒng)的需要。DM642通過外部存儲器接口(EMIF)訪問片外存儲器SDRAM和FLASH。SDRAM為4M x 64位的同步動態(tài)存儲器接口,用于存儲程序、數(shù)據(jù)和圖像處理中間結(jié)果,配置在EMIF接口的CE0空間;FL ASH為4M x8位的異步靜態(tài)存儲器接口,用來存儲人臉的模板特征、固化程序、導入裝載和配置信息,配置在DM642的EMIF的CE1子空間。此外,CE1子空問還分配給狀態(tài)/控制寄存器、UART等資源使用。因此,F(xiàn)lash的最大的可尋址范圍為512K x 8位。為了訪問到Flash的所有地址空間,本系統(tǒng)采用分頁技術(shù)來實現(xiàn)對Flash的訪問,即將整個4M x 8位的Flash分成8個512×8位的頁,而頁地址則由位于CPLD中的頁地址寄存器提供。選用TVP5150視頻解碼芯片,通過I2C可編程總線進行控制,采用8位并行總線實現(xiàn)數(shù)據(jù)的傳輸。
系統(tǒng)將模擬PAL視頻信號轉(zhuǎn)換為BT.656格式的YCbCr(4:2:2)模式的數(shù)字視頻信號,選用SAA7121視頻編碼芯片,將BT.656格式的數(shù)字視頻信號轉(zhuǎn)換為PAL格式的視頻輸出。選用TL16C752B實現(xiàn)二路異步串口,每路異步串口占用8個8位存儲單元。本系統(tǒng)可通過網(wǎng)絡(luò)接口實現(xiàn)功能擴展。門禁系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。
圖2 門禁系統(tǒng)的硬件結(jié)構(gòu)
加電后,系統(tǒng)完成初始化,存儲在FLASH中的程序和數(shù)據(jù)被加載到SDRAM中。在無人進門時,系統(tǒng)進行視頻的采集和回放。當有人要進門時,系統(tǒng)通過串口給DSP一個中斷信號,TVP5150視頻解碼芯片將對攝像頭采集的視頻數(shù)據(jù)進行解碼,實現(xiàn)A/D轉(zhuǎn)換,并給出LLC2(采集時鐘)、VREF(場同步參考信號)、HREF(行同步參考信號)等采集參考控制信號,并將解碼得到的YCbCr(4:2:2)模式的人臉圖像存儲在SDRAM中。之后,DSP對存儲在SDRAM中的圖像進行人臉檢測和特征提取,將提取的特征與存儲在FLASH中的模板數(shù)據(jù)作對比,最后將識別結(jié)果顯示在液晶屏上,并通過多通道緩沖串口給門鎖控制器發(fā)送開門信號或報警信號。
3 基于DSP/B10S的軟件程序設(shè)計實現(xiàn)
本系統(tǒng)基于DSP/BIOS架構(gòu)開發(fā)實現(xiàn),系統(tǒng)結(jié)構(gòu)分為三部分:輸入控制部分、視頻處理部分和輸出部分。輸入控制部分通過串口中斷來響應(yīng)外部的輸入;視頻處理部分主要完成視頻流中圖像的人臉檢測、特征提取和人臉識別并將結(jié)果輸出;輸出部分主要是完成識別結(jié)果的顯示并通過串口向門鎖控制器發(fā)送信號。整個 DSP上的軟件由二個任務(wù)線程組成:tskvideo—capture線程從視頻輸入端口讀取數(shù)據(jù);tskloopback線程完成視頻流中圖像的處理并將結(jié)果輸出。二者之間靠SCOM消息隊列進行同步和消息傳遞 。系統(tǒng)流程如圖3所示。
當系統(tǒng)上電啟動后,首先對系統(tǒng)進行初始化。初始化完成后,系統(tǒng)進行視頻圖像的采集和回放,GIO/FVID(項層類驅(qū)動)控制TVP5150通過EDMA 將視頻數(shù)據(jù)YCbCr(4:2:2)傳遞到視頻輸入任務(wù)請求的緩沖I~capFrameBuf中。當系統(tǒng)接收到串El中斷信號后,視頻處理任務(wù)通過 SCOM通訊從capFrameBuf中將數(shù)據(jù)取走,進行人臉檢測、特征提取和人臉識別等一系列操作,并將結(jié)果輸出。
本系統(tǒng)軟件通過在YCbCr色彩空間中建立人臉膚色模型對人臉進行粗檢測。實驗發(fā)現(xiàn)當Cb取值范圍為[90,135】,Cr取值范圍為[120,168] 時,系統(tǒng)對膚色檢測效果最好。人臉粗檢測后再通過數(shù)學形態(tài)學中的開運算去除孤立的小點、毛刺和小橋(即連通兩塊區(qū)域的小點),最后通過對膚色中連通域的標記和統(tǒng)計去除非人臉區(qū)域,得到人臉圖像 。在提取人臉特征之前對人臉圖像進行灰度拉伸和歸一化,使用離散余弦變換提取人臉特征,提取的人臉特征可以進行兩種操作:作為模板存入人臉特征庫或進行人臉識別。系統(tǒng)通過計算人臉特征,再與模板庫中的人臉特征進行相似度比對和識別。
4 結(jié)束語
本文將DM642芯片結(jié)合視頻編解碼芯片和實時嵌入式操作系統(tǒng)DSP/BIOS應(yīng)用于門禁系統(tǒng),實現(xiàn)了完全脫離PC機的圖像采集、處理和結(jié)果顯示系統(tǒng)。算法運算速度快,實時性高。系統(tǒng)可以通過串口或網(wǎng)絡(luò)接口實現(xiàn)人機交互,并具有良好的可擴展性和獨立性。
評論