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