李偉劍,金 建, 邸 思*
(1.廣州中國科學院先進技術研究所, 廣東 廣州 511458;2.成都理工大學信息科學與技術學院, 四川 成都 610059)
現(xiàn)有的指靜脈識別算法大致分為基于細節(jié)及特征點的方法[1],基于局部模式的方法[2-3]以及基于紋理網(wǎng)絡的方法[4-5]?;诩毠?jié)及特征點的方法首先通過對圖像的預處理,盡可能的突出靜脈紋理部分,進而提取靜脈結(jié)構(gòu)中符合要求的特征點,并以此為基礎進行圖像匹配識別。這類方法在一定程度上綜合了后兩類方法的優(yōu)勢,發(fā)展前景較好。
日本日立公司的Yusuke Matsuda團隊將圖像強度輪廓的曲率用于提取特征點,并提出了一種手指形狀模型和非剛性配準方法,降低了由于手指姿勢變化引起的形變影響,增加了特征點的數(shù)量,提高了識別精度[6]。馬來西亞馬六甲信息科學與技術學院多媒體學院的Ardianto William團隊提出了一種混合直方圖描述符,利用二進制梯度輪廓(Binary Gradient Contours, BGC)提取紋理以及幅度分量,并使用局部直方圖以確定混合紋理描述符的符號和數(shù)值的權重分布,該方法有效地降低了等誤率[7]。國防科技大學的崔靜團隊通過采用基于Barron算子的改進Harris角點檢測算法對靜脈紋理中的交叉點進行檢測,并通過非最大值抑制以及角點篩選方法,有效地提高了靜脈紋理中角點檢測的有效性[8]。山東財經(jīng)大學的孟憲靜團隊則根據(jù)手指靜脈圖像對比度低、模糊等特點,利用灰度不均勻矯正增強靜脈細節(jié),在采用尺度不變性特征變換(Scale-invariant feature transform,SIFT)檢測特征點的同時還考慮了潛在的特征匹配點,其發(fā)表的方法在香港理工大學手指靜脈庫上取得了較好的效果[9]。上述幾種方法都將圖像處理成灰度圖后作為檢測特征點的源圖,盡管都采取了一些去噪、圖像增強算法使靜脈紋理更加突出,但圖像中依然會出現(xiàn)一些不規(guī)則陰影以及非靜脈特征,對下一步特征點的檢測造成干擾。同時,上述方法以靜脈紋理交點或在某一方向上具有較大曲率值的像素點作為特征點,經(jīng)過刷選后,可供匹配分類的特征點可能不足,從而增大誤匹配的幾率。針對這些問題,本文提出基于閾值分割后的靜脈紋理二值圖進行特征提取,最大程度消除非靜脈因素的干擾。同時采用FAST算法檢測靜脈紋理邊緣上符合要求的像素點作為目標特征點,并將其描述成高維向量用于后續(xù)匹配。在匹配過程中,通過以特征點為中心構(gòu)建圓形鄰域以判斷局部最優(yōu)匹配質(zhì)量,從而減少錯誤匹配對數(shù)目,最后通過綜合正確匹配對個數(shù)以及平均歐氏距離兩方面因素計算加權匹配距離,并以此衡量圖片之間的相似程度。本文提出的方法在山東大學公開指靜脈數(shù)據(jù)庫(SDU-MLA)中取得了較好的識別結(jié)果,算法的有效性得到驗證。
指靜脈數(shù)據(jù)庫中樣本的采集原理是基于靜脈血管相對于骨骼以及肌肉對于近紅外光線吸收程度的不同,從而在圖像中凸顯手指靜脈血管的紋路。但由于在實際采集過程中,光線的強度會對圖像造成很大的影響,光線過強會導致圖像中出現(xiàn)大塊的亮斑,光線過弱又會導致靜脈紋理和背景混淆。同時被采集的個體情況也有較大差異,手指的粗細程度,表層皮膚的厚度都會對采集到的圖像有著很大的影響。因此對于采集到的靜脈圖像原始圖,需要對其進行感興趣區(qū)域(Region of interest, ROI)提取,去噪,增強,分割等處理。
由于手指輪廓邊緣為橫向分布,因此本文使用Sobel算子[10]縱向卷積核對手指區(qū)域進行粗提取,接著對其沿著梯度方向進行非極大值抑制,最終通過線性擬合分別擬合出手指的上下輪廓,并以此對原圖進行ROI提取,結(jié)果如圖1所示。從手指ROI圖中可以看到,靜脈的紋理較為模糊,與背景的對比度較低,如果直接進行紋理的二值化,將會丟失大部分可用的靜脈信息或?qū)⒈尘板e誤的劃分成靜脈結(jié)構(gòu),這將嚴重地影響后續(xù)的匹配識別結(jié)果,因此需要對圖像進行增強處理。
圖1 ROI輪廓圖Fig.1 ROI extracted image
圖像經(jīng)過增強以后,較為清晰的突出了紋理特征,但為了能夠提取出整個紋理結(jié)構(gòu),進一步消除背景以及噪點等因素的影響,還需要對圖像進行閾值分割。本文采用了NiBlack算法[13],利用其動態(tài)局部閾值的處理方法,可以有效的尋找到合適的閾值,二值化分割結(jié)果如圖2所示。至此,圖像預處理過程結(jié)束,最終獲得了靜脈紋理突出的二值圖像。
圖2 二值化分割圖Fig.2 Binary segmentation image
基于細節(jié)及特征點的指靜脈識別方法,其基礎與前提是要找到合適的特征點。本文采用了FAST算法[14-15]提取靜脈紋理中的特征點。該方法通過比較像素點的灰度值進行特征點判定,降低了特征點檢測的時間,可明顯提高檢測到的特征點數(shù)目,尤其適于對指靜脈二值圖的特征點檢測。特征點檢測結(jié)果如圖3所示,相較于直接用灰度圖進行特征點檢測(如圖4),基于二值圖像檢測到的特征點分布更加均勻,且都位于從背景分割出的靜脈紋理輪廓邊緣上。
圖3 基于二值圖檢測Fig.3 Detection based on binary image
圖4 基于灰度圖檢測Fig.4 Detection based on grayscale image
通過FAST算法檢測到的特征點只包含了位置信息,無法直接用于匹配識別,必須根據(jù)一定的規(guī)則對特征點進行向量化描述。本文將計算特征點鄰域梯度值以及方向,并以此構(gòu)建梯度直方圖用以描述特征點。在特征點檢測過程中,我們構(gòu)建了一個直徑為7 pixel的圓形區(qū)域,為了保持一致性,在描述時依舊以直徑為7 pixel來計算鄰域像素的梯度值和方向。設像素點P的坐標為(x,y),其梯度的模m(x,y)以及方向θ(x,y)的計算公式如下:
(1)
(2)
其中L表示高斯尺度空間,是由圖像和高斯函數(shù)G(x,y,σ)進行卷積計算得到。由于高斯濾波器的主要響應范圍在6σ內(nèi),又因為特征點描述的鄰域直徑為7 pixel,因此這里的σ=1.17。
計算得到梯度方向以后,使用直方圖統(tǒng)計特征點鄰域內(nèi)像素對應的梯度方向和幅值。構(gòu)建一個方向直方圖,其橫軸是梯度方向的角度大小,縱軸是梯度方向?qū)荻确档睦奂?。方向直方圖的峰值即代表了特征點的主方向。為了保持描述向量的旋轉(zhuǎn)不變性,要以特征點為中心,在附近鄰域內(nèi)將坐標軸旋轉(zhuǎn)θ(特征點的主方向)角度,即將坐標軸旋轉(zhuǎn)為特征點的主方向。旋轉(zhuǎn)后以特征點為中心取16×16的窗口,并將其分成16個4×4的小塊,同樣構(gòu)建方向直方圖,但以每45°為一個區(qū)間,這樣每個小塊有8個方向的梯度強度信息。因此最終每個特征點可以得到128維的特征描述向量。
傳統(tǒng)的特征點匹配過程中,一般以歐氏距離衡量兩個特征點之間的相似度,令n表示兩幅圖像之間成功匹配的特征點對數(shù),通常以n的大小來衡量兩幅圖像的相似度。在特征點匹配過程中,由于靜脈二值圖像存在相似特征點,若特征點之間只以最小歐氏距離來判斷是否匹配成功,將會導致大量錯誤匹配。本文將相應的改進匹配策略,減少錯誤匹配對數(shù),同時綜合兩幅圖像之間的平均歐氏距離以及成功匹配的特征點對數(shù),構(gòu)建衡量兩幅圖像相似度的匹配距離。
用di,j表示測試圖像中的特征點向量i與數(shù)據(jù)庫圖像中的特征點向量j之間的歐氏距離,
(3)
其中:i∈[1,N1],j∈[1,N2]。
對于測試圖像中的特征點I(x1,y1),在數(shù)據(jù)庫圖像中構(gòu)建以相同的坐標點(x1,y1)為圓心,以r為半徑的圓形鄰域OI,若數(shù)據(jù)庫圖像中在該圓形鄰域內(nèi)存在m個特征點,分別計算測試圖像中的特征點向量i與數(shù)據(jù)庫圖像中這m個特征點向量之間的歐氏距離,若其中最小歐氏距離為dip,則dip為局部最優(yōu)匹配。接著對數(shù)據(jù)庫圖像中的所有非圓形鄰域OI內(nèi)的(N2-m)個特征點進行計算,若其中最小歐氏距離為diq,則diq為全局最優(yōu)匹配。若dip=diq,則認為測試圖像中的特征點I和數(shù)據(jù)庫圖像中的特征點P是正確匹配對。若dip≠diq,則認為對于測試圖像的特征點I,數(shù)據(jù)庫圖像中沒有相對應的匹配點。
由于在圖像預處理步驟中已經(jīng)精確的提取了每一幅指靜脈圖像的ROI區(qū)域,因此對于同源的指靜脈圖像,即使在圖像提取過程中存在一定程度的平移或旋轉(zhuǎn),匹配的特征點點對的坐標位置也應處在一個相近的區(qū)域范圍內(nèi)。而對于異源的指靜脈圖像,其局部最優(yōu)匹配通常并非是全局最優(yōu)匹配,因此基于圓形鄰域進行匹配判定可以最大程度減少異源圖像之間的匹配對數(shù)目n。同時,本文將測試圖像與訓練圖像之間所有判定為正確匹配對的平均歐氏距離也納入相似度的評判范疇,因為對于異源指靜脈圖像來說,即使存在某些局部最優(yōu)匹配恰好也為全局最優(yōu)匹配的情況,其對應的平均歐氏距離也將大于同源圖像之間正確匹配對的平均歐氏距離。兩幅圖像之間的匹配距離D定義如下:
(4)
本文提出的方法將在SDU-MLA(山東大學機器學習與數(shù)據(jù)挖掘?qū)嶒炇?公開的指靜脈數(shù)據(jù)庫上進行評估,SDU-MLA手指靜脈數(shù)據(jù)庫是同源多模態(tài)特征(SDUMLA-HMT)的一個子集數(shù)據(jù)庫[16]。 該數(shù)據(jù)集是來自于106個受試者,每個受試者分別采集雙手的食指,中指和無名指,每個手指采集6幅圖像。因此,實驗中使用的數(shù)據(jù)集包含636根手指,3 816幅圖像。本文采用第2節(jié)所述方法將數(shù)據(jù)庫中所有圖片處理成二值化圖像,并將圖像統(tǒng)一裁剪成180×80的尺寸再進行后續(xù)的測試。
對于SDU-MLA數(shù)據(jù)集中的636類手指,統(tǒng)一選擇每一類的第3幅圖片作為測試樣本,每一類的其它5幅作為訓練樣本,測試集中共有636幅圖片,訓練集中共有3 180幅圖片。分別以圖片高度的5%(4 pixel)作為起始半徑和遞增步長來設置r,同時將r的最大測試范圍設定為圖片高度的一半(40 pixel),即r=4,8,12,...,40。其不同的r值相對應的識別率(Rank-1 Recognition Rate)如圖5所示??梢钥吹疆攔=24時識別率達到峰值,r的值大于或者小于24時,識別率都會有一定程度的下降。本文主要關注算法在數(shù)據(jù)集上的識別率等相關指標,因此后續(xù)的評估都將基于r=24進行。
圖5 不同r對識別率的影響Fig.5 Recognition rate of different r
在識別模式下,假設一幅手指靜脈圖像的來源未知,需要利用這幅圖像識別注冊者的身份。本文將在每一類圖像中隨機抽選一幅圖像作為測試圖像,剩下的5幅圖像作為訓練圖像。相應地在數(shù)據(jù)庫的測試集中有636幅圖像,數(shù)據(jù)庫中的訓練集有3 180幅圖像。具體的實驗過程為,將測試集和訓練集的所有圖像經(jīng)過圖像預處理和閾值分割,生成二值化圖像,并使用特征點提取和描述算法,將二值化圖像轉(zhuǎn)化為128維向量。取出測試集中的一個樣本,根據(jù)公式(4)計算其與測試集中每一個樣本的匹配距離,若其匹配距離最小的測試集樣本對應的類別與該訓練樣本的類別一致,則認為該測試樣本識別成功。對測試集中的636個樣本進行相同的匹配識別操作,統(tǒng)計其識別率。重復上述實驗10次,在MLA數(shù)據(jù)集上的平均識別率以及達到100%識別率時的平均最低序[17]如表1所示。從識別模式下的實驗結(jié)果已經(jīng)可以看出,本文提出的方法具有可靠性。
表1 識別模式下實驗結(jié)果
圖6展示了本文方法的受試者工作特征曲線(Receiver Operating Characteristic, ROC)。通過驗證模式的結(jié)果可以看出,通過本文提出的圖像處理及匹配算法,能夠較好地區(qū)分出同源與異源圖像。
圖6 受試者工作特征曲線Fig.6 Receiver operating characteristic
通過將識別錯誤的測試圖像和所對應類別的訓練圖像以及誤分類的訓練圖像進行比對,發(fā)現(xiàn)導致出現(xiàn)識別誤差的因素有:(1)個別測試圖像在采集時出現(xiàn)了較大的平移或旋轉(zhuǎn),使得在經(jīng)過圖像預處理以及閾值分割以后,生成的二值圖像與同類別的其它圖像有著較大差異,超過了匹配識別算法可以彌補的平移旋轉(zhuǎn)范圍,以至于出現(xiàn)了錯誤匹配。(2)個別測試圖像采集時手指處于彎曲狀態(tài),導致有部分手指部位不在相機的焦距范圍內(nèi),由此采集圖像的一些位置會出現(xiàn)大范圍陰影,覆蓋了靜脈紋理網(wǎng)絡,使得與正常采集的同類其他圖像產(chǎn)生較大不同,無法得到正確識別結(jié)果。通過上述分析可知,出現(xiàn)識別誤差的主要原因是由于采集時的一些錯誤導致測試圖像與其對應類別的訓練圖像有著較大差異。
5.2小節(jié)分別從識別模式和驗證模式下展現(xiàn)了本文提出方法的有效性,本小節(jié)通過與本文提出方法相類似的方法進行比較,在相同的數(shù)據(jù)集上進行相關性能參數(shù)對比。與本文進行比較的有基于FAST+BRIEF的方法[18]以及基于傳統(tǒng)SIFT的方法[19],比較結(jié)果如表2所示。其中,識別率的比較基于相同的測試集和訓練集,測試集和訓練集的劃分方法如5.1小節(jié)所述。不同方法的EER按照5.2小節(jié)中驗證模式所述方法進行計算。圖7展示不同方法的ROC曲線。通過以上的比較可以看出,本文提出的方法在識別率和EER上都取到了更好的結(jié)果。
表2 不同方法的結(jié)果比較
Tab.2 Performance for different methods
MethodRecognition rateEERFAST+BRIEF0.8780.133SIFT0.9660.063Proposed method0.9930.019
圖7 不同方法的ROC曲線Fig.7 ROC of different methods
現(xiàn)有的指靜脈識別方法通常以包含靜脈分布的灰度圖為對象進行算法設計,但其中存在的灰度不均勻以及所包含的非靜脈紋理結(jié)構(gòu)常常對識別結(jié)果產(chǎn)生不利影響。因此,本文提出了基于包含靜脈分布的二值圖像的指靜脈識別算法。該方法采用非極大值抑制的FAST算法用以檢測特征點,并對其進行向量化描述。進而提出在圓形鄰域內(nèi)進行特征點匹配并考察其匹配質(zhì)量。通過綜合兩幅圖像之間的平均歐氏距離以及成功匹配的特征點對數(shù),構(gòu)建衡量兩幅圖像相似度的匹配距離,并據(jù)此給出匹配結(jié)果。針對SDU-MLA數(shù)據(jù)庫的測試結(jié)果表明,本文提出的指靜脈識別方法的識別率為0.993,EER為0.019 6,其識別結(jié)果優(yōu)于常見的特征提取與識別方法。