基于書(shū)寫(xiě)筆勁識(shí)別的身份驗(yàn)證系統(tǒng)
摘要 介紹了一種基于筆勁識(shí)別的身份驗(yàn)證系統(tǒng)。該系統(tǒng)采用觸摸屏控制芯片AD7879采集書(shū)寫(xiě)者的筆勁信息,通過(guò)8051單片機(jī)將數(shù)據(jù)傳榆給LabVIEW上位機(jī)程序進(jìn)行界面顯示和數(shù)據(jù)處理,較好地實(shí)現(xiàn)了身份認(rèn)證的功能,構(gòu)建了安全、高效、難以模仿的身份驗(yàn)證系統(tǒng)。本系統(tǒng)外圍結(jié)構(gòu)簡(jiǎn)單、可移植性強(qiáng)、應(yīng)用前景廣泛。
關(guān)鍵詞 身份驗(yàn)證;筆勁;LabVIEW;觸摸屏
在當(dāng)今信息社會(huì),個(gè)人隱私、商業(yè)機(jī)密和國(guó)家安全等越來(lái)越受到人們的重視,信息既需要能被方便的讀取,又需要得到可靠地保護(hù)。然而,現(xiàn)今的一些身份認(rèn)證方案很難盡善盡美,即使是被認(rèn)為不可復(fù)制的虹膜和指紋識(shí)別,在犯罪分子獲取當(dāng)事人的眼球或手指等身體器官的極端情況下也會(huì)被冒充。由于成年人的書(shū)寫(xiě)習(xí)慣包括書(shū)寫(xiě)的字形、速度、力度和角度等,在較長(zhǎng)一段時(shí)間內(nèi)是固定不變的,長(zhǎng)期以來(lái)都以簽名的字形作為認(rèn)證身份的依據(jù)。特別是漢字,由于其特征較為明顯,經(jīng)常被用來(lái)作為身份鑒定。但字形是直觀的形態(tài),比較容易被模仿,相比之下書(shū)寫(xiě)的勁道難以察覺(jué),幾乎是不可復(fù)制和模仿的。而電阻觸摸屏由于其自身的構(gòu)造,可以使用專用觸摸屏控制芯片采集筆跡及筆勁信息,故本文提出一種新的認(rèn)證身份的方式——基于書(shū)寫(xiě)筆勁識(shí)別的驗(yàn)證系統(tǒng)。另外,可以將筆勁轉(zhuǎn)化為第三維度的信息,使用現(xiàn)在已經(jīng)相當(dāng)成熟的圖像識(shí)別算法進(jìn)行處理。本系統(tǒng)結(jié)合筆跡識(shí)別技術(shù)與書(shū)寫(xiě)勁道的認(rèn)證,提高了身份認(rèn)證的準(zhǔn)確性。本系統(tǒng)使用嵌入式平臺(tái)基本實(shí)現(xiàn)了基于書(shū)寫(xiě)筆勁的身份認(rèn)證,便于移植,在移動(dòng)設(shè)備逐漸流行而個(gè)人隱私日益關(guān)注的今天,這種方案很可能會(huì)被廣泛采用。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)通過(guò)信號(hào)采集模塊完成采集用戶簽名的筆跡、筆勁信息的任務(wù),然后由LabVIEW實(shí)現(xiàn)軟件開(kāi)發(fā),進(jìn)行筆勁信息數(shù)據(jù)庫(kù)的建立,且最終通過(guò)匹配比對(duì)算法完成用戶的認(rèn)證。
本系統(tǒng)的目標(biāo)和實(shí)現(xiàn)的功能是:建立一個(gè)擁有高度安全性、難以冒充復(fù)制的、能廣泛應(yīng)用于各種身份認(rèn)證的簽名系統(tǒng)。它在整體上采用模塊化設(shè)計(jì)如圖1所示,通過(guò)AD7879芯片、單片機(jī)和觸摸屏共同完成筆勁數(shù)據(jù)信息采集,再通過(guò)串口完成與計(jì)算機(jī)的數(shù)據(jù)通信,將筆勁信息數(shù)據(jù)交與上位機(jī);上位機(jī)利用LabVIEW構(gòu)建出友好的用戶界面,然后程序主體將所得的數(shù)據(jù)轉(zhuǎn)換,經(jīng)過(guò)加密存儲(chǔ)后,按照一定的規(guī)律顯示在屏幕上,同時(shí),后臺(tái)將完成提取特征值,與現(xiàn)有數(shù)據(jù)進(jìn)行匹配,并將結(jié)果通過(guò)對(duì)話框的形式顯示給用戶。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 壓力測(cè)量原理
通過(guò)分析電阻式觸摸屏的結(jié)構(gòu)可以知道,在按下觸摸屏的時(shí)候,兩層的金屬膜之間肯定會(huì)有接觸電阻,如圖2所示,而觸摸電阻值越大,則表示觸摸壓力越小,所以這里就可以得到一種測(cè)量觸摸壓力的方案。
具體測(cè)量方法如下,將參考電壓接在Y+和X-上,分別測(cè)量X+端的電壓得出Z1和Y-端的電壓得出Z2。則接觸電阻的計(jì)算公式為
RTOUCH=RX×(Z2/Z1-1)×XPOS/2N (1)
公式中RTOUCH表示接觸電阻,RX表示X方向的總電阻,其與實(shí)際觸摸壓力相關(guān),XPOS為接觸點(diǎn)處X方向電壓采樣值,N為采樣深度。本項(xiàng)目中只關(guān)心壓力的相對(duì)大小,所以無(wú)需知道RX的具體值,這保證了軟件的可移植性。
2.2 觸摸屏控制器AD7879芯片工作原理
AD7879芯片是專用的四線電阻觸摸屏驅(qū)動(dòng)芯片,支持1.6~3.6 V的單電源供電,其主要的模塊有電壓切換和通道選擇電路,內(nèi)部2.5 V參考電壓,12位逐次逼近型模數(shù)轉(zhuǎn)換器,數(shù)據(jù)預(yù)處理模塊,串行數(shù)字接口和數(shù)字控制邏輯。AD7879芯片的電壓切換和通道選擇電路,可以方便的切換觸摸屏上的參考電壓接入端和ADC采樣端,得到需要的X、Y及Z1、Z2的值。為了降低來(lái)自LCD噪聲以及其他噪聲源的影響,AD7879還內(nèi)置預(yù)處理模塊,預(yù)處理功能包括中值濾波器及均值濾波器。AD7879與單片機(jī)的接口為標(biāo)準(zhǔn)SPI串行接口或I2C接口(與具體型號(hào)有關(guān))。芯片還有一個(gè)中斷使能端口,當(dāng)觸摸屏上有壓力時(shí),中斷使能端立即產(chǎn)生一個(gè)中斷信號(hào)到MCU,開(kāi)始采集坐標(biāo)。
2.3 AD7879與單片機(jī)接口
AD7879芯片的外部接口電路相當(dāng)簡(jiǎn)單,只需要簡(jiǎn)單的接入觸摸屏和電源即可工作,再將AD7879的串行接口(SPI或I2C)與MCU相連,如圖3所示,可以獲得位置坐標(biāo)以及壓力信息。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 下位機(jī)軟件設(shè)計(jì)
下位機(jī)為80C51的單片機(jī),主要控制AD7879芯片采集觸摸屏上的字形和壓力信息,并把坐標(biāo)和壓力信息發(fā)送給上位機(jī)程序。如圖4所示下位機(jī)程序流程圖,首先由單片機(jī)對(duì)AD7879的芯片初始化,然后等待外部中斷觸發(fā),中斷觸發(fā)后開(kāi)啟中斷定時(shí)器,并發(fā)送開(kāi)始碼告知上位機(jī)程序書(shū)寫(xiě)開(kāi)始,之后進(jìn)入循環(huán)等待定時(shí)器中斷。進(jìn)入定時(shí)器中斷后立即讀取觸摸屏上的書(shū)寫(xiě)位置和壓力,并發(fā)送給上位機(jī)程序,當(dāng)觸摸屏上無(wú)壓力時(shí)認(rèn)為書(shū)寫(xiě)完成,然后關(guān)閉定時(shí)器,發(fā)送結(jié)束符并退出外部中斷。使用定時(shí)器中斷保證了每?jī)纱尾蓸拥臅r(shí)間間隔是一樣的。
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所示。
系統(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)確度。