指紋識別的DSP實現方案

1 引言
  技術經過分析指紋的局部特徵,從中抽取詳盡的特徵點,從而可靠地確認我的身份。不只具備許多獨到的信息安全優勢,更重要的是具備很高的實用性、可行性。
  目前多數系統是將指紋圖象採集到計算機中,利用計算機進行識別。國外一些公司生產的獨立指紋識別系統,價格比較高昂。這些都限制了指紋識別技術的普及。所以,研究開發快速、識別率高、廉價的獨立指紋識別系統具備很大的市場前景和重要的科學研究價值。
  本文提出了一種新型基於的指紋識別系統,硬件上利用的高速處理能力,構建高速的數據處理平臺,軟件上參考和硬件邏輯的處理特色,對傳統的指紋算法進行改進,知足實時性和可靠性要求。算法

  2 硬件系統結構安全

  系統的原理框圖如圖(1)所示:網絡

  

指紋識別的DSP實現系統框圖

  ?函數

  圖(1)系統結構框圖性能

  本系統總體上能夠分爲圖像採集模塊、圖像處理及識別模塊以及輸出模塊三部分組成。優化

  2.1 圖像採集模塊spa

  圖像採集模塊中,因爲指紋識別系統中並不須要實時觀察圖像,因此對傳感器要求不是很高,通常的黑白數字CMOS傳感器都能知足要求。本系統中採用了一款300萬象素的高清晰度黑白傳感器做爲圖像獲取器件,很是適合做爲指紋圖像傳感器使用。主要考慮到CMOS器件成本低、分辨率高、可靠性好的優勢。缺點爲當手指汗液多或乾裂時成像質量可能變差。在圖像識別過程當中,採用了基於GABOR的加強算法,基本上能夠克服由此形成的影響。設計

  2.2 圖像處理及識別模塊blog

  圖像處理及識別模塊的結構關係到系統的性能的整體水平,採用FPGA+DSP的體系結構有利於構建高效的數據處理流程和方便處理任務的分配,提升系統的並行程度和資源利用率。系統中的SRAM、SDRAM、FLASH直接連到DSP上供其使用:FLASH用於存放程序和一些固定的表格數據;SDRAM做爲DSP的系統內存,用於系統程序的運行;SRAM是高速的數據存儲區,用於存放程序運行是產生的臨時變量。而DDR SDRAM是專門用於存放採集到的指紋數據以及預處理過程當中計算獲得的象素點梯度數據等一些大容量的數據塊,直接鏈接到FPGA,是系統中最高速的內存區域。FPGA除了做爲DSP處理器的擴展總線接口外,還分擔了部分數據處理任務,由於僅僅靠一塊DSP是不能勝任全部的運算和控制任務的,指紋數據處理時,常常會遇到一些繁瑣的加減運算和比邏輯運算,一般這部分都是由FPGA代爲處理的,考慮到指紋處理算法的特殊性,同時還要兼顧DDR控制功能。接口

  因爲指紋識別過程當中數學運算量大,所以程序設計不可避免的須要較大的存儲空間,爲了提升總體性能,須要把繁重的運算任務交給DSP處理,而圖像採集部分則要儘量少的佔用DSP時間。另外,利用圖像採集的間隙,或是圖像採集的同時,由硬件完成一部分簡單而繁瑣的運算能夠分擔DSP的處理任務,提升處理的並行度,知足對實時性的要求。本系統採用了TMS320VC5402,其運算速度快,而且具備很高的性價比。系統中採集到的8bits灰度指紋圖像,每一個像素佔用一個字節,圖像尺寸爲512×512個像素大小,存儲一幀圖像須要256k字節存貯空間。DSP單元是整個指紋處理系統的核心,負責對指紋進行實時處理。

  2.3 輸出模塊

  做爲獨立的指紋識別系統,通過系統識別的數據能夠經過LCD直接顯示出來。系統在設計時,也能夠將系統做爲終端使用,即經過FPGA擴展出以太網接口,做爲須要經過網絡傳送指紋庫數據的大型指紋識別系統終端。

  3 指紋識別算法

  指紋識別算法是指紋識別的核心,本系統中採用的指紋識別算法流程如圖(2)所示。

  

指紋識別算法流程

  圖(2)指紋識別算法流程

  圖像加強是指紋圖像預處理須要解決的核心問題,指紋圖像加強的主要目的是爲了消除噪聲,改善圖像質量,便於特徵提取。因爲指紋紋理由相間的脊線和谷線組成。這些紋理蘊涵了大量的信息,如紋理方向、紋理密度等等。在指紋圖像的不一樣區域,這樣的信息是不一樣的。指紋圖像加強算法就是利用圖像信息的區域性差別來的。傳統的指紋圖像加強就是利用圖像的紋理方向信息,構造方向濾波器模板來濾波的。濾波器構造的簡單性和指紋圖像複雜性的矛盾限制了其做用的有效性。本系統中採用的是參考了指紋圖像紋理頻率信息,而且以GABOR變換這個可以同時對圖像局部結構的方向和空域頻率進行解析的最優濾波器做爲濾波器的模板,於是極大的改善了加強算法的效果。

  3.1 脊線方向

  除奇異區外,指紋圖像在一個足夠小的區域內,紋理近似於相互平行的直線,這就是指紋圖像的方向性特徵。方向性特徵是指紋圖像中最爲明顯的特徵之一,它以簡化的形式直觀的反映指紋圖像的基本形態特徵,於是被普遍應用於指紋圖像的分類、加強、特徵提取等方面。

  提取脊線方向方法爲:

  ⑴ 將指紋圖像分割成足夠小的子塊,以知足塊中紋理近似平行的條件。

  3.2 脊線頻率

  指紋紋理除了具備穩定的方向性特徵外,還具備穩定的頻率性特色。在指紋圖像的一個局部區域內,脊線和谷線的紋理走向平行,同時沿脊谷方向的灰度分佈近似於正弦包絡。

  脊線頻率被定義爲兩條脊線之間間距的倒數。經過定位該包絡中極大、極小值點,就能獲得相應的脊線間距和谷線間距,進而計算出脊線頻率。

  3.3 GABOR濾波器

  GABOR變換因爲具備最佳時域和頻域鏈接分辨率的特色,可以同時對圖像局部結構的方向和空域頻率進行解析,能夠很好地兼顧指紋圖像的脊線方向和脊線頻率信息。

  本系統中採用GABOR濾波器函數的實部做爲模板,以與子塊紋線方向垂直的方向做爲濾波器方向,以脊線頻率做爲濾波器頻率來構建濾波器。濾波過程以下式所示:

  

  其中, 爲原始圖像灰度, 是GABOR濾波後的圖像灰度,W爲濾波器模板大小,S爲模板係數和,爲子塊的域方向值。須要注意的是GABOR濾波器中的 與指紋文理方向垂直。對 和的取值須要進行折衷,取值越大,則濾波器的抗噪性能越好,但也容易聲成假的脊線。這裏取 和 。

  3.4 指紋匹配

  本系統中指紋匹配採用基於特徵點集合匹配的校準算法,該算法多爲簡單的比較邏輯和加減運算,不須要用到處理單元。

  4 系統處理流程

  整個系統的處理的過程分爲四個步驟:

  ?⑴ 從圖像傳感器輸出的指紋圖像首先送到FPGA緩衝,同時運用設計好的預處理模塊對數據進行處理,獲得各像素點的梯度值以及子塊中極大值點的座標,全部這些數據連同原始數據以突發模式存入DDR SDRAM中;

  ⑵ 經過FPGA從DDR SDRAM中讀取全部相關數據,計算出脊線方向和脊線頻率,而後利用GABOR對原始數據進行濾波,處理後的圖像數據再經過FPGA存入DDR SDRAM中,所以在DDR SDRAM的輸入輸出端都須要進行緩衝;

  ⑶ 根據處理的指令要求,從DDR SDRAM中讀出濾波後的數據,由FPGA內部的比較邏輯提取出指紋圖像中每行(每列)中的極大值點,送到DSP進行進一步處理,完成指紋圖像脊線提取;

  ⑷ 由DSP完成匹配識別算法,並輸出處理結果。

  5 結論

  以上設計綜合考慮了各方面因素,兼顧了DSP處理器和FPGA協處理器的性能情況和資源需求來分配任務,並且在數據採集的同時完成了指紋方向和頻率提取的部分運算,減小了內存操做的次數,採用的根據系統特色優化的基於GABOR的加強算法,提升了系統的實時性,知足應用要求。

相關文章
相關標籤/搜索