馬曉峰, 高瑋瑋
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院, 上海201620)
近年來,個(gè)人的信息安全問題變得越來越重要,傳統(tǒng)的識別方法已無法滿足人們的需求,隨之而來的生物識別技術(shù)引起了人們的重視。 在眾多識別技術(shù)中,虹膜因高穩(wěn)定性、唯一性、非侵犯性等[1-2]特點(diǎn)成為該領(lǐng)域內(nèi)的研究熱點(diǎn)。
在虹膜識別研究方面,Daugman 博士提出了基于Gabor 變換的識別算法[3-4],并通過Gabor 濾波器對虹膜紋理特征提取,建立了一個(gè)能夠?qū)嶋H應(yīng)用的虹膜識別系統(tǒng),使虹膜識別技術(shù)取得了里程碑式的成就。 但該技術(shù)仍存在一些不足,如:使用單一Gabor 濾波器提取的虹膜信息不完整。 為此許多研究者也做出了改進(jìn),張祥德等提出了基于多方向Gabor 濾波器和Adaboost 的虹膜識別方法,有效地減少了噪聲的影響[5];苑瑋琦等提出了將支持向量機(jī)(support vector machine,SVM)與形態(tài)學(xué)相結(jié)合的虹膜坑洞紋理檢測算法,較好地克服了光斑的影響[6];Liu 等提出了基于Gabor 濾波和神經(jīng)網(wǎng)絡(luò)的二次虹膜識別算法,有效抑制了圖像噪聲與冗余的干擾[7];Minaee 等提出利用散射變換和紋理特征進(jìn)行虹膜識別,結(jié)合了虹膜的整體和局部紋理信息,有效提高了系統(tǒng)的識別率[8];Vyas 等提出了二維Gabor濾波的虹膜識別算法[9]。 這些方法分別在虹膜特征提取或虹膜識別部分進(jìn)行了改進(jìn),并取得了良好的結(jié)果,但仍存在一些不足,如:不能針對不同的虹膜庫進(jìn)行自適應(yīng)調(diào)整。
由于傳統(tǒng)方法需要根據(jù)經(jīng)驗(yàn)手動修改參數(shù),對不同的虹膜庫需設(shè)置不同的參數(shù),即在實(shí)際應(yīng)用中需對不同的識別設(shè)備進(jìn)行一一調(diào)整濾波參數(shù),人工成本與時(shí)間成本較大。 自適應(yīng)優(yōu)化Gabor 濾波與SVM 的虹膜識別方法能夠在不同虹膜庫進(jìn)行自適應(yīng)優(yōu)化,不需要人工進(jìn)行調(diào)整,更具有實(shí)用性。
本文提出自適應(yīng)優(yōu)化Gabor 濾波與SVM 的虹膜識別方法, 通過粒子群算法(particle swarm optimization, PSO)根據(jù)不同虹膜庫選取最優(yōu)Gabor濾波參數(shù),提高系統(tǒng)的特征提取能力,利用SVM 根據(jù)最優(yōu)特征完成虹膜的分類與識別。
試驗(yàn)材料為中科院自動化研究所的CASIA1.0虹膜庫和CASIA-Iris-Lamp 虹膜庫[10]。 CASIA1.0樣本庫共包含了108 只不同的眼睛,每只眼睛有7幅虹膜圖像,共756 幅虹膜圖像,分辨率為320×280;CASIA-Iris-Lamp 虹膜庫共包含了100 只不同的眼睛,每只眼睛有20 幅虹膜圖像,共2000 幅虹膜圖像,分辨率為640×480。
試驗(yàn)環(huán)境如下:CPU 為Intel(R)Core(TM)i7-6700HQ,內(nèi)存8GB,操作系統(tǒng)為win10,軟件為Matlab R2014a。
虹膜圖像的識別包括預(yù)處理、特征提取與識別3 個(gè)步驟[11]。 首先,根據(jù)虹膜圖像的灰度特性進(jìn)行內(nèi)外邊緣的定位,并將環(huán)形的虹膜圖歸一化為統(tǒng)一的模板區(qū)域;其次,通過多尺度Gabor 濾波器并結(jié)合取粒子群算法提取最優(yōu)特征;最后,通過SVM 實(shí)現(xiàn)虹膜圖像的識別。 具體過程如圖1 所示。
圖1 虹膜識別流程Fig. 1 Process of iris recognition
1.2.1 虹膜預(yù)處理
虹膜的預(yù)處理過程主要包括虹膜內(nèi)邊界與外邊界的定位、虹膜區(qū)域的歸一化和虹膜增強(qiáng)三部分[12]。
對虹膜圖像進(jìn)行直方圖統(tǒng)計(jì),根據(jù)直方圖選取合適的閾值進(jìn)行二值化操作,使用canny 算子識別瞳孔邊緣,并采用最小二乘法擬合虹膜圖像的內(nèi)圓。虹膜的外圓通過微積分圓模板[13]的方法進(jìn)行定位。為便于對虹膜進(jìn)行特征提取,需將虹膜轉(zhuǎn)化為固定的矩形區(qū)域。 通過彈性模型[14],將虹膜展開成120×480 像素的矩形,然后通過直方圖均衡化的方法進(jìn)行圖像增強(qiáng),并從右上角截取紋理最強(qiáng)的區(qū)域,形成60×240 像素大小的虹膜紋理圖,過程如圖2 所示。
圖2 虹膜定位過程Fig. 2 Process of iris localization
1.2.2 虹膜特征提取與編碼
對歸一化后的虹膜圖通過Gabor 濾波器進(jìn)行特征提取,Gabor 濾波器的表達(dá)形式,公式(1):
特征提取時(shí),將60×240 像素大小的虹膜紋理圖分成r 行、c 列大小的子塊;應(yīng)用fn個(gè)濾波器對每個(gè)虹膜子塊完成濾波操作,并分別求出各濾波器處理后的響應(yīng)幅度,將響應(yīng)最大的濾波器所對應(yīng)的編號作為該子塊的特征編碼;最后將所有子塊對應(yīng)的濾波器序號作為一副虹膜圖像的特征編碼。
1.2.3 自適應(yīng)優(yōu)化Gabor 濾波器
由于不同頻率和方向的Gabor 濾波器對虹膜紋理的描述能力是有區(qū)別的,因此需要對fn個(gè)濾波器的參數(shù)進(jìn)行優(yōu)化,建立識別能力強(qiáng)的濾波器。 為解決Gabor 濾波器無法自適應(yīng)調(diào)整參數(shù)的缺陷,采用粒子群算法[15]對濾波器進(jìn)行優(yōu)化,使Gabor 濾波器能夠自動適應(yīng)各種不同的虹膜數(shù)據(jù)庫,并自動修改參數(shù),使其得到最優(yōu)效果。
對參數(shù)進(jìn)行優(yōu)化時(shí), 粒子群中的每個(gè)粒子{fs,θs,fq,θq} 代表了一組Gabor 濾波參數(shù),并將起始的個(gè)體最優(yōu)pbest 設(shè)為其自己本身,而群整體最優(yōu)gbest 則為所有pbest 中的最優(yōu)值。 參數(shù)優(yōu)化時(shí),先在該虹膜數(shù)據(jù)庫中,選取一部分虹膜圖像,通過粒子所對應(yīng)的濾波參數(shù)進(jìn)行特征提取,然后計(jì)算虹膜之間的Hamming 距離,進(jìn)而計(jì)算適應(yīng)度,適應(yīng)度的公式(2)如下:
其中, Hi為第i 次不同類別虹膜匹配時(shí)的Hamming 距離;Hj為第j 次相同類別的虹膜匹配時(shí)的Hamming 距離;m、n 分別為異類別與同類別匹配次數(shù);T 為適應(yīng)度值,T 越小說明同類別虹膜間相似度越高,而異類別虹膜間的相似度越低。
根據(jù)公式(2)求出所有粒子的T,每個(gè)粒子分別先與自己的pbest 進(jìn)行比較,若此時(shí)的T 更小,則將該粒子置為新的pbest。 待所有的pbest 更新完后,找出當(dāng)前粒子群中適應(yīng)度值最小的粒子,將其與gbest 進(jìn)行比較,若小于全局最優(yōu)的T,則將該粒子的位置設(shè)為新的gbest,否則不變。 待pbest 與gbest 更新完成后,對每個(gè)粒子的速度與位置按公式(3)和(4)進(jìn)行進(jìn)化。
公式(3)和(4)中,Xk和Xk+1分別為第k 次和第k+1 次迭代過程中粒子的值;Vk+1為第k+ 1 次迭代過程中粒子的速度;ω 為慣量權(quán)重;c1和c2是加速系數(shù);r1和r2?。?,1]之間的隨機(jī)數(shù); pbest 為個(gè)體最優(yōu); gbest 為群體最優(yōu)。 如此往復(fù)迭代,直至達(dá)到最大迭代次數(shù)或滿足終止條件,并將粒子群的整體最優(yōu)所對應(yīng)的fn個(gè)Gabor 濾波參數(shù)作為最終特征提取時(shí)的參數(shù)值。 運(yùn)用優(yōu)化后的濾波器對每個(gè)虹膜子塊完成濾波操作,進(jìn)而分別求出各濾波器處理后的響應(yīng)幅度,將響應(yīng)最大的濾波器所對應(yīng)的編號作為該子塊的特征編碼,成虹膜圖像最終的特征編碼。
1.2.4 虹膜匹配與識別
提取虹膜圖像特征之后,設(shè)計(jì)一個(gè)好的分類器就比較重要了。 SVM 以結(jié)構(gòu)風(fēng)險(xiǎn)最小化準(zhǔn)則為理論基礎(chǔ),其結(jié)構(gòu)簡單,學(xué)習(xí)性能出色,是一種具有最優(yōu)分類能力和推廣學(xué)習(xí)能力的方法,且在處理非線性、小樣本的分類問題中表現(xiàn)出良好的性能。 常用的核函數(shù)有:多項(xiàng)式核函數(shù)、徑向基核函數(shù)(radial basis function, RBF)、Sigmoid 核函數(shù)等,其中RBF由于具有結(jié)構(gòu)簡單、學(xué)習(xí)速度快、收斂速度快等優(yōu)點(diǎn),因此將其作為核函數(shù)。
對虹膜進(jìn)行識別時(shí),首先從虹膜庫中選取一定數(shù)量的虹膜作為虹膜訓(xùn)練樣本庫,并將樣本庫中每個(gè)虹膜的特征編碼及其類別編號作為SVM 的訓(xùn)練集;通過網(wǎng)格尋優(yōu)的方法完成RBF 的訓(xùn)練;最后針對虹膜庫中剩余的虹膜,通過訓(xùn)練好的分類器計(jì)算出待識別虹膜的相應(yīng)決策輸出值,得出虹膜所屬的類別。
影響特征編碼的主要因素有:濾波器的個(gè)數(shù)、虹膜子塊的大小。 為確定濾波器和虹膜塊的數(shù)量,從CASIA1.0 虹膜庫中每只眼睛選取4 幅的圖像,通過正交試驗(yàn)分析的方法確定最優(yōu)方案。 正交試驗(yàn)的因素有濾波器頻率數(shù)、濾波器方向數(shù)、子塊的行數(shù)與子塊的列數(shù),4 個(gè)因素分別以A、B、C、D 表示,其中因素A、B、C 取4 個(gè)水平數(shù),因素D 取5 個(gè)水平數(shù),具體如表1 所示。
表1 正交試驗(yàn)因素水平Tab. 1 Level of factors in orthogonal experiment
通過正交試驗(yàn)篩選最優(yōu)方案,需要定義評價(jià)指標(biāo),因此對所選虹膜通過所提方法進(jìn)行訓(xùn)練識別,并將識別率作為評價(jià)指標(biāo)。 本次試驗(yàn)是一個(gè)4 因素混合水平的試驗(yàn),故選擇正交表L25 通過擬水平法安排試驗(yàn),具體試驗(yàn)結(jié)果如表2 所示。
正交試驗(yàn)的分析方法有兩種,分別是方差分析法和極差分析法[16],其中極差分析法是通過計(jì)算極差來確定因素的影響程度,具有簡單易行、直觀易懂的優(yōu)點(diǎn),因此采用極差分析法進(jìn)行分析比較。 上述試驗(yàn)的極差計(jì)算結(jié)果如表3 所示,其中,ki為相關(guān)因素和水平試驗(yàn)結(jié)果的平均值,i 代表水平,取1~5;R為極差,且R =kimax-kimin,kimax為因素各個(gè)水平試驗(yàn)結(jié)果的最大平均值,kimin為因素各個(gè)水平試驗(yàn)結(jié)果的最小平均值。
表2 正交試驗(yàn)結(jié)果Tab. 2 Orthogonal experimental results
表3 極差分析表Tab. 3 Table of range analysis %
由表3 可見,各因素根據(jù)極差由大到小的排列順序?yàn)椋阂蛩谼>因素C>因素B>因素A,則各因素的主次程度為:因素D>因素C>因素B>因素A。 根據(jù)評價(jià)指標(biāo)可知:識別率越高,系統(tǒng)性能越好。 因此,ki的最大值對應(yīng)的因素水平就是正交試驗(yàn)篩選出的最優(yōu)方案,即:A4、B3、C3、D4,但是該方案在正交試驗(yàn)中是沒有的,所以根據(jù)因素主次程度,從表3中找到兩組方案,分別為第7 組的A2、B2、C3、D4方案和第20 組的A4、B3、C3、D1方案,其中第7 組方案是按照因素主次程度以及最優(yōu)水平選出的,但該方案中有兩個(gè)因素的水平與原最優(yōu)方案中的不同;第20 組方案是按照最貼近原最優(yōu)方案選出的,該方案中只有一個(gè)因素的水平與原最優(yōu)方案不同。從試驗(yàn)結(jié)果看,效果最好的是第20 號試驗(yàn),且該方案與最優(yōu)方案最接近,因此最后確定方案為A4、B3、C3、D1,即:濾波器頻率數(shù)為6 個(gè)、濾波器方向數(shù)為5個(gè)、子塊的行數(shù)為15 行、子塊的列數(shù)為10 列。
在CASIA1.0 虹膜庫中提取36 只眼睛共252 幅虹膜圖像,在Lamp 虹膜庫中提取34 只眼睛共680幅虹膜圖像。 對兩個(gè)虹膜庫分別運(yùn)用自適應(yīng)Gabor濾波進(jìn)行特征提取并優(yōu)化,將優(yōu)化后的濾波參數(shù)對剩余的虹膜圖像進(jìn)行特征提取,將特征集分成兩部分,分別用于SVM 的訓(xùn)練與測試。
為了驗(yàn)證算法的有效性,從CASIA1.0 虹膜特征集選取360 幅虹膜圖像,從Lamp 虹膜特征集選取858 幅虹膜圖像,分別作為訓(xùn)練樣本,并將剩余圖像分別作為測試樣本,采用未優(yōu)化的方法進(jìn)行特征提取,并用Hamming 距離和SVM 的方法分別進(jìn)行虹膜識別。 不同算法對應(yīng)的檢測結(jié)果如表4 所示。 從表4 中可見,經(jīng)PSO 優(yōu)化后,虹膜的識別率有所提高,而通過SVM 進(jìn)行匹配識別后,虹膜的識別率進(jìn)一步提高,在CASIA1.0 虹膜庫上識別率共提高了0.59%,等錯(cuò)率下降了0.48%,在Lamp 虹膜庫上提高了0.3%,識別系統(tǒng)在兩個(gè)虹膜庫上的識別性能均得到了明顯的改善。
表4 測試結(jié)果Tab. 4 Detection results
圖3 和圖4 分別為4 種算法在兩個(gè)虹膜庫上的ROC 曲線圖,曲線越接近坐標(biāo)軸代表識別性能越好,由圖3 可見未經(jīng)改進(jìn)系統(tǒng)的ROC 曲線位于最上方,經(jīng)過PSO 處理后,系統(tǒng)的識別性能有所提高,而使用了PSO 與SVM 的改進(jìn)算法后,ROC 曲線相比原來更接近坐標(biāo)軸,說明識別系統(tǒng)的性能得到明顯改善。
為驗(yàn)證算法的識別性能,將本文所提出的方法與傳統(tǒng)的Daugman 算法[17]和Boles 的小波變換算法[18]在CASIA1.0 和CASIA-Iris-Lamp 虹膜庫中進(jìn)行對比。 為確保實(shí)驗(yàn)環(huán)境相同,將兩個(gè)傳統(tǒng)方法與所提方法在相同的設(shè)備上運(yùn)行,具體運(yùn)行結(jié)果如表5 所示。
圖3 CASIA1.0 虹膜庫ROC 曲線比較圖Fig. 3 Comparison of ROC of CASIA 1.0 Iris Library
圖4 CASIA-Iris-Lamp 虹膜庫ROC 曲線比較圖Fig. 4 Comparison of ROC of CASIA-Iris-Lamp Iris Library
表5 測試結(jié)果Tab. 5 Detection results
由表5 可見,在兩個(gè)虹膜庫上,本算法相對Boles 算法,系統(tǒng)的等錯(cuò)率更低;而相比Daugman 算法的識別率更佳,識別速度更快。 由此可見,本文所提方法比傳統(tǒng)識別方法的性能更好。
虹膜特征提取及識別是虹膜識別系統(tǒng)中的關(guān)鍵環(huán)節(jié)[19],這直接關(guān)系著系統(tǒng)最終的性能。 傳統(tǒng)的方法通過Gabor 濾波[20]和Hamming 距離[21]的方法進(jìn)行特征提取與識別。 而本文通過粒子群優(yōu)化算法優(yōu)化Gabor 濾波器,運(yùn)用優(yōu)化后的濾波器進(jìn)行特征提取,通過SVM 的方法進(jìn)行虹膜識別。 試驗(yàn)結(jié)果顯示,所提出的方法相對Hamming 距離及傳統(tǒng)方法具有更高的識別率,等錯(cuò)率更低,ROC 曲線更貼近坐標(biāo)軸,識別性能有明顯的改善。
由于傳統(tǒng)的方法無法進(jìn)行自動調(diào)整濾波器[11],需要手動調(diào)整,這也導(dǎo)致了濾波器不能適應(yīng)不同虹膜庫,而本文所提方法可以根據(jù)虹膜圖的特點(diǎn)進(jìn)行優(yōu)化濾波參數(shù),能更好的表示虹膜特征,相對Hamming 距離以及SVM 算法[22]而言,識別率有明顯提高。 在PSO 優(yōu)化算法在對濾波器優(yōu)化的過程中,粒子會根據(jù)尋優(yōu)結(jié)果調(diào)整濾波器的參數(shù),而調(diào)整后的濾波器更具有描述特征的能力[23],同時(shí)還能在一定程度上減小噪聲的影響,雖然不能完全消除噪聲,但也能對識別系統(tǒng)產(chǎn)生積極的影響。 另一方面,虹膜的噪聲區(qū)域特征不穩(wěn)定,而SVM 能根據(jù)穩(wěn)定的特征進(jìn)行識別,達(dá)到去冗余的作用[24],對識別系統(tǒng)產(chǎn)生積極的影響,而Hamming 距離的方法無法對噪聲產(chǎn)生抑制作用。 本文所提方法能克服傳統(tǒng)識別方法只能手動修改濾波參數(shù)、無法根據(jù)虹膜庫自動調(diào)整參數(shù)的缺點(diǎn),同時(shí)還具有減小噪聲影響的優(yōu)點(diǎn)。
傳統(tǒng)的方法需人工調(diào)整濾波器,不能適應(yīng)不同虹膜庫。 本文將PSO 與SVM 算法相結(jié)合,通過PSO 算法根據(jù)虹膜圖的特點(diǎn)進(jìn)行自動優(yōu)化濾波參數(shù),并結(jié)合SVM 算法完成虹膜識別。 在實(shí)際應(yīng)用中,不需要人工對不同的識別設(shè)備進(jìn)行參數(shù)的修改,做到自動優(yōu)化參數(shù),并且擁有更高的識別率與降噪能力,同時(shí)能更快完成身份的識別,極大提高了系統(tǒng)的工作效率,具有很強(qiáng)的實(shí)用性。