項目信息 1.項目名稱:基于FPGA的混沌加密虹膜識別系統設計 2.應用領域:工業控制、科研、醫療、安檢 3.設計摘要: 基于虹膜的生物識別技術是一種最新的識別技術,通過一定的虹膜識別算法,可以達到十分優異的準確性。隨著虹膜識別技術的發展,它的應用領域越來越寬,不僅在高度機密場所應用,并逐步推廣到機場、銀行、金融、公安、出入境口岸、安全、網絡、電子商務等場合。在研究了虹膜識別算法,即預處理、特征提取和匹配的基礎上,我們設計了一種可便攜使用的基于FPGA的嵌入式虹膜識別系統。本系統由6個模塊組成:電源管理和監控、虹膜圖像采集(CMOS圖像傳感器,ADV7183)、虹膜圖像處理(FPGA)、存儲器(SDRAM和FLASH)、人機交互(LCD和鍵盤)和網絡傳輸模塊,同時從硬件、軟件和算法三個方面提出設計方案 4.虹膜識別原理 虹膜是一種在眼睛中瞳孔內的織物狀各色環狀物,每一個虹膜都包含一個獨一無二的基于像冠、水晶體、細絲、斑點、結構、凹點、射線、皺紋和條紋等特征的結構。據稱,每個人每只眼睛的虹膜都是唯一的,即使是整個人類,也沒有任何兩個虹膜在數學細節(mathmatical detail)是相似的,即便是一對雙胞胎,他們的虹膜也不會相同。 虹膜是位于眼睛黑色瞳孔和白色鞏膜之間的圓環狀部分,總體上呈現一種由里到外的放射狀結構,由相當復雜的纖維組織構成,包含有很多相互交錯的類似于斑點、細絲、冠狀、條紋、隱窩等細節特征,這些特征在出生之前就以隨機組合的方式確定下來了,一旦形成終生不變。 從一定的距離之外可以看到虹膜,這樣可視性為生物測量方案的操作上提供了理想的條件,不像DNA這種生物特征的不可視。登記時獲得圖像,以及身份識別都是很容易完成的,最重要的是這種技術的抗干擾性(抗插入性)。其他生物測量技術在數學算法的確定性、速度以及非干擾性這些方面與虹膜識別不可同日而語。在當今世界,虹膜識別仍被公認為是識別精度最高的生物識別系統。 虹膜識別技術就是應用計算機對虹膜紋理特征進行量化數據分析,用以確認被識別者的真實身份,是目前世界上最尖端的生物識別技術。 一個自動虹膜識別系統包含硬件和軟件兩大模塊:虹膜圖像獲取裝置和虹膜識別算法。分別對應于圖像獲取和模式匹配這兩個基本問題。 采集: 從直徑11mm的虹膜上,Dr.Daugman的算法用3.4個字節的數據來代表每平方毫米的虹膜信息,這樣,一個虹膜約有266個量化特征點,而一般的生物識別技術只有13個到60個特征點。266個量化特征點的虹膜識別算法在眾多虹膜識別技術資料中都有講述,在算法和人類眼部特征允許的情況下,Dr. Daugman指出,通過他的算法可獲得173個二進制自由度的獨立特征點。在生物識別技術中,這個特征點的數量是相當大的。 算法: 第一步是通過一個距離眼睛3英寸的精密攝像頭來確定虹膜的位置。當攝像頭對準眼睛后,算法逐漸將焦距對準虹膜左右兩側,確定虹膜的外沿,這種水平方法受到了眼瞼的阻礙。算法同時將焦距對準虹膜的內沿(即瞳孔)并排除眼液和細微組織的影響。 單色相機利用可見光和紅外線,紅外線定位在700-900mm(這是IR技術的低限,美國眼科學會在他們對macularcysts研究中使用同樣的范圍)的范圍內。 在虹膜的上方,算法通過二維Gabor子波的方法來細分和重組虹膜圖象,第一個細分的部分被稱為phasor,要理解二維gabor子波的原理需要很深的數學知識。 精確度: 虹膜識別技術是精確度最高的生物識別技術,具體描述如下:兩個不同的虹膜信息有75%匹配信息的可能性是1:106等錯率:1:1200000兩個不同的虹膜產生相同虹膜代碼的可能性是1:1052 錄入和識別: 虹膜的定位可在1秒鐘之內完成,產生虹膜代碼的時間也僅需1秒的時間,數據庫的檢索時間也相當快。處理器速度是大規模檢索的一個瓶頸,另外網絡和硬件設備的性能也制約著檢索的速度。由于虹膜識別技術采用的是單色成像技術,因此一些圖像很難把它從瞳孔的圖像中分離出來。但是虹膜識別技術所采用的算法允許圖像質量在某種程度上有所變化。相同的虹膜所產生的虹膜代碼也有25%的變化,這聽起來好象是這一技術的致命弱點,但在識別過程中,這種虹膜代碼的變化只占整個虹膜代碼的10%,它所占代碼的比例是相當小的。 在身份識別或確認過程中會有錯誤。有兩個重要的測量因子——拒假率(FRR)和容假率(FAR)可以表明任何一種生物測量技術的正確性,可靠性。 拒假率(FRR) 在進行生物測量時,對某對象的某一生物特征進行生物測量所得結果與該對象已經記錄在系統中的模板不匹配,這時拒假事件發生。理論上拒假事件的發生概率或者實際發生的頻率(在有足夠的歷史數據可用的情況下)就是拒假率。 拒假率FRR在不同的生物測量體系和技術中值不同;而在任何一個單獨的生物測量體系中,盡管用于識別或確認的過程不盡相同,但拒假率(FRR)可能會一樣。因為在一個體系中僅有一個有效模板與該系統所獲得的數據匹配。 FRR值在生物測量時又會因為環境的不同而不同, 比如使用者合作的程度,操作條件等都可以影響FRR。 容假率(FAR) 在生物測量時,有一種可能性——對某一個對象的某一生物特征掃描取得的數據與數據庫中另外一個非該對象的模板足夠相似以至于匹配,這種錯誤叫做接受假事件,相關的概率叫做容假率FAR。 一個生物測量系統的FAR反映了該系統所使用技術的基本性能及系統獨特性。為了獲得一個低的FAR值,在測量生物實體的模板時,一定要使用這個個體的獨一無二的生物個性,同時用于測量該生物個體的算法一定要能夠有效地抓住這種唯一的個性。 5.系統平臺概述與資源分析 硬件架構部分:系統采用Xilinx公司XUP Virtex-II Pro系列FPGA作為核心的控制和運算芯片,數據采集模塊由GD-A118型CCD傳感器和ADV7183B視頻編碼器組成。其中,GD-A118型CCD傳感器可以完成虹膜圖像的采集,ADV7183B視頻編碼器負責將采集到得虹膜圖像轉換成數字信號,(利用SPI接口)傳送至FPGA進行處理。當處理圖像數據時,FPGA處理模塊這一部分是本設計的核心部分,主要用于對已獲取的高清晰虹膜圖片結合算法作進一步的處理,從而獲得重要的虹膜圖像信息。 處理之后的圖像會根據當前的操作模式被存入FLASH中作為建檔模板,或者與當前模板進行匹配。工作前可用鍵盤對工作模式進行選擇,另附帶有LCD顯示器用來顯示模式選擇和識別結果。 軟件架構部分:采用ISE和EDK開發平臺進行以MircoBlaze為系統控制器,以CORE Generator開發的并行處理IP作為復數迭代計算單元的系統結構。軟件算法流程圖如圖2所示: 6.項目內容簡述: 本系統可以分為五個模塊: 6.1 圖像采集模塊:核心部分為GD-A118型CCD傳感器,ADV7183B視頻編碼器。主要用于獲取高清晰虹膜圖片。 6.2 實時圖像處理模塊:核心部分為XUP Virtex-II Pro開發板。 這一部分是本設計的核心部分,主要用于對已獲取的高清晰虹膜圖片作進一步的處理。其中包括質量評估、虹膜定位、虹膜分割、歸一化、展開、二值化、增強、特征提取及編碼等步驟。 6.3 視頻輸出模塊:核心部分為ADV7179視頻編碼器。 主要用于將采集到的虹膜圖像實時清晰的展示在PC機上,以提高虹膜圖像的采集質量。 6.4 數據存儲模塊:核心部分為SDRAM和FLASH存儲器。 主要用于提高系統存儲空間,進一步提升平臺處理圖像的能力。 6.5 結果輸出模塊:核心部分為3.5英寸液晶屏。 主要作用是更加直觀的展示比對結果。 6.6網絡傳輸模塊:該模塊主要實現將加密后的圖片信息傳輸到遠程的中央服器。 7. 虹膜識別算法介紹 7.1虹膜內外邊緣的識別及定位 通過虹膜采集設備采集到的虹膜圖像,通常不可能僅僅包含虹膜,往往還有眼睛的其它部分,比如眼瞼,睫毛,眼白等等,因而準確的虹膜定位是虹膜識別與分析的前提,虹膜及其解剖特征如圖3所示。 7.1.1 虹膜內邊緣的特征分析 如上圖中所顯示的虹膜圖像來看,瞳孔的灰度最為趨向一致,也是圖像中灰度最低的部分,圖4(a)展示了圖3的灰度直方圖,由圖可以看出,瞳孔的灰度集中在直方圖的左側,具有明顯地峰值,圖4(b)顯示了對該圖進行灰度分割后的結果。 由此可見,閾值分割不失為一種初步分離瞳孔的途徑,但是應當指出,當我們采用的虹膜圖片為標準圖片時,即圖像聚焦良好,光照均勻,對于此類圖像,可以直接采用投影的方式確定瞳孔的半徑和圓心,但是,對于光照不均勻的圖像,特別是本實例中所使用的虹膜圖像,閾值分割之后會出現許多干擾點。 如圖5,就是是一幅光照不均勻情況下的虹膜圖像及其閾值變換,可見關照不均勻的情況下閾值變換后的瞳孔邊界有棱角,而且周圍有很多干擾點,這對確定虹膜的內邊緣增加了不少難度。 7.1.2 虹膜內邊緣的確定 如上所述,閾值分割可以初步地將瞳孔分割出來,但是考慮到算法的抗干擾能力,應對不同光照情況下閾值分割圖像的差異情況予以充分考慮,對于光照均勻程度所帶來的噪聲與干擾也應能夠很好處理。本文擬對閾值分割后的圖像進行精確取點,然后采用hough 變換來確定圓的圓心和半徑。 (1) 圓的Hough 變換 Hough 變換是對圖像進行某種形式的坐標變換,它將原始圖像中給定的形狀的曲線或直線變換成變換空間的一個點,即原始圖像中曲線或直線上所有點都集中到變換空間的某個點上形成峰點,這樣,把原始圖像中給定形狀的曲線或直線的檢測問題,變成尋找變換空間的峰點問題,也即把檢測整體特性(給定曲線的點集)變成檢測局部特性的問題。 由上述原理,可得圓的Hough 變換的方法:在x-y 平面上,中心在( ),半徑是 的圓周C上一點(x,y)滿足: (7-1) 如果將圓心(a,b)看作為變量,則在a-b 平面上可以畫出中心在(x,y),半徑 的圓 。在圓C 上的每一點( ),在a-b 平面上有中心在( , ),半徑為rc 的圓 與之對應,且這些圓組成了相交于一點( )圓群,進一步把圓的半徑r 作為變量,在a-b 平面得到由不同半徑的圓CHi 構成的圓環。在a-b-r 空間中建立三維數組,數組中元素 ai,bi,ri P 的值代表a-b 平面上通 過點(ai,bi),半徑為ri 圓的個數。如果圖像中存在滿足方程(7-1)的圓,則 的值最大。即 (7-2) 因此,數組中最大值元素所對應的參量( )就是圖像中圓的中心和半徑。 (2) Hough 變換的改進PHT 變換 上述變換方法雖然由使用廣泛,但是因為它要在三維空間內搜索,計算復雜性較大,為此采用點Hough 變換,原理如圖6所示,設K,L,M為圓周上三點,由圓的幾何性質可知,KL 的中垂線L(KL) 與LM 的中垂線L(LM)必然相交于圓C 的中心O。設K、L、M 三點的坐標分別為 、 、 ,則L(KL) 和L(LM) 的方程分別為: L(KL): (7-3) L(LM): (7-4) 利用(7-3)和(7-4)式,計算出圓C 的圓心( )和半徑 。 (7-5) (7-6) (7-7) 可見, 半徑ri,中心( )的圓周上任意不共線的三點(以下稱為點組)對應a-b-r 空間中一點( ),所以我們稱之為點Hough 變換(Point Hough Transform)。 用向量 表示a-b-r 空間中的點, 則圖像中圓( )上的點組對應于a-b-r 空間中的向量 。在圖像中選取N 個點組,得到包括 ,N 組來自同一圓上的點組對應的向量相同。向量組中不同編號的向量可能相同。向量組中出現次數最多的向量就是圖像中圓的參量。用數組P[n](n=0, …, N-1),表示向量組中向量 出現的次數,則有: ,其中 if( ),kk=1 else kk=0 (7-8) 確定數組P[n]后,就可以找出圖像中圓的參量值。 if (7-9) 根據實際應用,我們將式(7-8)中kk=1的條件改為 , 為一微小增量,更為符合實際應用。 PHT 不需搜索變量空間,只對選取的點組進行統計,計算復雜性決定于所選擇點組的數目。 PHT 過程包括兩個步驟:確定參量向量組和找向量組中出現頻率最大的向量。設選取的點組數為M,從上述分析可知, 過程的計算復雜度為O(M),過程最大數組是3×M。對于CHT 過程, 設圖像中圓參量的取值范圍分別為A、B、R,邊緣點的數目為N。 |