?

基于級聯神經網絡的多任務虹膜快速定位方法

2020-06-18 05:50沈文忠毛云豐
計算機工程與應用 2020年12期
關鍵詞:虹膜關鍵點尺度

滕 童,沈文忠,毛云豐

上海電力大學 電子與信息工程學院,計算機科學與技術學院,上海200090

1 引言

在人類身份識別認證的問題上,傳統的身份驗證方法不方便、不安全,而基于生物學特征的生物識別技術具有普遍性、穩定性、安全性的特點,這讓生物識別技術成為了該領域內近年來研究的熱點。其中虹膜識別被認為是最具開發前景的生物特征識別方法,與其他生物識別技術相比虹膜識別有著唯一性、穩定性、防偽性和非接觸性的優點。一個完整的虹膜識別系統由圖像的獲取、虹膜定位、特征提取和識別驗證四個部分組成,其中虹膜定位是非常重要的環節,特征提取和識別驗證兩個環節都要依賴已經定位好的虹膜區域。虹膜區域定位的不準確會造成干擾信息的引入,像眼瞼、光斑、睫毛等,還會造成虹膜紋理信息的缺失,因此虹膜區域定位是否準確對后續的虹膜特征提取和虹膜識別的準確率有很大的影響,可見虹膜區域的精確定位對整個虹膜識別系統至關重要。

為了更準確地定位虹膜區域,大量的虹膜定位算法被提出。Wildes指出虹膜定位必須對廣泛的邊緣灰度對比敏感,使用低通高斯濾波器平滑圖像進行空間子采樣來隔離虹膜,通過邊緣點投票機制實例化邊緣參數來定位虹膜邊界[1]。Daugman將虹膜定位看做是圓形的邊緣檢測,通過定義一個積分微分算子確定圓的中心和半徑的參數來確定瞳孔和虹膜的外邊界[2]。文獻[3]提出了在矩形圖像中檢測點和線替代傳統的邊界圓檢測方法,通過EMD對紋理進行特征提取后基于Mahalanibis的距離找到每個測試樣本的K個最近鄰域,最后對輸出結果進行投票決策尋找虹膜邊界。文獻[4]提出一種關鍵點輪廓界定方法,在二值化的虹膜圖像上找到瞳孔邊緣互相間隔120的三個點來確定一個三角形以便尋找虹膜的內邊界,接著以內圓的參數圓心和半徑作為Daugman算法的起始點來獲得虹膜的外邊界。文獻[5-6]用HOG構建正負樣本的特征向量,通過SVM分類器訓練樣本對虹膜和非虹膜區域進行分類,然而HOG特征會丟棄掉大部分的判別信息[7]。

由于眼瞼的影響,虹膜的有效區域不再是瞳孔和虹膜邊緣之間的區域,而是上下眼瞼和虹膜內邊緣與瞳孔外邊緣所圍成的閉環區域。顯然,受外界因素的影響,虹膜區域的分割將變得更加困難以及虹膜邊緣規則圓假設不再成立[8]。文獻[9]提到通常使用低通濾波器與圖像做卷積運算來減少高頻信號的干擾,接著使用Canny邊緣算子檢測眼瞼的邊緣。EP數據集[8]中有大量人工標記作為虹膜分割評估的圖像,在上眼瞼和下眼瞼區域,EP提供了至少3個關鍵點用最小二乘法擬合二次曲線作為眼瞼與虹膜的邊界。文獻[10]提出AIPF檢測瞳孔的外邊緣的關鍵點,AIPF可以沿角度方向執行積分投影運算來檢測圖像內所有方向的邊緣點,接著用三次貝塞爾曲線擬合關鍵點。

大量的算法表明,傳統定位算法大多基于虹膜圖像的某一或者某些不變特征計算得到虹膜區域的內外邊界,大都是用規則圓形作為幾何模板來限定虹膜區域,如圖1所示。這類算法不能適用梯度值在變化過程中出現局部最值的情況,以及在處理眼睛區域以外的臉部信息時表現的并不是很穩健。此外,這些算法幾乎都是在單一圖像數據源上設計,使得算法泛化能力降低。

圖1 用圓形限定虹膜區域

近幾年,深度學習(Deep Learning)和卷積神經網絡(Convolutional Neural Network,CNN)在計算機視覺任務中取得了不亞于人類的成就,像分類任務[11-13]和定位任務[14-16]。分類任務可以說是定位任務的子任務,定位任務比分類任務要難得多,目標定位不光準確地定位到目標的位置還要清楚地告訴人們定位的是什么。深度學習不再去構建單個物體的特征,相反它提取復雜的圖像特征,組合圖像空間上不同區域的特征信息,依靠這種具有細粒度的空間關系對目標定位[7]。卷積神經網絡在定位任務上能同時兼顧速度和精度,依賴大量豐富的樣本卷積神經網絡能完美地解決在不同條件的下拍攝得到的虹膜數據集的定位問題。

針對傳統算法的缺陷和CNN在計算機視覺任務中的出色表現,本文提出改進級聯神經網絡的多任務虹膜快速定位方法CINET(Cascade Iris Network)。與大多文獻中所不同的是,文中通過定義邊界框對虹膜區域進行定位[5],以及對虹膜內外邊緣進行關鍵點檢測,包括虹膜左右邊緣點、瞳孔左右邊緣點和瞳孔圓心。通過對大量虹膜數據集的學習,CINET能做到對多尺度的虹膜圖像快速定位和關鍵點檢測,不僅解決了傳統算法在多個不同數據集上表現不穩健的缺陷,而且大大節約了計算成本,能夠做到快速、準確地完成虹膜定位和關鍵點檢測。

2 基于級聯神經網絡的多任務虹膜快速定位

2.1 相關工作

人類的視覺系統能夠精準地定位到物體的位置,然后確定物體的類別,然而在計算機視覺任務中,在一個場景中找到目標的計算量是很大的,怎樣做到不犧牲精度的前提下減少計算量提高檢測的速度是計算機視覺任務要解決的重要問題。

Region Proposal的提出讓目標檢測有了新的突破,Selective Search[17]和Sliding Window都是常用的方法。本文參考RPN[18]設計出用來檢測候選區域的全卷積網絡,在網絡頂層的卷積特征圖上采用Sliding Window策略,每個滑動窗口被映射到低維特征同時對物體種類評分和邊界框回歸。與RPN不同的是,本文在考慮多尺度的問題上采取了金字塔策略對圖像進行多尺度變換,而沒有采用“anchor”[18],主要是因為虹膜的寬高比上沒有很大的變化,形態較為單一。

候選區域僅僅只是粗定位,要獲得精確的定位需要對候選框進一步分類和回歸,因此本文設計了多級網絡結構。

2.2 CINET網絡設計

設計卷積神經網絡模型在多個數據集上進行訓練和評估,卷積層對輸入圖片進行特征提取,全連接層對網絡的輸出進行分類預測和邊界框回歸以及關鍵點定位。

CINET的網絡結構源自用于人臉檢測模型MTCNN[19]的啟發,采用了級聯的卷積神經網絡解決目標分類定位和關鍵點檢測的多任務。網絡結構同樣由三級組成,網絡結構如圖2所示,卷積層使用具有很小感受野的3×3卷積核,這是能夠捕捉空間特征的最小卷積核尺寸[12],卷積步長固定為1個像素,這相當于卷積層與輸入圖像的每一個像素進行卷積運算,該策略避免了卷積核和步長過大而導致的準確率不高的問題。3×3卷積核的使用也大大減少了參數數量,加快了網絡的計算速度。在一些卷積層后進行最大池化下采樣,整個卷積核池化操作不使用Padding策略,所有隱藏層采用ReLU[20]激活函數替代PReLU[21]。

網絡的第一級為淺層的全卷積網絡,目的是為了輸出檢測目標的候選區域,命名為C1-Net。淺層的設計靈感來源于ZFNET[22],ZFNET指出在較淺的網絡層目標特征能夠在很短的訓練時間內被激活,網絡達到收斂的狀態,考慮到檢測目標沒有復雜和突變的特征,C1-Net采用了淺層的全卷積網絡設計,如圖2(a)。

網絡的第二級由卷積層和全連接層構成,目的是為了進一步去除類別得分概率低和重疊較多的目標候選框,命名為C2-Net,如圖2(b)。

網絡的第三級也是由卷積層和全連接層構成,最終輸出大小為16的全連接層,包含2個類別評分,4個邊框和10個關鍵點的坐標值,目的是完成對目標的精確定位和關鍵點的檢測,命名為C3-Net,如圖2(c)。

圖2 CINET結構

CINET每一級的輸入為不同尺寸大小的灰度圖像,不同尺寸的圖像由金字塔策略對圖像進行多尺度變換獲得。由于本文采用的虹膜圖像都為紅外灰度圖像,為單通道像素數據,C1-Net的輸入為12×12×1圖像,經過卷積層的特征提取和池化層的抽樣,最后通過兩個大小不同的卷積計算輸出檢測目標的類別和位置信息,大小為1×1×2的卷積來預測檢測目標的類別概率,大小為1×1×4的卷積來預測檢測目標邊界框的坐標回歸值,最終通過邊界框回歸校準得到檢測目標的候選框的位置坐標,對邊界框進行非極大值抑制策略(NMS)[7]去除類別得分概率較低和重疊較多的目標候選框;C2-Net的輸入為24×24×1圖像,與C1-Net不同的是經過卷積層的特征提取和池化層的抽樣后將圖像特征平鋪為1維向量,經過全連接層輸出檢測目標的類別概率和邊界框的坐標回歸值,通過邊界框回歸校準和非極大值抑制進一步得到更為精確的目標候選框;C3-Net與C2-Net原理類似,其輸入圖像的大小為48×48×1,最終網絡輸出目標除了類別概率、邊界框的回歸值外,還將輸出5個關鍵點位置坐標。

3 實驗評估

本章將詳細描述CINET的在多個數據庫上的訓練和評估結果,不同數據庫上虹膜圖像如圖3所示。

圖3 不同數據庫中的虹膜圖像

3.1 數據庫

泛化能力強的網絡模型在訓練階段對數據集的樣本數量要求非常大,訓練階段需要準備充足的數據集來避免過擬合現象,增強網絡對多種數據集的適應能力。

CASIA-IrisV1虹膜數據庫總共由108類共756幅圖像構成;CASIA-IrisV2虹膜數據庫由Device1和Device2兩個子集組成,每個數據集各包含60類1 200幅虹膜圖像;CASIA-IrisV3數據庫包括了700多人1 500多類共22 035幅虹膜圖像,其包括3個子集,分別為Interval、Lamp和Twins;CASIA-IrisV4數據庫在CASIA-IrisV3版本上新增3個特色數據集,文章選取其中兩個作為訓練數據,Thousand和Distance,包含了千人級和遠距離虹膜人臉圖像庫;CASIA-Iris-Fake數據庫包含多種類型的假體虹膜圖像;ND_Contact_Data數據庫由活體和非活體虹膜圖像構成,包括活體虹膜,有紋理和沒有紋理的虹膜圖像。

3.2 訓練

在訓練階段從多個虹膜數據庫中挑選了一些質量較差的圖像進行訓練,如圖4所示。

圖4 訓練圖像樣本

上述圖像中,有由光線造成的虹膜區域存在光斑和整體模糊的圖像,有大量眉毛睫毛干擾的圖像,有佩戴美瞳、眼鏡導致虹膜紋理發生變化的圖像,有在角度上產生虹膜扭曲的圖像。

在訓練過程中,需要完成虹膜與非虹膜的分類,目標邊界框的回歸以及關鍵點的定位,總體的損失函數由類別損失、邊界框回歸損失和關鍵點位置損失的加權和構成:

由于級聯的網絡目的不同,所以各個損失在不同網絡中的權重有所不同,在C1-Net和C2-Net中λcls=1,λbox=0.5,λcoord=0;在C3-Net中λcls=1,λbox=0.5,λcoord=0.5。

類別損失函數通過交叉熵損失定義為:

其中,pi為網絡預測目標類別的概率,為真實虹膜樣本的標簽。

預測邊界框與真實虹膜區域的偏移量大小,包括邊界框的左上角坐標值和寬高值,將定位視為回歸問題,邊界框回歸損失函數通過歐幾里德損失定義為:

關鍵點預測包括虹膜左右邊緣點、瞳孔左右邊緣點和瞳孔圓心,關鍵點預測也視為回歸問題,關鍵點位置損失函數定義為:

訓練遵循以下的參數設置,基于反向傳播算法[23],使用具有動量的小批量梯度下降優化函數來執行訓練,批量大小設置為64,動量為0.9,權重衰減懲罰參數設置為4×10-3。初始學習率設置為1×10-3,當訓練集的代價函數停止改善時學習率減少10倍。三個網絡分別在迭代30 000、30 000和50 000次停止。

在多個虹膜數據庫上用矩形框將虹膜區域標定出來,并在虹膜區域標注虹膜左右邊緣點、瞳孔左右邊緣點和瞳孔圓心作為5個關鍵點,然后通過設定截取圖像與標定區域的交并比大小來選取訓練樣本,樣本包括正樣本、負樣本和中間樣本,具體做法如下:

(1)正樣本:與真實虹膜區域的交并比大于等于0.65,帶有關鍵點標簽。

(2)中間樣本:與真實虹膜區域的交并比介于0.4和0.65之間,帶有關鍵點標簽。

(3)負樣本:與真實虹膜區域的交并比小于等于0.3。

在選取樣本過程中舍棄了交并比介于0.3和0.4之間的圖像是由于以下兩個因素:交并比大于等于0.65定義為正樣本,交并比小于等于0.3的定義為負樣本,通過0.65和0.3兩個閾值定義正負樣本能夠做到很好的分類效果;中間樣本的定義是為了和正樣本一起用來對檢測目標的邊界框回歸和關鍵點定位,之所以選取0.4~0.65的交并比大小,是因為在邊界框回歸的過程中需要保證預測框和真實框之間不能出現太大的偏差才能做到準確的回歸預測,并且能與負樣本有較大區別,對于網絡訓練時容易區分。

人臉檢測主要考慮的是整個人臉的輪廓形狀和大小,在現實場景中人臉的特征和周圍的背景信息能較好地區分開來,而本文需要考慮人臉上除虹膜以外的信息特征,有些眼鏡支架在灰度分布和形狀上與眼睛形狀是相似的??紤]到這些因素本文擴增了數據集,在遠距離虹膜人臉數據庫CASIA-IrisV4-Distance中截取了此類圖像作為負樣本,如圖5所示。為了讓訓練數據更加豐富多樣,在不同虹膜數據庫上截取了訓練樣本,如表1所示。

圖5 佩戴眼鏡的人臉虹膜圖像

表1 網絡訓練集樣本信息

3.3 測試

采用3個訓練好的網絡進行測試。首先,在C1-Net輸出的卷積特征圖的每一個空間位置上生成邊界框的置信度和坐標信息。然后調整候選區域尺寸輸入到C2-Net進行進一步的分類和邊框回歸。最終由C3-Net輸出邊界框的置信度和坐標信息以及5個關鍵點的坐標信息。對每一級網絡的輸出都采取了NMS策略濾除重復的邊界框,節約了計算時間。

最后,本文從多個圖像庫中隨機選取了2 000幅圖像作為測試集,并且設計了單尺度和多尺度的評估方式。此外,根據測試輸出的5個關鍵點和真實標記數據計算它們的半徑差值以及瞳孔中心點的歐式距離作為關鍵點的評估,如圖6所示。

圖6 關鍵點測試評估

為了分析測試結果,虹膜定位準確率評估方式由公式(5)計算得到:

其中,TP為真正例,如圖7(a)所示,TN為真負例,FP為假正例,如圖7(b)所示,FN為假負例。由于測試集只含虹膜圖像,因此在測試結果中TN=0,FN=0。

圖7 虹膜定位樣例

Pi,i∈{1 ,2,3,4,5},為預測的五個關鍵點,( C1,r)為真實標記的瞳孔中心和半徑,( C2,R)為真實標記的虹膜中心和半徑。

按照以下的評估標準,將差值小于10個像素單位記為準確結果。

其中,D_iris為測試與真實標記虹膜半徑差值,D_pupil為測試與真實標記瞳孔半徑差值,D_center為測試與真實標記瞳孔的歐式距離。

所有的測試評估均在Windows 10環境下搭載AMD Ryzen 5 1600處理器的計算機上完成。

3.3.1 單尺度評估

在單尺度上評估網絡模型的性能,這主要考慮到虹膜的尺寸大小正常情況下在200×200像素附近,在虹膜識別的場景中這個值一般不會發生大的變化。在3.1節提到的數據庫上,計算了完成標記的虹膜數量和虹膜直徑均值和標準差,如表2所示。

表2 不同數據庫虹膜數量和尺寸信息

最后,縮放尺度設置為0.062 5,對不同數據庫的虹膜圖像進行測試評估,平均準確率(mean Accuracy,mA)為98.7%。最好的結果可以達到100%的準確率,然而最低結果只有94.5%,如表3所示。

表3 單尺度上測試評估結果

3.3.2 多尺度評估

接下來評估多尺度對準確率和測試時間的影響,首先本文統計了不同數據庫虹膜圖像尺寸分布情況,可以發現不同數據庫的虹膜圖像的大小分布存在些許差異,如圖8所示。測試包括在單張圖像的幾個縮放尺度上運行模型,最后通過不同尺度在該圖像上進行預測,結果如表4所示。

表4 多尺度上測試評估結果

圖8 不同數據庫虹膜尺寸數量分布

多尺度與單尺度測試在準確率和時間上的對比結果如表5所示。結果表明在多尺度上的測試結果明顯優于單尺度,mA=99.9%。最顯著的是在Interval上準確率提升了5.3%,在測試時間上也有略微的減少,除了在Distance分辨率較大的圖像上測試時間增加了3.3 ms??傮w來說,多尺度評估在達到高的準確率的同時還能兼顧實時性。

表5 多尺度與單尺度的評估結果對比

根據公式(6),多尺度的關鍵點測試結果如圖9和表6所示,可以發現CINET可以對多類虹膜圖像進行精準的定位和關鍵點的檢測,不僅包括受到睫毛和光斑干擾的圖像,由于角度造成形變和受到眼鏡片干擾的圖像,佩戴美瞳和隱形眼鏡虹膜紋理發生變化的圖像,而且還包括遠距離虹膜人臉圖像。

圖9 不同數據庫虹膜和關鍵點定位

表6 關鍵點測試結果

最后,本文還對比了其他幾種虹膜定位算法,其準確率和時間測試對比結果如表7所示,可以發現CINET的評估結果要優于這些算法。

4 結束語

本文提出CINET,一種多任務虹膜快速定位模型,通過在多個類別虹膜數據庫上訓練本文的模型,可以完成對虹膜區域的定位和關鍵點的檢測。本文的方法是基于深度學習的目標檢測模型,適應于不受限場景下拍攝的虹膜圖像定位檢測,能夠實現快速準確的檢測效果,最終CINET在多個類別虹膜數據庫上定位和關鍵點檢測的最好結果分別可以達到100%和99.7%的準確率。在未來的工作中打算研究一個更小的網絡來完成多任務檢測,以及探究增加關鍵點的個數與網絡性能之間的聯系,同時將在網絡中增加虹膜活體檢測的任務,能夠在一個網絡中實現更多任務的目標。

猜你喜歡
虹膜關鍵點尺度
雙眼虹膜劈裂癥一例
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
基于輪廓匹配和多項式擬合的虹膜分割算法
財產的五大尺度和五重應對
一種基于虹膜識別技術的車輛啟動系統
“刷眼”如何開啟孩子回家之門
宇宙的尺度
機械能守恒定律應用的關鍵點
醫聯體要把握三個關鍵點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合