基于筆勁識別的身份驗證系統(tǒng)設計與實現(xiàn)
圖4 下位機程序流程圖
3. 2 上位機程序
上位機程序是使用LabVIEW 編寫的程序。
LabVIEW是美國國家儀器公司推出的圖形化的編程平臺,引入了虛擬儀器的概念,以框圖的形式編寫代碼,高度的模塊化和智能化為軟件設計提供了便利。
為簡化開發(fā),本系統(tǒng)使用LabVIEW 進行界面開發(fā)以及算法處理。
本系統(tǒng)實現(xiàn)身份認證功能主要包含兩個環(huán)節(jié),第一步是創(chuàng)建簽名,即將允許進入系統(tǒng)的用戶書寫特征記錄到系統(tǒng)中; 第二步是驗證簽名,即驗證輸入的簽名的用戶是否有進入系統(tǒng)的權(quán)限,系統(tǒng)框圖如圖5所示。
圖5 上位機程序流程圖
系統(tǒng)首先進行初始化,用戶選擇“創(chuàng)建簽名”,然后開始在觸摸屏上書寫簽名。系統(tǒng)接收下位機傳送的數(shù)據(jù),先進行存儲,收到的數(shù)據(jù)從起始碼到結(jié)束碼之間是有效的。因為AD7879 內(nèi)部為12 位ADC,且每個采樣點需要采集四次數(shù)據(jù)( X、Y、Z1、Z2) ,所以每個采樣點對應8 Byte 的信息。上位機程序可以順次讀出所有有效點,循環(huán)讀取各個采樣點,并逐點描繪在空白圖片上,就可以得到書寫的字形顯示圖片。為形象表現(xiàn)顯示效果,設計中把壓力特征映射成了像素點的顏色信息,深顏色表示壓力大,淺顏色表示壓力小。
創(chuàng)建簽名之后可以進行驗證簽名,用戶選擇驗證簽名,并開始在觸摸屏上書寫,之后數(shù)據(jù)采集和處理的過程與創(chuàng)建簽名的方法相同,得到圖片B.然后,將輸入的簽名與初始創(chuàng)建的簽名進行對比,對比的過程如下。
?。?1) 消除誤差點。實驗發(fā)現(xiàn),觸摸屏采集到的數(shù)據(jù)中,有些采樣點是由系統(tǒng)隨機誤差造成的,其在屏幕上顯示為一些雜散的孤點,在驗證之前需要消除這些誤差點。
?。?2) 對正,對齊字形。首先將書寫的字跡比劃對應起來,這主要是尋找書寫筆跡中的特征點,包括提筆點、落筆點和轉(zhuǎn)折點,并形成特征標記。
?。?3) 分割字符。根據(jù)上一步所做的標記,以特征點為間隔,把字跡分為若干段,將之與創(chuàng)建的原始簽名數(shù)據(jù)進行對比。如果段數(shù)不同,則驗證失敗,發(fā)送重新驗證提示。否則,進行下一步對比。
( 4) 壓力對比。求出每個特征點附近的平均壓力之差。每個轉(zhuǎn)折點處的曲率之和以及每段采樣點序列的均方差,若這些結(jié)果均沒有超過設定的閾值,則認證通過,否則認證失敗。這些閾值都是通過實驗中反復對比得到。這個閾值也可以根據(jù)用戶需求設定。用戶所需的安全等級越高,那么設定的閾值就越高。
4 結(jié)果與討論
通過本系統(tǒng)的硬件平臺,采集了書寫的壓力信息,可以分析出不同的人書寫的壓力有明顯的區(qū)別。
如圖6 中是書寫“梅”字的筆勁變化情況。因為每次提筆的時候壓力會變得很小,所以在圖中可以看到波形中有11 個尖峰,對應的是書寫的11 次提筆,可以根據(jù)尖峰把書寫的比劃分割出來。每次書寫時的速度不完全,所以每一筆的采樣數(shù)也不一樣,經(jīng)過插值算法將每一筆的采樣數(shù)歸一化到相同,才能在圖像中看到采樣點一一對應的效果。
圖6 筆勁變化曲線
圖中灰線為同一個人書寫時采集到的壓力變化,深灰線和黑線為另外兩個人書寫的壓力變化,同一個人的書寫壓力變化趨勢和壓力的絕對大小都很接近,能夠與不同人的書寫區(qū)分開來,說明本系統(tǒng)的設計思路是合理的。
5 結(jié)束語
本文介紹了一種基于筆勁識別的身份驗證系統(tǒng),重點在于對以往單純以書寫的字形來識別身份的方式的改進,在相對成熟的筆跡識別技術基礎上,輔以對書寫筆勁的對比,可以更加精確地識別用戶的身份,而且書寫的筆勁在外觀上是很難察覺的,故很難被模仿。本系統(tǒng)使用LabVIEW 編寫上位機,充分簡化了開發(fā)流程。另外本文中的書寫筆勁的采集是直接基于觸摸屏的,不用外加任何傳感器和特殊的壓力采集設備,簡單易行,只要稍加改裝,此方案可以被廣泛使用在其他以觸摸屏為主的設備上。經(jīng)過實際測試,本系統(tǒng)對特定用戶的識別率較高,但是存在一定的拒絕認證率。這就需要進一步改進算法,以進一步提高準確率。在實際應用中,本方法應結(jié)合筆跡識別,提高認證的準確度。
評論