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