吳儼鋒
(攀枝花學(xué)院,四川 攀枝花 617000)
生活中需要驗證個人身份時,傳統(tǒng)的方法是驗證人是否持有有效證件,并核對照片等。 這種以“物”認(rèn)人的方法,漏洞顯而易見,人們開始尋找直接認(rèn)證的方法。 指紋識別具有唯一性、不變性、實用性、安全性的優(yōu)點,是目前應(yīng)用最廣泛的身份驗證和識別技術(shù)。
神經(jīng)網(wǎng)絡(luò)在指紋識別方面具有尋找優(yōu)化解的能力,具有聯(lián)想存儲功能。 邏輯性的思維是指根據(jù)邏輯規(guī)則進行推理的過程,先將信息轉(zhuǎn)換成概念并用符號表示,然后根據(jù)符號運算按串行模式進行邏輯推理,這一過程可以寫成串行的指令,由計算機來執(zhí)行。 然而,直觀的思維是將分布式儲存的信息綜合起來,這種思維方式的根本在于以下兩點:(1)信息是通過神經(jīng)元上的興奮模式分布存儲在網(wǎng)絡(luò)上;(2)信息處理是通過神經(jīng)元之間同時相互作用的動態(tài)過程來完成的。
濾波特征和不變矩指紋識別算法的優(yōu)勢在于它是基于直接線性變換的,因此無須確定與應(yīng)用相關(guān)的自適應(yīng)參數(shù)。 不變矩技術(shù)類型很多,現(xiàn)已被應(yīng)用于圖像分類與識別處理的許多方面。 從數(shù)學(xué)角度上看,矩是很簡單的[1]。
為提高指紋的識別效率,降低系統(tǒng)計算的復(fù)雜度,把指紋樣本數(shù)據(jù)庫中的指紋分為不同的類別,再將不同類別的指紋分別保存到樣本庫的子數(shù)據(jù)庫中。 進行指紋識別時,先判斷待識指紋的類別,再將它與所屬子數(shù)據(jù)庫中的指紋進行對比匹配。 學(xué)術(shù)界一般把指紋分為弓形、斗型、箕型3 大類,如圖1 所示[2]。
圖1 指紋的分類
神經(jīng)網(wǎng)絡(luò)正向傳播在數(shù)學(xué)上只須做連續(xù)的矩陣乘法。 如果輸出Y 是輸入向量x 和權(quán)重矩陣a 之間的矩陣乘法之積,則Y 中的第i 個元素被定義為:
其中,i 是權(quán)重矩陣a 給定行的索引,k 是給定列的索引及輸入向量x 的元素索引,n 是x 中元素的個數(shù)。
可以證明,在某給定層,根據(jù)標(biāo)準(zhǔn)正態(tài)分布初始化的輸入x 和權(quán)重矩陣a 的乘積,通常具有非常接近輸入連接數(shù)平方根的標(biāo)準(zhǔn)差[3]。
通常參數(shù)的初始化方式有3 種,本文使用基于方差縮放的參數(shù)初始化。
如果一個神經(jīng)元輸入很多,則每個輸入連接上的權(quán)重就應(yīng)該小一些,以免輸出過大,導(dǎo)致梯度爆炸或梯度消失。 因此,需要盡量保持每個神經(jīng)元輸入和輸出方差一定,可以根據(jù)神經(jīng)元連接數(shù)量自適應(yīng)調(diào)整初始化分布的方差,稱為“方差縮放”。 基于方差縮放的參數(shù)初始化如表1 所示,其中Xavier 初始化也稱為 Glorot 初始化;He 初始化也稱為Kaiming 初始化。
表1 基于方差縮放的參數(shù)初始化
Kaiming 初始化步驟:(1)前向傳播時,每一層的卷積計算結(jié)果的方差為1。 (2)反向傳播時,每一 層繼續(xù)往前傳的梯度方差為1。 因為每層會有兩個梯度的計算,一個用來更新當(dāng)前層的權(quán)重,一個繼續(xù)傳播,用于前面層的梯度的計算。
指紋識別分為5 步,首先進行指紋圖像采集,圖像預(yù)處理,然后進行特征提取,最后指紋匹配。 如果指紋沒有采集過,會先進行指紋登記,再進行指紋匹配。 指紋識別的步驟如圖2 所示。
圖2 指紋識別步驟
指紋識別技術(shù)主要包括3 大部分:指紋圖像采集、指紋預(yù)處理、特征提取與匹配[4]。 其中,指紋預(yù)處理分為分割、二值化、增強濾波和細化4 步。 分割圖像是從一幅圖像分離出感興趣的部分或區(qū)域,經(jīng)過分割后的圖像更容易進行進一步的分類、分析和識別處理。 圖像分割需要在指紋二值化和濾波及細化之前進行,如此可以減少計算的冗余量,提高指紋識別的速度。 二值化就是將圖像上的像素點的灰度值設(shè)置為0 或1,即將整個圖像呈現(xiàn)出明顯的黑白視覺效果。分割和濾波后的指紋圖像進行二值化處理后,脊線仍有一定的寬度。 指紋識別的匹配只利用圖像的點或線的特征,這些特征只與脊線的走向或者紋理有關(guān)系。 有一定寬度的二值化圖像則顯得有些多余,需對二值化圖像進行細化處理,可得到一個單一像素寬度的脊線。 經(jīng)細化處理,在后續(xù)的指紋特征提取和特征匹配的算法中大大減少了計算的冗余量和出錯率,提高了指紋識別的速度和準(zhǔn)確度。 指紋識別技術(shù)處理過程如圖3 所示。
圖3 指紋識別技術(shù)處理過程
實驗環(huán)境為Windows10 系統(tǒng),通過MATLAB 仿真軟件分別對神經(jīng)網(wǎng)絡(luò)指紋識別算法、濾波特征和不變矩指紋識別算法、指紋匹配算法進行仿真實驗與分析。
先傳入原始指紋,對其進行神經(jīng)網(wǎng)絡(luò)和高斯濾波處理。 在進行神經(jīng)網(wǎng)絡(luò)處理之前要先進行預(yù)處理,本文預(yù)處理用的是歸一化算法。 神經(jīng)網(wǎng)絡(luò)是一種基于人腦結(jié)構(gòu)的非線性計算模型,能夠根據(jù)其他數(shù)據(jù)樣本,學(xué)習(xí)執(zhí)行分類、預(yù)測、決策、可視化等多種任務(wù)。MATLAB 用到3 個函數(shù):newff(網(wǎng)絡(luò)創(chuàng)建函數(shù))、train(訓(xùn)練一個神經(jīng)網(wǎng)絡(luò))和sim(使用網(wǎng)絡(luò)進行仿真)。高斯濾波是一種線性平滑濾波,應(yīng)用于圖像處理的減噪過程。 簡單地說,高斯濾波就是對整幅圖像進行加權(quán)平均的過程,每一個像素點的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過加權(quán)平均后得到,相當(dāng)于使用周圍的點對噪聲點進行平滑處理,使噪聲點的分布逐步趨于圖像非噪聲點的分布。 高斯濾波的具體操作為:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點的值。
原始指紋如圖4 所示,經(jīng)過神經(jīng)網(wǎng)絡(luò)和高斯濾波處理后的指紋如圖5 所示,指紋識別匹配實驗結(jié)果如表2 所示。
表2 實驗結(jié)果
圖4 原始指紋
圖5 神經(jīng)網(wǎng)絡(luò)和高斯濾波處理后的指紋
實驗進行了110 次匹配,每次匹配70 s,識別率比消除偽特征點算法高10%[5]。 消除偽特征點算法通常是先確定指紋人再比對指紋,采取到指紋后用電腦進行對比,需要3~4 min,匹配速度比較快。
本文的指紋匹配識別算法主要解決匹配時間長、識別率低等問題,具有速度快、指紋模板小、識別率高的優(yōu)點,但是仍存在容易受指紋圖像噪聲干擾的情況。 基于神經(jīng)網(wǎng)絡(luò)方式具有尋找優(yōu)化解的能力、容錯能力、自適應(yīng)能力的優(yōu)點,但同時也存在操作要求高、易受噪聲影響等缺陷。 因此,仍需進一步研究,尋找更好的指紋識別算法來完善指紋識別系統(tǒng),也相信指紋識別系統(tǒng)必將擁有一片更美好的藍天。