基于書(shū)寫(xiě)筆勁識別的身份驗證系統
在當今信息社會(huì ),個(gè)人隱私、商業(yè)機密和國家安全等越來(lái)越受到人們的重視,信息既需要能被方便的讀取,又需要得到可靠地保護。然而,現今的一些身份認證方案很難盡善盡美,即使是被認為不可復制的虹膜和指紋識別,在犯罪分子獲取當事人的眼球或手指等身體器官的極端情況下也會(huì )被冒充。由于成年人的書(shū)寫(xiě)習慣包括書(shū)寫(xiě)的字形、速度、力度和角度等,在較長(cháng)一段時(shí)間內是固定不變的,長(cháng)期以來(lái)都以簽名的字形作為認證身份的依據。特別是漢字,由于其特征較為明顯,經(jīng)常被用來(lái)作為身份鑒定。但字形是直觀(guān)的形態(tài),比較容易被模仿,相比之下書(shū)寫(xiě)的勁道難以察覺(jué),幾乎是不可復制和模仿的。而電阻觸摸屏由于其自身的構造,可以使用專(zhuān)用觸摸屏控制芯片采集筆跡及筆勁信息,故本文提出一種新的認證身份的方式---基于書(shū)寫(xiě)筆勁識別的驗證系統。
另外,可以將筆勁轉化為第三維度的信息,使用現在已經(jīng)相當成熟的圖像識別算法進(jìn)行處理。本系統結合筆跡識別技術(shù)與書(shū)寫(xiě)勁道的認證,提高了身份認證的準確性。本系統使用嵌入式平臺基本實(shí)現了基于書(shū)寫(xiě)筆勁的身份認證,便于移植,在移動(dòng)設備逐漸流行而個(gè)人隱私日益關(guān)注的今天,這種方案很可能會(huì )被廣泛采用。
1 系統總體方案設計
本系統通過(guò)信號采集模塊完成采集用戶(hù)簽名的筆跡、筆勁信息的任務(wù),然后由LabVIEW 實(shí)現軟件開(kāi)發(fā),進(jìn)行筆勁信息數據庫的建立,且最終通過(guò)匹配比對算法完成用戶(hù)的認證。
本系統的目標和實(shí)現的功能是: 建立一個(gè)擁有高度安全性、難以冒充復制的、能廣泛應用于各種身份認證的簽名系統。它在整體上采用模塊化設計如圖1所示,通過(guò)AD7879 芯片、單片機和觸摸屏共同完成筆勁數據信息采集,再通過(guò)串口完成與計算機的數據通信,將筆勁信息數據交與上位機; 上位機利用LabVIEW構建出友好的用戶(hù)界面,然后程序主體將所得的數據轉換,經(jīng)過(guò)加密存儲后,按照一定的規律顯示在屏幕上,同時(shí),后臺將完成提取特征值,與現有數據進(jìn)行匹配,并將結果通過(guò)對話(huà)框的形式顯示給用戶(hù)。
圖1 系統框架圖
2 系統硬件設計
2. 1 壓力測量原理
通過(guò)分析電阻式觸摸屏的結構可以知道,在按下觸摸屏的時(shí)候,兩層的金屬膜之間肯定會(huì )有接觸電阻,如圖2 所示,而觸摸電阻值越大,則表示觸摸壓力越小,所以這里就可以得到一種測量觸摸壓力的方案。
圖2 壓力測量原理圖
具體測量方法如下,將參考電壓接在Y + 和X -上,分別測量X + 端的電壓得出Z1和Y - 端的電壓得出Z2.則接觸電阻的計算公式為:
公式中RTOUCH表示接觸電阻,RX表示X 方向的總電阻,其與實(shí)際觸摸壓力相關(guān),XPOS為接觸點(diǎn)處X方向電壓采樣值,N 為采樣深度。本項目中只關(guān)心壓力的相對大小,所以無(wú)需知道RX的具體值,這保證了軟件的可移植性。
2. 2 觸摸屏控制器AD7879 芯片工作原理
AD7879 芯片是專(zhuān)用的四線(xiàn)電阻觸摸屏驅動(dòng)芯片,支持1. 6 ~ 3. 6 V 的單電源供電,其主要的模塊有電壓切換和通道選擇電路,內部2. 5 V 參考電壓,12位逐次逼近型模數轉換器,數據預處理模塊,串行數字接口和數字控制邏輯。AD7879 芯片的電壓切換和通道選擇電路,可以方便的切換觸摸屏上的參考電壓接入端和ADC 采樣端,得到需要的X、Y 及Z1、Z2的值。為了降低來(lái)自L(fǎng)CD 噪聲以及其他噪聲源的影響,AD7879 還內置預處理模塊,預處理功能包括中值濾波器及均值濾波器。AD7879 與單片機的接口為標準SPI 串行接口或I2C 接口( 與具體型號有關(guān))。芯片還有一個(gè)中斷使能端口,當觸摸屏上有壓力時(shí),中斷使能端立即產(chǎn)生一個(gè)中斷信號到MCU,開(kāi)始采集坐標。
2. 3 AD7879 與單片機接口
AD7879 芯片的外部接口電路相當簡(jiǎn)單,只需要簡(jiǎn)單的接入觸摸屏和電源即可工作,再將AD7879 的串行接口( SPI 或I2C) 與MCU 相連,如圖3所示,可以獲得位置坐標以及壓力信息。
圖3 AD7879 典型接口電路
3 系統軟件設計
3. 1 下位機軟件設計
下位機為80C51 的單片機,主要控制AD7879 芯片采集觸摸屏上的字形和壓力信息,并把坐標和壓力信息發(fā)送給上位機程序。如圖4 所示下位機程序流程圖,首先由單片機對AD7879 的芯片初始化,然后等待外部中斷觸發(fā),中斷觸發(fā)后開(kāi)啟中斷定時(shí)器,并發(fā)送開(kāi)始碼告知上位機程序書(shū)寫(xiě)開(kāi)始,之后進(jìn)入循環(huán)等待定時(shí)器中斷。進(jìn)入定時(shí)器中斷后立即讀取觸摸屏上的書(shū)寫(xiě)位置和壓力,并發(fā)送給上位機程序,當觸摸屏上無(wú)壓力時(shí)認為書(shū)寫(xiě)完成,然后關(guān)閉定時(shí)器,發(fā)送結束符并退出外部中斷。使用定時(shí)器中斷保證了每?jì)纱尾蓸拥臅r(shí)間間隔是一樣的。
圖4 下位機程序流程圖
3. 2 上位機程序
上位機程序是使用LabVIEW 編寫(xiě)的程序。
LabVIEW是美國國家儀器公司推出的圖形化的編程平臺,引入了虛擬儀器的概念,以框圖的形式編寫(xiě)代碼,高度的模塊化和智能化為軟件設計提供了便利。
為簡(jiǎn)化開(kāi)發(fā),本系統使用LabVIEW 進(jìn)行界面開(kāi)發(fā)以及算法處理。
本系統實(shí)現身份認證功能主要包含兩個(gè)環(huán)節,第一步是創(chuàng )建簽名,即將允許進(jìn)入系統的用戶(hù)書(shū)寫(xiě)特征記錄到系統中; 第二步是驗證簽名,即驗證輸入的簽名的用戶(hù)是否有進(jìn)入系統的權限,系統框圖如圖5所示。
圖5 上位機程序流程圖
系統首先進(jìn)行初始化,用戶(hù)選擇"創(chuàng )建簽名",然后開(kāi)始在觸摸屏上書(shū)寫(xiě)簽名。系統接收下位機傳送的數據,先進(jìn)行存儲,收到的數據從起始碼到結束碼之間是有效的。因為AD7879 內部為12 位ADC,且每個(gè)采樣點(diǎn)需要采集四次數據( X、Y、Z1、Z2) ,所以每個(gè)采樣點(diǎn)對應8 Byte 的信息。上位機程序可以順次讀出所有有效點(diǎn),循環(huán)讀取各個(gè)采樣點(diǎn),并逐點(diǎn)描繪在空白圖片上,就可以得到書(shū)寫(xiě)的字形顯示圖片。為形象表現顯示效果,設計中把壓力特征映射成了像素點(diǎn)的顏色信息,深顏色表示壓力大,淺顏色表示壓力小。
創(chuàng )建簽名之后可以進(jìn)行驗證簽名,用戶(hù)選擇驗證簽名,并開(kāi)始在觸摸屏上書(shū)寫(xiě),之后數據采集和處理的過(guò)程與創(chuàng )建簽名的方法相同,得到圖片B.然后,將輸入的簽名與初始創(chuàng )建的簽名進(jìn)行對比,對比的過(guò)程如下。
。 1) 消除誤差點(diǎn)。實(shí)驗發(fā)現,觸摸屏采集到的數據中,有些采樣點(diǎn)是由系統隨機誤差造成的,其在屏幕上顯示為一些雜散的孤點(diǎn),在驗證之前需要消除這些誤差點(diǎn)。
。 2) 對正,對齊字形。首先將書(shū)寫(xiě)的字跡比劃對應起來(lái),這主要是尋找書(shū)寫(xiě)筆跡中的特征點(diǎn),包括提筆點(diǎn)、落筆點(diǎn)和轉折點(diǎn),并形成特征標記。
。 3) 分割字符。根據上一步所做的標記,以特征點(diǎn)為間隔,把字跡分為若干段,將之與創(chuàng )建的原始簽名數據進(jìn)行對比。如果段數不同,則驗證失敗,發(fā)送重新驗證提示。否則,進(jìn)行下一步對比。
。 4) 壓力對比。求出每個(gè)特征點(diǎn)附近的平均壓力之差。每個(gè)轉折點(diǎn)處的曲率之和以及每段采樣點(diǎn)序列的均方差,若這些結果均沒(méi)有超過(guò)設定的閾值,則認證通過(guò),否則認證失敗。這些閾值都是通過(guò)實(shí)驗中反復對比得到。這個(gè)閾值也可以根據用戶(hù)需求設定。用戶(hù)所需的安全等級越高,那么設定的閾值就越高。
4 結果與討論
通過(guò)本系統的硬件平臺,采集了書(shū)寫(xiě)的壓力信息,可以分析出不同的人書(shū)寫(xiě)的壓力有明顯的區別。
如圖6 中是書(shū)寫(xiě)"梅"字的筆勁變化情況。因為每次提筆的時(shí)候壓力會(huì )變得很小,所以在圖中可以看到波形中有11 個(gè)尖峰,對應的是書(shū)寫(xiě)的11 次提筆,可以根據尖峰把書(shū)寫(xiě)的比劃分割出來(lái)。每次書(shū)寫(xiě)時(shí)的速度不完全,所以每一筆的采樣數也不一樣,經(jīng)過(guò)插值算法將每一筆的采樣數歸一化到相同,才能在圖像中看到采樣點(diǎn)一一對應的效果。
圖6 筆勁變化曲線(xiàn)
圖中灰線(xiàn)為同一個(gè)人書(shū)寫(xiě)時(shí)采集到的壓力變化,深灰線(xiàn)和黑線(xiàn)為另外兩個(gè)人書(shū)寫(xiě)的壓力變化,同一個(gè)人的書(shū)寫(xiě)壓力變化趨勢和壓力的絕對大小都很接近,能夠與不同人的書(shū)寫(xiě)區分開(kāi)來(lái),說(shuō)明本系統的設計思路是合理的。
5 結束語(yǔ)
本文介紹了一種基于筆勁識別的身份驗證系統,重點(diǎn)在于對以往單純以書(shū)寫(xiě)的字形來(lái)識別身份的方式的改進(jìn),在相對成熟的筆跡識別技術(shù)基礎上,輔以對書(shū)寫(xiě)筆勁的對比,可以更加精確地識別用戶(hù)的身份,而且書(shū)寫(xiě)的筆勁在外觀(guān)上是很難察覺(jué)的,故很難被模仿。本系統使用LabVIEW 編寫(xiě)上位機,充分簡(jiǎn)化了開(kāi)發(fā)流程。另外本文中的書(shū)寫(xiě)筆勁的采集是直接基于觸摸屏的,不用外加任何傳感器和特殊的壓力采集設備,簡(jiǎn)單易行,只要稍加改裝,此方案可以被廣泛使用在其他以觸摸屏為主的設備上。經(jīng)過(guò)實(shí)際測試,本系統對特定用戶(hù)的識別率較高,但是存在一定的拒絕認證率。這就需要進(jìn)一步改進(jìn)算法,以進(jìn)一步提高準確率。在實(shí)際應用中,本方法應結合筆跡識別,提高認證的準確度。
基于書(shū)寫(xiě)筆勁識別的身份驗證系統