王欣宇,周穎玥,2,李佳陽,孫 蕾
(1. 西南科技大學信息工程學院,四川 綿陽 621010;2. 西南科技大學特殊環(huán)境機器人技術四川省重點實驗室,四川 綿陽 621010)
相比于密碼、鑰匙、身份證等傳統(tǒng)身份鑒別信息,人體生物特征因具有“隨身攜帶”、隨時隨地可用、不易遺忘和丟失等優(yōu)點,使得金融、安防、日常出勤管理、個人物品保管等領域更青睞于通過生物特征進行個人身份識別與驗證[1]。相比于指紋和人臉等外部特征,手指靜脈屬于人體內部結構,不易受到外部環(huán)境的影響,并且靜脈識別屬于活體識別,難以被復制,其安全等級更高[2]。同時,由于手指靜脈脈絡分布的隨機性,使得不同個體之間手指靜脈脈絡分布存在差異性,即使是雙胞胎的靜脈分布特征也不相同,這就奠定了手指靜脈用于身份識別的基礎。
影響手指靜脈識別系統(tǒng)精度的主要因素為:采集到的靜脈圖像質量好壞以及靜脈圖像特征提取是否有效,二者均是為了保障手指靜脈圖像中的特征能充分提取與表達。傳統(tǒng)靜脈圖像特征提取方法主要是通過人工設計特征提取算法,例如:提取血管結構的標志性特征(線性形狀、曲率、細節(jié)點等)來代表靜脈脈絡的特征[3];利用單維或多維的主分量分析方法尋找靜脈圖像或所提特征的低維表達[4],從而有效縮減了特征向量的維數(shù);利用靜脈圖像全局或局部的統(tǒng)計信息來表達圖像的特征,以局部二值模式(Local Binary Pattern, LBP)為典型代表[5];另外,一些在計算機視覺上廣泛應用的尺度不變特征提取技術(Scale Invariant Feature Transform, SIFT)也被用于靜脈特征表達[6]。
得益于神經(jīng)網(wǎng)絡技術的發(fā)展,近年來計算機視覺中許多問題都借助于神經(jīng)網(wǎng)絡模型來自適應地捕獲目標圖像的有效特征,已有學者將典型的卷積神經(jīng)網(wǎng)絡模型用于手指靜脈識別問題中[7-9]。例如:陶志勇[7]等在AlexNet模型基礎上提出了Im-AlexNet模型并用于手指靜脈識別中,有效減小了模型參數(shù)量,提高了識別準確率。但由于分類網(wǎng)絡輸出節(jié)點固定,使得識別系統(tǒng)只能識別有限數(shù)量的人群。Tang[8]和Xie[9]將度量學習應用于手指靜脈識別中,Tang利用預訓練模型作為教師網(wǎng)絡,輕量級網(wǎng)絡作為學生網(wǎng)絡,將兩者結合為一個孿生網(wǎng)絡結構,構造對比損失(Contrastive Loss,CL)量化樣本對之間的距離,訓練出的網(wǎng)絡性能良好。Xie研究了影響網(wǎng)絡識別率的因素,通過三元組損失(Triplet Loss,TL)訓練得到最優(yōu)的哈希模型,取得較好的手指靜脈識別結果。雖然度量學習解決了分類網(wǎng)絡結構的問題,但是CL以及TL對訓練樣本的利用率還不夠高,導致模型效果欠佳。
為了克服上述方法存在的缺陷,基于度量學習的方法,提出采用基于平滑平均準確度損失函數(shù)(Smooth Average Precision Loss, Smooth-AP)來訓練卷積神經(jīng)網(wǎng)絡的思路,有效提高了網(wǎng)絡識別手指靜脈圖像的性能。并且,構建了如下的識別系統(tǒng):個人身份注冊時,利用訓練好的卷積神經(jīng)網(wǎng)絡將輸入的手指靜脈圖像轉變?yōu)槠鋵奶卣飨蛄坎⒋鎯?從而完成個人身份數(shù)據(jù)庫的構建;當識別個人身份時,利用網(wǎng)絡提取待識別手指靜脈圖像的特征,并通過與個人身份數(shù)據(jù)庫中已有的特征進行匹配得到待識別人的身份。另外,為了保證網(wǎng)絡輸入端的手指靜脈圖像質量達到一定要求,在圖像采集后加入了基于神經(jīng)網(wǎng)絡的圖像質量判斷模塊,進一步增強了整個手指靜脈識別系統(tǒng)的穩(wěn)定性和可靠性。
手指中動脈與靜脈相互伴行,動脈血中的血紅蛋白攜帶氧分子,而靜脈血中的血紅蛋白不攜帶氧分子。利用靜脈血中失氧的血紅蛋白吸收近紅外光(波長范圍為690~980nm)、同時手指中的其它組織不吸收近紅外光的特性來采集靜脈圖像,在采集到的圖像中顯現(xiàn)的暗條紋即為手指靜脈脈絡[10]。
現(xiàn)有的手指靜脈圖像采集方式分為透射式、反射式和側射式。透射式采集中,近紅外光源和圖像傳感器分別位于手指兩側,使得成像裝置是密閉式裝置,避免了外界環(huán)境光的干擾;同時近紅外光從手指一側垂直穿過,近紅外光的反射和散射現(xiàn)象更少,所以使用透射式采集比另外兩種方式采集到的手指靜脈信息更多。
通過采集設備獲得的手指靜脈圖像中含有手指以外的背景信息,這些信息對于手指靜脈識別來說是無用信息,因此需要將圖像中的手指區(qū)域,即感興趣區(qū)域(Regin of Interest, ROI)預先提取[11]。同時,采集圖像過程中可能出現(xiàn)由于手指按壓力度不當、擺放位置不當而導致靜脈紋路不清晰或圖像整體灰度過暗或過亮的現(xiàn)象[12]。為了篩查質量過差的手指靜脈圖像,為后續(xù)識別提供可靠的圖像源,在圖像采集后增加了圖像質量判別模塊。
2.2.1 手指靜脈圖像ROI提取
手指與背景之間在手指邊緣處得以明顯區(qū)分,通過Sobel邊緣檢測算子生成手指邊緣模板,在模板中取手指上邊緣的最低點和下邊緣的最高點獲得與圖片長邊平行的兩條線段,在原圖中裁剪出線段之間的區(qū)域即得到手指靜脈ROI,具體流程如圖1所示。
圖1 手指靜脈圖ROI提取流程
2.2.2 手指靜脈圖像質量判斷
現(xiàn)有的手指靜脈圖像質量評估方法中,基于手動設計的圖像質量特征提取并融合的方法以及基于靜脈紋路檢測靜脈支路點個數(shù)的方法存在一定的不足,例如:手動設計圖像質量特征提取算法需要組合特征、篩選有效特征等實驗測
試,算法魯棒性有局限,而靜脈紋路中的靜脈支路點實際上很難被準確檢測。所以本文通過訓練卷積神經(jīng)網(wǎng)絡來自適應地捕獲目標圖像的質量判別特征,所選網(wǎng)絡為輕量化的MobileNet-V2[13]。通過設置分類層為2個輸出概率,使得網(wǎng)絡具有判別圖像質量為“高質量”和“低質量”的功能。
為了有效地提取靜脈圖像的特征,選擇ResNet-50作為特征提取模型。ResNet-50隸屬于ResNet類網(wǎng)絡,通過直接將輸入信息繞道傳到輸出,保證信息的完整性,使網(wǎng)絡只需要學習輸入與輸出差別的那一部分,簡化了學習目標和難度。同時將原ResNet-50最后的全連接層節(jié)點數(shù)設置為特征向量的維數(shù)N(例如:N=512),使網(wǎng)絡的輸出能作為靜脈圖像的特征向量,并對該層進行歸一化處理,不僅加快了損失值的計算,而且加快了后續(xù)特征匹配環(huán)節(jié)的速度。具體網(wǎng)絡結構如圖2所示。
圖2 ResNet-50網(wǎng)絡提取手指靜脈特征示意圖
在訓練網(wǎng)絡時,受文獻[14]啟發(fā),利用一種新穎的Smooth-AP損失函數(shù)來訓練ResNet-50,其優(yōu)點在于:Smooth-AP以優(yōu)化特征向量排序的方式,使得損失值由排序隊列中的全部特征向量計算得出,相比以往的度量損失如“Contrastive Loss、Triplet Loss”,Smooth-AP損失函數(shù)不僅增多了單次訓練中可比較的樣本,而且使得訓練過程中對各樣本的關注度也不同,有利于減少特異性樣本的干擾,使網(wǎng)絡能更好地學習到靜脈圖像的特征?;赟mooth-AP的損失函數(shù)具體計算如下:
(1)
(2)
(3)
(4)
其中I{·}為單位階躍函數(shù),即
(5)
顯然,當神經(jīng)網(wǎng)絡對手指靜脈圖像的特征提取能力越強時,與vq同類別的樣本被排序得越靠前,APq值則越大。
為了利用APq構造損失函數(shù),并且避免單位階躍函數(shù)給網(wǎng)絡訓練時的反向傳播帶來阻斷作用,使用平滑的Sigmoid函數(shù)來近似表達單位階躍函數(shù),即將I{·}變?yōu)?/p>
(6)
將式(6)和式(3)、式(4)代入式(2),得到APq的近似表達,記為SmoothAPq,式子如下
(7)
基于SmoothAPq,定義神經(jīng)網(wǎng)絡模型訓練的損失函數(shù)為
(8)
當網(wǎng)絡訓練到損失函數(shù)收斂趨近于0時,SmoothAPq值趨近為1,意味著網(wǎng)絡所提取到的特征向量vq與其同類的特征向量更一致,換言之:網(wǎng)絡的特征提取能力越強。
綜合以上步驟,所構建的手指靜脈識別系統(tǒng)如圖3所示。該系統(tǒng)的使用分為注冊和識別過程,注冊過程包含手指靜脈圖像采集、預處理、特征提取,識別階段包含注冊階段所有步驟并增加手指靜脈圖像特征匹配環(huán)節(jié)。個人身份注冊時,利用訓練好的ResNet-50將輸入的手指靜脈圖像轉變?yōu)槠鋵奶卣飨蛄坎⒋鎯?從而完成個人身份數(shù)據(jù)庫的構建。當識別個人身份時,待識別的圖像經(jīng)過ROI提取,輸入訓練好的ResNet-50網(wǎng)絡,得到特征向量vq,再將vq與注冊庫中的特征向量vi一一求取余弦相似度Scos
圖3 手指靜脈識別系統(tǒng)整體架構圖
(9)
Scos越大說明二者之間的相似度越大,取使Scos為最大值的vi的類別作為匹配結果。
測試本文所提出的手指靜脈圖像識別算法涉及到對質量判斷模型MobileNet-V2以及特征提取模型ResNet-50的訓練與調試,所用的計算機配置如下:CPU為Intel i5-4200H,主頻為2.80GHz,系統(tǒng)為Windows64位系統(tǒng),顯卡為NVIDIA GeForce GTX 950M,運行內存為8G。采用Python 3.7作為編程語言,深度學習平臺選用PyTorch 1.6。
本文所選用的實驗數(shù)據(jù)集是公開的山東大學手指靜脈數(shù)據(jù)集(SDUMLA)[15]、香港理工大學手指靜脈數(shù)據(jù)集(HKPolyU)[16]以及團隊自建數(shù)據(jù)集(SWUST-FV)。SWUST-FV在采集時,以團隊學生為目標對象,包含20位志愿者的左手和右手的食指、中指、無名指,對每根手指采集6張640×480分辨率的圖像,共120類。以上三個數(shù)據(jù)集基本信息總結如表1。
表1 實驗數(shù)據(jù)集的基本信息
使用最常見的分類識別評價指標對模型進行驗證,其中包括準確率(Accuracy),受試者工作特征曲線(Receiver Operating Characteristic Curve, ROC),等誤率(Equal Error Rate, EER)。準確率的公式定義為
(10)
其中TP代表同類的手指靜脈圖像匹配成功的個數(shù),FN代表同類的手指靜脈圖像匹配失敗的個數(shù),FP代表不同類的手指靜脈圖像匹配成功的個數(shù),TN代表不同類的手指靜脈圖像匹配失敗的個數(shù)。
通過設置不同的分類閾值得到相應的假正例率(False Positive Rate, FPR)和真正例率(True Positive Rate, TPR),ROC曲線以FPR為橫坐標,TPR為縱坐標擬合而成。ROC曲線包含的面積越大,模型性能更好。FPR和TPR的公式定義為:
(11)
(12)
EER代表FPR和假錯誤率(False Negative Rate, FNR)相等時的值,FNR可由TPR計算得到,它們之間的關系為
(13)
所以在直角坐標系下,經(jīng)過(0,1)和(1,0)兩點的直線與ROC曲線相交的點的橫坐標為EER值,EER值越小,模型性能越好。
4.2.1 手指靜脈圖像質量判斷模塊性能側試
該測試中,首先從SDUMLA、HKPolyU數(shù)據(jù)集中挑選“高質量”與“低質量”的手指靜脈圖像樣本,構建了帶標簽的質量判斷數(shù)據(jù)集,用SDUMLA-QD、HKPolyU-QD表示。然而,其中“高質量”與“低質量”圖像數(shù)量并不均衡,后者數(shù)量太少,不利于網(wǎng)絡訓練。為此,通過合成少數(shù)類過采樣技術(Synthetic Minority Over-sampling Technique,SMOTE)[17]擴增低質量圖像數(shù)量,使得低質量圖像數(shù)量增加到與高質量圖像數(shù)量近似的數(shù)量。然后設定MobileNet-V2模型輸出節(jié)點為2,采用交叉熵作為損失函數(shù)訓練MobileNet-V2,模型優(yōu)化器為Adam。選取SDUMLA-QD、HKPolyU-QD中70%的圖像為訓練集,30%的圖像為測試集。不管是用SDUMLA-QD還是HKPolyU-QD數(shù)據(jù)集進行訓練,MobileNet-V2對于“高、低質量”的手指靜脈圖像的識別率都能達到92%以上。與文獻[18-21]中圖像質量判斷方法作對比,其結果如表2所示。
表2 不同圖像質量判斷算法在SDUMLA-QD和HKPolyU-QD測試集上的識別準確率對比
由表2可知:本文所提出的基于MobileNet-V2的手指靜脈圖像質量判斷算法在判別靜脈圖像質量上具有優(yōu)勢效果。
4.2.2 損失函數(shù)對比試驗
為了驗證本文在特征提取網(wǎng)絡ResNet-50中所使用的基于Smooth-AP的損失函數(shù)的優(yōu)勢,對比了其它兩種不同的損失函數(shù)應用于網(wǎng)絡訓練的效果,它們是:對比損失函數(shù)(Contrastive Loss, CL)[8]和三元組損失函數(shù)(Triplet Loss, TL)[9]。先對SDUMLA、HKPolyU數(shù)據(jù)集通過隨機裁剪的方式進行數(shù)據(jù)擴增,然后以7:3的比例分別將這兩個數(shù)據(jù)集劃分為訓練集和測試集。利用三種損失函數(shù)分別在SDUMLA和HKPolyU訓練集上進行訓練,然后在測試集上比較ROC曲線以及EER值。首先在SDUMLA數(shù)據(jù)集上訓練ResNet-50,并在SDUMLA和HKPolyU的測試集上評估的結果如圖4所示??梢?對利用Smooth-AP 損失函數(shù)訓練出的網(wǎng)絡評估得到的ROC曲線包含了另外兩種損失函數(shù)得到的ROC曲線,同時EER值也是三者中最小的。這說明由基于Smooth-AP 損失函數(shù)訓練的網(wǎng)絡能更好提取手指靜脈圖像特征,而且使用HKPolyU數(shù)據(jù)集進行評估時,不同損失的EER值均有升高,但基于Smooth-AP損失函數(shù)訓練的模型升高得最少,說明采用基于Smooth-AP損失函數(shù)訓練的網(wǎng)絡能進行跨庫識別,并且遷移能力比由其它兩種損失訓練出的網(wǎng)絡更強。
圖4 應用不同的損失函數(shù)在SDUMLA上訓練,再在SDUMLA和HKPolyU測試集上評估的ROC曲線
在HKPolyU數(shù)據(jù)集上訓練ResNet-50,并在HKPolyU和SDUMLA的測試集上評估也能得到同樣的結論。
4.2.3 質量判斷算法對于識別性能的作用測試
為了驗證本文質量判斷算法聯(lián)合特征提取算法的有效性,對比SDUMLA和HKPolyU不進行質量篩選和進行質量篩選后,EER值的差距,如圖5所示。其中Q+S代表識別系統(tǒng)利用了質量判斷算法和特征提取算法,S代表識別系統(tǒng)只利用了特征提取算法,SDtrain、SDval代表模型訓練和驗證是基于SDUMLA數(shù)據(jù)集,HKtrain、HKval代表模型訓練和驗證是基于HKPolyU數(shù)據(jù)集??梢?經(jīng)過質量評估后,不管是在SDUMLA數(shù)據(jù)集還是HKPolyU數(shù)據(jù)集上得到的EER值都有下降,這表明本文提出的先進行圖像質量評價與篩選,再提取特征與匹配有助于提升識別系統(tǒng)性能。
圖5 特征提取結合質量評價與不結合質量評價的等誤率比較
4.2.4 不同手指靜脈圖像識別算法的對比試驗
為了測試本文所提出的手指靜脈圖像識別算法的性能,選取了文獻[22、23、13、24]方法做對比實驗。文獻[22]提出一種SVDMM方法進行監(jiān)督學習與分類,文獻[23]使用Gabor+LBP算子進行手指靜脈識別,文獻[9]提出使用卷積神經(jīng)網(wǎng)絡以及哈希離散監(jiān)督進行編碼的手指靜脈識別技術,文獻[24]基于VGG-16進行手指靜脈識別。利用這4種識別算法與本文算法對SDUMLA和HKPolyU數(shù)據(jù)集中的圖像進行識別,結果如表3所示。從性能指標來看,本文所提出的識別算法不管是在SDUMLA還是在HKPolyU上均達到了最優(yōu)的性能。
表3 不同識別方法的比較
4.2.5 系統(tǒng)集成與測試
將所設計的手指靜脈圖像識別方法進行系統(tǒng)集成,并利用前面所描述的自建數(shù)據(jù)集SWUST-FV進行系統(tǒng)性能測試。具體測試過程為:把該數(shù)據(jù)集中的每根
手指看作一類,將每類圖像分為三等份,以其中的兩份構成注冊人圖像庫,另外一份構成待識別圖像庫。將三等分的手指靜脈圖像集表示為A、B、C,使其交叉構成注冊人圖像庫和待識別圖像庫,經(jīng)過特征提取和特征匹配后得到相應組合下的識別率,并且得到平均識別率為99.30%,如表4所示。
表4 在自建數(shù)據(jù)庫上的交叉測試結果
本文針對手指靜脈圖像采集過程中可能出現(xiàn)“低質量”圖像以及識別過程中特征表達不準確、特征提取算法復雜等問題,在手指靜脈識別系統(tǒng)中增加了圖像質量判斷的模塊,并提出了基于Smooth-AP損失函數(shù)的特征提取網(wǎng)絡模型,提高了系統(tǒng)的識別性能。通過在公開數(shù)據(jù)集上進行實驗,證明所提方法能顯著提高手指靜脈識別精度,同時在進行跨庫識別時,其特征提取的遷移性能相比其它損失函數(shù)訓練的模型要更好。