劉玉珍,范湘冀*,林 森,陶志勇
(1. 遼寧工程技術大學 電子與信息工程學院,遼寧 葫蘆島 125105;2. 沈陽理工大學 自動化與電氣工程學院,遼寧 沈陽 110159)
隨著社會科技水平的發展,信息安全已是當今社會面臨的一個重大難題。在銀行、刑偵、門禁、商場、車站和機場安檢等應用場景中,基于生物特征的模式識別由于其可靠性和準確性受到越來越多的關注[1]。其中掌紋識別[2]不僅包含豐富的識別特征(主線、紋線端點、紋線分叉、褶皺等),而且受外界干擾小,非常穩定。與虹膜識別[3]相比,掌紋圖像的采集設備要求較低,且對用戶友好;伴隨著硅膠指紋套的出現,指紋識別[4]身份認證變得不再可靠;而步態識別[5]容易受到情緒和年齡的影響,造成識別效果不佳。所以,掌紋識別目前已經成為生物特征識別方面極其重要的研究內容,具有廣闊的發展空間和極大的社會應用價值。
目前掌紋識別方法主要包括2D 和3D 掌紋識別。在2D 掌紋識別方面,Zhang 等人[6]首先采用Gabor 濾波器提取掌紋的方向特征,并通過漢明距離進行識別。在此基礎上,又有許多通過方向特征進 行 識 別 的 方 法 被 提 出,如 競 爭 編 碼[7]、BOCV[8]等。此外,基于機器學習的方法也已經應用于掌紋識別,如子空間方法[9]、深度學習方法[10]等。2D 掌紋識別雖然準確率較高,但也存在一些缺點。首先,2D 圖像無法完全體現掌紋圖像的三維信息;其次,光照的變化會明顯影響掌紋的圖像質量,造成識別精度的下降;最后,2D 掌紋圖像安全性能差,容易被竊取,不利于個人隱私的保護。
與2D 掌紋識別相比,3D 掌紋識別解決了上述問題,還包括更豐富的特征信息。在目前流行的3D 掌紋識別方法中,文獻[11]依據高斯曲率、均值曲率與零值之間的關系進行識別分類;文獻[12]通過對表面類型直方圖進行均勻分塊,再連接成3D 掌紋描述符,并通過協同表示的方法進行特征識別;文獻[7]提出融合曲面的幾何特征和方向特征進行掌紋識別;文獻[13]基于兩個主方向提取精確方向編碼特征,結合緊湊表面類型完成識別過程。然而,3D 掌紋的特征是多方向的,在考慮表征幾何信息的同時,也要求方向信息的完整性和準確性。
為了解決上述問題,充分利用掌紋的特征信息,本文采用形狀指數來描述3D 掌紋的幾何結構,采用表面類型編碼來表征3D 掌紋的幾何特征。另外,提出一種局部方向二值模式(Local Orientation Binary Pattern,LOBP)以提取掌紋的主方向和方向置信度[14],進而表征3D 掌紋的方向特征,在決策層將上述特征進行結合。為了提高掌紋識別中的時效性,在識別分類的算法中采用協同表示(Collaborative Representation,CR)的方法[15],可以在保證較快識別速度的同時實現較高的準確性。
3D 掌紋感興趣區域(Region of Interest,ROI)可以清楚表達掌紋圖像的特征信息,如圖1 所示。其中上面2 張分別屬于兩個不同個體,其ROI 具有明顯區別,下面2 張則是其對應手掌第二次采集時的ROI 圖像。

圖1 3D 掌紋圖像ROI 圖像Fig.1 ROI 3D palmprints
在信息采集過程中,掌紋圖像往往會受到噪聲的干擾而發生形變。均值曲率(Mean Curvature,MC)和高斯曲率(Gaussian Curvature,GC)作為描述曲面特征的內在幾何不變量,其值與手掌在3D 空間的位置、姿態等因素無關,只與手掌局部的固有形狀相關。因此,通常用曲率來刻畫3D 掌紋圖像的曲面特征。對于任意曲面,其高斯曲率GC 和均值曲率MC 都可定義如下:

式 中:Hx、Hy是H(x,y)的 一 階 偏 導,Hxx、Hyy是H(x,y)的 二 階 偏 導,Hxy則 是H(x,y)的 混 合偏導。
為了將3D 掌紋的曲面特性描述得更加具體,根據掌紋表面的凹凸性將手掌中的點分成不同的類型,即將一個曲面劃分為8 種基本類型[11],這些類型被稱為表面類型(Surface Type,ST)。并且為了表述的完整性,提出一種特殊的表面類型,即MC=0 且GC>0 的情況,此類型稱為最小表面,在實際應用中并不存在。因此,通過表面類型編碼(Surface Type Code,STC)的方式可以將3D 掌紋的表面類型定義為9 種基本表面類型中的一種,表1 列出了9 種基本ST 類型及其具體劃分方法。

表1 表面類型Tab.1 Surface type
最小表面的判定定義了趨于零值的區間域ε。對處于[-ε,+ε]范圍內的值,認為其GC 或MC等于零值。
因此,通過上述步驟,每個3D 掌紋ROI 都可以獲得其對應的ST 圖。作為一種3D 特征,表面類型映射具有很強的分辨力,但對測試圖像和訓練圖像之間的少量配準誤差敏感,而基于分塊的ST 特征提取方法則解決了這一問題。如圖2 所示,上面兩張是不同手掌采集的ROI 區域,下面兩張是其相對應的ST 圖像。對于一個3D 掌紋的ROI,經過計算可以得到其對應的ST 特征圖,然后將其均勻的劃分成塊,每個塊都可以計算出基于ST 特征的直方圖,將每個直方圖表示為hi。然后將所有分塊直方圖的hi進行級聯,形成總ST 特征直方圖h用來描述掌紋的幾何特征。

圖2 不同掌紋ROI 及其對應的ST 圖像Fig.2 Different palmprint ROI and its corresponding ST images
為了更加完整地描述3D 的細節信息,提出了形狀指數[16](Shape Index,SI)這一概念,其不僅比曲率更直觀地表現了掌紋的局部特性,而且具有尺度、平移以及旋轉不變性。假設F 為曲面S 上的一個點,Ci為曲面S 經過點F 的所有曲線,設所有曲線Ci在點F 處的曲率為Ki。令k1為曲率值Ki中的最大值,k2為Ki中的最小值,k1和k2可以視作點F處的決定性曲率,計算公式如式(3)、(4)所示:



同時根據形狀指數SSI的取值范圍,掌紋曲面可轉化為8 bit 的灰度圖像,即為形狀指數圖像,具體公式見式(6):

由圖3 形狀指數圖及特征直方圖可以發現,不同個體間的掌紋特征存在明顯差異,可以準確識別不同的身份;而同一個體雖然是在一定時間間隔下采集的,其特征信息卻高度穩定。

圖3 3D 掌紋的形狀指數圖及其特征直方圖Fig.3 Shape index diagram and characteristic histogram of three-dimensional palmprint
3.1.1 掌紋的主方向和方向置信度

在提取掌紋方向特征方面,通常是利用幾組不同方向的直線檢測器。本文利用Gabor 濾波器來檢測掌紋的主方向,該方法的公式如式(7)所示:式 中:Gr j表 示 方 向 為(j-1)π/6 的Gabor 濾 波 器的實部,“?”是卷積算子,I表示輸入的掌紋圖像,c是Gabor 模板和輸入掌紋圖像之間的對應卷積。所以定義掌紋的主方向為:

式中:oc代表中心像素的主方向,oi表示其相鄰像素的主方向。e()代表對中心像素的主方向與鄰域進行比較。將周圍域定義為(8,1)個域集,即將中心點與周圍8 個點進行比較。當u等于v時,e(u,v)為1,否則為0。基于掌紋主方向上卷積的最大卷響應,即co(x,y)。因此方向置信度的差(Confidence Binary Pattern,CBP)可以定義為:

式中:co,c和co,i分別表示中心像素和相應相鄰點的方向置信度。當u>0 時,s(u)為1,否則為0。與傳統的局部二值模式(Local Binary Pattern,LBP)相比,CBP 是卷積響應的結果,其結果更穩定,抗噪能力強。
由于掌紋的主方向和方向置信度具有高度相關的信息,因此將兩者結合。具體來說給定一張掌紋圖像,將其均勻地劃分為一組不重疊的塊,塊的大小設置為16像素×16像素。對于每個塊分別提取主方向和相應的置信度,進而分別計算特征直方圖。然后,將基于塊統計的OBP和CBP直方圖結合,得到掌紋的全局直方圖,定義為基于3D 掌紋圖像的LOBP 特征。圖4顯示了提取LOBP特征的基本思想。

圖4 LOBP 方法基本思想Fig. 4 Basic idea of LOBP method
3.2.1 基于稀疏表示的分類方法
稀疏表示的思想[15](Spare Representation For Classification,SRC)是將測試集樣本的特征表示為訓練集字典中元素的線性組合,并且通過字典的最小殘差來判斷測試圖像的類別。假設訓練集的樣本數量足夠多,當判斷與測試樣本不屬于同一類別時,其線性系數即視作非零值;當判斷與測試樣本屬于同一類別時,其線性系數視作零值。
SRC 算法的具體步驟如下:
Step1:對訓練集樣本和測試集樣本提取特征向量并對提取到的特征向量進行歸一化操作,用1代替l2范數,同時獲取訓練集的字典矩陣A和測試集的特征向量y。
Step2:求解最小l1范數問題。

式中:ε表示y與γ之間的編碼誤差。
Step3:計算類別殘差。

式中:γ?i為第i類的編碼系數矢量。Step4:計算測試樣本類別。identity(y)=argmini{ }ei(y) , (15)將使ei(y)最小的i所對應的類別作為測試集樣本的類別,用identity(y)表示。
3.2.2 基于協同表示的分類方法
協同表示[18](Collaborative Representation,CR)這一分類思想,是用l2范數來替代SRC 分類方法中的l1范數。基于稀疏表示的分類方法中,一要求測試集特征向量y的編碼系數矢量呈稀疏分布,二要求測試集特征向量y的稀疏編碼是基于所有訓練集樣本協同表示的結果。基于l1范數的稀疏表示計算復雜度高,且無法體現協同表示的重要作用,而基于l2范數的協同表示則解決了這一問題,這種方法稱為基于協同表示和規則最小二乘法的分類方法(Classification Based On Collabora?tive Representation And Rule Least Square Method,CRC_RLS)。
CRC_RLS 算法的具體步驟如下:Step1:用A=[A1,A2,...,AK]表示第K類掌紋的訓練樣本集A,則第i類訓練樣本可以定義為:


Step4:與稀疏表示的方法相比,解式(17)所示的基于規則化最小二乘的問題比直接求解基于l1范數的最優解問題降低很多難度,公式如下:式 中:I∈Rn×n代 表 單 位 矩 陣,令P=(ATA+λI)-1AT,則可以看出,P與y是相互獨立的,P相當于一個投影矩陣。
在對測試樣本y進行識別過程中,只需要將y投影到P上,就可以直接計算系數向量,進而得到py,這種方法可以明顯降低計算復雜度,從而縮短計算時間。
3.2.3 本文方法
局部方向二值模式結合協同表示的3D 掌紋識別算法流程圖如圖5 所示,詳細步驟如下:

圖5 本文算法流程圖Fig.5 Algorithm flow chart of this paper
Step1:將訓練集和測試集3D 掌紋感興趣區域映射成SI 圖像,并且根據曲率特征得到ST 圖像。
Step2:將各個樣本的ST 和SI 圖像進行均勻分塊,分別提取ST 特征和LOBP 特征直方圖。
Step3:將提取的特征直方圖進行級聯,形成特征向量矩陣。
Step4:將各個樣本的特征做歸一化處理,計算得到訓練字典A與y。
Step5:通過式(18)使用規則最小二乘法替換成l2范數。
Step6:計算規則化殘差e,在決策層進行結合。

Step7:計算測試樣本的類別。
本文的所有實驗均是在香港理工大學3D 掌紋庫(Hong Kong Polytechnic University 3D palm?print database)上進行的。該掌紋數據庫采集了200 名志愿者的掌紋信息,包含男性136 名,女性64 名,年齡在10~55 歲之間。共采集到8 000 張3D 掌紋圖像,每名志愿者分別采集左、右兩只不同手掌各10 張掌紋圖像,共計采集兩次,期間間隔為30天。在圖像預處理以后,目前每張3D 掌紋圖像的ROI 大小為128像素×128 像素。本實驗平臺的硬件規格為Windows 10 系統,中央處理器為AMD Ryzen 3 4300U,主頻為2.7 GHz,運行內存為8 GB。
本文在進行掌紋的特征提取過程中,對掌紋的表面類型圖像進行分塊處理來提高識別率,圖像被分成了若干個大小相同的子塊,但是不同的分塊方式對識別率有著不同的影響。為探究分塊方式的有效性,將分塊方式作為變量進行實驗。實驗處理過程參照圖5,將3D 掌紋圖像庫里第1 次采集的10 張掌紋圖像作為訓練集樣本,第2 次采集的10 張掌紋圖像則作為測試集樣本,按照分塊方式的不同,每種分塊方式都重復10 次,取結果的平均值作為記錄結果,實驗結果如表2 所示。

表2 分塊方式實驗Tab.2 Experiment of block partitioning method
實驗結果表明,當不對圖像進行分塊處理,即采用1×1 的分塊方式時,識別率為76.69%;隨著分塊數量的不斷增加,識別率呈現上升趨勢,當采用8×8 的分塊方式時,識別率最高可達到99.29%;而當分塊繼續增加時,識別率則呈現下降趨勢,當采用10×10 的分塊方式時,識別率下降到98.74%。由此可見,當分塊數量較大時,無法精確反映3D 掌紋的紋理特征,故而有礙于識別過程;而當分塊數量較小時,局部區域內包含的特征信息則會受限,不能表征掌紋圖像的細節信息,造成識別效果不佳。因此,本文在綜合考慮識別效果的情況下,選擇8×8 作為最佳分塊方式。
為驗證本文提出的ST 和LOBP 特征的有效性,以下實驗均采用分塊統計和基于協同表示的分類算法。當訓練集樣本個數從1 增加到10 時,分別提取OBP、CBP 以及LOBP 作為掌紋特征,圖6 展示了3 種特征識別率的變化趨勢,而后則分別比較了ST、LOBP 特征以及將ST 和LOBP結合(圖中記錄為Proposed)的識別率,如圖7所示。

圖6 OBP、CBP 和LOBP 的識別率。Fig.6 Accuracy of OBP,CBP and LOBP,respectively.
圖6 顯示,在將OBP 和CBP 結合以后,掌紋的方向特征表達得更加準確,表明本文利用LOBP描述3D 掌紋方向信息的方法是有效的。LOBP 特征利用了多個方向的信息獲取掌紋方向的變化趨勢,再通過卷積編碼可以有效提高方向特征的穩定性。
圖7 表明,本文使用ST 描述掌紋的幾何特征,LOBP 描述掌紋的方向特征,兩者的結合有效地提高了掌紋識別的準確性,說明兩者結合具有使用價值和現實意義,有利于識別工作的研究。

圖7 ST 和LOBP 結合的識別率Fig.7 Accuracy combination of ST and LOBP
為了驗證方法的有效性,實驗中分別選擇各個 類 別 樣 本 數N為1,2,3,4 作 為 訓 練 集,其 余圖像作為測試集。 當選擇每類樣本數為N時,則在掌紋圖像中隨機選擇訓練樣本,不同樣本數各運行10 次并計算平均值。將本文方法與 當 前MCI_Comp[19]、MCI_Ordinal[20]、MCI_GCI_ST[21]、SI_Comp_LTP[22]、ST_CR[12]、ST_PCA[23]以及PDC[13]等3D 掌紋識別方法進行了比較。實驗結果見表3,當選擇不同樣本數的掌紋圖像作為訓練樣本時,本文方法比其他7 種方法的識別率的平均值分別提高約7.99%,3.89%,2.66%,1.14%。

表3 不同掌紋識別方法識別率比較Tab.3 Comparison of accuracy of different palmprint recognition methods (%)
為了驗證CRC_RLS 分類方法的優越性能,在解決基于l1范數最小化問題和協同框架的基礎上,將本文方法與目前較為流行的分類方法進行比較,如SpaRSA、DALM、Homotopy,分別記作CR_L1_SpaRSA、CR_L1_DALM、CR_L1_Homoto?py。將第1 次采集到的10 張掌紋圖像作為訓練集,第2 次采集的10 張掌紋圖像作為測試集,在相同設備環境下,將3 種對比方法和本文方法分別運行10 次,并計算識別率及識別時間(包括訓練和分類識別)的平均值列為表4。
從表4 可見,本文平均識別時間為0.874 9 s,與其他3 種方法相比分別降低了52,18,0.45 s,且識別率相比CR_L1_SpaRSA、CR_L1_DALM 以及CR_L1_Homotopy 分別提高了0.35%,0.12%,0.07%。因此,本文CRC_RLS 的分類方法具有比其他3 種方法更加出色的分類性能和分類效率。

表4 基于協同表示的方法比較Tab.4 Comparison of methods based on collaborative rep?resentation
本文提出的局部方向二值模式結合協同表示的3D 掌紋識別方法,不僅可以實現更高的識別精度,而且具有出色的識別效率。在特征提取方面,本文用ST 來描述3D 掌紋的幾何特征,以滿足幾何特征表達的確定性和穩定性。本文提出局部方向二值模式的編碼算法,用掌紋圖像的主方向和方向置信度表達掌紋的方向特征,可以在最大程度上反映掌紋的方向及其變化趨勢。通過CRC_RLS的分類方法,將ST 和LOBP 特征進行結合,有效地提高了算法的識別精度,降低了識別時間。在香港理工大學3D 掌紋庫上的實驗結果表明:獲得的平均識別率最高可達99.55%,平均識別時間為0.874 9 s。