王晟賢,張宗華,高 楠,孟召宗
(河北工業(yè)大學(xué) 機械工程學(xué)院,天津 300130)
隨著計算機網(wǎng)絡(luò)通信和電子商務(wù)技術(shù)的迅猛發(fā)展,如何準(zhǔn)確、快速認(rèn)證用戶身份成為了當(dāng)今社會的熱點問題[1]。傳統(tǒng)基于密碼、口令的身份認(rèn)證方法由于存在易丟失、易偽造等缺點,已逐漸被生物識別技術(shù)[2]所代替。近年來,掌紋識別技術(shù)作為一種新興的生物特征識別技術(shù),因其所利用的掌紋具有特征信息豐富、防偽性能出色的優(yōu)點,受到了科研人員的廣泛關(guān)注。
傳統(tǒng)的掌紋識別技術(shù)多是圍繞二維掌紋所展開,但對于1種三維特征,二維掌紋會因缺失一維信息影響最終的識別效果,所以三維掌紋識別技術(shù)應(yīng)運而生。Li W等人[3]設(shè)計了一種基于結(jié)構(gòu)光的設(shè)備來捕獲手掌的三維數(shù)據(jù),并進(jìn)一步建立了由8 000個三維掌紋樣本組成的數(shù)據(jù)庫。在此基礎(chǔ)上,研究者們進(jìn)行了一系列與三維掌紋識別相關(guān)的研究工作。Zhang D等人[4]提出了一種三維掌紋識別方法,基于曲率對三維掌紋數(shù)據(jù)進(jìn)行特征提取以獲得平均曲率圖像、高斯曲率圖像和曲面類型(surface type,ST),再編碼為二進(jìn)制特征。白雪飛等人[5]提出了一種新的三維掌紋識別方法,將分塊曲面類型與主成分分析相結(jié)合以提升算法效率。但傳統(tǒng)的三維掌紋識別技術(shù)分為“特征提取”與“特征匹配”2個步驟。在識別過程中,不僅要選取特征提取時的濾波器,還要選取特征匹配時的分類器,因此增加了不同方法在優(yōu)化組合時的難度。
近幾年,深度學(xué)習(xí)在計算機視覺尤其是在樣本識別領(lǐng)域內(nèi)經(jīng)歷了飛速的發(fā)展。與傳統(tǒng)的識別算法不同,深度學(xué)習(xí)可通過卷積神經(jīng)網(wǎng)絡(luò)同時完成特征的提取和分類。將深度學(xué)習(xí)運用到掌紋識別中也成為了當(dāng)下學(xué)者們重點研究的一個方向。但深度學(xué)習(xí)的方法因公開的三維掌紋數(shù)據(jù)集較少的數(shù)據(jù)量而出現(xiàn)嚴(yán)重的“過擬合”問題,即測試集的表現(xiàn)較差,而遷移學(xué)習(xí)作為一種新的機器學(xué)習(xí)方法越來越多地應(yīng)用到小樣本數(shù)據(jù)集中[6]。但遷移學(xué)習(xí)應(yīng)用于掌紋識別的研究未曾有公開的報道。
本文提出一種融合曲面類型與遷移學(xué)習(xí)的三維掌紋識別方法,改善此類問題,以提高測試集的識別率。
考慮到公開的三維掌紋數(shù)據(jù)集因所存儲的三維點云數(shù)據(jù)具有無序性和稀疏性、樣本容量小的缺點。所以本文先對三維掌紋數(shù)據(jù)集進(jìn)行基于曲率的二維化特征表示,采用更具區(qū)分性的二維ST灰度圖表征三維掌紋信息,并作為輸入網(wǎng)絡(luò)訓(xùn)練與測試的圖像。最后,采用遷移學(xué)習(xí)的方法,利用VGG16(一種曾在圖像識別競賽中獲得最佳表現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò))預(yù)訓(xùn)練模型對三維掌紋識別任務(wù)進(jìn)行微調(diào)處理,提高其識別率。
三維掌紋本質(zhì)上是一種使用曲率描述并具有唯一性的連續(xù)曲面。掌紋曲面上的點可根據(jù)曲率分為8種基本類型,以此來描述三維掌紋曲面特征。掌紋曲面每點的ST取決于該點的平均曲率H和高斯曲率K,Besl P J等人[7]提出了一種基于一組預(yù)定義的模板來簡單高效計算平均曲率和高斯曲率的方法,可通過式(1)和式(2)計算得到
(1)
(2)
式中f為三維掌紋的深度,fx,fy為f的一階偏導(dǎo)數(shù),fxx,fxy以及fyy為f的二階偏導(dǎo)數(shù)。
在實際情況中,通常會用一個區(qū)間來確定零點。為了確定H=0,K=0的情況,一種常用的方法是通過使用相應(yīng)的標(biāo)準(zhǔn)偏差對H和K進(jìn)行標(biāo)準(zhǔn)化
Cs=C(i,j)/2δ
(3)
在標(biāo)準(zhǔn)化后大多數(shù)的曲率將落在[-1,1]的范圍內(nèi),可根據(jù)所設(shè)定的閾值參數(shù)判斷曲率的零值。由此,三維掌紋中每點的ST都可據(jù)表1所列,對應(yīng)到具體數(shù)值。
表1 由曲率得到的九類ST
利用具有多數(shù)樣本的A領(lǐng)域的預(yù)訓(xùn)練模型(訓(xùn)練完成且具有良好表現(xiàn)的模型),對具有不同數(shù)據(jù)分布的少量樣本的B領(lǐng)域進(jìn)行微調(diào)處理以求解問題[8]。設(shè)領(lǐng)域D={X,P(x)},分為源領(lǐng)域Ds域Dt,其中,X為特征空間,P(x)為邊緣概率分布。任務(wù)T={Y,f(·)},分為源領(lǐng)域任務(wù)Ts和目標(biāo)領(lǐng)域任務(wù)Tt,其中Y為類別空間,f(·)為學(xué)習(xí)的函數(shù)預(yù)測模型。則遷移學(xué)習(xí)的描述為:利用Ds下的Ts已學(xué)習(xí)好的知識提升Dt下Tt的f(·)的性能。
根據(jù)遷移學(xué)習(xí)的原理,需選擇在Ds中具有高識別率的網(wǎng)絡(luò)模型作為Dt中的預(yù)訓(xùn)練模型,本文將選用VGG16網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)方法的研究。VGGNet由牛津大學(xué)的Simonyan等人在2014年所提出。相比于AlexNet,其特點在于加深了網(wǎng)絡(luò)的深度,使得網(wǎng)絡(luò)易于提取更為細(xì)節(jié)的特征[9]。該模型通過重復(fù)使用3×3卷積核和2×2池化核來增加網(wǎng)絡(luò)的深度;通過堆疊2個3×3的卷積核來替代5×5的卷積核,堆疊3個3×3的卷積核來替代7×7的卷積核。圖1所示為VGG16網(wǎng)絡(luò)結(jié)構(gòu),其中,包含13個卷積層、5個池化層、3個全連接層和1個輸出層。
圖1 VGG16網(wǎng)絡(luò)結(jié)構(gòu)
在網(wǎng)絡(luò)遷移與三維掌紋結(jié)合過程中,現(xiàn)存公開的三維掌紋數(shù)據(jù)集以三維點云的形式存儲著掌紋的深度信息。利用深度學(xué)習(xí)處理三維點云通常應(yīng)用于形狀規(guī)則的物體分類問題中,并不適用于細(xì)節(jié)特征更豐富的三維掌紋數(shù)據(jù),且在處理三維點云過程中,計算復(fù)雜度的提高也不符合掌紋識別的實時、快速要求。所以,本文將對三維掌紋數(shù)據(jù)集進(jìn)行二維化處理,通過基于曲率的二維灰度圖像表征掌紋的三維信息,再利用遷移學(xué)習(xí)的方法對圖像進(jìn)行訓(xùn)練與測試,以達(dá)到三維掌紋識別的快速識別要求。
融合ST與遷移學(xué)習(xí)的三維掌紋識別具體流程如下:首先,將三維掌紋數(shù)據(jù)庫進(jìn)行二維化處理,利用二維灰度特征圖,即ST圖表征三維掌紋數(shù)據(jù)。其次,利用在ImageNet大型公開數(shù)據(jù)集(包含1 000個類別的14 197 122張圖片)下已訓(xùn)練好的VGG16預(yù)訓(xùn)練模型進(jìn)行改進(jìn)及微調(diào)處理,改進(jìn)的方法具體步驟如下:1)利用PReLU激活函數(shù)代替模型中出現(xiàn)的ReLU激活函數(shù);2)在網(wǎng)絡(luò)的最后一層全連接層后添加批次歸一化處理;3)采用Softmax分類層作為網(wǎng)絡(luò)最終的輸出層。由于改進(jìn)過程中并沒有改變網(wǎng)絡(luò)的層數(shù)和參數(shù)數(shù)量,所以并不影響預(yù)訓(xùn)練模型的知識遷移。最后,在模型改進(jìn)后,將預(yù)訓(xùn)練模型中能提取到具有特征通性的淺層網(wǎng)絡(luò)參數(shù)遷移至三維掌紋識別任務(wù)中,以實現(xiàn)知識遷移。網(wǎng)絡(luò)輸入處理好的二維灰度特征圖,僅針對能提取到掌紋區(qū)分性特征的模型深層網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
識別不同于驗證,其屬于一對多匹配問題。本文采用香港理工大學(xué)的公開三維掌紋數(shù)據(jù)集[10](包含了分2次采集的400個不同手掌中收集的8 000個樣本)進(jìn)行一系列有效性對比實驗。實驗環(huán)境為CPU:Inter?CoreTMi5—9400F CPU @ 2.90 GHz;GPU:NVIDIA GeForce RTX 2060;內(nèi)存:16 GB RAM;深度學(xué)習(xí)框架:Tensorflow。
本文識別實驗設(shè)計如下:首先劃分訓(xùn)練集與測試集,訓(xùn)練樣本采用掌紋庫第一次采集的圖像,測試樣本采用掌紋庫第二次采集的圖像。使得訓(xùn)練集和測試集均包含400個掌紋類別,每個類別包含10個圖象,共4 000幅圖像。通過對比不同方法的rank-1識別率來衡量方法的性能。首先,探討三維掌紋在遷移學(xué)習(xí)時網(wǎng)絡(luò)的遷移層數(shù)對最終識別效果的影響。其次,通過對比遷移學(xué)習(xí)與不同深度學(xué)習(xí)網(wǎng)絡(luò)的測試集識別率,以此驗證遷移學(xué)習(xí)方法的有效性。最后,將其與不同傳統(tǒng)方法進(jìn)行比較。遷移學(xué)習(xí)中,用于掌紋數(shù)據(jù)集下的預(yù)訓(xùn)練模型其超參數(shù)的選取同樣會影響測試集的識別率,所以,需要對改進(jìn)的VGG16網(wǎng)絡(luò)預(yù)訓(xùn)練模型進(jìn)行微調(diào)。通過實驗,確定最終的學(xué)習(xí)率為0.000 5,批次大小為100,迭代步數(shù)為1 500步并采用Adam優(yōu)化。圖2(a)為采用ST表征三維掌紋時遷移學(xué)習(xí)方法的訓(xùn)練集與測試集準(zhǔn)確率的比較;圖2(b)為針對圖2(a)中迭代步數(shù)1 000~1 500步的訓(xùn)練集與測試集的識別率比較,可以發(fā)現(xiàn),相比于測試集,訓(xùn)練集會在較少的迭代步數(shù)后達(dá)到100 %的準(zhǔn)確率,而測試集最終會達(dá)到99.73 %的準(zhǔn)確率;圖2(c)為訓(xùn)練集的損失值,可以發(fā)現(xiàn),隨著迭代次數(shù)的增多,損失值在不斷減少。
圖2 VGG16網(wǎng)絡(luò)遷移學(xué)習(xí)曲線
遷移學(xué)習(xí)的三維掌紋識別方法需要將VGG16預(yù)訓(xùn)練模型中具有能提取通性特征的淺層網(wǎng)絡(luò)進(jìn)行參數(shù)的固定并遷移至三維掌紋識別任務(wù)下相對應(yīng)的VGG16網(wǎng)絡(luò)模型中,僅針對后層網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)、訓(xùn)練。但是,遷移過程中需固定預(yù)訓(xùn)練模型的具體網(wǎng)絡(luò)層數(shù),到目前為止并沒有一個可以量化標(biāo)準(zhǔn)。所以,此實驗將對比在固定不同的預(yù)訓(xùn)練模型網(wǎng)絡(luò)層數(shù)時測試集的效果,以此確定最終能達(dá)到的遷移效果最佳的網(wǎng)絡(luò)固定層數(shù)。表2為固定不同預(yù)訓(xùn)練模型層數(shù)時測試集的識別率對比。
表2中比較了三維掌紋數(shù)據(jù)集下利用未固定的網(wǎng)絡(luò),即未使用遷移學(xué)習(xí)方法的VGG16原網(wǎng)絡(luò)和固定預(yù)訓(xùn)練模型前5層網(wǎng)絡(luò)至前10層網(wǎng)絡(luò)的幾種不同情況下測試集的識別率??梢园l(fā)現(xiàn),在未使用遷移學(xué)習(xí)方法時,其測試集的識別效果并不理想,識別率僅有97.78 %。隨著預(yù)訓(xùn)練模型網(wǎng)絡(luò)固定層數(shù)的增加,測試集的識別率也在提高,直到預(yù)訓(xùn)練模型固定前7層網(wǎng)絡(luò)時,測試集的表現(xiàn)將達(dá)到最優(yōu),即識別率為99.73 %。而當(dāng)預(yù)訓(xùn)練模型固定網(wǎng)絡(luò)高于7層時,測試集識別率存在隨著網(wǎng)絡(luò)固定層數(shù)的增加而降低的趨勢。
表2 固定不同預(yù)訓(xùn)練模型層數(shù)的識別率對比
為論證遷移學(xué)習(xí)方法的有效性,針對三維掌紋數(shù)據(jù)集下的遷移學(xué)習(xí)方法進(jìn)行實驗,將通過不同深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練后的三維掌紋識別方法與基于遷移學(xué)習(xí)的三維掌紋識別方法的測試集識別率進(jìn)行對比。將固定VGG16預(yù)訓(xùn)練模型前7層網(wǎng)絡(luò)的結(jié)果作為基于遷移學(xué)習(xí)方法下的最終結(jié)果。而比較的深度學(xué)習(xí)網(wǎng)絡(luò)包括AlexNet[11]以及未使用遷移學(xué)習(xí)方法的VGG16網(wǎng)絡(luò)。表3為VGG16網(wǎng)絡(luò)遷移與不同深度學(xué)習(xí)網(wǎng)絡(luò)的識別率和識別時間的比較。
根據(jù)表3可發(fā)現(xiàn),VGG16相比于AlexNet具有更深的網(wǎng)絡(luò)結(jié)構(gòu),在未使用遷移學(xué)習(xí)方法時,測試集的識別率會隨著深度學(xué)習(xí)網(wǎng)絡(luò)的加深而降低,出現(xiàn)“過擬合”的問題。當(dāng)使用了遷移學(xué)習(xí)方法的VGG16預(yù)訓(xùn)練模型訓(xùn)練三維掌紋數(shù)據(jù)集后,“過擬合”問題得到了很好的解決,測試集達(dá)到了更高的識別率,網(wǎng)絡(luò)的泛化能力增強。證實了在使用遷移學(xué)習(xí)方法解決網(wǎng)絡(luò)的“過擬合”問題后,網(wǎng)絡(luò)的加深會幫助其提取到更易于區(qū)分的特征。雖然遷移學(xué)習(xí)的方法提高了最終的識別率,但是并未能很好的解決網(wǎng)絡(luò)加深、參數(shù)量增多所導(dǎo)致的計算復(fù)雜度提升的問題。相比于網(wǎng)絡(luò)結(jié)構(gòu)更為簡單的AlexNet,單體測試樣本在VGG16網(wǎng)絡(luò)下的識別時間增加了8 ms。
表3 VGG16網(wǎng)絡(luò)遷移與不同深度學(xué)習(xí)網(wǎng)絡(luò)的識別率和識別時間的比較
本節(jié)將所提出的基于遷移學(xué)習(xí)的三維掌紋識別方法與幾種傳統(tǒng)的基于“特征提取”+“分類器”的三維掌紋識別方法進(jìn)行實驗對比,通過測試集的識別率來驗證該方法所具有的良好的識別效果。表4為不同三維掌紋識別方法下的測試集識別率對比??砂l(fā)現(xiàn),所提方法相較于幾種傳統(tǒng)方法而言,所提方法在識別率上有了進(jìn)一步的提高。
表4 不同方法識別率對比
針對小樣本的三維掌紋數(shù)據(jù)集,本文提出了一種融合ST與VGG16網(wǎng)絡(luò)遷移的三維掌紋識別方法。實驗結(jié)果表明,在公開的三維掌紋數(shù)據(jù)集下,本文所提方法在網(wǎng)絡(luò)遷移過程中固定前7層網(wǎng)絡(luò)時的表現(xiàn)最佳,其測試集達(dá)到了99.73 %的識別率,與該領(lǐng)域內(nèi)已有方法相比在識別精度上有了更進(jìn)一步的提高,并證明了所提方法的有效性。