《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP/BIOS的門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于DSP/BIOS的門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
摘要: 隨著生物特征技術(shù)應(yīng)用的日趨廣泛,市場(chǎng)對(duì)門禁的安全性和可靠性的要求也越來(lái)越高。文章提出一種基于實(shí)時(shí)嵌入式操作系統(tǒng)DSP/BIOS和人臉識(shí)別門禁系統(tǒng)的實(shí)現(xiàn)方法,,介紹了系統(tǒng)的整體設(shè)計(jì)方案以及基于TMS320DM642的門禁系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì),。系統(tǒng)通過(guò)攝像頭獲取人臉圖像,用DSP完成人臉特征的提取和識(shí)別,,通過(guò)串口與外部進(jìn)行通信,達(dá)到了成本低、速度快,、可靠性高的目的。
Abstract:
Key words :

引言

         在數(shù)字化網(wǎng)絡(luò)化飛速發(fā)展的今天,,門禁技術(shù)也得到了迅猛的發(fā)展,。生物認(rèn)證技術(shù)由于其具有高可靠性、安全性,、方便性等特點(diǎn),,逐漸受到社會(huì)的矚目。傳統(tǒng)的人臉圖像識(shí)別系統(tǒng)依賴于較大型設(shè)備,,速度較慢,、實(shí)時(shí)性較差、價(jià)格昂貴,。隨著數(shù)字信號(hào)處理器DSP的飛速發(fā)展,,以DSP為核心的硬件系統(tǒng)同樣可以用來(lái)進(jìn)行圖像處理,。隨著DSP的運(yùn)算速度和運(yùn)算精度不斷提高,片內(nèi)的存儲(chǔ)容量不斷加大,,系統(tǒng)功能,、數(shù)據(jù)處理能力以及與外部設(shè)備的通信功能不斷增強(qiáng),人們完全可以脫離PC機(jī)開(kāi)發(fā)出基于DSP的圖像處理系統(tǒng),。

        本文利用DSP和實(shí)時(shí)嵌入式操作系統(tǒng)DSP/BIOS開(kāi)發(fā)了基于人臉識(shí)別技術(shù)的門禁系統(tǒng),。系統(tǒng)利用攝像頭獲取人臉圖像,利用DSP完成人臉圖像的處理和特征提取以及識(shí)別,,利用液晶顯示器完成識(shí)別信息的顯示,,并通過(guò)串口與外部通信。

1 DSP/BIOS簡(jiǎn)介


        DSP/BIOS是一種簡(jiǎn)易的實(shí)時(shí)嵌入式操作系統(tǒng),,主要面向?qū)崟r(shí)調(diào)度與同步,、主機(jī)與目標(biāo)系統(tǒng)通訊以及實(shí)時(shí)監(jiān)測(cè)等應(yīng)用,具有實(shí)時(shí)操作系統(tǒng)的諸多功能,,如任務(wù)的調(diào)度管理,、任務(wù)問(wèn)的同步和通訊、內(nèi)存管理,、實(shí)時(shí)時(shí)鐘管理,、中斷服務(wù)管理、外設(shè)驅(qū)動(dòng)程序管理等,。DSP/BIOS由三個(gè)部分組成:DSP/BIOS實(shí)時(shí)內(nèi)核與API,、DSP/BIOS分析工具以及DSP~IOS配置工具” 。

1.1 DSP/BIOS中的線程

         DSP~IOS內(nèi)核通過(guò)在單一處理器上允許高優(yōu)先級(jí)線程搶先低優(yōu)先級(jí)線程的方式支持不同優(yōu)先級(jí)的多種線程,,并負(fù)責(zé)處理各線程之間的各種相互作用,,包括通訊、同步等,。DSP/BIOS支持四種線程:硬件中斷(HWI),、軟件中斷(SWI)、任務(wù)(TSK),、后臺(tái)線程(IDL),。它們的優(yōu)先級(jí)依次從高到低。DSP~IOS用HWI模塊來(lái)管理硬件中斷,,為DSP中的每個(gè)硬件中斷配置了中斷服務(wù)程序(ISR),。硬件中斷用來(lái)處理時(shí)間要求苛刻的關(guān)鍵任務(wù),如系統(tǒng)時(shí)鐘等,。軟件中斷通過(guò)SWI模塊管理,,用于處理一些對(duì)實(shí)時(shí)性要求較低的任務(wù)。任務(wù)通過(guò)TSK模塊管理,后臺(tái)線程的優(yōu)先級(jí)最低,,用于沒(méi)有時(shí)間限制的處理,,只有在其它線程不運(yùn)行時(shí),它才運(yùn)行,。

        任務(wù)管理與軟件中斷的區(qū)別是,,每個(gè)任務(wù)都有自己的堆棧,任務(wù)問(wèn)支持同步和通訊,,一個(gè)任務(wù)可以掛起以等待某一資源的釋放,因此,,特別適用于門禁系統(tǒng)的應(yīng)用,。本文中用到了兩個(gè)任務(wù):tskvideocapture與tskloopback,其中tskvideocapture是視頻獲取任務(wù),,tskloopback是視頻處理和顯示任務(wù),。TASK任務(wù)級(jí)的通訊主要使用SCOM(Synchronized COMmunication module)消息隊(duì)列,。SCOM消息是用戶定義的一個(gè)數(shù)據(jù)結(jié)構(gòu),,用于task之間交換信息。

1.2 DSP/BIOS程序開(kāi)發(fā)

DSP/BIOS支持交互式的應(yīng)用程序開(kāi)發(fā)模式,,開(kāi)發(fā)人員可以用DSP/BIOS先為應(yīng)用程序生成一個(gè)框架,在使用實(shí)際的算法之前給程序加上一個(gè)仿真的運(yùn)算負(fù)荷來(lái)測(cè)試程序,,看是否滿足時(shí)序要求,。開(kāi)發(fā)步驟如下:① 用配置工具建立應(yīng)用程序要用到的對(duì)象,;②保存配置文件,,系統(tǒng)會(huì)生成編澤和鏈接應(yīng)用程序時(shí)需的庫(kù)文件,;③為應(yīng)用程序編寫一個(gè)框架,,可以使用C、c++,、匯編語(yǔ)言;④在CCS環(huán)境下編譯并鏈接程序,;⑤使用仿真器和DSP/BIOS分析工具來(lái)測(cè)試應(yīng)用程序,;⑥ 重復(fù)步驟① 到⑤ 直到程序運(yùn)行正確,;⑦硬件開(kāi)發(fā)好后,,修改配置文件以支持硬件,,并進(jìn)行測(cè)試。

1.3 CDB配置文件

CDB文件包含了以下幾個(gè)部分內(nèi)容:系統(tǒng)部分(System),、實(shí)時(shí)分析部分(Instrumentation),、調(diào)度部分(Scheduling)、同步部分(Synchronization),、輸入輸出部分(Input/Output),、芯片支持庫(kù)部分(CSL),。DSP/BIOS配置工具采用可視化界面,如圖l所示,。

圖 l    DSP~IOS配置界面

 
         具體地說(shuō),,CDB文件的主要配置內(nèi)容有以下幾部分,。系統(tǒng)部分:Global Settings體現(xiàn)系統(tǒng)所用處理器型號(hào)及其各種參數(shù)特性,;MEM體現(xiàn)系統(tǒng)的程序和代碼的放置位置以及占用空間的大小。調(diào)度部分:TSK—Task Manager主要定義用戶定義任務(wù)及系統(tǒng)后臺(tái)線程所調(diào)用的子函數(shù),,任務(wù)的優(yōu)先級(jí)以及其存放位置和堆棧大小的設(shè)置情況,。輸入輸出部分:定義視頻各個(gè)輸入輸出端口如何實(shí)現(xiàn)與片級(jí)支持庫(kù)CSL的鏈接,,從而實(shí)現(xiàn)微驅(qū)動(dòng)和參數(shù)傳遞。

2 門禁系統(tǒng)的硬件結(jié)構(gòu)


        本系統(tǒng)基于TI公司的TMS320DM642設(shè)計(jì)硬件平臺(tái),因?yàn)镈M642有豐富的外部設(shè)備接口,,完全能夠滿足門禁系統(tǒng)的需要,。DM642通過(guò)外部存儲(chǔ)器接口(EMIF)訪問(wèn)片外存儲(chǔ)器SDRAM和FLASH。SDRAM為4M x 64位的同步動(dòng)態(tài)存儲(chǔ)器接口,,用于存儲(chǔ)程序、數(shù)據(jù)和圖像處理中間結(jié)果,,配置在EMIF接口的CE0空間;FL ASH為4M x8位的異步靜態(tài)存儲(chǔ)器接口,,用來(lái)存儲(chǔ)人臉的模板特征,、固化程序,、導(dǎo)入裝載和配置信息,配置在DM642的EMIF的CE1子空間,。此外,CE1子空問(wèn)還分配給狀態(tài)/控制寄存器,、UART等資源使用,。因此,F(xiàn)lash的最大的可尋址范圍為512K x 8位,。為了訪問(wèn)到Flash的所有地址空間,本系統(tǒng)采用分頁(yè)技術(shù)來(lái)實(shí)現(xiàn)對(duì)Flash的訪問(wèn),,即將整個(gè)4M x 8位的Flash分成8個(gè)512×8位的頁(yè),而頁(yè)地址則由位于CPLD中的頁(yè)地址寄存器提供,。選用TVP5150視頻解碼芯片,,通過(guò)I2C可編程總線進(jìn)行控制,采用8位并行總線實(shí)現(xiàn)數(shù)據(jù)的傳輸,。

         系統(tǒng)將模擬PAL視頻信號(hào)轉(zhuǎn)換為BT.656格式的YCbCr(4:2:2)模式的數(shù)字視頻信號(hào),,選用SAA7121視頻編碼芯片,將BT.656格式的數(shù)字視頻信號(hào)轉(zhuǎn)換為PAL格式的視頻輸出,。選用TL16C752B實(shí)現(xiàn)二路異步串口,,每路異步串口占用8個(gè)8位存儲(chǔ)單元。本系統(tǒng)可通過(guò)網(wǎng)絡(luò)接口實(shí)現(xiàn)功能擴(kuò)展,。門禁系統(tǒng)的硬件結(jié)構(gòu)如圖2所示,。

圖 2    門禁系統(tǒng)的硬件結(jié)構(gòu)


     加電后,系統(tǒng)完成初始化,,存儲(chǔ)在FLASH中的程序和數(shù)據(jù)被加載到SDRAM中,。在無(wú)人進(jìn)門時(shí),系統(tǒng)進(jìn)行視頻的采集和回放,。當(dāng)有人要進(jìn)門時(shí),,系統(tǒng)通過(guò)串口給DSP一個(gè)中斷信號(hào),TVP5150視頻解碼芯片將對(duì)攝像頭采集的視頻數(shù)據(jù)進(jìn)行解碼,,實(shí)現(xiàn)A/D轉(zhuǎn)換,,并給出LLC2(采集時(shí)鐘)、VREF(場(chǎng)同步參考信號(hào)),、HREF(行同步參考信號(hào))等采集參考控制信號(hào),,并將解碼得到的YCbCr(4:2:2)模式的人臉圖像存儲(chǔ)在SDRAM中。之后,,DSP對(duì)存儲(chǔ)在SDRAM中的圖像進(jìn)行人臉檢測(cè)和特征提取,,將提取的特征與存儲(chǔ)在FLASH中的模板數(shù)據(jù)作對(duì)比,最后將識(shí)別結(jié)果顯示在液晶屏上,,并通過(guò)多通道緩沖串口給門鎖控制器發(fā)送開(kāi)門信號(hào)或報(bào)警信號(hào),。

3 基于DSP/B10S的軟件程序設(shè)計(jì)實(shí)現(xiàn)

        本系統(tǒng)基于DSP/BIOS架構(gòu)開(kāi)發(fā)實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)分為三部分:輸入控制部分,、視頻處理部分和輸出部分,。輸入控制部分通過(guò)串口中斷來(lái)響應(yīng)外部的輸入;視頻處理部分主要完成視頻流中圖像的人臉檢測(cè),、特征提取和人臉識(shí)別并將結(jié)果輸出,;輸出部分主要是完成識(shí)別結(jié)果的顯示并通過(guò)串口向門鎖控制器發(fā)送信號(hào),。整個(gè)DSP上的軟件由二個(gè)任務(wù)線程組成:tskvideo—capture線程從視頻輸入端口讀取數(shù)據(jù);tskloopback線程完成視頻流中圖像的處理并將結(jié)果輸出,。二者之間靠SCOM消息隊(duì)列進(jìn)行同步和消息傳遞 ,。系統(tǒng)流程如圖3所示。

         當(dāng)系統(tǒng)上電啟動(dòng)后,,首先對(duì)系統(tǒng)進(jìn)行初始化,。初始化完成后,系統(tǒng)進(jìn)行視頻圖像的采集和回放,,GIO/FVID(項(xiàng)層類驅(qū)動(dòng))控制TVP5150通過(guò)EDMA將視頻數(shù)據(jù)YCbCr(4:2:2)傳遞到視頻輸入任務(wù)請(qǐng)求的緩沖I~capFrameBuf中,。當(dāng)系統(tǒng)接收到串El中斷信號(hào)后,視頻處理任務(wù)通過(guò)SCOM通訊從capFrameBuf中將數(shù)據(jù)取走,,進(jìn)行人臉檢測(cè),、特征提取和人臉識(shí)別等一系列操作,并將結(jié)果輸出,。

        本系統(tǒng)軟件通過(guò)在YCbCr色彩空間中建立人臉膚色模型對(duì)人臉進(jìn)行粗檢測(cè),。實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)Cb取值范圍為[90,135],,Cr取值范圍為[120,,168]時(shí),系統(tǒng)對(duì)膚色檢測(cè)效果最好,。人臉粗檢測(cè)后再通過(guò)數(shù)學(xué)形態(tài)學(xué)中的開(kāi)運(yùn)算去除孤立的小點(diǎn),、毛刺和小橋(即連通兩塊區(qū)域的小點(diǎn)),,最后通過(guò)對(duì)膚色中連通域的標(biāo)記和統(tǒng)計(jì)去除非人臉區(qū)域,,得到人臉圖像 。在提取人臉特征之前對(duì)人臉圖像進(jìn)行灰度拉伸和歸一化,,使用離散余弦變換提取人臉特征,,提取的人臉特征可以進(jìn)行兩種操作:作為模板存入人臉特征庫(kù)或進(jìn)行人臉識(shí)別。系統(tǒng)通過(guò)計(jì)算人臉特征,,再與模板庫(kù)中的人臉特征進(jìn)行相似度比對(duì)和識(shí)別,。

4 結(jié)束語(yǔ)

        本文將DM642芯片結(jié)合視頻編解碼芯片和實(shí)時(shí)嵌入式操作系統(tǒng)DSP/BIOS應(yīng)用于門禁系統(tǒng),實(shí)現(xiàn)了完全脫離PC機(jī)的圖像采集,、處理和結(jié)果顯示系統(tǒng),。算法運(yùn)算速度快,實(shí)時(shí)性高,。系統(tǒng)可以通過(guò)串口或網(wǎng)絡(luò)接口實(shí)現(xiàn)人機(jī)交互,,并具有良好的可擴(kuò)展性和獨(dú)立性。

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。