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