基于ARM的光學指紋識別系統(tǒng)的設(shè)計方案
0 引言
隨著電子信息技術(shù)應用面日益拓展,不少場合需要對特定用戶群體進行身份識別或身份記錄,如門禁系統(tǒng)、考勤系統(tǒng)、安全認證系統(tǒng)等,在各種系統(tǒng)中運用的技術(shù)形式多樣,如視網(wǎng)膜識別、面相識別、指紋識別、RFID 射頻識別應用等。其中,生物特征識別方式以其方便性強、安全性高等特點得到了越來越多人的認可和接受,特別是指紋識別技術(shù)方式,現(xiàn)已發(fā)展成為應用最廣泛的生物識別技術(shù)之一。因此,研究基于嵌入式架構(gòu)的指紋識別系統(tǒng)具有現(xiàn)實意義和廣闊的應用前景。
1 系統(tǒng)整體結(jié)構(gòu)
系統(tǒng)采用光學指紋傳感器(內(nèi)建格科微電子有限公司的光學GC0307 CMOS 圖像采集芯片)與ARM Cortex M3 內(nèi)核意法半導體公司的32 位高性能單片機STM32F205RE 組成功能主體,采用Sobel 邊緣檢測算子、Gabor 濾波、圖像二值化等圖像采集與處理算法對指紋圖像進行識別,構(gòu)建了小體積的嵌入式指紋識別模塊,具有積木式嵌入、微功耗、程序接口簡單易用、便于二次開發(fā)、識別準確度高、高性價比等特點。
2 系統(tǒng)硬件電路設(shè)計
整個系統(tǒng)設(shè)計構(gòu)成了一體化光學指紋識別模塊。模塊設(shè)計采用光學暗背景成像原理,加入特有活體檢測芯片,在解決干手指效應的同時解決殘留指紋誤識別、橡膠假指紋等問題。
圖1 所示為格科微電子有限公司的光學GC0307 CMOS 圖像采集芯片應用電路原理圖。該款CMOS 圖像采集芯片是高精度、低功耗、微體積的高性能相機的內(nèi)置式組件,它把實現(xiàn)優(yōu)質(zhì)VGA 影像的CMOS 影像傳感器與高度集成的影像處理器、嵌入式電源和高質(zhì)量的透鏡組結(jié)合在一起,輸出JPEG 圖像或圖像視頻流,支持8/10 位數(shù)字傳輸JPEG 圖像和YCbCr 接口,提供了完整的影像解決方案。
CMOS 圖像采集芯功能輸出串行數(shù)據(jù)引腳、時鐘信號引腳、復位引腳、串行總線引腳等都接入到STM32F205RE的GPIO 口, 通過GPIO 口模擬時序讀取CMOS 芯片采集到的圖像信息。由于STM32F205RE 的GPIO 口工作頻率可達120 MHz,因而可以非常準確高效地模擬時序,實測640×480 的原始圖像能以10 幀/s 的速度采集到主處理器STM32F205RE 中進行圖像處理。
3 系統(tǒng)軟件功能設(shè)計
本系統(tǒng)的指紋圖像采集過程如圖2 所示。系統(tǒng)軟件設(shè)計部分則針對畸變糾正采用了四點轉(zhuǎn)正算法。
通過公式(1)和公式(2)可以得到從(x,y) 到(u,v) 的變換,其中,A ~ H 由光路決定,可以由具體測定數(shù)據(jù)最終確定,通過實測可以獲得原始數(shù)據(jù)。圖3 所示展示了原始圖像和畸變糾正前后圖像的效果差異。通過變換可見,畸變糾正后的圖像通過變換可達500 DPI分辨率,為后續(xù)獲得高質(zhì)量圖像處理數(shù)據(jù)奠定了基礎(chǔ)條件。
然后送入算法處理。由于嵌入式系統(tǒng)的圖像處理算法必須運算量小、占用RAM 存儲器空間小,才能在運算性能有限的單片機系統(tǒng)中運行,故而本系統(tǒng)通過小塊方向替代點方向,減小RAM占用。
在圖像增強方面,可以將圖像以L 為長寬劃分為小塊,再按如下公式求取每一塊的均方差 :
根據(jù)實驗數(shù)據(jù)測定和分析,當Aver>36 時,可認為該區(qū)域內(nèi)有圖像,否則認為是背景。利用均方差區(qū)分出了前后景,還可以據(jù)此判斷圖像的對比度。根據(jù)對比度的差異分別來增強圖像,可以使得不同曝光亮度的圖像得到一致增強。對原始圖像進行了算法處理,提取處理前后效果進行比對,具體效果如圖4 所示。
軟件算法中對于指紋處理中的求取圖像方向場問題,采用了基于原Sobel 算子改進后的Sobel 算子。
原Sobel 算子如下:
改進后的Sobel 算子為:
改進的Sobel 算子能增加方向場的準確性,實測通過率從采用標準Sobel 算子的93.3% 提高到95.8%.圖5 所示為其變化情況。
如圖5 可見,改進的Sobel 算子在原Sobel 算子的基礎(chǔ)上,能顯著地分割出正確圖像的面積,幾乎能在整個畫面區(qū)域提取出正確的方向來。系統(tǒng)對圖像進行了Gabor 濾波和圖像數(shù)據(jù)二值化。指紋圖像屬于紋理圖像,紋理圖像采用Gabor 濾波器,利用每一點的點方向沿方向指向增強,沿方向的法線方向減弱。Gabor 濾波器能很好地拼接斷紋,濾除環(huán)境噪聲,最后將Gabor 濾波后的圖像做雙窗口均值門限二值化:
門限1 :均值化算子矩陣: 7×7 的單位矩陣。
門限2 :均值化算子矩陣: 3×3 的單位矩陣。
具體運算表達式如下:
當每一點的值g(x,y)>p(x,y) 時,則賦值g(x,y)=1,否則賦值為0,以此得到二值化最終的結(jié)果,提取圖像進行實測效果的比對如圖6 所示。
圖7 是最后根據(jù)圖像紋理的粗細二值化圖像,并根據(jù)端點和交叉點提取特征點。
經(jīng)過上面的步驟,即可從原始圖像里面提取出有效的特征信息。特征信息描述了特征點的位置、方向等信息,最終形成一個大小不超過512 字節(jié)的特征模板。指紋的比對就是在特征模板的基礎(chǔ)上,構(gòu)建兩個點形成的桿對集,而桿對所包含的桿長度、端點方向與桿的夾角等信息已經(jīng)是相對量,與位置無關(guān)。理想狀況下,同一枚指紋,采集的兩幅圖像能找到的桿對的每一個量(長度、夾角)在數(shù)學上是完全相等的。以此為基本數(shù)學模型,構(gòu)建整個比對算法。
4 結(jié)語
本文的基于ARM的光學指紋識別系統(tǒng)的設(shè)計方案,經(jīng)過實物測試, 模塊錄入用戶指紋圖像時間為500 ~ 800 ms,拒真率小于等于1%,平均4.2 ms 即可比對一枚指紋,支持1∶1 指紋驗證和1∶N 指紋搜索。在硬件設(shè)計中引出了通信端子,系統(tǒng)支持3.3V TTL 串口通信,可以通過串口對模塊進行用戶注冊、刪除特定用戶、刪除所有用戶、復位模塊、獲取用戶總數(shù)、獲取用戶權(quán)限、1∶1 比對、1∶N 比對、設(shè)置串口波特率、讀取圖像并提取特征值、獲取圖像等30 個常規(guī)或擴展功能命令,能滿足大多數(shù)的指紋應用場合,可以很好地運用于嵌入式領(lǐng)域,從而證實了本方案的可行性。