?

采用輕量化神經網絡的高安全手指靜脈識別系統

2024-02-29 14:38李佳陽周穎玥李小霞
紅外技術 2024年2期
關鍵詞:剪枝正則手指

李佳陽,周穎玥,2,楊 陽,李小霞,2

(1.西南科技大學 信息工程學院,四川 綿陽 621010;2.西南科技大學 特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010)

0 引言

隨著智慧時代的到來,人們的生產生活中越來越多地應用到個人身份認證,并且各項應用對身份認證系統的準確性和安全性要求越來越高。傳統的密碼輸入、刷卡識別等方式無法滿足高安全性的要求,逐漸被生物特征識別技術所取代。目前已有的生物特征識別技術包括人臉、虹膜、指紋等[1]。相比于這些生物特征,手指靜脈圖像由近紅外光作為光源采集,圖像的紋理特征具有安全性較高,且不易受到外部環境影響等優點,成為身份認證技術中的重要研究內容[2],并成功地應用于生產實際中,例如煤礦工作人員打卡系統、銀行金融門禁、監獄門禁和汽車安全系統[3]。

手指靜脈識別系統被廣泛研究,相比于傳統方法,更魯棒、泛化能力更好的卷積神經網絡(convolutional neural network,CNN)逐漸被用于手指靜脈識別問題中。Radzi[4]等人使用結合了改進隨機對角線算法的4 層CNN 來分類識別手指靜脈圖像,該網絡模型收斂速度更快,且在自建數據庫中訓練獲得了較高的識別準確率,但其泛化能力較差。Das[5]等人將CNN 提升到5 層來分類識別手指靜脈圖像,并在多個公共數據庫中得到了較好的識別精度,但模型訓練時間較長。Hong[6]等人使用VGG 網絡對手指靜脈進行識別,發現隨著訓練樣本數量的增加,識別準確率會提高,但VGG 模型整體的計算復雜度較高、參數量較大。Li[7]等人使用改進的圖卷積網絡識別手指靜脈圖像,獲得了很好的識別精度,但需要進行圖像預處理來構造手指靜脈的加權圖,增加了系統的復雜度。He[8]等人嘗試增加更多卷積層來增強網絡的特征提取能力,在訓練樣本較少的情況下提高了識別精度,同時也增加了網絡的復雜度。

事實上,對于手指靜脈識別任務來說,網絡的復雜度提升,不利于在較少計算資源的邊緣設備上進行部署。針對傳統模型參數量大、檢測實時性差等問題,對輕量化模型展開研究具有重要意義。

并且研究發現,利用特殊材料(如:傳統的有機化合物、碳納米材料)打印的靜脈圖片能夠對識別系統進行欺騙干擾[9-10],這些欺騙和干擾技術嚴重地威脅到了手指靜脈識別系統的安全。因此,如何將防欺騙技術融合至手指靜脈識別系統中,也是系統安全的關鍵問題。

為了進一步提升手指靜脈識別系統的安全性,降低模型的復雜度,本文重點設計了活體檢測方法和基于結構化剪枝及通道恢復(pruning and restoring channels,PRC)的CNN 結構。在活體檢測部分,使用光電式脈搏傳感器采集手指脈搏波信號,將該信號對比正常人體脈搏來判斷目標是否為活體樣本,系統的安全性得以提升。在網絡模型設計部分,以ResNet-18 模型為基礎網絡,針對在模型訓練過程中的冗余計算,使用卷積核參數的L2范數值來指導模型的卷積核剪枝,通過裁剪不重要的卷積核來減少模型的計算量;再對剪枝后卷積核映射的特征圖進行簡單的線性變換,利用線性變換的特征圖補充因裁剪而缺失的特征通道;另外,卷積核剪枝過程中存在對特征提取有較大貢獻的權重參數被誤剪的情況,為了減少誤剪率,使用正則化篩選高權重參數,提高改進模型結構的分類識別能力。

1 基于ResNet 的PRC 優化模型結構

1.1 經典ResNet 網絡模型

“非跳躍連接”的卷積網絡在訓練時,隨著網絡層數的加深,除了容易出現梯度消失和梯度爆炸等問題,網絡的性能還可能在收斂、飽和后迅速退化。為了解決這些問題,何凱明等人提出一種深度卷積神經網絡架構——ResNet[11],主要由卷積層堆疊而成的殘差單元組成。殘差結構塊如圖1所示,輸出XL+1由輸入XL的兩層卷積結果F(XL)再加上XL本身得來,圖中的F(XL)為網絡的殘差映射函數,殘差模塊最終得到的結果為:

圖1 殘差結構示意圖Fig.1 Schematic diagram of residual structure

式中:F(XL,{Wi})=W2δ(W1XL),其中δ表示激活函數,W1和W2分別為圖1 中第一個卷積層和第二個卷積層中卷積核的權重參數。ReLU 和BN 分別表示ReLU激活函數和批歸一化(batch normalization,BN)。

在一般的識別任務中,“非跳躍連接”的卷積網絡能通過前向傳播和反向傳遞調優參數,提取到待識別圖像中的紋理特征。因不同手指靜脈圖像之間可能具有相對較高的相似度,所以需要卷積網絡提取到更加細粒度的區分特征才能實現準確識別[12]。相對于普通CNN,跳連接結構在參數保持不變的前提下,可以學到新的特征,這種特點有利于手指靜脈圖像數據的特征提取,因此本文選擇ResNet 作為基礎網絡模型。

1.2 PRC 優化模型結構

為了進一步降低網絡模型結構的復雜度,便于后續在嵌入式設備上進行部署;相比于其他ResNet 結構,本文選擇了參數量較小的ResNet-18 進行優化設計。由于CNN 的計算消耗主要是在卷積層上,所以主要對目標卷積層做出改進。優化后的恒等結構如圖2所示。

圖2 優化恒等結構Fig.2 Optimized identity structure

圖中PRC Conv 為本文設計的剪枝及通道恢復卷積,其具體結構如圖3所示。

圖3 PRC Conv 結構圖Fig.3 The structure of PRC Conv

圖3 中c、h和w分別為輸入特征圖的通道數、高和寬,Pruning Conv 為結構化局部剪枝[13],裁剪不重要的卷積核。剪枝后的卷積核對輸入特征圖進行卷積運算后,得到通道數減半的中間層特征圖F1。然后,再利用深度卷積生成新的特征圖F2。最后,將F1 和F2 進行通道方向的級聯,將通道數量恢復為c個通道。

1.2.1 Pruning Conv 流程

上述方法中,我們用到了卷積核結構化剪枝來進行網絡的輕量化改進。Pruning Conv 流程圖如圖4所示。

圖4 Pruning Conv 流程Fig.4 Flow chart of Pruning Conv

式中:θm,n中的θm,:表示參數矩陣θ的第m行,θ:,n表示參數矩陣θ的第n列。通過卷積層fi映射得到特征圖時,需要消耗的計算量為Ci×Ci+1×k2×hi×wi,如圖4 中,剪去陰影標記的卷積核后,可直接減少Ci×k2×hi×wi的計算量,并且后續的一個特征映射的過程減少Ci+2×k2×hi×wi的計算量。

1.2.2 權重稀疏化

網絡訓練過程中,如果僅通過設置閾值的方式裁剪具有較小權重參數的卷積核,以此減少冗余的卷積層,那么被裁剪的卷積核中仍可能存在權值較高的參數被誤裁剪。因此,為了降低高權重參數的誤剪率,我們利用帶約束條件的凸優化方法預先進行卷積核權重稀疏化。具體為,使用L1正則化方法對網絡訓練參數的更新添加約束,使得參數稀疏化。模型權重參數W的L1正則化項Ω(W)被定義為:

式中:J(W;X,y)為網絡的經驗損失;X是輸入數據;y是標簽;α?[0,+∞)是用來縮放懲罰項的超參數。

式中:?W表示函數對W求偏導。網絡反向傳播時,參數W更新如下:

式中:η表示學習率。參數更新時,L1正則化參與更新的值為一個定值ηαsign(W),迭代若干次后,可以將卷積核中更多的權值參數限制在一個零鄰域內,從而達到了權重稀疏和重要特征選擇的目的。

1.2.3 通道恢復

雖然剪枝減少了卷積網絡的計算量,但是剪枝過程中造成的通道缺失卻會影響ResNet 結構中跳連接的實現。為了解決這個問題,受文獻[14]的啟發,設計了通道恢復模塊。該方法在剪枝結構去除冗余信息的基礎上,將保留的重要信息進行再利用,有效地恢復了分類網絡的性能。通道恢復具體的步驟如圖5所示。

圖5 通道恢復流程Fig.5 Flow chart of channel recovery

2 手指靜脈識別系統整體流程

2.1 開發環境

本文使用的嵌入式系統開發環境為NVIDIA 的Jetson Nano,搭載Ubuntu18.0 系統,使用PyQt5、OpenCV4.5.0 開發圖形界面,MongoDB 數據庫存儲手指靜脈特征向量[15]。

2.2 工作原理及組成

完整的嵌入式手指靜脈識別系統包含圖像采集、圖像質量評估、特征提取和特征匹配4 個模塊,如圖6所示。

圖6 手指靜脈識別系統結構Fig.6 The structure of finger vein recognition system

2.2.1 圖像采集

對于圖像采集部分,針對利用特殊材料欺騙識別系統的問題,我們加入活體檢測功能,使用指尖脈搏波來輔助判斷待識別目標是否為活體,并且考慮到手指靜脈識別裝置的體積和圖像采集的實時性要求,使用光容積法實時測量指尖脈搏波[16-17],判斷是否為偽造手指靜脈信號。

手指靜脈圖像采集部分結構如圖7所示。圖7(a)為該采集部分的總體結構示意圖,其中包括紅外LED(light emitting diode,波長為850 nm[18])、脈搏傳感器(如圖7(b))、近紅外光攝像機(如圖7(c))。該結構在保持裝置便攜性的同時,可以實現指尖脈搏波的實時采集,保證短時間內完成活體識別和樣本采集?;铙w識別數據采集后經過A/D 轉換為數字信號,再通過IIC 數據總線傳輸到Jetson;手指靜脈圖像數據在采集后經過CSI 接口傳輸到Jetson。

圖7 手指靜脈圖像采集部分結構:(a)圖像采集裝置結構圖;(b)脈搏傳感器;(c)圖像傳感器Fig.7 The structure of image acquisition device:(a)The structure of image(b)Pulse sensor;(c)Imaging sensor acquisition device

2.2.2 圖像質量評估

在手指擺放位置不正確或其他環境因素影響下,拍攝的手指靜脈圖像可能出現質量較差的情況。為了在圖像采集階段,排除低質量圖像對后續識別的影響,劃分質量“好”和“差”數據集,采用二分類方法在PC 端訓練一個簡單的CNN,將輸出的ONNX模型移植到Jetson,并使用TensorRT 加速該模型,在采集圖像時篩除閾值范圍內的低質量圖像。

2.2.3 特征提取及特征匹配

在身份信息注冊階段采用MongoDB 數據庫,在PC 端訓練PRC 結構優化的CNN,將訓練得到的ONNX 模型移植到Jetson,并使用TensorRT 加速該模型提取手指靜脈圖像的特征,再將CNN 提取到的特征向量存儲到靜脈特征數據庫中;在身份識別階段,提取待識別手指的靜脈圖像特征會和數據庫中的手指靜脈特征計算距離來匹配,特征成功匹配后得到對應的身份標簽,完成身份識別。

3 實驗結果

3.1 實驗平臺及參數設置

1)實驗平臺

本文實驗在Windows 10 平臺下完成,深度學習框架為 Pytorch1.13 版本,處理器為 Intel E5-2660@2.00 GHz,內存為 64 G、顯卡為 NVIDIA GeForce GTX1080,顯存為8 G。

2)參數設置:

本文的模型在訓練時選用Adam 優化器,學習率為3e-4;L1正則化的超參數設定為1e-4。

3.2 實驗數據

為了對本文優化的網絡結構進行驗證,本文在兩個公開的數據庫上進行實驗。一是山東大學機器學習與數據挖掘實驗室公開的指靜脈數據集(SDUMLA,SDUMLA-HMT Database)[19]。其中包括106 位測試者的手指靜脈(食指、中指、無名指各12 張圖片),共計 636 類。二是香港理工大學指靜脈數據集(HKpolyU,The Hong Kong Ploytechnic University Finger Image Database)[20]。HkpolyU 分為兩次采集,表示為HkpolyU-1、HkpolyU-2。HkpolyU-1 樣本總數為2520 張圖片,每類樣本數為12 張,類別數為210;HkpolyU-2 樣本總數為612 張圖片,每類樣本數為6張,類別數為102。

為了盡可能地減少手指靜脈圖像的背景信息,使網絡更關注于靜脈紋理特征,使用Sobel 算子檢測手指上下邊緣,對手指靜脈圖片進行感興趣區域(ROI,region of interest)的提取,保留主要靜脈區域。手指靜脈ROI 提取圖像如圖8所示。

圖8 SDUMLA 和HKpolyU 靜脈示例圖Fig.8 Example diagram of veins in SDUMLA and HKpolyU

3.3 實驗結果

3.3.1 PRC 優化模型性能測試

為了驗證PRC 優化模型的有效性,以圖8 中SDUMLA 數據庫左一的手指靜脈圖為例,分別使用ResNet-18 和PRC 優化模型提取特征圖,又由于淺層特征圖更能直觀體現模型提取的特征,所以選取展示第3 個卷積層20 個通道的特征圖。并且,為了在裁剪更多冗余卷積核的同時保證網絡性能不會損失太多,設置PRC 優化模型的剪枝率為50%[21-22]。特征圖如圖9(a)、(b)所示。

圖9 不同結構提取的淺層特征Fig.9 Shallow feature maps extracted from different structures

對比圖9(a)和圖9(b),如紅色箭頭指示部分所示,(b)中有明顯優于(a)的手指靜脈紋理特征,可以推斷PRC 結構提取到更為豐富的手指靜脈紋理信息,從而提升了網絡的分類識別性能。

3.3.2 卷積核權重稀疏化分析

為了研究L1正則化對CNN 權重參數的影響,比較PRC 優化模型在不同正則化放縮比例下權重參數的分布。經過50 輪訓練后,可視化部分卷積層中權重參數值的分布,分別如圖10(a)~(i)所示。

圖10 L1 正則化對比Fig.10 Comparison of L1 regularization

圖中,橫軸為L1正則化的超參數值α,縱軸為卷積核的權重參數值。由圖10(a)~(i)對比可以得出,L1正則化具有特征選擇的能力,部分權值被限制在一個很小的零鄰域內;這就意味著,在結構化剪枝時,較小權重參數將更容易被裁剪,從而降低了高權重參數的誤剪率,能夠提升PRC 優化模型的分類能力。當α>1e-4 時,損失值較大,不利于模型收斂;隨著α減小,L1正則化的參數稀疏能力也隨之減弱,所以超參數α的值設定為1e-4。

3.3.3 在SDUMLA-HMT、HkpolyU 數據集下的識別等誤率評估

等誤率(equal error rate,EER)是手指靜脈識別任務中模型分類能力高低的重要指標之一。EER 反應了分類算法的錯誤拒絕率(false reject rate,FRR)和錯誤接受率(false accept rate,FAR)的平衡關系,當FRR=FAR 時達到平衡點,得到EER 值,EER 的值越低,表示模型的性能越好。在SDUMLA-HMT 和HkpolyU 數據庫上分別使用ResNet-18、PRC 優化模型(簡寫為:PRCNet)、L1正則化PRC 優化模型(簡寫為:PRCNet+L1)得到的EER 值如圖11(a)、(b)所示。

圖11 SDUMLA 和HkpolyU 數據集上EER 值對比Fig.11 Comparison of EER values on SDUMLA and HkpolyU datasets

圖11(a)、(b)中直角坐標系下,經過(0,0)和(1,1)兩點的直線與曲線相交的點為FRR=FAR的平衡點。在SDUMLA-HMT、HkpolyU 數據集上分別測試的結果可以看出,使用PRC 結構優化ResNet-18 模型和加入L1正則化約束PRC 優化結構的參數,改進后的EER 都取得了更小的值,說明模型的性能更好。

3.3.4 不同網絡模型在手指靜脈識別上的性能指標對比

在ROI 提取后的SDUMLA 和HKpolyU 數據集上對不同的識別網絡模型進行訓練,得到其識別性能指標。識別準確率(accuracy)指標的計算公式為:

式中:TP 代表同類的手指靜脈圖像匹配成功的個數;FN 代表同類的手指靜脈圖像匹配失敗的個數;FP 代表不同類的手指靜脈圖像匹配成功的個數;TN 代表不同類的手指靜脈圖像匹配失敗的個數。

不同模型的識別準確率(Accuracy)、模型參數量(Parameters)和模型的浮點計算量(Flops)對比結果如表1所示。

表1 不同識別方法的比較Table 1 Comparison of different recognition methods

從表1 中可以看出,本文提出的PRC 優化結構能得到更高的識別準確率,并且參數量和計算量有明顯的減少;相比于ResNet-18 基礎網絡,識別準確率提高,參數量降低了75.6%,計算量降低了25.6%。在PRC 優化結構的基礎上,添加L1正則化約束權重參數的方法,識別準確率分別提升了0.96%、0.48%,說明本文提出的PRC 模塊結合L1正則化優化的方法有效提升了卷積網絡對于手指靜脈識別問題的分類能力。

4 總結

本文在ResNet-18 的跳連接結構上設計了PRC優化模型。一方面,用卷積核權重參數的L2范數指導卷積核剪枝,使用L1正則化提高剪枝操作的可靠性;再對保留的卷積核進行通道上一一對應地線性映射,并在通道上拼接,恢復特征通道數。在公開的SDUMLA 和HKpolyU 數據集上的實驗可以看出,本文方法在減少參數量和消耗計算量的基礎上,網絡的性能還得到了提升。另一方面,在系統集成時,采用脈搏波生物特征輔助判斷,避免了偽造靜脈信息對系統的欺騙和干擾。將本文的優化模型應用于算力較小的邊緣設備上,將有效節省身份識別時網絡前向預測的時間。

猜你喜歡
剪枝正則手指
手指背側復合組織塊離斷再植
人到晚年宜“剪枝”
基于YOLOv4-Tiny模型剪枝算法
手指操
剩余有限Minimax可解群的4階正則自同構
類似于VNL環的環
剪枝
筆穿手指
有限秩的可解群的正則自同構
一種面向不平衡數據分類的組合剪枝方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合