《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于膠囊網(wǎng)絡(luò)的指靜脈識(shí)別研究
基于膠囊網(wǎng)絡(luò)的指靜脈識(shí)別研究
2018年電子技術(shù)應(yīng)用第10期
余成波,熊遞恩
重慶理工大學(xué) 電氣與電子工程學(xué)院,重慶400050
摘要: 針對(duì)卷積神經(jīng)網(wǎng)絡(luò)(CNN)中空間上的指靜脈信息丟失的問(wèn)題,提出了一種基于膠囊網(wǎng)絡(luò)(Capsule Network,CapsNets)的指靜脈識(shí)別算法。CapsNets在整個(gè)學(xué)習(xí)過(guò)程中以“膠囊”的形式從底層傳遞至高層,如此以向量的形式封裝指靜脈的多維特征,特征會(huì)在網(wǎng)絡(luò)中被保存,而不是丟失后進(jìn)行恢復(fù)。采用60 000張圖像作為訓(xùn)練集,10 000張圖為測(cè)試集,通過(guò)對(duì)圖像增強(qiáng)、裁剪后進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)。通過(guò)實(shí)驗(yàn)表明,CapsNets的網(wǎng)絡(luò)結(jié)構(gòu)特征相比CNN在處理脊線區(qū)域時(shí)效果更加明顯,對(duì)比VGG精確度增加了13.6%,loss值也收斂到0.01。
中圖分類(lèi)號(hào): TP391.41
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182236
中文引用格式: 余成波,熊遞恩. 基于膠囊網(wǎng)絡(luò)的指靜脈識(shí)別研究[J].電子技術(shù)應(yīng)用,2018,44(10):15-18.
英文引用格式: Yu Chengbo,Xiong Dien. Research on finger vein recognition based on capsule network[J]. Application of Electronic Technique,2018,44(10):15-18.
Research on finger vein recognition based on capsule network
Yu Chengbo,Xiong Dien
School of Electrical and Electronic Engineering,Chongqing University of Techology,Chongqing 400050,China
Abstract: This paper propose a finger vein recognition algorithm based on the CapsNets(Capsule Network for short) to solve the problem of the information loss of the finger vein in the Convolution Neural Network(CNN). The CapsNets is transferred from the bottom to the high level in the form of capsule in the whole learning process, so that the multidimensional characteristics of the finger vein are encapsulated in the form of vector, and the features will be preserved in the network, but not in the network after the loss is recovered. In this paper, 60 000 images are used as training set, and 10 000 images are used as test set. The experimental results show that the network structure features of CapsNets are more obvious than that of CNN, the accuracy of VGG is increased by 13.6%, and the value of loss converges to 0.01.
Key words : CapsNets;finger vein recognition;deep learning;CNN

0 引言

    近幾年來(lái),在機(jī)器學(xué)習(xí)的發(fā)展日益更新中,深度學(xué)習(xí)算法也不斷進(jìn)步、更新。從2012年AlexNet[1]的誕生,一直到2017年VGG[2]、GoogleNet[3]、ResNet[4]等網(wǎng)絡(luò)的優(yōu)化、改進(jìn)版的出現(xiàn),保證了深度學(xué)習(xí)算法在圖像分類(lèi)的ImagNet挑戰(zhàn)賽上遠(yuǎn)勝其他分類(lèi)算法。卷積神經(jīng)網(wǎng)絡(luò)(CNN)通過(guò)卷積提取特征,從底層到高層映射,實(shí)現(xiàn)復(fù)雜函數(shù)逼近,展現(xiàn)了智能學(xué)習(xí)的能力。文獻(xiàn)[5]提出了采用改進(jìn)的AlexNet網(wǎng)絡(luò)訓(xùn)練指靜脈圖像,將3×3卷積核改為1×1并減少了特征圖數(shù)量,在循環(huán)50 000次后,識(shí)別率達(dá)到99.1%。文獻(xiàn)[6]采用VGG網(wǎng)絡(luò)訓(xùn)練指靜脈圖像,對(duì)比了低質(zhì)、中質(zhì)、高質(zhì)圖像和16層VGG網(wǎng)絡(luò)、19層VGG網(wǎng)絡(luò)的訓(xùn)練結(jié)果,其中16層VGG網(wǎng)絡(luò)的誤識(shí)率達(dá)到最低0.396(高質(zhì)圖像)。

    通過(guò)標(biāo)準(zhǔn)高質(zhì)圖像的訓(xùn)練,CNN適合運(yùn)用于指靜脈的識(shí)別中,但是同樣存在一些實(shí)際問(wèn)題。通過(guò)采集器采集到的圖像有非常大的幾率采集到淺部的指靜脈圖像,同時(shí),在對(duì)圖像處理時(shí)是基于二維矩陣,CNN對(duì)全局指靜脈圖像學(xué)習(xí)特征時(shí)效果并不好,隱藏在表皮層靠后的靜脈不會(huì)被學(xué)習(xí)到,因此會(huì)嚴(yán)重影響到識(shí)別精確度。

    如圖1所示,淺部靜脈圖像特點(diǎn)在于局部靜脈較細(xì)、顏色較淺、分布不均且不完整,導(dǎo)致這樣的原因主要是因?yàn)榇遂o脈比較靠后,紅外攝像頭不能清晰地穿過(guò)組織進(jìn)行拍攝。然而正常圖像的靜脈粗細(xì)、顏色均勻分布明顯。

rgzd4-t1.gif

    2017年12月,HINTON G E提出了CapsNets的網(wǎng)絡(luò)結(jié)構(gòu)[10],并在multiMINIST上訓(xùn)練精確度為99.23%,實(shí)現(xiàn)了在affinist測(cè)試集上79%的精確度,遠(yuǎn)超CNN的66%,同時(shí)CapsNets耗時(shí)較少,為目前精確度最高的網(wǎng)絡(luò)[11]。指靜脈圖像常存在靜脈重疊,導(dǎo)致采集過(guò)程中常出現(xiàn)一條重疊的靜脈圖像。CNN對(duì)空間位置的學(xué)習(xí)效果不佳,所以在采集圖像時(shí)會(huì)對(duì)同一指頭采集多次,使得網(wǎng)絡(luò)盡可能學(xué)習(xí)到特征圖中每一處?kù)o脈,而CapsNets在空間位置上對(duì)靜脈圖像的處理遠(yuǎn)超CNN,整個(gè)學(xué)習(xí)過(guò)程中以“膠囊”的形式從底層傳遞至高層,封裝多維特征,如此可減少訓(xùn)練樣本數(shù)量的同時(shí)也保留了出現(xiàn)概率少的的靜脈特征。為此本文提出了將CapsNets應(yīng)用于指靜脈識(shí)別方法中。

1 CapsNets

1.1 網(wǎng)絡(luò)結(jié)構(gòu)

    一些主要的計(jì)算機(jī)視覺(jué)任務(wù)中都需要一個(gè)不同的CNN架構(gòu),CNN圖像分類(lèi)的效果已經(jīng)得到各位研究人員的認(rèn)可,但是存在以下問(wèn)題:

    (1)CNN要接受大量圖像的訓(xùn)練,這使得在獲得訓(xùn)練樣本時(shí)要消耗不少時(shí)間,但CapsNets可以使用較少的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練。

    (2)CNN不能很好地處理歧義。CapsNets即使在密集的場(chǎng)景下,也可以表現(xiàn)出色。

    (3)CNN在池化層中丟失了大量的信息。池化層取最大值保留了出現(xiàn)概率較高的特征,同時(shí)舍去了出現(xiàn)概率較少的特征,往往我們又需要這些重要的信息,這些層減少了空間分辨率,所以它們的輸出無(wú)法對(duì)輸入的小變化做出反應(yīng)。當(dāng)在整個(gè)網(wǎng)絡(luò)中必須保存詳細(xì)的信息時(shí),這是一個(gè)問(wèn)題。如今,解決這個(gè)問(wèn)題的方法是通過(guò)在CNN周?chē)?fù)雜的體系結(jié)構(gòu)來(lái)恢復(fù)一些丟失的信息。CapsNets詳細(xì)的屬性信息在整個(gè)網(wǎng)絡(luò)中被保留下來(lái)而不是丟失后被恢復(fù)。輸入的小改動(dòng)導(dǎo)致輸出的細(xì)微變化,信息被保留,這就是所謂的等變性。因此,CapsNets可以在不同的視覺(jué)任務(wù)中使用相同的簡(jiǎn)單一致的架構(gòu)。

    (4)CNN需要額外的組件來(lái)自動(dòng)識(shí)別一個(gè)部件屬于哪個(gè)對(duì)象。CapsNets可以為其提供部件的層次結(jié)構(gòu)。

    CapsNet是一個(gè)非常淺的網(wǎng)絡(luò),加上卷積層和全連接層一共3層。CNN在抽取低級(jí)特征上表現(xiàn)非常優(yōu)秀,相反CapsNets是用來(lái)表征某個(gè)物體的“實(shí)例”,所以它更加適合于去表征高級(jí)的實(shí)例。所以在CapsNets中的底層加入傳統(tǒng)CNN的卷積層做底層的特征抽取。

    如圖2所示,從低級(jí)特征到 Primary Capsule,第二卷積層的維度是6×6×8×32,用32個(gè)步長(zhǎng)為2的9×9×256的濾波器做了8次卷積操作,在CNN中維度為6×6×1×32的層里有6×6×32元素,每個(gè)元素是一個(gè)標(biāo)量,在Capsule中,維度為6×6×8×32的層里有6×6×32元素,每個(gè)元素是一個(gè) 1×8的向量,主要儲(chǔ)存低級(jí)別特征的向量。

rgzd4-t2.gif

    從Primary Capsule到Digit Capsule,PrimaryCaps和DigitCaps是全連接的,但不是像傳統(tǒng)CNN標(biāo)量和標(biāo)量相連,此全鏈接層是向量與向量相連,動(dòng)態(tài)路由算法迭代3次計(jì)算cij輸出584個(gè)vj

    Digit Capsule到最終輸出,它的長(zhǎng)度表示其表征的內(nèi)容出現(xiàn)的概率,所以在做分類(lèi)時(shí),取輸出向量的 L2 范數(shù)。CapsNets并不像以往的神經(jīng)網(wǎng)絡(luò)輸出的概率總和為1,因?yàn)镃apsNets有同時(shí)識(shí)別多個(gè)物體的能力。

1.2 膠囊

    起初的神經(jīng)網(wǎng)絡(luò)依靠使用單一的標(biāo)量輸出來(lái)總結(jié)一個(gè)局部池中的重復(fù)特征檢測(cè)器的活動(dòng),CNN會(huì)對(duì)單一的圖像進(jìn)行位移、旋轉(zhuǎn)等處理后的圖像,看做是兩幅圖。然而神經(jīng)網(wǎng)絡(luò)應(yīng)該使用的是多維特征也就是“膠囊”的形式,這些膠囊對(duì)其輸入執(zhí)行一些非常復(fù)雜的內(nèi)部計(jì)算,然后將這些計(jì)算的結(jié)果封裝成一個(gè)包含信息豐富的輸出的向量。每個(gè)膠囊會(huì)學(xué)習(xí)辨識(shí)一個(gè)局部條件和有效變形范圍內(nèi)隱性定義的視覺(jué)實(shí)體,并輸出在有限范圍內(nèi)存在的概率及一組實(shí)體參數(shù),這組實(shí)體參數(shù)會(huì)包括相對(duì)這個(gè)視覺(jué)實(shí)體的照明條件、精確的位姿和變形信息等。當(dāng)膠囊工作正常時(shí),視覺(jué)實(shí)體存在的概率具有局部不變性,也就是當(dāng)實(shí)體在膠囊覆蓋的有限范圍內(nèi)的外觀流形上移動(dòng)時(shí),概率不會(huì)改變。實(shí)體參數(shù)卻是“等變的”,隨著觀察條件的變化,實(shí)體在外觀流形上移動(dòng)時(shí)實(shí)例參數(shù)也會(huì)相應(yīng)地變化,因?yàn)閷?shí)例參數(shù)表示實(shí)體在外觀流形上的內(nèi)在坐標(biāo),如圖3所示。

rgzd4-t3.gif

    假設(shè)一個(gè)膠囊,它檢測(cè)圖像中的指靜脈特征,并輸出長(zhǎng)度固定三維向量。接著開(kāi)始在圖像上移動(dòng)靜脈。同時(shí),向量在空間上旋轉(zhuǎn),表示檢測(cè)出的靜脈的狀態(tài)改變了,但其長(zhǎng)度將保持固定,因?yàn)槟z囊仍然確信它檢測(cè)出了靜脈。神經(jīng)活動(dòng)將隨著物體在圖像中的移動(dòng)而改變,然而檢測(cè)概率保持恒定,這就是CapsNets追求的不變性,而不是CNN提供的基于最大池化的不變性。

rgzd4-gs1.gif

1.3 Squash函數(shù)

    CNN常用的激活函數(shù)包括ReLU、sigmoid等,實(shí)現(xiàn)的只是線性疊加后壓縮在0~1或者1~-1之間。在CapsNets中,因?yàn)樵谇皩泳W(wǎng)絡(luò)中以向量的形式輸送,所以在做激活時(shí)需要對(duì)“膠囊”做方向處理。CapsNets的激活函數(shù)命名為Squash,表達(dá)式如式(2)所示:

rgzd4-gs2.gif

1.4 動(dòng)態(tài)路由

    膠囊的輸入和輸出的點(diǎn)積測(cè)量輸入與輸出的相似性,然后更新路由系數(shù)。實(shí)踐中的最佳的迭代次數(shù)是3次。動(dòng)態(tài)路由的步驟為:

    (1)將輸入的圖片進(jìn)行膠囊封裝后輸出Uj|i,路由迭代次數(shù)r;

    (2)定義bij為l層VNi連接下一層VNj的可能性,初始值為0;

    (3)循環(huán)執(zhí)行步驟(4)~步驟(7)r次;

    (4)對(duì)l層的VNi,將bij用Softmax轉(zhuǎn)化成概率cij;

    (5)對(duì)l+1層的VNj,加權(quán)求和sj;

    (6)對(duì)l+1層的VNj,使用激活函數(shù)激活sj得到vj;

    (7)根據(jù)Uj|i和vj的關(guān)系來(lái)更新bij。

    用Uj|i和vj的點(diǎn)積來(lái)更新bij,當(dāng)兩者相似時(shí),點(diǎn)積就大,bij也就變大,低層VNi連接高層VNj的可能性就變大;相反,當(dāng)兩者差距大時(shí),點(diǎn)積就小,bij也就變小,低層 VNi連接高層VNj的可能性就變小。

1.5 損失函數(shù)

    CapsNets的損失函數(shù)類(lèi)似于SVM的損失函數(shù),如式(3)所示;

   rgzd4-gs3.gif

    式(3)同樣表示最大化正負(fù)樣本到超平面的距離。這里給定了2個(gè)標(biāo)定點(diǎn)m+=0.9和m-=0.1,損失希望正例樣本m+預(yù)測(cè)在0.9,超過(guò)0.9就沒(méi)必要繼續(xù)提高了;負(fù)例m-預(yù)測(cè)在0.1,低于0.1也就沒(méi)必要繼續(xù)再下降了。λ的值固定為0.5,用于訓(xùn)練期間的數(shù)值穩(wěn)定性,是為了防止一開(kāi)始損失過(guò)大,導(dǎo)致全部輸出值都在收縮。公式中的兩個(gè)項(xiàng)都有平方,因?yàn)檫@個(gè)損失函數(shù)具有L2范數(shù),總損失是所有類(lèi)損失的總和。

2 實(shí)驗(yàn)

2.1 數(shù)據(jù)集

    本次實(shí)驗(yàn)采用的數(shù)據(jù)集是584個(gè)人的6根手指(除大拇指與小指)圖像,每根手指重復(fù)采集20次,也即數(shù)據(jù)集大小為584×6×20。其中訓(xùn)練集為60 000張,測(cè)試集為10 000張。

2.2 實(shí)驗(yàn)結(jié)果

    利用TensorFlow開(kāi)源框架設(shè)計(jì)和實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)。進(jìn)行3次路由循環(huán),迭代訓(xùn)練31 000次。識(shí)別率與loss值如表1所示。

rgzd4-b1.gif

    整個(gè)實(shí)驗(yàn)在NVIDIA Titanxp上,CapsNet網(wǎng)絡(luò)訓(xùn)練時(shí)間花費(fèi)約6小時(shí),通過(guò)圖4可以看出,橫坐標(biāo)為CapsNets的迭代次數(shù),縱坐標(biāo)為CapsNets的精確度與loss值,當(dāng)?shù)? 000次的時(shí)候,開(kāi)始逼近90%的精確度,同時(shí)loss已經(jīng)低至0.2,隨著迭代次數(shù)的增加,震動(dòng)逐漸減少趨近平穩(wěn),最后收斂于98.6%,而loss值也驚人地收斂于0.010 7。圖5為VGG-16的訓(xùn)練圖,可以看出比較平穩(wěn),后期的學(xué)習(xí)并沒(méi)提升多少精確度,當(dāng)?shù)?00次的時(shí)候網(wǎng)絡(luò)精確度趨近84%,最后精確度在85%,而loss值緩慢減小,最后總loss值在0.21。如表2所示,相比VGG-16,CapsNets優(yōu)勢(shì)非常明顯(采用同一個(gè)數(shù)據(jù)集實(shí)驗(yàn))。

rgzd4-t4.gif

rgzd4-t5.gif

rgzd4-b2.gif

3 結(jié)論

    通過(guò)實(shí)驗(yàn)證實(shí)了CapsNets比CNN更佳適合指靜脈識(shí)別,由于網(wǎng)絡(luò)結(jié)構(gòu)的簡(jiǎn)易,使得訓(xùn)練速度大幅度地提升。同時(shí),因?yàn)镃apsNets的空間特性使得靜脈特征被更完整地提煉出,增加了識(shí)別精確度。但是CapsNets也常與背景糾纏在一起,CapsNets仍處于起步階段,在以后的工作當(dāng)中,也許在出現(xiàn)龐大的數(shù)據(jù)集的時(shí)候會(huì)出現(xiàn)其他問(wèn)題,不過(guò)CapsNets的出現(xiàn)使得我們?cè)谌斯ぶ悄艿难芯恐锌邕M(jìn)一大步。

參考文獻(xiàn)

[1] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional[C].International Conference on Neural Information Processing Systems,2012,60(2):1097-1105.

[2] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].Computer Science,arXiv:1409.1556,2014.

[3] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C].IEEE Conference on Computer Vision & Pattern Recognition,2015:1-9.

[4] He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual learning for image recognition[C].IEEE Computer Society,2015.

[5] 吳超,邵曦.基于深度學(xué)習(xí)的指靜脈識(shí)別研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018(2):200-204.

[6] HONG H G,LEE M B,PARK K.Convolutional neural network-based finger-vein recognition using NIR image sensors[J].Sensors,2017,17(6):1-21.

[7] 余成波,秦華鋒.手指靜脈圖像特征提取算法的研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(24):175-177.

[8] GONZALEZ R C,WOODZ R E.數(shù)字圖像處理[M].阮秋琦,等,譯.北京:電子工業(yè)出版社,2007.

[9] Wen Yandong,Zhang Kaipeng,Li Zhifeng,et al.A discriminative feature learning approach for deep face recognition[J].Lecture Notes in Computer Science,Springer,2016,47(9):499-515.

[10] HINTON G E,KRIZHEVSKY A,WANG S D.Transforming auto-encoders[C].International Conference on Artificial Neural Networks,2011,6791:44-51.

[11] SABOUR S,F(xiàn)ROSST N,HINTON G E.Dynamic routing between Capsules[J].NIPS2017,2017.

[12] 劉洋,郭樹(shù)旭,張鳳春,等.基于稀疏分解的指靜脈圖像去噪[J].信號(hào)處理,2012,28(2):179-185.

[13] ROSDI B A,CHAI W S,SUANDI S A.Finger vein recognition using local line binary pattern[J].Sensors,2011,11(12):11357-71.

[14] AREL I,ROSE D C,KARNOWSKI T P.Deep machine learning-a new frontier in artificial intelligence research[J].Computational Intelligence Magazine IEEE,2010,5(4):13-18.



作者信息:

余成波,熊遞恩

(重慶理工大學(xué) 電氣與電子工程學(xué)院,重慶400050)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。