宿遷學院信息工程學院 袁 進
隨著物聯(lián)網(wǎng)、無線通信等信息技術(shù)的不斷成熟,智能家居產(chǎn)業(yè)發(fā)展迅速,應用愈加廣泛。智能門鎖作為智能家居的重要組成部分,有效保證了家居安全。本文針對智能門鎖中的指紋識別過程慢、識別能力弱等問題,提出一種基于FPGA與MATLAB平臺的指紋識別優(yōu)化方法。經(jīng)仿真分析,該方法能夠有效解決上述問題,具有一定的實用性。
在物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能、無線通信等技術(shù)的不斷發(fā)展下,智能家居、智慧城市、智慧交通、智慧農(nóng)業(yè)等概念相繼被提出并逐漸實現(xiàn)應用,其中,智能家居產(chǎn)業(yè)發(fā)展相對成熟。智能門鎖作為智能家居安防監(jiān)控中的一員,避免了傳統(tǒng)門鎖出現(xiàn)的易盜取、易復制等問題,具有保密性強、應用需求度高、成本低廉、使用便捷等特點,給人們的生活帶來了極大的安全保障。智能門鎖主要通過密碼鍵入、指紋識別、刷卡等方式實現(xiàn)門的開啟與關(guān)閉,由于密碼容易泄漏、門卡容易丟失等缺陷,基于指紋識別的智能門鎖安全性較高。本文針對智能門鎖應用中出現(xiàn)的指紋識別能力弱、識別過程慢等問題,采用FPGA和MATLAB相結(jié)合的方式,設計一種適用于智能門鎖的指紋識別方法。
指紋識別過程是指通過對采集到的手指指紋進行特征標記與對比,從而實現(xiàn)身份信息匹配的過程。圖1給出了指紋識別的總體框圖,主要包括指紋采集、預處理、特征點提取與匹配等四個環(huán)節(jié)。
圖1 指紋識別過程框圖
指紋采集是實現(xiàn)指紋成功識別的第一步,通常借助專用的指紋采集傳感器實現(xiàn),指紋采集傳感器根據(jù)信號的采集方式不同,可分為劃擦式和接觸式(面陣式)兩種。由于硬件設備的延遲、老化等問題,容易使采集到的指紋出現(xiàn)模糊、噪聲污染、殘缺等問題,對指紋的特征順利提取造成一定的阻礙,需要采取相應的措施對此類問題進行處理。
指紋圖像預處理是采用相關(guān)算法解決指紋圖像受到的噪聲污染、模糊、霧化等問題,目的在于提高指紋圖像紋理的清晰度,便于后續(xù)的特征提取。通常,指紋圖像預處理環(huán)節(jié)包括圖像去噪、圖像去模糊、圖像增強等部分,可根據(jù)指紋識別的應用場景及指紋圖像質(zhì)量進行功能的增減。
指紋能夠被成功識別的前提是指紋圖像具有一定量的特征信息。指紋特征除了有易獲得的指紋中心和三角點,還包括紋路的端點(起點與終點)、交叉點、匯聚點等。另外,部分算法中還將指紋特征點的類型、坐標、方向等參量作為指紋的特征信息。例如,根據(jù)某種分類方法對指紋特征點進行分類,接著依次判別各特征點是否為偽特征點,若為偽特征點,則直接刪除,從而保證了特征點的有效性,便于指紋特征匹配,提高指紋識別的準確性。
指紋圖像特征點匹配是指紋識別的關(guān)鍵一步。其方法是將指紋圖像與待匹配圖像進行特征比對,若匹配度高于設定的閾值,則認為指紋識別成功。通常,特征點匹配包括粗匹配(指紋紋路)和細匹配(形態(tài)、端點、交叉點等),能夠有效保證指紋識別的準確度。
本文選取FPGA與MATLAB作為算法實現(xiàn)平臺,F(xiàn)PGA平臺實現(xiàn)指紋圖像的預處理,借助FPGA的并行流水線處理的特點,能夠有效提高指紋識別的快速性。由于硬件設備難免對圖像造成一定的噪聲干擾,故本文在預處理模塊中首先加入了圖像濾波環(huán)節(jié),具體包括高斯濾波、中值濾波、均值濾波等方法,有效去除圖像噪聲對指紋識別的干擾,除此之外,預處理模塊還包括圖像復原(圖像去模糊、圖像去霧等)、圖像增強、圖像二值化、圖像細化等部分,提高指紋所含信息的有效性,具體可根據(jù)原始指紋圖像的真實情況進行模塊的增減。通過MATLAB實現(xiàn)指紋特征點提取與匹配,保證指紋識別的準確度。圖2為指紋識別方法具體實現(xiàn)框圖。
圖2 指紋識別方法框圖
在指紋特征點匹配環(huán)節(jié),本文采用基于極坐標細節(jié)匹配算法進行實現(xiàn),具體的實現(xiàn)過程為:(1)在輸入指紋圖像和模板指紋圖像中尋找矢量三角形,若矢量三角形不全等,則直接判別指紋圖像不匹配;若矢量三角形全等,則進一步確定參考點;(2)以參考點的橫縱坐標為方向在建檔模板和匹配模板建立極坐標系,確定各個細節(jié)特征點的極坐標半徑和角度,接著將建檔模板和匹配模板的細節(jié)特征點按極坐標角度遞增順序排列;(3)比較建檔模板和匹配模板細節(jié)點極坐標特征的相同的個數(shù),若超過設定閾值,則匹配成功,否則,未匹配成功。
本文借助verilog語言采用自頂而下的模塊化設計方法對指紋圖像預處理部分進行仿真實現(xiàn),首先,將圖3(a)所示的原始圖像以文件的形式輸入到預處理模塊中,接著,對指紋圖像進行去噪、二值化、細化等處理,得到圖3(b)、(c)等結(jié)果,由結(jié)果可得,指紋圖像較為完整,細化后圖像較為清晰,細節(jié)豐富,便于后續(xù)的特征點提取及匹配。
圖3 指紋預處理
將細化后的圖像以文件的形式保存,接著作為輸入數(shù)據(jù)輸入到MATLAB平臺的指紋特征提取及匹配模塊,圖4為指紋端點及交叉點提取結(jié)果,由結(jié)果可知,端點及交叉點信息較為豐富,為指紋的成功匹配提供支撐。
圖4 指紋特征點提取
由于智能門鎖為家居或企業(yè)所用,匹配數(shù)據(jù)庫的數(shù)據(jù)量相對較小,能夠適當提高匹配閾值,從而保證智能門鎖的可靠性。圖5為指紋識別系統(tǒng)根據(jù)指紋特征點與數(shù)據(jù)庫中的指紋匹配結(jié)果,由結(jié)果可知,匹配到的指紋與原始指紋一致,證明了系統(tǒng)識別的準確性。
圖5 指紋匹配結(jié)果
針對運動模糊指紋,本文在預處理模塊中加入了圖像去模糊環(huán)節(jié),采用基于FFT的頻域處理方法,將時域中的指紋圖像轉(zhuǎn)換到頻域,根據(jù)頻譜明暗條紋特征估計出相應的模糊核,從而有效去除指紋圖像模糊,隨后按照上述步驟進行指紋識別處理即可。圖6為模糊指紋及去模糊后的指紋。若圖像還存在噪聲污染、霧化等情況,可相應的增加處理環(huán)節(jié)即可,此處不再贅述。
圖6 指紋去模糊
總結(jié):本文針對智能門鎖中的指紋識別能力弱、識別過程慢等問題,提出一種基于FPGA+MATLAB的指紋識別方法,該方法在指紋預處理及指紋匹配環(huán)節(jié)進行了優(yōu)化設計,具體包括:(1)采用FPGA平臺實現(xiàn)指紋預處理,借助FPGA并行流水線處理的特點及自頂而下的模塊化設計方法,保證了指紋識別的快速性及靈活性,可以針對采集的指紋圖像質(zhì)量進行合理的預處理環(huán)節(jié)增刪;(2)采用MATLAB平臺實現(xiàn)指紋特征點提取及匹配,有效保證了指紋識別的準確度,另外,采用基于極坐標細節(jié)匹配算法實現(xiàn)特征點匹配,進一步提高了指紋識別的能力。綜上所述,本文所提的指紋識別方法能夠有效提高識別的快速性、可靠性及準確性,具有一定的參考及實用價值。