每日最新頭條.有趣資訊

清華大學馮建江:指紋識別現狀與研究進展

雷鋒網AI 科技評論按:2018 年 4 月 14 日-15 日,中國圖象圖形學學會圍繞「生物特徵識別」這一主題,在中科院自動化所舉辦第四期「CSIG 影像圖形學科前沿講習班」。

生物特徵識別(BIOMETRICS)技術,是指通過電腦利用人體所固有的生理特徵(指紋、虹膜、面相、DNA等)或行為特徵(步態、擊鍵習慣等)來進行個人身份鑒定的技術。

本期講習班邀請曠視科技首席科學家孫劍,中科院自動化所研究員孫哲南、王亮、赫然,中科院計算所研究員山世光、清華大學副教授馮建江、徐明星,中山大學教授鄭偉詩等八位學者分別就人臉、虹膜、指紋、步態、音紋等人體特徵的研究現狀做了詳細報告。雷鋒網 AI 科技評論作為合作媒體針對會議進行報導。會議整體內容請參考雷鋒網報導:

CSIG 影像圖形學科前沿講習班,曠視和中科院帶來生物特徵識別精彩報告(一)

CSIG 影像圖形學科前沿講習班,山世光等四位學者帶來生物特徵識別精彩報告(二)

本篇文章為講習班報告第四篇,由清華大學副教授馮建江講解,報告題目為:指紋識別現狀與研究進展

馮建江:清華大學自動化系副教授,博士生導師。研究方向為影像處理與模式識別。 擔任國際學術期刊《Image and Vision Computing》編委,國際生物特徵識別學術 會議(International Conference on Biometrics,2014-2016)領域主席,中國生物 特徵識別學術會議(2015-2018)程式委員會主席。獲中國發明專利 10 項、美國 發明專利 4 項,指紋技術授權國內外領軍企業。獲國際會議最佳論文獎 3 次、中 國電子學會科技進步一等獎 1 次、教育部自然科學二等獎 2 次、國家基金委優秀 青年基金。

馮建江——

我的報告題目是《指紋識別現狀與進展》。今天報告分兩個部分,首先介紹的是指紋識別的基本概念和方法,然後主要介紹我們實驗室在指紋識別方面最新的一些工作進展。

一、指紋識別基礎

人類手指上的皮膚和身體的皮膚有很大不同。其一,手指皮膚有凸紋,沒有毛發,不會有油脂,但卻有很多汗孔;其二,指紋具有唯一性和穩定性,隨著年齡的增長指紋上雖然會起皺,但是圖案基本不變;其三,人手接觸各種物體表面通常會留下痕跡。這些特性就使得指紋特別適合做身份識別,也即我們所說的「指紋識別」。

那麽什麽是指紋識別呢?技術性的定義就是:利用傳感器、圖象處理、模式識別的技術來自動或者半自動的識別兩個指紋是否一致。

從上圖中也可以看出,指紋識別主要有三個模塊,分別為影像采集、特徵提取和匹配。首先是傳感器得到影像,然後從影像上面提取一些顯著的特徵,這些特徵比較適合做識別任務,最後對指紋進行匹配工作。

在最後的匹配過程中,根據不同的應用大致有三種匹配方式。第一是1對N匹配,例如將在犯罪現場發現的指紋與指紋數據庫中的指紋進行匹配。第二種應用是先進行1對N匹配,再進行1對1匹配,例如現在出入境一般就有這兩個環節,一個是給外國人發簽證的時候為了防止多重身份,要做一個1對N的排查,當過關的時候則需要1對1地確定入境的是當事人。第三種應用就是1對1的身份驗證,這在現在的手機上面用的比較多。

下面我們針對指紋識別的三個模塊分別做簡要介紹。

1、影像采集

指紋影像的采集可以分兩種。比較早的就是離線采集(off-line method),例如警方一直採用的油墨采集,以及犯罪現場的指紋采集。

圖 3. 在手指蘸上油墨,在卡片上面把指紋按上去。上面兩排為滾動采集,可以采集盡可能多的資訊;下面一排為左右手的平面采集,影像品質稍好。

圖 4. 犯罪現場的指紋采集。這種采集取決於手指按在什麽物體上面,以及當時指紋遺留物的分析(油比較多還是汗比較多),有多種提取方式。首先是通過藥粉或者打特殊光的方式將指紋顯現,然後放一把尺子在旁邊拍照,這可以幫助我們把影像調到標準的分辨率。最後用膠帶等方式把提取物證,然後拿到法庭用。

現在普遍使用的則是在線采集(on-line method)。在線采集的原理比較多。有基於光學全反射原理的,也有通過電容傳感器或者超聲波等方式的,也有用相機直接拍照的。

圖 5. 基於光學全反射原理的指紋在線采集技術。其原理就是當平行光通過三棱鏡照在指紋上時,如果是凸起就不會發生反射,而如果是空氣就會全反射。

但是不管什麽樣采集方式,最後得到的影像大概就是下面這三種。

圖 6. 從左到右分別為油墨指紋、來自現場的潛指紋和基於光學全反射原理的指紋

最左邊是用油墨方式得到的,其實這個方式和現在光學采集的影像很類似,品質比較好,黑白分明。中間的影像品質比較糟糕,是犯罪現場遺留指紋,對於沒有經過特殊訓練的人,很難從中找出特徵。

指紋的品質決定了識別的準確率(當然其他生物特徵的影像品質也是如此)。有很多原因會造成影像品質差。從傳感器的角度來說,不同種類的傳感器在分辨率、信噪比、面積大小等方面差異往往是很大的,這對采集到的資訊的多少有很大影響。此外不同人的手指的皮膚狀況也不一樣,有的人皮膚太乾燥或太潮濕,或者因為長期體力工作劃痕比較多/乳突紋被磨平,這都會造成采集品質較差。另外,當按手指時,按的方式和手的姿態也會對影像品質有影響。這些低品質指紋對於指紋識別算法都是很大的挑戰。

圖 7. 最左側影像,手指較為乾燥,采集到的影像乳突紋斷裂,表現為很多不連續的黑點;中間影像,手指較為潮濕,很多地方一團黑,線與線之間難以分開;最右側影像,手上裂紋較多。

2、特徵提取

指紋的特徵有比較清晰的定義,早些年沒有自動指紋識別算法時指紋鑒定專家就利用這樣的特徵來做識別。這些特徵依據分辨率大致可以分為三個層次。

第一層:脊線方向和頻率。即指紋的方向場和脊線的密集程度。脊線方向場中的奇異點也屬於第一層特徵,比如這個指紋的中央有兩個奇異點。

第二層:脊線。當分辨率提高時,我們可以觀察到脊線以及上面的一些特殊點(端點和分叉點),這也叫做細節點。

第三層:脊線的內外輪廓。當分辨率再高一些可以觀察到脊線並不是線,我們可以看到它有自己的外輪廓,中間還有一些白色空洞(即汗孔);不同手指上這些汗孔的位置和形態也存在差異。

現在的指紋識別系統主要利用的是前兩層特徵,因為第三層特徵對於采集儀和手指皮膚的狀況要求比較高,太過敏感。所以下面隻介紹第一層和第二層特徵的提取。通常的做法是先提取第一層特徵,然後在第一層特徵的指引下提取第二層特徵。

第一層特徵提取

在提取指紋的方向場和頻率的時候,一般會做這樣的假設,即指紋的局部影像可以用一個近似二維的正弦波來表示。

如圖 10 中右圖所示,把影像的亮度直接作為曲面的高度,顯示出來就類似一個正弦波,該正弦波的參數就表示了指紋局部的方向和頻率。我們通過傅裡葉變換的方式可以很容易地求解出這些參數。

通過這種局域分析方式分析每個小模塊有一個問題,即在有噪聲的地方會出錯。解決的方法就是做方向場的平滑。具體就如上圖所示,先將向量場分解成向量的正弦和餘弦,然後分別對這兩個影像做平滑,最後再將平滑過的兩個影像還原成平滑的方向場。

第二層特徵提取

有了方向場和頻率之後,接下來就是做脊線的提取。但是由於脊線上有相對比較明亮的汗孔,或者由於乾裂等導致的脊線斷裂,或者由於手指潮濕使得相鄰脊線粘連等原因,脊線一般不能夠進行直接提取,而需要先做增強。

針對一般影像的增強方法對於指紋來說效果通常不是很好;在指紋增強中比較有效的方法是「上下文濾波」,一個典型的方法就是Gabor濾波器。Gabor濾波器本身是一個複濾波器,指紋增強隻用到它的實部。從上圖可以看出,經過Gabor濾波之後,指紋影像上的脊線不再有汗孔,粘連的脊線也會分開,斷裂的地方也會連起來。由於指紋各處脊線的方向和頻率不同,每個位置到底該用哪種參數的Gabor濾波器,是需要按照該位置的方向以及頻率來挑選的。

然後就可以對這些增強圖用傳統的閾值化方法得到二值影像,再對它做形態學處理,可以得到細化圖;通過分析細化圖可以檢測出來上面的端點以及分叉點,還可以進一步推斷出來這些細節點的方向。

最後,指紋影像的品質通常不是理想的,所以即便經過前面的增強,做了細化和細節點提取,但總還會出現一些假的細節點,所以還需要做一步細節點的驗證,這一步會識別出很多典型的偽細節點,比如影像邊緣的偽細節點、成對出現的方向相反的偽細節點等。通過這些規律可以盡量把偽細節點去掉。

3、匹配

大部分指紋匹配算法是基於細節點的匹配,所以這個步驟就是一個點匹配的問題。

跟一般的點匹配不同的是,指紋細節點是帶方向的;細節點的類型(端點或者分叉點)用的比較少,因為點的類型不是特別穩定。

做細節點匹配的時候,很重要的一個步驟就是指紋的對齊。指紋識別與人臉識別或虹膜識別不太一樣,它的姿態不好確定,所以拿到兩個影像之後只能找到一個相對的旋轉和平移關係,只是相對對齊,而人臉和虹膜可以做絕對的對齊。指紋對齊之後就可以找到對應點,然後通常某種方法算出匹配分數。

4、現在指紋識別有哪些難題?

雖然現在指紋識別已經取得了很多應用,但仍然存在一系列有待解決的難題。

首先,對於低品質指紋的識別率還比較低。雖然現在大部分手機都帶有指紋識別功能,但用的時候體驗並不總是很好;此外,警察領域的低品質指紋很多,對它們的識別率仍然有待進一步提高;

其次,大數據庫下識別率和效率需要提高。假如某個算法的1對1錯誤匹配率為萬分之一的話,那麽放到大型的數據庫中做1對N識別出錯的概率就非常高。數據庫越大,對於識別率的要求就越苛刻。

此外,理論極限不清楚。例如在刑偵中,根據DNA的統計模型可以非常準確地計算出兩個DNA樣本的隨機匹配率;但是對於指紋識別,目前很難估計出準確的隨機匹配概率,所以在法庭上指紋匹配的證據還缺少非常完善的統計理論支持,出錯的案例也曾發生過。

另外,偽指紋難以檢測。各種生物特徵現在都有偽造,如何檢測出、且以低成本檢測出偽造的指紋,還是比較難的問題。

最後,指紋模板的安全問題。現在生物特徵(比如指紋)在很多場合下都扮演著密碼的功能;但是現代電腦安全系統對密碼都進行了非可逆變換,這樣即使系統被破解了,也無法輕易得到原來的密碼。而目前的生物特徵識別系統沒有對生物特徵做非可逆加密,所以仍存在著極大的安全問題。

二、研究工作

我們研究組主要是做低品質指紋的識別,以及大數據庫下的指紋檢索。下面分四個方向介紹,分別為手指的姿態估計、方向場估計、扭曲場估計、指紋稠密配準。

1、姿態估計

為什麽要做手指的姿態估計?

可能有人會問,為什麽要做手指的姿態估計呢?在人臉識別/虹膜識別中,大家是不會去想這個問題的,因為當你檢測完人臉/虹膜,姿態基本上就確定了。但是指紋不是,例如手機指紋解鎖功能,希望做到各個姿態按手指都可以完成解鎖;犯罪現場的指紋也是各種角度的都有。因此過去的指紋識別算法都沒有做姿態的約束,而是直接去設計容忍各種旋轉、偏移的匹配。我們的猜想是,如果我們能夠估計出比較準確的手指的姿態,或許就可以提高指紋的識別率和識別速度。

以上圖為例,當我們在做兩個指紋的細節點匹配時,如果是在完全不知道兩個指紋姿態的情況下,只看局部的描述子的相似度來找對應點,那麽就會有許多候選點需要考慮;但如果我們通過某種方式把指紋的姿態估計出來,就可以把候選點減少很多,這對於後面匹配速度和精度都有極大的幫助。

過去缺少關於手指姿態的研究,主要是因為手指的姿態很難定義。但是我們的假設是,即使姿態定義的不是特別精確,應該也會有用。基於這樣的想法,我們是這樣定義姿態的:一個真實的手指,它的中心大約是幾何上的中心,方向就是從中心指向指尖。

而實際上,我們看不到完整的手指,我們能看到的只是一幅不完整的指紋影像,也就是說,指紋影像往往只是手指的局部,所以我們只能盡量去預測手指的中心和方向。

滑動視窗方法

當有了這個姿態定義後,後面的估計方法其實就有點像人臉檢測或物體檢測了。我們最先嘗試過用傳統的滑動視窗的方法,標準的姿態就是正樣本,非標準的姿態是負樣本,我們可以用每個位置的方向分布作為特徵向量,來訓練這樣的檢測器。

其實流程比較常規,類似行人檢測的基本流程,最後得到一些響應圖,每個響應圖對應的是某一個方向指紋出現的概率;我們找到響應最強的,就把指紋的位置和方向檢測出來了。

深度學習方法

前面用的是比較傳統的分類器,後來我們嘗試了深度學習的方法。我們嘗試 對Faster R-CNN 模型做了修改,把不同角度的指紋當成不同的類去檢測。

這裡面我們需要解決兩個問題。一個是類內的合並,也就是把同一個角度的多重響應合並起來;另一個是類間的合並,根據各個角度檢測的結果差值出一個角度分辨率比較高的角度。

那麽如何評價指紋姿態估計算法的好壞呢?我們有三種類型的評測。首先,算法估計的結果跟專家憑經驗標注的姿態是否一致?我們的結果顯示大約有 95% 以上的指紋位置偏差小於 2.6 毫米,角度偏差小於 5 度;另外我們發現深度網絡方法要比傳統分類器的性能好一些。第二,對於同一個手指按出的兩個指紋影像,算法估計出的姿態是否一致?我們的實驗結果顯示,95% 的指紋位置偏差小於 2.4毫米,方向偏差小於 7 度。第三,在檢索中,該算法是否能夠提高速度和精度?通過與前人方法的實驗對比,我們發現通過估計姿態的方法確實可以大大地降低搜索時間和錯誤率。

低品質指紋姿態的估計

前面的案例處理的都是比較完整的指紋,但犯罪現場的指紋往往沒有那麽理想。

對於這個問題,我們的姿態預測方法可以和人臉姿態預測作類比。當只有一幅殘缺的人臉影像時,我們依然能夠大致估計出人臉的中心和方向;當有效影像面積較大時,我們可以把預測累加,得到一個更可靠的人臉中心預測。同樣的道理,我們也可以將很多基於局部指紋影像的姿態預測結果加以累加,獲得一個更可靠的指紋姿態估計。

在這個算法中,我們首先需要一個離線的學習階段。我們首先有了指紋上很多局部塊分布的概率,對於這些塊,對它們做聚類;對於每個類中的樣本,我們都知道它們在指紋中的位置,從而可以估計出每個類在指紋影像中的分布概率。從上面圖可以看到,不同類型的方向塊在指紋上出現的概率是不一樣的。

現在給定一幅新的指紋影像,便可以用剛才學習到的概率圖做預測了,我們將根據各個局部指紋塊預測得到的概率圖疊加起來,最後檢測到最亮的點,就是預測出的手指中心。

通過對方向場做各種旋轉,我們可以對各個角度的指紋做預測,最後選擇響應最強的作為指紋的方向,上圖中我們用箭頭長度來表示強度。

上圖是對一些低品質現場指紋估計出來的指紋中心和角度。我們把結果拿給指紋專家確認過,基本上是合理的。對非常殘缺的現場指紋來說,做到這樣的估計已經不錯了,因為很難給出像素級精度的預測。

2、方向場估計

在指紋特徵提取裡面方向場的提取應該是最關鍵的一步,因為後面提取脊線和細節點,對方向場提取性能的依賴都特別強。

如前面介紹到,過去方向場的估計一般是兩步。第一是局部的方法,通過分析梯度、傅裡葉變換等求出方向場;但是局部方法在有噪聲的區域會出錯,所以後面會接一步,用低通濾波或擬合全局參數化模型等把方向場規範化。這些方法對於品質較好的指紋還行,但是對於品質較差的(例如犯罪現場指紋)就比較糟糕了。所以過去犯罪現場指紋的特徵一般都是專家手工標注。

圖27. 左,梯度分析加全局參數化模型擬合出的方向場;右,專家手工標注的方向場。可以看出擬合結果和專家標注的偏差還是很大的。

專家標注的方向場為什麽就比較好呢?原因就在於專家有許多關於指紋的先驗知識;通過這樣的先驗知識,專家可以把不正確的方向場排除出去。於是我們就想,我們能否在方向場的估計中使用先驗知識呢?

方向場字典

我們面臨的問題就是,如何表示、學習和使用指紋方向場的先驗知識。

這裡我們受到了拚寫檢查技術的啟發。在英文單詞拚寫中,如果把字母隨機組合,那麽合成出的單詞通常是錯的;真正合理的單詞在所有可能的排列中隻佔很少的比例;拚寫檢測器通過將字母組合與字典(先驗知識)進行比對,從而來糾正拚寫的錯誤。

事實上,指紋的方向場也是如此。如果每個方向元素隨機組合,那麽大部分組合將與真實的指紋有很大偏差;真實指紋的方向場可能隻佔所有可能的組合結果中的極小一部分。如果我們構建一個指紋方向場的字典把先驗知識記錄下來,那麽就可以依據字典對擬合出的方向場進行糾錯了。

這裡還有一個模糊性問題。在自然語言中,我們知道一個詞拚錯了,但是跟它距離接近的詞太多了,我們可能不知道該如何進行替換;一個方法就是根據上下文來把這種歧義性消除掉。同樣,方向場的這個問題也可以通過整體的連續性來解決。

方向場字典的定義:對於指紋影像,我們將之切分成很多大小相同的區塊(patch),每個區塊包含 N×N 個方向元素,其中方向元素代表了 m × m 像素區域中的方向,我們稱區塊為字典中的一個詞。

字典的學習和使用

我們設計的算法流程如下圖所示。

首先是離線的學習階段,從很多高品質的指紋方向場裡面學習得到字典。當輸入一個品質特別糟糕的現場指紋時,先用傳統的方法求出一個帶噪聲的方向場,然後通過查字典的方式在每個位置上查到一個(或一些)侯選元素,然後依據連續性原則選出比較一致的元素(可以去除模糊性),最後得到品質較好的方向場。

在學習字典的時候,我們用品質比較高的指紋,因為這樣的指紋可以用傳統算法把方向場求的比較準確,這樣就不需要人做太多的標注工作。然後在上面掃描視窗,最後做聚類就可以得到這個字典。

當對輸入的指紋求初始方向場時,我們先做短時傅裡葉變換(即在小視窗做局部傅裡葉變換),然後通過檢測亮點來估計方向。這樣得到的結果裡面噪聲非常強。但是沒有關係,我們可以在後面通過查字典的方式來解決。

查字典時,我們需要定義一個相似度,即 ns/nf = 方向元素差異小於某個值的元素個數 / 初始方向塊中元素的個數,如圖所示。這種定義,即使有些元素的噪聲特別強烈,仍然會有較高的魯棒性。這裡需要提到的一點是,字典中字的尺寸會對相似度及其魯棒性有很大的影響。

在考慮上下文約束的時候,我們定義一個能量函數。能量函數有兩項,第一項反映的是侯選方向場和初始方向場的相似程度,另外一項反映的是相鄰兩個侯選之間重疊區的相似程度。

比如這兩個例子,左邊這個是重疊區比較一致,它的兼容度比較高。右邊這個重疊區不太一致,兼容度低一些。

這樣我們對於相鄰的兩個區域可以定義出一個兼容性矩陣,最後用經典的方法做優化即可。下圖對比了三種方向場估計方法結合Gabor濾波的結果。字典法去除噪聲的能力明顯優於其他兩種方法。

局部字典——更強的先驗知識

通過分析我們發現這個算法仍然有它的缺點。上面的方法我們叫做全局字典,經過它處理之後每個局部都是比較真實的,但是在有些地方仍然會出現一些不可能出現的方向場。

我們觀察發現發現指紋還有一個更強的先驗知識,即指紋方向場跟指尖、指關節的分布也有關係,指關節位置大部分脊線是水準的,指尖位置的脊線基本上是一個弧線。所以如果我們知道手指姿態的話,就可以利用更強的局部先驗知識了。所以我們構造局部化的字典,也即指紋的每個位置都有自己的方向字典;而不像前面整個指紋共用一個字典。

指紋識別系統的流程圖如上所示。與前面的方法相比,多了一步手指姿態的估計,此外在查找字典時是查找各自對應位置的字典進行校正。這樣從而就避免了在某些位置上出現奇怪的方向場。實驗結果如下圖所示:

3、扭曲場估計

為什麽要做扭曲場估計?

由於手指是凸且柔軟的,所以每次按壓力度、角度的不同,都會使指紋發生不同的變形。因此指紋的變形是永遠存在的,給指紋識別帶來困難的不是指紋變形本身,而是變形的不一致。

在指紋采集中有一個標準的按壓方法:手指放平,垂直按壓,適度用力,按壓後不要搓動或旋轉。這樣可以盡量保持指紋變形一致。我們將按照這種方法得到的指紋稱為正常指紋,否則就稱為扭曲指紋。

扭曲指紋變形如果較大的話,對於識別是非常困難的,例如上圖一個手指的三個影像,我們做匹配發現,左邊兩個的匹配分數達329分,但右邊兩個的匹配分數只有12。而根據這個匹配算法,小於60分的即認為是不同的指紋。

之前對於這個問題的處理有三種方法。一種是修改匹配算法以容忍扭曲。這種做法的缺點就是會造成不同指紋也變得比較像,此外因為容忍的變形扭曲大,所以匹配速度也會變慢。第二種是使用壓力傳感器、影片跟蹤檢測扭曲。目前這種方法還只是出現在文章中,實際應用中還沒有發現。它的缺點是采集複雜,采集儀成本比較高,無法檢測現有指紋數據庫中的扭曲指紋,也不能校正扭曲指紋。第三種是將脊線距離歸一化,這種方法是 IBM 沃森實驗室在 2001 年提出的方案,他們覺得指紋變形之後線的距離就會發生變化,如果歸一化就可以把變形去掉。但這個方法的缺點是,這個假設本身就不對,指紋的脊線並不是均勻分布,所以這樣強行歸一化會造成新的扭曲。

我們的方案是:先通過分類,判斷一個指紋是正常指紋還是扭曲指紋;如果有扭曲的話,就進行扭曲校正。做個類比,在人臉識別中,如果表情是中性,那麽就直接做識別;否則就先進行表情中性化,然後再做識別。我們這種方案的優點有很多,首先現有的指紋采集儀不需要做任何改動,現有數據庫中的扭曲指紋也可以做校正,對於犯罪現場的指紋同樣可以處理。

扭曲場分類

上圖是扭曲檢測的流程。我們將扭曲檢測看成是一個二分問題(扭曲或正常),因為雖然扭曲是一個連續過程,但二分方法更好設計,性能也相對較好。分類器就是標準的SVM分類器,訓練數據採用正常和扭曲指紋,選取分析的特徵是方向場和周期圖。做這一步之前,需要先估計一下指紋的姿態,否則特徵向量是沒有意義的。

扭曲場校正

接下來做扭曲的校正,這等價於估計扭曲場。扭曲指紋可以視為將一個未知的扭曲場 d 作用於一個正常指紋(也是未知的)而得到。如果可以估計某個扭曲指紋的扭曲場 d,就可 以利用 d 的逆函數對扭曲指紋進行校正。但是由於扭曲場的維度非常高,所以這是一個很難的回歸問題。

我們的方案是,構造一個參考數據庫,這個數據柯瑞面記錄了各種類型的扭曲場,以及對應的方向場和周期圖;新來的影像,我們提取出它的方向場和周期圖後,與數據庫中的數據進行比較,如果有匹配的參考扭曲指紋,那麽我們認為這個新的影像也有類似的變形,然後根據對應的變形場對它做校正。

這裡很關鍵的一步就是,參考的扭曲指紋庫是怎麽構造。我們的方法是,采集一批各種扭曲的指紋影片,對每一段影片,我們通過細節點追蹤的方法估計出首尾幀之間的扭曲場。我們采集了十種類型的扭曲指紋,例如向上、向下、向左、向右、各種旋轉等。

然後利用 PCA 獲得扭曲場的統計模型。將這些模型的主成分進行合成(例如上下與左右的合成)來系統地合成大量扭曲場,用這些合成的扭曲場對正常指紋做變形,從而得到扭曲指紋,提取出這些合成扭曲指紋的方向場、周期圖,從而構造出這樣一個數據庫,這個數據庫中包含扭曲的方向場和周期圖,以及相應的合成扭曲場。

對於新輸入的扭曲指紋,提取出其方向場和周期圖後,查找數據庫中最近鄰的方向場和周期圖;再根據對應的扭曲場對輸入指紋進行扭曲較正。下面這是一個較正較為成功的例子:

圖 46. 左邊是數據庫中的指紋,右邊是對應的犯罪現場指紋,面積很小且有扭曲。當直接做識別時,在一個兩萬多人的庫中排名兩千多名;而經過校正,排名提升到第一名。

4、指紋稠密配準

對於指紋識別,過去大家只是做細節點這個層次的對應關係,而沒有考慮稠密配準。

對於只根據細節點來對準兩個指紋(重疊的線用綠色顯示),不管是剛體變換還是薄板樣條(TPS)變換,重疊效果大多並不好。我們希望能夠把指紋上所有區域的所有脊線都對得比較好。上圖右側是我們希望稠密配準能夠達到的效果。

常規的稠密配準方法是首先建立細節點之間的對應關係,然後將細節點所在的脊線建立對應關係。這種方法的缺點是,由於這是采樣點級別的對應,所以運算量非常大,且精度也不是很高。我們想到了一個新的方法,即借鑒通信領域的相位調製解調方法,即通信中用電磁波發送資訊時,將信號調製在載波上;到達接收端再進行解調,恢復信號。

指紋影像在局域上正是一個二維的正弦波影像。借鑒相位調製解調機制,我們可以先生成一個標準的二維正弦波,對這樣的一個條紋影像,對它做扭曲實際上就可以等價為對它的相位做偏移;這個偏移不是對影像做變形,而是對每個點的相位加上一個值,所以是通過加法,而不是通過幾何變形,來得到扭曲影像。於是我們可以通過相位的方式來得到影像的變形,反過來也可以通過求解相位的方式來求解影像的變形。

如上圖所示,當給出原始影像和扭曲影像,分別求解得到其相位場後,對應位置相減便可以得到一個相位差的影像,為了去除相位0到2pi的跳變對相位差影像做一個去包裹變換後,就可以直接推算出扭曲場。於是我們可以通過影像加減的方法把影像的扭曲場求出。

這裡需要解釋一下,我們把原始指紋影像(灰度影像)轉成相位的方式,實際上就是把指紋寫成 f (x, y) 的表達式:

表達式中包括有一個偏移量(可以看成是亮度),加一個餘弦波,波有它的幅度,還有相位,最後加一個噪聲項。

相位的提取一般是用複 Gabor 濾波器。這個濾波器實際上就是一個高斯函數乘以一個複指數,複指數裡面有頻率和方向。當我們知道相差之後,就可以按照公式(相差除以頻率,頻率為指紋局部頻率)直接把變形場求解出來,這裡隻涉及加、減、除的運算。

相位的解包裹則依照下述公式:

下面這是整個算法的完整流程:

給出兩個影像,首先我們求解特徵(細節點、方向場、周期圖、相位圖等)。然後,按照細節點匹配的方式先做一個初始的配準,這個結果往往還存在很大的偏差,接下來就靠相位解調的方式來降低偏差。首先是得到兩個影像的相位差異,中間可能會出現跳變,所以要做一次相位解包裹使它變成連續的相差。將這個連續的相差除以周期圖,就可以得到每個位置的扭曲場。隨後再做一次平滑,去除某些局部噪聲。最後就可以把兩個指紋的脊線非常準確的配準了。下圖展示一個配準結果:

可以看出用相位解調的方法有非常大的改進。圖中的數字,例如(191,0.01),分別指細節點匹配分數和影像相關係數,這兩個數字越高越好,能夠客觀地反映出配準的性能。

三、總結

最後總結一下。傳統的指紋特徵提取和匹配方法很難處理低品質指紋,尤其是犯罪現場的指紋。我們分析發現傳統方法的共性缺點是,沒有充分利用指紋的統計特性,很多方法完全不是基於統計學習的方法。我們的研究思路,就是要研究指紋的特徵和皮膚形變的統計學特性,然後在算法設計中加以利用,實驗發現在低品質指紋上這對於性能有非常明顯的提升。

參考資料

[1] A. K. Jain, A. Ross, K. Nandakumar, Introduction to Biometrics, Springer, 2011.

獲得更多的PTT最新消息
按讚加入粉絲團