999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于FPGA指紋識別加速結構的設計與實現

2016-05-14 03:11:50趙錦明錢磊吳東
網絡空間安全 2016年5期
關鍵詞:流水

趙錦明 錢磊 吳東

[摘要]指紋識別是生物識別技術中重要且廣泛使用的一種。當前該領域研究的重點在如何更好地采集提取指紋特征以及指紋安全等方面,對于大規模指紋識別的研究較少。隨著電子商務、公安部門的大規模使用,需要進行比對的指紋數據暴增。針對這一現狀,論文在基于細節特征點的這一類指紋識別算法基礎上,利用FPGA平臺對這類算法進行加速,通過對算法的分析調整,在FPGA上設計實現了一種新的加速結構,并采取了相應的優化策略。通過加速,單節點FPGA能達到每秒100萬次指紋比對,相對于軟件性能提升了25倍,為后續新算法的大規模使用奠定了基礎。

[關鍵詞]生物識別;指紋識別;流水;乒乓操作;FPGA

[中圖分類號]TP3 [文獻標識碼]A

1 引言

在信息化時代的今天,信息安全尤其重要,如何鑒別一個人的身份是其中一個至關重要的問題。傳統方式存在易丟失、容易被偽造等問題,利用生物識別技術進行身份認定,不僅安全、準確,還便于管理,應用前景廣闊。指紋具有終身不變性、唯一性和方便性,依靠指紋的生物識別技術被廣泛接受與認可,相關應用也較為廣泛。

指紋是指人的手指末端正面皮膚上凸凹不平產生的紋線。紋線的起點、終點、結合點和分叉點,稱為指紋的細節特征點(Minutiae)。指紋識別即指通過比較不同指紋的細節特征點來進行身份鑒別。

目前指紋識別主要應用在手機解鎖、門禁考勤等方面,需要進行的比對計算量小,而隨著指紋識別應用領域更加廣泛,如電子商務、公安部門等,指紋識別中的數據量暴增,識別過程中的計算量極大,采用傳統的方法需要大量時間,這在許多應用場合是達不到要求的。已有的研究主要針對指紋識別采集階段圖像增強和特征提取,如文獻;指紋識別系統的全過程自動化AFIS(Automated Fingerprint Identification System),如文獻;指紋識別算法的準確率,如文獻等;與此同時,也有部分嘗試對指紋識別進行加速的研究,文獻,但效果不夠理想。

本文在此背景下,針對如何快速進行較大規模指紋比對這一問題,對常用的基于特征點的一類指紋識別算法進行了分析,基于FPGA平臺,針對識別過程中計算量最密集的部分進行重構及算法調整,設計并實現了一種FPGA平臺上的加速結構。并采用了一些方法進行資源優化和性能提升。加速效果明顯,采用該加速結構FPGA單節點對原算法有25倍的加速效果。達到了每秒100萬次指紋比對的性能:如果同時采用多節點FPGA并行,能達到更高的性能,能夠初步滿足大規模指紋識別的需要,并為后續同類型新算法的大規模應用奠定了很好的基礎。

2 基于細節特征點的指紋識別算法

2.1 指紋識別簡介

指紋識別是指通過比較不同指紋的細節特征點來進行身份鑒別的過程,其整體流程如圖1所示。包括指紋庫的建立、待比對指紋采集、指紋處理及特征提取、指紋匹配等主要過程。

指紋識別算法主要用在指紋匹配階段,用于將新采集的指紋與數據庫中的指紋逐一進行比對。基于細節特征點的指紋識別算法是一類典型的指紋識別算法,即指通過比較計算不同指紋的細節特征點的相似程度而進行身份鑒別的方法。

2.2 基于細節特征點的指紋識別算法原理

基于細節特征點的算法是一類典型且使用較多的指紋識別算法,該算法中指紋匹配部分比對的流程如圖2所示。

將采集到的待匹配指紋EXP的細節特征點與數據庫中某個指紋DEMO的細節特征點數據作為輸入:先將EXP指紋特征點兩兩組合展開為特征向量,如圖3所示:并對展開的EXP指紋特征向量按照向量角排序存儲:然后將DEMO指紋根據其特征點兩兩展開生成特征向量,同時與已生成的EXP特征向量構建特征向量對:再根據特征向量對計算出參數對EXP指紋進行旋轉、平移操作,并刪除相似度較低的向量對;最后根據剩余的相似度較高特征向量對,計算出它們的全局相似度,并根據相似度判斷它們是否匹配。

各步驟具體如下:

EXP指紋展開是指根據EXP指紋的細節特征點數據,將特征點兩兩組合生成特征向量,如圖3所示,A1、A2是EXP指紋的兩個細節特征點:

EXP指紋特征向量排序是指根據前面生成的特征向量,按照其角度A1方向角和特征向量長度對其進行排序;DEMO指紋展開并構建特征向量對是根據DEMO指紋特征點兩兩組合構建特征向量,并同時根據已生成的有序EXP指紋特征向量初步查找可能相似的特征向量,構造成特征向量對;EXP指紋旋轉、平移并刪減特征向量對是將EXP指紋按照比較結果進行旋轉平移,并將處理后相似度較低的特征向量對刪除;計算全局相似度是指根據最后剩下的特征向量對,計算兩個指紋的全局相似程度:最后根據全局相似度判斷輸入的兩個指紋是否匹配,即完成了一次指紋比對:再取出指紋庫中另一DEMO指紋重復上述過程。

2.3 算法分析

該算法主要是基于遍歷的思想,整體上待匹配指紋與指紋庫中的指紋遍歷地進行一一比較:在一對指紋比較過程中,通過細節特征點兩兩組合產生特征向量,然后在兩個指紋的特征向量之間遍歷地計算相似程度。整體過程計算量比較大,而且大多數都是重復的運算過程,軟件平臺上需要消耗大量的處理器資源,但硬件平臺卻很適合處理這一類問題。

目前該類算法在軟件平臺上的實現性能受處理器資源和頻率限制,只能達到約每秒數萬次指紋比對,遠遠無法達到大規模使用的要求。本文針對這一現狀,嘗試基于FPGA平臺對這類算法進行加速。

3 基于FPGA的加速結構設計

FPGA平臺具有許多軟件平臺無法比擬的優勢,如較低的功耗、豐富的資源、天生的并行性等,因而采用FPGA平臺進行加速設計是合適的。為了達到研究目標,根據FPGA平臺的特點,對原算法進行適當調整,并設計一種相應的加速結構。

3.1 設計思想

通過對軟件算法的流程和原理研究發現,該算法中涉及到較大的計算量,特別是其中DEMO指紋展開并構建特征向量對部分,不僅需要根據DEMO指紋細節特征點構建特征向量,同時還要從上一步已經生成的特征向量中查找相似度較高的特征向量構造向量對,并計算相似度。這一過程是計算量最大、計算最密集的部分,也是整個算法中的瓶頸部分。因此為了對該類算法進行加速,首先考慮的就是對這一部分進行調整與加速。

根據直觀的想法,兩個指紋相似度越高,它們之間匹配的特征向量對數目也就越多。在這一想法的基礎上,本文對樣本指紋數據庫進行了統計分析,結果如圖4所示。

從圖4可以看出,隨著閾值的增大,滿足匹配閾值的指紋比率急劇降低,而正確率降低較慢,所以設定一個閾值對指紋庫進行預過濾是可行的,本文也就是基于這一思想進行了加速結構的設計和實現。

3.2 算法調整

為了使用FPGA平臺對整個算法進行加速,本文對原算法的結構進行了適當調整,算法整體采用預過濾之后精確比對的思想進行加速。通過預過濾剔除指紋庫中大部分不符合的指紋,經過分析發現在特定閾值下能剔除99%的指紋庫指紋,再對余下可能性較大的小部分指紋進行精確比對,從而達到整體加速的效果;其中預過濾加速部分在FPGA上進行,也是整個加速結構的核心部分。

基于上述思想,為了便于硬件的加速結構實現,本文適當調整原算法結構:將DEMO指紋展開并構建特征向量對這一過程剝離開來,先產生DEMO指紋特征向量,再和待匹配的EXP指紋特征向量進行逐一組合匹配計算。這樣調整的好處在:一方面可以將計算過程分成多個模塊,便于計算量的平衡;另一方面多模塊的結構便于硬件環境下流水,從而加速整個計算過程。

3.3 結構設計

在上述設計思想的指導下,本文調整算法結構后初步設計的結構如圖5所示。

4 加速結構實現

4.1 模塊劃分

根據粗篩的想法,將原算法DEMO指紋展開并構建特征向量對部分拆分為:demo_gen、pair_expand、pair_expand_all、pair_cal這四個子模塊,結構如圖5所示。

拆分為多個子模塊一方面是為了均衡計算量,避免某個部分計算量過大,成為加速設計的瓶頸:另一方面是為了在FPGA中形成流水線,從而提高在FPGA中運行的性能

各模塊的功能說明如下:

demo_gen:將DEMO指紋特征點集中的特征點兩兩組合生成正向和反向的DEMO指紋特征向量(對應生成的DEMO特征向量A1方向角的兩種情況),并將生成的DEMO特征向量相關數據(A1方向角,A2方向角,長度Len)傳到下一模塊。

pair_expand:根據demo_gen模塊傳人的DEMO指紋特征向量數據。按照A1方向角允許誤差展開查找待匹配的EXP指紋特征向量,在EXP指紋特征向量角度地址映射表(A1_addr_map)中查找ID范圍(A1_addr_map中的角度映射值,對應EXP指紋特征向量緩存表linebyA1中EXP特征向量位置),并將DEMO特征向量與待匹配的EXP特征向量ID范圍數據傳人下一模塊。

pair_expand_all:根據pair_expand模塊傳入的ID范圍展開待匹配的EXP特征向量,生成DEMO特征向量與具體的EXP特征向量對數據,并傳到下一模塊。

pair_cal:計算pair_expand_all模塊傳人的所有特征向量對數據是否匹配,并統計兩個指紋點集間局部相似度累加和,輸出結果供粗篩過濾使用。

同時,在整個結構中增加到兩個比較重要的數據結構。

EXP指紋特征向量緩存表(linebyA1):存儲了一個EXP指紋的所有特征向量數據。并且按照A1方向角從小到大的順序排列,建立這樣一個表是為了根據A1方向角的值快速的查找到EXP指紋對應的特征向量數據,節省查找時間,其中一條特征向量的數據結構如表1所示。

EXP指紋特征向量角度地址映射表(A1_addr_map):是根據表linebyA1中A1方向角從小到大統計的特征向量數目的累加和,其映射了方向角為A1的特征向量數據在linebyA1表中的起止地址,配合linebyA1表快速的定位所有方向角為A1的特征向量:A1_addr_map表的序號對應方向角A1,每個數據表示該角度特征向量的數目。

4.2 優化策略

進行上述算法調整和結構實現后,經過實驗發現加速效果并不明顯。為了提高加速的效果。除采用一些主要的優化策略:計算過程多模塊化、模塊內循環流水及模塊之間流水并行、采用新的數據結構緩存避免重復計算等,還針對資源和結構方面進行了特定的優化。

4.2.1 資源優化

為了在單節點FPGA中盡可能多的放入并行加速流水線,對單條流水線中各個模塊的資源占用情況進行分析發現:demo_gen模塊的LUT資源使用(約7%)是決定放入條數的瓶頸。

經過深入研究算法發現:算法中采用簡單平方和之后開平方的方式計算兩個特征點之間的距離。該運算需要占用大量計算資源,是資源瓶頸。為了緩解這一情況,文中采用兩點距離近似計算方法,即采用移位運算來近似求解兩點間的距離,且算法的精確度在能夠接受的范圍內,從而在使用很少資源的同時達到較高的精確度。

原算法和近似算法的資源占用情況如圖6所示,FF(Flip-Flop)使用是原來的14.8%,LUT(Look-Up-Table)的使用是原來的26.3%,極大的優化了資源的使用,使得原來單節點放入加速流水結構從14條增加到20條。

4.2.2 結構優化

經過資源優化之后,整體性能有了很大提高,為了進一步提高整體性能,觀察并統計各個模塊的時延情況如圖7所示,另一方面在資源優化后,LUT的使用下降,而第一個模塊demo_gen部分的DSP資源的使用成為了瓶頸,約占全部資源的4%。

觀察各模塊的時延圖,可以發現第一個模塊demo_gen的運行時延不到最大時延模塊pair_expand_all的一半,但其DSP資源的占用最多,也是影響FPGA中放人流水線數目的瓶頸。

基于上述情況,本文考慮采用雙尾端的結構,即在一個demo_gen模塊后面連接相同的兩條尾巴。如圖8所示。并且通過“乒乓”操作的方式使得demo gen模塊的有效運行時間更長,從圖7時延上來看這一設計是可行的。

通過這樣的方式,將一條流水線中demo gen模塊的資源占用平攤到兩條流水線,僅占到2%左右,而單條流水線的性能基本沒有影響,從而能夠在同一FPGA中等效放入30多條流水線,極大的提高了加速結構的吞吐率。

4.3 整體結構

經過資源優化和整體結構優化調整后,加速結構單條流水線整體如圖8所示。

5 實驗及結果分析

為了測試設計的整體效果,本文在FPGA平臺上對這一加速結構進行了實現。并同時在軟件平臺上對原算法進行了相應的比較測試。

5.1 實驗平臺

本文選擇了常見的軟硬件平臺進行實驗測試。軟件平臺:采用的X86服務器是Intel XeonE5620,主頻2.4GHz,內存40GB;硬件平臺:采用的是Xilinx的FPGA(zynq-7030fbg484),包含的主要資源分別是LUT(78600)、FF(157200)、DSP(400)。

5.2 結果分析

在所選擇的軟硬件平臺上,本文針對不同的指紋數據進行了多次測試,實驗結果如圖9所示。

通過圖9實驗結果可以看出。本文所實現的加速結構加速效果非常明顯:軟件平臺上的平均匹配速度約為每秒4萬次,本文在單節點FPGA平臺上實現的加速結構平均匹配速度約為每秒100萬次。達到了25倍的加速效果。

另一方面,本文采用FPGA平臺是可擴展的。通過使用多個FPGA節點并行的處理,整體計算速度還可以進一步提升。目前本文已在16個節點的FPGA上進行了實現,整體性能達到每秒千萬次比對,能夠初步滿足大規模范圍的指紋匹配應用。

6 結束語

本文主要針對基于細節特征點的這一類指紋識別算法在大規模指紋數據應用下的加速問題,提出并設計實現了一種加速結構。通過本文的加速,指紋匹配性能有了極大的提升,單節點FPGA能達到25倍的加速效果。16個節點并行條件下甚至能到每秒千萬次比對,能夠初步滿足大規模指紋匹配的應用場景,達到了本文的主要目標,也為后續新指紋匹配算法的大規模應用奠定了基礎。

但由于本文主要針對基于細節特征點這一類指紋識別算法,對其他指紋識別算法的加速效果沒有這么明顯。這是本文目前的主要問題,也是下一步需要深入研究的地方。

猜你喜歡
流水
讓情緒像流水一樣經過
傣家跟著流水走
云南畫報(2021年8期)2021-12-02 02:46:08
流水
文苑(2020年10期)2020-11-07 03:15:26
無題
揚子江(2018年1期)2018-01-26 00:36:54
流水有心
天津詩人(2017年2期)2017-11-29 01:24:12
小河流水嘩啦啦
前身寄予流水,幾世修到蓮花?
視野(2015年6期)2015-10-13 00:43:11
經過流水
六盤山(2015年3期)2015-06-29 12:26:37
紅葉有心,流水有情
火花(2015年1期)2015-02-27 07:40:13
落紅只逐東流水
海峽姐妹(2014年5期)2014-02-27 15:09:38
主站蜘蛛池模板: 69视频国产| 青草免费在线观看| 丁香六月综合网| 青青青国产精品国产精品美女| 成年女人18毛片毛片免费| 91青青视频| 亚洲网综合| 亚洲一区网站| 一级黄色欧美| 国产人成网线在线播放va| 最新亚洲av女人的天堂| 国产真实乱人视频| 天堂成人在线| 亚洲最新地址| 精品久久久久无码| 欧美国产菊爆免费观看| 欧美色综合网站| 日本妇乱子伦视频| 免费不卡视频| 真人免费一级毛片一区二区| 色婷婷亚洲综合五月| 国产亚洲精品91| 欧美色综合网站| 一本综合久久| 国产成人亚洲精品无码电影| 国产精品性| 九色视频一区| 亚洲另类色| 一级毛片在线免费视频| 午夜啪啪网| 四虎成人精品在永久免费| 国产精品久久久久无码网站| 99精品在线看| 在线观看网站国产| 黄色免费在线网址| 亚洲av综合网| 2020久久国产综合精品swag| 88国产经典欧美一区二区三区| 永久在线播放| 亚洲国产中文欧美在线人成大黄瓜| 久久久久久高潮白浆| 久久精品中文字幕免费| 欧美中文一区| 亚洲成人高清在线观看| 人妻中文久热无码丝袜| 国产美女主播一级成人毛片| 国产福利影院在线观看| 欧美国产菊爆免费观看| 99免费在线观看视频| 国产久操视频| 五月丁香在线视频| 欧洲av毛片| 国产美女91呻吟求| 精品无码一区二区三区电影| 熟妇丰满人妻| 91色在线观看| 国产美女无遮挡免费视频| 亚洲成网站| 欧美成人看片一区二区三区 | 亚洲综合第一页| 福利一区三区| 国产精品久久久久久搜索| 丁香六月激情综合| 亚洲精品777| 亚洲一区二区精品无码久久久| 国产成人一区二区| 亚洲欧洲一区二区三区| 亚洲美女一区二区三区| 91青青视频| 日韩无码视频专区| 少妇被粗大的猛烈进出免费视频| 成人午夜久久| 欧美日韩资源| 亚洲 欧美 日韩综合一区| 亚洲专区一区二区在线观看| 中文字幕一区二区人妻电影| 好吊妞欧美视频免费| 国产一区二区三区精品久久呦| 中文字幕在线日本| 色一情一乱一伦一区二区三区小说| a在线观看免费| 久久伊人操|