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