嵌入式指紋識(shí)別系統(tǒng)設(shè)計(jì)
指紋識(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ù)庫(kù)的規(guī)模越來(lái)越大,當(dāng)系統(tǒng)需要處理大容量的指紋數(shù)據(jù)庫(kù)時(shí),如果采用傳統(tǒng)的一對(duì)一的指紋識(shí)別模式,則將消耗相當(dāng)長(zhǎng)的時(shí)間。這對(duì)于實(shí)時(shí)性要求較強(qiáng)的應(yīng)用系統(tǒng)而言,顯然是不可接受的。為了提高大容量數(shù)據(jù)庫(kù)下指紋識(shí)別的效率,一種基于指紋檢索策略的快速搜索方案被提出,這一方案將有效降低整個(gè)指紋識(shí)別過(guò)程的耗時(shí)量。
本文引用地址:http://www.ex-cimer.com/article/201610/309213.htm此外,在嵌入式技術(shù)高速發(fā)展的今天,市場(chǎng)對(duì)于高度集成化、便攜化、智能化的嵌入式指紋系統(tǒng)有著強(qiáng)烈的需求??紤]到嵌入式指紋系統(tǒng)需要進(jìn)行現(xiàn)場(chǎng)指紋采集、指紋查找和驗(yàn)證等過(guò)程,則更需要合理的策略來(lái)保證系統(tǒng)的實(shí)時(shí)性和可靠性。因此,設(shè)計(jì)高效的嵌入式指紋檢索算法,并在具有大容量指紋數(shù)據(jù)庫(kù)的嵌入式系統(tǒng)下實(shí)現(xiàn)指紋的快速檢索與匹配,有著重要的研究意義和廣泛的商業(yè)價(jià)值。
1. 自動(dòng)指紋識(shí)別系統(tǒng)研究
隨著計(jì)算機(jī)和信息技術(shù)的發(fā)展,F(xiàn)BI和法國(guó)巴黎警察局于上世紀(jì)六十年代開(kāi)始了對(duì)自動(dòng)指紋識(shí)別系統(tǒng)AFIS(Automatic Fingerprint Identification System)的研究。自動(dòng)指紋識(shí)別系統(tǒng)(AFIS)最初使用于刑事案件偵破之中,到了九十年代,被廣泛用于個(gè)人身份的鑒定。
自動(dòng)指紋識(shí)別系統(tǒng)(AFIS)是一個(gè)典型的生物特征識(shí)別系統(tǒng),它包括了指紋圖像采集模塊、圖像預(yù)處理模塊、指紋特征分析與提取模塊、指紋對(duì)比匹配模塊等幾個(gè)部分。在實(shí)際應(yīng)用中,一個(gè)完整的自動(dòng)指紋識(shí)別系統(tǒng)一般可以實(shí)現(xiàn)指紋注冊(cè)和指紋匹配兩大功能。在進(jìn)行指紋注冊(cè)時(shí),系統(tǒng)首先通過(guò)指紋圖像采集模塊采樣得到待注冊(cè)用戶的指紋圖像數(shù)據(jù);隨后將這些數(shù)字化的圖像信息傳入主控制器,并由圖像預(yù)處模塊進(jìn)行預(yù)處理加工;接著由指紋特征分析與提取模塊提取出需要的指紋特征,并生成指紋特征模板;最后將特征模板存放到指紋數(shù)據(jù)庫(kù)中。在進(jìn)行指紋匹配時(shí),首先依然是采集待鑒定用戶的指紋圖像數(shù)據(jù);接著同樣進(jìn)行圖像預(yù)處理和指紋特征提??;然后利用提取到的待測(cè)指紋特征與指紋庫(kù)中的指紋特征模板進(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ù)庫(kù)下自動(dòng)指紋識(shí)別系統(tǒng)運(yùn)行效率低下的問(wèn)題,目前學(xué)術(shù)界也提出了相關(guān)優(yōu)化措施,其中以指紋分類策略和指紋檢索策略最具代表性。指紋分類技術(shù)的不足之處在于人體指紋并非均勻的分布在各個(gè)指紋類中,在很大的數(shù)據(jù)庫(kù)下并不能很有效的減小對(duì)比范圍;另外對(duì)于模糊指紋,并不能起到準(zhǔn)確的分類效果。而指紋檢索技術(shù)則能較好的避免以上問(wèn)題,在縮小對(duì)比范圍的同時(shí),也克服了模糊指紋分類不確定的缺陷。
2. 指紋檢索算法與程序設(shè)計(jì)
2.1指紋圖像預(yù)處理算法
指紋檢索的首要環(huán)節(jié)就是進(jìn)行指紋圖像的預(yù)處理工作,其目的是為了去除圖像無(wú)效區(qū)域、降低噪聲,從而提高指紋檢索的效率。在利用指紋采集器獲取到灰度化的原始指紋圖像后,首先是進(jìn)行指紋圖像的分割,提取出指紋前景區(qū);然后再通過(guò)計(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)算法對(duì)指紋圖像進(jìn)行增強(qiáng)處理。在濾波前首先需要計(jì)算指紋圖像的脊線方向場(chǎng)圖像和頻率特性 圖,對(duì)于指紋脊線方向場(chǎng)信息,采用經(jīng)典的Sobel算子求取像素的梯度值,然后利用求出的像素橫向梯度矢量Gx和縱向梯度矢量Gy計(jì)算方向角度值;對(duì)于指紋頻率信息,則通過(guò)計(jì)算某一區(qū)域指紋脊線間平均像素距離而得到。獲得以上信息后,再利用Gabor濾波函數(shù)對(duì)指紋圖像做增強(qiáng)處理。
得到增強(qiáng)的指紋圖像后,還要對(duì)圖像進(jìn)行二值化和細(xì)化處理。二值化是使灰度圖像變成黑白圖像,將圖像在灰度層次上從原來(lái)的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算法,該算法的思路是在指紋圖像某像素點(diǎn)區(qū)域內(nèi),按圍繞該點(diǎn)的閉合曲線逆時(shí)針?lè)较蛐D(zhuǎn)一周,計(jì)算方向角度旋轉(zhuǎn)變化量的和,最后以計(jì)算結(jié)果來(lái)尋找核心點(diǎn)。計(jì)算過(guò)程中如果某像素點(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所示:
在提取指紋細(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。
圖4 8鄰域像素圖
根據(jù)Crossing Number (CN)理論,在8鄰域像素圖中按照公式1計(jì)算像素點(diǎn)的CN值。例如在圖2和圖3中,8領(lǐng)域像素區(qū)域內(nèi)中心點(diǎn)的CN值分別為1和3。
最后按上述方法對(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)算子來(lái)表征。
2.3 指紋索引與檢索算法
在得到一系列的指紋特征后,接下來(lái)就是設(shè)計(jì)指紋綜合索引因子。索引因子以多維向量的形式表示,概括了一枚指紋圖像的綜合特征。指紋檢索時(shí)通過(guò)將待查詢指紋的索引因子與數(shù)據(jù)庫(kù)中指紋的索引因子相比較,可快速計(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π)。
檢索開(kāi)始時(shí),設(shè)待查詢指紋的綜合索引因子為S{Θm×n,F(xiàn)m×n,D,Δ}, 指紋數(shù)據(jù)庫(kù)中的指紋綜合索引因子為S’{Θ’m×n,F(xiàn)’m×n,D’,Δ’}。然后計(jì)算以下各項(xiàng)相似度分?jǐn)?shù):
其中dj=θ[j]-θ’[j], (j=1,2,…,m×n;θ[j]為指紋圖像第j塊的局部脊線方向角)。
最后根據(jù)以上4個(gè)相似度值計(jì)算S和S’這兩枚指紋的總體相似分?jǐn)?shù)T。
公式7中μ表示各部分相似度值的權(quán)重因子。根據(jù)實(shí)際測(cè)試,在保證檢索效果最佳時(shí),μ的各項(xiàng)經(jīng)驗(yàn)值分別?。?mu;1=0.28,μ2=0.16,μ3=0.30,μ4=0.26。檢索算法按照索引因子比對(duì)法則將待查詢指紋與數(shù)據(jù)庫(kù)中的所有指紋進(jìn)行檢索對(duì)比,在遍歷完整個(gè)指紋數(shù)據(jù)庫(kù)以后,得到了一系列的相似度分?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è)入庫(kù)時(shí),軟件會(huì)先進(jìn)行指紋圖像采集,然后對(duì)圖像進(jìn)行預(yù)處理,接著提取出指紋的細(xì)節(jié)特征并建立指紋索引因子,最后將指紋特征模板和對(duì)應(yīng)的索引因子入庫(kù)保存。而當(dāng)需要進(jìn)行指紋檢索時(shí),系統(tǒng)同樣會(huì)先進(jìn)行指紋采集、圖像預(yù)處理、特征提取和索引因子建立,然后利用索引因子進(jìn)行指紋庫(kù)檢索,找出與查詢指紋最相似的一批待匹配指紋,最后利用匹配程序?qū)@部分指紋逐一對(duì)比,給出匹配結(jié)果。
圖5 嵌入式指紋檢索軟件執(zhí)行流程圖
3. 嵌入式應(yīng)用平臺(tái)設(shè)計(jì)
為了使所設(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為核心控制單元。SEP6200是一顆32位的高性能應(yīng)用處理器,主頻達(dá)到800Mhz,有著高效的運(yùn)算和控制能力,能夠較好的執(zhí)行指紋檢索程序。主控制器配合DDR、Nand Flash、LCD、USB指紋采集器等外圍設(shè)備,搭建成了完整的嵌入式指紋檢索硬件平臺(tái),圖6是所設(shè)計(jì)的嵌入式指紋檢索系統(tǒng)的硬件框架結(jié)構(gòu)圖。系統(tǒng)中主控制器SEP6200用于控制指紋采樣和進(jìn)行任務(wù)調(diào)度;DDR模塊用來(lái)臨時(shí)存儲(chǔ)指紋圖像數(shù)據(jù)和執(zhí)行軟件程序;Nand Flash用以存放算法軟件代碼和指紋數(shù)據(jù)庫(kù);LCD顯示屏在執(zhí)行算法時(shí)用于提供良好的GUI用戶界面;USB指紋采集器則是用來(lái)采集原始指紋圖像,并將圖像數(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è)開(kāi)源軟件系統(tǒng),有著良好的可配置、可裁剪特性,同時(shí)其開(kāi)發(fā)周期短、成本低、安全性高,非常適用于嵌入式系統(tǒng)下指紋檢索應(yīng)用軟件的開(kāi)發(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下開(kāi)發(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)用層通過(guò)URB獲得指紋圖像數(shù)據(jù)。此外,對(duì)于LCD液晶顯示屏也需要提供相應(yīng)的驅(qū)動(dòng)支持,LCD通常由微處理器的LCDC(LCD Controller,LCD控制器)進(jìn)行控制。
4. 系統(tǒng)測(cè)試與分析
在系統(tǒng)設(shè)計(jì)完成之后,筆者對(duì)系統(tǒng)的性能和效率等指標(biāo)做了相應(yīng)的測(cè)試。實(shí)驗(yàn)中采用了兩個(gè)指紋數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)驗(yàn)證,分別是國(guó)際標(biāo)準(zhǔn)指紋測(cè)試庫(kù)FVC2000-DB3和本系統(tǒng)采集自建的指紋數(shù)據(jù)庫(kù)庫(kù)OWN-DB。FVC2000-DB3包含800張指紋圖像,OWN-DB包了含500張指紋圖像,兩庫(kù)中的圖像都以8位灰度的BMP格式保存,圖7和圖8分別為兩個(gè)指紋數(shù)據(jù)庫(kù)的示例圖像。
指紋檢索算法的性能采用檢索穿透率(Penetration Rate, PR)和檢索錯(cuò)誤率 (Error Rate, ER)衡量。檢索穿透率(PR)定義為檢索得出的待匹配指紋數(shù)量占整個(gè)數(shù)據(jù)庫(kù)的比重,該比重可以由算法程序員自行設(shè)定;檢索錯(cuò)誤率(ER)則定義為在某一穿透率的限制下,在待匹配指紋中未檢測(cè)到目標(biāo)指紋的概率,即檢索失敗率。在實(shí)驗(yàn)中利用所述的兩個(gè)指紋數(shù)據(jù)庫(kù)對(duì)系統(tǒng)進(jìn)行測(cè)試,得到一系列的實(shí)驗(yàn)數(shù)據(jù),將這些實(shí)驗(yàn)數(shù)據(jù)進(jìn)行曲線擬合,繪制出如圖9所示的曲線圖。
圖9 指紋檢索系統(tǒng)的性能試驗(yàn)數(shù)據(jù)
從實(shí)驗(yàn)數(shù)據(jù)圖可知,在FVC2000-DB3數(shù)據(jù)庫(kù)上,當(dāng)檢索穿透率為10%時(shí),系統(tǒng)檢索錯(cuò)誤率在6%左右。而在OWN-DB數(shù)據(jù)庫(kù)上,當(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秒;當(dāng)進(jìn)行1:500檢索時(shí)總耗時(shí)0.99秒??傮w來(lái)看,系統(tǒng)的實(shí)時(shí)性也達(dá)到了比較良好的指標(biāo)。
結(jié)語(yǔ)
指紋檢索算法是一種應(yīng)用于大容量指紋數(shù)據(jù)庫(kù)的快速指紋搜索方案。本文在對(duì)傳統(tǒng)自動(dòng)指紋識(shí)別系統(tǒng)研究的基礎(chǔ)上,設(shè)計(jì)了基于多維向量指紋索引因子的快速指紋檢索算法,同時(shí)利用國(guó)產(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)過(guò)實(shí)驗(yàn)測(cè)試與分析,得到了良好的性能指標(biāo),進(jìn)一步論證了本設(shè)計(jì)的可行性。
評(píng)論