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