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