摘 要:針對(duì)目前“嵌入式指紋識(shí)別系統(tǒng)在性價(jià)比及指紋算法的效率和準(zhǔn)確性上存在不足”的問題,介紹了一種基于STM32芯片及SX-T13模塊實(shí)現(xiàn)嵌入式指紋識(shí)別系統(tǒng)的設(shè)計(jì)方法。指紋采集部分采用CMOS光學(xué)傳感器。軟件設(shè)計(jì)采用模塊化編程,設(shè)計(jì)的嵌入式自動(dòng)指紋考勤機(jī)體積小、可移動(dòng),能獨(dú)立完成指紋采集、存儲(chǔ)、比對(duì)和顯示等考勤功能,通過串口可以與PC相連。保證考勤數(shù)據(jù)的真實(shí)性,真正體現(xiàn)公開、公平和公正,能進(jìn)一步提高企業(yè)管理的效率和水平。
關(guān)鍵詞:指紋識(shí)別;SMT32;指紋傳感器;識(shí)別算法
文章根據(jù)企業(yè)和學(xué)校人員管理的需求,設(shè)計(jì)了一款基于ARM平臺(tái)的嵌入式自動(dòng)簽到系統(tǒng)。通過錄入指紋來對(duì)已存儲(chǔ)的指紋進(jìn)行對(duì)比、查詢,并具有對(duì)采集的指紋進(jìn)行注冊(cè)、記錄、顯示和報(bào)警等功能,該系統(tǒng)能夠通過和原始數(shù)據(jù)進(jìn)行分析和計(jì)算,實(shí)現(xiàn)快速的統(tǒng)計(jì),并得出需要的結(jié)果。
1 嵌入式處理器簡(jiǎn)介
嵌入式系統(tǒng)是以應(yīng)用為目的,并且軟硬件均可以裁剪的計(jì)算機(jī)系統(tǒng),主要用于應(yīng)用系統(tǒng)對(duì)成本、體積、功耗、功能以及可靠性等方面要求較高的場(chǎng)合。它由嵌入式微處理器、外圍器件及用戶的程序三方面組成,用于對(duì)其他設(shè)備的監(jiān)視、管理和控制作用。
2 硬件組成
系統(tǒng)硬件主要包括:指紋采集模塊(光學(xué)指紋傳感器、高速DSP處理器、高性能指紋比對(duì)算法、大容量FLASH芯片、串口接口模塊、電源模塊)、指紋數(shù)據(jù)存儲(chǔ)模塊(SRAM)、指紋程序存儲(chǔ)模塊(FLASH)、UART模塊、處理結(jié)果顯示模塊等。
2.1 SX-T13指紋識(shí)別模塊
SX-T13模塊內(nèi)部集成運(yùn)用了第7代指紋識(shí)別算法,結(jié)合傳統(tǒng)算法通過提取特征點(diǎn)數(shù)據(jù)和抽象圖像數(shù)據(jù),實(shí)現(xiàn)了高識(shí)別率和低誤識(shí)率;該模塊的通過率可高達(dá)97%以上,做到了十萬分之一以下的誤識(shí)率。其支持外部存儲(chǔ)功能,將有效指紋存儲(chǔ)到外部FLASH芯片中,通常版配置512K flash,除去應(yīng)用程序占用的內(nèi)存,剩余空間可存儲(chǔ)304個(gè)有效用戶,能夠滿足大多數(shù)場(chǎng)合的需求。
2.1.1 光學(xué)指紋傳感器
SX-T13指紋識(shí)別模塊采用光學(xué)指紋傳感器,它利用光的折攝和反射將指紋的紋形投射到電荷耦合器件上,將指紋的紋形進(jìn)行數(shù)字化,形成多灰度指紋圖像送入指紋設(shè)備進(jìn)行算法處理。
光學(xué)指紋傳感器經(jīng)歷了長(zhǎng)期的實(shí)踐檢驗(yàn),因此,系統(tǒng)具有較高的穩(wěn)定性、成本低、體積小、能提供500 dpi的圖像、能夠采集大片區(qū)域的指紋圖像等優(yōu)點(diǎn)。
2.1.2 高速DSP處理技術(shù)
SX-T13指紋識(shí)別模塊內(nèi)部的數(shù)字信號(hào)處理器采用高速DSP芯片,該芯片具有以下特點(diǎn):(1)采用多總線結(jié)構(gòu)。(2)采用流水線操作。(3)擁有專用的硬件乘法器。(4)具有多機(jī)并行運(yùn)行特性。(5)具有低功耗的特性。(6)擁有高度的運(yùn)算精度。
2.1.3 接口介紹
SX-T13是一個(gè)從模塊,主控端通過發(fā)送相應(yīng)指令去操作它,模塊使用的通訊方式為3.3V TTL串口,連接電腦時(shí)需要進(jìn)行電平轉(zhuǎn)換。
2.2 電源供電
電源部分使用了工頻電源,通過變壓器T_220-6降壓到6V,然后經(jīng)D_bridge橋式整流,濾波后變?yōu)橹绷?V,然后經(jīng)過7805穩(wěn)壓后為12864液晶提供電源,再通過AMS1117-3.3V穩(wěn)壓后為整個(gè)電路提供所需要的3.3V供電電壓。整個(gè)電源供電電路如圖3所示,其中S2為總電源開關(guān),S1是電源切換開關(guān),作用是實(shí)現(xiàn)USB和電池供電的轉(zhuǎn)換,當(dāng)沒有連接USB時(shí)采用電池供電,而連接時(shí),則用USB接口供電。電路如圖1所示。
2.3 液晶顯示電路
液晶電路由12864構(gòu)成,它主要完成人機(jī)交互的作用,例如:當(dāng)用戶調(diào)取當(dāng)前已經(jīng)簽到的人數(shù)時(shí),具體數(shù)據(jù)可以通過液晶窗口進(jìn)行顯示。蜂鳴器的作用是,當(dāng)用戶錄入指紋成功時(shí),蜂鳴器響一聲,同時(shí)在液晶上顯示“簽到成功,謝謝!”當(dāng)錄入指紋失敗時(shí),蜂鳴器連響兩聲,并在液晶上顯示“簽到失敗,請(qǐng)重試!”具體電路如圖2所示:
2.4 矩陣鍵盤電路
SX-T13指紋識(shí)別模塊具有獲取用戶總數(shù)、刪除所有用戶、刪除特定用戶、用戶注冊(cè)、獲取未使用的用戶ID、1:N比對(duì)等30個(gè)功能命令,本設(shè)計(jì)將常用的十六個(gè)功能都對(duì)應(yīng)到相應(yīng)的按鍵上,以便用戶進(jìn)行相應(yīng)的操作。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)應(yīng)用程序設(shè)計(jì)
嵌入式指紋識(shí)別系統(tǒng)的應(yīng)用程序在以STM32F103VET6為主控器的ARM開發(fā)板上運(yùn)行,主控程序的流程如圖4所示。
3.2 應(yīng)用程序開發(fā)環(huán)境介紹
MDK是Keil公司針對(duì)基于ARM核的系列微控制器進(jìn)行嵌入式應(yīng)用程序的開發(fā)而研發(fā)的工具。它便于處于各種層次的開發(fā)者使用,可以使專業(yè)的應(yīng)用程序研發(fā)工程師和入門者共同使用一個(gè)平臺(tái)。
ARM編譯工具鏈包含:ARM Macro匯編器、ARM鏈接器、ARM C/C++ 編譯器、Microlib,具有針對(duì)ARM架構(gòu)的各種的微控制器編譯器,工程師可以輕松地編寫C或者C++應(yīng)用程序。
開發(fā)板上電以后,主程序開始對(duì)指紋簽到系統(tǒng)的各個(gè)組成部分進(jìn)行初始化,包括LCD和指紋采集模塊,并開始查詢上位機(jī)系統(tǒng)是否發(fā)出命令指示,上位機(jī)的指令有:用戶注冊(cè)、查詢用戶總數(shù)、對(duì)比用戶、刪除用戶等;上位機(jī)與下位機(jī)的通訊通過中斷方式進(jìn)行,這樣的優(yōu)點(diǎn)是優(yōu)先級(jí)高,響應(yīng)速度快,實(shí)時(shí)處理等。
3.3 指紋模塊響應(yīng)過程
當(dāng)指紋模塊接收到采集命令后,點(diǎn)亮內(nèi)置光源并進(jìn)入采集模式,開始自動(dòng)檢測(cè)手指是否放在模塊感應(yīng)屏上面,如果在三秒內(nèi)檢測(cè)不到手指,則傳感器就判斷沒有手指放在感應(yīng)屏上面,于是結(jié)束本次采集任務(wù),當(dāng)檢測(cè)到手指以后即開始采集指紋圖像。
3.4 指紋識(shí)別算法
文章設(shè)計(jì)對(duì)指紋識(shí)別處理過程包括三步:預(yù)處理指紋圖像、提取指紋特征值和指紋匹配。
3.4.1 指紋圖像預(yù)處理
由于受外界各種因素的影響,使采集到的指紋圖像出現(xiàn)紋線間的粘接、紋線斷裂、模糊等不良情況,因此,在提取圖像特征值之前需對(duì)指紋圖像進(jìn)行預(yù)處理。
指紋圖像的預(yù)處理過程如下:
(1)指紋圖像分割。將采集到的指紋圖像中紋線粘接、斷裂、模糊的部分去除,保留比較清楚的圖像部分,為后面的處理減輕負(fù)擔(dān)。
(2)指紋圖像增強(qiáng)。將采集到的指紋圖像感興趣的部分進(jìn)行有選擇的突出,衰減不重要的信息,消除圖像中的噪聲干擾,將采集的紋線結(jié)構(gòu)變得清晰化,以保證后續(xù)提取信息的精確可靠。
(3)指紋圖像進(jìn)行二值化處理。采集到的原始圖像具有不同的像素灰度,而提取特征值只是關(guān)心像素是不是脊線上的點(diǎn),因此將采集到的圖像進(jìn)行二值化,指紋的脊線為黑色,谷線為白色。這樣處理后,不僅減少了數(shù)據(jù)的存儲(chǔ)量,而且使后面的處理減少了干擾。
(4)指紋圖像細(xì)化。因?yàn)橹讣y識(shí)別只是對(duì)指紋脊線的走向和特征感興趣,而不關(guān)心脊線的粗細(xì),細(xì)化就是沿著脊線以一個(gè)像素寬度描述出脊線的原始狀態(tài),將指紋圖像進(jìn)行細(xì)化后,使圖像變得更加清晰。
3.4.2 指紋特征值提取
指紋的匹配很復(fù)雜,指紋匹配的算法就是將采集到的指紋圖像上的特征點(diǎn)與指紋數(shù)據(jù)庫(kù)中的指紋特征值進(jìn)行比對(duì)。指紋的特征點(diǎn)就是:交叉點(diǎn)、分歧點(diǎn)、端點(diǎn)、橋型、口型等,端點(diǎn)和分歧點(diǎn)占所有指紋特征的68.2%和23.8%,所以在大多數(shù)的指紋識(shí)別中,只提取端點(diǎn)和分歧點(diǎn)作為特征值。
分析指紋圖像的端點(diǎn)和分歧點(diǎn)8個(gè)鄰域中的像素點(diǎn)的,用“1”表示脊線上的點(diǎn),用“0”表示背景,端點(diǎn)周圍8個(gè)像素中只有一個(gè)值為“1”,則像素值從0變到1,或者從1變到0的次數(shù)為2,而分歧點(diǎn)的像素值順序變化的次數(shù)為6,連續(xù)點(diǎn)的變化次數(shù)為4,由此可以提取指紋圖像的特征值。
3.4.3 指紋特征匹配
提取出指紋圖像的細(xì)節(jié)特征值后,指紋識(shí)別系統(tǒng)就可以根據(jù)這些特征值的匹配結(jié)果來進(jìn)行識(shí)別的,指紋識(shí)別系統(tǒng)的精度好壞就跟匹配算法有直接關(guān)系,因?yàn)槠ヅ溆玫氖翘崛〉奶卣髦导?,因此必須解決兩個(gè)集合之間的幾何不變性。本設(shè)計(jì)中用的指紋模塊采用的是特征點(diǎn)組的匹配方法:就是以三個(gè)特征點(diǎn)為一組,構(gòu)成三角形進(jìn)行圖像的匹配,根據(jù)三角形的參數(shù)就可以得出兩個(gè)特征點(diǎn)集合的相似性。這種方法不僅利用了特征點(diǎn)的屬性,而且充分利用了特征點(diǎn)的空間位置,因此對(duì)于各種干擾和噪聲有很好的抑制作用。
4 系統(tǒng)測(cè)試
為了檢測(cè)設(shè)計(jì)好的簽到系統(tǒng)的可靠性和可行性,對(duì)該系統(tǒng)進(jìn)行了指紋識(shí)別系統(tǒng)的測(cè)試。經(jīng)檢測(cè),整個(gè)系統(tǒng)達(dá)到了設(shè)計(jì)時(shí)的效果,系統(tǒng)的軟件和硬件都運(yùn)行正常,能夠完成指紋注冊(cè)、比對(duì)、刪除等功能。系統(tǒng)穩(wěn)定可靠,通過率高,誤識(shí)率低。
5 結(jié)束語
文章采用 SX-T13 指紋識(shí)別模塊和基于ARM Cortex-M3處理器的STM32系列單片機(jī),設(shè)計(jì)了一款自動(dòng)指紋識(shí)別簽到系統(tǒng)。該簽到系統(tǒng)體積小、可移動(dòng),具有指紋采集、存儲(chǔ)、比對(duì)和顯示等功能,通過USB接口可以連接PC或USB存儲(chǔ)設(shè)備,并能將數(shù)據(jù)自動(dòng)存儲(chǔ)和備份。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)的硬件和軟件都運(yùn)行正常,達(dá)到了預(yù)期的目標(biāo)。通過USB接口可以將考勤信息上傳,通過連接PC機(jī)可以實(shí)現(xiàn)異地簽到,隨著功能的不斷完善,基于ARM嵌入式微控器的指紋識(shí)別考勤系統(tǒng)將具有長(zhǎng)遠(yuǎn)的發(fā)展前景。
參考文獻(xiàn)
[1]段少雄.高效指紋考勤系統(tǒng)的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程,2003,29(9).
[2]唐業(yè),等.基于智能卡的分布式考勤管理系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(5).
[3]孫冬梅,裘正定.生物特征識(shí)別技術(shù)綜述[J].電子學(xué)報(bào),2001,29(12):1744-1748.
[4]黃林波.基于ARM的指紋識(shí)別模塊的研究與開發(fā)[D].哈爾濱理工大學(xué),2005,3.
[5]顏浩洋.嵌入式指紋識(shí)別系統(tǒng)的硬件設(shè)計(jì)[D].重慶大學(xué),2007,5.