關(guān)于提高指紋識(shí)別速度的探討
來(lái)源:數(shù)字音視工程網(wǎng) 編輯:數(shù)字音視工程 2013-01-06 10:02:05 加入收藏
隨著指紋識(shí)別技術(shù)的發(fā)展,指紋識(shí)別的應(yīng)用將越來(lái)越廣范,不論是公安部門(mén)刑偵,銀行金庫(kù)門(mén)禁,軍事槍支管理等,還是一般公司的考勤門(mén)禁,乃至一些酒店、百貨公司的會(huì)員卡等,指紋識(shí)別的應(yīng)用大有取代曾一度盛行的ID、IC卡和網(wǎng)絡(luò)上、電腦上、銀行取款機(jī)上琳瑯滿目的密碼驗(yàn)證之勢(shì), 于是使用指紋識(shí)別的用戶越來(lái)越多,這就對(duì)指紋識(shí)別的速度提出了新的要求,如何提高指紋速度呢?
如何提高指紋速度呢?這是一個(gè)備受關(guān)注的問(wèn)題。以下先概述一下指紋識(shí)別的基本原理等,再提出幾點(diǎn)個(gè)人假想以探討。
基本原理
指紋識(shí)別技術(shù)是通過(guò)取像設(shè)備讀取指紋圖像,然后用計(jì)算機(jī)識(shí)別軟件提取指紋的特征數(shù)據(jù),最后通過(guò)匹配識(shí)別算法得到識(shí)別結(jié)果,以確定指紋所有人身份的生物特征識(shí)別技術(shù)。
指紋識(shí)別技術(shù)主要涉及指紋圖像采集、指紋圖像處理、特征提取、保存數(shù)據(jù)、特征值的比對(duì)與匹配等過(guò)程。首先,通過(guò)指紋讀取設(shè)備讀取到人體指紋的圖像,并對(duì)原始圖像進(jìn)行初步的處理,使之更清晰。然后,指紋辨識(shí)算法建立指紋的數(shù)字表示--特征數(shù)據(jù),這是一種單方向的轉(zhuǎn)換,可以從指紋轉(zhuǎn)換成特征數(shù)據(jù)但不能從特征數(shù)據(jù)轉(zhuǎn)換成為指紋,而且兩枚不同的指紋不會(huì)產(chǎn)生相同的特征數(shù)據(jù)。特征文件存儲(chǔ)從指紋上找到被稱為"細(xì)節(jié)點(diǎn)"(minutiae)的數(shù)據(jù)點(diǎn),也就是那些指紋紋路的分叉點(diǎn)或末梢點(diǎn)。這些數(shù)據(jù)通常稱為模板,至今仍然沒(méi)有一種模板的標(biāo)準(zhǔn),也沒(méi)有一種公布的抽象算法,而是各個(gè)廠商自行其是。最后,通過(guò)計(jì)算機(jī)把兩個(gè)指紋的模板進(jìn)行比較,計(jì)算出它們的相似程度,得到兩個(gè)指紋的匹配結(jié)果。
技術(shù)特點(diǎn)
相對(duì)于其它生物特征鑒定技術(shù),自動(dòng)指紋識(shí)別是一種更為理想的身份確認(rèn)技術(shù)。原因如下:
每個(gè)人的指紋是獨(dú)一無(wú)二;
每個(gè)人的指紋是相當(dāng)固定的,很難發(fā)生變化;
便于獲取指紋樣本,易于開(kāi)發(fā)識(shí)別系統(tǒng),實(shí)用性強(qiáng);
可以利用多個(gè)指紋構(gòu)成多重口令,提高系統(tǒng)的安全性,又不增加系統(tǒng)的設(shè)計(jì)負(fù)擔(dān);
系統(tǒng)對(duì)指紋模板庫(kù)的存儲(chǔ)量較小,便于實(shí)現(xiàn)異地確認(rèn),支持計(jì)算機(jī)的網(wǎng)絡(luò)功能。
從以上的分析可以看到,用自動(dòng)指紋識(shí)別相對(duì)于其它方法不僅具有許多獨(dú)到的信息安全角度的優(yōu)點(diǎn),更重要的是還具有很高的實(shí)用性、可行性。
算法概述
分類算法
正如人們?cè)谄綍r(shí)把指紋分成簸箕,斗等類型,在自動(dòng)指紋識(shí)別的研究中,指紋被分成五大類型:拱類、左環(huán)類、右環(huán)類、尖拱類、旋渦類(也就是"斗")。指紋分類的主要目的是方便大容量指紋庫(kù)的管理,并減小搜索空間,加速指紋匹配過(guò)程。指紋分類是基于指紋脊或谷的整體流向以及指紋的核心點(diǎn)。很多研究者試圖解決指紋分類問(wèn)題,但至今分類算法的誤識(shí)率仍較高。如何提高指紋分類的準(zhǔn)確率在自動(dòng)指紋識(shí)別研究中是一個(gè)較關(guān)鍵的問(wèn)題。
指紋分類一般包括圖像預(yù)處理(包括圖像分割與圖像增強(qiáng))、方向提取、校準(zhǔn)、特征變換(包括K-L變換和權(quán)重變換)、分類判決等五個(gè)步驟,其中,圖像預(yù)處理包括兩個(gè)步驟--圖像分割與圖像增強(qiáng);圖像分割步驟中,分割器讀輸入的指紋圖,剪切該指紋圖,在基本不損失有用的指紋信息的基礎(chǔ)上產(chǎn)生一個(gè)比原圖像小的指紋圖片。這樣可減少以后各步驟中所要處理的數(shù)據(jù)量; 圖像增強(qiáng)該步驟用以增強(qiáng)分割后的指紋圖,提高圖像質(zhì)量;特征提取將灰度指紋圖轉(zhuǎn)換成黑白圖像,然后生成方向數(shù)組。此數(shù)組是分類系統(tǒng)使用的基本特征;指紋分類器:輸出分類結(jié)果。
壓縮算法
在大容量的指紋庫(kù)中,為了節(jié)省存儲(chǔ)空間必須對(duì)指紋圖進(jìn)行壓縮存儲(chǔ),使用時(shí)再進(jìn)行解壓縮。指紋壓縮與一般的圖像壓縮既有相同的特點(diǎn)又有其本身的特性。相同之處在于指紋壓縮一般也要經(jīng)過(guò)圖像變換、量化和編碼的過(guò)程。解壓縮則需經(jīng)過(guò)解碼、量化解碼和圖像反變換的過(guò)程。
與一般的圖像相比,指紋圖像有自己的特點(diǎn)。指紋圖像的內(nèi)容比較單一,通常由交替出現(xiàn)的寬度大致相同的脊和谷組成。其中的脊末梢和分支點(diǎn)等特征在壓縮過(guò)程中必須能夠很好地保持,否則解壓縮后無(wú)法恢復(fù)的這些關(guān)鍵特征信息將對(duì)指紋的分類和識(shí)別造成不良的影響。 如果使用常用的靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG進(jìn)行壓縮,由于其使用8*8的DCT對(duì)圖像進(jìn)行變換,在高壓縮比的條件下會(huì)產(chǎn)生明顯的方塊效應(yīng),這對(duì)指紋圖像中關(guān)鍵特征的保持是極為不利的。因此,指紋圖像的壓縮要采用一些有針對(duì)性的算法。
目前普遍使用的指紋壓縮算法是由FBI提出的WSQ算法,它可以算是指紋研究領(lǐng)域一種通用的標(biāo)準(zhǔn)。這是一種基于自適應(yīng)的標(biāo)量量化和小波分解的壓縮算法,在有失真的條件下壓縮比不高,約為18:1。
增強(qiáng)算法
一個(gè)專業(yè)的指紋識(shí)別依賴于對(duì)脊線結(jié)構(gòu)、細(xì)節(jié)點(diǎn)信息的辨識(shí)。然而在實(shí)踐中,由于手指本身的因素和采集條件的影響,采集到的指紋圖像會(huì)不同程度地受到各種噪聲地干擾,因此在進(jìn)行分類和細(xì)節(jié)匹配之前一般要對(duì)采集到的指紋圖像做增強(qiáng)處理。 對(duì)于一個(gè)自動(dòng)指紋識(shí)別系統(tǒng)來(lái)說(shuō),圖像增強(qiáng)算法的優(yōu)劣很大程度決定了系統(tǒng)性能的好壞。
Lin. Hong等人采取的是Gabor濾波器來(lái)實(shí)現(xiàn)圖像的增強(qiáng);G.T.Candela使用二維FFT變換濾波法。這些方法主要是針對(duì)離線采集的指紋圖像比較合適,對(duì)計(jì)算機(jī)的性能要求比較高。而對(duì)于CMOS傳感器來(lái)說(shuō),指紋圖像質(zhì)量比較差,對(duì)比度小,指紋重疊區(qū)域小,而且處理的是活體實(shí)時(shí)采集的指紋圖像,這就需要一些更有效,速度更快的指紋圖像增強(qiáng)算法。
匹配算法
指紋匹配是指紋識(shí)別系統(tǒng)的核心步驟,也是一個(gè)重要的研究課題,人們?cè)谶@方面作了很多工作。算法共同的缺點(diǎn)是時(shí)間復(fù)雜度高,準(zhǔn)確度不高,不適宜于在線的快速指紋識(shí)別。指紋細(xì)節(jié)匹配算法也有待于深入研究。指紋匹配系統(tǒng)從獲得指紋圖到獲得匹配結(jié)果將經(jīng)過(guò)以下幾個(gè)處理步驟。其中各部分功能如下:
圖像預(yù)處理:分為圖像分割與圖像增強(qiáng)兩部分。其功能同分類系統(tǒng)。
細(xì)節(jié)提?。禾崛〖咕€上的末梢點(diǎn)及分叉點(diǎn),用于今后的細(xì)節(jié)匹配。
細(xì)節(jié)匹配:用上一步獲得的細(xì)節(jié)點(diǎn)去匹配數(shù)據(jù)庫(kù)中的模板,給出匹配結(jié)果。
識(shí)別算法提速方法概述
分類法:分類法就是以上的分類算法。在注冊(cè)指紋時(shí),根據(jù)指紋的特征進(jìn)行詳細(xì)分類,然后按照類別分開(kāi)存儲(chǔ),如PEFIS的 PIS2000 版,把指紋數(shù)據(jù)分為101類,每類指紋分存于相應(yīng)編號(hào)的庫(kù)文件中,在匹配時(shí),也同樣判斷待匹配指紋的分類,然后打開(kāi)相應(yīng)的庫(kù)文件進(jìn)行匹配運(yùn)算。這樣可在一定程度上減少被匹配指紋特征數(shù)據(jù)量。例如101類中,每類有指紋50枚,共5050枚,匹配時(shí),一枚待匹配指紋在分類后只需與相應(yīng)類中的50枚已登記指紋進(jìn)行匹配就行了,而非同時(shí)與5050枚指紋做匹配運(yùn)算,所以提高速度;
減少可旋轉(zhuǎn)度:可旋轉(zhuǎn)度是指登記指紋時(shí)手指按于指紋儀的角度與要匹配時(shí)手指按于指紋儀的角度差。有些匹配算法可允許360度旋轉(zhuǎn),則手指可以任意方向按于指紋儀上取象(如 U.ARE.U 算法),但這種算法除非有快速準(zhǔn)確的指紋定位算法,否則將以大量的旋轉(zhuǎn)試比對(duì)做為代價(jià),使得匹配變慢。一些公司的算法則盡可能減少可旋轉(zhuǎn)度,如PEFIS 公司的,可旋轉(zhuǎn)度大概為45度,但45度的可旋轉(zhuǎn)范圍也已經(jīng)能滿足人們的需要了;
減少特征點(diǎn):特征點(diǎn)則以上匹配算法中所提到的細(xì)節(jié)。在一個(gè)指紋中可被提取的特征點(diǎn)往往很多,提取的越多匹配運(yùn)算的誤認(rèn)率也可越小,但由于取特征點(diǎn)多,則要處理的數(shù)據(jù)量會(huì)更多,影響速度。所以根據(jù)不同的應(yīng)用選擇較適當(dāng)?shù)淖畲筇卣鼽c(diǎn)數(shù)也是提高算法運(yùn)算速度的一種方法;
分段多線程法:分段多線程法則把已登記的指紋數(shù)據(jù)均等的分段或定額分段后,每段分別由一個(gè)線程完成,可多線程同時(shí)執(zhí)行匹配運(yùn)算,當(dāng)其中一線程中找到匹配的指紋后,即通知其它線程停止。如已登記指紋為 1000 枚,分為 10 段,則每段為100 枚,匹配運(yùn)算時(shí),每條線程最多只需完成待匹配指紋與 100 枚登記指紋的匹配運(yùn)算。但這種做法依賴于計(jì)算機(jī)性能;
多機(jī)協(xié)助法:多機(jī)協(xié)助法與上述 分段多線程法 基本同理,就是把幾部機(jī)器聯(lián)網(wǎng),登記指紋時(shí),待登記者可在聯(lián)網(wǎng)的任一機(jī)中登記,但最好使每部機(jī)中登記的指紋數(shù)相同;驗(yàn)證時(shí),待驗(yàn)證者可在聯(lián)網(wǎng)的任一機(jī)中驗(yàn)證,取得待驗(yàn)證者指紋后,由軟件把該指紋發(fā)布到每一相聯(lián)的機(jī)中匹配,若其中一機(jī)找到匹配的指紋即發(fā)回找到的相應(yīng)信息,收到找到匹配指紋的信息后即向其它機(jī)發(fā)出停止匹配運(yùn)算指令;若每部機(jī)都發(fā)回沒(méi)找到的信息,則待驗(yàn)證的指紋未登記。但這方案需要多機(jī)聯(lián)網(wǎng),成本較高。
假設(shè)與探討
生物識(shí)別技術(shù)的應(yīng)用普遍存在一個(gè)相同的問(wèn)題,就是識(shí)別速度的提高。不管是身體特征的指紋、掌型、眼睛(視網(wǎng)膜和虹膜)、人體氣味、臉型、皮膚毛孔、手腕/手的血管紋理和DNA等,還是行為特點(diǎn)的簽名、語(yǔ)音、行走的步態(tài)、擊打鍵盤(pán)的力度等,目前的識(shí)別速度都還不是很理想,所以研究這方面技術(shù)的人們都在想辦法提速。但可能是由于技術(shù)發(fā)展的歷史因素吧,有以下幾點(diǎn),隨著計(jì)算機(jī)的飛速發(fā)展,是不是可以做一些革命呢?
主要算法由其它硬件實(shí)現(xiàn)
舉個(gè)例子:用PCI橋的(或USB設(shè)置)。系統(tǒng)初始化時(shí),把原已登記的指紋數(shù)據(jù)都寫(xiě)入該P(yáng)CI橋的RAM中;登記指紋時(shí),把取得的指紋特征數(shù)據(jù)同時(shí)寫(xiě)入硬盤(pán)和PCI橋的RAM;驗(yàn)證時(shí),把待匹配指紋特征數(shù)據(jù)發(fā)至PCI橋做匹配運(yùn)算,然后再把結(jié)果返回給正在運(yùn)行的軟件。這種做法的優(yōu)點(diǎn)是相對(duì)減少電腦CPU的負(fù)擔(dān),容易維護(hù)產(chǎn)品版權(quán)等;缺點(diǎn)是:
?PCI橋中的RAM的容量有限,可能限制可登記指紋數(shù)。
?當(dāng)指紋數(shù)多時(shí),每次初始化時(shí),登記的指紋數(shù)據(jù)要從硬盤(pán)拷貝到PCI橋的RAM,較為費(fèi)時(shí)(特別是USB設(shè)置時(shí))。
?硬件設(shè)備升級(jí)沒(méi)有計(jì)算機(jī)發(fā)展快。今天計(jì)算機(jī)的主頻已是 2G 以上可用的指紋識(shí)別卡可能還是計(jì)算機(jī)386時(shí)代時(shí)用的,硬件的落后必然影響性能。難道能在PCI卡(或USB設(shè)備)中處理器運(yùn)行的處理就不可改為以電腦CPU來(lái)處理嗎?
只有1:1方式
什么是1:1 ?1:1技術(shù)整個(gè)過(guò)程可概括為:“你是你自稱的這個(gè)人嗎?”。1:1技術(shù)是一個(gè)驗(yàn)證過(guò)程,是通過(guò)把一個(gè)現(xiàn)場(chǎng)采集到的指紋與一個(gè)已經(jīng)登記的指紋進(jìn)行一對(duì)一的比對(duì),來(lái)確認(rèn)身份的過(guò)程。
只有1:1方式是指某種識(shí)別算法在指紋匹配時(shí),不管指紋庫(kù)中有多少枚指紋,都得一枚取出來(lái)比對(duì)后再取一枚的做法。若庫(kù)中有1000枚已登記的指紋,要在其中找出待匹配指紋的ID,則要進(jìn)行1:1的比對(duì)次數(shù)將是1至1000次中的數(shù),也就是沒(méi)有一點(diǎn)優(yōu)化的做法。能不能對(duì)整批已登記的指紋數(shù)據(jù)進(jìn)行分類甚至索引查找呢?
指紋數(shù)據(jù)庫(kù)以簡(jiǎn)單的文件型數(shù)據(jù)表
幾乎每一個(gè)指紋識(shí)別開(kāi)發(fā)包中都有獲取特征數(shù)據(jù)的函數(shù),有些有提供保存指紋數(shù)據(jù)的數(shù)據(jù)庫(kù),有些沒(méi)有,沒(méi)有的一般匹配運(yùn)算時(shí)也只有1:1方式;而創(chuàng)建指紋數(shù)據(jù)庫(kù)的,往往也只是簡(jiǎn)單的文件,主要用于存儲(chǔ)指紋數(shù)據(jù),而非如 SQL 等數(shù)據(jù)庫(kù)能對(duì)數(shù)據(jù)進(jìn)行優(yōu)化查詢處理。提個(gè)不專業(yè)的設(shè)想,獲取指紋特征數(shù)據(jù)時(shí)可不可以模式化,獲取的指紋特征數(shù)據(jù)可不可以字段化,能否把已登記的指紋數(shù)據(jù)做成一個(gè)表,每個(gè)指紋是一條記錄,每個(gè)分類或特定方位的特征點(diǎn)是特定的字段值。匹配時(shí),待匹配指紋也以同樣方法獲取該指紋的特征記錄,然后執(zhí)行數(shù)據(jù)庫(kù)結(jié)構(gòu)化查詢,發(fā)揮數(shù)據(jù)庫(kù)高速查詢的優(yōu)勢(shì),這樣是不是可以讓指紋識(shí)別速度有個(gè)大的飛躍呢?
評(píng)論comment