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