基于書(shū)寫(xiě)筆勁識(shí)別的身份驗(yàn)證系統(tǒng)
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)的用戶書(shū)寫(xiě)特征記錄到系統(tǒng)中;第二步是驗(yàn)證簽名,即驗(yàn)證輸入的簽名的用戶是否有進(jìn)入系統(tǒng)的權(quán)限,系統(tǒng)框圖如圖5所示。本文引用地址:http://m.butianyuan.cn/article/155429.htm
系統(tǒng)首先進(jìn)行初始化,用戶選擇“創(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),根據(jù)式(1),式(2)可以計(jì)算出采樣點(diǎn)在屏幕上的相對(duì)位置,乘以顯示的像素大小就可以得到該點(diǎn)顯示的坐標(biāo),又根據(jù)式(3)可以計(jì)算出該點(diǎn)處書(shū)寫(xiě)壓力的相對(duì)值。循環(huán)讀取各個(gè)采樣點(diǎn),并逐點(diǎn)描繪在空白圖片上,就可以得到書(shū)寫(xiě)的字形顯示圖片A。為形象表現(xiàn)顯示效果,設(shè)計(jì)中把壓力特征映射成了像素點(diǎn)的顏色信息,深顏色表示壓力大,淺顏色表示壓力小。
創(chuàng)建簽名之后可以進(jìn)行驗(yàn)證簽名,用戶選擇驗(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ù)用戶需求設(shè)定。用戶所需的安全等級(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)的效果。
圖中灰線為同一個(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í)別用戶的身份,而且書(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ì)特定用戶的識(shí)別率較高,但是存在一定的拒絕認(rèn)證率。這就需要進(jìn)一步改進(jìn)算法,以進(jìn)一步提高準(zhǔn)確率。在實(shí)際應(yīng)用中,本方法應(yīng)結(jié)合筆跡識(shí)別,提高認(rèn)證的準(zhǔn)確度。
評(píng)論