當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化

摘 要: 為了提高指紋識別系統(tǒng)的實時性和處理速度,設(shè)計和實現(xiàn)了一種基于FPGA的嵌入式指紋識別系統(tǒng)。該系統(tǒng)采用處理器結(jié)合自定義硬件邏輯的方法,以下載到FPGA的MICOBLAZE嵌入式軟核為系統(tǒng)控制模塊,運(yùn)用FPGA路基單元實現(xiàn)指紋圖像的處理。在設(shè)計中,指紋圖像處理的算法通過SG(System Generator)軟件設(shè)計,采用Matlab語言和Verilog語音混合編寫的方式實現(xiàn)專用的處理模塊,較大地提高了系統(tǒng)的處理速度。
關(guān)鍵詞: 指紋識別;FPGA;MICOBLAZE;軟硬件協(xié)同;嵌入式

 指紋識別作為生物特征識別的一種方法,在身份識別上有著其他識別方法不可比擬的優(yōu)越性:指紋具有唯一性、終生不變性、難以復(fù)制、易獲取等優(yōu)點。傳統(tǒng)的指紋識別系統(tǒng)基于PC機(jī),雖然系統(tǒng)的識別速度快,樣本存儲量大,但存在結(jié)構(gòu)體積大、成本高、移動性能差的缺點;采用DSP組成的識別系統(tǒng)又存在外圍電路復(fù)雜、設(shè)計開發(fā)時間長、系統(tǒng)可擴(kuò)展性差的問題。
本文給出了一種基于Xilinx公司FPGA的指紋識別系統(tǒng)設(shè)計方法。利用Xilinx公司的EDK和SG(System Generator)開發(fā)軟件,創(chuàng)建配置MICOBLAZE軟核,并添加自定義指令與系統(tǒng)邏輯相結(jié)合構(gòu)成完善的SoPC系統(tǒng)[1]。該方法采用硬件實現(xiàn)圖像的預(yù)處理以及識別的部分算法,具有靈活的設(shè)計方式,可裁剪、可擴(kuò)充,并具備系統(tǒng)軟硬件可協(xié)同設(shè)計的特點,極大地提高了處理速度,滿足了系統(tǒng)的實時性要求。
1 指紋識別的基本原理
指紋識別是指從已得到的指紋數(shù)據(jù)庫中查找出與輸入指紋相同的指紋數(shù)據(jù),達(dá)到識別輸入者身份的目的。指紋識別系統(tǒng)主要包括指紋的采集、指紋圖像預(yù)處理和特征提取、特征模板存儲、指紋圖像的特征匹配以及輸出顯示匹配結(jié)果[2-3]。指紋識別系統(tǒng)的基本原理框圖如圖1所示。

2 指紋識別系統(tǒng)設(shè)計
2.1 系統(tǒng)硬件總體設(shè)計
系統(tǒng)主要實現(xiàn)指紋的錄入和識別。先通過指紋傳感器獲取指紋圖像信息,再由指紋處理模塊進(jìn)行圖像的預(yù)處理、特征提取等相關(guān)操作,最后保存到存取單元中建立指紋庫。識別時,同樣通過指紋傳感器錄入待識別的指紋,再經(jīng)過指紋處理模塊完成圖像處理以及特征提取,然后將提取出的指紋信息與指紋庫中信息進(jìn)行匹配,顯示匹配結(jié)果。
識別系統(tǒng)由指紋傳感器、系統(tǒng)控制模塊、指紋處理模塊、存儲模塊、通信接口模塊、輸入輸出模塊等部分組成。指紋的采集通過指紋傳感器完成,將指紋轉(zhuǎn)換成具有一定灰度級的數(shù)字圖像。在控制模塊的作用下,通過接口電路的控制,將錄入的指紋圖像輸入至識別系統(tǒng)。
指紋處理模塊主要完成指紋的預(yù)處理和指紋的特征提取功能。而輸出模塊則負(fù)責(zé)顯示輸入的測試者信息及指紋的比對結(jié)果。
存儲模塊分為靜態(tài)存儲器RAM和閃存Flash。其中靜態(tài)存儲器RAM作為系統(tǒng)存放臨時數(shù)據(jù)的單元;閃存Flash用于存放控制系統(tǒng)建檔后的指紋數(shù)據(jù)和識別比對程序。
控制系統(tǒng)用來協(xié)調(diào)各個外設(shè)的工作,實現(xiàn)狀態(tài)的控制以及設(shè)備間的數(shù)據(jù)通信等操作。主要操作包括:電路的輸入信號、對指紋傳感器的啟動、指紋數(shù)據(jù)的讀取、指紋圖像的處理以及數(shù)據(jù)的存儲、匹配和結(jié)果的輸出。
2.2 系統(tǒng)軟件總體設(shè)計
根據(jù)系統(tǒng)的設(shè)計要求,需要建立相配套的指紋識別庫并對需要識別的指紋進(jìn)行識別。設(shè)計中將預(yù)處理過程中耗時較大的部分用FPGA實現(xiàn),將處理過程復(fù)雜的運(yùn)算用軟件編程的形式實現(xiàn),最終由MICOBLAZE軟核完成軟件的執(zhí)行以及軟硬件之間的協(xié)調(diào)。指紋識別系統(tǒng)的軟件運(yùn)行流程如圖2所示。

3 指紋識別系統(tǒng)的設(shè)計與實現(xiàn)
3.1 指紋傳感器的設(shè)計與實現(xiàn)[4]
指紋采集卡是指紋識別系統(tǒng)硬件的重要組成部分,由指紋傳感器及其外圍電路組成,其功能是采集指紋紋理圖像。本系統(tǒng)采用美國富士通公司的MBF200電容指紋采集傳感器實現(xiàn)對指紋圖像的采集。該指紋傳感器最大優(yōu)點是在保證指紋圖像高分辨率的同時減少了傳感器的尺寸。
MFB200芯片內(nèi)置的SPI接口可以極大地降低芯片對硬件的依賴,只需要5條信號線就可以與微處理器通信,因此使用SPI接口方式將MBF200作為從設(shè)備與FPGA相互連接。
3.2 控制模塊的設(shè)計與實現(xiàn)
協(xié)調(diào)各個指紋處理子模塊的運(yùn)行,實現(xiàn)各個指紋處理子模塊與系統(tǒng)片內(nèi)MICOBLAZE嵌入式處理器以及存儲設(shè)備之間的通信,是控制模塊的主要功能。
設(shè)計時指紋控制模塊預(yù)留PLB總線主從端口各一個。在MICOBLAZE處理器通過指紋采集器取指紋圖像數(shù)據(jù),存儲到靜態(tài)存儲單元RAM后,處理器通過PLB總線訪問指紋控制模塊的總線從端口,設(shè)定控制模塊的操作地址和操作類型。完成配置后,控制單元獲得總線使用權(quán),通過主端口發(fā)送相關(guān)指令給圖像處理模塊,讓其根據(jù)處理器規(guī)定的處理方式,從給定的地址單元取出圖像數(shù)據(jù)進(jìn)行處理。最后將處理完成后的新數(shù)據(jù)存儲到片內(nèi)的FLASH或存儲器中。
3.3 指紋圖像處理模塊的設(shè)計與實現(xiàn)
指紋圖像處理模塊包括:圖像的預(yù)處理和圖像的特征提取兩個子模塊。這些模塊的計算量大,但是算法不是很復(fù)雜。為了提高對圖像信息的處理速度,將這些處理過程用硬件實現(xiàn),即通過System Generator完成該模塊的硬件電路設(shè)計。
圖像預(yù)處理子模塊包括:平滑、銳化、二值化以及細(xì)化四個部分[5]。指紋圖像平滑處理是指紋預(yù)處理的第一步??紤]到在去除輸入噪聲的同時要較好地保證圖像的清晰度,本模塊采用了中值濾波的方法。中值濾波器的定義如式(1):

其中g(shù)(x,y),f(x,y)為像素的灰度值,即把f(x,y)領(lǐng)域所有像素灰度值排序,求處于中間位置的值代替f(x,y)。在SG中實現(xiàn)框框圖及平滑后的指紋圖像如圖3所示。

經(jīng)過平滑處理后的指紋圖像會變得模糊,通過圖像銳化技術(shù),使圖像的邊緣、輪廓線以及圖像的細(xì)節(jié)變得清晰。模塊采用Sobel微分算子進(jìn)行銳化處理,處理模板如式(2)所示:

在SG中實現(xiàn)框框圖及銳化處理后的指紋圖像如圖4所示。

圖像的二值化,就是把灰度圖像轉(zhuǎn)變?yōu)楹诎紫嚅g的二值圖像,由于采集到的指紋圖像在不同區(qū)域深淺不一,如對整幅圖像使用同一閾值進(jìn)行二值分割,會造成大量有用信息的丟失。故二值化子模塊使用自適應(yīng)局部閾值二值化的思想[6-7],既將圖像分割成多個小塊,對每個小塊進(jìn)行分別計算,局部閾值的選取參考局部塊的各個像素,而且選取的閾值應(yīng)盡量使該塊圖像內(nèi)大于該閾值的像素點數(shù)等于小于該閾值的像素點數(shù),從而保持大量有用信息。在SG中實現(xiàn)框框圖,及二值化后的指紋圖像如圖5所示。

細(xì)化是把清晰但紋線粗細(xì)不均的二值指紋圖像轉(zhuǎn)化成線寬為一個像素的條紋中心點線圖像的過程,以便后續(xù)的特征提取過程能精確定位。細(xì)化算法中將OPTA算法進(jìn)行了優(yōu)化,即滿足收斂性、連續(xù)性、拓?fù)湫院捅3中?,又能在三叉點處完全細(xì)化,使圖像平滑,保護(hù)紋線的特征。
在圖像的特征提取個子模塊中,結(jié)合細(xì)化圖像的特點,不對紋線做任何修復(fù)處理,在細(xì)化指紋圖像上直接提取原始細(xì)節(jié)特征點集。在SG中實現(xiàn)框框圖及二值化后的指紋圖像如圖6所示。特征端點用‘O’標(biāo)注,特征分叉點用‘+’標(biāo)注,中心點用‘*’標(biāo)注。

3.4 指紋識別系統(tǒng)的軟件設(shè)計與實現(xiàn)
軟件設(shè)計包括:各個系統(tǒng)外設(shè)的驅(qū)動程序,去偽特征點程序以及特征點匹配比對程序。通過C語言完成這些程序的編寫,然后通過EDK中自帶的嵌入式編譯器SDK完成相關(guān)的調(diào)試。最后可以將編譯好的BIT文件下載到FPGA中,完成相關(guān)的功能。由于本文討論的是SoPC的設(shè)計,在這里就不做詳細(xì)介紹。
4 系統(tǒng)性能分析及測試結(jié)果
4.1 系統(tǒng)的性能分析
在設(shè)計時,將系統(tǒng)劃分成了若干小的模塊,便于實現(xiàn)和調(diào)試。其次將運(yùn)算量大、但是實現(xiàn)相對簡單的模塊用硬件實現(xiàn);主要通過SG完成相關(guān)的編程,在簡單電路設(shè)計時通常使用Verilog語言直接編寫,而有些特定算法實現(xiàn)時則通過Matlab語言輔助編寫完成設(shè)計。此外SG使用了Xilinx經(jīng)過優(yōu)化的IP核和庫函數(shù),很好地完成系統(tǒng)的圖像平滑、銳化、細(xì)化以及特征點提取算法所要用到的運(yùn)算操作。在保證系統(tǒng)實時性的同時,達(dá)到優(yōu)化設(shè)計的效果;而且整個設(shè)計都是以圖形化界面為主,可以根據(jù)設(shè)計需要輕松完成模塊的添加與裁剪。
在實現(xiàn)比較復(fù)雜的算法,如匹配比對算法、去偽特征點算法時,考慮到算法的復(fù)雜,通過硬件實現(xiàn)需要占用大量的資源,所以將其以C語言的方式實現(xiàn)。并將其下載到MICOBLAZE軟核中,便于處理器調(diào)用和實現(xiàn)。
4.2 系統(tǒng)的測試結(jié)果
表1是輸入不同指紋情況下,即分別將左右手拇指和中指錄入100次后的系統(tǒng)測試結(jié)果。從表1可以看出系統(tǒng)的平均識別率在93%左右,而誤識率和拒識率都在3%以下,表明在性能上基本滿足設(shè)計需要。

本文采用EDK與System Generator平臺,實現(xiàn)了基于FPGA的指紋識別系統(tǒng)。設(shè)計中利用Xilinx公司的EDK和SG(System Generator)開發(fā)軟件,完成MICOBLAZE軟核的設(shè)計,并添加自定義指令與硬件邏輯,構(gòu)成完善的識別系統(tǒng)。該方法由于采用了可編程邏輯器件,使得設(shè)計靈活、易于修改,大大縮短了設(shè)計的周期。此外該系統(tǒng)中指紋圖像處理部分的實現(xiàn)都是采用硬件設(shè)計思想進(jìn)行設(shè)計和編寫,較大地改善了系統(tǒng)的運(yùn)行速度,使系統(tǒng)在滿足實時性要求的同時,也滿足了數(shù)據(jù)高速處理的需要。
參考文獻(xiàn)
[1] 郭書軍,王玉花,葛紉秋.嵌入式處理器及應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[2] 朱智平,胡榮強(qiáng),陳尚志.基于SoPC的指紋識別系統(tǒng)設(shè)計[J].電子元器件,2007(4):41-43.
[3] 郭海波,王金海,劉長春,等.基于NIOS II的高速嵌入式指紋識別系統(tǒng)[J].國外電子元器件,2007(1):24-26.
[4] 普措才人,馮旭.基于含DSP的ARM嵌入式指紋識別系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化與儀器儀表,2010(3):44-46.
[5] 李晨丹,徐進(jìn).指紋圖像預(yù)處理和特征提取算法的Matlab實現(xiàn)[J].計算機(jī)工程與科學(xué),2009(11):61-64.
[6] 羅文淵,祝忠明,劉勇.用FPGA實現(xiàn)優(yōu)化的指紋識別預(yù)處理算法[J].電子技術(shù)應(yīng)用,2009(7):71-74.
[7] 胡國安,艾明晶,駱志勇.基于SoPC的指紋識別系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2006(8):96-186.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉