亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

手寫體匹配技術(shù)的制作方法

文檔序號(hào):6409197閱讀:356來源:國知局
專利名稱:手寫體匹配技術(shù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及到不用先將電子墨跡轉(zhuǎn)換成ASCII文本就能搜索該電子墨跡樣本的方法與設(shè)備。“電子墨跡”是指用戶在使用能獲取手寫輸入的計(jì)算機(jī)輸入設(shè)備如基于筆寫輸入的計(jì)算機(jī)等時(shí)所形成的動(dòng)態(tài)蹤跡。這種技術(shù)在本專利申請(qǐng)書的說明部分內(nèi)稱為“手寫體匹配技術(shù)”。
對(duì)基于筆寫輸入的計(jì)算機(jī)來說,已知有多種系統(tǒng)用于識(shí)別手寫輸入。這類系統(tǒng)通常要識(shí)別輸入中的各個(gè)字符并將它們轉(zhuǎn)換成ASCII碼文本以便系統(tǒng)在后來進(jìn)行存儲(chǔ)和處理。這就會(huì)有相當(dāng)?shù)挠?jì)算開銷,這種開銷隨所要求的識(shí)別精度而增加。在已知的系統(tǒng)中,對(duì)于非受限輸入來說,識(shí)別精確度是相當(dāng)有限的。
在某些手寫體識(shí)別系統(tǒng)中,已知的是確定輸入的速度最小值并利用這一信息在識(shí)別過程的一個(gè)步驟中將輸入分解成筆劃。
手寫體匹配技術(shù)比之于識(shí)別整個(gè)的手寫體之后再搜索最后的ASCII碼文本有多方面的優(yōu)點(diǎn)i)對(duì)于搜索就是將用戶的輸入與該用戶先前的輸入作比較的個(gè)人設(shè)備來說,匹配的精確度是較高的。手寫體識(shí)別目前在處理人們自然書寫時(shí)所使用的多種字母形式方面的能力是有局限的。手寫匹配技術(shù)只需要用戶在他們所使用的字母形式方面保持適當(dāng)?shù)囊恢滦?,即使該字母本身無法辨認(rèn)也不要緊;ii)對(duì)由幾百個(gè)自由書寫體構(gòu)成的相對(duì)較小的搜索表來說,手寫體匹配技術(shù)在運(yùn)算上要比轉(zhuǎn)換成ASCII碼文本便宜;iii)書寫者并不局限于特定的字母集,而是可以在不必訓(xùn)練系統(tǒng)的情況下使用任意的符號(hào)。小型的圖像、個(gè)人符號(hào)以及來自其它語言的符號(hào),只要是有足夠的特征并且是穩(wěn)定的,就都可以使用。
以下論文說明了已知的手寫體匹配的方法Daniel P.Lopresti&Andrew Tomkins"Pictographic naming"Technial Report 007-mei-pti-mitl-228-1,MatsushitaInformation Techology Laboratory,Princeton,November,1992Daniel P.Lopresti&Andrew Tomkins"A comparison oftechniques for graphical database queries".Technial ReportMITL-TR-45-93,Matsushita Information TechnologyLaboratory,Princeton,May,1993Thierry Paquet&Yves Lecourtier."Recognition ofhandwritten sentences using a restricted lexicon".PatternRecognition 26(3)391-407,1993.
頭兩篇參考文獻(xiàn)涉及到按圖形的匹配技術(shù),由于圖形因書寫者而異,所以,這項(xiàng)技術(shù)是一項(xiàng)難題。這兩篇文獻(xiàn)說明了如何使用Hidden Markov模型,該模型是一種統(tǒng)計(jì)模式識(shí)別技術(shù)。第三篇參考文獻(xiàn)說明了脫機(jī)即靜態(tài)的手寫圖像的匹配技術(shù),這項(xiàng)技術(shù)與本發(fā)明所說明的問題是不同的。上述三篇文獻(xiàn)提出的方法均有著相對(duì)較低的精確度。
依照本發(fā)明,我們提供了一種將以電子方式存儲(chǔ)的手寫輸入的樣本與所存儲(chǔ)的其它手寫輸入的樣本相匹配的方法,這種方法包括確定手寫輸入的速度最小值;利用一系列符號(hào)對(duì)手寫輸入進(jìn)行編碼,所說的每一個(gè)符號(hào)都表示手寫輸入在速度最低時(shí)的一個(gè)特征。
用串編輯測(cè)距法(string edit distance metric)將上述一系列符號(hào)與其它手寫輸入樣本的代碼相匹配。
本發(fā)明通過按拓?fù)浜?或瞬時(shí)特征來匹配手寫體,從而避免了全手寫體識(shí)別的問題,并且,本發(fā)明能獲得較高的匹配率。
在手寫匹配時(shí)利用速度的最小值可以提供各樣本的相對(duì)穩(wěn)定的點(diǎn)集,以便使該樣本與其它樣本相匹配。此外,利用速度的最小值意味著用較少的點(diǎn)集對(duì)手寫輸入進(jìn)行編碼,從而節(jié)省了存儲(chǔ)與計(jì)算的消耗。與已知的方法相比,本發(fā)明的方法能提高效率。
本發(fā)明的方法有廣泛的應(yīng)用。應(yīng)用的實(shí)例有匹配電子電話薄中的手寫條目、諸如備忘錄或文件檢索之類的文檔檢索以及在手寫電子備忘錄中進(jìn)行搜索。
編碼特征可以是速度最小區(qū)域內(nèi)手寫輸入的形狀,而所說的符號(hào)則代表多個(gè)形狀特征。
編碼時(shí)可使用下列形狀特征集彎曲點(diǎn)、開曲線、閉曲線以及直線的端點(diǎn),其中,它們的編輯開銷取決于形狀特征。
最佳的是,線的端點(diǎn)與上述曲線特征之間替換成本是較低的。
所說的形狀特征集也可包括各種平滑曲線和區(qū)分標(biāo)記,這些特征的插入和刪除開銷也較低。
業(yè)已發(fā)現(xiàn),這種特定的特征集能產(chǎn)生較好的效果并且能消除某些不可避免的因書寫者不同而產(chǎn)生的差異。可以根據(jù)所要插入、刪除及替換的特征改變編輯開銷,因此,能適當(dāng)?shù)乜紤]到用于每種特征的編輯操作的重要性。
最佳的是,所說的編輯開銷還取決于相應(yīng)的編輯操作出現(xiàn)的概率。這一特點(diǎn)利用了變異出現(xiàn)的機(jī)會(huì)與該變異的偏差之間的關(guān)系。因此,可能的變異成因如使環(huán)線變形成彎曲點(diǎn)等要比不可能且明顯的變形對(duì)兩個(gè)樣本之間的差別影響得更少。
在另一個(gè)實(shí)施例中,本發(fā)明的方法包括相對(duì)于參考線對(duì)速度最低時(shí)手寫輸入的標(biāo)準(zhǔn)高度進(jìn)行編碼,其中,以連續(xù)的尺度對(duì)所說的高度進(jìn)行編碼,其編輯開銷取決于所編碼的高度。
上述實(shí)施例將文字的上伸部和下伸部模式表示用作匹配的基礎(chǔ)。該實(shí)施例是通過產(chǎn)生高度的代碼矢量以及用于筆跡中各個(gè)關(guān)鍵點(diǎn)的表目而做到這一點(diǎn)的。所述關(guān)鍵點(diǎn)的高度是由該關(guān)鍵點(diǎn)距中線的標(biāo)準(zhǔn)距離來表示的。
在某些系統(tǒng)中,將筆劃分成諸如“上伸部”、“下伸部”或“字身”之類的離散類。這種方法的問題在于很難對(duì)比較靠近但落在分隔線兩側(cè)的兩個(gè)點(diǎn)加以分類,從而夸大了這兩點(diǎn)的不一致性。
通過利用連續(xù)的高度編碼方案,而不是將速度最小值分成“上伸部”、“下伸部”或“字身部分”,可以避免因夸大特征不一致性的邊界分類所引起的精確度下降。
用于刪除和插入的編輯開銷最好對(duì)應(yīng)于相關(guān)速度最低值編碼高度的數(shù)量,而用于替換的編輯開銷則最好對(duì)應(yīng)于相關(guān)速度最低值的高度差。
在又一實(shí)施例中,本發(fā)明的方法包括用一系統(tǒng)符號(hào)對(duì)手寫輸入編碼,所說的符號(hào)表示最低速度中間的點(diǎn)的特征,其中,所說的中間點(diǎn)是通過在速度最低值之間對(duì)手寫輸入再次加以取樣而產(chǎn)生的;利用一三元組來對(duì)速度最低值和中間點(diǎn)進(jìn)行編碼,所說的三元組包含有中間點(diǎn)的標(biāo)準(zhǔn)高度;相關(guān)點(diǎn)處與手寫輸入的切線所成的角度;以及將所說的點(diǎn)分類為電子墨跡中斷點(diǎn)、速度最低值或一中間點(diǎn);以及使用取決于前述高度、角度與點(diǎn)類別的編輯開銷。
在上述實(shí)施例中,使用了多邊形的重新取樣方法。
這一實(shí)施例對(duì)整個(gè)手寫體的形狀加以匹配,而不僅僅是匹配在速度最低區(qū)域內(nèi)的手寫體形狀,從而利用了手寫輸入在速度最低值之間的形狀,這種形狀能提供筆劃間更多的區(qū)別。
最佳的是,通過計(jì)算各種匹配分值的加權(quán)和以獲得整個(gè)的匹配分值,從而組合利用上述三種匹配方式的結(jié)果。
以下將參照附圖以舉例的方式說明本發(fā)明的最佳實(shí)施例,在附圖中

圖1顯示了一手寫體并示出了其關(guān)鍵點(diǎn);圖2說明了查找關(guān)鍵點(diǎn)的過程;圖3說明了查找關(guān)鍵點(diǎn)過程中的軌跡序列;圖4說明了手寫體匹配的基本(已知的)過程;圖5說明了預(yù)處理過程;圖6說明了利用遞歸分割法的多邊形重新取樣;圖7說明了一彎曲點(diǎn);
圖8說明了多邊形部分的角度;圖9和圖9a分別說明了一開環(huán)和相應(yīng)的度量方法;圖10涉及到字形匹配器的編碼;圖11說明了字形代碼的組成;圖12說明了用于獲得中線的密度直方圖;圖13說明了傾斜校正的情況;圖14顯示了與字匹配器有關(guān)的編輯開銷;圖15是有關(guān)彈性匹配器的替換開銷表;圖16是有關(guān)上述彈性匹配器的插入/刪除開銷表;圖17顯示了三種匹配器用以獲得整個(gè)匹配分值的結(jié)果組合;圖18是顯示動(dòng)態(tài)編程開銷矩陣的表。
以下將說明本發(fā)明的三種手寫體匹配算法。在詳細(xì)說明這三種算法之前,先概述手寫體匹配過程及預(yù)處理的步驟。概述的內(nèi)容包括部分本技術(shù)目前發(fā)展水平的材料。
手寫體匹配要對(duì)每個(gè)手寫輸入進(jìn)行編碼并使已編碼的輸入與存儲(chǔ)的手寫體代碼相匹配。最佳的是,用于存儲(chǔ)的手寫體的代碼已預(yù)選經(jīng)過計(jì)算并存儲(chǔ)在一搜索表內(nèi)。
每一手寫體匹配算法均有兩個(gè)組成部分編碼器和匹配器。每當(dāng)有新的手寫體代碼加入到上述搜索表時(shí)就使用編碼器部分。該編碼器從手寫體數(shù)據(jù)中抽取一組特征,這組特征代表手寫體的某一方面,它足夠穩(wěn)定從而能在搜索中使用。所抽取出來的代碼以某種搜索表的形式存儲(chǔ)起來以備在檢索時(shí)使用。
進(jìn)行搜索時(shí)使用匹配器部分。匹配器將查詢字的代碼與搜索表中的代碼作比較。由于用戶書寫是變化的,所以查詢的代碼很難與搜索表中的條目作精確的匹配。因此,匹配器必須使用某種近似的匹配形式以判定查詢代碼與搜索表中的各條目的相似程度。結(jié)果是一組相對(duì)搜索表中每個(gè)條目的距離分值,這組分值可用來產(chǎn)生一個(gè)可能匹配的有序表。
上述算法中的每個(gè)編碼方案都是以標(biāo)記輸入手寫體中稱為“關(guān)鍵點(diǎn)”的點(diǎn)集為基礎(chǔ)的。所說的關(guān)鍵點(diǎn)代表輸入墨跡中的有意義的點(diǎn)如端點(diǎn)、彎曲點(diǎn)、連筆字等等。圖1說明了一個(gè)手寫字10即字“pad”,它示出了關(guān)鍵點(diǎn)12。每個(gè)編碼器都產(chǎn)生用于各關(guān)鍵點(diǎn)12和/或用于關(guān)鍵點(diǎn)12之間的筆劃段的代碼。圖2說明了查找關(guān)鍵點(diǎn)的過程。
參照?qǐng)D2,對(duì)關(guān)鍵點(diǎn)的查找可分成以下幾個(gè)步驟1.x和y坐標(biāo)的信息流按減少10Hz的頻率在14處被低通濾波以減少噪音。假定可及時(shí)均勻地對(duì)數(shù)據(jù)坐標(biāo)流取樣,因此這一步驟只要有一整數(shù)有限脈沖響應(yīng)濾波器(integer finite impulseresponse filter)就足夠了。對(duì)100Hz的取樣率來說,可以使用濾波系數(shù)[2 6 12 18 20 18 12 6 2]2.在16處對(duì)已經(jīng)過濾的坐標(biāo)流進(jìn)行微分以便用一中心差分符x′n=xn+1-xn-1產(chǎn)生變化率。在實(shí)踐中,通過用組合的濾波器函數(shù)(filter kernel)[-2-6-10-12-8 0 8 12 10 6 2]來旋轉(zhuǎn)坐標(biāo)流,從而同時(shí)執(zhí)行步驟1和步驟2。
3.在18處將獨(dú)立的x和y變化率組合在一起以給出書寫筆沿其軌線的速度v=x,2+(ky,)2]]>其中,k為常數(shù)權(quán)值。試驗(yàn)表明,k=3為最佳。事實(shí)上,我們使用切比雪夫過程來逼近下列公式,而不去計(jì)算相對(duì)費(fèi)事的方根 4.將速度軌跡的最小值用作關(guān)鍵點(diǎn)。通過在20處平滑(用20Hz的低通濾波器)并對(duì)速度軌跡進(jìn)行微分然后再在22處查找合成加速度軌跡中的零交叉點(diǎn),可以確定速度最低值。由于存在離散的拐點(diǎn)誤差,所以用一個(gè)取樣點(diǎn)所確定的零交叉點(diǎn)的位置可能是不精確的,因此,要檢查一下各零交叉點(diǎn)的附近區(qū)域,看它們是否對(duì)應(yīng)于較低的最低速度。
圖3顯示了查找關(guān)鍵點(diǎn)過程中所產(chǎn)生的一系列軌跡。
圖4說明了基本的手寫體匹配過程。將一查詢手寫體30提供給編碼器32,該編碼器生成查詢手寫體30的編碼形式34。將業(yè)經(jīng)編碼的手寫體34提供給匹配器36,該匹配器計(jì)算編碼手寫體34與搜索表38內(nèi)各個(gè)條目的距離分值。
所描述的每個(gè)匹配器均使用相同的近似匹配方法,即匹配由動(dòng)態(tài)程序所計(jì)算出來的串編輯距離(string edit distance)?;A(chǔ)動(dòng)態(tài)編程工具的實(shí)現(xiàn)是標(biāo)準(zhǔn)的并且通過已調(diào)用的匹配器而使用有限束寬集合。說明上述方法的論文有Okuda等的“Correction ofgarbled words based on levenstein metric”,該文載于IEEEtransactions on computing C-25(2),1976年2月;以及R.A.Wagner和M.J.Fisher的“The string-to-string correctionproblem”,該文載于Journal of the Association for ComputingMachinery,pg 2168,1974。
盡管所述動(dòng)態(tài)編程匹配器使用了多種符號(hào)而不是只使用簡(jiǎn)單的字符標(biāo)記,但是,編輯距離最容易被看作匹配兩個(gè)串(一個(gè)是查詢手寫體的編碼串,一個(gè)是候選目標(biāo)手寫體串)。所說的編輯距離尺度將上述串之間的距離限定為將第一個(gè)串編輯進(jìn)行第二個(gè)串的最小開銷。我們假定有三種可用的基本編輯操作以開銷ins(Si)來插入符號(hào)Si以開銷del(Si)來刪除符號(hào)Si以開銷Subs(Si,Si′)來用新符號(hào)Si′替換符號(hào)Si對(duì)任何給定的一對(duì)串來說,有多種不同的編輯順序,這些編輯順序能將一個(gè)串轉(zhuǎn)換成另一個(gè)串,而編輯距離尺度則被限定為在所有可能的編輯順序中最小的編輯開銷。
例如,假設(shè)我們要匹配兩個(gè)串a(chǎn)bbc和acbb并且插入/刪除/替換的編輯操作開銷分別為1,1,2。那么,對(duì)應(yīng)與用第一個(gè)b替換c以及刪除最后一個(gè)c,這兩個(gè)串之間的編輯距離是3。在所要說明的三種手寫體匹配器中的每一個(gè)當(dāng)中,編輯開銷的集合取決于所插入、刪除或替換的特定符號(hào)。
用于計(jì)算編輯距離的算法是動(dòng)態(tài)編程的算法。用開銷的兩維數(shù)組(見圖18中的表)可以很容易地實(shí)現(xiàn)這種算法。給定兩個(gè)串a(chǎn)1…n和b1…m,則表中的條目d(i,j)給出了到目前為止為最低的開銷即將子串a(chǎn)1…i編輯進(jìn)子串b1…j的開銷。此后,我們可以用下列公式以一次遍歷所說的表的方式計(jì)算出d(i,j)條目 (0,0)=d(⊥,⊥)=0]]>其中, 表示一空串圖18中表的右下角是最終的編輯距離。
在實(shí)現(xiàn)手寫體匹配器中所使用的算法時(shí),不用顯示地構(gòu)造出整個(gè)的表,最多只需要該表的兩行,一是正在更新的一行,一是先前的一行。此外,將所掃描的表域限于有限的范圍,即只考慮落在表對(duì)角的某一短距離之內(nèi)的單元。上述范圍限制能減少計(jì)算從O(n2)到O(nb)編輯距離的開銷,其中,n是串的長度,b是所述范圍的大小,它比n小5到10倍(O表示“階”)。
在每個(gè)所要說明的手寫體匹配器中,通過用所匹配的兩個(gè)串長度的均值除上述匹配距離,而使該匹配距離標(biāo)準(zhǔn)化。每個(gè)點(diǎn)編輯開銷的測(cè)度不會(huì)偏向于短的匹配串并且在實(shí)踐中會(huì)雖小但卻實(shí)際上有利于提高精確度。
除查找關(guān)鍵點(diǎn)以外,還存在有其它預(yù)處理步驟,這些步驟需在所說的基本手寫體匹配過程之前執(zhí)行,圖5說明了這些步驟。
第一步驟是離散步驟40。
在某些平臺(tái)上,可能會(huì)對(duì)墨跡取樣點(diǎn)進(jìn)行不正確的時(shí)刻標(biāo)記,這就會(huì)使基于速度的處理過程中斷。具體地說,在Windows平臺(tái)上,可能是用鼠標(biāo)驅(qū)動(dòng)器而不是用特定的書寫筆驅(qū)動(dòng)器來捕獲墨跡坐標(biāo)。在這種情況下,墨跡坐標(biāo)以相同的時(shí)間標(biāo)記大批到達(dá)。雖然有本批墨跡坐標(biāo)所表示的時(shí)間期間,但是,在假定各個(gè)樣本是等距的情況下,可以用簡(jiǎn)單的預(yù)處理步驟來校正各樣本的時(shí)間標(biāo)記。
假定我們接收到一系列點(diǎn)(p1,t1),(p2,t1)…(Pn,t1)(pn+1,t2)所說的離散算法計(jì)算出△t=(t2-t1)/n然后將所述序列中的點(diǎn)重新標(biāo)記為(p1,t1),(p2,t1+△t)…(Pn,t1+(n-1)△t)(pn+1,t2)…下一個(gè)步驟是除去變形線步驟42。
由數(shù)字化圖形輸入板所捕獲的手寫體中的一種普通的人為因素都是變形線(hook)。當(dāng)記錄筆在書寫者的手平穩(wěn)到達(dá)他/她要進(jìn)行書寫的位置之前開始著墨時(shí),就會(huì)出現(xiàn)變形線。這種變形線是相當(dāng)不穩(wěn)定的,對(duì)同一個(gè)人重復(fù)幾次寫同一個(gè)字來說,變形線的數(shù)量會(huì)有明顯的變化。因此,如果變形線對(duì)手寫體的編碼產(chǎn)生影響,那么,這種變異的成因就會(huì)降低手寫體匹配的精確度。所以,要對(duì)墨跡進(jìn)行預(yù)處理以除掉所說的變形線。
正常情況下,圖5中A1處所示的查找關(guān)鍵點(diǎn)的過程將確定彎曲點(diǎn)上的一個(gè)點(diǎn),該點(diǎn)對(duì)應(yīng)于筆劃的起點(diǎn)。消除變形線的算法(dehooking algorithm)只涉及每一筆劃的第一段和最后一段。如果 則所說的算法就將這段筆劃判斷為變形線并予以消除。
上述精確的參數(shù)(1mm,0.25和45)是在對(duì)大量的樣本數(shù)據(jù)進(jìn)行試驗(yàn)之后選定的。參數(shù)的最佳值取決于手寫體捕獲系統(tǒng)的特點(diǎn)(書寫筆的柔性、查找書寫筆落點(diǎn)中的滯后量、表面摩擦力、影響書寫體大小的書寫區(qū)域)。
再一個(gè)步驟是濾波步驟44。
使用與在速度探測(cè)之前用來減少噪音的同樣的10Hz低通濾波器對(duì)用于后面處理過程的墨跡進(jìn)行濾波。某些算法特別是字形匹配器在使用未經(jīng)濾波的墨跡時(shí)有更大的精確性,在這種情況下,可在預(yù)處理階段中省略上述濾波步驟。
下一個(gè)步驟是重新取樣步驟46。
在業(yè)已抽取出詳細(xì)的基于時(shí)間的信息以后,緊接著對(duì)墨跡重新取樣以簡(jiǎn)化后續(xù)處理(并減少后續(xù)處理的開銷)是有益的。在幾種可能的重新取樣技術(shù)中,最有用的用來進(jìn)行手寫體匹配的通用技術(shù)是多邊形重新取樣技術(shù)。這種技術(shù)通常在手寫體識(shí)別中使用。這種技術(shù)用一系列逼近整個(gè)曲線的線段來代替復(fù)雜的曲線。在所要說明的實(shí)施例中,把關(guān)鍵點(diǎn)當(dāng)作固定點(diǎn)來處理,并且,僅對(duì)連續(xù)關(guān)鍵點(diǎn)之間的線段進(jìn)行多邊形重新取樣。
所使用的算法是如圖6所示的簡(jiǎn)單遞歸分割算法。
要對(duì)墨跡的線段AB進(jìn)行重新取樣。該線段開始時(shí)是兩個(gè)連續(xù)關(guān)鍵點(diǎn)之間的線段。重新取樣算法的核心內(nèi)容如下1.設(shè)定A與B之間的直線線段。
2.確定距AB最大距離(t)處的數(shù)據(jù)點(diǎn),該點(diǎn)在圖6中為c。
3.if t<閾值Then退出(AB是非常接近的)else加入C作為一頂點(diǎn)并遞歸地對(duì)AC和CB重新取樣可按如下方式優(yōu)化上述方法以便提高這一基本過程的速度-if線段AB具有斜率m且將A設(shè)置在(0,0)Then t=|y-mx|/h其中(仍使用切比雪夫逼近法) 這樣,在搜索步驟2中,可以用簡(jiǎn)單的整數(shù)運(yùn)算計(jì)算出h。此外,h獨(dú)立于所測(cè)試的點(diǎn),因此,在上述搜索的內(nèi)部循環(huán)之外就可計(jì)算出h。
-由于曲線線段大部分都呈簡(jiǎn)單的中凸形并且是大致對(duì)稱的,所以,在步驟2中從A與B之間的中間數(shù)據(jù)點(diǎn)開始用登山法(hill climbing)進(jìn)行搜索并首先會(huì)找到局部的最大值。只有當(dāng)該局部最大值超出上述測(cè)試距離時(shí),才去查找其它的最大值。
所說的“閾值”參數(shù)決定著上述多邊形逼近法按何種密切程度去匹配原始墨跡。減小這一參數(shù)會(huì)增加逼近的精度并增加多邊形線段的數(shù)量(從而增加了存儲(chǔ)開銷與搜索時(shí)間)。
參數(shù)0.1mm用于所有的將要說明的實(shí)施例。這可以相當(dāng)密切地逼近所說的曲線并可產(chǎn)生3.6至1倍的數(shù)據(jù)簡(jiǎn)縮。
合成匹配器所要說明的本發(fā)明的第一個(gè)實(shí)施例是合成匹配器。該匹配器通過用表示關(guān)鍵點(diǎn)位置處的手寫體形狀的符號(hào)來標(biāo)記各個(gè)關(guān)鍵點(diǎn),從而對(duì)手寫體進(jìn)行編碼。所使用的特定標(biāo)記是彎曲點(diǎn)1!<>,用于朝上、朝下、朝左、朝右的彎曲點(diǎn);
開曲線n u,用于向上中凸/中凹的曲線;閉曲線opge各種平滑曲線~區(qū)分符·直線端點(diǎn)I L{}N U Y這樣,可將圖1所示的手寫體編碼為L!P<>olu>olU。
雖然圖1所示的手寫體看起來有11個(gè)關(guān)鍵點(diǎn),但實(shí)際上有12個(gè)關(guān)鍵點(diǎn),這是因?yàn)椋袃蓚€(gè)關(guān)鍵點(diǎn)在字符“a”上的11處相重合。
將上述代碼作為一個(gè)帶有用于各關(guān)鍵點(diǎn)的字符標(biāo)記的簡(jiǎn)單串存儲(chǔ)起來。
所說的合成匹配器的編碼算法能根據(jù)輸入墨跡的圖形產(chǎn)生標(biāo)記串。所要編碼的墨跡業(yè)已如上所述經(jīng)過離散、除去變形線、濾波以及多邊形重新取樣,并且,已經(jīng)查找到了關(guān)鍵點(diǎn)。
上述核心算法可抽取單一的筆劃(書寫筆下落和書寫筆抬起之間的墨跡)標(biāo)記筆劃if isDiacritical(筆劃)//測(cè)試筆劃是否可區(qū)then給出“·”else標(biāo)記筆劃的起點(diǎn)對(duì)于筆劃中的每個(gè)內(nèi)部關(guān)鍵點(diǎn){標(biāo)記關(guān)鍵點(diǎn)}標(biāo)記筆劃的終點(diǎn)上述算法的各個(gè)組成部分使用了若干組試探性的閾值??赏ㄟ^與手工標(biāo)記的一數(shù)據(jù)組相比較而試驗(yàn)性地選定上述閾值,并且,這些閾值不起關(guān)鍵性的作用。例如,如果該算法在一個(gè)主觀上更有可能是平滑曲線的位置處將關(guān)鍵點(diǎn)標(biāo)記成一彎曲點(diǎn),那么,上述閾值就是不重要的。關(guān)鍵在于決擇點(diǎn)在同一作者的同一個(gè)字的多個(gè)樣本中是足夠穩(wěn)定的。
以下將更詳細(xì)地說明上述合成算法的組成。
isDiacritical-將一個(gè)筆劃看作是可區(qū)別開的筆劃(并用·加以標(biāo)記),如果1.該筆劃是簡(jiǎn)單且較小的筆劃(具有5個(gè)以下的關(guān)鍵點(diǎn),起點(diǎn)與終點(diǎn)的距離小于D并且該筆劃距一直線的最大偏離距離小于D),或者2.該筆劃非常簡(jiǎn)單且非常小或者是短且水平的筆劃(只有2個(gè)關(guān)鍵點(diǎn),長度小于D,或者,該筆劃距一直線的最大偏離距離小于D且該筆劃在水平30°之內(nèi))。
其中限制條件D定義為D=h/15,h是所編碼的整個(gè)手寫體的高度。
上述標(biāo)準(zhǔn)是針對(duì)英文文本的。但是,在所說的匹配過程中區(qū)分標(biāo)記并不十分重要,所以上述算法的這部分的精確度并不是很關(guān)鍵。
標(biāo)記角度——在區(qū)分濾波器的第二種情況以及下述的若干步驟中,需要測(cè)試角度。在實(shí)現(xiàn)這一算法的過程中,用一個(gè)字節(jié)存儲(chǔ)角度代碼,因此,0,64,128,192的角度分別對(duì)應(yīng)于向上、向右、向下和向左。由于墨跡是有序的,所以,書寫筆的移動(dòng)方向是已知的,也就是說,可以將向上的筆劃與向下的筆劃區(qū)分開來。在上述算法的所有后續(xù)偽碼定義中,使用了上述角度表示法。
標(biāo)記筆劃的起點(diǎn)——為了標(biāo)記筆劃的起點(diǎn),我們使用標(biāo)記筆劃的起點(diǎn)測(cè)試第一個(gè)多邊形線段的角αα∈[-40,40] =>給出“L”(向下的筆劃)α∈(40,100) =>給出“}”(向右的筆劃)α∈[100,156]=>給出“|”(向上的筆劃)α∈(156,216)=>給出“{”(向左的筆劃)因此,可以對(duì)稱于主方向但對(duì)于向下的筆劃用略寬的窗口來測(cè)試所說的角度。
標(biāo)記筆劃的終點(diǎn)——草寫筆劃連筆字的部分中會(huì)出現(xiàn)某些直線的終點(diǎn),因而,上述算法的目的是要標(biāo)記這些終點(diǎn)。所使用的試探性算法是標(biāo)記筆劃的終點(diǎn)d=(最后一個(gè)多邊線段的角)-(倒數(shù)第二個(gè)多邊線段的角)測(cè)試最后一個(gè)多邊線段的角αα∈[-40,40]=>給出“L”(向下的筆劃)α∈(40,100)=>if d>0 then給出“N”else給出“U”(向右的筆劃)α∈[100,156]=>給出“|”(向上的筆劃)α∈(156,216)=>
if d>0 then給出“Y”else給出“{”(向左的筆劃)除了水平端點(diǎn)根據(jù)它們是否向上或向下拐而有略微不同的標(biāo)記以外,上述過程基本上與標(biāo)記筆劃的起點(diǎn)相同。
標(biāo)記關(guān)鍵點(diǎn)——上述標(biāo)記算法的最后一個(gè)組成部分是標(biāo)記內(nèi)部關(guān)鍵點(diǎn),即不位于筆劃起點(diǎn)或終點(diǎn)處的關(guān)鍵點(diǎn)。
標(biāo)記關(guān)鍵點(diǎn)if isCusp//測(cè)試是否是彎曲點(diǎn)then 測(cè)試該彎曲點(diǎn)的角αα∈[-40,40]=>給出“1”(向下的筆劃)α∈(40,100)=>給出“>”(向右的筆劃)α∈[100,156]=>給出“!”(向上的筆劃)α∈(156,216)=>給出“>”(向左的筆劃)elseif isSmoothInflexion//測(cè)試是否是平滑彎曲then給出“~”elseif isPositive&isDown then給出“y”if isNegative&isUp then給出“e”if isLoop&isPositive then給出“p”if isLoop&isNegative&isClosed then給出“o”otherwiseif isUp then給出“n”if isDown then給出“U”
存在有若干種在上述算法中使用的試探性測(cè)試法isCusp一個(gè)彎曲點(diǎn)(Cusp)被定義為一個(gè)點(diǎn),與該點(diǎn)兩側(cè)的角度變化率相比,這個(gè)點(diǎn)具有為銳角的角度變化?!敖嵌茸兓笔侵冈擖c(diǎn)兩側(cè)多邊形線段之間的角。圖7說明了一個(gè)彎曲點(diǎn),圖8顯示了相關(guān)的角。彎曲點(diǎn)的測(cè)度如下C=[α2-(α1+α3)3]]]>如果上述彎曲點(diǎn)的測(cè)度值C大于給定的閾值(目前設(shè)置為70),則isCusp測(cè)試返回“true”。
isSmoothInflexion它測(cè)試墨跡中的平滑彎曲的點(diǎn),即曲率變化較小且曲率的符號(hào)越過此關(guān)鍵點(diǎn)發(fā)生變化。利用圖8所示的角度,如果(C<40)(Sign(α1)≠Sign(α3))(Sign用于測(cè)試符號(hào))isSmoothInflexion返回true。
isPositive/isNegative它們僅告知墨跡的角度是增加的還是減小的。仍使用圖8中的符號(hào),如果α2>0,則isPositive返回true,而isNegative正好與之相反。
isDown/isUp它們測(cè)試關(guān)鍵點(diǎn)處與墨跡垂直的方向。為此,把法角β簡(jiǎn)單地看作是圖8中方向矢量AB和CB的均值。
如果β∈[100,190],則isDown返回“true”。如果β∈[-40,60],則isUp返回“true”。這些測(cè)試是不對(duì)稱的,從而反映出對(duì)斜寫作者略有偏向。
isLoop/isClosed這類測(cè)試的目的是區(qū)分開曲線(“u”和“n”)以及閉曲線(“o”和“p”)。這些測(cè)試在從前一個(gè)關(guān)鍵點(diǎn)到下一個(gè)關(guān)鍵點(diǎn)的整個(gè)范圍內(nèi)測(cè)試墨跡并確定最小和最大x值的位置。圖9a顯示了一個(gè)具有三個(gè)關(guān)鍵點(diǎn)的開曲線。如圖9b所示,要進(jìn)行四種測(cè)度。如果lgap或rgap是負(fù)的,則在后續(xù)的計(jì)算中將它們?cè)O(shè)置為零。
如果 則isLoop返回“true”如果(ClosureScale<0.55)]]>則isClosed返回“true”如前所述,匹配是以串編輯距離為基礎(chǔ)的。將插入、刪除及替換開銷的集合設(shè)置成能處理書寫風(fēng)格中的差異(如連筆字中的間斷)以及上述標(biāo)記算法中的不穩(wěn)定性(如可能把“u”標(biāo)記成“o”的循環(huán)測(cè)試的缺欠,或者相反)。設(shè)置上述開銷的過程如下1.手工定義開銷的初始集。
2.利用上述開銷集查找詞對(duì)擴(kuò)展測(cè)試數(shù)據(jù)庫中每一對(duì)詞之間的最小開銷編輯序列。
3.測(cè)度替換、插入和刪除每個(gè)符號(hào)或符號(hào)對(duì)的相對(duì)的頻率。
4.對(duì)每個(gè)符號(hào)或符號(hào)對(duì)用公式Ci=-logPi來更新所說的開銷。
5.就測(cè)試集的效率測(cè)試更新后的開銷。如果效率有進(jìn)一步的提高,則轉(zhuǎn)步驟2,否則,按先前的開銷集退出。
上述結(jié)果是一個(gè)固定開銷的表,該表反映了局部變異的概率以及諸如從一環(huán)線到一彎曲點(diǎn)之類的變形,從而產(chǎn)生較低的開銷。在實(shí)踐中,上述第一次設(shè)置的開銷應(yīng)是足夠精確的,因此只需作重復(fù)改進(jìn)的一次循環(huán)就能產(chǎn)生最終的開銷表。字形匹配表所要說明的另一個(gè)實(shí)施例是字形匹配器。字形匹配器利用了手寫體整個(gè)形狀的圖像,從而反映出形狀輪廓中上伸部和下伸部的形狀,例如,如圖10所示。在圖10中,所顯示的字“pad”始于下伸部50、延續(xù)于標(biāo)準(zhǔn)字符高度的區(qū)域52并終止于上伸部54。
編碼器產(chǎn)生整數(shù)的代碼矢量,它表示按時(shí)間順序的關(guān)鍵點(diǎn)的標(biāo)準(zhǔn)高度。相對(duì)于(可能是傾斜的)中線及手寫體平均關(guān)鍵點(diǎn)高度使關(guān)鍵點(diǎn)的高度標(biāo)準(zhǔn)化。
以下概括地給出編碼算法1.清空代碼串2.投影手寫體的y-密度直方圖,并查找其中值3.從上述中值中找出關(guān)鍵點(diǎn)的平均垂直距離4.按時(shí)間順序?qū)γ總€(gè)關(guān)鍵點(diǎn)4.1從關(guān)鍵點(diǎn)的高度中減去上述中值4.2用在步驟3中找到的均值除上述結(jié)果4.3將上述結(jié)果加至代碼串的尾部更正式地說,一個(gè)字形代碼被定義為按時(shí)間順序的N個(gè)整數(shù)Si的序列S,從而,S=S1,S2,…SN其中 并且,yi是關(guān)鍵點(diǎn)i的y坐標(biāo)值,y中值是與關(guān)鍵點(diǎn)i有相同x坐標(biāo)值的手寫體的中線的y坐標(biāo)值,以及 是關(guān)鍵點(diǎn)距上述中值的平均垂直距離,這些參數(shù)如圖11所示。
相對(duì)于用來限定墨跡在手寫體內(nèi)路徑的坐標(biāo)系原點(diǎn)來說,所要比較的兩個(gè)手寫體很有可能具有不同的整體位置。例如,用于手寫體表的條目形式可能位于用來捕獲墨跡的圖形輸入板的下半部,而用于查詢手寫體的條目形式則可能位于圖形輸入板的上半部。通過表明關(guān)鍵點(diǎn)相對(duì)手寫體中線的高度可以克服這一問題。通過在圖12所示的直方圖60中投影出手寫體沿y軸的密度,就可以找到上述中線。然后,將中線62的高度置為直方圖包含有點(diǎn)的方框的中點(diǎn),而對(duì)所包含的點(diǎn)來說,存在有同樣數(shù)量的具有較高和較低高度的其它點(diǎn)。
通過沿手寫體的路徑按等距間隔對(duì)該手寫體重新取樣并對(duì)所重新取樣的點(diǎn)的y坐標(biāo)值落在每個(gè)直方圖方塊內(nèi)的次數(shù)進(jìn)行計(jì)數(shù),就可以形成所說的密度直方圖。標(biāo)準(zhǔn)化完全不受直方圖方塊的數(shù)量和寬度的影響。使用了50個(gè)均勻分布手寫體高度上的直方圖方塊。
所比較的兩個(gè)手寫體很有可能有不同的尺寸。通過相對(duì)距手寫體中所有關(guān)鍵點(diǎn)中值的平均距離明確一個(gè)關(guān)鍵點(diǎn)距該中值的距離,從而能獲得大小的不變性。非正式地說,這種測(cè)度涉及到上述關(guān)鍵點(diǎn)距某一中心位置距離的差異。一個(gè)手寫體大小的成倍增加會(huì)使上述因子加倍,從而能獲得所需的標(biāo)準(zhǔn)化。由于不太受遠(yuǎn)離的關(guān)鍵點(diǎn)的影響,所以將上述密度直方圖的中值而不是均值用作所說的中心位置,而前述遠(yuǎn)離的關(guān)鍵點(diǎn)則起因于特別長的上伸部或下伸部。
與此相似,所要匹配的兩個(gè)手寫體的基線可能不與水平線成同樣的角度。用圖13所示的方法可以獲得對(duì)變化坡度的部分穩(wěn)定性。
在圖13所示的方法中,垂直線65將手寫體的邊框64分成兩個(gè)相等大小的區(qū)域區(qū)域1和區(qū)域2。對(duì)每個(gè)區(qū)域來說,分別(如上述那樣)構(gòu)造密度直方圖以便找到它們各自的中線。區(qū)域1的中線稱為前部中線66,區(qū)域2的中線稱為后部中線68。
然后,將傾斜的中線70設(shè)置成通過前部中線66與手寫體邊框64最左側(cè)相交處以及后部中線68與邊框64最右側(cè)相交處的直線。
上述方法不能很好地估算手寫體基線相對(duì)水平線的實(shí)際傾斜度。對(duì)任何一個(gè)特定的手寫體來說,上伸部和下伸部的形狀都有可能偏離該估算值。但是,對(duì)手寫體匹配來說,只需要兩個(gè)手寫體相對(duì)傾斜度的估算值,由于上伸部與下伸部的形狀在正確匹配的手寫體中是相同的,所以上述估算值是可靠的。
所說的匹配器仍使用串編輯測(cè)距法。如果用這種方法,就需要限定基本的插入、刪除和替換符的開銷。由于代碼串的元素是整數(shù),所以,可將上述操作符開銷定義為簡(jiǎn)單的算術(shù)函數(shù),即替換開銷S(Ci1,Cj2)=w(Ci1,Cj2)=|(Ci1-Cj2)|插入開銷i(Ci1)=w(Ci1,0)=|Ci1|刪除開銷d(Cj2)=w(0,Cj2)=|Cj2|其中Cin表示代碼串n的元素i。
圖14說明了上述開銷,在圖14中,為清楚起見,假設(shè)兩個(gè)手寫體共用一個(gè)共同的中線。
可以看到S(Ci1,Cj2)≤i(Ci1)+d(Cj2),也就是說,兩個(gè)關(guān)鍵點(diǎn)之間的替換開銷總是小于或等于刪除一個(gè)關(guān)鍵點(diǎn)和插入另一個(gè)關(guān)鍵點(diǎn)的開銷。
最低開銷的編輯序列是那些基本上包含具有相似高度的替換關(guān)鍵點(diǎn)的序列。用任何類型的關(guān)鍵點(diǎn)替換位于上伸部(或下伸部)末端的關(guān)鍵點(diǎn),或者對(duì)該關(guān)鍵點(diǎn)的刪除或插入,都將導(dǎo)致較高的臨界開銷并會(huì)增加整個(gè)的匹配距離。所以,正如所預(yù)料的那樣,整個(gè)匹配的最小距離將是具有相似上伸部、下伸部及字符本身形狀的手寫體之間的距離。而且,插入和刪除接近中線的關(guān)鍵點(diǎn)會(huì)有較低的臨界開銷從而不會(huì)對(duì)整個(gè)匹配距離產(chǎn)生很大的影響。因此,上述匹配器對(duì)在字符本身關(guān)鍵點(diǎn)位置以及在使用連寫時(shí)的不穩(wěn)定性來說有相當(dāng)?shù)慕研?,從而反映出是把重點(diǎn)放在手寫體的整個(gè)形狀上而不是放在手寫體的內(nèi)部細(xì)節(jié)上。
彈性匹配器彈性形狀匹配器匹配整個(gè)手寫體的形狀而不僅僅是關(guān)鍵點(diǎn)處的形狀。
假定相對(duì)某些標(biāo)準(zhǔn)軸例如通過確定位于各手寫體左下角的原點(diǎn)的位置來對(duì)所要比較的手寫體進(jìn)行測(cè)度。取樣點(diǎn)的絕對(duì)數(shù)量以及多次出現(xiàn)的自然差異會(huì)阻礙直接使用這些點(diǎn)去有效地計(jì)算相似性的測(cè)度值。相反,所述匹配器的目的是產(chǎn)生一組可更方便進(jìn)行比較的特征。
手寫體多次出現(xiàn)后變異的自然原因是按不同順序?qū)懭牍P劃子集的概率。最普通情況是通過過濾諸如i中的點(diǎn)以及t中的短橫之類的區(qū)分符來加以補(bǔ)償?shù)模皇褂眠@些短的筆劃來作比較。可如以上標(biāo)題為“isDiacritical”一節(jié)所說明的那樣確定上述這些筆劃。
抬筆起到筆劃分隔符的作用,并且,抬筆對(duì)于明確某些可能具有相似落筆輪廓的筆劃序列是有用的。但是抬筆不可能反復(fù)出現(xiàn),同一手寫體的兩個(gè)樣本可能在抬筆的次數(shù)及位置上是不同的。將抬筆記為兩個(gè)關(guān)鍵點(diǎn)序列之間的分隔符。
用一形狀代碼矢量序列來對(duì)筆劃序列編碼,而所說的代碼矢量則是從點(diǎn)序列中按下述方法形成的分段與二次取樣在重新取樣預(yù)處理步驟中利用上述速度最小值的信息對(duì)筆劃即兩次抬筆之間的一系列點(diǎn)加以分段。為了減少匹配的復(fù)雜性,對(duì)由速度最小值所界定的線段進(jìn)行二次取樣,從而用多邊形重新取樣通過一組直線來逼近所說的線段。
對(duì)二次取樣點(diǎn)進(jìn)行編碼對(duì)在二次取樣空間中的每個(gè)點(diǎn)均記錄下列信息1.與前述邊框一角的相對(duì)y位移。
2.所述點(diǎn)處的曲線的切線角度θ(如果該點(diǎn)是抬筆點(diǎn),那么就計(jì)算前一個(gè)筆劃的最后一點(diǎn)與下一個(gè)筆劃的第一個(gè)點(diǎn)之間的角度)其中θ=atan[y-y′x-x′]]]>3.用于指示所說的點(diǎn)是關(guān)鍵點(diǎn)、抬筆點(diǎn)還是一多邊形二次取樣的中間點(diǎn)的指示符。
將上述信息適當(dāng)?shù)亓炕允勾鎯?chǔ)要求與精確度之間的關(guān)系最優(yōu)化。目前的設(shè)置使用了用于所述y位移的6位和一個(gè)符號(hào)位以及用于所述切線角的6位和一個(gè)符號(hào)位。在抬筆的情況下,將當(dāng)前的點(diǎn)看作是該抬筆之后筆劃的第一個(gè)點(diǎn)。更正式地說,用一個(gè)下列類型的矢量來表示用于一筆劃序列的形狀代碼 1.(x,y)表示當(dāng)前所檢測(cè)的點(diǎn),dervative(x,y)表示該點(diǎn)處書寫筆速度的近似值。
2.(x′,y′)表示先前的點(diǎn)。
3.Centroid(x,y)表示筆劃序列的形心。
4.penup?是一指示一次抬筆的布爾值。
5.Knot-point?是一布爾值,它指示是否將該編碼點(diǎn)標(biāo)識(shí)為一速度最低值。如果設(shè)置了penup?則knot-point?無意義。
彈性形狀匹配技術(shù)使用了與合成匹配器及字形匹配器相同的動(dòng)態(tài)編程算法。事實(shí)上,這項(xiàng)技術(shù)試圖使曲線變形以便與原型相匹配。通過位置差異和在筆劃的各取樣點(diǎn)處書寫筆軌跡的切線的線性加權(quán)和(Linear weighted sum)來計(jì)算兩個(gè)筆劃輪廓的差異。該差異可能是由下列因素引起的1.兩個(gè)筆劃相應(yīng)點(diǎn)的位置差異2.兩個(gè)筆劃之一上的多余點(diǎn)在上述兩個(gè)點(diǎn)都是關(guān)鍵點(diǎn)或都是二次取樣點(diǎn)的情況下,一個(gè)筆劃的點(diǎn)p與原型中相應(yīng)點(diǎn)q之間的替換開銷可定義為Subs(p,q)=m(yp-yq)+n(μp-θq)其中,m和n是適當(dāng)選定的權(quán)值。
使一多邊形重新取樣的點(diǎn)變形成一次抬筆的開銷要比匹配兩個(gè)重新取樣點(diǎn)的開銷大,從而反映出所包含的較大的幾何差異。對(duì)點(diǎn)的插入也會(huì)有高于變形開銷的代價(jià)。圖15的表顯示了當(dāng)前用于替換開銷的量化值和權(quán)值。
事實(shí)上,用多邊形取樣點(diǎn)替換關(guān)鍵點(diǎn)的高開銷會(huì)促使前述匹配算法校直兩個(gè)手寫體中的關(guān)鍵點(diǎn),即便這意味著需要多次插入或刪除中間的多邊形取樣點(diǎn)。
插入和刪除開銷是對(duì)稱的。用于一關(guān)鍵點(diǎn)或多邊形重新取樣點(diǎn)的插入/刪除開銷等于用于一關(guān)鍵點(diǎn)和多邊形重新取樣點(diǎn)對(duì)的最大替換開銷。用于一次抬筆的開銷等于用一次抬筆來替換多邊形重新取樣點(diǎn)的代價(jià)。圖16中的表顯示了示例性的開銷。
所說的匹配過程就是上述標(biāo)準(zhǔn)編輯距離的算法,但它使用了前述開銷函數(shù)。
對(duì)前述彈性匹配器的可能改進(jìn)是將其用作一局部匹配器(partial matcher),即只利用某些可用的墨跡,也就是說50%的墨跡或跨越最后n個(gè)關(guān)鍵點(diǎn)的墨跡。這就對(duì)速度與精確度進(jìn)行了折衷。例如,只匹配前部墨跡可以用相似的前綴快速標(biāo)識(shí)所有的手寫體,而所說的前綴對(duì)某些應(yīng)用來說是足夠用的。
在實(shí)際上,使多種手寫體匹配算法相結(jié)合以使速度和精確度均為最大。例如,可以用已知的刪除算法去減少搜索空間以便加快后續(xù)的匹配步驟的速度。上述刪除算法會(huì)刪掉搜索表中那些與將要成為匹配候選字的查詢手寫體太不相似的條目。由于匹配過程中無法在以后恢復(fù)由上述刪除算法所引起的錯(cuò)誤,所以,通??偸鞘褂梅浅1J氐膭h除策略。一般地說,刪除算法最好也只能使搜索空間減半。其次,用已知的線性匹配算法(如輪廓、角度、直方圖匹配器等)去進(jìn)一步將搜索空間減少至相對(duì)小數(shù)量N個(gè)匹配候選字。最后,對(duì)用來產(chǎn)生最后分值的剩下的N個(gè)候選字以及它們的組合分值使用本發(fā)明的相對(duì)在計(jì)算上費(fèi)事的動(dòng)態(tài)編程手寫體匹配器。
可以按多種方式如流水線或并行等方式組合上述三種手寫體匹配器。一種可能的組合是以匹配距離的線性和為基礎(chǔ)的。這種組合技術(shù)單純使用各個(gè)匹配器去查找從查詢手寫體到手寫體表中每一條目的距離,并將這些距離規(guī)范化成一通用的尺度,同時(shí)對(duì)這些距離求和以產(chǎn)生圖17所示的整體距離dn。
通過從對(duì)給定的表目所找到的距離dm中減去用于該匹配器的平均最佳距離η再除以該匹配器的最佳匹配距離的標(biāo)準(zhǔn)差δ,就可求出標(biāo)準(zhǔn)化距離dn,即dn=(dm-η)/δ通過觀測(cè)從研究測(cè)試集中抽出的寫作者的最佳匹配距離,可以找出η和δ的值。
標(biāo)準(zhǔn)化的作用是將所有的匹配距離安排到單一的尺度內(nèi),該尺度可解釋為匹配的可信度。因此,可以使用上述經(jīng)過標(biāo)準(zhǔn)化的整個(gè)距離去排除低可信度的匹配。在實(shí)踐中,可找出最佳與次佳匹配之間的差距以提供較好的排除試探法。
業(yè)已發(fā)現(xiàn),本發(fā)明的手寫體匹配法能在保持可接受的速度的同時(shí)獲得較高匹配精確度。按照不同的應(yīng)用,速度和精確性的要求是不一樣的,所以,可按要求如上述那樣將匹配器加以組合。
上述所有方法都在軟件中實(shí)現(xiàn)了。應(yīng)該認(rèn)識(shí)到,在專用設(shè)備中用硬件實(shí)現(xiàn)也是可能的。
應(yīng)該認(rèn)識(shí)到,本發(fā)明并不局限于用于寫入手寫體的輸入裝置,而是包括使用書寫筆輸入,手指輸入、鼠標(biāo)輸入以及任何其它輸入手寫體方式的方法與設(shè)備。
權(quán)利要求
1.一種將以電子方式所存儲(chǔ)的手寫輸入與所存儲(chǔ)的手寫輸入的其它樣本進(jìn)行匹配的方法,該方法包括確定手寫輸入中速度最小值的位置;用一系列符號(hào)對(duì)上述手寫輸入加以編碼,所說的每一個(gè)符號(hào)均表示手寫輸入在速度最低時(shí)的一個(gè)特征;用串編輯測(cè)距法將上述符號(hào)序列與手寫輸入其它樣本的代碼進(jìn)行匹配。
2.如權(quán)利要求1所述的方法,其特征在于,所說的編碼特征是手寫輸入在速度最低區(qū)域內(nèi)的形狀,所說的符號(hào)表示形狀特征集,而編輯開銷則取決于前述形狀特征。
3.如權(quán)利要求2所述的方法,其特征在于,所說的形狀特征集包括彎曲點(diǎn)、開曲線、閉曲線和直線的端點(diǎn)。
4.如權(quán)利要求3所述的方法,其特征在于,直線端點(diǎn)與曲線特征之間的替換開銷相對(duì)較低。
5.如權(quán)利要求3或4所述的方法,其特征在于,所說的形狀特征集還包括多種平滑曲線以及區(qū)分標(biāo)記,用于這些形狀特征的插入和刪除開銷相對(duì)較低。
6.如前述任一權(quán)利要求所述的方法,其特征在于,所說的編輯開銷還取決于出現(xiàn)相應(yīng)編輯操作的概率。
7.如權(quán)利要求1所述的方法,其特征在于,它包括相對(duì)一參照線對(duì)速度最低處手寫輸入的標(biāo)準(zhǔn)化高度進(jìn)行編碼,其中,用一連續(xù)的尺度對(duì)所說的高度進(jìn)行編碼,并且,其編輯成本取決于所編碼的高度。
8.如權(quán)利要求7所述的方法,其特征在于,刪除與插入的編輯開銷對(duì)應(yīng)于有關(guān)的速度最小值的編碼高度的數(shù)量,而替換的編輯開銷則對(duì)應(yīng)于有關(guān)的速度最小值的高度差。
9.如權(quán)利要求1所述的方法,其特征在于,它包括用一符號(hào)序列對(duì)手寫輸入進(jìn)行編碼,所說的符號(hào)表示在速度最低值中的點(diǎn)的特征,其中,通過對(duì)速度最低值之間的手寫輸入進(jìn)行重新取樣,可以產(chǎn)生所說的中間點(diǎn);用一三元組對(duì)前述速度最低值和中間點(diǎn)加以編碼,所說的三元組包含有上述點(diǎn)的標(biāo)準(zhǔn)化高度;在相關(guān)點(diǎn)處與手寫輸入的切線所成的角度以及將所說的點(diǎn)作為電子墨跡中的斷點(diǎn)、速度最低值或中間點(diǎn)的類別;以及使用編輯開銷,該開銷取決于高度、角度及點(diǎn)類別方面的差異。
10.如權(quán)利要求9所述的方法,其特征在于,所說的重新取樣步驟包括多邊形重新取樣。
11.一種方法,它包括將權(quán)利要求2至6中任何一個(gè)、權(quán)利要求7和8以及權(quán)利要求9和10中所述的三種方法組合起來并計(jì)算從上述三種方法中獲得的匹配分值的加權(quán)和以獲得一整體匹配分值。
12.為實(shí)現(xiàn)前述任一權(quán)利要求所述之方法而形成的設(shè)備。
全文摘要
本發(fā)明涉及到手寫體匹配方法,本發(fā)明對(duì)輸入手寫體中的速度最低值進(jìn)行標(biāo)識(shí)和編碼。說明了三種手寫體匹配算法合成匹配器、字匹配器和彈性匹配器。合成匹配器根據(jù)手寫體在速度最低區(qū)域內(nèi)的形狀對(duì)輸入的手寫體編碼。字匹配器利用連續(xù)的高度編碼方案根據(jù)速度最低值相對(duì)一參照線的高度對(duì)輸入的手寫體編碼。彈性匹配器根據(jù)速度最低值和中間點(diǎn)的類別對(duì)手寫體編碼。
文檔編號(hào)G06K9/62GK1122022SQ9510991
公開日1996年5月8日 申請(qǐng)日期1995年7月4日 優(yōu)先權(quán)日1994年7月4日
發(fā)明者R·赫爾, D·雷諾, D·吉普塔 申請(qǐng)人:惠普公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1