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