圖像采集綜合評估的嵌入式指紋識別系統(tǒng)設(shè)計(jì)
由于具有其持久性和唯一性,指紋被廣泛應(yīng)用在個人身份識別系統(tǒng)。指紋識別在全世界范圍內(nèi)的廣泛應(yīng)用,不僅為防范犯罪,同時也作為處理個人事務(wù)和信息安全的一個關(guān)鍵技術(shù)。
本文引用地址:http://butianyuan.cn/article/201710/366969.htm在指紋識別技術(shù)領(lǐng)域,歐美國家在研究和開發(fā)中處于領(lǐng)先地位。美國ZK Software 在1992 年就發(fā)布了ZKFinger 1.0 版,2008 年發(fā)布了ZKTime7.0、ADMS 解決方案、指紋鎖、集成具有美國聯(lián)邦政府推出的FIPS201 認(rèn)證的Lumidign 和Secugen指紋儀;法國Segam 公司,是安全解決方案的市場領(lǐng)導(dǎo)者之一,有遍布5 大洲超過85 個分公司和分支機(jī)構(gòu),其生產(chǎn)的集成系統(tǒng)部署在100 多個國家和地區(qū)。亞洲在指紋識別技術(shù)上較為先進(jìn)的公司有:韓國現(xiàn)代、朝鮮的培富士、日本的NEC 等。
中國雖然在指紋識別技術(shù)方面發(fā)展較晚,但目前也已有具備指紋識別專用芯片研發(fā)生產(chǎn)和應(yīng)用能力的企業(yè),如杭州晟元芯片技術(shù)有限公司、國民技術(shù)股份有限公司等。
在指紋圖像評估算法研究領(lǐng)域,Tabassi 等人通過提取指紋圖像各子塊的對比度和曲率特征評估指紋圖像質(zhì)量,但這種方法只是從指紋圖像局部紋理進(jìn)行分析,不足以反映指紋圖像全局信息;Hong 等人通過計(jì)算指紋圖像每一圖塊指紋紋線垂直方向上的灰度方差評估指紋圖像質(zhì)量,它在圖像噪聲較大時并不能很好獲得指紋圖像的方向圖,從而影響最后的評估效果。
文中采用一種指紋圖像綜合評估算法,設(shè)計(jì)具有信息提示功能的指紋識別系統(tǒng),并將評估結(jié)果輸出到顯示屏,實(shí)現(xiàn)了提高指紋識別成功率,讓用戶直觀了解指紋采集的某個環(huán)節(jié)出現(xiàn)問題,以及如何進(jìn)行修正的目的。
1 指紋識別系統(tǒng)硬件設(shè)計(jì)
1.1 嵌入式指紋采集系統(tǒng)組成
具有提示信息的指紋識別裝置包括處理器,系統(tǒng)結(jié)構(gòu)圖如圖1 所示。處理器以不同的接口分別連接LCD 漢字顯示屏、指紋傳感器、JTAG 調(diào)試接口、復(fù)位電路、外部SRAM 數(shù)據(jù)存儲器、串口及USB 接口;電源管理模塊為上述各部分中的芯片和電路提供電源管理。其中,漢字顯示屏用來顯示指紋圖像初始評估的結(jié)果,提示用戶手指的放置是否正確、若不正確如何修正;指紋傳感器用來獲取手指的指紋圖像信息;JTAG 調(diào)試接口用來與上位機(jī)連接進(jìn)行調(diào)試;復(fù)位電路用來初始化指紋識別裝置;FLASH 程序存儲器用來存儲指紋識別裝置運(yùn)行的程序;外部SRAM 數(shù)據(jù)存儲器用來存儲指紋識別裝置運(yùn)行過程中產(chǎn)生的臨時數(shù)據(jù);串口和USB 接口用于與上位機(jī)的連接通信;安全控制器是指紋識別裝置的核心,控制指紋識別裝置的運(yùn)行。
圖1 指紋采集系統(tǒng)結(jié)構(gòu)圖
指紋專用芯片,是指內(nèi)嵌指紋識別技術(shù)的芯片產(chǎn)品,能夠片上實(shí)現(xiàn)指紋的圖像采集、特征提取、特征比對的芯片,使開發(fā)過程變得簡單,開發(fā)者可以方便的實(shí)現(xiàn)指紋識別的功能,同時芯片價(jià)格適中,利于普及使用。
指紋專用芯片采用杭州晟元芯片技術(shù)有限公司生產(chǎn)的AS602 芯片,采用哈佛結(jié)構(gòu)32 位RISC 處理器內(nèi)核,內(nèi)置專用DSP 指令集和加速器。其主要特點(diǎn)是具有SEA/RSA 加速引擎、內(nèi)置存儲器(Flash/OTP)、指紋處理加速器和專用算法軟件。AS602 芯片主頻高達(dá)128 MHz,內(nèi)置128 KB 高速靜態(tài)隨機(jī)存儲器(SRAM),嵌入了1 MB 大容量FLASH,64 kB ROM 和4 kB OTP ROM,并具備豐富的對外接口:除了USB2.0 全速接口外,還具備3 組USART 接口、4 通道PWM接口、ISO7816 智能卡接口、APC 主接口、片上實(shí)時鐘、對稱算法引擎(SEA)加速器、RSA 加解密引擎、真隨機(jī)數(shù)產(chǎn)生器(TRNG),以及51 路GPIO。
1.3 指紋采集傳感器
FPC1011F 指紋傳感器由152×200 個傳感器陣列組成,每一個陣列是一個金屬電極。放在傳感面上的手指的對應(yīng)點(diǎn)則作為另外一極,其工作原理是改變極板間距的電容式傳感器,整個傳感器(或其中的一部分)是通過讀取感應(yīng)器的指令來讀取的,采集區(qū)域的大小是由寄存器XSHIFT 和YSHIFT值的決定的。
FPC1011F 與處理器芯片的接口原理圖如圖2 所示。將AS602 的USART0 配置為SPI 模式。AS602 的61 腳作為時鐘輸出,60 腳作為數(shù)據(jù)主輸出,連接FPC1011F 的6 號腳;59腳作為數(shù)據(jù)主輸入,連接FPC1011F 的1 號腳。FPC1011F 4號引腳SPI_CK 與AS602 的61 腳連接得到系統(tǒng)時鐘。
圖2 AS602 與FPC1011F 的接口原理圖
將FPC1011F 的CPHA 和CPOL 分別置為0, 此時FPC1011F 為從設(shè)備。指紋圖像數(shù)據(jù)通過傳感器輸入FIFO.指紋采集通過查詢方式,用rd_spidtat 指令不停地查詢SPI_STATUS 寄存器的DA 狀態(tài)是否為1。當(dāng)SPI_STATUS 的DA狀態(tài)為1 時,用rd_spidata 指令來讀取FPC1011F 的FIFO 中的數(shù)據(jù)。
1.4 指紋圖像評估狀態(tài)顯示模塊
HS1602A LCD 是16×2 行,5×7 字符點(diǎn)陣液晶模塊,其內(nèi)部的字符發(fā)生器ROM 中自帶數(shù)字和英文字母及一些特殊符號的字符庫,雖然沒有漢字,但是利用HS1602A 可以建立5×7 點(diǎn)陣自定義字庫的特點(diǎn),形成所需要的漢字點(diǎn)陣。HS1602A 與傳感器芯片的接口原理圖如圖3 所示。
圖3 AS602 與HS1602A LCD 顯示屏模塊接口原理圖
2 指紋圖像評估研究與分析
2.1 指紋圖像評估流程
在指紋采集輸入過程中,由于手指的指紋質(zhì)量、安放位置及干濕狀態(tài)等原因,都可能無法正確識別指紋信息。為提高指紋識別效率,先對采集的指紋信息進(jìn)行評估。安全控制器對指紋圖像進(jìn)行指紋灰度圖像隔點(diǎn)采樣,指紋圖像點(diǎn)方向圖計(jì)算,指紋灰度圖像的前、背景圖分離,指紋前景圖面積分析,指紋圖像質(zhì)量分析等圖像處理過程,并對評估的結(jié)果用漢字進(jìn)行顯示。若評估不合格,根據(jù)顯示信息,重新采集指紋圖像信息,直到通過評估。系統(tǒng)工作流程圖如圖4 所示。
圖4 系統(tǒng)工作流程圖
2.2 指紋圖像隔點(diǎn)采樣
用隔點(diǎn)的方式對指紋灰度圖像進(jìn)行采樣,隔點(diǎn)獲得原始指紋灰度圖像,在不改變指紋特征碼的基礎(chǔ)上減少數(shù)據(jù)采集量。
2.3 指紋灰度圖像的前、背景分離
用點(diǎn)方向圖表示所述隔點(diǎn)原始指紋灰度圖像中每一像素點(diǎn)處的局部紋理走向,具體如下:
指紋圖像是由局部平行的脊線和谷線構(gòu)成的一種方向模式。通過指紋圖像點(diǎn)方向圖計(jì)算,可將指紋圖像中的各個圖像塊劃分為前景塊或背景塊。采用7×7 模板,基準(zhǔn)點(diǎn)位于模板中心,從水平位置開始每隔π/4 確定一個方向,定義I=1,2,3,4,對應(yīng)0,π/4,2π/4,3π/4,π 四個方向。按公式(1)計(jì)算各個方向的灰度變化DI,比較DI,找到最小值,就代表該點(diǎn)的方向,見公式(1):
式中,是沿I方向上點(diǎn)的灰度均值,f1(ik , jk) 是I方向上點(diǎn)的灰度值。
圖像的前景塊是分布有指紋脊線的圖像塊,其余部分為背景塊。將前景塊設(shè)置為1,背景塊設(shè)置為0,實(shí)現(xiàn)指紋灰度圖像的前、背景圖分離。具體如下:
1)使用公式(2)進(jìn)行計(jì)算:
其中,f(i, j)為(i, j)點(diǎn)的灰度值;為I方向上灰度值的累加和;Smax 為累加和值的上限值;Smin 為累和值的下限值。如果滿足公式(2) 的條件,則當(dāng)前點(diǎn)為前景點(diǎn);否則為背景點(diǎn)。
2)依據(jù)小塊內(nèi)背景點(diǎn)的比例,判斷各圖像塊是前景塊或背景塊。如果小塊內(nèi)背景點(diǎn)的數(shù)量超過閾值Tb,則認(rèn)為該圖像塊屬于背景塊,否則為前景塊。
2.4 指紋圖像質(zhì)量分析
通過圖像質(zhì)量判斷條件,比較質(zhì)量評估參數(shù)Q 與閾值TQ.若Q ≤ TQ,說明圖像質(zhì)量未達(dá)到要求,需要進(jìn)行手指干/ 濕狀態(tài)分析,并在漢字顯示屏上提示分析結(jié)果;若Q 》TQ,說明圖片質(zhì)量達(dá)到要求,但還需判斷手指位置是否放置正確。具體如下:
1)依據(jù)該塊內(nèi)的各點(diǎn)是否大部分屬于某一特定方向,判斷一個前景圖像塊是否具有方向優(yōu)勢;
2)計(jì)算各圖像塊的方向,求出各塊的方向直方圖。如果具有某一個方向D 的像素?cái)?shù)目超過預(yù)設(shè)值T1,則該塊的優(yōu)勢方向被標(biāo)記為D;
3)指紋圖像的質(zhì)量可以通過計(jì)算連續(xù)的優(yōu)勢方向區(qū)域占所有指紋前景圖的比例進(jìn)行描述。采取一種加權(quán)的方法,距離參考點(diǎn)越遠(yuǎn)的圖像塊,它所包含的信息越可靠,其權(quán)值也就越高;
4)對于指紋前景圖中的任一圖像塊xi,可以用公式具有連續(xù)優(yōu)勢方向塊的權(quán)值與所有指紋前景塊的權(quán)值之比來確定其圖像質(zhì)量;
q 為相對權(quán)值常數(shù),xc為指紋前景質(zhì)心,Q 為質(zhì)量比例;
5)將指紋圖像質(zhì)量比例Q 與指紋圖像質(zhì)量評價(jià)的下限值TQ 進(jìn)行比較,若Q 》TQ,表示指紋圖像質(zhì)量合格。若手指位置正確,則提示“指紋輸入正確”,進(jìn)行圖像預(yù)處理;若手指位置有偏向,則對手指位置的偏向進(jìn)行分析,并顯示相應(yīng)的提示內(nèi)容。
6)若Q ≤ TQ,表示指紋圖像質(zhì)量不合格,則進(jìn)入手指干/ 濕狀態(tài)分析,根據(jù)分析結(jié)果,提示手指的干/ 濕狀態(tài)。
2.5 手指干/ 濕度分析
根據(jù)指紋圖像分析,過干手指的指紋圖像對比度較小,灰度較大;過濕手指的指紋圖像對比度較小,灰度較小。手指干/ 濕度分析算法要計(jì)算指紋圖像的灰度均值和標(biāo)準(zhǔn)差。具體步驟如下:
1)分別計(jì)算每一個前景圖像塊的灰度均值m、各前景塊所有像素的標(biāo)準(zhǔn)差δ、塊內(nèi)小于均值m 的所有像素的灰度均值μ;
2)求圖像塊的對比度Cd:
Cd = μ / δ (5)
若Cd 大于干圖像塊對比度閾值DTH1,則該圖像塊確認(rèn)為干圖像塊;
3) 若Cd ≤ DTH1, 還需用圖像塊8 鄰域中對比度最大值和最小值的差值Var(Cd) 與閾值DTH2 進(jìn)行比較。如果Var(Cd)》 DTH 2,則將該圖像塊標(biāo)記為干圖像塊;
4)計(jì)算所有干圖像塊占前景圖像的比例,即為干度。如果干度超過閾值DTH3,則認(rèn)為該手指過干,在漢字顯示屏上提示用戶手指過干;否則進(jìn)行手指濕度分析;
5)為分析、計(jì)算手指濕度,引入濕度特征量:
Cs = μ / δ (6)
如果Cs 小于預(yù)設(shè)的閾值STH1,則標(biāo)記該圖像塊為濕圖像塊;
6)統(tǒng)計(jì)所有濕圖像塊占前景圖像的比例,即為濕度。若濕度超過濕圖像塊比例閾值STH2,則提示用戶手指過濕。若濕度≤ STH2,則該指紋圖像判定為低質(zhì)量圖像。
2.6 手指位置分析
無論何種類型的指紋,其脊線都呈拋物線形,可通過分析指紋圖像中心區(qū)域是否存在一條較為完整的脊線來確定手指是否放偏。本文使用基于方向圖的跟蹤方法判斷手指的放置位置是否正確。具體如下:
1)構(gòu)造坐標(biāo)系,以前景圖的質(zhì)心為原點(diǎn),構(gòu)建坐標(biāo)系;
2)在x 軸的左半軸,選擇一個優(yōu)勢方向不為0 的圖像塊作為起始參考位塊;
3)根據(jù)塊內(nèi)的各點(diǎn)是否大部分屬于某一特定方向來判斷圖像塊的優(yōu)勢方向。若塊優(yōu)勢方向?yàn)?,則重新選擇起始參考位塊;若塊優(yōu)勢方向不為0,則根據(jù)當(dāng)前圖像塊的方向,向右搜索下一個圖像塊;
4)判斷該圖像塊與前一個圖像塊的方向變化。如果圖像塊與前一個圖像塊的方向變化超過90°,表明當(dāng)前圖像塊的方向發(fā)生突變,根據(jù)脊線的連續(xù)性,將當(dāng)前圖像塊的方向替代前一個圖像塊的方向,在此基礎(chǔ)上搜索下一個圖像塊;
5)若圖像塊的方向沒超過90°,則還需判斷是否搜索到一條完整的脊線。
若找到完整的脊線,采集的指紋圖像正確,在顯示屏上提示輸入正確,結(jié)束指紋圖像搜索;否則,說明當(dāng)前圖像塊沒有足夠接近x 軸的正半軸,還需繼續(xù)搜索下一個圖像塊;
6)判斷x 軸的負(fù)半軸是否完成搜索。若未搜索完畢,則繼續(xù)搜索;若x 軸的負(fù)半軸已經(jīng)完成搜索,還需搜索x 軸的正半軸;
7)搜索x 軸的正半軸的方法與x 軸負(fù)半軸類似,方向相反。
如果搜索到一條完整的脊線,則在顯示屏上提示輸入正確,結(jié)束指紋圖像搜索;否則還需繼續(xù)搜索。如果從x 軸的正、負(fù)半軸都無法確定一條完整的脊線,則表明該指紋圖像過偏,按照質(zhì)心的位置提示用戶,需重新采集指紋。
根據(jù)所選質(zhì)心的位置和判斷的結(jié)果,分別在信息提示顯示屏上進(jìn)行顯示。
3 指紋信息的數(shù)字水印技術(shù)應(yīng)用
具有指紋采集狀態(tài)顯示功能的指紋識別儀可應(yīng)用于多種場合,如基于指紋技術(shù)的門禁系統(tǒng)、交易系統(tǒng)、電子病歷和電子處方的簽名認(rèn)證、銀行內(nèi)部管理、電子政務(wù)系統(tǒng)和企業(yè)內(nèi)部辦公系統(tǒng)等諸多領(lǐng)域。
實(shí)現(xiàn)電子病歷(EMR) 是醫(yī)院信息系統(tǒng)的一個重要研究課題。應(yīng)用本文設(shè)計(jì)的系統(tǒng),已建立醫(yī)療機(jī)構(gòu)的EMR 系統(tǒng),如圖5、圖6 所示。
圖5 EMR 系統(tǒng)指紋采集界面
圖6 EMR 系統(tǒng)病號信息錄入界面
XML 可在不同平臺下進(jìn)行數(shù)據(jù)交換。利用XML 語言將電子病歷生成XML 文檔,使用Rijindael 算法,加密、解密使用同一密鑰。加密時,用密鑰將明文加密后寫入文檔;解密后,將明文寫入結(jié)果文件中。
部分電子病歷的XML 文檔:
圖5 EMR 系統(tǒng)指紋采集界面
4 結(jié)論
文中設(shè)計(jì)的指紋識別系統(tǒng)和指紋圖像綜合評估算法,對指紋圖像進(jìn)行前、背景分離,對圖像做出圖像質(zhì)量、圖像有效面積大小、手指干濕程度、手指位置偏向性的綜合分析,實(shí)現(xiàn)人體指紋的采集和評估,便于指紋圖像的后續(xù)處理。運(yùn)用本文提出的指紋識別系統(tǒng)和指紋圖像綜合評估算法,在醫(yī)療系統(tǒng)建立了EMR 系統(tǒng)。在實(shí)際應(yīng)用中,提高了指紋識別的效率,具有很好的穩(wěn)定性。
評論