楊廉萍,李志
(東南大學(xué) 電子科學(xué)與工程學(xué)院,南京210018)
?

楊廉萍,李志
(東南大學(xué) 電子科學(xué)與工程學(xué)院,南京210018)
在具有大容量數(shù)據(jù)庫的指紋識(shí)別系統(tǒng)中,使用指紋檢索算法能夠有效縮小指紋的對(duì)比范圍,提高系統(tǒng)的識(shí)別率。本文在對(duì)傳統(tǒng)自動(dòng)指紋識(shí)別系統(tǒng)研究的基礎(chǔ)上,提出了一種嵌入式指紋檢索系統(tǒng)的設(shè)計(jì)方案。文章首先闡述了基于指紋綜合特征的指紋索引與檢索算法的設(shè)計(jì)思路;然后針對(duì)算法軟件,設(shè)計(jì)了基于SEP6200控制器的嵌入式指紋檢索應(yīng)用平臺(tái);最后通過實(shí)驗(yàn)測(cè)試,證明系統(tǒng)的性能與效率滿足應(yīng)用需求。
指紋檢索;嵌入式系統(tǒng);指紋識(shí)別系統(tǒng);SEP6200
指紋識(shí)別技術(shù)在整個(gè)生物特征識(shí)別領(lǐng)域占據(jù)著重要地位,目前傳統(tǒng)的指紋識(shí)別系統(tǒng)在指紋匹配準(zhǔn)確度上也已經(jīng)達(dá)到了比較理想的效果。然而,隨著數(shù)據(jù)信息的膨脹,在很多應(yīng)用場(chǎng)合下指紋數(shù)據(jù)庫的規(guī)模越來越大,當(dāng)系統(tǒng)需要處理大容量的指紋數(shù)據(jù)庫時(shí),如果采用傳統(tǒng)的一對(duì)一的指紋識(shí)別模式,則將消耗相當(dāng)長(zhǎng)的時(shí)間。這對(duì)于實(shí)時(shí)性要求較強(qiáng)的應(yīng)用系統(tǒng)而言,顯然是不可接受的。為了提高大容量數(shù)據(jù)庫下指紋識(shí)別的效率,一種基于指紋檢索策略的快速搜索方案被提出,這一方案將有效降低整個(gè)指紋識(shí)別過程的耗時(shí)量[1]。
此外,在嵌入式技術(shù)高速發(fā)展的今天,市場(chǎng)對(duì)于高度集成化、便攜化、智能化的嵌入式指紋系統(tǒng)有著強(qiáng)烈的需求。考慮到嵌入式指紋系統(tǒng)需要進(jìn)行現(xiàn)場(chǎng)指紋采集、指紋查找和驗(yàn)證等過程,則更需要合理的策略來保證系統(tǒng)的實(shí)時(shí)性和可靠性。因此,設(shè)計(jì)高效的嵌入式指紋檢索算法,并在具有大容量指紋數(shù)據(jù)庫的嵌入式系統(tǒng)下實(shí)現(xiàn)指紋的快速檢索與匹配,有著重要的研究意義和廣泛的商業(yè)價(jià)值。
在進(jìn)行指紋匹配時(shí),首先采集待鑒定用戶的指紋圖像數(shù)據(jù);接著同樣進(jìn)行圖像預(yù)處理和指紋特征提取;然后利用提取到的待測(cè)指紋特征與指紋庫中的指紋特征模板進(jìn)行對(duì)比;最后給出認(rèn)證結(jié)果以確認(rèn)身份是否匹配。自動(dòng)指紋識(shí)別系統(tǒng)基本工作流程如圖1所示。

圖1 自動(dòng)指紋識(shí)別系統(tǒng)基本工作流程圖
為了應(yīng)對(duì)某些大容量指紋數(shù)據(jù)庫下自動(dòng)指紋識(shí)別系統(tǒng)運(yùn)行效率較低的問題,目前學(xué)術(shù)界也提出了相關(guān)優(yōu)化措施,其中以指紋分類策略和指紋檢索策略最具代表性。指紋分類技術(shù)的不足之處在于人體指紋并非均勻地分布在各個(gè)指紋類中,在很大的數(shù)據(jù)庫下并不能很有效地減小對(duì)比范圍;另外對(duì)于模糊指紋,并不能達(dá)到準(zhǔn)確的分類效果。而指紋檢索技術(shù)則能較好地避免以上問題,在縮小對(duì)比范圍的同時(shí),也避免了模糊指紋分類不確定的缺陷。
2.1 指紋圖像預(yù)處理算法
指紋檢索的首要環(huán)節(jié)就是進(jìn)行指紋圖像的預(yù)處理工作,是為了去除圖像無效區(qū)域、降低噪聲,從而提高指紋檢索的效率。在利用指紋采集器獲取到灰度化的原始指紋圖像后,首先進(jìn)行指紋圖像的分割,提取出指紋前景區(qū);然后再通過計(jì)算平均像素灰度的方法對(duì)圖像進(jìn)行標(biāo)準(zhǔn)化處理,使指紋圖像的灰度和對(duì)比度調(diào)整到一個(gè)統(tǒng)一標(biāo)準(zhǔn)的范圍內(nèi)。
預(yù)處理的第二環(huán)節(jié)是圖像的濾波增強(qiáng),采用基于方向場(chǎng)和頻率場(chǎng)特性的Gabor濾波增強(qiáng)算法[4]對(duì)指紋圖像進(jìn)行增強(qiáng)處理。在濾波前首先需要計(jì)算指紋圖像的脊線方向場(chǎng)圖像和頻率特性圖,對(duì)于指紋脊線方向場(chǎng)信息,采用經(jīng)典的Sobel算子[5]求取像素的梯度值,然后利用求出的像素橫向梯度矢量Gx和縱向梯度矢量Gy計(jì)算方向角度值。對(duì)于指紋頻率信息,則通過計(jì)算某一區(qū)域指紋脊線間平均像素距離而得到。獲得以上信息后,再利用Gabor濾波函數(shù)對(duì)指紋圖像做增強(qiáng)處理。
得到增強(qiáng)的指紋圖像后,還要對(duì)圖像進(jìn)行二值化和細(xì)化處理。二值化是使灰度圖像變成黑白圖像,將圖像在灰度層次上從原來的256色降為黑白2色,對(duì)指紋圖像信息量進(jìn)行了壓縮;細(xì)化則是在不改變?cè)袌D像像素拓?fù)溥B接關(guān)系的條件下,保留了紋線的主要信息,使指紋圖像的脊線分布變得簡(jiǎn)單明了,為指紋特征的提取和索引做準(zhǔn)備,因此也是圖像預(yù)處理中非常重要的一步。
2.2 指紋特征提取算法
指紋特征提取的主要目的是計(jì)算指紋核心點(diǎn)(Core)和細(xì)節(jié)點(diǎn)(Minutia)的特征信息。在提取指紋核心點(diǎn)時(shí),采用的是Poincare Index算法[6],該算法的思路是在指紋圖像某像素點(diǎn)區(qū)域內(nèi),按圍繞該點(diǎn)的閉合曲線逆時(shí)針方向旋轉(zhuǎn)一周,計(jì)算方向角度旋轉(zhuǎn)變化量的和,最后以計(jì)算結(jié)果來尋找核心點(diǎn)。計(jì)算過程中如果某像素點(diǎn)的Poincare Index值為π,則判定為核心點(diǎn),然后便提取該點(diǎn)的坐標(biāo)與方向場(chǎng)信息,記為P(Cx, Cy, θc)。
對(duì)于指紋的細(xì)節(jié)點(diǎn)特征,在本設(shè)計(jì)中只要求提取指紋脊線端點(diǎn)(Ending)和脊線分叉(Bifurcation)兩種細(xì)節(jié)點(diǎn)。在細(xì)化的指紋圖像中,這兩種細(xì)節(jié)點(diǎn)的形態(tài)如圖2和圖3所示。

圖2 脊線端點(diǎn)

圖3 脊線分叉

圖4 8鄰域像素圖
在提取指紋細(xì)節(jié)點(diǎn)時(shí),首先為細(xì)化圖像中的每個(gè)像素點(diǎn)P建立一個(gè)8鄰域像素區(qū),如圖4所示。其中,P1~P8為像素點(diǎn)P周圍的鄰近環(huán)繞像素點(diǎn),P1~P8中黑色點(diǎn)的值設(shè)為1,白色點(diǎn)的值設(shè)為0。
根據(jù)Crossing Number (CN)理論[7],在8鄰域像素圖中按照式(1)計(jì)算像素點(diǎn)的CN值。例如在圖2和圖3中,8領(lǐng)域像素區(qū)域內(nèi)中心點(diǎn)的CN值分別為1和3。
(1)
最后按上述方法對(duì)細(xì)化指紋圖像中的所有像素點(diǎn)進(jìn)行CN值計(jì)算,當(dāng)CN值為1時(shí),可判定所檢測(cè)的P點(diǎn)為脊線端點(diǎn);當(dāng)CN值為3時(shí),則可判定P點(diǎn)為脊線分叉點(diǎn)。檢測(cè)到細(xì)節(jié)點(diǎn)之后返回該點(diǎn)的坐標(biāo)(x,y),并根據(jù)CN的值返回細(xì)節(jié)點(diǎn)的類型T,然后再讀取該點(diǎn)的方向角θ。因此,在本算法中一個(gè)指紋細(xì)節(jié)點(diǎn)的具體特征最后用M(x, y, θ ,T)算子來表征。
2.3 指紋索引與檢索算法
在得到一系列的指紋特征后,接下來就是設(shè)計(jì)指紋綜合索引因子。索引因子以多維向量的形式表示,概括了一枚指紋圖像的綜合特征[7-8]。指紋檢索時(shí)通過將待查詢指紋的索引因子與數(shù)據(jù)庫中指紋的索引因子相比較,可快速計(jì)算得出與目標(biāo)指紋相似度較高的一批候選指紋,達(dá)到有效縮減匹配范圍的目的。指紋綜合索引因子的設(shè)計(jì)描述如下:
(2)
其中,Θm×n代表將指紋圖像劃分為m×n塊以后,由指紋圖像每一子塊局部脊線方向場(chǎng)組成的角度矩陣;Fm×n代表指紋的局部脊線頻率矩陣;D代表以指紋核心點(diǎn)P(Cx,Cy)為中心,固定半徑R內(nèi)所有細(xì)節(jié)點(diǎn)到核心點(diǎn)距離的平均值;Δ則代表離核心點(diǎn)最近的三個(gè)細(xì)節(jié)點(diǎn)(設(shè)M1,M2,M3)的方向角與核心點(diǎn)方向角的差值,記作Δ={ω1,ω2,ω3}(ωi=θiθc,且-π<ωi<π)。

(3)
其中,dj=θ[j]-θ′[j], (j=1,2,…,m×n;θ[j]為指紋圖像第j塊的局部脊線方向角)。
(4)
(5)
(6)
最后根據(jù)以上4個(gè)相似度值計(jì)算S和S′這兩枚指紋的總體相似分?jǐn)?shù)T。
(7)
式(7)中,μ表示各部分相似度值的權(quán)重因子。根據(jù)實(shí)際測(cè)試,在保證檢索效果最佳時(shí),μ的各項(xiàng)經(jīng)驗(yàn)值分別取:μ1=0.28,μ2=0.16,μ3=0.30,μ4=0.26。檢索算法按照索引因子比對(duì)法,則將待查詢指紋與數(shù)據(jù)庫中的所有指紋進(jìn)行檢索對(duì)比,在遍歷完整個(gè)指紋數(shù)據(jù)庫以后,得到了一系列的相似度分?jǐn)?shù)。最后根據(jù)設(shè)定的閾值分?jǐn)?shù),選出分?jǐn)?shù)最高的一部分指紋,從而減小指紋對(duì)比識(shí)別的范圍。
2.4 軟件程序設(shè)計(jì)
軟件程序是整個(gè)指紋檢索算法的映射與實(shí)現(xiàn),它將算法的各個(gè)理論環(huán)節(jié)轉(zhuǎn)化為實(shí)際的函數(shù),并封裝成可以在嵌入式系統(tǒng)下執(zhí)行的功能模塊。本文中嵌入式指紋檢索程序?qū)崿F(xiàn)用戶指紋注冊(cè)和指紋檢索匹配兩大功能,涵蓋了指紋采集程序、指紋圖像預(yù)處理程序、指紋特征提取程序、指紋索引與檢索程序、指紋匹配程序等部分,其執(zhí)行流程如圖5所示。軟件進(jìn)入到執(zhí)行狀態(tài)后,首先按照用戶指令參數(shù)進(jìn)行模式判斷,選擇進(jìn)入到指紋注冊(cè)或者指紋檢索狀態(tài)。當(dāng)選擇指紋注冊(cè)入庫時(shí),軟件會(huì)先進(jìn)行指紋圖像采集,然后對(duì)圖像進(jìn)行預(yù)處理,接著提取出指紋的細(xì)節(jié)特征并建立指紋索引因子,最后將指紋特征模板和對(duì)應(yīng)的索引因子入庫保存。而當(dāng)需要進(jìn)行指紋檢索時(shí),系統(tǒng)同樣會(huì)先進(jìn)行指紋采集、圖像預(yù)處理、特征提取和索引因子建立,然后利用索引因子進(jìn)行指紋庫檢索,找出與查詢指紋最相似的一批待匹配指紋,最后利用匹配程序?qū)@部分指紋逐一對(duì)比,給出匹配結(jié)果。

圖5 嵌入式指紋檢索軟件執(zhí)行流程圖
為了使所設(shè)計(jì)的指紋檢索算法得到實(shí)現(xiàn)和驗(yàn)證,根據(jù)嵌入式指紋檢索系統(tǒng)的要求,還需要設(shè)計(jì)嵌入式應(yīng)用平臺(tái)。該平臺(tái)的設(shè)計(jì)主要分為硬件系統(tǒng)和軟件環(huán)境兩部分。
3.1 嵌入式硬件系統(tǒng)設(shè)計(jì)
本文所設(shè)計(jì)的用于指紋檢索算法實(shí)現(xiàn)與驗(yàn)證的嵌入式硬件平臺(tái),以東南大學(xué)自主研發(fā)的高性能微處理器SEP6200為核心控制單元[9]。SEP6200是一顆32位的高性能應(yīng)用處理器,主頻達(dá)到800 MHz,有著高效的運(yùn)算和控制能力,能夠較好地執(zhí)行指紋檢索程序。主控制器配合DDR、NAND Flash、LCD、USB指紋采集器等外圍設(shè)備,搭建成了完整的嵌入式指紋檢索硬件平臺(tái),圖6是嵌入式指紋檢索系統(tǒng)的硬件框架結(jié)構(gòu)圖。
系統(tǒng)中主控制器SEP6200用于控制指紋采樣和進(jìn)行任務(wù)調(diào)度;DDR模塊用來臨時(shí)存儲(chǔ)指紋圖像數(shù)據(jù)和執(zhí)行軟件程序;NAND Flash用以存放算法軟件代碼和指紋數(shù)據(jù)庫;LCD顯示屏在執(zhí)行算法時(shí)用于提供良好的GUI用戶界面;USB指紋采集器則是用來采集原始指紋圖像,并將圖像數(shù)據(jù)經(jīng)USB接口傳送至核心控制單元。

圖6 嵌入式指紋檢索系統(tǒng)硬件平臺(tái)架構(gòu)圖
3.2 嵌入式軟件系統(tǒng)配置
嵌入式軟件系統(tǒng)主要涉及到操作系統(tǒng)和設(shè)備驅(qū)動(dòng)配置兩個(gè)方面。
3.2.1 嵌入式Linux操作系統(tǒng)
本設(shè)計(jì)采用Linux2.6內(nèi)核操作系統(tǒng)作為嵌入式底層軟件基礎(chǔ)平臺(tái)。Linux操作系統(tǒng)作為一個(gè)開源軟件系統(tǒng),有著良好的可配置、可裁剪特性,同時(shí)其開發(fā)周期短、成本低、安全性高,非常適用于嵌入式系統(tǒng)上指紋檢索應(yīng)用軟件的開發(fā)和測(cè)試。
3.2.2 驅(qū)動(dòng)程序配置
為了使操作系統(tǒng)能夠控制USB指紋采集器和LCD等外設(shè)工作,必須為L(zhǎng)inux內(nèi)核配置相關(guān)的設(shè)備驅(qū)動(dòng)程序。對(duì)于USB指紋采集器,本設(shè)計(jì)采用V4L2驅(qū)動(dòng)框架對(duì)圖像數(shù)據(jù)進(jìn)行控制管理,V4L2是Linux下開發(fā)視頻設(shè)備驅(qū)動(dòng)的一套新框架,該框架為驅(qū)動(dòng)程序定義了一系列對(duì)應(yīng)的回調(diào)函數(shù),同時(shí)為應(yīng)用程序定義了一套標(biāo)準(zhǔn)的API 調(diào)用,便于用戶在應(yīng)用層通過URB獲得指紋圖像數(shù)據(jù)。此外,對(duì)于LCD液晶顯示屏也需要提供相應(yīng)的驅(qū)動(dòng)支持,LCD通常由微處理器的LCDC(LCD Controller,LCD控制器)進(jìn)行控制。
在系統(tǒng)設(shè)計(jì)完成之后,對(duì)系統(tǒng)的性能和效率等指標(biāo)做了相應(yīng)的測(cè)試。實(shí)驗(yàn)中采用了兩個(gè)指紋數(shù)據(jù)庫進(jìn)行系統(tǒng)驗(yàn)證,分別是國際標(biāo)準(zhǔn)指紋測(cè)試庫FVC2000-DB3和本系統(tǒng)采集自建的指紋數(shù)據(jù)庫庫OWN-DB。FVC2000-DB3包含800張指紋圖像,OWN-DB包含500張指紋圖像,兩庫中的圖像都以8位灰度的BMP格式保存,圖7和圖8分別為兩個(gè)指紋數(shù)據(jù)庫的示例圖像。
指紋檢索算法的性能采用檢索穿透率(Penetration Rate, PR)和檢索錯(cuò)誤率 (Error Rate, ER)衡量。檢索穿透率(PR)定義為檢索得出的待匹配指紋數(shù)量占整個(gè)數(shù)據(jù)庫的比重,該比重可以由算法程序員自行設(shè)定;檢索錯(cuò)誤率(ER)則定義為在某一穿透率的限制下,在待匹配指紋中未檢測(cè)到目標(biāo)指紋的概率,即檢索失敗率。在實(shí)驗(yàn)中利用所述的兩個(gè)指紋數(shù)據(jù)庫對(duì)系統(tǒng)進(jìn)行測(cè)試,得到一系列的實(shí)驗(yàn)數(shù)據(jù),將這些實(shí)驗(yàn)數(shù)據(jù)進(jìn)行曲線擬合,繪制出如圖9所示的曲線圖。

圖7 FVC2000-DB3指紋圖

圖8 OWN-DB指紋圖

圖9 指紋檢索系統(tǒng)的性能實(shí)驗(yàn)數(shù)據(jù)
從實(shí)驗(yàn)數(shù)據(jù)圖可知,在FVC2000-DB3數(shù)據(jù)庫上,當(dāng)檢索穿透率為10%時(shí),系統(tǒng)檢索錯(cuò)誤率在6%左右。而在OWN-DB數(shù)據(jù)庫上,當(dāng)穿透率為10%時(shí),系統(tǒng)錯(cuò)誤率則可降低至4.6%以內(nèi),充分驗(yàn)證了本設(shè)計(jì)的可靠性。此外作為嵌入式系統(tǒng),軟件程序的執(zhí)行效率也是一項(xiàng)重要指標(biāo)。在實(shí)驗(yàn)中,當(dāng)系統(tǒng)進(jìn)行1:800檢索時(shí)總耗時(shí)為1.63 s;當(dāng)進(jìn)行1:500檢索時(shí)總耗時(shí)為0.99 s。總體來看,系統(tǒng)的實(shí)時(shí)性也達(dá)到了比較良好的指標(biāo)。
指紋檢索算法是一種應(yīng)用于大容量指紋數(shù)據(jù)庫的快速指紋搜索方案。本文在對(duì)傳統(tǒng)自動(dòng)指紋識(shí)別系統(tǒng)研究的基礎(chǔ)上,設(shè)計(jì)了基于多維向量指紋索引因子的快速指紋檢索算法,同時(shí)利用國產(chǎn)SOC芯片SEP6200,搭建了嵌入式應(yīng)用平臺(tái),并最終將所設(shè)計(jì)的算法以應(yīng)用程序的形式在嵌入式目標(biāo)平臺(tái)上進(jìn)行映射與實(shí)現(xiàn)。系統(tǒng)經(jīng)過實(shí)驗(yàn)測(cè)試與分析,得到了良好的性能指標(biāo),進(jìn)一步論證了本設(shè)計(jì)的可行性。

[1] D Maltoni, D Maio, AKJain, et al. Handbook of Fingerprint Recognition[M]. 2 ed. Berlin:Springer, 2009.
[2] Rui Zhang, Feng Wang. Research on Cogent Automatic Fingerprint Identification System[J]. Advanced Materials Research, 2012(12):741-747.
[3] 蘇靜. 自動(dòng)指紋識(shí)別系統(tǒng)的研究[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2011(15):111.
[4] 張躍, 王昊. 改進(jìn)的Gabor 指紋圖像增強(qiáng)算法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(6):102-104.
[5] I Sobel. An isotropic 3×3 gradient operator, machine vision for Three-Dimensional scenes[M]. Boston:Academic Press, 1990:376-379.
[6] Azad Noor. A New Algorithm for Minutiae Extraction and Matching in Fingerprint[D]. London: Brunel University, 2012.
[7] Raffaele Cappelli. Fast and Accurate Fingerprint Indexing Based on Ridge Orientation and Frequency[J]. IEEE Transactions on Systems,Man,And Cybernetics- Part B: Cybernetics, 2011, 41(6):1511-1521.
[8] A Gago-Alonso,J Hernández-Palancar. Indexing and retrieving in fingerprint databases under structural distortions[J]. Expert Systems with Applications, 2013(40):2858-2871.
[9] 東南大學(xué)ASIC中心. SEP6200設(shè)計(jì)文檔,2010.
楊廉萍、李志(碩士研究生),主要從事嵌入式系統(tǒng)方向的研究工作。

Yang Lianping, Li Zhi
(Department of Electronic Science and Engineering, Southeast University, Nanjing 210018,China)
Fingerprint indexing is an effective method to improve the efficiency of fingerprint identification system with a large database. In this paper, we propose a design of embedded fingerprint indexing system. Firstly, the fingerprint indexing and retrieval algorithm is given. Then an embedded application system which based on SEP6200 is set up. Finally, we port fingerprint indexing software to the embedded platform. Experimental results demonstrate that the system can achieve encouraging performance.
fingerprint indexing; embedded system; fingerprint identification system; SEP6200
TP391.4
A
迪娜
2013-12-17)