李 璨, 李 亮, 王 昕
(長春工業大學 計算機科學與工程學院, 吉林 長春 130012)
生物識別技術[1]就是利用人固有的生理特征(如指紋、臉部、虹膜等)和行為特征(如字跡、聲音、步姿等)來進行個人身份的識別鑒定。但事實上這些技術存在還有許多亟待解決的問題,例如在人臉識別方面,當人剃了胡子、戴了眼鏡(或口罩)或者是胖了瘦了,這會使得人臉識別結果變得很不穩定[2]。同樣,因為指紋是一種外在的生物特征,對于脫皮、有傷痕等低質量指紋存在識別困難。而且有的人指紋特征少、難成像,更重要的是其很容易被仿制[3],這使得指紋識別多了幾分不安全因素。而指靜脈是一種內在生物特征,具有唯一性,不會磨損且極難仿制和盜用,具有很高的安全性,且在短時間內生物特征相對穩定[4]。因此指靜脈是新一代生物識別技術的典型代表。DBN[5]作為一種典型的深度學習模型近年來被廣泛應用,但由于其忽略了圖像的二維空間結構信息,難以完全學習圖像的局部特征[6]。而LCP[7-8]模型不僅可以提取圖像的局部LBP[9]紋理信息,而且可以提取圖像鄰域像素間的結構信息[10]。
綜上所述,文中提出了一種新的基于DBN與LCP相結合的深度指靜脈識別算法,該方法利用LCP算法提取指靜脈圖像的局部紋理特征信息和局部構造信息,從而彌補了DBN模型易忽略圖像局部結構信息的不足。同時由于LCP模型對圖像的旋轉和光照的影響具有較強的魯棒性,因此,以LCP特征作為DBN網絡的輸入使得整個深度學習網絡更加穩健,與傳統的BP[11]分類算法基于SVM[12]和KNN[13]的算法相比較,文中算法能實現對指靜脈更加精確的識別。
LCP模型所描述的圖像特征包含兩部分:傳統的LBP紋理特征和Microscopic Configuration Operator(MIC) 微觀構造特征。兩種特征相輔相成,使得LCP模型對圖像特征信息的表達十分詳盡。LBP模型通過比較某一像素點與其鄰域點的像素值的差異來計算LBP特征,表達式如下:
(1)

式中:gP----鄰域像素點的灰度值;
gC----中心像素的灰度值;
P----鄰域點個數;
R----鄰域半徑。
Mic算子能很好地表達圖像的局部微觀性質,定義如下:
定義一個P維的矢量
A=(a0,a1,…,aP-1)T

(3)
式中:gc,gi----分別表示中心點像素與鄰域點像素;
ai----gi的權重參數。

Gm=(gm,0,gm,1,…,gm,Om-1)T
如果用Vi,0,Vi,1,…,Vi,P-1(i=0,1,…,Om-1)表示以第i個具有m模式的像素為中心的鄰域點像素的灰度值,則圖像中所有模式近鄰像素的灰度值構成矩陣Vm:
(4)
若用Am=(am0,am1,…,amP-1)T表示模式的參數矢量,則最優參數矢量應該滿足:
Gm=VmAm(5)
因式(5)是超定方程,采用最小二乘法可求其唯一解:
(6)
同時為了克服圖像旋轉引起Am的周期變化,引入傅里葉變換。用Fm表示Am的P點一維傅里葉變換。
(7)
式中:Fm(k)----Fm的第i個元素;
Am(i)----Am的第i個元素,且Fm具有旋轉不變性,取其幅度作為圖像的局部微觀構造Mic特征,則Mic定義如下:
|Fm|=[|Fm(0)||Fm(1)|…|Fm(P-1)|]T(8)
最終將LBP特征與Mic特征進行融合用于表示LCP特征:
LCP={[|F0|;O0];[|F1|;O1];…;[|FM-1|;OM-1]}(9)
式中: |Fi|----由式(8)計算而來;
Oi----第i個相應LBP模式出現的次數;
M----LBP模式數量。
DBN[7]深度信念網絡是由Hinton與其學生在2006年提出的,其由一系列無監督受限玻爾茲曼機(Restricted Boltzmann Machines,RBMS)[14]和輸出層的前饋反向傳播(Feed Forward Back Propagation,BP)[15]神經網絡構成。它本質上就是一個包含多個隱藏層的概率模型。整體結構如圖1所示。

圖1 DBN模型結構圖
這一系列的RBMS通過層疊的關系將前一層RBM的輸出作為后一層RBM的輸入,從而構成了深度RBMS網絡。在DBN網絡的最后一層采用有監督的BP神經網絡實現對整體網絡的參數進行調整與分類。并且通常把一系列RBMS的無監督訓練稱之為預訓練,而把深層RBMS訓練得到的網絡參數作為整體網絡參數賦給BP的階段稱為微調。對于一個具有l層隱藏層的DBN來說,可視單元與隱藏單元之間的聯合分布可表示為:
P(v,h(1),h(2),…,h(l))=P(v|h(1))p(h(2)|h(1))…
P(h(l-1)|h(l))(10)
式中:v----DBN的可視單元,v=h(0);
h(k)----第k層隱藏單元,k=1,2,…,l。
第k層與第k+1層的隱藏單元滿足:
(11)




σ(x)----激活函數,在DBN網絡中將P(h(l-1),h(l))稱為一個RBM模型。
網絡訓練的好壞決定了對LCP特征學習的準確度。DBN的訓練過程如下:
首先,以全局的LCP特征作為輸入,對第一層RBM進行無監督訓練,得到第一層的最優參數。
然后,以第一層RBM的輸出數據作為第二層的輸入進行無監督訓練得到第二層RBM的參數值。以此類推,逐層訓練得到每一層的參數值。
最后,通過全局訓練對各層參數進行微調,從而實現DBN收斂并達到全局最優,并進行回歸分類。該訓練過程規避了目標過擬合的現象。
此時深度DBN網絡的聯合分布表示如下:
P(H,h(1),h(2),…,h(l))=P(H|h(1))p(h(2)|h(1))…
P(h(l-1)|h(l))(14)
式中:H----LCP特征;
h(1),h(2),…,h(l)----DBN網絡對H特征學習到不同層次下的高級特征,其影響到DBN網絡學習的有效性。
因此LCP的紋理特征部分我們選擇統一模式的LBP,這樣做有兩大好處:
4.3 硫酸鹽含量在17.66%~26.39%范圍內和溶液酸堿度存在線性關系,控制溶液的pH值可以控制硫酸鹽的含量。但考慮到此次樣本量比較小,樣品的含量及pH比較集中,未涉及藥典規定的邊緣pH值,后期將進行更加嚴密的實驗及論證,對擬合方程進行進一步的確認和優化,以求在符合質量標準要求、確保準確度的前提下,簡化檢驗操作的流程步驟。
1)非統一模式LBP具有2p種模式。而統一LBP只有(p(p-1)+3)種模式,即特征維數大大降低。而且雖然模式減少了很多,但其仍然包含了90%以上的LBP模式信息。
2)統一LBP對灰度平移變換具有不變性,且能更好描述局部紋理特征。
文中的整體實現步驟如下:
1)對指靜脈圖像進行尺度歸一化處理為128*128,然后對圖像進行4*4分塊;
2)提取各子塊的LCP特征;
3)將各子塊的LCP特征連接成全局的LCP特征;
4)對特征向量進行歸一化處理并輸入到DBN網絡;
5)對DBN網絡進行逐層訓練以獲得最優網絡參數;
6)利用BP神經網絡進行全局微調;
7)在網絡頂層進行回歸分類并計算識別率。
實驗圖像數據庫包含64個手指共960幅圖像,每個手指有15幅圖像。所有圖像均已作了尺度歸一化處理。
經過歸一化處理后的部分指靜脈圖像如圖2所示。


實驗中隨機取每個手指的10幅圖像作為訓練樣本,余下的5幅圖像作為測試樣本。實驗平臺是Windows10專業版PC機處理器為intel(R)core(TM)i5-3470cpu@3.20 GHz,內存是4 GB,軟件版本MATLAB2013a(64位)。
DBN網絡構建完成后需要設定模型的最佳參數,經過反復驗證,文中實驗DBN的層數設置為4,學習率設置為0.001,每層迭代次數為30次。
隱含層節點數的學習曲線如圖3所示。

圖3 隱含層節點數的學習曲線
從圖3可以看出,當隱藏層節點數大于90以后, DBN的訓練集誤差趨于穩定。因此,各層隱含節點的個數設置為100,為了進一步確定整個DBN網絡的結構,進行了RBM深度測試實驗,實驗結果見表1。

表1 不同RBM深度對識別率的影響 %
由表1的實驗結果可以看出,當DBN網絡的RBM深度為3時,識別率達到最大94.68%。
所以本實驗構建的DBN結構為m-100-100-100-64。其中,m表示輸入DBN的LCP特征向量的維數。文中取P=8,R=1,所以最終m=2 240。
為了驗證文中提出的深度指靜脈識別算法的有效性,設置了兩組對比實驗。分別選取有監督的BP神經網絡和SVM及KNN(K值取3)三種分類算法作為對比。實驗中各組均采用相同的測試集和訓練集,所用特征向量均為LCP特征。實驗結果見表2。

表2 不同分類算法識別率對比 %
由表2的實驗結果可以看出,DBN 網絡明顯優于傳統有監督的分類學習模型,這是因為DBN作為一種深度學習模型,能夠通過多層非線性結構對輸入數據自主地提取具有分類能力的特征再分類學習,從而提高了對指靜脈的識別。這正是淺層BP網絡、KNN分類算法及SVM所不具備的。而且,隨著圖像庫中指靜脈圖像數目的增加,文中算法的識別率將更高。
經過多年研究努力,指靜脈識別的研究獲得了很大進展,在門禁、考勤、圖書館、銀行、監獄、汽車安全等領域得到了一定的應用。文中所提出的深度指靜脈識別方法相較于傳統的有監督分類算法有著明顯的優勢,LCP特征與DBN網絡相結合使得該模型能通過多層非線性結構對輸入數據進行自主的再分類學習,從而對指靜脈的識別率更高。將文中算法與傳統的BP分類算法、SVM分類算法及KNN分類算法進行了對比實驗,證明文中算法的優越性。