新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DIY你自己的指紋識別系統,硬件原理,軟件流程,算法選擇

        DIY你自己的指紋識別系統,硬件原理,軟件流程,算法選擇

        作者: 時間:2017-06-04 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201706/348729.htm

        本系統采用Xilinx公司Spartan 3E系列FPGA作為核心控制芯片,通過實現對指紋圖象的采集,利用SPI接口傳輸到FPGA進行數據的存儲,在內嵌的MicroBlaze處理器的管理下,使用硬件電路對指紋圖象進行指紋中心點求取、圖像修剪、可視化扇形、歸一化、Gabor濾波、特征編碼等處理,從而得到指紋特征點并存入指紋數據庫作為建檔模版。指紋比對時,采用同樣的方法,得到比對模版,然后將比對模版與建檔模版利用算法進行比對,得出比對結果。該項目利用嵌入式軟核實現系統的管理,利用硬件實現識別算法,保證了系統功能的完整性與識別的正確性。其識別速度將明顯快于通常使用的基于軟件實現的系統,且系統更加簡單。該識別系統可用于門禁、考勤、證件管理等很多方面,具有很廣泛的應用前景。

        1、 硬件框圖及各模塊介紹:

        系統采用xilinx公司Spartan-3E 系列FPGA作為核心的控制和運算芯片,數據采集模塊由電容式來完成,可以完成指紋圖像的采集并用其自帶的A/D轉換器將指紋圖像轉換成數字信號,利用SPI接口傳送至FPGA進行處理。當處理圖像數據時,FPGA將通過其邏輯單元執行指紋中心點求取、圖像修剪、可視化扇形、歸一化、Gabor濾波、特征編碼等一系列操作,從而獲得重要的指紋圖像信息。

        處理之后的圖像會根據當前的操作模式被存入FLASH中作為建檔模板,或者與當前模板進行匹配。工作前可用鍵盤對工作模式進行選擇,另附帶有LCD顯示器用來顯示模式選擇和識別結果。

        系統框圖如圖1所示。

        圖1 系統總體設計框圖

        軟件流程圖如圖2所示:

        圖2 系統軟件流程圖

        2、 項目關鍵技術及創新性:

        2.1 傳感器的選擇

        FPC1011C電容式指紋傳感器是瑞典FingerPrint Card公司推出的目前最先進的電容式指紋傳感器。該款電容式指紋傳感器利用了該公司擁有專利的反射式探測技術(以往的電容式指紋傳感器采用的一般是直接式探測技術),使指紋傳感器的表面保護層厚度可以達到普通電容式指紋傳感器的100倍左右,因此使指紋傳感器具有更高的對干濕手指的適用性和更長的使用壽命。

        如表1所示,顯示了兩種主流電容式傳感器各自的優缺點:

        表1 指紋傳感器比較

        參數

        MBF200固態電容傳感器

        FPC1011C電容式指紋傳感器

        采集原理

        電容式,直接探測法

        電容式,反射式探測法

        分辨率

        508DPI

        363DPI

        點陣數

        256×300

        152×200

        單幅圖像大小

        76K

        30K

        采集窗口大小

        24×24mm

        15×12mm

        抗靜電指標

        ±10 kV

        ±15 kV

        操作溫度

        -20°C to +85°C

        -20°C to +85°C

        使用壽命

        未公布

        一百萬次

        環境濕度

        未公布

        95%

        干手指適應性

        一般

        良好

        濕手指適應性

        較差

        良好

        2.2 指紋

        指紋圖像有兩種結構,即全局結構和局部結構。全局結構是指指紋脊線和谷線的全局模式,局部結構是指在細節點處的具體的模式。傳統的大都設法提取細節點,而這種方法有一些不足之處:第一,它只利用了指紋圖像中的一小部分信息(細節點),丟失了豐富的結構信息,指紋的紋線結構不能由細節點完全表達出來;第二,細節點提取過程中,由于噪聲的影響,很容易產生虛假細節點和丟失真正的細節點,在指紋的受損區域這種現象更為突出;第三,由于每個指紋的細節點數都不相同,產生出了特征向量長度不同,不利于快速匹配;第四,特征匹配時細節點的相對未知隨指紋的彈性變形而改變,影響了匹配精度。為了克服基于細節點的指紋識別算法的局限性,我們這里采用了基于指紋全局和局部特征的匹配算法,這種方法對指紋的表達充分利用了指紋的紋理結構特征,不僅包含了指紋的全局特征還包含了脊和谷的局部特征。

        我們所采用的算法主要有兩大優點:

        1. 快速性:依據算法是否依賴中心點,指紋細節匹配算法可分為兩類:基于中心點的匹配算法和非中心點匹配算法。由于大多數非中心點匹配算法都非常耗時,因此不適合大規模在線應用。故本次算法采用基于中心點的匹配算法,能夠極大的提高匹配速度,但是,這類算法極度依賴于中心點的定位精度,中心點的求取成為該算法的關鍵,而本文的第二大優點采用了新的中心點定位方法,中心點定位精度遠遠高于傳統的定位方法。
        2. 穩定性:本次算法,根據指紋圖像的特點,分別在空間與和頻域增強圖像,并采用了一種復合濾波器對增強后的圖像進行濾波處理,把指紋圖像的局部信息和全局信息有機的結合起來,是一種非常高效而準確的中心點提取算法。最重要的一點,在實際應用中,同一個指紋兩次采集到的圖像必然會有一定的平移和旋轉,傳統的方法對這兩種的情況所求出的中心位置均有一定的偏差,而中心點的偏差將導致整個指紋識別的失敗。另外,傳統的方法,如Poincar index算法及類似的方向場的算法對于一些低質量的圖像,如有裂紋和創傷的圖像,干燥的皮膚取得的圖像,脊線和谷線對比度小的圖像效果甚差,而本次算法對于平移旋轉以及低質量的圖像依然可以求得準確而穩定的中心,這對于整個算法的穩定性起到了核心作用。

        算法流程如圖3所示:

        圖3 指紋數據處理算法流程



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜丰县| 云阳县| 鄂尔多斯市| 屏南县| 高淳县| 息烽县| 望江县| 彝良县| 诸暨市| 全南县| 北流市| 彭山县| 仁化县| 鹤庆县| 鹤山市| 全南县| 云和县| 桦甸市| 崇礼县| 横山县| 凤庆县| 博爱县| 公主岭市| 彰武县| 合水县| 谷城县| 出国| 利津县| 江孜县| 汾阳市| 建始县| 洛隆县| 扎兰屯市| 邵阳县| 陕西省| 永顺县| 龙州县| 吴堡县| 亚东县| 吉隆县| 定日县|