熊曉龍, 鐘滿田
(1. 武漢工程大學(xué)理學(xué)院, 湖北 武漢 430074;2. 羅定職業(yè)技術(shù)學(xué)院, 廣東 羅定 527200)
模式識別(Pattern Recognition)是人類的一項基本智能,在日常生活中,人們經(jīng)常在進行“模式識別”.隨著20世紀40年代計算機的出現(xiàn)以及50年代人工智能的興起,人們希望能用計算機來代替或擴展人類的部分腦力勞動.(計算機)模式識別在20世紀60年代初迅速發(fā)展并成為一門新學(xué)科.
模式識別是指對表征事物或現(xiàn)象的各種形式的(數(shù)值的、文字的和邏輯關(guān)系的)信息進行處理和分析,以對事物或現(xiàn)象進行描述、辨認、分類和解釋的過程,是信息科學(xué)和人工智能的重要組成部分[1].
在計算機安全領(lǐng)域中,一般識別方式為:信息(密碼、PIN或其他用戶個人信息)、實物(鑰匙、智能卡、IC卡等).硬件設(shè)備容易丟失、被偷竊和復(fù)制;冗長的口令容易忘記,“數(shù)字手寫字”技術(shù)在難以分配和管理數(shù)量龐大的密鑰的同時,也難以避免泄密的可能.在這些識別方法中,每個人唯一的生物特征無疑是最安全的識別工具.在基于生物特征的識別方法中,指紋、視網(wǎng)膜識別等需要復(fù)雜的信息獲取設(shè)備和技術(shù),個人不便于攜帶,成本高,一般只用于特殊場合.而基于人的行為特征的手寫模式識別技術(shù)具有方便、實用、低成本并符合人的生活習慣等特點,受到了社會廣泛的關(guān)注.
模式識別系統(tǒng)具有巨大的實用價值,而要想對用戶的身份加以識別,則需要對用戶的手寫字進行識別.
計算機筆跡識別主要分為在線和離線兩類.離線筆跡識別的對象是寫在紙上的字符,通過掃描儀和攝像機轉(zhuǎn)化為計算機能處理的信號;而在線的筆跡識別則通過專用的數(shù)字板或數(shù)字儀實時地采集書寫信號,它不僅可以采集到筆跡序列并轉(zhuǎn)化成圖像,而且可以記錄書寫的壓力、速度、停頓時間等信息,可為筆跡識別提供更豐富的信息.
在設(shè)計基于生物特征的安全系統(tǒng)時,最主要的研究方向就是如何對所獲取生物特征進行特征提取和模式識別,以及如何將生物特征驗證系統(tǒng)集成到自己的應(yīng)用程序安全控制中[1].同時還需要考慮到其他一些因素:易用性、突發(fā)事件、精確度、成本、用戶的接受率、所需安全級別、系統(tǒng)長時間運行的穩(wěn)定性.
模式識別系統(tǒng)一定要能方便、高效地嵌入到某個應(yīng)用系統(tǒng)中才能發(fā)揮它的作用.為了能提供一種更靈活、方便的方式與各種OA系統(tǒng)相接合,這里將該手寫字識別部分以O(shè)CX控件和DLL文件的方式提供,可根據(jù)需要定制自己的界面以及安全策略.識別服務(wù)器可通過ODBC接口方便地與各種流行的數(shù)據(jù)庫服務(wù)器進行連接.
手寫模式識別系統(tǒng)一般的登錄過程:新用戶首先需要在放松的狀態(tài)下通過寫字板在控件上自然書寫5~10個樣本手寫字,然后系統(tǒng)會通過這些樣本來提取用戶的行為特征,并形成唯一字串作為模板保存在任意存儲介質(zhì)中.當他(或其它人)想以他的身份登錄時,就用從這次測試手寫字中提取的行為特征與相應(yīng)模板做比較,如果本次手寫字是真實的,那么這個比較的過程就會得到一個較高的相似度,否則所得到相似度會較低.
在該系統(tǒng)中用來進行手寫模式識別的特征都是經(jīng)過廣泛研究和應(yīng)用的,包括書寫總時間、總長度、速度零點次數(shù)等等.而在將參考模板和待測手寫字進行比較時,筆者采用了另外一種算法:那就是使用了用來計算概率密度函數(shù)的高斯函數(shù)來為這些特征進行建模.也就是說通過密度函數(shù),使用一個人的所有樣本來對各個特性進行參數(shù)估計.在估計的過程中可以得到各個特征的均值和方差,并且使用它們作為手寫字的唯一標識.在識別階段,將待測特征手寫字的各個特征與參考特征估計值進行匹配,并將每個特征上的匹配概率值進行疊加從而得到總的概率值.然后就可以通過這個概率估計值對待測手寫字的真?zhèn)芜M行判斷[2-3].
手寫筆驅(qū)動程序可將筆每次移動的點的X-Y坐標報告給控件,即可進行特征提取.
要識別不同的手寫字,必須從計算手寫字特征開始.因此,使用如下的手寫字特征作為手寫字識別的依據(jù)[4-6]:
①在X方向上的速度零點個數(shù).
②在Y方向上的速度零點個數(shù)(絕對零點是不可測的,所以采用與峰值相比低于某個小百分比的速度值代替零點).
③在X方向上加速度零點個數(shù).
④在Y方向上加速度零點個數(shù)(這些零點個數(shù)表明由加速到減速或者由減速到加速的變化).
⑤手寫字所用的總時間.
⑥手寫筆在手寫板上經(jīng)過的總路程,即所有點之間的歐幾里得距離值的和:
(1)
⑦總抬筆次數(shù).
⑧抬筆總時間(即從開始書寫到最后一次書寫間的抬筆時間和).
⑨壓力高于某個閾值Tmax的次數(shù)(由手寫筆硬件特性而定).
⑩壓力低于某個閾值Tmin的次數(shù)(由手寫筆硬件特性而定).
速度是時間的函數(shù),可以用下面的公式計算:
(2)
(3)
VXn,VYn分別表示在X方向和Y方向上在tn時間點上的速度.
加速度是速度的導(dǎo)數(shù),可以得出在tn時間點上X方向和Y方向上的加速度可以表示為:
(4)
(5)
在向系統(tǒng)內(nèi)注冊一個新用戶的過程中,需要用戶在某段時間內(nèi)輸入20到30個手寫字(越多越好),但這里根據(jù)應(yīng)用系統(tǒng)的需要,要求用戶一次性全部輸入.然后從這些樣本手寫字中提取所有特征.如果用戶輸入了20個樣本手寫字,那么就得到了20個包含10個特征元素的向量.在筆者設(shè)計和實現(xiàn)系統(tǒng)時發(fā)現(xiàn)用戶的手寫字與其心理狀態(tài)有很大關(guān)系,在不同的環(huán)境下、時間段內(nèi)以及其他因素影響下手寫字都有較大差異.因此,像總時間、總長度、抬筆時間等特征即使對于同一用戶來說,雖然在其不同手寫字中是不同的,但都圍繞著可唯一表示一個人生物特性的平均值和方差上下波動因此考慮可以使用某種分布來描述這些特征.據(jù)發(fā)現(xiàn)用高斯密度函數(shù)來為這些特征建模是最合適的.平均值描述了數(shù)據(jù)的總體趨勢,方差描述了各個分組在特征空間內(nèi)的分布情況.N組手寫字樣本可以給出某一特征的N個值,并試圖將高斯密度函數(shù)應(yīng)用到這些值上,從而得到可參數(shù)化定義分布的均值估計和方差估計[2].均值的無偏估計可這樣得到:
(6)
式子(6)中的Xi表示手寫字的特征值.
計算手寫字方差的無偏估計:
(7)
式子(7)中的k表示手寫字特征的個數(shù).
舉例說明這個計算過程.假設(shè)有某用戶的5個樣本手寫字,只考慮其中的兩個特征-手寫字總時間和抬筆次數(shù)如表1.
表1 手寫字的數(shù)字特征
手寫字總時間的均值是5.546s,方差是0.051 477,抬筆次數(shù)的均值是5,方差是0.666.所以對于這4個樣本手寫字,參考模板為(5.546,0.051 477)、(5,0.666).
因此,對于每個用戶,都可以用(μk,Vark)來描述某一特征對于采集10個特征的系統(tǒng),可以得到(μ1,Var1),(μ2,Var2),…,(μ10,Var10).
當系統(tǒng)需要對一個用戶進行身份驗證時,用戶首先需要在控件上進行手寫字.從用戶的手寫字中可以提取上面所提到的特征,并建立一個特征向量.然后將測試手寫字特征值帶入高斯密度函數(shù):
(8)
這里P(Xi)是由特征Xi產(chǎn)生的值.
由(8)式可以看出:Xi越接近于均值,則所得的P(Xi)值越高.將上式應(yīng)用到所有特征上,可以通過(9)式得到一個概率值PS.
(9)
在得到每個特征的均值和方差的估計值后,還需要對閾值進行估計,可將每個樣本手寫字分別作為測試手寫字,將其特征帶入式(8)中,得到包含所有特征估計值的PS.在得到所有樣本手寫字的PS后,取這些PS的平均值作為閾值.
如果待測手寫字的PS等于或者高于閾值,那么就認為識別通過.否則就識別失敗.因此,可以通過調(diào)整閾值的高低(PS平均值的百分比)來調(diào)整系統(tǒng)的性能.
再舉一個具體的例子.假設(shè)在上面的例子中參考模板的均值和方差分別為(4.546,0.051 477)和(5,0.666).現(xiàn)有一個偽造手寫字,總手寫字時間為5.2 s,抬筆6次;真實手寫字用時4.6 s,抬筆5次.通過式(8)和P(Xi),可得偽造手寫字的兩個P值為0.02 758和0.23 089,總PS值為0.258 477;真實手寫字的P值分別為1.7 092和0.488 6,總PS值為2.197 8.雖然這里沒有真正設(shè)定閾值,但可以看出兩者PS值的差別很大.真實手寫字的PS值應(yīng)該超過閾值.
由于條件所限,故只在小范圍內(nèi)進行了測試(10個人,每個人20個樣本手寫字).在沒有筆跡模仿專家的情況下進行基礎(chǔ)測試,系統(tǒng)能識別出大約85%的模仿者.另外試驗用的手寫板分辨率較低,如果采用高級的手寫板,進一步提高輸入的分辨率,則識別率可以進一步提高.
該模式識別系統(tǒng)使用VB6.0軟件進行開發(fā),通過調(diào)用WindowsGUI函數(shù)已成功應(yīng)用到企事業(yè)單位(部門)的文檔管理系統(tǒng)中.它主要起兩方面作用:一是身份識別,二是報表手寫字筆跡打印.身份識別提高了系統(tǒng)的安全性;報表手寫字筆跡打印一可使得人們對文件的可信度一目了然,提高高層領(lǐng)導(dǎo)審批文件的效率,二可以增強手寫字的不可抵賴性,必要時可以由筆跡分析專家對實際手寫字進行分析.
參考文獻:
[1]候媛彬, 杜京義, 汪梅.神經(jīng)網(wǎng)絡(luò)[M]. 西安: 西安電子科技大學(xué)出版社,2004:25-30.
[2]陳希孺.概率論與數(shù)理統(tǒng)計[M].北京:中國科學(xué)技術(shù)出版社,1993:120-124.
[3]Ho Kuen Kiat,Heiko Schroder,Graham Leedham.Codebooks for signature verification and handwriting recognition[C]∥ Seventh Australian and New Zealand Intelligent Information Systems Conference. New York:Sprin ger,2001:221-224.
[4]Edson J R Justino,Flavio Bortolozzi,Robert Sabourin.Off-line Signature Verification Using HMM for Random,Simple and Skilled Forgeries[C]∥International Conference on Document Analysis and Recognition. New York:Springer,2001:1031-1034.
[5]Robert Sabourin,Jean-Pierre Drouhard. Off-Line Signature Verification Using Directional PDF and Neural Networks[J].Pattern Recogition, 2000,29:415-242.
[6]Dariusz Z Lejtman,Susan E George.On-line handwritten signagure verification using wavelets and back-propagation neural netwouks[C]∥International Conference on Document Analysisi and Recognition. New York:Astin Buletin, 2001:992-996.