基于DSP的指紋識別系統設計
1 引言
指紋識別技術通過分析指紋的局部特征,從中抽取詳盡的特征點,從而可靠地確認個人身份。指紋識別的優點是指紋作為人體獨一無二的特征,它的復雜度可以提供用于鑒別的足夠特征,具有極高的安全性。相對于其他身份認證技術,指紋識別是一種更為理想的身份認證技術,指紋識別不僅具有許多獨到的信息安全優點,更重要的是具有很高的實用性、可行性,已經廣泛應用于金融、電子商務以及安全性能要求教高的行業中。
目前多數指紋識別系統是將指紋圖象采集到計算機中,利用計算機進行識別。國外一些公司生產的獨立指紋識別系統,價格比較高昂。這些都限制了指紋識別技術的普及。因此,研究開發快速、識別率高、廉價的獨立指紋識別系統具有很大的市場前景和重要的科學研究價值。
本文提出了一種新型基于DSP的指紋識別系統,硬件上利用DSP的高速處理能力,構建高速的數據處理平臺,軟件上參考DSP和硬件邏輯的處理特點,對傳統的指紋算法進行改進,滿足實時性和可靠性要求。
2 硬件系統結構
系統的原理框圖如圖(1)所示:
圖(1)系統結構框圖
本系統整體上可以分為圖像采集模塊、圖像處理及識別模塊以及輸出模塊三部分組成。
2.1 圖像采集模塊
圖像采集模塊中,由于指紋識別系統中并不需要實時觀察圖像,所以對傳感器要求不是很高,一般的黑白數字CMOS傳感器都能滿足要求。本系統中采用了一款300萬象素的高清晰度黑白傳感器作為圖像獲取器件,非常適合作為指紋圖像傳感器使用。主要考慮到CMOS器件成本低、分辨率高、可靠性好的優點。缺點為當手指汗液多或干裂時成像質量可能變差。在圖像識別過程中,采用了基于GABOR的增強算法,基本上可以克服由此造成的影響。
2.2 圖像處理及識別模塊
圖像處理及識別模塊的結構關系到系統的性能的總體水平,采用FPGA+DSP的體系結構有利于構建高效的數據處理流程和方便處理任務的分配,提高系統的并行程度和資源利用率。系統中的SRAM、SDRAM、FLASH直接連到DSP上供其使用:FLASH用于存放程序和一些固定的表格數據;SDRAM作為DSP的系統內存,用于系統程序的運行;SRAM是高速的數據存儲區,用于存放程序運行是產生的臨時變量。而DDR SDRAM是專門用于存放采集到的指紋數據以及預處理過程中計算得到的象素點梯度數據等一些大容量的數據塊,直接連接到FPGA,是系統中最高速的內存區域。FPGA除了作為DSP處理器的擴展總線接口外,還分擔了部分數據處理任務,因為僅僅靠一塊DSP是不能勝任所有的運算和控制任務的,指紋數據處理時,經常會遇到一些繁瑣的加減運算和比邏輯運算,通常這部分都是由FPGA代為處理的,考慮到指紋處理算法的特殊性,同時還要兼顧實現DDR控制功能。
由于指紋識別過程中數學運算量大,因此程序設計不可避免的需要較大的存儲空間,為了提高整體性能,需要把繁重的運算任務交給DSP處理,而圖像采集部分則要盡可能少的占用DSP時間。另外,利用圖像采集的間隙,或是圖像采集的同時,由硬件完成一部分簡單而繁瑣的運算可以分擔DSP的處理任務,提高處理的并行度,滿足對實時性的要求。本系統采用了TMS320VC5402,其運算速度快,并且具有很高的性價比。系統中采集到的8bits灰度指紋圖像,每個像素占用一個字節,圖像尺寸為512
評論