基于ARM的指紋識(shí)別門禁系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:傳統(tǒng)的身份識(shí)別技術(shù)已經(jīng)不能滿足現(xiàn)代社會(huì)需要,因而指紋識(shí)別技術(shù)得到了廣泛應(yīng)用。文章介紹了指紋識(shí)別原理與處理方法,指出了一種基于嵌入式ARM9體系結(jié)構(gòu)的指紋識(shí)別門禁系統(tǒng)的軟硬件設(shè)計(jì)方法。
關(guān)鍵詞:ARM;指紋識(shí)別;S3C2440AL;TFS-D0303
0 引言
現(xiàn)代社會(huì)高速發(fā)展,很多場(chǎng)合需要身份確認(rèn),傳統(tǒng)的身份識(shí)別技術(shù)已經(jīng)不能滿足社會(huì)要求。人的身體特征具有不可復(fù)制性,因此人們開始研究生物識(shí)別技術(shù),而指紋具有唯一性、終生不變性、難于偽造等特點(diǎn),安全性高,因而得到了廣泛應(yīng)用。在一些機(jī)要部門,如銀行、賓館、機(jī)房等一般都安裝有門禁系統(tǒng),門禁系統(tǒng)是為保障人們生活、工作及財(cái)產(chǎn)安全, 對(duì)重要通道的出入口進(jìn)行管理與控制的系統(tǒng),基于指紋識(shí)別技術(shù)的門禁系統(tǒng)是一項(xiàng)高科技安全設(shè)施,提高了系統(tǒng)的安全性。ARM作為一種嵌入式系統(tǒng)處理器,具有高性能、低功耗、低成本等特點(diǎn),因而在工業(yè)控制領(lǐng)域、成像和安全產(chǎn)品方面得到了廣泛應(yīng)用。本文介紹了基于嵌入式ARM9體系結(jié)構(gòu)的指紋識(shí)別原理與處理方法,以及指紋識(shí)別門禁系統(tǒng)的軟硬件設(shè)計(jì)方法。
1 指紋識(shí)別原理及處理方法
指紋識(shí)別技術(shù)通過分析指紋的局部特征,從中抽取詳盡的特征點(diǎn),從而可靠地確認(rèn)個(gè)人身份。指紋識(shí)別技術(shù)主要涉及四個(gè)功能:讀取指紋圖象、提取特征、保存數(shù)據(jù)和比對(duì)。首先從獲取的指紋圖像上找到“特征點(diǎn)”,然后根據(jù)特征點(diǎn)的特性建立用戶活體指紋的指紋特征數(shù)據(jù)(一種單向的轉(zhuǎn)換,可以從指紋圖像轉(zhuǎn)換成特征數(shù)據(jù)但不能從特征數(shù)據(jù)轉(zhuǎn)換成為指紋圖像)。由于兩枚不同的指紋不會(huì)產(chǎn)生相同的特征數(shù)據(jù),所以通過對(duì)所采集到的指紋圖像的特征數(shù)據(jù)和存放在數(shù)據(jù)庫中的指紋特征數(shù)據(jù)進(jìn)行模式匹配,從而計(jì)算出它們的相似程度,最終得到兩個(gè)指紋的匹配結(jié)果,根據(jù)匹配結(jié)果來鑒別用戶身份。
1.1 指紋圖像的采集
光學(xué)取像有著悠久的歷史,它可以追溯到上世紀(jì)70年代,依據(jù)的是光的全反射原理?,F(xiàn)在一般采用光學(xué)指紋傳感器來采集指紋,取得指紋具有圖像清晰、功耗低、穩(wěn)定性高等特點(diǎn)。本系統(tǒng)采用的是TFS—D0303光學(xué)指紋傳感器。
1.2 指紋識(shí)別的算法實(shí)現(xiàn)
指紋識(shí)別算法的有效性直接影響著指紋識(shí)別的精確度和指紋識(shí)別門禁系統(tǒng)的安全性和穩(wěn)定性,對(duì)整個(gè)門禁的安全性和可靠性起著決定性的作用。指紋識(shí)別算法的處理過程主要包括:圖像處理、紋路細(xì)化、特征提取和特征匹配等(見圖1)。
預(yù)處理在指紋識(shí)別中是不可缺少的步驟。其目的是去除圖像獲取時(shí)所引入的噪聲,消除低質(zhì)量圖像的影響,以便后續(xù)環(huán)節(jié)能夠正確地進(jìn)行特征提取和分類識(shí)別。預(yù)處理過程主要包括圖像分割、平滑、圖像增強(qiáng)、二值化和細(xì)化等步驟,每經(jīng)過一個(gè)步驟都可以改善圖像的質(zhì)量,有利于后面的工作。
環(huán)境溫度的影響或手指干燥可能會(huì)使指紋圖像產(chǎn)生紋線不連續(xù)。對(duì)于指紋紋線不連續(xù)的指紋圖像,一般要經(jīng)過平滑濾波處理,這也是對(duì)圖像進(jìn)行模糊化,使斷裂的紋線邊界經(jīng)過模糊后連接起來。在本算法中采用低通濾波器對(duì)各塊指紋圖像的方向信息進(jìn)行塊水平的平滑,修正不準(zhǔn)確的計(jì)算結(jié)果。
具體方法為先計(jì)算0(x,y)在X軸和Y軸上的投影分量:
式中,H(u,v) 為二維低通濾波器;w1×w1為5×5濾波器尺寸;w為圖像子塊尺寸(本算法取w=10個(gè)像素大小)。
經(jīng)過紋路細(xì)化, 二值化圖像的紋路線被細(xì)化為只有一個(gè)像素寬的連接線段。顯示了原始指紋圖像、增強(qiáng)后的二值化圖像以及細(xì)化后的二值化圖像。指紋的特征點(diǎn)信息是從細(xì)化后的二值化圖像中提取的。從細(xì)化后的二值化圖像中找到分叉點(diǎn)或端點(diǎn),然后從這些點(diǎn)開始尋找紋路軌跡。通過這些點(diǎn),紋路的形狀被計(jì)算出來。這些形狀數(shù)據(jù)、點(diǎn)的類型以及點(diǎn)的位置就作為該指紋圖像的特征點(diǎn)被記錄下來。
特征匹配是根據(jù)兩幅圖像特征點(diǎn)的最大匹配點(diǎn)支持?jǐn)?shù)來確定的。假設(shè)有甲和乙兩幅圖像,首先依次以甲圖的每一個(gè)特征點(diǎn)為基準(zhǔn),依次計(jì)算乙圖像中每個(gè)和甲圖中基準(zhǔn)特征點(diǎn)類型相同的特征點(diǎn)到乙圖中每個(gè)特征點(diǎn)的距離和方向,根據(jù)這個(gè)距離和方向,再以甲圖中的基準(zhǔn)點(diǎn)為原點(diǎn),計(jì)算出甲圖中的一個(gè)點(diǎn),然后判斷是否也是甲圖的特征點(diǎn),如果是,則匹配支持?jǐn)?shù)加1。按甲圖中特征點(diǎn)順序依次計(jì)算,取最大值就是兩幅圖像的最大支持匹配點(diǎn)數(shù)。如果最大匹配支持點(diǎn)數(shù)大于規(guī)定的值,則認(rèn)為兩幅圖像匹配。否則,不匹配。
2 系統(tǒng)硬件設(shè)計(jì)
基于RISC體系結(jié)構(gòu)的ARM微處理器因其體積小、功耗低、執(zhí)行速度快等優(yōu)點(diǎn)在多個(gè)領(lǐng)域得到廣泛應(yīng)用。本系統(tǒng)采用的是三星公司的嵌入式微處理器S3C2440AL,這是一款高性能、低功耗的功能強(qiáng)大的嵌入式應(yīng)用處理器產(chǎn)品,它采用Intel X-Scale微結(jié)構(gòu)體系框架,集成了許多常用的外圍接口,功能強(qiáng)大。S3C2440AL主頻為400MHz,最高為533MHz;TFS-D0303指紋傳感器由256×300個(gè)電容傳感陣列組成,其分辨率高達(dá)500dpi,工作電壓范圍為3.3~5V,傳感器內(nèi)部有8位ADC,并具有2組采樣保持電路。整個(gè)硬件系統(tǒng)的框圖如圖2所示。
系統(tǒng)存儲(chǔ)器接口采用128MB SDRAM存儲(chǔ)器,支持16、64、128、256MB DRAM技術(shù),4個(gè)SDRAM區(qū),每個(gè)區(qū)支持64M存儲(chǔ)器。時(shí)鐘允許(一個(gè)CKE引腳用于把整個(gè)SDRAM接口置為自我刷新),支持最多至6個(gè)靜態(tài)存儲(chǔ)器器件(SRAM、Flash、ROM),支持2個(gè)PCMCI/CF插槽。時(shí)鐘采用3.6864M-Hz振蕩器,具有核PLL和外圍PLL,可產(chǎn)生各種工作頻率,32.768kHz振蕩器可驅(qū)動(dòng)實(shí)時(shí)時(shí)鐘、電源管理器和中斷控制器。電源控制器可控制快速/運(yùn)行、空閑和睡眠工作方式。LCD控制器支持被動(dòng)(DSTN)和主動(dòng)(TFT)LCD顯示,最大分辨率800×600×16,2個(gè)專用DMA通道,允許LCD控制器支持單層或雙層顯示。實(shí)時(shí)時(shí)鐘(RTC),可產(chǎn)生周期性中斷,把應(yīng)用處理器從睡眠狀態(tài)喚醒。串行口通信USB從模塊,符合USB規(guī)范,支持v1.1版本,支持多達(dá)16個(gè)端點(diǎn)提供48MHz的內(nèi)部時(shí)鐘。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)主要有以下幾個(gè)流程:上電系統(tǒng)初始化、指紋識(shí)別、控制電鎖的開啟。系統(tǒng)的精度絕大部分取決于指紋識(shí)別的算法。程序初始化后進(jìn)入低功耗模式,等待各種具體操作。當(dāng)有指紋采集時(shí),就進(jìn)入指紋數(shù)據(jù)采集和處理模塊,處理結(jié)束后,又重新退回低功耗等待模式,等待其他操作。同理,當(dāng)有讀卡數(shù)據(jù)或者時(shí)鐘設(shè)置響應(yīng)時(shí),便進(jìn)入相應(yīng)的操作模塊進(jìn)行處理。
3.1 對(duì)S3C2440AL的初始化
系統(tǒng)初始化對(duì)于嵌入式系統(tǒng),要在其程序存儲(chǔ)器中有系統(tǒng)初始化代碼(如圖3)。系統(tǒng)執(zhí)行了初始化代碼后,才能正確執(zhí)行其他應(yīng)用程序,初始化在系統(tǒng)復(fù)位后自動(dòng)完成。系統(tǒng)的初始化必須包含下列初始化代碼,有設(shè)置中斷向量表、初始化寄存器、初始化堆棧指針寄存器、初始化端口、改變處理器的工作模式。系統(tǒng)在用戶模式下才能開中斷。在對(duì)指紋傳感器的初始化中,應(yīng)按要求逐步對(duì)控制寄存器進(jìn)行初始化。
3.2 指紋采集
指紋采集可以工作在中斷方式,也可以工作在查詢方式。本系統(tǒng)采用的是查詢工作方式。程序流程大致如下,先初始化各寄存器,先往相應(yīng)的寄存器寫入控制字,設(shè)置采集指紋的參數(shù),當(dāng)指紋被自動(dòng)采集進(jìn)入數(shù)據(jù)寄存器,把指紋數(shù)據(jù)存入到指定的存儲(chǔ)空間。
3.3 與計(jì)算機(jī)之間的通信
RS232串口用于S3C2440AL與上位機(jī)的通信,當(dāng)存儲(chǔ)圖像過多時(shí),可把圖像存儲(chǔ)在上位機(jī)上。S3C2440AL的UART可工作在中斷模式或DMA模式下。本系統(tǒng)選用的是中斷模式,也可以用查詢方式。程序可以控制端口的波特率、數(shù)據(jù)寬度(5、6、7、8位)、停止位(1到2位)、極性控制等通信協(xié)議的設(shè)置。
4 結(jié)束語
本文介紹了基于ARM的指紋識(shí)別門禁系統(tǒng)的軟硬件設(shè)計(jì)。ARM體系結(jié)構(gòu)有豐富的接口,在門禁、監(jiān)控等領(lǐng)域正發(fā)揮越來越重要的作用,面向可集成、可移植的特定嵌入式系統(tǒng)越來越多地出現(xiàn)在工程應(yīng)用領(lǐng)域。本文實(shí)現(xiàn)的指紋識(shí)別門禁系統(tǒng)具有輕便、易安裝、成本低的優(yōu)點(diǎn),具有良好的發(fā)展前景。