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