指紋識別技術(shù)在整個生物特征識別領(lǐng)域占據(jù)著重要地位,目前傳統(tǒng)的指紋識別系統(tǒng)在指紋匹配準確度上也已經(jīng)達到了比較理想的效果。然而,隨著數(shù)據(jù)信息的膨脹,在很多應(yīng)用場合下指紋數(shù)據(jù)庫的規(guī)模越來越大,當系統(tǒng)需要處理大容量的指紋數(shù)據(jù)庫時,如果采用傳統(tǒng)的一對一的指紋識別模式,則將消耗相當長的時間。這對于實時性要求較強的應(yīng)用系統(tǒng)而言,顯然是不可接受的。為了提高大容量數(shù)據(jù)庫下指紋識別的效率,一種基于指紋檢索策略的快速搜索方案被提出,這一方案將有效降低整個指紋識別過程的耗時量。
此外,在嵌入式技術(shù)高速發(fā)展的今天,市場對于高度集成化、便攜化、智能化的嵌入式指紋系統(tǒng)有著強烈的需求。考慮到嵌入式指紋系統(tǒng)需要進行現(xiàn)場指紋采集、指紋查找和驗證等過程,則更需要合理的策略來保證系統(tǒng)的實時性和可靠性。因此,設(shè)計高效的嵌入式指紋檢索算法,并在具有大容量指紋數(shù)據(jù)庫的嵌入式系統(tǒng)下實現(xiàn)指紋的快速檢索與匹配,有著重要的研究意義和廣泛的商業(yè)價值。
1.自動指紋識別系統(tǒng)研究
隨著計算機和信息技術(shù)的發(fā)展,F(xiàn)BI和法國巴黎警察局于上世紀六十年代開始了對自動指紋識別系統(tǒng)AFIS(Automatic Fingerprint Identification System)的研究。自動指紋識別系統(tǒng)(AFIS)最初使用于刑事案件偵破之中,到了九十年代,被廣泛用于個人身份的鑒定。
自動指紋識別系統(tǒng)(AFIS)是一個典型的生物特征識別系統(tǒng),它包括了指紋圖像采集模塊、圖像預(yù)處理模塊、指紋特征分析與提取模塊、指紋對比匹配模塊等幾個部分。在實際應(yīng)用中,一個完整的自動指紋識別系統(tǒng)一般可以實現(xiàn)指紋注冊和指紋匹配兩大功能。在進行指紋注冊時,系統(tǒng)首先通過指紋圖像采集模塊采樣得到待注冊用戶的指紋圖像數(shù)據(jù);隨后將這些數(shù)字化的圖像信息傳入主控制器,并由圖像預(yù)處模塊進行預(yù)處理加工;接著由指紋特征分析與提取模塊提取出需要的指紋特征,并生成指紋特征模板;最后將特征模板存放到指紋數(shù)據(jù)庫中。在進行指紋匹配時,首先依然是采集待鑒定用戶的指紋圖像數(shù)據(jù);接著同樣進行圖像預(yù)處理和指紋特征提取;然后利用提取到的待測指紋特征與指紋庫中的指紋特征模板進行對比;最后給出認證結(jié)果以確認身份是否匹配。自動指紋識別系統(tǒng)基本工作流程如圖1所示。
為了應(yīng)對某些大容量指紋數(shù)據(jù)庫下自動指紋識別系統(tǒng)運行效率低下的問題,目前學(xué)術(shù)界也提出了相關(guān)優(yōu)化措施,其中以指紋分類策略和指紋檢索策略最具代表性。指紋分類技術(shù)的不足之處在于人體指紋并非均勻的分布在各個指紋類中,在很大的數(shù)據(jù)庫下并不能很有效的減小對比范圍;另外對于模糊指紋,并不能起到準確的分類效果。而指紋檢索技術(shù)則能較好的避免以上問題,在縮小對比范圍的同時,也克服了模糊指紋分類不確定的缺陷。
2.指紋檢索算法與程序設(shè)計
2.1指紋圖像預(yù)處理算法
指紋檢索的首要環(huán)節(jié)就是進行指紋圖像的預(yù)處理工作,其目的是為了去除圖像無效區(qū)域、降低噪聲,從而提高指紋檢索的效率。在利用指紋采集器獲取到灰度化的原始指紋圖像后,首先是進行指紋圖像的分割,提取出指紋前景區(qū);然后再通過計算平均像素灰度的方法對圖像進行標準化處理,使指紋圖像的灰度和對比度調(diào)整到一個統(tǒng)一標準的范圍內(nèi)。
預(yù)處理的第二環(huán)節(jié)是圖像的濾波增強,本文采用基于方向場和頻率場特性的Gabor濾波增強算法對指紋圖像進行增強處理。在濾波前首先需要計算指紋圖像的脊線方向場圖像和頻率特性圖,對于指紋脊線方向場信息,采用經(jīng)典的Sobel算子求取像素的梯度值,然后利用求出的像素橫向梯度矢量Gx和縱向梯度矢量Gy計算方向角度值;對于指紋頻率信息,則通過計算某一區(qū)域指紋脊線間平均像素距離而得到。獲得以上信息后,再利用Gabor濾波函數(shù)對指紋圖像做增強處理。
得到增強的指紋圖像后,還要對圖像進行二值化和細化處理。二值化是使灰度圖像變成黑白圖像,將圖像在灰度層次上從原來的256色降為黑白2色,對指紋圖像信息量進行了壓縮;細化則是在不改變原有圖像像素拓撲連接關(guān)系的條件下,保留了紋線的主要信息,使指紋圖像的脊線分布變得簡單明了,為指紋特征的提取和索引做準備,因此也是圖像預(yù)處理中非常重要的一步。
2.2指紋特征提取算法
指紋特征提取的主要目的是計算指紋核心點(Core)和細節(jié)點(Minutia)的特征信息。在提取指紋核心點時,采用的是Poincare Index算法,該算法的思路是在指紋圖像某像素點區(qū)域內(nèi),按圍繞該點的閉合曲線逆時針方向旋轉(zhuǎn)一周,計算方向角度旋轉(zhuǎn)變化量的和,最后以計算結(jié)果來尋找核心點。計算過程中如果某像素點的Poincare Index值為π則判定為核心點,然后便提取該點的坐標與方向場信息,記為P(Cx, Cy,θc)。
對于指紋的細節(jié)點特征,在本設(shè)計中只要求提取指紋脊線端點(Ending)和脊線分叉(Bifurcation)兩種細節(jié)點。在細化的指紋圖像中,這兩種細節(jié)點的形態(tài)如圖2和圖3所示:
在提取指紋細節(jié)點時,首先為細化圖像中的每個像素點P建立一個8鄰域像素區(qū),如圖4所示。其中P1~P8為像素點P周圍的鄰近環(huán)繞像素點。P1~P8中黑色點的值設(shè)為1,白色點的值設(shè)為0.
根據(jù)Crossing Number (CN)理論,在8鄰域像素圖中按照公式1計算像素點的CN值。例如在圖2和圖3中,8領(lǐng)域像素區(qū)域內(nèi)中心點的CN值分別為1和3.
最后按上述方法對細化指紋圖像中的所有像素點進行CN值計算,當CN值為1時,可判定所檢測的P點為脊線端點,當CN值為3時,則可判定P點為脊線分叉點。檢測到細節(jié)點之后返回該點的坐標(x,y),并根據(jù)CN的值返回細節(jié)點的類型T,然后再讀取該點的方向角θ。因此,在本算法中一個指紋細節(jié)點的具體特征最后用M(x, y,θ,T)算子來表征。
2.3 指紋索引與檢索算法
在得到一系列的指紋特征后,接下來就是設(shè)計指紋綜合索引因子。索引因子以多維向量的形式表示,概括了一枚指紋圖像的綜合特征。指紋檢索時通過將待查詢指紋的索引因子與數(shù)據(jù)庫中指紋的索引因子相比較,可快速計算得出與目標指紋相似度較高的一批候選指紋,達到有效縮減匹配范圍的目的。指紋綜合索引因子的設(shè)計描述如下:
公式2中Θm×n 代表將指紋圖像劃分為m×n塊以后,由指紋圖像每一子塊局部脊線方向場組成的角度矩陣;Fm×n代表指紋的局部脊線頻率矩陣;D代表以指紋核心點P(Cx,Cy)為中心,固定半徑R內(nèi)所有細節(jié)點到核心點距離的平均值;Δ則代表離核心點最近的三個細節(jié)點(設(shè)M1, M2, M3)的方向角與核心點方向角的差值,記作Δ={ω1, ω2, ω3}(ωi=θi-θc,且-π《ωi《π)。
檢索開始時,設(shè)待查詢指紋的綜合索引因子為S{Θm×n,F(xiàn)m×n,D,Δ}, 指紋數(shù)據(jù)庫中的指紋綜合索引因子為S’{Θ’m×n,F(xiàn)’m×n,D’,Δ’}。然后計算以下各項相似度分數(shù):
其中dj=θ[j]-θ’[j], (j=1,2,…,m×n;θ[j]為指紋圖像第j塊的局部脊線方向角)。
最后根據(jù)以上4個相似度值計算S和S’這兩枚指紋的總體相似分數(shù)T。
公式7中μ表示各部分相似度值的權(quán)重因子。根據(jù)實際測試,在保證檢索效果最佳時,μ的各項經(jīng)驗值分別取:μ1=0.28,μ2=0.16,μ3=0.30,μ4=0.26。檢索算法按照索引因子比對法則將待查詢指紋與數(shù)據(jù)庫中的所有指紋進行檢索對比,在遍歷完整個指紋數(shù)據(jù)庫以后,得到了一系列的相似度分數(shù)。最后根據(jù)設(shè)定的閾值分數(shù),選出分數(shù)最高的一部分指紋,從而降低指紋對比識別的范圍。
2.4 軟件程序設(shè)計
軟件程序是整個指紋檢索算法的映射與實現(xiàn),它將算法的各個理論環(huán)節(jié)轉(zhuǎn)化為實際的函數(shù),并封裝成可以在嵌入式系統(tǒng)下執(zhí)行的功能模塊。本文中嵌入式指紋檢索程序?qū)崿F(xiàn)用戶指紋注冊和指紋檢索匹配兩大功能,涵蓋了指紋采集程序、指紋圖像預(yù)處理程序、指紋特征提取程序、指紋索引與檢索程序、指紋匹配程序等部分,其執(zhí)行流程如圖5所示。軟件進入到執(zhí)行狀態(tài)后,首先按照用戶指令參數(shù)進行模式判斷,選擇進入到指紋注冊或者指紋檢索狀態(tài)。當選擇指紋注冊入庫時,軟件會先進行指紋圖像采集,然后對圖像進行預(yù)處理,接著提取出指紋的細節(jié)特征并建立指紋索引因子,最后將指紋特征模板和對應(yīng)的索引因子入庫保存。而當需要進行指紋檢索時,系統(tǒng)同樣會先進行指紋采集、圖像預(yù)處理、特征提取和索引因子建立,然后利用索引因子進行指紋庫檢索,找出與查詢指紋最相似的一批待匹配指紋,最后利用匹配程序?qū)@部分指紋逐一對比,給出匹配結(jié)果。
3.嵌入式應(yīng)用平臺設(shè)計
為了使所設(shè)計的指紋檢索算法得到實現(xiàn)和驗證,根據(jù)嵌入式指紋檢索系統(tǒng)的要求,還需要設(shè)計嵌入式應(yīng)用平臺。該平臺的設(shè)計主要分為硬件系統(tǒng)和軟件環(huán)境兩部分。
3.1嵌入式硬件系統(tǒng)設(shè)計
本文所設(shè)計的用于指紋檢索算法實現(xiàn)與驗證的嵌入式硬件平臺以東南大學(xué)自主研發(fā)的高性能微處理器SEP6200為核心控制單元。SEP6200是一顆32位的高性能應(yīng)用處理器,主頻達到800Mhz,有著高效的運算和控制能力,能夠較好的執(zhí)行指紋檢索程序。主控制器配合DDR、Nand Flash、LCD、USB指紋采集器等外圍設(shè)備,搭建成了完整的嵌入式指紋檢索硬件平臺,圖6是所設(shè)計的嵌入式指紋檢索系統(tǒng)的硬件框架結(jié)構(gòu)圖。系統(tǒng)中主控制器SEP6200用于控制指紋采樣和進行任務(wù)調(diào)度;DDR模塊用來臨時存儲指紋圖像數(shù)據(jù)和執(zhí)行軟件程序;Nand Flash用以存放算法軟件代碼和指紋數(shù)據(jù)庫;LCD顯示屏在執(zhí)行算法時用于提供良好的GUI用戶界面;USB指紋采集器則是用來采集原始指紋圖像,并將圖像數(shù)據(jù)經(jīng)USB接口傳送至核心控制單元。
3.2嵌入式軟件系統(tǒng)配置
嵌入式軟件系統(tǒng)主要涉及到操作系統(tǒng)和設(shè)備驅(qū)動配置兩個方面。
3.2.1.嵌入式Linux操作系統(tǒng)
本設(shè)計采用Linux2.6內(nèi)核操作系統(tǒng)作為嵌入式底層軟件基礎(chǔ)平臺。Linux操作系統(tǒng)作為一個開源軟件系統(tǒng),有著良好的可配置、可裁剪特性,同時其開發(fā)周期短、成本低、安全性高,非常適用于嵌入式系統(tǒng)下指紋檢索應(yīng)用軟件的開發(fā)和測試。
3.2.2.驅(qū)動程序配置
為了使操作系統(tǒng)能夠控制USB指紋采集器和LCD等外設(shè)工作,必須為Linux內(nèi)核配置相關(guān)的設(shè)備驅(qū)動程序。對于USB指紋采集器,本設(shè)計采用V4L2驅(qū)動框架對圖像數(shù)據(jù)進行控制管理,V4L2是Linux下開發(fā)視頻設(shè)備驅(qū)動的一套新框架,該框架為驅(qū)動程序定義了一系列對應(yīng)的回調(diào)函數(shù),同時為應(yīng)用程序定義了一套標準的API調(diào)用,便于用戶在應(yīng)用層通過URB獲得指紋圖像數(shù)據(jù)。此外,對于LCD液晶顯示屏也需要提供相應(yīng)的驅(qū)動支持,LCD通常由微處理器的LCDC(LCD Controller,LCD控制器)進行控制。
4.系統(tǒng)測試與分析
在系統(tǒng)設(shè)計完成之后,筆者對系統(tǒng)的性能和效率等指標做了相應(yīng)的測試。實驗中采用了兩個指紋數(shù)據(jù)庫進行系統(tǒng)驗證,分別是國際標準指紋測試庫FVC2000-DB3和本系統(tǒng)采集自建的指紋數(shù)據(jù)庫庫OWN-DB.FVC2000-DB3包含800張指紋圖像,OWN-DB包了含500張指紋圖像,兩庫中的圖像都以8位灰度的BMP格式保存,圖7和圖8分別為兩個指紋數(shù)據(jù)庫的示例圖像。
指紋檢索算法的性能采用檢索穿透率(Penetration Rate, PR)和檢索錯誤率(Error Rate, ER)衡量。檢索穿透率(PR)定義為檢索得出的待匹配指紋數(shù)量占整個數(shù)據(jù)庫的比重,該比重可以由算法程序員自行設(shè)定;檢索錯誤率(ER)則定義為在某一穿透率的限制下,在待匹配指紋中未檢測到目標指紋的概率,即檢索失敗率。在實驗中利用所述的兩個指紋數(shù)據(jù)庫對系統(tǒng)進行測試,得到一系列的實驗數(shù)據(jù),將這些實驗數(shù)據(jù)進行曲線擬合,繪制出如圖9所示的曲線圖。
從實驗數(shù)據(jù)圖可知,在FVC2000-DB3數(shù)據(jù)庫上,當檢索穿透率為10%時,系統(tǒng)檢索錯誤率在6%左右。而在OWN-DB數(shù)據(jù)庫上,當穿透率為10%時,系統(tǒng)錯誤率則可降低至4.6%以內(nèi),充分驗證了本設(shè)計的可靠性。此外作為嵌入式系統(tǒng),軟件程序的執(zhí)行效率也是一項重要指標。在實驗中,當系統(tǒng)進行1:800檢索時總耗時1.63秒;當進行1:500檢索時總耗時0.99秒。總體來看,系統(tǒng)的實時性也達到了比較良好的指標。
結(jié)語
指紋檢索算法是一種應(yīng)用于大容量指紋數(shù)據(jù)庫的快速指紋搜索方案。本文在對傳統(tǒng)自動指紋識別系統(tǒng)研究的基礎(chǔ)上,設(shè)計了基于多維向量指紋索引因子的快速指紋檢索算法,同時利用國產(chǎn)SOC芯片SEP6200,搭建了嵌入式應(yīng)用平臺,并最終將所設(shè)計的算法以應(yīng)用程序的形式在嵌入式目標平臺上進行映射與實現(xiàn)。系統(tǒng)經(jīng)過實驗測試與分析,得到了良好的性能指標,進一步論證了本設(shè)計的可行性。
評論
查看更多