梅 健,黃勇亮,陳 聰,冒 偉
(1.華中科技大學電子科學與技術系,湖北武漢 430074;2.華中科技大學計算機科學與技術系,湖北武漢 430074)
在當今信息社會,個人隱私、商業機密和國家安全等越來越受到人們的重視,信息既需要能被方便的讀取,又需要得到可靠地保護[1]。然而,現今的一些身份認證方案很難盡善盡美,即使是被認為不可復制的虹膜和指紋識別,在犯罪分子獲取當事人的眼球或手指等身體器官的極端情況下也會被冒充。由于成年人的書寫習慣包括書寫的字形、速度、力度和角度等,在較長一段時間內是固定不變的,長期以來都以簽名的字形作為認證身份的依據[1]。特別是漢字,由于其特征較為明顯,經常被用來作為身份鑒定[2]。但字形是直觀的形態,比較容易被模仿,相比之下書寫的勁道難以察覺,幾乎是不可復制和模仿的[3]。而電阻觸摸屏由于其自身的構造,可以使用專用觸摸屏控制芯片采集筆跡及筆勁信息[4],故本文提出一種新的認證身份的方式——基于書寫筆勁識別的驗證系統。另外,可以將筆勁轉化為第三維度的信息,使用現在已經相當成熟的圖像識別算法進行處理[2,5]。本系統結合筆跡識別技術與書寫勁道的認證,提高了身份認證的準確性。本系統使用嵌入式平臺基本實現了基于書寫筆勁的身份認證,便于移植,在移動設備逐漸流行而個人隱私日益關注的今天,這種方案很可能會被廣泛采用。
本系統通過信號采集模塊完成采集用戶簽名的筆跡、筆勁信息的任務,然后由LabVIEW實現軟件開發,進行筆勁信息數據庫的建立,且最終通過匹配比對算法完成用戶的認證。
本系統的目標和實現的功能是:建立一個擁有高度安全性、難以冒充復制的、能廣泛應用于各種身份認證的簽名系統。它在整體上采用模塊化設計如圖1所示,通過AD7879芯片、單片機和觸摸屏共同完成筆勁數據信息采集,再通過串口完成與計算機的數據通信,將筆勁信息數據交與上位機;上位機利用LabVIEW構建出友好的用戶界面,然后程序主體將所得的數據轉換,經過加密存儲后,按照一定的規律顯示在屏幕上,同時,后臺將完成提取特征值,與現有數據進行匹配,并將結果通過對話框的形式顯示給用戶。

圖1 系統框架圖
通過分析電阻式觸摸屏的結構可以知道,在按下觸摸屏的時候,兩層的金屬膜之間肯定會有接觸電阻,如圖2所示,而觸摸電阻值越大,則表示觸摸壓力越小,所以這里就可以得到一種測量觸摸壓力的方案。

圖2 壓力測量原理圖
具體測量方法如下,將參考電壓接在Y+和X-上,分別測量X+端的電壓得出Z1和Y-端的電壓得出Z2。則接觸電阻的計算公式為

公式中RTOUCH表示接觸電阻,RX表示X方向的總電阻,其與實際觸摸壓力相關,XPOS為接觸點處X方向電壓采樣值,N為采樣深度。本項目中只關心壓力的相對大小,所以無需知道RX的具體值,這保證了軟件的可移植性。
AD7879芯片是專用的四線電阻觸摸屏驅動芯片,支持1.6~3.6 V的單電源供電,其主要的模塊有電壓切換和通道選擇電路,內部2.5 V參考電壓,12位逐次逼近型模數轉換器,數據預處理模塊,串行數字接口和數字控制邏輯。AD7879芯片的電壓切換和通道選擇電路,可以方便的切換觸摸屏上的參考電壓接入端和ADC采樣端,得到需要的X、Y及Z1、Z2的值。為了降低來自LCD噪聲以及其他噪聲源的影響,AD7879還內置預處理模塊,預處理功能包括中值濾波器及均值濾波器。AD7879與單片機的接口為標準SPI串行接口或I2C接口(與具體型號有關)。芯片還有一個中斷使能端口,當觸摸屏上有壓力時,中斷使能端立即產生一個中斷信號到MCU,開始采集坐標。
AD7879芯片的外部接口電路相當簡單,只需要簡單的接入觸摸屏和電源即可工作,再將AD7879的串行接口(SPI或I2C)與MCU相連,如圖5所示,可以獲得位置坐標以及壓力信息。

圖3 AD7879典型接口電路
下位機為80C51的單片機,主要控制AD7879芯片采集觸摸屏上的字形和壓力信息,并把坐標和壓力信息發送給上位機程序。如圖6所示下位機程序流程圖,首先由單片機對AD7879的芯片初始化,然后等待外部中斷觸發,中斷觸發后開啟中斷定時器,并發送開始碼告知上位機程序書寫開始,之后進入循環等待定時器中斷。進入定時器中斷后立即讀取觸摸屏上的書寫位置和壓力,并發送給上位機程序,當觸摸屏上無壓力時認為書寫完成,然后關閉定時器,發送結束符并退出外部中斷。使用定時器中斷保證了每兩次采樣的時間間隔是一樣的。
上位機程序是使用LabVIEW編寫的程序。LabVIEW是美國國家儀器公司推出的圖形化的編程平臺,引入了虛擬儀器的概念,以框圖的形式編寫代碼,高度的模塊化和智能化為軟件設計提供了便利。為簡化開發,本系統使用LabVIEW進行界面開發以及算法處理。

圖4 下位機程序流程圖
本系統實現身份認證功能主要包含兩個環節,第一步是創建簽名,即將允許進入系統的用戶書寫特征記錄到系統中;第二步是驗證簽名,即驗證輸入的簽名的用戶是否有進入系統的權限,系統框圖如圖7所示。

圖5 上位機程序流程圖
系統首先進行初始化,用戶選擇“創建簽名”,然后開始在觸摸屏上書寫簽名。系統接收下位機傳送的數據,先進行存儲,收到的數據從起始碼到結束碼之間是有效的。因為AD7879內部為12位ADC,且每個采樣點需要采集四次數據(X、Y、Z1、Z2),所以每個采樣點對應8 Byte的信息。上位機程序可以順次讀出所有有效點,根據式(1),式(2)可以計算出采樣點在屏幕上的相對位置,乘以顯示的像素大小就可以得到該點顯示的坐標,又根據式(3)可以計算出該點處書寫壓力的相對值。循環讀取各個采樣點,并逐點描繪在空白圖片上,就可以得到書寫的字形顯示圖片A。為形象表現顯示效果,設計中把壓力特征映射成了像素點的顏色信息,深顏色表示壓力大,淺顏色表示壓力小。
創建簽名之后可以進行驗證簽名,用戶選擇驗證簽名,并開始在觸摸屏上書寫,之后數據采集和處理的過程與創建簽名的方法相同,得到圖片B。然后,將輸入的簽名與初始創建的簽名進行對比,對比的過程如下。
(1)消除誤差點。實驗發現,觸摸屏采集到的數據中,有些采樣點是由系統隨機誤差造成的,其在屏幕上顯示為一些雜散的孤點,在驗證之前需要消除這些誤差點。
(2)對正,對齊字形。首先將書寫的字跡比劃對應起來,這主要是尋找書寫筆跡中的特征點,包括提筆點、落筆點和轉折點,并形成特征標記。
(3)分割字符。根據上一步所做的標記,以特征點為間隔,把字跡分為若干段,將之與創建的原始簽名數據進行對比。如果段數不同,則驗證失敗,發送重新驗證提示。否則,進行下一步對比。
(4)壓力對比。求出每個特征點附近的平均壓力之差。每個轉折點處的曲率之和以及每段采樣點序列的均方差,若這些結果均沒有超過設定的閾值,則認證通過,否則認證失敗。這些閾值都是通過實驗中反復對比得到。這個閾值也可以根據用戶需求設定。用戶所需的安全等級越高,那么設定的閾值就越高。
通過本系統的硬件平臺,采集了書寫的壓力信息,可以分析出不同的人書寫的壓力有明顯的區別。如圖6中是書寫“梅”字的筆勁變化情況。因為每次提筆的時候壓力會變得很小,所以在圖中可以看到波形中有11個尖峰,對應的是書寫的11次提筆,可以根據尖峰把書寫的比劃分割出來。每次書寫時的速度不完全,所以每一筆的采樣數也不一樣,經過插值算法將每一筆的采樣數歸一化到相同,才能在圖像中看到采樣點一一對應的效果。
圖中灰線為同一個人書寫時采集到的壓力變化,深灰線和黑線為另外兩個人書寫的壓力變化,同一個人的書寫壓力變化趨勢和壓力的絕對大小都很接近,能夠與不同人的書寫區分開來,說明本系統的設計思路是合理的。

圖6 筆勁變化曲線
本文介紹了一種基于筆勁識別的身份驗證系統,重點在于對以往單純以書寫的字形來識別身份的方式的改進,在相對成熟的筆跡識別技術基礎上,輔以對書寫筆勁的對比,可以更加精確地識別用戶的身份,而且書寫的筆勁在外觀上是很難察覺的,故很難被模仿。本系統使用LabVIEW編寫上位機,充分簡化了開發流程。另外本文中的書寫筆勁的采集是直接基于觸摸屏的,不用外加任何傳感器和特殊的壓力采集設備,簡單易行,只要稍加改裝,此方案可以被廣泛使用在其他以觸摸屏為主的設備上。經過實際測試,本系統對特定用戶的識別率較高,但是存在一定的拒絕認證率。這就需要進一步改進算法,以進一步提高準確率。在實際應用中,本方法應結合筆跡識別,提高認證的準確度。
[1]閭海榮,王文淵.簽名鑒定方法綜述[J].電子技術應用,2006(1):1-3.
[2]文穎,龔裕,張憲榮.基于基本筆畫運筆特征的漢字筆跡鑒定的研究[J].上海大學學報:自然科學版,2002(1):39-43.
[3]顏琬,鄭建彬,周莉,等.基于在線手寫簽名的身份認證技術研究和展望[J].電子技術應用,2004(9):1-3.
[4]倪天龍,鄧洪波,金連文.通過ADS7846在PDA上實現個性化書法輸入[J].電子技術應用,2005(6):65-67.
[5]金涌,柳健.手寫簽名的概率神經網絡識判模型[J].華中理工大學學報,1999(5):11-13.