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