文獻(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 引言
近幾年來,在機(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)通過卷積提取特征,從底層到高層映射,,實(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)練指靜脈圖像,,對比了低質(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ì)圖像),。
通過標(biāo)準(zhǔn)高質(zhì)圖像的訓(xùn)練,,CNN適合運(yùn)用于指靜脈的識(shí)別中,但是同樣存在一些實(shí)際問題,。通過采集器采集到的圖像有非常大的幾率采集到淺部的指靜脈圖像,,同時(shí),在對圖像處理時(shí)是基于二維矩陣,,CNN對全局指靜脈圖像學(xué)習(xí)特征時(shí)效果并不好,,隱藏在表皮層靠后的靜脈不會(huì)被學(xué)習(xí)到,因此會(huì)嚴(yán)重影響到識(shí)別精確度,。
如圖1所示,,淺部靜脈圖像特點(diǎn)在于局部靜脈較細(xì)、顏色較淺,、分布不均且不完整,,導(dǎo)致這樣的原因主要是因?yàn)榇遂o脈比較靠后,紅外攝像頭不能清晰地穿過組織進(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測試集上79%的精確度,遠(yuǎn)超CNN的66%,,同時(shí)CapsNets耗時(shí)較少,,為目前精確度最高的網(wǎng)絡(luò)[11]。指靜脈圖像常存在靜脈重疊,,導(dǎo)致采集過程中常出現(xiàn)一條重疊的靜脈圖像,。CNN對空間位置的學(xué)習(xí)效果不佳,所以在采集圖像時(shí)會(huì)對同一指頭采集多次,,使得網(wǎng)絡(luò)盡可能學(xué)習(xí)到特征圖中每一處靜脈,而CapsNets在空間位置上對靜脈圖像的處理遠(yuǎn)超CNN,,整個(gè)學(xué)習(xí)過程中以“膠囊”的形式從底層傳遞至高層,,封裝多維特征,如此可減少訓(xùn)練樣本數(shù)量的同時(shí)也保留了出現(xiàn)概率少的的靜脈特征,。為此本文提出了將CapsNets應(yīng)用于指靜脈識(shí)別方法中,。
1 CapsNets
1.1 網(wǎng)絡(luò)結(jié)構(gòu)
一些主要的計(jì)算機(jī)視覺任務(wù)中都需要一個(gè)不同的CNN架構(gòu),CNN圖像分類的效果已經(jīng)得到各位研究人員的認(rèn)可,,但是存在以下問題:
(1)CNN要接受大量圖像的訓(xùn)練,,這使得在獲得訓(xùn)練樣本時(shí)要消耗不少時(shí)間,但CapsNets可以使用較少的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,。
(2)CNN不能很好地處理歧義,。CapsNets即使在密集的場景下,也可以表現(xiàn)出色,。
(3)CNN在池化層中丟失了大量的信息,。池化層取最大值保留了出現(xiàn)概率較高的特征,同時(shí)舍去了出現(xiàn)概率較少的特征,,往往我們又需要這些重要的信息,,這些層減少了空間分辨率,所以它們的輸出無法對輸入的小變化做出反應(yīng),。當(dāng)在整個(gè)網(wǎng)絡(luò)中必須保存詳細(xì)的信息時(shí),,這是一個(gè)問題。如今,,解決這個(gè)問題的方法是通過在CNN周圍建立復(fù)雜的體系結(jié)構(gòu)來恢復(fù)一些丟失的信息,。CapsNets詳細(xì)的屬性信息在整個(gè)網(wǎng)絡(luò)中被保留下來而不是丟失后被恢復(fù)。輸入的小改動(dòng)導(dǎo)致輸出的細(xì)微變化,,信息被保留,,這就是所謂的等變性,。因此,CapsNets可以在不同的視覺任務(wù)中使用相同的簡單一致的架構(gòu),。
(4)CNN需要額外的組件來自動(dòng)識(shí)別一個(gè)部件屬于哪個(gè)對象,。CapsNets可以為其提供部件的層次結(jié)構(gòu)。
CapsNet是一個(gè)非常淺的網(wǎng)絡(luò),,加上卷積層和全連接層一共3層,。CNN在抽取低級特征上表現(xiàn)非常優(yōu)秀,相反CapsNets是用來表征某個(gè)物體的“實(shí)例”,,所以它更加適合于去表征高級的實(shí)例,。所以在CapsNets中的底層加入傳統(tǒng)CNN的卷積層做底層的特征抽取。
如圖2所示,,從低級特征到 Primary Capsule,,第二卷積層的維度是6×6×8×32,用32個(gè)步長為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ǔ)存低級別特征的向量,。
從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到最終輸出,,它的長度表示其表征的內(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)量輸出來總結(jié)一個(gè)局部池中的重復(fù)特征檢測器的活動(dòng),,CNN會(huì)對單一的圖像進(jìn)行位移,、旋轉(zhuǎn)等處理后的圖像,看做是兩幅圖,。然而神經(jīng)網(wǎng)絡(luò)應(yīng)該使用的是多維特征也就是“膠囊”的形式,,這些膠囊對其輸入執(zhí)行一些非常復(fù)雜的內(nèi)部計(jì)算,然后將這些計(jì)算的結(jié)果封裝成一個(gè)包含信息豐富的輸出的向量,。每個(gè)膠囊會(huì)學(xué)習(xí)辨識(shí)一個(gè)局部條件和有效變形范圍內(nèi)隱性定義的視覺實(shí)體,,并輸出在有限范圍內(nèi)存在的概率及一組實(shí)體參數(shù),,這組實(shí)體參數(shù)會(huì)包括相對這個(gè)視覺實(shí)體的照明條件、精確的位姿和變形信息等,。當(dāng)膠囊工作正常時(shí),,視覺實(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è)膠囊,,它檢測圖像中的指靜脈特征,并輸出長度固定三維向量,。接著開始在圖像上移動(dòng)靜脈,。同時(shí),向量在空間上旋轉(zhuǎn),,表示檢測出的靜脈的狀態(tài)改變了,,但其長度將保持固定,,因?yàn)槟z囊仍然確信它檢測出了靜脈,。神經(jīng)活動(dòng)將隨著物體在圖像中的移動(dòng)而改變,然而檢測概率保持恒定,,這就是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í)需要對“膠囊”做方向處理。CapsNets的激活函數(shù)命名為Squash,,表達(dá)式如式(2)所示:
1.4 動(dòng)態(tài)路由
膠囊的輸入和輸出的點(diǎn)積測量輸入與輸出的相似性,,然后更新路由系數(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)對l層的VNi,將bij用Softmax轉(zhuǎn)化成概率cij,;
(5)對l+1層的VNj,,加權(quán)求和sj;
(6)對l+1層的VNj,,使用激活函數(shù)激活sj得到vj,;
(7)根據(jù)Uj|i和vj的關(guān)系來更新bij。
用Uj|i和vj的點(diǎn)積來更新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ù)測在0.9,超過0.9就沒必要繼續(xù)提高了,;負(fù)例m-預(yù)測在0.1,,低于0.1也就沒必要繼續(xù)再下降了。λ的值固定為0.5,,用于訓(xùn)練期間的數(shù)值穩(wěn)定性,,是為了防止一開始損失過大,導(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張,,測試集為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í),,通過圖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í)并沒提升多少精確度,當(dāng)?shù)?00次的時(shí)候網(wǎng)絡(luò)精確度趨近84%,,最后精確度在85%,,而loss值緩慢減小,最后總loss值在0.21,。如表2所示,,相比VGG-16,CapsNets優(yōu)勢非常明顯(采用同一個(gè)數(shù)據(jù)集實(shí)驗(yàn)),。
3 結(jié)論
通過實(shí)驗(yàn)證實(shí)了CapsNets比CNN更佳適合指靜脈識(shí)別,,由于網(wǎng)絡(luò)結(jié)構(gòu)的簡易,,使得訓(xùn)練速度大幅度地提升,。同時(shí),因?yàn)镃apsNets的空間特性使得靜脈特征被更完整地提煉出,,增加了識(shí)別精確度,。但是CapsNets也常與背景糾纏在一起,CapsNets仍處于起步階段,,在以后的工作當(dāng)中,,也許在出現(xiàn)龐大的數(shù)據(jù)集的時(shí)候會(huì)出現(xiàn)其他問題,不過CapsNets的出現(xiàn)使得我們在人工智能的研究中跨進(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].信號處理,,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)