周奧, 楊崗*, 閆磊, 張東興
(1.西南交通大學(xué)機(jī)械工程學(xué)院, 成都 610031; 2.中車青島四方機(jī)車車輛股份有限公司技術(shù)中心, 青島 266111)
隨著生物識別技術(shù)發(fā)展日益成熟,該技術(shù)在門禁、考勤和支付系統(tǒng)等方面得到了廣泛的應(yīng)用。目前常見的生物識別技術(shù)有指紋識別、人臉識別以及虹膜識別等。雖然每種生物特征識別都會存在一定優(yōu)勢和劣勢,但是虹膜信息具有唯一性、防偽性、穩(wěn)定性強(qiáng)以及非接觸式采集識別等特點(diǎn),相比其他生物識別具有明顯的優(yōu)勢[1-2]。虹膜識別系統(tǒng)最核心的兩個部分就是虹膜定位和識別。虹膜定位的好壞會影響到后續(xù)特征提取的質(zhì)量和識別的準(zhǔn)確率,因此能夠快速精確從人眼圖像中定位出虹膜內(nèi)、外圓圈至關(guān)重要。
林珊珊等[3]利用了虹膜的形狀類似于圓環(huán)狀的特性,采用圓形檢測匹配器法來實現(xiàn)對虹膜圖像的分割,該算法抗噪性差,容易產(chǎn)生局部極值。鄒德旋等[4]提出了一種將邊緣檢測與Hough變換相結(jié)合的虹膜定位算法,將灰度圖進(jìn)行二值邊緣化處理,然后通過Hough變換進(jìn)行邊緣點(diǎn)參數(shù)投票得到內(nèi)外圓邊界參數(shù),最終分割出虹膜區(qū)域,該算法對于一些遮擋、不完整或者光線差的圖像,定位效果差。王蘊(yùn)紅等[5]通過最小二乘擬合法定位虹膜內(nèi)外邊界。Severo 等[6]將虹膜定位問題轉(zhuǎn)化為找到包含虹膜區(qū)域的最小矩形框的回歸問題,提出了方向梯度直方圖(histogram of oriented gradient,HOG)和支持向量機(jī)(support vector machine,SVM)組合成的檢測器方法,該算法計算量大、復(fù)雜度高。近些年,卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測領(lǐng)域取得了不錯的成就,不少研究者將其應(yīng)用至虹膜定位任務(wù)中。丁哲舟等[7]提出了一種改進(jìn)的YOLOv3虹膜定位算法。滕童等[8]為快速淘汰干擾信息以準(zhǔn)確定位虹膜區(qū)域,提出了基于卷積神經(jīng)網(wǎng)絡(luò)的區(qū)域和關(guān)鍵點(diǎn)回歸多任務(wù)虹膜快速定位方法。楊亞男等[9]提出了一種改進(jìn)的YOLOv4虹膜定位檢測算法。
針對實時采集的圖像環(huán)境差、傳統(tǒng)的虹膜定位算法存在的抗噪性差、效率低等問題,現(xiàn)將輕量級網(wǎng)絡(luò)MobileNetv3與目前流行的YOLOv3目標(biāo)檢測網(wǎng)絡(luò)結(jié)合[10],提出一種改進(jìn)的YOLOv3模型的虹膜快速定位方法。以期不僅滿足結(jié)構(gòu)輕量化,而且能夠?qū)缒みM(jìn)行快速精準(zhǔn)定位,適用于虹膜實時定位的場景。
YOLOv3[11]是由Joseph Redmon在2018年提出的一種實時性和準(zhǔn)確性都比較好的檢測算法。YOLOv3的主干網(wǎng)絡(luò)采用的是Darknet53網(wǎng)絡(luò),該網(wǎng)絡(luò)借鑒了殘差網(wǎng)絡(luò)的思想,由多個1×1和3×3的卷積以及殘差邊構(gòu)成,每個卷積部分采用了特定的DarknetConv2D結(jié)構(gòu),該結(jié)構(gòu)由卷積操作(Conv)、批量歸一化(BN)和LeakyReLU激活函數(shù)3個部分組成,如圖1所示。
圖1 結(jié)構(gòu)塊Fig.1 Structure block
為了讓網(wǎng)絡(luò)能夠高效檢測大小目標(biāo),YOLOv3采用了特征金字塔(feature pyramid networks,F(xiàn)PN)[12]將主干網(wǎng)絡(luò)后面3個殘差結(jié)構(gòu)輸出的不同尺度特征進(jìn)行加強(qiáng)融合,通過結(jié)合高層豐富的語義特征與低層高分辨率位置信息特征來融合提取更好的特征。最后將3個不同尺度的加強(qiáng)特征傳入YOLO Head獲得預(yù)測結(jié)果。YOLO Head采用了一個3×3卷積核來進(jìn)行特征整合和一個1×1卷積核調(diào)整輸出結(jié)果的通道數(shù)。YOLO網(wǎng)絡(luò)輸出結(jié)構(gòu)如圖2所示。
圖2 YOLO輸出結(jié)構(gòu)Fig.2 YOLO output structure
YOLOv3模型輸出結(jié)果有3個分支,分別用h1×w1、h2×w2和h3×w3來檢測大、中、小3個不同尺度的目標(biāo)。其中3個分支的輸出將輸入圖片分成h×w個網(wǎng)格,YOLOv3模型預(yù)先為每個網(wǎng)格單元設(shè)定好3個先驗框,每個網(wǎng)格單元負(fù)責(zé)檢測其內(nèi)部邊框,網(wǎng)格單元具體信息包括4個邊框調(diào)整參數(shù)(tx,ty,tw,th)、1個目標(biāo)置信度參數(shù)和N個類別信息。模型最終目標(biāo)檢測的預(yù)測框位置信息需要經(jīng)過式(1)轉(zhuǎn)換得到[13]。
(1)
式(1)中:(cx,cy)為先驗框的中心坐標(biāo),即網(wǎng)格單元左上角坐標(biāo);tx、ty為實際邊框相對于先驗框中心坐標(biāo)的偏移量;tw、th為實際邊框相對于先驗框?qū)捀呖s放比例;pw、ph分別為先驗框?qū)捄透撸?bx,by)為預(yù)測框中心坐標(biāo);bw、bh分別為預(yù)測框?qū)捄透?;σ為Sigmoid激活函數(shù)。
MobileNetv3[14]是谷歌團(tuán)隊提出的高性能輕量化網(wǎng)絡(luò),其核心采用深度可分離卷積來降低模型計算復(fù)雜度,同時能夠保證較高的精度。MobileNetv3主要有4個特征。
(1)引入了深度可分離卷積代替了傳統(tǒng)的卷積結(jié)構(gòu),降低模型的計算量。
(2)提出了倒殘差線性瓶頸結(jié)構(gòu)(the inverted residual with linear bottleneck)來增強(qiáng)網(wǎng)絡(luò)的特征表達(dá)能力。
(3)在bottleneck結(jié)構(gòu)中進(jìn)入了SE注意力機(jī)制,讓網(wǎng)絡(luò)自動學(xué)習(xí)獲取每個特征通道的重要程度,提升有用的特征并抑制不重要的特征,使網(wǎng)絡(luò)自動構(gòu)建特征通道之間的相互依賴關(guān)系,來提高特征表示的質(zhì)量。
(4)使用了一種新的激活函數(shù)h-swish[15]來有效改進(jìn)網(wǎng)絡(luò)精度,提高模型性能。
(2)
傳統(tǒng)的卷積運(yùn)算是將輸入特征圖像與相同通道的卷積核進(jìn)行相乘求和得到單層的特征圖像,然后把多個卷積核運(yùn)算結(jié)果疊加得到一個多層特征圖。深度可分離卷積與傳統(tǒng)卷積運(yùn)算不同,采用了深度卷積(depthwise convolution)和逐點(diǎn)卷積(pointwise convolution)這個過程來實現(xiàn)相同功能[16]。深度卷積利用每個卷積核依次對特征圖的一個通道進(jìn)行平面卷積,輸出的特征圖像通道數(shù)量與輸入特征圖相同。深度卷積的表達(dá)式為
(3)
式(3)中:DW為輸出特征結(jié)果;K為卷積核;W、H分別為卷積核寬、高度;n為第n個特征通道;w、h為第n個卷積核上權(quán)重值的坐標(biāo);i、j為在特征圖第n通道上特征值的坐標(biāo);y為輸入特征。
因為深度卷積只是對各個通道進(jìn)行操作,并沒有考慮到通道間的相關(guān)性,所以通過逐點(diǎn)卷積來完成通道信息的融合。逐點(diǎn)卷積采用的是1×1大小的卷積核來進(jìn)行立體卷積操作,操作過程和普通卷積沒什么區(qū)別。深度可分離卷積的工作過程如圖3所示。
M為輸入特征通道數(shù)量;N為卷積核數(shù)量;K為卷積核大小圖3 深度可分離卷積Fig.3 Depthwise separable convolution
YOLOv3模型中的固定先驗框尺寸是在COCO數(shù)據(jù)集上聚類得到的,如果直接使用到本研究的虹膜數(shù)據(jù)集上并不匹配,導(dǎo)致模型的檢測精度較差。為了提高模型訓(xùn)練速度和檢測精度,針對已標(biāo)注的虹膜數(shù)據(jù)集采用K-means++算法聚類獲得能夠表征虹膜數(shù)據(jù)集總體特征的先驗框尺寸。聚類算法中采用了邊框交并比來代替歐式距離,聚類的目標(biāo)函數(shù)為
(4)
式(4)中:k為簇的個數(shù);n為樣本總數(shù);nk為第k個聚類的樣本數(shù);B、C分別為真實框和聚類中心框;IIoU為真實框與聚類框的交并比。
通過在CASIA-IrisV4虹膜數(shù)據(jù)集上試驗可以得出,當(dāng)聚類中心k為6時,平均邊框交并比為0.93,效果達(dá)到的最優(yōu)。最終在虹膜數(shù)據(jù)集上聚類的6個先驗框尺寸分別為219×201、210×169、200×150、107×109、82×84、61×62。聚類出的尺寸都接近于一個方形框,且包含兩個尺度尺寸,非常符合虹膜數(shù)據(jù)集中內(nèi)、外圓特性。數(shù)據(jù)集中存在一些虹膜外圓被眼簾遮擋的情況,因此聚類結(jié)果中大尺度先驗框?qū)挶雀呗源蠓险鎸嵡闆r。
考慮到網(wǎng)絡(luò)模型層數(shù)太淺會導(dǎo)致因?qū)W習(xí)能力不夠提取不到有效特征,而網(wǎng)絡(luò)模型層數(shù)太深會增加計算量并容易造成過擬合問題。利用深度可分離卷積的高性能、輕量級特點(diǎn),將模型主干特征網(wǎng)絡(luò)利用Mobilev3 bneck疊加構(gòu)成,然后在主干網(wǎng)絡(luò)后面連接YOLOv3的YOLO層。其中每個bneck網(wǎng)絡(luò)模塊引入了深度可分離卷積、逆殘差結(jié)構(gòu)和基于Squeeze and Excitation結(jié)構(gòu)的SENet輕量級注意力機(jī)制模型,如圖4所示。
c為特征通道數(shù);scale表示兩個特征圖相乘圖4 MobileNetV3的bneck結(jié)構(gòu)Fig.4 The bneck structure of MobileNetV3
由于虹膜采集設(shè)備嚴(yán)格要求采集者的采集距離,采集的眼周虹膜圖像中虹膜內(nèi)外圓都處于一個清晰可見并基本處于固定的位置,所以圖像數(shù)據(jù)集中虹膜區(qū)域占比變化不會太大。相比從不同距離、角度等條件下采集的普通數(shù)據(jù)集中檢測目標(biāo),采用多尺度檢測算法到虹膜圖像數(shù)據(jù)集定位虹膜區(qū)域不僅增加了模型訓(xùn)練時間、復(fù)雜度而且浪費(fèi)了模型網(wǎng)絡(luò)的計算資源。針對虹膜圖像組成單一且圖像中虹膜內(nèi)、外圓尺寸變化不大,本文虹膜定位采用雙尺度檢測來改進(jìn)YOLOv3模型中多尺度檢測,從而減少模型參數(shù)和計算時間,提高模型檢測速度和效果。針對虹膜圖像自身特點(diǎn)設(shè)計了一種網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 改進(jìn)的模型結(jié)構(gòu)Fig.5 Improved model structure
改進(jìn)后主干特征提取網(wǎng)絡(luò)采用1個普通的卷積層和11個Mobliev3 bneck塊構(gòu)成,具體結(jié)構(gòu)如表1所示。其中選取第8個bneck和最后一個bneck層輸出的兩個不同尺度特征圖輸入YOLOv3的YOLO層進(jìn)行多尺度融合來完成檢測定位。YOLO層采用上采樣和拼接的方式融合高層豐富的語義特征與低層高分辨率位置信息特征獲得表達(dá)能力更強(qiáng)的特征來完成檢測。改進(jìn)的模型中輸入一張416×416的圖片,經(jīng)過一些列bneck塊處理后,主干網(wǎng)絡(luò)輸出26×26×48和13×13×96兩個尺度特征圖。小尺度特征輸入的YOLO層進(jìn)行五次卷積操作,處理后的結(jié)果一部分再利用兩次卷積操作得到預(yù)測結(jié)果,另一部分進(jìn)行上采樣處理得到28×28×24與26×26×48特征層進(jìn)行級聯(lián)操作得到融合特征26×26×72,然后再進(jìn)行7次卷積操作得到預(yù)測結(jié)果。整個網(wǎng)絡(luò)有兩個分支,輸出大小分別為13×13×21和26×26×21。每個分支輸出的通道數(shù)都是3×(5+2)=21,其中每個單元格上有3個先驗框,每個先驗框包括4個邊框調(diào)整參數(shù)、1個邊框內(nèi)定位虹膜的置信度參數(shù)和2個表征定位虹膜內(nèi)、外圓類別參數(shù)。
表1 改進(jìn)后的特征提取網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Improved feature extraction network structure
整個網(wǎng)絡(luò)損失函數(shù)由位置預(yù)測損失、置信度損失和類別損失3個部分構(gòu)成。由于本模型設(shè)計用于虹膜檢測定位,所以就損失函數(shù)而言主要考慮了位置預(yù)測損失和置信度損失。在計算邊界框位置損失時,YOlOv3采用的是坐標(biāo)均方差(mean squared error,MSE)損失來進(jìn)行度量的,但是Ln范數(shù)會對物體尺度變化比較敏感,不具備尺度不變性特點(diǎn)。IoU是衡量預(yù)測框和真實框距離的重要指標(biāo),它具有尺度不變性、非負(fù)性、三角不等性等特征,但是它并不能表征兩個框沒有重疊時的遠(yuǎn)近程度,存在真實框與預(yù)測框不相交時訓(xùn)練梯度為0的情況,導(dǎo)致網(wǎng)絡(luò)無法收斂。所以引入了一種廣義交并比(generalized intersection over union,GIoU)來設(shè)計邊界框位置回歸損失函數(shù)。其計算公式如下。
(5)
(6)
式中:A為預(yù)測框的面積;B為真實框的面積;C為兩框最小閉合區(qū)域面積。
GIoU能夠作為距離度量指標(biāo),對尺度變化具有魯棒性,并且能夠保證兩框不重疊時可以得到一個非0的值,解決了梯度為0的問題。將YOlOv3坐標(biāo)損失函數(shù)替換成使用GIoU作為度量的邊框損失函數(shù),計算公式為
β((x2-x1)2+(y2-y1)2)]
(7)
在設(shè)計置信度損失上不僅要考慮存在目標(biāo)物體的單元格的置信度損失而且還要考慮不存在目標(biāo)物體的置信度損失。圖像中不包含待測物體的單元格占大多數(shù),特別是對于虹膜圖像中類別單一的情況。這會導(dǎo)致沒有物體計算的部分的損失占比更大,相應(yīng)的負(fù)責(zé)檢測目標(biāo)物體的單元格損失貢獻(xiàn)減小,導(dǎo)致整個網(wǎng)絡(luò)更加傾向于預(yù)測單元格不含有物體。因此需要設(shè)置權(quán)值來減少無檢測目標(biāo)置信損失貢獻(xiàn)值。置信度損失函數(shù)采用了交叉熵來進(jìn)行設(shè)計的,計算公式為
(8)
(9)
模型訓(xùn)練和驗證中所使用的數(shù)據(jù)集是中科院自動化所采集的CASIA-Iris V4虹膜圖庫。CASIA-IrisV4包含來自1 800多個真實受試者和1 000個虛擬受試者的總共54 601張虹膜圖像。選擇CASIA-Iris-Interval和CASIA-Iris-Thousand兩個虹膜圖像紋理特征清晰的子集作為數(shù)據(jù)集,并按照7∶3的比例來劃分訓(xùn)練集和測試集,細(xì)節(jié)描述如表2所示。
表2 數(shù)據(jù)集構(gòu)成Table 2 Data sets
傳統(tǒng)虹膜定位過程中會分為外圓和內(nèi)圓定位兩個步驟,而采用的神經(jīng)網(wǎng)絡(luò)檢測算法利用端對端的學(xué)習(xí)方式,實現(xiàn)了虹膜內(nèi)外圓同時定位。算法模型通過虹膜原圖和對應(yīng)內(nèi)外圓邊框位置信息來進(jìn)行訓(xùn)練。公開的虹膜數(shù)據(jù)集都是采集的眼周圖像,并沒有對虹膜區(qū)域有精確的標(biāo)注描述,使用了labelImg標(biāo)注工具對虹膜數(shù)據(jù)集進(jìn)行了標(biāo)注,如圖6所示。虹膜位置信息通過內(nèi)、外圓外接矩形的左上、右下兩個點(diǎn)坐標(biāo)位置來描述。
圖6 labelImg虹膜信息標(biāo)注Fig.6 Information label of labelImg iris
模型訓(xùn)練策略如表3所示。訓(xùn)練過程采用的是小批量梯度下降的方法來優(yōu)化網(wǎng)絡(luò)更新權(quán)重,樣本批大小設(shè)置為8。模型初始學(xué)習(xí)率設(shè)置為0.001,采用指數(shù)型衰退型學(xué)習(xí)率,每訓(xùn)練完一個周期更新學(xué)習(xí)率為原來的0.92,整個模型共訓(xùn)練100個迭代周期。
表3 模型訓(xùn)練參數(shù)Table 3 Model training parameters
為了更好地衡量本文算法模性能,采用目標(biāo)檢測算法的評價指標(biāo)[17-18]有檢測定位的精確率(precision,P)、召回率(recall,R)、平均精度均值(mAP)、檢測速度(frames per second,F(xiàn)PS)、以及準(zhǔn)確率和召回率綜合評價指標(biāo)(F1)。為了進(jìn)一步體現(xiàn)預(yù)測框與真實框的接近程度,采用IoU指標(biāo)來衡量模型檢測效果。
(10)
網(wǎng)絡(luò)模型在CASIA-Iris-Interval和CASIA-Iris-Thousand數(shù)據(jù)集訓(xùn)練后,在不同數(shù)據(jù)集的測試集部分的定位效果如表4所示。CASIA-Iris-Interval中模型對虹膜內(nèi)、外圓定位準(zhǔn)確率高達(dá)94.98%和97.66%,召回率分別為97.79%和99.79%。CASIA-Iris-Thousand中模型對虹膜內(nèi)、外圓定位準(zhǔn)確率高達(dá)93.04%和92.39%,召回率分別為99.43%和98.30%。從表4中數(shù)據(jù)明顯可以看出數(shù)據(jù)集大小能夠提升模型性能,使用的Interva相比Thousand數(shù)據(jù)集更大些,模型在Interval測試集上整體平均定位準(zhǔn)確率(Pavg)比Thousand測試集上高出3.6%,平均精度均值(mAP)也相應(yīng)提高了1.13%。
表4 不同數(shù)據(jù)集的定位效果Table 4 Positioning effect of different data sets
為了更好地對模型進(jìn)行評估,對實驗結(jié)果進(jìn)行可視化,如圖7所示。在目標(biāo)檢測算法中可以根據(jù)準(zhǔn)確率和召回率來繪制P-R曲線來評判模型檢測性能。其中圖7(a)、圖7(b)繪制模型在Interval測試集上的虹膜內(nèi)、外圓P-R曲線,圖7(c)、圖7(d)繪制模型在Thousand測試集上的虹膜內(nèi)、外圓P-R曲線。明顯可以看出圖7(a)相對圖7(c)、圖7(b)相對圖7(d)中P-R曲線更靠近右上方,也即是AP結(jié)果更高,說明增加數(shù)據(jù)量后模型對虹膜內(nèi)外圓定位效果有所提升,定位虹膜內(nèi)圓平均精度(AP)提升了0.51%,定位虹膜外圓AP提升了1.73%。
圖7 P-R 曲線Fig.7 P-R curve
隨機(jī)選取了測試集中的3組特殊虹膜圖像來觀察網(wǎng)絡(luò)模型的檢測定位性能,檢測結(jié)果見圖8。第1組是眼睛處于正常睜開狀態(tài),第2組是帶有眼鏡的狀態(tài),第3組是眼睛處于半睜開狀態(tài),眼簾遮擋住了虹膜上、下部分??梢园l(fā)現(xiàn),該模型定位和分類能力很強(qiáng)并且具有一定的魯棒性,能夠克服眼鏡反射、眨眼等情況帶來的干擾,將虹膜內(nèi)、外圓準(zhǔn)確地定位出來。
針對虹膜內(nèi)外圓特有的幾何特征,將模型輸出的預(yù)測矩形框進(jìn)行了改進(jìn),將矩形框中心作為圓心,由于虹膜左右兩側(cè)不會被遮擋,所以將邊框左右兩側(cè)距離作為圓直徑輸出圓形預(yù)測框。從輸出結(jié)果可以看到,對于半睜開狀態(tài)虹膜受到遮擋,導(dǎo)致外圓并沒完整暴露,模型采用圓形預(yù)測框會造成外圓定位出現(xiàn)偏差。但是對于正常睜眼狀態(tài),圓形預(yù)測框能夠?qū)崿F(xiàn)更精確的定位效果。
為了進(jìn)一步評價改進(jìn)算法模型的檢測定位效果,將本文模型與YOLOv3模型在Interval數(shù)據(jù)集上進(jìn)行了驗證比較,如表5所示。
表5 檢測結(jié)果比對Table 5 Comparison of test results
本文模型采用了深度可分離卷積結(jié)構(gòu)來輕量化網(wǎng)絡(luò)、減少模型參數(shù)量并加快模型計算速度。從表5中可以看到Y(jié)OLOv3模型參數(shù)大小為235.07×106,檢測速率為35.7幀/s,本文模型參數(shù)減小到4.13×106,檢測速率可達(dá)49.4幀/s。相比之下,本模型更加符合實時應(yīng)用需求,單幀檢測速率較少了0.008 s。本模型相比YOLOv3模型定位準(zhǔn)確率提高了1.7%,mAP提高了1.15%。本文模型定位結(jié)果的平均IoU為0.83,比YOLOv3模型高出0.02,說明本文模型對虹膜定位效果更精確。通過比對模型參數(shù)量、檢測定位準(zhǔn)確率和檢測速率,可以看出改進(jìn)后的模型既滿足了模型輕量化設(shè)計,又達(dá)到了快速精準(zhǔn)定位的效果。
基于MobileNet輕量化網(wǎng)絡(luò)模型,在特征提取網(wǎng)絡(luò)中引入Mobilev3 bneck塊,提出了一種改進(jìn)YOLOv3算法的虹膜快速定位方法。根據(jù)虹膜數(shù)據(jù)集特點(diǎn),對先驗框進(jìn)行了重新聚類和優(yōu)化,并使用GIoU和兩框中心距離來改進(jìn)的邊框位置損失函數(shù),使模型快速收斂。實驗結(jié)果表明,改進(jìn)后的模型參數(shù)大小為4.13×106,定位準(zhǔn)確率為96.32%,單幀檢測速率為0.02 s,相比YOLOv3模型參數(shù)大量減少,定位準(zhǔn)確率提高了1.7%,單幀檢測速率較少了0.008 s。本文模型既滿足輕量級要求,同時能保證對虹膜快速精準(zhǔn)定位,夠達(dá)到實時定位的效果。為后續(xù)虹膜定位、識別及虹膜輔助診斷應(yīng)用等相關(guān)研究奠定基礎(chǔ),具有相應(yīng)的推廣價值。