在壹開始,通過指紋讀取設備讀取到人體指紋的圖象,取到指紋圖象之後,要對原始圖象進行初步的處理,使之更清晰。
接下來,指紋辨識軟件建立指紋的數字表示——特征數據,壹種單方向的轉換,可以從指紋轉換成特征數據但不能從特征數據轉換成為指紋,而兩枚不同的指紋不會產生相同的特征數據。軟件從指紋上找到被稱為“節點”(minutiae)的數據點,也就是那些指紋紋路的分叉、終止或打圈處的坐標位置,這些點同時具有七種以上的唯壹性特征。因為通常手指上平均具有70個節點,所以這種方法會產生大約490個數據。
有的算法把節點和方向信息組合產生了更多的數據,這些方向信息表明了各個節點之間的關系,也有的算法還處理整幅指紋圖像。總之,這些數據,通常稱為模板,保存為1K大小的記錄。無論它們是怎樣組成的,至今仍然沒有壹種模板的標準,也沒有壹種公布的抽象算法,而是各個廠商自行其是。
最後,通過計算機模糊比較的方法,把兩個指紋的模板進行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結果。
二. 取得指紋圖象
1.取象設備原理
取像設備分成兩類:光學、矽晶體傳感器和其他。
光學取像設備有最悠久的歷史,可以追溯到20世紀70年代。依據的是光的全反射原理(FTIR)。光線照到壓有指紋的玻璃表面,反射光線由CCD去獲得,反射光的數量依賴於壓在玻璃表面指紋的脊和谷的深度和皮膚與玻璃間的油脂。光線經玻璃設到谷後反射到CCD,而設到脊後則不反射到CCD(確切的是脊上的液體反光的)。
由於最近光學設備的革新,極大地降低了設備的體積。最近90年代中期,傳感器可以裝在6x3x6英寸的盒子裏,在不久的將來更小的設備是3x1x1英寸。這些進展取決於多種光學技術的發展而不是FTIR的發展。例如:纖維光被用來捕捉指紋圖象。纖維光束垂直射到指紋的表面,他照亮指紋並探測反射光。另壹個方案是把含有壹微型三棱鏡矩陣的表面安裝在彈性的平面上,當手指壓在此表面上時,由於脊和谷的壓力不同而改變了微型三棱鏡的表面,這些變化通過三棱鏡光的反射而反映出來。
應用晶體傳感器是最近在市場上才出現的,盡管它在傳奇文學作品中已經出現近20年。這些含有微型晶體的平面通過多種技術來繪制指紋圖象。電容傳感器通過電子度量被設計來捕捉指紋。電容設備能結合大約100,000導體金屬陣列的傳感器,其外面是絕緣的表面,當用戶的手指放在上面時,皮膚組成了電容陣列的另壹面。電容器的電容值由於金屬間的距離而變化,這裏指的是脊(近的)和谷(遠的)之間的距離。壓感式表面的頂層是具有彈性的壓感介質材料,他們依照指紋的外表地形(凹凸)轉化為相應的電子信號。溫度感應傳感器被設計為感應壓在設備上的脊和遠離設備的谷溫度的不同。
超聲波掃描被認為是指紋取像技術中非常好的壹類。很象光學掃描的激光,超聲波掃描指紋的表面。緊接著,接收設備獲取了其反射信號,測量他的範圍,得到脊的深度。不象光學掃描,積累在皮膚上的臟物和油脂對超音速獲得的圖象影響不大,所以這樣的圖象是實際脊地形(凹凸)的真實反映。
由於巨大的指紋辨別市場,如果想指紋識別在商業上的巨大成功,三個因素中的兩個因素是非常重要的,它們是低價格和緊湊的體積(另外壹個是上面談到的識別率)。90年代初到後期,取像設備的價格已經劇烈的下降,制造商最近又承諾,在最近幾年後,又要進行大幅度降價。至於體積,上面已經提到光學傳感器的體積從6x3x3英寸降到3x1x1英寸。應用晶體的傳感器的體積差不多是這樣或者更小。在晶片上,集成電路的技術越來越高(如:數字化電路把指紋信號轉化為數字信號強度),系統體積將越來越小,晶體傳感器的體積接近與手指大小所需要的體積,其長寬大約是1x1英寸高不到1英寸。
在晶體傳感器之前,壹些沒有用到的機能是局部調整、軟件控制、自動獲取控制(AGC)技術。對於大多數光學設備,只能通過人工調整來改變圖象的質量。然而,晶體傳感器提供自動調節象素,行以及局部範圍的敏感程度,從而提高圖象的質量。AGC在不同的環境下結合反饋的信息產生高質量的圖象。例如,壹個不清晰(對比度差)的圖象,如幹燥的指紋,能夠被感覺並增強靈敏度,在捕捉的瞬間產生清晰的圖象(對比度好);由於提供了局部調整的能力,圖象不清晰(對比度差)的區域也能夠被檢測到(如:手指壓得較輕的地方)並在捕捉的瞬間為這些象素提高靈敏度。
光學掃描也有自己的優勢。其中之壹在較大的模型可以做較大指紋取像區域。而制造較大的應用晶體傳感器的指紋取像區域是非常昂貴的,所以應用晶體傳感器的指紋取像區域小於1平方英寸,而光學掃描的指紋取像區域等於或大於1平方英寸。然而這個對於較小的光學掃描設備並不是優勢。較小的光學掃描也是較小指紋取像區域,這是因為較大的指紋取像區域需要較長的焦點長度,所以要有較大包裝,否則如果較大的取像區域使用較小的包裝,則光學掃描設備會受到圖象邊緣線形扭曲的影響。
晶體傳感器技術最重要的弱點在於,它們容易受到靜電的影響,這使得晶體傳感器有時會取不到圖象,甚至會被損壞,另外,它們並不象玻璃壹樣耐磨損,從而影響了使用壽命。
總之,各種技術都具有它們各自的優勢,也有各自的缺點。我們在下面給出三種主要技術的比較。
比較項目 光學全反射技術 矽晶體電容傳感技術 超聲波掃描
體 積 大 小 中
耐 用 性 非常耐用 容易損壞 壹般
成像能力 幹手指差,但汗多的和稍臟的手指成像模糊 幹手指好,但汗多的和稍臟的手指不能成像 非常好
耗 電 較多 較少 較多
成 本 低 低 很高
2. 圖象增強
剛獲得的圖象有很多噪音。這主要由於平時的工作和環境引起的,比如,手指被弄臟,手指有刀傷、疤、痕、幹燥、濕潤或撕破等。圖象增強是減弱噪音,增強脊和谷的對比度。想得到比較幹凈清晰的圖象並不是容易的事情。為這個目標而為處理指紋圖象所涉及的操作是設計壹個適合、匹配的濾鏡和恰當的閥值。
指紋還有壹些其他的有用的信息。比如:類似於脊的“多余的部分”,即使壹些特別的脊不連續,但仍可認為是脊的壹部分,從而決定他的走向。我們可以利用這些“多余的信息”。
有很多圖象增強的方法。大多數是通過過濾圖象與脊局部方向相匹配。圖象首先分成幾個小區域(窗口),並在每個區域上計算出脊的局部方向來決定方向圖。可以由空間域處理,或經過快速2維傅立葉變換後的頻域處理來得到每個小窗口上的局部方向。
設計合適的,相匹配的濾鏡,使之實用於圖象上所有的象素(空間場是其中的壹個)。依據每個象素處脊的局部走向,濾鏡應增強在同壹方向脊的走向,並且在同壹位置,減弱任何不同於脊的方向。後者含有橫跨脊的噪音,所以其垂直於脊的局部方向上的那些不正確的“橋”會被濾鏡過濾掉。所以,合適的、匹配的濾鏡可以恰到好處地確定脊局部走向的自身的方向,它應該增強或匹配脊而不是噪音。
圖象增強,噪音減弱後,我們準備開始選取壹些脊。雖然,在原始灰階圖象中,其強度是不同的而按壹定的梯度分布,但它們真實的信息被簡單化為二元:脊及其相對的背景。二元操作使壹個灰階圖象變成二元圖象,圖象在強度層次上從原始的256色(8-bits)降為2色(1-bits)。圖象二元化後,隨後的處理就會比較容易。
二元化的困難在於,並不是所有的指紋圖象有相同的閥值,所以壹般不采取從單純的強度入手,而且單壹的圖象的對照物是變化的,比如,手在中心地帶按的比較緊。因此壹個叫“局部自適應的閥值(locally adaptive thresholding)”的方法被用來決定局部圖象強度的閥值。
在節點提取之前的最後壹道工序是“細化(thinning)”。細化是將脊的寬度降為單個象素的寬度。壹個好的細化方法是保持原有脊的連續性,降低由於人為因素所造成的影響。人為因素主要是毛刺,帶有非常短的分支而被誤認為是分叉。認識到合法的和不合法的節點後,在特征提取階段排除這些節點。
三. 指紋識別技術的基本原理
指紋其實是比較復雜的。與人工處理不同,許多生物識別技術公司並不直接存儲指紋的圖象。多年來在各個公司及其研究機構產生了許多數字化的算法(美國有關法律認為,指紋圖象屬於個人隱私,因此不能直接存儲指紋圖象)。但指紋識別算法最終都歸結為在指紋圖象上找到並比對指紋的特征。
指紋的特征
我們定義了指紋的兩類特征來進行指紋的驗證:總體特征和局部特征。總體特征是指那些用人眼直接就可以觀察到的特征,包括:
基本紋路圖案
環型(loop), 弓型(arch), 螺旋型(whorl)。其他的指紋圖案都基於這三種基本圖案。僅僅依靠圖案類型來分辨指紋是遠遠不夠的,這只是壹個粗略的分類,但通過分類使得在大數據庫中搜尋指紋更為方便。
模式區(Pattern Area)
模式區是指指紋上包括了總體特征的區域,即從模式區就能夠分辨出指紋是屬於那壹種類型的。有的指紋識別算法只使用模式區的數據。 Aetex 的指紋識別算法使用了所取得的完整指紋而不僅僅是模式區進行分析和識別。
核心點(Core Point)
核心點位於指紋紋路的漸進中心,它用於讀取指紋和比對指紋時的參考點。
三角點(Delta)
三角點位於從核心點開始的第壹個分叉點或者斷點、或者兩條紋路會聚處、孤立點、折轉處,或者指向這些奇異點。三角點提供了指紋紋路的計數和跟蹤的開始之處。
式樣線( Type Lines)
式樣線是在指包圍模式區的紋路線開始平行的地方所出現的交叉紋路,式樣線通常很短就中斷了,但它的外側線開始連續延伸。
紋數( Ridge Count)
指模式區內指紋紋路的數量。在計算指紋的紋數時,壹般先在連接核心點和三角點,這條連線與指紋紋路相交的數量即可認為是指紋的紋數。 局部特征 局部特征是指指紋上的節點。兩枚指紋經常會具有相同的總體特征,但它們的局部特征——節點,卻不可能完全相同。
節點(Minutia Points)
指紋紋路並不是連續的,平滑筆直的,而是經常出現中斷、分叉或打折。這些斷點、分叉點和轉折點就稱為“節點”。就是這些節點提供了指紋唯壹性的確認信息。
指紋上的節點有四種不同特性:
1. 分類 – 節點有以下幾種類型,最典型的是終結點和分叉點
A. 終結點(Ending) -- 壹條紋路在此終結。
B. 分叉點(Bifurcation) -- 壹條紋路在此分開成為兩條或更多的紋路。
C. 分歧點(Ridge Divergence) -- 兩條平行的紋路在此分開。
D. 孤立點(Dot or Island) -- 壹條特別短的紋路,以至於成為壹點
E. 環點(Enclosure) -- 壹條紋路分開成為兩條之後,立即有合並成為壹條,這樣形成的壹個小環稱為環點
F. 短紋(Short Ridge) -- 壹端較短但不至於成為壹點的紋路,
2. 方向(Orientation) -- 節點可以朝著壹定的方向。
3. 曲率(Curvature) -- 描述紋路方向改變的速度。
4. 位置(Position) -- 節點的位置通過(x,y)坐標來描述,可以是絕對的,也可以是相對於三角點或特征點的。
四. 系統問題(system issues)
有效的指紋辨識系統不僅僅依賴於辨識算法,還有其他的壹些重要因素,這裏稱之為“系統問題”。包括註冊和辨識過程,速度和工作學、用戶信息的反饋、排斥欺騙和安全考慮。 為了得到較好的識別率,重要的是在註冊時盡量獲得最好的指紋圖象,這是因為註冊壹般只進行壹次,而以後的辨識是經常的。壹個較好的指紋識別系統應要求用戶的指紋在登記指紋時多次獲取指紋,然後,把最好的指紋或每次獲得的指紋的綜合的結果作為註冊的指紋。
又壹個方法可以作為指紋系統設計時的考慮,即我們可以多次取像直到得到壹個確定的匹配,但這個過程在降低了拒判率的同時,提高了誤判率。辨識不僅僅只用壹個手指的指紋,可以用兩個或更多的手指的指紋,這樣可以增強識別率,當然這樣壹來會浪費用戶的許多時間。
系統的工作學是很重要的。例如:在個人識別系統中,人們願意等待時間的極限,這個極限時間根據特定的應用而不同,依賴於在處理的過程中人們正在做什麽。例如:刷卡或輸入ID號的過程,從0.5-1.5秒被認為是可接受的時間;另外,拒判而重復次數不應超過3次。
驗證和辨識的過程、取像設備的設計拒判率和誤判率關系的設定,為了盡可能的獲得高質量的指紋圖象而提示用戶手指該怎樣放置,正確的反饋信息是非常有用的。如“手指放得太高”,“手指按得不夠重”等。
在指紋識別系統中,反欺騙的措施用來阻止人造指紋、死指紋和殘留指紋。殘留指紋是由於皮膚油或其他原因殘留在傳感器上。傳感器應建立反欺對策,使得有能力識別真實的皮膚溫度、阻力或電容。
既然指紋識別系統是為安全而考慮的,例如,節點模板數據庫必須是安全的,以防止壹個冒名頂替的人將自己的指紋存進數據庫而成為合法的用戶。指紋匹配的結果是“YES”或“NO”,以此獲得訪問權。如果有人簡單地繞過指紋匹配而能去直接發送壹個“YES”,那麽系統就是不安全的。這個問題的解決是確保主機接收的識別結果是來自真正的合法用戶,如通過數字信號發送給主機。
總之,在壹個完整的指紋識別應用系統中有許多問題值得考慮,解決好這些問題有助於成功地建立有效的系統,相反,則有可能會使得高明的技術被束之高閣,甚至導致應用系統最後的失敗。