用FPGA實現優化的指紋識別預處理算法

2021-01-08 電子產品世界

指紋識別作為生物識別的一種,因其具有唯一性和穩定性,在身份識別上有著其他手段不可比擬的優勢。隨著指紋傳感器性能的提高和價格的下降,指紋的採集越來越容易,指紋識別算法也已比較成熟。傳統的指紋識別系統一般以PC機和DSP為主要處理平臺。隨著人們對便攜設備的安全性要求越來越高,傳統的處理系統在功耗和處理速度及實時性上已經不能滿足需要。

指紋識別系統在很大程度上依靠指紋圖像的質量。在實際應用中由於採集條件和採集設備的因素,採集到的指紋質量比較差,含有大量噪聲,容易導致很多問題,影響後續處理的效果。所以在對指紋特徵提取前,必須進行一系列的預處理,改善輸入指紋圖像的質量,為後續處理奠定基礎。

本文在進行多方面比較和論證的基礎上,選取較優化的預處理算法,作為FPGA指紋預處理平臺的算法。並用FPGA實現所選算法。

1 處理步驟

本系統採用XILINX公司Spartan 3E系列FPGA作為核心控制晶片,通過富士通公司的MBF200指紋傳感器實現對指紋圖像的採集,利用CPLD進行接口傳輸。FPGA通過讀取SDRAM中的指紋數據,在其邏輯單元中進行灰度值歸一化、圖像分割、濾波、二值化、細化等,從而獲得重要的指紋圖像信息,以便與指紋模板庫進行對比。系統模塊圖如圖1。圖2是採集到的指紋圖像。

本文引用地址:http://www.eepw.com.cn/article/201706/349289.htm


2 灰度值歸一化


指紋圖像歸一化的目的是把指紋圖像的平均灰度和對比度調整到一個固定級別上,以減少不同指紋圖像上的差異。歸一化並不改變指紋脊線和谷線的清晰度,只是消除樣本採集因外界因素造成的影響,為後續處理提供統一規格的圖像。

把圖像分為w×w的子塊,對於每一子塊求其灰度均值Mi和方差Vi。子塊灰度均值和方差的計算如下:




用FPGA實現上述算法的難點在於計算Var0。而計算期望的關鍵是求得每個像素的概率,即求子塊中每個像素出現的次數。考慮到FPGA的硬體結構採用並行比較的方法可以方便求出I(i,j)的概率,本次設計w取為3。實現模塊採用圖3所示。

3 圖像分割

圖像識別的基礎是圖像分割,其作用是把反映物體真實情況的、佔據不同區域的、具有不同特徵的目標區分開來,並形成數字特徵。圖像分割的好壞直接影響後續圖像處理的效果,甚至決定其成敗。分割算法至今已有上千種,每年還有不少新算法出現,然而大都基於圖像在像素級的兩個性質:不連續性和相似性。

筆者研究了Mehtre等提出的基於脊線方向的局部直方圖的分割方法;Rarha,chen和Jain提出的根據垂直於脊線方向的灰度方差區分前景與背景的方法;Maio和Maltoni提出的利用每一子塊的平均梯度來分割指紋圖像的前景與背景等多種方法。在此基礎上選擇圖像分割的經典方法——自適應的局部閾值圖像分割方法。該方法在合理選取閾值T的情況下,能較好地對圖像進行分割[5]。

但該算法本身沒有給出T的取值大小,所以對原算法進行改進後描述為:

(1)將待處理的圖像分成W×W的子塊(根據實驗選取W=8或16,對一般和較溼的圖像選為8,較幹的選為16)

(2)求各塊圖像灰度值的標準方差:


式中G(m,n)表示塊內各點的灰度值,Aver(i,j)表示某一塊的均值。

(3)根據式(4)確定閾值T

其中a是調整係數,其值的選取根據圖像的質量而定,一般可取為10~20,對質量較好的圖像,a可取12左右,對較溼的圖像可取下限,對較幹的圖像a取上限或更大。若a取得過大,則無法消除指紋區域外的噪聲點(背景被誤判為前景),若a取得過小,則會造成區域內脊線斷裂(前景被誤判為背景),分割後的指紋圖像如圖4。

4 濾波

由於分割後的圖像質量仍然不是很好,所以需要對其做進一步的處理,以使指紋圖像清晰,消除不必要的噪聲,以利於進一步的辨識。本系統採用中值濾波作為圖像預處理常用的方法,能有效地去除噪聲,平滑圖像。較之其他平滑濾波的方法如均值濾波等,中值濾波能夠在去噪的同時不模糊圖像的邊緣,較好地保持圖像的清晰度。

圖像中值濾波的定義:

其中g(x,y),f(x,y)為像素灰度值,即把f(x,y)領域的所有像素灰度值排序,求其處於中間位置的值代替f(x,y)。濾波窗口可以有各種不同的形狀,如線狀、方形、圓形等。本系統採用的是3×3的窗口。為了突出FPGA快速計算的優點採用如圖5所示方式[6]。


圖6輸入為以f(x,y)為中心的9個數據,A1、A2、A3、A4是3個比較器,輸出的值分別是第i-1行3個值、第i行3個值、第i+1行3個值的中值。以這3個中值再輸入A4就可以選出9個點的中值。這樣大大提高了算法的效率。


5 二值化

經過中值濾波後的指紋圖像首先進行二值化變成二值圖像,才能進行細化處理。由於採集到的指紋圖像不同區域深淺不一,如對整幅圖像使用同一閾值進行二值分割,會造成大量有用信息的丟失。這裡使用自適應局部閾值二值化的思想,對每塊指紋圖像,選取的閾值應儘量使該塊圖像內大於該閾值的像素點數等於小於該閾值的像素點數。算法流程如圖7。


T為該塊指紋圖像的平均灰度值,Nh、Nl分別為第(k,l)塊指紋圖像中灰度值≥T和

6 細化

現有的細化算法存在很多問題,如細化不徹底、紋線吞噬、骨架偏離紋線中心等。本設計在對快速細化和改進的OPTA細化算法分析研究後,設計一種改進的細化算法。該算法與傳統的細化算法相比不破壞紋線的連接性,不會引起紋線的吞食,保護了紋線的特徵。算法的主要思想是:利用快速細化算法速度快的優點對指紋圖像進行一次細化。由於細化後的紋線大多不是單像素寬,再利用改進的OPTA細化算法對不是單像素寬的紋線進一步細化。算法的描述:

(1)遍歷整個指紋圖像,找出紋線的邊界點。

(2)判斷該邊界點是否應該刪除。對邊界點P定義2個特徵變量nsum和tsum:


如果P點同時滿足:tsum=2且nsum≠1,nsum6,則可將其刪除。

(3)繼續尋找下一個邊界點,直到沒有可刪除的點為止。

(4)得到的紋線很多不是單像素寬,從圖像的左上角開始掃描,每個像素(圖為P)均抽取出圖7所示的15個相鄰像素,把其中的8個相鄰像素(P1~P8)與圖9的消除模板比較,如果都不匹配,則P保留。

(5)重複上述過程,直到沒有一個像素值被改變為止。

細化算法的硬體設計:細化算法的難點在於快速細化後的圖像和模板比較。這次設計的主要思想是把模板圖變為數據流,只有用二進位數據流的方式才便於做比較。如圖10所示,黑色代表1,白色代表0。以第一行最左邊的模板為例,即可變為000 111 010。考慮到FPGA的結構,用並行語句讓輸入的9位像素數據和模板二進位化數據進行關係運算操作,即可並行地和12個模板比較,大大提高了運算速度。FPGA模板匹配仿真圖如圖11,細化後的指紋圖像如圖12。




實驗結果表明,用FPGA完全能滿足指紋預處理的要求,而且提高了運算速度。FPGA的低功耗特點使其在可攜式設備上具有廣闊的應用前景。


相關焦點

  • Suprema施普瑪針對幹指紋的指紋識別算法
    因此,在冬季,即使用指尖正確觸摸指紋傳感器表面也會產生乾燥指紋,無法正確識別。  對於存在乾燥的指紋問題,您也可以在進行指紋認證過程之前,通過吹手或在手指上塗抹護手霜來暫時避開。然而,這種措施不是根本的解決方案,無法保證指紋識別的正確性能。使用Suprema施普瑪的指紋傳感器和算法,您可以完全解決這些問題。
  • 一種基於FPGA的實時紅外圖像預處理方法
    摘要:由於紅外圖像預處理算法自身的複雜性,使得紅外圖像在DSP中的預處理時間較長。針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。
  • 基於STFT濾波算法的指紋圖像識別系統的設計與實現
    摘要:指紋識別系統是利用指紋識別技術對用戶身份進行驗證的系統,指紋識別系統包括指紋採集、指紋預處理、特徵提取、指紋匹配等模塊。本文在充分調研了目前的指紋預處理和特徵提取研究成果之後,分別針對指紋增強、指紋二值化和指紋特徵提取方面提出了三個新的算法,部分解決了目前指紋識別技術面臨的問題與挑戰,並且利用這些新的算法製作了一款指紋圖像識別系統。本文通過緒論、需求分析、系統設計、系統實現、系統測試一步步介紹指紋圖像識別技術在指紋識別系統中的應用情況。
  • 用FPGA實現FFT算法
    當N較大時,因計算量太大,直接用DFT算法進行譜分析和信號的實時處理是不切實際的。快速傅立葉變換(Fast Fourier Transformation,簡稱FFT)使DFT運算效率提高1~2個數量級。其原因是當N較大時,對DFT進行了基4和基2分解運算。FFT算法除了必需的數據存儲器ram和旋轉因子rom外,仍需較複雜的運算和控制電路單元,即使現在,實現長點數的FFT仍然是很困難。
  • 破解三大難題,曠視科技實現無感指紋識別
    AI光學屏下指紋方案示意圖(來源:艾瑞諮詢《2020中國人工智慧手機白皮書-AI重新定義光感知》) 破解三大難題,實現無感指紋識別 2019年,曠視推出了AI光學屏下指紋解決方案,通過結合深度學習算法
  • 基於DSP集成開發環境CCS2.2的指紋圖像預處理的應用研究
    由於整個指紋識別系統的複雜性,本文結合TMS320VC5410 的特點,重點研究了指紋識別的預處理算法及其DSP 實現問題。其中了包括指紋的極值濾波、平滑濾波、拉普拉斯銳化、迭代二值化。該部分算法的在DSP 開發平臺CCS2.2 的C5000 上仿真實現並用C5000 EVM 進行了評估,為未來指紋系統的脫機應用提供很有價值的參考。
  • 用FPGA實現FFT算法(圖)
    當n較大時,因計算量太大,直接用dft算法進行譜分析和信號的實時處理是不切實際的。快速傅立葉變換(fast fourier transformation,簡稱fft)使dft運算效率提高1~2個數量級。其原因是當n較大時,對dft進行了基4和基2分解運算。fft算法除了必需的數據存儲器ram和旋轉因子rom外,仍需較複雜的運算和控制電路單元,即使現在,實現長點數的fft仍然是很困難。
  • 基於FPGA的複數浮點協方差矩陣實現
    O 引言 協方差矩陣的計算是信號處理領域的典型運算,是實現多級嵌套維納濾波器、空間譜估計、相干源個數估計以及仿射不變量模式識別的關鍵部分,廣泛應用於雷達、聲吶、數字圖像處理等領域。
  • 指紋識別的方法
    由指紋識別的基本原理可知,指紋識別技術主要經過以下4個步驟:指紋圖像的獲取、指紋圖像的預處理、指紋特徵的提取和指紋特徵匹配。下面將對指紋識別技術的每個步驟做詳細論述。除了以上兩類,超聲波掃描被認為是指紋取像技術中非常好的一類,但價格太高、體積偏大。一般採集到的指紋圖像都是存成256級灰度的圖像。2,指紋圖像預處理  為了得到比較準確的指紋特徵點,指紋圖像預處理一般要經過圖像增強(濾波去掉噪聲)、計算方向圖,二值化和細化等過程。整個過程如圖1所示。
  • 一種近距雷達目標檢測信號處理的FPGA實現
    對某種用於探測近距離運動目標的雷達系統來說,數位訊號處理的任務,是要實現對回波的A/D變換、數據預處理和緩衝積累、時-頻域變換、坐標系轉換、時域-頻域目標信號檢測和目標運動參數(如速度)的提取。採用FFT(快速傅立葉變換)完成對回波信號由時間序列向頻譜序列變換的過程。
  • 指紋門鎖的識別裝置原理及安全體驗
    什麼是半導體指紋識別 得用半導體(電容)的電感應手指紋路凸凹之間的電位差異,從而得出指紋識別圖像或特徵點,並能夠相應識別的辦法。那麼就不難理解,半導體指紋識別裝置工作應該分為兩部分,一部分是硬體,包括半導體器件(傳感器)、處理晶片、存儲晶片,一部分是軟體部分,核心是算法。
  • 虹膜識別技術優勢明顯 比指紋、人臉識別更可靠
    「刷臉」大名為人臉識別技術,早已隨著智能機、手機APP、門禁系統走進了千家萬戶,而指紋識別技術在這之前更是早已普及,那為何同人臉識別技術、指紋識別技術統稱為生物識別技術三巨頭的虹膜識技術別遲遲未見消息?
  • 屏下指紋識別原理介紹_屏下指紋識別技術原理分析
    屏下指紋識別技術原理分析   目前已知的屏下指紋識別方案主要分為兩個方向:一是利用OLED實現,另一個則是利用超聲波實現。先來說說OLED。匯頂科技就展示過利用AMOLED屏幕實現屏下指紋識別的案例,演示機型為三星Galaxy S7 Edge和vivo Xplay6。匯頂科技就是在屏幕下方布置了一個CMOS傳感器,其原理如下圖。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    一個體積小、低功耗、高速度能完成特定範圍語音識別和動作指令的機器人系統的研製具有很大的實際意義。 2 系統硬體總體設計 系統的硬體功能是實現語音指令的採集和步進電機的驅動控制,為系統軟體提供開發和調試平臺。如圖1所示。
  • 指紋識別門禁系統的設計全解
    本文具體內容主要有以下幾個方面:  (1)系統整體方案概述和設計:根據系統功能要求,設計指紋識別乙太網門禁系統,重點闡述了其中關鍵模塊的硬體設計。  (2)指紋識別算法的理論分析和仿真:研究了指紋識別算法,主要包括指紋圖像預處理以及指紋圖像的特徵提取和匹配兩部分。
  • 基於Cyclone II FPGA開發平臺實現語音識別算法程序的設計
    基於Cyclone II FPGA開發平臺實現語音識別算法程序的設計 瀋陽;馮良;洪誠 發表於 2021-01-12 10:21:38 SOPC可編程片上系統是一種獨特的嵌入式微處理系統。
  • 生物識別技術四大種類介紹(人臉、指紋、虹膜、聲紋)
    新一代的人臉識別算法主要基於深度學習CNN(卷積神經網絡),它通過構建具有多個隱層的神經網絡模型,利用海量數據來學習更有用的特徵。相對於傳統特徵工程,新算法能夠自動學習特徵,降低了人工選擇特徵對預測效果的影響。相對於淺層模型,深度模型能夠重複利用中間層的計算單元,進而減少網絡中的自由參數。
  • 基於FPGA的實時中值濾波器硬體實現
    在高清圖像的生成和採集過程中,往往會受到各種噪聲的幹擾,使高清圖像的質量變差,因此必須對圖像進行濾波、平滑等預處理來消除噪聲。中值濾波作為一種非線性濾波方法,既可以消除隨機噪聲和脈衝幹擾,又可以很大程度地保留圖像的邊緣信息,得到了廣泛的運用。
  • 虹軟科技:完成屏下光學指紋識別算法原型,具備高產量生產能力
    虹軟科技:完成屏下光學指紋識別算法原型,具備高產量生產能力
  • 指紋比對太辛苦?用黑科技就簡單了
    不過雖然指紋比對古已有之,但通常還只是基於傳統肉眼識別方式來判斷,效率低、誤差高,所以也僅作為輔助破案手段來使用。不過到了現在,指紋識別技術有了翻天覆地的變化,在科技的支持下,指紋識別已經成為了具備成熟度高、採樣簡單、不易偽造等多種優勢的刑偵技術。甚至對於許多案件來說,只要通過對現場和人員採集的指掌紋數據進行比對,就可以迅速確認人員的身份信息。