文獻(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.
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í)算法在圖像分類的ImagNet挑戰(zhàn)賽上遠(yuǎn)勝其他分類算法。卷積神經(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ì)、顏色均勻分布明顯。
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圖像分類的效果已經(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周圍建立復(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í)別特征的向量。
從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)的概率,所以在做分類時(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所示。
假設(shè)一個(gè)膠囊,它檢測(cè)圖像中的指靜脈特征,并輸出長(zhǎng)度固定三維向量。接著開始在圖像上移動(dòng)靜脈。同時(shí),向量在空間上旋轉(zhuǎn),表示檢測(cè)出的靜脈的狀態(tài)改變了,但其長(zhǎng)度將保持固定,因?yàn)槟z囊仍然確信它檢測(cè)出了靜脈。神經(jīng)活動(dòng)將隨著物體在圖像中的移動(dòng)而改變,然而檢測(cè)概率保持恒定,這就是CapsNets追求的不變性,而不是CNN提供的基于最大池化的不變性。
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)所示:
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ù)類似于SVM的損失函數(shù),如式(3)所示;
式(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)定性,是為了防止一開始損失過(guò)大,導(dǎo)致全部輸出值都在收縮。公式中的兩個(gè)項(xiàng)都有平方,因?yàn)檫@個(gè)損失函數(shù)具有L2范數(shù),總損失是所有類損失的總和。
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開源框架設(shè)計(jì)和實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)。進(jìn)行3次路由循環(huán),迭代訓(xùn)練31 000次。識(shí)別率與loss值如表1所示。
整個(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í)候,開始逼近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))。
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] 劉洋,郭樹旭,張鳳春,等.基于稀疏分解的指靜脈圖像去噪[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)