歡迎您光臨本站 登入註冊首頁

概述

1引言   指紋識別作為生物特徵識別的一種,在身份識別上有著其他識別方法不可比擬的優越性:指紋具有唯一性、不可複製且便於採集等優點;隨著指紋感測器性價比的提高。指紋的採集……

1 引言
    指紋識別作為生物特徵識別的一種,在身份識別上有著其他識別方法不可比擬的優越性:指紋具有唯一性、不可複製且便於採集等優點;隨著指紋感測器性價比的提高。指紋的採集也相對容易。指紋識別技術是通過分析指紋局部特徵,從中抽取詳盡的特徵點來可靠地確認個人身份。指紋的複雜度能提供用於鑒別的足夠特徵。具有極高的安全性。相對於其他身份認證技術。指紋識別不僅具有許多獨特的信息安全性.重要的是具有很高的實用性、可行性。已經廣泛應用於刑事偵察、電子商務、金融以及安全性能要求較高的行業。
    傳統的PC機+演算法的指紋識別系統存在設計結構體積大、成本高、處理速度慢等缺點;採用DSP組成的識別系統外圍電路複雜、設計與調試周期長且系統的可擴展性差;而嵌入式指紋識別系統則具有體積小、外圍電路簡單、處理速度快、能移植到PC機開發的程序上實現片上系統等優點。本文給出一種基於NIOS II的高速嵌入式指紋識別系統。利用Altera公司的SOPC Builder創建配置NIOS II,添加自定義指令與系統邏輯結合構成功能強大的SOPC系統。硬體實現部分演算法,在保證實時性的同時提高了數據的處理速度。在不改變外圍電路,更新FPGA內部的電路設計可使系統功能升級。

2 指紋識別演算法
    指紋識別演算法包括指紋圖像預處理、指紋特徵提取和指紋匹配3部分組成,主要演算法流程如圖1所示。
 
圖1 系統指紋識別演算法流程圖
    將指紋圖像分成許多小塊,根據Ratha等提出的“沿著和橫穿過指紋脊線流的灰度級方差大小有明顯的不同”這一原理進行背景分離,目的是避免在沒有有效信息區域進行特徵提取、加快NIOS II處理速度、提高指紋特徵提取和匹配精度等操作。
    指紋圖像中脊線的變化較慢.採用低通濾波器濾除方向中的雜訊和錯誤:由式(1)歸一化成G(i,j);把G(i,j)分成(W×W)塊,根據Sobel運算元對每塊按式(2)分別計算每個像素點(i,j)的梯度dx(i,j)和dy(i,j)。根據梯度值按式(3)計算每塊的主方向,再由式(4)得到像素(i,j)處的主方向θ(i,j)。
 
    式中,Mo、VarO是預先設定的指紋圖像平均灰度和均方差;Var是指紋圖像的平均灰度值;C(i,j)是指紋圖像的灰度矩陣;G(i,j)是歸一化圖像,目的是把不同源指紋圖像的對比度和灰度調整一個固定的級別,為後續處理提供一個統一的圖像規格。
 
    其中,Sx,Sy為Sobel運算元,dx(i,j)和dy(i,j)是像素點(i,j)的梯度。
 
這樣可計算出每塊的主方向(Vx,Vy)的值,θ(i,j)代表是以像素點(i,j)為中心的方塊的局部方向,此方向將用於計算紋線的頻率,並且作為特徵點的信息,記為θ。
    圖像增強採用歸一化、計算方向圖、計算頻率、計算區域掩碼、濾波等改善圖像的質量、恢復脊線原來的結構。計算頻率的目的是在不含特徵值的小區域中(特別是中心點和三角點),把這一小塊指紋圖像在垂直於脊線方向的灰度值看成一個正弦狀波形圖,根據式(5)計算出波形的正弦函數的頻率來表示脊線分佈。
 
    把式(5)代入 中計算特徵值,其中,k=0,1,…,l-1,l,w。X[k]中所有極大值的平均距離T(i,j)稱為原圖像的頻率圖,則波形頻率為F(i,j)=1/T(i,j)。計算區域掩碼的目的是為了防止在指紋灰度圖中部分質量較差的區域出現大量的偽特徵.對前面得到的(W×W)塊按式(6)計算脊線方向灰度方差來進行分割。
 
    其中,m表示已得到的該塊的方向數,c(imk,jmk表示像素(i,j)沿m方向上的第k點灰度,由公式
 
得出塊方向灰度方差掩碼,Th是預先設定的分割閾值,然後再進行Gobel濾波,G(i,j)與濾波函數卷積得到增強圖像E(i,j)如公式(7)輸出。
 
    濾波針對R(i,j)=1區域,wg為高斯濾波器窗口的大小。
    對FPS200指紋感測器採集圖像的特性,採用3x3的模板從得到可靠的細化二值圖像中根據公式
 
(其中R(1)=R(9),R(i)分別對應模板M檢測點的相鄰8個點。CN=2時M為末梢點,CN=6時M為分支點)將末梢點和分支點提取出來。記錄其特徵點的位置(x,y)、方向(θ)和類型(s),從而得到指紋的特徵點集。考慮到指紋掃描和預處理階段會引入雜訊而產生大量偽特徵點,根據特徵點之間的關係識別偽特徵點並去除。處理后.將特徵點集於特徵模板保存到非接觸IC卡中。根據FBI提出的細節點坐標模型的細節匹配.即採用分支點和末梢點鑒定指紋.具有簡單、快速、魯棒性等優點。為了解決指紋採集時指紋圖像的旋轉和平移問題。採用指紋局部特徵的多邊形方法確定參照點的細節點匹配演算法。實驗表明,這種匹配演算法能解決指紋採集時造成的指紋圖像旋轉和平移等問題。

3 系統總體設計
    系統採用NIOS II處理器、FPGA嵌入式開發板以及PS200指紋感測器利用SOPC Builder生成系統。通過定製指令與系統邏輯結合構成功能強大的SOPC系統
    系統主要實現指紋的註冊和鑒別。註冊是將指紋圖像採集、指紋圖像預處理、特徵點提取、特徵模板存儲到非接觸IC卡中.同時用戶的新ID號也存儲到非接觸IC卡中並輸出顯示。鑒別的前3部分與註冊相同.在特徵點提取后將生成的指紋特徵模板與從非接觸IC卡中讀出的指紋特徵模板進行特徵匹配。最後輸出顯示匹配結果。系統的原理框圖如圖2所示。PS200用於實現指紋圖像的採集,NIOS II鑒別採集的指紋圖像。
 
    系統硬體是在FPGA (Altera Cyclone II EP2C20)中完成,硬體結構圖如3所示。
    組件配置完成後,使用SOPC Builder生成系統.SOPC Builder自動產生每個模塊的HDL文件.同時自動產生一些必要的仲裁邏輯來協調系統中各部件工作.將整個系統的硬體資源集中在FPGA中,也可以根據用戶需要定製、更改模塊。SPI組件直接建立通信,DMA組件實現指紋圖像數據的大塊搬移。為了Tri-State Bridge組件與外部存儲器連接,Flash Memory組件用於存放程序代碼和硬體電路的配置信息。
 
圖3系統硬體結構圖
    為了實現系統的註冊和鑒別功能。將硬體系統主要分為指紋圖像採集模塊、指紋圖像處理模塊、輸入輸出模塊和射頻應答模塊。其中,指紋圖像處理模塊是整個系統的核心,主要完成指紋識別演算法運算,同時還對其他的模塊進行控制和監測。圖像採集模塊採用美國Veridicom公司第三代基於電容器充放電原理的半導體指紋感測器FPS200。FPS200可輸出像素256x300、解析度為500 dpi的灰度圖像。FPS200的圖像搜索功能通過改變電容陣列的參數值可在1 s內掃描多幅指紋圖像並自動選擇質量最好的一幅.大大降低了誤識率(FAR)和拒識率(FRR)。FPS200內置了3種通信介面的指紋設備:USB口、微處理器單元介面(MCU)和串列外設介面(SPI)。系統採用SPI匯流排連接NIOS II和FPS200。NIOS II是主機.FPS200是從機且始終處於選通狀態。通過SCK串口時鐘同步信號實現數據傳輸。NIOS II和FM1702N通過復用地址和數據匯流排連接.採用中斷工作模式。
    指紋圖像處理模塊可用硬體實現部分指紋圖像的處理。由於指紋識別演算法處理指紋圖像數據運算量大、循環數目多,而NIOS II的定製指令為256個.因此可使用定製指令完成循環內的數據處理,加快數據處理速度。在處理指紋圖像中.頻繁採用坐標轉換(將圖像的二維坐標轉換為一維的存儲地址),利用定製指令完成坐標轉換,採用易於硬體實現的位移和加法運算替代乘加運算.轉換時間約為原來的1/4;在計算方向圖時.需離散反正切變換,採用硬體實現的定製指令替代C語言中的arctan函數。運算時間約為原來的1/1000;在圖像增強中,對預處理后的圖像進行Gobel濾波,可採用硬體實現的Gobel濾波器進行濾波,運算時間約為原來的1/1000。其中。一些演算法的基本模塊可使用處理器的IP內核直接完成,大大縮短了開發周期。將指紋圖像處理模塊中用軟體處理費時多的關鍵演算法通過定製指令完成。用HDL語言描述,並最終生成VHD文件.大大提高系統的指紋圖像處理速度。
    輸入輸出模塊包括一些按鍵、LCD和乙太網等組件。NIOS II對指紋圖像數據處理後生成指紋特徵模板,在指紋註冊模式下,存入非接觸IC卡中;在指紋鑒別模式下。與存儲在非接觸IC卡的特徵模板相匹配。通過LCD顯示識別結果,也可選用乙太網或GPRS發送到主控制站。
    射頻應答模塊是由基於ISO14443標準、Mifare標準的三重認證演算法的非接觸式IC卡讀卡機專用器件FM1702和Philips公司的Mifare oneS50卡(簡稱M1卡)組成。該模塊採用13.56 MHz的時鐘頻率驅動FM1702。並提供天線13.56 MHz的載波。M1卡採用射頻識別技術,每張卡有唯一的32位序列號。含一片容量為8 KB的EEPROM存儲器。

4 系統軟體設計
    系統軟體設計包括指紋識別模塊和射頻識別模塊,採用C語言在NIOS II集成開發環境(IDE),NIOS II系統主程序流程圖如圖4所示。
 
圖4 系統主程序流程圖
    指紋識別模塊的軟體設計。用C語言編程指紋識別演算法。利用NIOS II的定製指令。硬體替代演算法中循環、坐標變換和濾波等複雜編程.編寫指紋質量評估子程序用於質量評估FPS200採集的指紋圖像,保證了系統的可靠性和穩定性。
    射頻識別模塊的軟體設計主要包括NIOS II對讀卡器件FM1702(PCD)中的各個寄存器操作。通過天線發出尋卡信號,當有M1卡(PICC)進入天線的有效操作區時,為了防止對多張卡進行操作。設計了防衝突子程序,然後選擇最先尋找到的卡進行讀寫操作。

5 結束語
    本文設計了基於NIOS II的高速嵌入式指紋識別系統。使用NIOS II的定製指令,採用硬體替代軟體實現部分指紋圖像的處理。大大縮短了指紋圖像的處理時間和匹配時間。極大地提高了系統的運行速度。


[admin via 研發互助社區 ] 基於NIOS II的高速嵌入式指紋識別系統已經有3232次圍觀

http://cocdig.com/docs/show-post-43034.html