陳杰 張雷 張睿 解丹 閆耀東 葉子維 柴鈺杰
摘 ?要:隨著社會的發(fā)展,身份信息的安全問題日益凸顯。為解決用戶身份識別過程中受環(huán)境影響較大,以及掌紋識別時提取掌紋特征復(fù)雜的問題,本文進行了“基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的掌紋識別”的研究。運用該算法的優(yōu)勢在于簡化了掌紋識別的前期預(yù)處理,可以直接將采集的原始圖像進行輸入,然后識別。通過卷積操作和最大池化操作,減少了訓(xùn)練參數(shù)量,大大節(jié)約了時間。最后使用Softmax分類器對結(jié)果進行分類。實驗結(jié)果顯示,該方法對不同人的掌紋有較高的識別率,克服了傳統(tǒng)掌紋識別精度差,識別時間長,人工提取特征困難的缺點。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);掌紋識別;深度學(xué)習(xí);非接觸式掌紋識別
中圖分類號:TP391 ? ? 文獻標(biāo)識碼:A
Abstract:With the progress of society,the security of identity information has become increasingly prominent.In order to solve the problem of complex environmental impact and complex extraction of palmprint features in the process of user identification,the paper studies palmprint recognition based on convolution neural network.The advantage of this algorithm is simplifying the pre-processing of palmprint recognition,by directly inputting and recognizing the collected original image.Through convolution operation and maximum pooling operation,the method reduces the amount of training parameters and saves time greatly.Finally,the results are classified by using Softmax classifier.The experimental results show that this method has high recognition rate for different palmprints,overcoming the shortcomings of traditional palmprint recognition,such as low recognition accuracy,long recognition time and difficulties in manual feature extraction.
Keywords:Convolutional Neural Network (CNN);palmprint recognition;deep learning;non-contact palmprint recognition
1 ? 引言(Introduction)
掌紋識別是起步較晚但優(yōu)勢明顯的非侵犯性生物特征識別技術(shù)[1],近幾年受到國內(nèi)外研究人員的廣泛關(guān)注。相比于其他技術(shù),掌紋識別的優(yōu)勢在于圖像采集簡單且圖像信息清晰豐富;對采集設(shè)備要求不高;安全性相對較高。雖然掌紋識別技術(shù)在近幾年才慢慢成熟。但相比其他傳統(tǒng)生物識別技術(shù)來說,具有識別精度高、所需時間短,接收率高,硬件成本低等優(yōu)勢[2]。
現(xiàn)在廣泛使用的掌紋圖像采集方式分為兩種:接觸式和非接觸式[3]。接觸式采集方法存在手掌滑動、擠壓、出汗等情況造成掌紋難以采集和失真;非接觸式采集法可以避免接觸過程中的衛(wèi)生問題,但也會導(dǎo)致成像的不穩(wěn)定因素產(chǎn)生。然而,結(jié)合掌紋多項特性識別是將來的發(fā)展趨勢,非接觸式掌紋采集剛好有助于采集手掌上面的多項信息[4],提高識別安全性和可用性。
近些年來,卷積神經(jīng)網(wǎng)絡(luò)模型在車牌識別、手寫文字識別[5]、人臉識別[6]、步態(tài)識別[7]、交通車輛[8]識別等領(lǐng)域取得了很大的成功和長遠(yuǎn)的發(fā)展。因此,將掌紋識別與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合將是未來研究的重點。
2 ?卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(Convolution Neural Network architecture)
人腦是一種深層結(jié)構(gòu),通過逐層過濾和采樣輸入信息來認(rèn)知。深度學(xué)習(xí)[9]是一種通過模仿人類大腦對現(xiàn)實抽象世界的感知變成可以被用來認(rèn)知具體事務(wù)的過程的模型。其發(fā)明的原因是由于傳統(tǒng)淺層學(xué)習(xí)在大量數(shù)據(jù)下不能很好地識別。深度學(xué)習(xí)又稱為深度結(jié)構(gòu)學(xué)習(xí),其中包括許多結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)就是深度學(xué)習(xí)中比較常用的結(jié)構(gòu)。在20世紀(jì)60年代,Hubel和Wiesel兩個人在對貓的大腦皮層進行電擊實驗時發(fā)現(xiàn)了分層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在此基礎(chǔ)上提出了感受野的概念。之后,日本學(xué)者又在感受野的基礎(chǔ)上提出神經(jīng)感知機器的概念。此后,許多研究人員開始嘗試運用多層感知器來代替手工提取特征,并取得了成功。
2.1 ? 卷積層
卷積層的操作就如同一個多維的拼圖游戲,因為圖像卷積操作中圖形不是一維存在的,只有卷積操作完成特征才變成線性的結(jié)構(gòu),然而,在分類中,線性函數(shù)存在無法分類的尷尬境地,所以引入激活函數(shù)把線性變?yōu)榉蔷€性。深層的卷積通過不斷循環(huán)的方式提取充分可靠性強的更復(fù)雜的特征。
在傳統(tǒng)圖像識別過程中,預(yù)處理是第一步,因為在圖像采集的時候采集環(huán)境和光照明暗程度不同等降低了特征提取的可靠性。第二步才可以順利地提取圖像可視化特征,最后根據(jù)所提取的特征進行歸類分析,并輸出分類之后的結(jié)果。傳統(tǒng)分類模型如圖1所示。卷積神經(jīng)網(wǎng)絡(luò)分類模型中,不需要對采集的圖像進行處理,直接將圖像輸入到網(wǎng)絡(luò)中,通過卷積和池化操作進行特征提取,最終輸出分類結(jié)果,如圖2所示。
CNN的特點主要由以下幾點體現(xiàn):第一,相鄰兩層神經(jīng)元之間的連接不是完全連接而是使用局部連接,局部連接的好處是減少參數(shù)的數(shù)目,CNN認(rèn)知如同人類對外界的認(rèn)知,先從局部認(rèn)識了解,然后才是全局。
2.2 ? 池化層
訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的主要問題是超大的數(shù)據(jù)及計算量,特別是對于分辨率較高的圖像進行卷積操作,網(wǎng)絡(luò)的訓(xùn)練速度緩慢且耗費大量時間。為了解決網(wǎng)絡(luò)訓(xùn)練時間過長,數(shù)據(jù)量過大的問題,科學(xué)家發(fā)現(xiàn)在卷積層之后連接下采樣層壓縮圖像可以減少數(shù)據(jù)量,從而達到節(jié)約訓(xùn)練時間的目的。通常采用最大池化方法,來提取最明顯的特征,以及使數(shù)據(jù)量盡可能小。簡單地說,池化就是把相鄰部分的特征信息進行壓縮聚合提取使卷積層提取的數(shù)據(jù)特征尺寸變小。其次,網(wǎng)絡(luò)的過度擬合程度也有所降低,網(wǎng)絡(luò)性能得到提高。第三,圖像的池化不會導(dǎo)致圖形變化,即使在樣本已經(jīng)平移、等比例縮放、旋轉(zhuǎn)等處理之后。
2.3 ? 全連接層
通過卷積操作得到局部特點,全連接層的作用就是通過權(quán)重矩陣將局部特征重新組合成完整的圖。由于全連接操作中使用了所有局部特征,因此稱為全連接。整個網(wǎng)絡(luò)各個卷積層獲取的原始圖片的特征,在經(jīng)過各個池化層過濾后通過全連接層第一層的操作組成一個線性的特征分布列。
這個特征分布列在全連接層的各個隱藏層中不斷映射到各個隱藏層的節(jié)點中,即不斷地將所有特征轉(zhuǎn)換到不同的特征空間。
在全連接層中,最后一層類似于一個分類器的出口,使用sigmoid函數(shù)輸出節(jié)點的個數(shù)也就是分類個數(shù)。每個節(jié)點的輸出大小在0到1,即前一層的特征空間中的各個特征對這些類別的貢獻率,也就是之前提取的各個特征可能屬于各個類別的概率。
卷積神經(jīng)網(wǎng)絡(luò)的提出及應(yīng)用極大簡化了圖像識別過程,降低了訓(xùn)練參數(shù),使圖像識別問題不再那么復(fù)雜,如同一個黑盒,只有入口的輸入,出口的輸出而不關(guān)注中間隱藏層。多個卷積層和池化層之間進行交替連接用作網(wǎng)絡(luò)的輸入端,然后全連接層的每個節(jié)點與前一層的所有節(jié)點進行連接,以組合從前面提取的特征。最后將多分類器用作輸出層。
2.4 ? TensorFlow框架
2015年谷歌宣布對TensorFlow[10]計算框架進行開源,以便使其得到充分的發(fā)展。它的優(yōu)點是可操作性強、支持多種計算平臺、系統(tǒng)性能穩(wěn)定、計算速度快、簡單通用、支持各種不同的深度學(xué)習(xí)算法,所以在開源之后便得到了廣泛的應(yīng)用。
如今,TensorFlow受到越來越多的關(guān)注,已在Google中被廣泛使用。例如,基于TensorFlow開發(fā)的排名系統(tǒng)RankBrain已成功啟動和使用。相比傳統(tǒng)的排序算法,RankBrain能夠很好的滿足用戶的需求。基于TensorFlow的RankBrain已經(jīng)在Google的核心網(wǎng)絡(luò)搜索業(yè)務(wù)中發(fā)揮了關(guān)鍵作用,展示了TensorFlow的強大功能。如今,國內(nèi)外主要科技公司已加入使用TensorFlow的行列[11]。
3 實驗過程、結(jié)果與分析(Experimental process,
results and analysis)
3.1 ? 圖像預(yù)處理
本實驗的掌紋圖像是由作者拍攝的圖像。掌紋數(shù)據(jù)庫分為8只手掌,分別為4只左手和4只右手,每只手?jǐn)?shù)據(jù)集有200張圖像,經(jīng)過簡單的旋轉(zhuǎn)和等比例縮放,將200張圖像通過過采樣的方式擴大為1000張圖像的數(shù)據(jù)。然后訓(xùn)練集和測試集按照4比1的比例在所有圖片中隨機選取。掌紋圖像的特征包括手掌內(nèi)側(cè)的全部紋理,由照相機在固定背景下拍攝而成,原始照片大小為2976×2976像素。因為圖像的大小與卷積核大小的選取緊密關(guān)聯(lián),所以圖像的大小就非常重要,圖像太大會導(dǎo)致過多的計算量和時間;如果圖像太小,圖像的細(xì)節(jié)不明顯,分辨率不夠又會引起圖像關(guān)鍵細(xì)節(jié)的丟失或者采集不清晰。為了能更好地提取特征,就必須將掌紋圖像進行等比例縮小成224×224像素大小的圖片,這樣對掌紋簡單的預(yù)處理不僅可以減少在運算中的數(shù)據(jù)量,也不至于因圖像過小導(dǎo)致采集的特征不清晰,還能夠提高整個識別系統(tǒng)的實時性以及準(zhǔn)確性。
3.2 訓(xùn)練算法
在CNN中通常運用Adam算法[12]訓(xùn)練和優(yōu)化網(wǎng)絡(luò)。Adam算法不同于隨機梯度下降而是運用訓(xùn)練數(shù)據(jù)進行迭代的方式進行神經(jīng)網(wǎng)絡(luò)的更新,通過計算梯度的第一矩估計和第二矩估計的方法為不同參數(shù)設(shè)計獨立的自適應(yīng)學(xué)習(xí)率。
具體而言,超參數(shù),β1和β2控制算法計算梯度指數(shù)移動平均值的衰減率,移動平均線的初始值和β1、β2值接近1,因此矩估計的偏差接近于零。通過首先計算偏差的估計然后在偏差校正之后計算估計來改善該偏差。Adam優(yōu)化算法的優(yōu)點包括梯度對角縮放的不變性,計算高效,所需內(nèi)存小,這是解決優(yōu)化大量數(shù)據(jù)集和參數(shù),以及非平穩(wěn)目標(biāo)問題的理想選擇。同時也適于解決在圖像處理過程中包含極高噪聲或稀疏梯度影響的問題,可以直觀地解釋超參數(shù),只需要很少的調(diào)參工作。
3.3 ? Dropout原理與實現(xiàn)
Hinton等人2012年提出了Dropout[13]作為防止CNN過度擬合的正則化方法。由于訓(xùn)練數(shù)據(jù)集受到卷積神經(jīng)網(wǎng)絡(luò)深度的限制,因此部分學(xué)習(xí)到的特征關(guān)系存在一定的偶然性,這些隨機特征關(guān)系只存在于訓(xùn)練數(shù)據(jù)中。很容易導(dǎo)致CNN過度擬合。
在深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)中,通過訓(xùn)練得到一些網(wǎng)絡(luò)模型相對困難,并且訓(xùn)練相對大一點的網(wǎng)絡(luò)計算量非常大,所以訓(xùn)練模型時找到最好的超參數(shù)異常困難。Dropout在改善機器學(xué)習(xí)方面,表現(xiàn)非常有效。此外,DCNN通常需要大量的訓(xùn)練數(shù)據(jù)訓(xùn)練不同的模型。Dropout的作用就是防止訓(xùn)練過程中的過擬合,“Dropout”是指CNN中的“丟棄”神經(jīng)元,“丟棄”是指隨機刪掉網(wǎng)絡(luò)中一半的隱藏神經(jīng)元,輸入輸出神經(jīng)元保持不變。Dropout的缺點是收斂速度可能減慢:因為每次迭代中只更新一部分參數(shù),而不是更新所有的參數(shù),所以可以減慢梯度。
公式中的*表示逐項乘法。在任意層l中,rl表示獨立的隨機變量向量,這個向量乘以當(dāng)前層的輸出Yl得到一個“稀疏”輸出,然后稀疏輸出用作下一層的輸入。通過對每個層執(zhí)行此操作,便完成原始模型中提取稀疏模型的操作。
3.4 ? 基于CNN的掌紋分類方法
掌紋識別CNN框架如圖3所示。
有關(guān)掌紋識別CNN框架的詳細(xì)描述如下:
該實驗使用12層的卷積神經(jīng)網(wǎng)絡(luò)框架,其網(wǎng)絡(luò)結(jié)構(gòu)由5層卷積層(C)和5層池化層(S)還有2層全連接層(FC)組成。卷積層C1使用64個大小為3×3的卷積核,步長為1,邊緣填充使用默認(rèn)模式,對224×224大小的圖片進行卷積運算,然后得到224×224×64的特征圖。S1是第一個池化層,其通過2×2最大池化方法將C1層輸出的224×224×64的特征映射轉(zhuǎn)換為112×112×64的特征映射。然后,在卷積層C2中,S1的輸出也使用3×3的卷積核進行卷積,使用128個卷積核,步長為1,并且邊緣填充采用SANE方法,然后獲得112×112×128的特征圖。S2是第二池化層,通過2×2最大池化方法將C2層輸出的112×112×128的特征映射轉(zhuǎn)換為56×56×128的特征映射。C3卷積層由256個卷積核組成,步長為1,邊緣填充使用與S2層輸出相同的112×112特征映射卷積,得到112×112×256的特征映射。接著S3層通過2×2最大池化方法,將C3層輸出的112×112×256的特征圖轉(zhuǎn)換為56×56×256的特征圖。C4、C5層原理同C3層一樣;S4、S5原理同S3層,最后得到7×7×256的特征圖。S5層之后是FC1層,為全連接層,將S5層輸出的7×7×256的特征圖轉(zhuǎn)化為一維矩陣,然后作為輸入,即輸入節(jié)點為7×7×256=12544個,輸出節(jié)點設(shè)置為1024個,則權(quán)重矩陣的大小為12544×1024。通過輸入矩陣和權(quán)重矩陣進行乘積,再加上一個偏置,得到1024個結(jié)點的輸出。由于數(shù)據(jù)集用來訓(xùn)練的樣本并不是特別多,整個數(shù)據(jù)集一共有8000張圖片,為了防止網(wǎng)絡(luò)過擬合,在隱藏層中使用Dropout方法,之后為FC2層,運用sigmoid分類,輸入的就是FC1輸出的1024個節(jié)點,則輸出為8個節(jié)點,即類別數(shù)。使用Softmax函數(shù)作為激活函數(shù)。最后使用交叉信息熵cross_entropy計算損失,然后用Adam優(yōu)化器進行訓(xùn)練和測試,得出結(jié)果。網(wǎng)絡(luò)設(shè)置詳見表1。
3.5 ? 數(shù)據(jù)集展示
本次實驗所選用的數(shù)據(jù)集使用手機拍攝,來自四名志愿者,每名志愿者采集了左右手掌的圖像。如圖4—圖11所示。
3.6 ? 實驗結(jié)果分析
掌紋庫中包括每個志愿者的左右手掌的掌紋。每只手掌掌紋有200張樣本,經(jīng)過簡單的旋轉(zhuǎn)和等比例縮放,將200張圖像通過過采樣的方式擴充為1000張圖像的數(shù)據(jù)。訓(xùn)練數(shù)據(jù)是從1000張圖片中隨機的選取800張,剩下的200張作為測試數(shù)據(jù),一共選取四個志愿者共8000張圖像作為實驗數(shù)據(jù)。
本文實驗的數(shù)據(jù)完全由自己拍攝。掌紋數(shù)據(jù)分為八類,分別拍攝的是四個人的左右手掌紋。一共8000張圖片。首先需要將圖像格式轉(zhuǎn)化成三維數(shù)組的格式,以便下一步進行掌紋特征提取的卷積操作。卷積神經(jīng)網(wǎng)絡(luò)的實驗需要大量的樣本支持才行,故拍攝大量的樣用來深度學(xué)習(xí)和測試。每一個類一共有1000張的圖片用于測試集和訓(xùn)練集,訓(xùn)練和測試按4:1比例分配,其中200張作為掌紋的識別集。圖12中的橫坐標(biāo)表示實驗測試中輸入樣本的數(shù)量,縱坐標(biāo)表示識別率,圖中顯示的最大檢測率為99.99%。
實驗結(jié)果對比詳見表2。
通過實驗結(jié)果對比可得,應(yīng)用不同的方法得到的識別正確率差別較大,卷積神經(jīng)網(wǎng)絡(luò)相比其他三種傳統(tǒng)方法的識別效果提高了很多,較于傳統(tǒng)算法更加簡潔,省去了圖像預(yù)處理過程。
4 ? 結(jié)論(Conclusion)
本文是對非接觸式掌紋識別在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)下進行的初步研究,然后又與傳統(tǒng)的掌紋識別方法進行了正確率和識別時間兩項指標(biāo)的對比。相較于傳統(tǒng)算法,卷積神經(jīng)網(wǎng)絡(luò)處理圖像的優(yōu)點在于,圖像不需要經(jīng)過前期的過度預(yù)處理,降低了圖像預(yù)處理的難度。使用局部連接和權(quán)值共享技術(shù)減少了參數(shù),同時減少了數(shù)據(jù)量的運算,節(jié)省了大量的時間。使用Adam計算梯度的第一矩估計和第二矩估計來設(shè)置不同參數(shù)的獨立自適應(yīng)學(xué)習(xí)率,減輕了調(diào)試參數(shù)的負(fù)擔(dān)。因此,掌紋識別通過使用經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),很好地解決了傳統(tǒng)識別方法中存在的復(fù)雜度高,訓(xùn)練參數(shù)多,耗時長的問題,與傳統(tǒng)算法相比,準(zhǔn)確率也相對提高了。
參考文獻(References)
[1] 苑瑋琦,魏明月,方婷.全手掌掌紋主線提取方法[J].光電子光,2013,24(07):1399-1405.
[2] Lu J,Tan Y P.Improved discriminant locality preserving projections for face and palmprint recognition.[J]Neurocomputing,2011,4(18): 3760-3767.
[3] 叢鑫,孫勁光.一種圖像檢索中紋理特征提取的方法[J].現(xiàn)代計算機,2006(9):90-91;97.
[4] 陳熙,張家樹.Biometric feature extractionsing local fractal auto-correlation[J].Chinese Physics B,2014,23(9):335-340.
[5] 李新煒,殷韶坤.深度學(xué)習(xí)在文字識別領(lǐng)域的應(yīng)用[J].電子技術(shù)與軟件工程,2018(24):40.
[6] 胡亞洲,周亞麗,張奇志.基于深度學(xué)習(xí)的人臉識別算法研究[J/OL].計算機應(yīng)用研究,2019,37(5):1-7.
[7] 梁海軍.基于人臉和步態(tài)特征的生物識別系統(tǒng)的研究與實現(xiàn)[D].河北科技大學(xué),2019:1-43.
[8] 盧妍輝.智能交通系統(tǒng)中車輛路徑識別方法[J].交通世界,2018(35):15-16.
[9] 周瞳.基于深度卷積網(wǎng)絡(luò)的主掌紋提取方法[D].廣東工業(yè)大學(xué),2018:1-61.
[10] Hailong Xi.Ecognition and Optimization Algorithm of MNIST Dataset Based on LeNet5 Network Structure[A].武漢志誠時代文化發(fā)展有限公司,2018,10:1-7.
[11] 邢艷芳,段紅秀,何光威.TensorFlow圖像識別系統(tǒng)中的應(yīng)用[J/OL].計算機技術(shù)發(fā)展,2019(05):1-5.
[12] 楊觀賜,楊靜,李少波,等.基于Dopout與ADAM優(yōu)化器的改進CNN算法[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2018,46? ? ? ? (07):122-127.
[13] Dahl,George E,Sainath,et al.Improving deep neural networks for LVCSR using rectified linear units and dropout[P].2013:1-5.
[14] 劉玉珍,趙娜,李新春,等.基于混合濾波LBP和PCA的掌紋識別[J].測控技術(shù),2018,37(2):11-15.
[15] 趙強,崔暢.基于多尺度LBP和SVM的掌紋識別算法研究[J].激光雜志,2015 (1):27-30.
[16] 吳婕,任江濤.基于子空間特征融合的兩級掌紋識別算法[J].計算機工程與應(yīng)用,2015(11):175-178.
作者簡介:
陳 ?杰(1994-),男,本科生.研究領(lǐng)域:軟件工程.
張 ?雷(1994-),男,碩士生.研究領(lǐng)域:圖像處理與模式識別.
張 ?睿(1987-),男,博士,講師.研究領(lǐng)域:智能信息處理.本文通訊作者.
解 ?丹(1994-),女,碩士生.研究領(lǐng)域:圖像處理與模式識別.
閆耀東(1994-),男,碩士生.研究領(lǐng)域:圖像處理與模式識別.
葉子維(1998-),男,本科生.研究領(lǐng)域:軟件工程.
柴鈺杰(1999-),男,本科生.研究領(lǐng)域:軟件工程.