吳葉清
(集美大學誠毅學院信息工程系,福建廈門361021)
關鍵字:指靜脈識別;卷積神經網絡;多方向卷積模板
指靜脈識別是生物特征識別中的一種,被廣泛應用于門禁系統、考勤系統、汽車和ATM 系統等領域[1-4]. 相對于人臉和指紋等生物特征,指靜脈具有不易磨損、難偽造、非接觸式采集等優點,使得指靜脈識別具有更高的安全性,從而更容易被用戶接受. 因此,指靜脈識別技術具有重要的研究意義和實際應用價值.
現有的指靜脈識別算法主要分為兩大類:一類是基于傳統手工特征的指靜脈識別方法,研究人員通過人工選取能夠有效表征指靜脈特征來實現此類方法. Miura 等人[5]通過重復線追蹤獲取整幅圖像中的指靜脈特征模板,該算法具有較好的魯棒性.Yang 等人[6]采用八方向的Gabor 濾波器來獲取指靜脈圖像中的紋路信息,進而使用重建算法融合并導出指靜脈紋路圖像. Xie 等人[7]提出了LODP(Local Opposite Directional Pattern),利用指靜脈圖像局部梯度模式、局部二值模式和局部反向模式提取特征. 這些算法可獲得不錯的識別效果,但都需要手工設計特征,并且提取的特征維度較大. 另一類是基于卷積神經網絡(CNN)的指靜脈識別方法. Qin等人[8]提出了一種利用卷積神經網絡提取并修復指靜脈紋路的算法,但匹配階段還是采用傳統的算法. 唐溯等人[9]提出了一種基于深度學習的指靜脈識別算法,采用預訓練權重的CNN和輕量型的深度可分離卷積網絡模型. 何鑫等人[10]提出基于改進卷積神經網絡的指靜脈識別算法,采用了LeaKy ReLU激活函數和中間值池化,并在反向傳播調整權值時引入約束條件. 基于卷積神經網絡的指靜脈識別算法能夠有效解決人工選取特征的繁瑣問題,并且減少提取的特征維度大小.
本文首先針對指靜脈圖像感興趣區域(ROI)特征不明顯的問題,采用多方向卷積模板對指靜脈圖像進行邊緣提取,獲取骨架初步特征圖;然后構建卷積神經網絡對預處理后的指靜脈圖像進行特征提取. 天津指靜脈數據庫和馬來西亞理工大學指靜脈數據庫(FV-USM)被用以檢測本文算法的訓練時間以及識別結果.
基于多方向卷積模板和卷積神經網絡的指靜脈識別算法的流程如圖1 所示,即,采用多方向卷積模板提取ROI 和歸一化后的指靜脈圖像的粗特征,再采用輕量型的卷積神經網絡進一步進行特征提取,并訓練.

圖1 算法流程
為了解決指靜脈圖像提取ROI 后圖像特征不明顯的問題,在對指靜脈圖像提取ROI 和歸一化預處理后,對指靜脈圖像進行骨架提取[11-13],即采用多方向卷積模板對指靜脈圖像進行邊緣檢測,從而防止指靜脈圖像的背景在分類時造成干擾. 算法采用大小為9 × 9 八方向算子模板. 八個方向分別為0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°. 八個卷積算子如圖2所示.
基于多方向卷積模板的粗特征提取步驟如下:
①提取指靜脈ROI圖像并進行歸一化處理.

圖2 八方向卷積算子
②將歸一化的圖像與八方向的卷積算子進行卷積運算,取8 個方向運算結果平均值的最大值,若該值大于零判為特征點,小于零則判定為背景.
③利用局部閾值方法進行圖像分割. 局部閾值的計算公式為:

其中u為以該像素中心的區域的平均灰度值,v為該區域的標準差,k是修正系數.
④采用中值濾波對分割后的圖像進行濾波細化處理,從而獲得更具有識別度的指靜脈的粗特征.中值濾波的公式如下:

式中:Y(i,j)、X(i,j)分別為濾波后的圖像和濾波前的圖像,H(s,t)為二維模板,大小通常為2×2.
⑤進行圖像細化,獲取指靜脈粗特征圖.
圖3 展示了基于多方向卷積模板的粗特征提取各個步驟的圖像,圖3(a)為指靜脈歸一化后的圖像,圖3(b)為圖像分割后的指靜脈圖像,從圖像中可以看出經過局部閾值處理后,圖像會出現噪聲,圖3(c)是去除連通域小的區域,比較明顯的噪聲已經被濾除,圖3(d)為經過中值濾波后得到的指靜脈圖像,進一步去掉噪點. 圖3(e)是經過細化處理后的指靜脈圖像,對比圖3(e)和圖3(b)可以看出,圖3(e)的指靜脈圖像的粗特征圖更具識別度,且具有更少的數據量.

圖3 指靜脈圖像粗特征提取過程
為了進一步提升指靜脈識別的性能,構建一個輕量型的卷積神經網絡,從而對基于多方向卷積模板的指靜脈粗特征圖更深入的進行特征提取,通過多次訓練優化網絡權值參數,得到最佳分類模型.本文所構建的卷積神經網絡是基于經典的手寫數字識別卷積神經網絡[14-15]. 在其基礎上進行改進,分為7層:3層卷積層、2層池化層、1層全連接層和1層輸出層. 所有的卷積核大小均為3 × 3,池化窗口大小為2 × 2,通道數依次為10、20、40. CNN 各層結構與參數如表1所示.

表1 CNN各層結構與參數
第一層卷積層與指靜脈圖像的粗特征圖的局部感受野相連,提取該層的局部特征,第二層卷積層與第一層特征圖的局部感受野相連,提取該層的局部特征,以此類推.卷積運算公式如下:

式中:l表示當前卷積層,l-1 為卷積層的上一層,l+1指卷積層的下一層,表示當前卷積層中第i行第j列元素,W lst表示當前卷積層的卷積核中對應的第s行第t列元素表示上一層與卷積核所對應的元素,blij表示當前層的偏置,F( )· 是激活函數.
常用的激活函數有sigmoid、ReLU 和Leaky ReLU. Sigmoid 函數收斂慢,且容易出現梯度消失.ReLU 函數雖然收斂速度比Sigmoid 函數快,但是訓練的時候也容易出現梯度一直為0,即網絡中有神經元“死”. Leaky ReLU 與ReLU 不同的是,對于小于0 的值賦予一個非零斜率,解決了網絡中神經元都“死”了的問題. 因此,本文選擇Leaky ReLU 作為激活函數.
池化層的作用是對卷積層輸出的特征圖進行特征壓縮,減小特征圖尺寸,并變換成所預定的尺寸,同時降低模型過擬合的幾率. 最大池化的算法公式如下:

式中:l表示當前池化層,l-1 為池化層的上一層,l+1指池化層的下一層,表示當前卷積層中第i行第j列元素表示上一層與卷積核所對應的元素,blij表示當前層的偏置.
第六層為全連接層,該層與卷積層相連,將卷積層獲得的分布式特征圖整合起來建立整體特征圖.最后一層是sofmax 層,相當于一個分類器作用. 公式如下:

式中:j表示樣本類別總數,i表示第i個樣本.Pi表示第i個樣本的概率.
為了驗證本文所提算法的有效性,所提算法與現有算法在天津指靜脈數據庫和馬來西亞理工大學指靜脈數據庫上進行了實驗性能測試. 天津指靜脈數據庫由天津市智能信號與圖像處理重點實驗室提供,包括64 類指靜脈,共960 張圖片[16];馬來西亞理工大學指靜脈數據庫包括492 類指靜脈,共2 952 張圖像[17]. 在訓練之前,每個庫隨機選取60%的樣本作為訓練集,40%的樣本作為測試集.
對于給定的測試數據集,分類器正確分類的樣本數與總樣本數之比,稱為準確率. 也就是損失函數在0-1 損失時測試數據集上的準確率. 準確率越高,分類器越好. 因此,可采用準確率來比較本文算法與現有算法的性能.
實驗環境為Inter Core?i7-8850H CPU @2.6 GHz,內存8 GB,顯卡NVIDIA Quadro P2000,操作系統為64 位Window 10 企業版,所有實驗均在Python 3.6 軟 件 上 的TensorFlow-gpu 1.13.0 框架上進行.
實驗中,兩個庫的所有樣本圖像均歸一化為46×46,訓練時,采用隨機梯度下降策略,初始學習率大小設置為0.002,最大迭代次數為1 000,天津庫的訓練批次大小為64,馬來西亞庫的訓練批次大小為128.
表2 列出了本文算法與其他算法的性能比較.由表2 可知,本文算法在天津指靜脈庫上達到了100%的識別率,在馬來西亞理工大學指靜脈數據庫上達到了99.59%的識別率,優于多種現有算法,充分證明了本文算法的優越性. 進一步地,基于多方向卷積算法和卷積神經網絡的方法優于直接構建卷積神經網絡對指靜脈圖像進行特征提取,在兩個庫上分別有+1.57%和+3.14%的性能提升,這也充分證明了本文算法的有效性.

表2 本文算法與現有算法的性能比較
為了獲得更好的識別效率,本文算法對經典的手寫數字識別網絡中卷積核大小進行改進,圖4 和表3 展示了采用不同卷積核大小的卷積神經網絡在天津指靜脈數據庫上的實驗性能比較.
從圖4可以看出,卷積核為3×3的神經網絡的損失值收斂的速度更快更穩定.從表3可以看出,卷積核大小不影響指靜脈識別的正確率,但是不同的卷積核迭代所需的時間不同,當卷積核大小為3×3 時,每次迭代所需的時間最短. 通過以上測試可以看出,采用改進的CNN識別效率更高.

圖4 不同卷積核的損失值曲線圖

表3 各個卷積核的準確率和迭代時間
針對提取的指靜脈ROI 圖像特征不明顯的問題,本文提出了一種基于多方向卷積模板和卷積神經網絡的指靜脈識別算法. 該算法主要采用多方向卷積模板對指靜脈圖像進行骨架提取,從而獲取指靜脈粗特征圖,進一步采用改進的CNN對其進行特征提取,從而進行分類訓練學習. 實驗結果表明,在天津指靜脈數據庫和馬來西亞理工大學指靜脈數據庫上,本文所提的算法相對比現有多種指靜脈識別算法具有更高的識別率.