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