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

引言

         在數(shù)字化網(wǎng)絡(luò)化飛速發(fā)展的今天,門(mén)禁技術(shù)也得到了迅猛的發(fā)展。生物認(rèn)證技術(shù)由于其具有高可靠性、安全性、方便性等特點(diǎn),逐漸受到社會(huì)的矚目。傳統(tǒng)的人臉圖像識(shí)別系統(tǒng)依賴(lài)于較大型設(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ù)的門(mén)禁系統(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ù)可以掛起以等待某一資源的釋放,因此,特別適用于門(mén)禁系統(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)用程序編寫(xiě)一個(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 門(mén)禁系統(tǒng)的硬件結(jié)構(gòu)


        本系統(tǒng)基于TI公司的TMS320DM642設(shè)計(jì)硬件平臺(tái),因?yàn)镈M642有豐富的外部設(shè)備接口,完全能夠滿足門(mén)禁系統(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ò)展。門(mén)禁系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。

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


     加電后,系統(tǒng)完成初始化,存儲(chǔ)在FLASH中的程序和數(shù)據(jù)被加載到SDRAM中。在無(wú)人進(jìn)門(mén)時(shí),系統(tǒng)進(jìn)行視頻的采集和回放。當(dāng)有人要進(jìn)門(mé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ò)多通道緩沖串口給門(mén)鎖控制器發(fā)送開(kāi)門(mén)信號(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ò)串口向門(mén)鎖控制器發(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)層類(lèi)驅(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)用于門(mén)禁系統(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)載。