虹膜识别-论文阅读1
hello,這是鑫鑫鑫的論文分享站,今天分享的文章是Iris Recognition With Off-the-Shelf CNN Features: A Deep Learning Perspective ,一篇關于虹膜識別的論文,一起來看看吧~
摘要:
虹膜識別是指根據虹膜特征自動識別個體的過程。虹膜基質表面上的隨機性使其成為生物識別的獨特線索。通過投射到Gabor小波上,并將隨后的相量響應轉換成二進制碼,可以有效地提取和編碼個人虹膜圖案的細微紋理差異——這是Daugman首創的一項技術。該結構描述符具有很低的偽匹配率和較低的計算復雜度,是一種魯棒的特征描述符。然而,最近在深度學習和計算機視覺方面的進步表明,使用卷積神經網絡(CNNs)提取的通用描述符能夠代表復雜的圖像特征。鑒于cnn在ImageNet大規模視覺識別挑戰(ILSVRC)和大量其他計算機視覺任務上的優越性能,在本文中,我們探討了最先進的預訓練cnn在虹膜識別上的性能。我們發現,在ND-CrossSensor-2013和castia - iris - thousand這兩個虹膜數據集上,原本訓練用于分類通用對象的現成CNN特征,在表現虹膜圖像方面也表現得非常出色,能夠有效地提取識別性視覺特征,并取得了很好的識別結果。我們還討論了利用深度學習方法來解決虹膜識別問題的挑戰和未來的研究方向。
I. INTRODUCTION
虹膜識別是指根據虹膜模式自動識別個體的過程。虹膜識別算法在大型數據庫中顯示出非常低的誤匹配率和非常高的匹配效率。
虹膜識別的性質:
- 虹膜基質復雜的結構模式在個體間差異顯著
- 其識別特性的持久性(一個人的虹膜信息不會改變)
- 其有限的遺傳外顯率(外顯率是指一定環境條件下,群體中某一基因型(通常在雜合子狀態下)個體表現出相應表型的百分率。)
最先進的文獻:
虹膜識別的成功——除了它吸引人的物理特征——植根于有效特征描述符的發展,特別是Daugman的開創性工作[3],[5],[9]中引入的Gabor相位象限特征描述符。Gabor phasequadrant特征描述符(通常稱為iriscode)在虹膜識別領域占據主導地位,具有非常低的誤匹配率和很高的匹配效率。研究人員還基于離散余弦變換(DCT)[10]、離散傅里葉變換(DFT)[11]、序數測度[12]、類特定權重映射[13]、壓縮感知和稀疏編碼[14]、層次視覺編碼[15]、多尺度泰勒展開[16]、[17]等提出了廣泛的虹膜描述符。讀者可以參考[18]-[21]來獲得廣泛的用于虹膜識別的方法列表。
GAP:鑒于經典紋理描述符對虹膜識別的廣泛使用,包括伽柏phase-quadrant特征描述符,是有益的后退一步,回答下面的問題:我們如何知道在文獻中提出的這些手工制作的特征描述符實際上是虹膜的最佳表征?此外,通過設計一種新的特征表示方案,以較低的計算復雜度獲得虹膜識別精度的上界,是否可以獲得更好的性能(與基于gaborbased的方法相比)?(傳統的缺陷)
可能的解決方案:一個可能的解決方案是利用最近在深度學習(主要是數據驅動的)方面的進展來發現特征表示方案。通過自動學習虹膜數據的特征表示,可以推斷出一種最優的表示方案,從而為虹膜識別任務帶來較高的識別結果。深度學習技術通常使用分層的多層網絡來引出特征圖,從而優化訓練數據[22]的性能。這些網絡允許從數據中直接學習和發現特征表示方案,并避免了開發手工特征時的一些陷阱。深度學習已經完全改變了許多計算機視覺任務的表現[23],[24]。因此,我們假設,卷積神經網絡(CNNs)所代表的深度學習技術,可以用于為虹膜識別問題設計出可以替換的特征描述符。
為什么深虹膜方法還沒有廣泛應用?已經有一些嘗試將深度學習的原理應用于虹膜識別[25],[26]。深度學習方法在虹膜識別問題上的應用之所以有限,是因為深度學習需要大量的訓練數據,而這是目前大多數虹膜研究者都無法獲得的。此外,深度學習在計算上也非常昂貴,并且需要多個圖形處理單元(gpu)的能力。這對這種深度學習方法的實際實施是一種威懾。最重要的是,到目前為止,還沒有深入了解為什么深度學習應該為虹膜識別工作,并沒有進行系統分析,以確定如何最好地利用深度學習方法設計一個最優結構的深層網絡實現高精度和低計算復雜度。如果沒有直觀的洞察力,簡單地疊加多層來設計一個用于虹膜識別的CNN,將是不可行的(由于公共領域缺乏大規模虹膜數據集),非最佳的(由于CNN架構的特殊選擇,層的數量,層的配置…)和低效的(由于冗余的層)。
我們認為,與其設計和訓練新的神經網絡用于虹膜識別,不如使用那些已經在大規模計算機視覺挑戰中被證明是成功的神經網絡,在沒有時間消耗的結構設計步驟的情況下,可以產生良好的性能。(這句話點名了為什么要遷移學習了,省事啊,不用琢磨搭建新網絡了。)最新CNNs的主要來源是ImageNet大尺度視覺識別挑戰(ILSVRC)[27],每年組織一次,以評估用于大尺度目標檢測和圖像分類的最新算法。作為這項挑戰的一部分而開發的網絡通常在公共領域可用,用于從圖像中提取深層特征。研究人員發現,這些現成的CNN特征對于各種計算機視覺任務,如面部表情分類、動作識別和視覺實例檢索,都是非常有效的,并不局限于[28]所設計的目標檢測和圖像分類任務。在本文中,我們將研究自2012年以來在ILSVRC挑戰書中獲勝的cnn的性能(在2012年之前,獲勝的是非cnn方法,其性能不如基于cnn的方法)。
本文的主要貢獻如下:
?首先,我們分析了文獻中提出的用于虹膜識別的深層結構。
?其次,我們將現成的cnn應用于虹膜識別問題,并使用它們給出我們的初步結果。
?第三,我們討論了虹膜識別的挑戰和深度學習的未來。
II. RELATED WORK
A. CNNs
CNNs屬于一種專門用于處理圖像和視頻的深度學習方法,通過使用卷積層形式的重復神經元塊,神經網絡不僅能夠自動學習圖像特征表示,而且優于許多傳統手工制作的特征技術。具有開創性的現代CNN是由Yan Lecun等人在20世紀90年代引入的,用于手寫數字識別,其架構被稱為LeNet[32]。現代深度網絡的許多特性源自于LeNet,其中引入了卷積連接,并使用了反向傳播算法來訓練網絡。2012年Krizhesky等人推出的AlexNet CNN在ImageNet大規模視覺識別挑戰(ILSVRC)[33]上明顯優于之前的方法,CNN變得異常流行。AlexNet只是具有更深結構的LeNet的一個縮放版本,但是它是在一個更大的數據集(ImageNet有1400萬張圖像)上進行訓練的,并且具有更強大的計算資源(gpu)。獲獎cnn的深度從2012年的8層逐步增加到2015年的152層,識別錯誤率從2012年的16.4%大幅下降到2015年的3.57%。cnn的發展:
B. 應用于虹膜識別的CNN
為了提高虹膜識別的性能,許多深度網絡被提出。Liu等人提出的DeepIris網絡由9層組成,包括一對過濾層、一個卷積層、兩個池化層、兩個歸一化層、兩個局部層和一個全連接層[38]。這種深度網絡在Q-FIRE[39]和CASIA[40]數據集上都取得了很好的識別率。
Gangwar等人使用更高級的層創建了兩個DeepIrisNets用于虹膜識別任務[25]。
第一個網絡DeepIrisNet-A包含8個卷積層(每個層后面跟著一個批處理歸一化層)、4個池化層、3個完全連接層和2個dropout層。
第二個網絡DeepIrisNet-B增加了兩個inception層來增加模型的能力。
這兩個網絡在ND-IRIS-0405[41]和ND-CrossSensor-Iris-2013[41]數據集上表現出了優越的性能。值得一提的是,cnn在虹膜生物識別領域也被用于虹膜分割[42]、[43]、活體檢測[44]、[45]和性別分類[46]。雖然自設計的cnn如DeepIris[38]和DeepIrisNet[25]已經取得了很好的效果,但它們的主要限制在于網絡的設計,因為層數的選擇受到了訓練樣本數量的限制。目前可用的最大的公共數據集是nd - crosssensor2013數據集,它只包含116,564張虹膜圖像。這個數字遠不及體現深度神經網絡的數百萬個參數。
為了解決虹膜缺乏大型數據集的問題,可以采用遷移學習的方法。在這里,在ImageNet[47]等其他大數據集上訓練過的CNNs可以直接用于虹膜識別領域。事實上,在ImageNet上預先訓練的CNN模型,已經成功地轉移到許多計算機視覺任務[28]上。Minaee等人的研究表明,盡管VGG模型在ImageNet上預先訓練過將不同類別的物體進行分類,但它在[26]虹膜識別任務中表現得很好。(可以證明虹膜識別用深度學習的基礎研究)然而,自從VGG模型在2014年發布以來,文獻中已經提出了許多其他的高級架構。在本文中,我們將利用這樣的CNN架構(主要是那些已經贏得了ImageNet的挑戰)應用在虹膜識別任務。
III. METHODS - OFF-THE-SHELF CNN FEATURES FOR IRIS RECOGNITION(作者提出的框架)
我們首先回顧一些流行的CNN結構,然后提出了我們的虹膜識別框架使用這些CNN特征。
CNNs :AlexNet、VGG、GoogLeNet and Inception、ResNet、DenseNet
A. CNNs
AlexNet : 他們利用了一個深度CNN,明顯優于其他手工制作的特性,導致了16.4%的前5個錯誤率。AlexNet實際上是傳統LeNet的一個縮放版本,它利用了大規模的訓練數據集(ImageNet)和更多的計算能力(gpu可以在訓練中加速10倍)。優化AlexNet的超參數可以獲得更好的性能,隨后贏得了ILSVCR 2013挑戰賽[48]。在本文中,我們提取所有卷積層(5)和所有全連接層(2)的輸出來生成用于虹膜識別任務的CNN特征。(也可以自己定義全連接層的參數)
VGG 在整個網絡中使用小型濾波器的簡單性導致了非常好的泛化性能。基于這些觀察,他們引入了一種稱為VGG的網絡,由于其簡單性和良好的泛化性能[34],至今仍被廣泛使用。已經引入了多個版本的VGG,但最流行的兩個版本是VGG-16和VGG-19,分別包含16和19層。(不算池化的)VGG的詳細架構在附錄中給出。在本文中,我們提取所有卷積層(16)和所有全連接層(2)的輸出來生成用于虹膜識別任務的CNN特征。(最后一層分類去掉了)
GoogLeNet and Inception:主要的創新是引入了一個inception模塊,它的功能是在一個更大的網絡[35]內部有一個小網絡。新的見解是,在調用昂貴的并行塊之前(GPU),使用1×1卷積塊來聚合和減少特性的數量。這有助于以更好的方式組合卷積特性,而僅僅堆疊更多的卷積層是不可能的。后來,作者在批處理規范化方面做了一些改進,并重新設計inception模塊中的過濾器安排,以創建inceptionv2和v3[49]。最近,他們添加了剩余連接來改進在inceptionv4[50]中的梯度流。(就是借鑒了何凱明的resnet殘差思想,創建了InceptionV4結構)在inception-v3的詳細架構在附錄中給出。在本文中,我們提取所有卷積層(5)和所有inception layers(12)的輸出來生成用于虹膜識別任務的CNN特征。
ResNet 引入了殘差連接(residual connection)或跳過連接(skip connection)的概念,將連續兩個卷積層的輸出輸入繞過到下一層[36]。這種剩余連接改善了網絡中的梯度流,允許網絡變得非常深,有152層。在本文中,我們提取所有卷積層(1)和所有瓶頸層(17)的輸出來生成用于虹膜識別任務的CNN特征。
DenseNet: 2016年Facebook的Huang等人提出了DenseNet,以前饋方式將CNN的每一層連接到每一層。正如作者所指出的,使用密集連接的架構會帶來幾個好處:“緩解消失梯度問題,加強特性傳播,鼓勵特性重用,并大幅減少參數的數量”。DenseNet-201的詳細架構在附錄中給出。在本文中,我們提取一個選定的密集層數(15)的輸出來生成用于虹膜識別任務的CNN特征。
值得注意的是,文獻[29]、[51]中還有其他幾個強大的CNN架構。然而,我們僅選擇上述架構來說明預訓練的cnn在虹膜識別任務中的表現。
B. Iris recognition framework using CNN Features
如圖總結了我們用來研究用于虹膜識別的現成CNN特征的性能的框架。
使用現成的CNN特征的虹膜識別框架:利用兩個圓形輪廓線對虹膜圖像進行分割,然后利用偽極變換對圖像進行幾何歸一化,得到固定的矩形圖像。接下來使用現成的cnn提取特征,然后使用支持向量機進行分類。
分割: 首先通過提取虹膜內外邊界的兩個圓形輪廓進行虹膜區域的虹膜局部化。積分-微分算子是最常用的圓探測器之一,它在數學上可以表示為:
其中I(x, y)和G分別表示輸入圖像和高斯模糊濾波器。符號?表示一個卷積運算,r表示圓心位置(x0, y0)的圓弧ds的半徑。所述的操作通過迭代搜索參數(x0, y0, r)定義的輪廓的最大響應來檢測圓形邊緣,在大多數情況下,虹膜區域可以被上下眼瞼和睫毛模糊。在這樣的圖像中,利用上述算子可以將輪廓積分路徑由圓變為圓弧進行眼瞼局部化。噪聲口罩區分虹膜像素和非虹膜像素(如睫毛、眼瞼等)在給定的圖像。在分割階段生成相應于每個輸入圖像的噪聲掩模,并用于后續步驟。
歸一化: 虹膜內外邊界所包圍的區域會因瞳孔的擴張和收縮而變化。在比較不同的虹膜圖像之前,需要盡量減少這種變化的影響。為此,通常將分割出的虹膜區域映射到固定維數的區域。Daugman提出使用橡膠片模型將分割的虹膜轉換為固定的矩形區域。這個過程是通過將虹膜區域I(x, y)從原始的笛卡爾坐標(x, y)重新映射到無量綱極坐標(r, lai)來實現的,其數學表達式為:
式中,r為單位區間[0,1],θ范圍[0,2π]。x(r, θ)和y(r,θ)被定義為瞳孔(xp(θ), yp(θ))和邊緣邊界點(xs(θ), ys(θ))的線性組合,
規范化的另一個好處是眼睛的旋轉(例如,由于頭部的運動)在匹配過程中被簡化為簡單的翻譯。相應的噪聲掩碼也被規范化,以便在后面的階段更容易匹配。
CNN特征提取: 將歸一化后的虹膜圖像送入CNN特征提取模塊。如前所述,本研究使用五種現有的最先進CNNs (AlexNet、VGG、Google Inception、ResNet和DenseNet)從歸一化虹膜圖像中提取特征。注意,每個CNN都有多個層。每一層對圖像中的可視內容進行不同級別的建模,較晚的層編碼更精細和更抽象的信息,較早的層保留較粗糙的信息。cnn在計算機視覺任務中表現出色的一個關鍵原因是,這些有數千萬或數百層和數百萬個參數的深度網絡非常擅長捕捉和編碼圖像的復雜特征,從而獲得卓越的性能。為了研究虹膜識別任務中每一層的表示能力,我們將每一層的輸出作為特征描述符,并報告相應的識別精度。
SVM分類: 將提取的CNN特征向量送入分類模塊。我們使用一個簡單的多類支持向量機(SVM)[52],因為它在圖像分類中的流行度和效率。針對N類的多類支持向量機被實現為一個對所有的策略,這相當于結合N個二值支持向量機分類器,每個分類器將一個類與所有其他類區分開來。 測試樣本被分配給邊際最大的類。(現在用svm不多了,后面可以直接自己定義一個分類器層,去分類。很多遷移學習網絡都是這樣設置的。)
IV. 結果:
A. Datasets
B. 績效度量和基線方法
C. Experimental setup
D. 結果分析
A. Datasets
1)LG2200數據集:ND-CrossSensor-Iris-2013是文獻中圖像數量最大的公開虹膜數據集[41]。nd - crosssensor2013數據集包含由LG2200虹膜攝像機從676名受試者采集的116,564張虹膜圖像。
2) CASIA-Iris-Thousand:包含來自1000名受試者的20,000張虹膜圖像,使用IrisKing[40]公司的ikembo -100相機采集。
B. 績效度量和基線方法
識別率
識別率按正確比例計算以預定的錯誤接受率(FAR)對樣本進行分類 FAR=0.1%
用于比較的基線特征描述符是Gabor相位象限特征 漢明距離
在LG2200和casia - iris - 1000數據集上分別實現了91.1%和90.7%的識別準確率。
C. Experimental setup
將受試者的左虹膜和右虹膜圖像分為兩類。因此,LG2200數據集有1352個類,而casia - iris - 1000有2000個類。我們隨機選擇每個類對應的70%的數據進行訓練,剩下的30%進行測試。必須注意的是,訓練圖像僅用于訓練多類支持向量機;使用訓練數據對預訓練的cnn完全不做任何修改。這是使用預先訓練好的cnn的主要優勢之一。(也就是說訓練集訓練的是svm分類器,對cnn這些網絡架構不影響)
對于虹膜分割和歸一化,我們使用的是來自薩爾茨堡大學[53]的開源軟件USIT v2.2。本軟件將每幅虹膜圖像作為輸入,對其進行內外圓分割,并將分割后的區域歸一化為大小為64×256像素的矩形。
對于CNN的feature extraction,我們使用 PyTorch [54]來實現我們的方法。PyTorch是Facebook最近發布的深度學習框架,結合了Torch和Python的優點。該框架的兩個最先進的特性是動態圖計算和命令式編程,這使得深度網絡編碼更加靈活和強大。 在我們的實驗中,PyTorch提供了廣泛的預訓練的現成的cnn,使得我們的特征提取任務更加方便。
為了進行分類,我們使用了LIBSVM庫[55]和一個在scikiti - learning庫[56]中實現的Python包裝器,它允許輕松地與特征提取步驟集成。(LIBSVM庫這個庫好像是方便調用svm分類器的,pytorch中要引入sklearn包)
D. 結果分析
如前所述,不同的層編碼不同級別的可視內容。為了研究每一層的性能,我們使用每一層的輸出作為特征向量來表示虹膜,然后估計識別的準確性。識別精度如圖4所示,分別針對兩個數據集:LG2200和CASIA-Iris-Thousand。
有趣的是,所有cnn的識別精度在某些中間層達到頂峰。在LG2200數據集上:第10層用于VGG,第10層用于Inception,第11層用于ResNet,第6層用于DenseNet。在CASIA-Iris-Thousand數據集上:第9層用于VGG,第10層用于Inception,第12層用于ResNet,第5層用于DenseNet。“峰值層”的差異可以通過每個CNN的屬性來解釋。由于Inception使用復雜的Inception層(實際上每一層都是一個更大的網絡中的一個網絡),所以它會比其他的更快地收斂到峰值。相比之下,ResNet與它的跳過連接非常擅長允許梯度流通過網絡,使得網絡在更深的深度上表現良好,導致虹膜識別準確率出現較晚的峰值。DenseNet具有豐富的密集連接,使神經元易于相互作用,使得在虹膜識別任務中,在所有神經網絡中識別準確率最高。(也就是說不同的網絡架構,提取特征效果表現在不同層輸出的特征上)
可以看到,峰值結果不會出現在神經網絡的后期層。這可以解釋為歸一化虹膜圖像不像ImageNet數據集中的圖像那么復雜,在ImageNet數據集中,大量對象中存在較大的結構變化。因此,對歸一化虹膜進行編碼并不需要有大量的層。因此,在中間層實現了最高精度。
在所有5個CNNs中,DenseNet在LG2200數據集第6層識別準確率最高,達到98.7%,在casaria - iris - thousand數據集第5層識別準確率最高,達到98.8%。在LG2200數據集上,ResNet和Inception在第11層和第10層的峰值識別準確率分別達到98.0%和98.2%;在CASIA-Iris-Thousand數據集的第12層和第10層,分別是98.5%和98.3%。VGG結構簡單,在LG2200和CASIA-Iris-Thousand數據集的第9層上,識別準確率分別只有92.7%和93.1%。AlexNet不斷提高的識別精度表明,其體系結構中考慮的層數可能不能完全捕捉到虹膜圖像中的鑒別性視覺特征。
V.結論
在本文中,我們從深度學習的角度探討了虹膜識別的任務。我們的實驗表明,現成的預訓練CNN特征,即使最初訓練用于對象識別問題,也可以用于虹膜識別任務。通過利用來自ILSVRC挑戰的最先進的cnn并將其應用于虹膜識別任務,我們在兩個大的虹膜數據集中實現了最先進的識別精度,即ND-CrossSensor-2013和CASIA-Iris-Thousand。這些初步的結果表明,可以成功地將現成的CNN特征轉移到虹膜識別問題中,從而有效地提取虹膜圖像中具有鑒別性的視覺特征,消除了費力的特征工程任務。CNNs在自動化特性工程中的好處是關鍵是學習新的虹膜編碼方案,可以受益于大規模的應用
存在的問題:
- 計算復雜度
- 域適應和微調
- 少量學習
- 結構演變
- 其他的架構: DBN SAE RNN
Computational complexity: 由于網絡中使用了數百萬個參數,所以CNNs在訓練階段的計算復雜度非常高。事實上,需要強大的GPU來完成訓練。這與手工制作的虹膜特征,尤其是Daugman的Gabor特征相比是不利的,Daugman的Gabor特征可以在一秒鐘內提取并比較通用CPU上的數千個虹膜編碼。因此,模型約簡技術,如剪枝和壓縮,可能需要消除冗余的神經元和層,并減少網絡的大小。
Domain adaptation and fine-tuning: 使用現成的cnn的另一種方法是通過微調,這將需要凍結早期的層,只需要再訓練一些選擇后的層來適應cnn對虹膜圖像的表示能力。相對于一般的圖像特征,微調是為了學習和編碼虹膜特異性特征。此外,還可以采用域自適應的方法將圖像域的表示變換為虹膜圖像域的表示。(**微調可以試試奧,需要凍結這些網絡的前面層,留下高層的網絡去訓練高層調節參數,然后需要加載訓練好的權重參數加載進去前面的網絡模型上,如何定義分類器,多分類一般用softmax分類)
Few-shot learning: 如果用于虹膜識別的網絡必須從頭開始設計和訓練,那么訓練圖像數量有限的問題可以通過一種叫做 few-shot 學習(小樣本學習,) 的技術得到部分解決,這種技術可以使網絡在看到每個類的少量樣本后表現良好。
Architecture evolution: 進化理論和深度強化學習的最新進展允許網絡改變自身,并為手頭的問題生成更好的實例。這種方法可以用來發展現有的cnn,以產生更適合虹膜識別的強大網絡。
**Other architectures:**在深度學習領域,有其他架構如無監督深度信念網絡(DBN),堆疊自動編碼器(SAE)和遞歸神經網絡(RNN)。這些結構有其自身的優點,可以用于虹膜圖像的特征提取。它們可以單獨使用,也可以與經典的cnn結合使用,以提高虹膜模板的表達能力。
總體來說,文章脈絡:神經網絡方法可以用在虹膜識別上,以及一些經典網絡的介紹,最后介紹了作者自己的網絡模型,預訓練的網絡加svm分類,比較了,網絡那個層輸出的特征圖識別精度高,論文的總結部分介紹了小樣本學習,強化學習,微調,Otherarchitectures,未來可以試試這些用在虹膜識別上。
總結
以上是生活随笔為你收集整理的虹膜识别-论文阅读1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火狐html页面空白页,火狐修改空白新标
- 下一篇: vscode c++不能使用bits/s