文獻(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í)算法在圖像分類(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ì),、顏色均勻分布明顯。
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í)別特征的向量,。
從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所示,。
假設(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提供的基于最大池化的不變性,。
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ù)類(lèi)似于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)定性,,是為了防止一開(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所示,。
整個(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)),。
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)