JP4180137B2 - オンライン手書き文字認識方法 - Google Patents
オンライン手書き文字認識方法 Download PDFInfo
- Publication number
- JP4180137B2 JP4180137B2 JP33067797A JP33067797A JP4180137B2 JP 4180137 B2 JP4180137 B2 JP 4180137B2 JP 33067797 A JP33067797 A JP 33067797A JP 33067797 A JP33067797 A JP 33067797A JP 4180137 B2 JP4180137 B2 JP 4180137B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- state
- hidden markov
- markov model
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 80
- 230000007704 transition Effects 0.000 claims description 25
- 238000013144 data compression Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 8
- 238000013139 quantization Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000009408 flooring Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000009194 climbing Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 description 1
- 241000237502 Ostreidae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 235000020636 oyster Nutrition 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Character Discrimination (AREA)
Description
【発明の属する技術分野】
本発明は、オンライン手書き文字認識の方法、特に楷書のみならず、続け字や崩し字をも正確に認識する手書き文字認識の方法に関する。
【0002】
【従来の技術】
ペン入力の電子手帳、ワードプロセッサ、コンピュータなどで重要な役割を演じるオンライン手書き文字認識については、既に多くの方法が報告されている。例えば、特開平8−101889号公報には、続け字や崩し字に強い方法であるリパラメトライズド・アングル・バリエーション法が開示されている。この方法に関するその他の文献としては、小林充ら、「Reparametrized Angle Variations を用いるon-line 手書き文字認識」、信学技報、PRU94-121, pp. 23-30 (1995) や、宮本修ら、「On-line 文字認識アルゴリズムReparametrized Angle Variations を高速に実行するハードウェアボードについて」、信学技報、PRU94-136, pp. 49-56 (1995) がある。これらの方法は、独特のデータ圧縮手順を含み、続け字や崩し字に対する文字認識に関しては、先行技術を相当程度上回る精度を示したが、圧縮データと辞書データのマッチングは、ダイナミックプログラミング(DP)の手法を利用していた。
【0003】
そのほか、総括的な論文として、Tappert, C.C., et al., IEEE Trans. Patt. Anal. Machine Intell., vol. 12, No. 18, August, pp. 787-808 (1990) があるほか、最近の論文では、鶴田彰ら、「オンライン手書き文字認識システム」、シャープ技報 57, pp5-8 (1993) 、秋山勝彦ら、「ストロークのつながりに寛容なオンライン手書き文字認識」、画像の認識・理解シンポジウム(1994)、趙鵬ら、「オンライン手書き走り書き文字認識における汎用辞書の作成」、情報処理 Vol.34, No. 3, pp.418-425などがある。
より広く携帯電子機器が広まっている現状においては、認識困難な雑な手書き文字を、より精度よく認識することができる方法が求められている。
【0004】
【発明が解決しようとする課題】
本発明は、上述の従来技術とは全く別の観点から文字の認識と学習を行う、精度の高い手書き文字の認識方法を提供することを目的とする。本発明の方法は、電子手帳などの携帯電子機器の現行の標準的なハードウェアにより実行可能なプログラムに実施可能なものである。
【0005】
【課題を解決するための手段】
本発明は、高速隠れマルコフモデルと呼ばれるパラダイムをオンラインの手書き文字認識方法に適用することを提案するものである。
【0006】
本発明は、隠れマルコフモデルを用いた、手書き文字の筆跡の座標の移動と入力用ペンの入力装置表面に対するアップまたはダウンの状態を表す時系列データに基づくオンライン手書き文字認識方法であって、与えられた時系列データから、その時系列データに含まれる点の間の角度情報と距離情報とに基づいて特徴点を抽出して、該時系列データを圧縮する特徴点抽出・データ圧縮ステップと、該特徴点を結ぶ隣り合う線のなす角度とその線の長さと、該ペンのアップまたはダウンとに応じて圧縮された時系列データを量子化する量子化ステップと、量子化された時系列的なデータに、ペンアップとペンダウンの状態変化に基づいて、あるいはペンアップとペンダウンの状態変化および上記角度に関する所定の条件に基づいて区切りを入れて、区切りに挟まれたデータの1個の集まりを隠れマルコフモデルにおける1個の状態に対応させる対応ステップと、この量子化され区切られた時系列的なデータについて、認識すべき文字に対応して予め求められた複数の隠れマルコフモデルのもとで、該データが得られる確率を計算する確率計算ステップとを含み、該確率が最大になる隠れマルコフモデルに対応する文字を最も確からしい文字とする文字認識方法を提供する。
【0007】
本発明の一実施態様として、上記文字認識方法において、特徴点抽出・データ圧縮ステップは、上記与えられた時系列データのうち、連続してペンダウンの状態にあるデータ点について、隣り合う3個以上のデータ点を選択する選択ステップと、選択された複数個のデータ点の先頭点と最終点を結んだ線分と、該選択された複数個のデータ点の内の隣り合う2点を結ぶ線分とがなす角度と、該隣り合う2点を結ぶ線分の長さを求める角度距離算出ステップと、上記角度と予め定めたしきい角度値との間または上記線分の長さと予め定めたしきい線分長値との間に所定の関係が成立するかを判断する判定ステップと、上記所定の関係が成立すると判定された場合に、上記選択された複数個のデータ点のうちの予め定めるものを特徴点として抽出し、その他のデータ点を捨てる特徴点抽出ステップと、上記に対して、上記連続してペンダウンの状態にあるデータ点に対して、上記選択ステップと、角度距離算出ステップと、判定ステップと、特徴点抽出ステップとが行われるよう、これらのステップを繰り返すステップとを含み、ペンアップを示すデータ点については、データ圧縮を行わない。
【0008】
また、本発明の別の実施態様として、隠れマルコフモデルにおけるN個の状態の間で状態jから状態iへの遷移確率a ijをi=jとi=j+1以外の場合には、ゼロに拘束し、さらにa NNを1に拘束し、初期状態をq i に固定する。
【0009】
さらに、本発明のさらに別の実施態様として、上記の文字認識方法は、学習フェーズにおいて、隠れマルコフモデルにおける状態間の遷移確率a ijを、1に拘束するa NN以外については、上記区切りに挟まれたデータの集まりそれぞれにある上記量子化されたデータの記号列の数に基づいて得ることを特徴とする。
【0010】
本発明のさらに別の実施態様として、上記の文字認識方法は、学習フェーズにおいて、上記区切りに挟まれたデータの集まりのそれぞれにある上記量子化されたデータの記号列の数に基づいて、隠れマルコフモデルにおける各状態からの出力確率を得る。
【0011】
本発明のもう一つの実施態様として、上記文字認識方法は、学習フェーズにおいて、限られた数のデータを学習に用いて生じる過度のオーバーフィットを避けるため、上記遷移確率及び出力確率に対してスムージング処理を行うことを特徴とする。
【0012】
本発明のさらにまた別の実施態様として、上記文字認識方法は、認識フェーズにおいて、文字の部分的な対応による誤認を防止するため、全ての状態に対する完全な周辺化は行わず、最終時刻における状態を隠れマルコフモデルの最後の状態に拘束して、隠れマルコフモデルに対するある時系列データの確率を計算する。
【0013】
本発明のもう一つの実施態様として、上記文字認識方法は、学習フェーズにおいて、同一文字に対して複数セットの学習用データがあるとき、第1データセットにより作成した第1隠れマルコフモデルの第1データセットのデータに対する確率を上記の最後の状態への拘束のもとで計算し、該確率の対数値を該データ列の時間の最終値で除して、第1除算結果を得て、また、第1隠れマルコフモデルの第2データセットのデータに対する確率を上記の最後の状態への拘束のもとで計算し、該確率の対数値を該データ列の時間の最終値で除して第2除算結果を得て、ついで、第1除算結果を第2除算結果で除算して得られる値が、所定の正のしきい値より大きい場合に、該第2データセットのデータに基づいて、第2の隠れマルコフモデルを作成する。
【0014】
本発明において「文字」とは、数字、ローマ字のアルファベット、ひらがな、カタカナ、漢字、漢字の偏や旁などの部分、発音記号、編集記号、編集操作を指示するための記号、ハングルやアラビア語など日本語以外の言語の文字、図形、符号、アイコンなど、手書きすることができ、コンピュータに入力される信号を生み出す二次元的、場合によっては三次元的な情報をいうものである。通念的な「文字」の定義にとらわれず、本明細書では、単に言葉を表すのみならず、何らかの意味または音を表す記号を全て「文字」と呼ぶことに留意されたい。また、本発明おいて、利用できる入力手段としては、ペン入力タブレットといったものが考えられるが、それに限定されるものではない。例えば、カメラによる入力画像の解析などによる身体動作に基づく入力方法なども可能である。
【0015】
本発明の方法は、実行可能なコンピュータ・プログラムとして、CD−ROMや、フロッピーディスク、ハードディスク、メモリーチップ、その他の適当な記憶媒体に記憶させた形で、提供することができるほか、ペン入力の電子手帳、ワードプロセッサ、コンピュータ、ペン入力タブレットなどの装置に組み込んで、提供することができる。
【0016】
【発明の実施の形態】
[生データ]
タブレットなどの入力機器から入力される生データは、通常、二次元の位置情報x(t i )=(x1(t i ), x2(t i ))とあるストロークの終点か否かを判別する情報p(t i )(ペンのアップまたはダウンに関する情報)を含んでいる。ここで、t i は、ある一点の時間を表す。つまり、ある文字や偏や旁その他の適切な文字の一部である筆跡の最初のデータが得られた時刻をt0とし、その後一定のタイミングでサンプリングをしたとき、i+1 番目の点のサンプリングの時刻はt i となる。Δt=t i+1-t i は、通常一定であるが、一定であることには必ずしも拘束されない。通常、Δtが十分に小さければ、Δtを一定にして、Δt毎にペンがアップ状態またはダウン状態のどちらにあるかをサンプリングすれば十分である。しかし、Δtを比較的大きくとるときは、例えば、ストロークの開始部と終端部とで、ペンが入力タブレットに接し、入力タブレットから離れる時点をとらえて、Δt以外のタイミングで、サンプリングすることもできる。
【0017】
このような生データの集合を、
【数1】
と表す。ここで、Mは取り込まれた生データの点の数を表す。1画の漢字で10から20程度、15画の漢字で80から100程度である。R2 は二次元実空間を意味し、{0,1}は、ストロークの終点か否かを判断する情報p(t i ) が0と1の二値のいずれかをとることを意味する。この0と1の数値の選定は任意であり、ここでは、単に例として、0と1を選ぶ。ストロークの終点を、「ペンアップ」として、たとえば、p(t i )=0 とし、それ以外のストローク上の点を「ペンダウン」として、p(t i )=1 とするものである。後に行う実験例などにおいては、データベースなどで提供されている文字データを、上記のデータ形式に変換しておく必要がある。
【0018】
[特徴抽出を含むデータ圧縮]
上述の形式の生データから、本発明の方法にふさわしい特徴を抽出し、かつ、できる限りデータを圧縮する。そのやり方は、以下に述べるようなフローにより処理を行うものをここでは採用するが、本発明は、下記の特徴抽出とデータ圧縮方法に限定されるものではない。
【0019】
ちなみに、生データには、図4に示すように、手書きストロークの前後には余計な短いベクトル(「ひげ」と呼ぶ)がついていることが多く、学習・認識の妨げになるので、除去する必要がある。
【0020】
まず、
【数2】
とおき、その点がペンアップの点であるか、ペンダウンの点であるかに応じて、異なる処理を施す。
【0021】
[特徴抽出とデータ圧縮のためのフロー]
ペンダウンのとき
t1からt D-1 の時点まで、ペンがタブレットに接触しているあるストローク内の点を表すペンダウンの状態にあったとすると、
p(t0)=p(t1)=p(t2)=p(t3)=・・・=p(tD-1)=0
であり、t D においては、ストロークの終点であるので、上述の定義によりペンアップの状態となり、p(t D )=1 である。このような場合、もし1ストローク内のデータ点の数Dが3未満(D<3)であれば、データの圧縮は行わない。Dが3以上であるときは、以下の処理を行う。
【0022】
この処理において、θ* はベクトル圧縮のための角度のしきい値であり、以下に検討するベクトルの角度がこの値より小さければベクトルを結合する。l* は、「ひげ」の除去のための長さのしきい値で、ベクトルの長さがこの値より小さいときは、ひげであると見なす。θ* とl* の値は、経験的に選択することができるものであり、以下の各式において異なる値を採用することも可能であるが、共通の値にする方が簡明であろう。
ステップ1
3個のデータx(t0), x(t1), x(t2) を選択する。これらの3点は、得られた筆跡データのうちの連続した点である。もし連続してペンダウンの状態にある1ストローク中に3点以上の連続したデータ点がない場合には、データ圧縮の操作は行わない。この図1に示される3点の座標データから、次式
【数3】
に従って、角度△θi を求める。図1の場合には、Δθ1 とΔθ2 の2個が得られる。つまり、図1に示すように、Δθi は、x(t2)-x(t0) を基準としたときの、x(t2)-x(t0) とx(t i )-x(t i-1)のなす角度である。
【0023】
もし、i=1 または2 について、
【数4】
であれば、ステップ2へゆく。ここで、θ* とl* は、経験的に選ぶことができる正のしきい値である。そうでなければ、角度差と線の長さが比較的大きいと判断されるので、特徴のある部分であるものとして、x(t0) とx(t1) を特徴点とし、さらにx(t0):=x(t1)として、すなわち、処理すべき3点を1点だけ先へ進めて、ステップ1へと戻る。このしきい値θ* は、数度から90度程度の範囲で選択でき、データ圧縮率と認識率のかねあいから選ばれるものである。その目安としては、漢字では、45度程度でも十分な認識率が得られる一方、ひらがな等ではこれより小さい値、例えば10数度程度が望ましいことがわかっている。また、l* の値は、特に限定されないが、一文字が縦横240×240の要素の枠内に書き込まれたとして、通常、15程度以下、4以上の範囲で選ぶことができる。
【0024】
ステップ2
x(t0),・・・, x(t3) の4個の隣接する点のデータに対して、
【数5】
とおく。これは、数3の式と同様に、x(t3)-x(t0) を基準として、x(t3)-x(t0) とx(t i )-x(t i-1)の角度を表すものである(図2参照)。もし、i=1,2,3 のすべてのiの値について、
【数6】
であれば、ステップ3へ、そうでなければ圧縮データを(x(t0),x(t2) )で定義し、x(t1) は捨てる。そして、x(t0):=x(t2)としてステップ1へゆく。
続くステップへゆく場合には、このような作業を点の数を一つづつ増やして繰り返すが、一般的にステップkにおいては、次のような操作を行う。
【0025】
ステップk
k+2 個のデータx(t k+1), …, x(t0) に対して、
【数7】
を定義する。角度は、x(t k+1)-x(t0)を基準とする。もし、i=1,…,k+1すべての値について、
【数8】
であれば、ステップk+1へ、そうでなければ、(x(t0),x(t k+1))を圧縮データとする。つまり、x(t1),…,x(tk ) はすべて捨て去る。
【0026】
たとえば、ステップ1において、「ひげ」となるような短くて角度のついたx(
t2)-x(t1) が、絶対値が比較的大きなx(t1)-x(t0) の後に続いているとすると、
|Δθ2 |>θ* ,|x(t2)-x(t1) |<l * ,|Δθ1 |<θ* ,|x(t1)-x(t0) |>l * となり、ステップ2へと進むことになる。|Δθ2 |が小さい場合も同様である。その結果、その後の処理がどのようなものになっても、少なくと もx(t1) のデータは捨て去られることとなる。また、もし、x(t2)-x(t1) が比較的長さが大きく、x(t1)-x(t0) の長さも大きく、相対的な角度も大きいとすると
、|Δθ2 |>θ* ,|x(t2) -x(t1)|>l * ,|Δθ1 |>θ* ,|x(t1) -x(t0)|>l * となり、データ圧縮することなく、次のデータセットへとステップ1の処理が進められる。
【0027】
このような操作を、入力されたストロークの座標点数Dに達するまで繰り返して、データ圧縮及び特徴抽出の処理が終了する。
【0028】
ペンアップのとき
ペンアップのとき入力用のタブレットなどから入力されるp(t)の情報は、たとえば、t i-1 ≦t ≦t i の期間はペンアップの状態(p(t)=0)にあり、t<t i-1, ti <tでは、ペンダウン(p(t)=1)である。このとき、t i-1<t<t i の期間ではペンの位置情報が得られず、x(t i-1)とx(t i ) のみが得られる。したがって、この場合には、データ圧縮を行わない。
【0029】
ここで、以上の処理を行った結果残った点を「特徴点」と呼ぶ。上述のように、漢字の場合は、θ* =45 °程度であるならば、認識率を犠牲にすることなくデータを圧縮することができる。得られた特徴点から、生データよりも美しい字が得られることもある。そのような例を、「木」という漢字を例にとって、図4(a)と図5に示す。図4(a)がタブレットに入力された手書きデータであり、図5がデータ圧縮の処理を行った後のデータを示す。
【0030】
[量子化]
前処理としてのデータ圧縮を行ったデータを、改めて
【数9】
とし、このデータのペンアップとペンダウン、角度、そして長さの情報を次のように量子化する。時間t i は時間のインデクスであるt(1,2, …,M)で置き換えられる。まず、ペンのアップとダウンに応じて、
【数10】
を定義し、また、x(t)から得られる角度情報
【数11】
を、角度の大きさにおいて均等に分割したLM 個の角度範囲(図6参照)のどこにはいるかにより、量子化あるいはシンボル化して、
【数12】
とする。図6と後に述べる数値実験では、LM =16であるが、LM は特定の数値に限定されるものではない。データのもつ長さ情報は、量子化されたデータセット(v1k, v2l ) の繰り返しで表現することができる。繰り返しの回数はベクトルの長さをlとすると、ある定数l0を基準として、(1/l0)+ lの小数部を切り捨てた値で表される。これにより、例えば、上記のフローにより圧縮された図5の「木」という字は、l0を適当に定めると、次のような記号列に変換される。
【数13】
ここでのtは、上記のtとは異なるものとなるが、時系列的なインデクスであることには変わりはないので、そのまま用いる。tは1からTまでの整数であるものとする。なお、上記の定数l0は、例えば、240×240要素の文字入力範囲を用いたとき、40から120程度の広い範囲から、経験的に選ぶことができることがわかっている。
【0031】
[隠れマルコフモデル]
次に、モデル化に用いる隠れマルコフモデル(hidden Markov Model; HMMと略す) は、二重確率的モデルとして知られているパラダイムであるが、混乱などを避けるため、その概要を略説するとともに、記号の定義を整理して示す(隠れマルコフモデルについては、Rabiner, L.R., Proceedings of the IEEE, Vol. 77, No. 2, February, 1989を参照)。後に述べる認識フェーズにおけるオンライン手書き文字での特殊性を考慮する際にも明確な記述が必要になる。
【0032】
隠れマルコフモデルは、次のような要素により特徴付けられる。
まず、あるモデルにある状態の数をNとする。ここでの状態とは、一般に隠されたものであるが、以下に説明するように、ある特定の物理的な意味を付与することができるものである。ここでは、個々の状態をq1,q2,…,qN と表す。ある時点の状態Q(t) は、q1,q2,…,qN のいずれかの状態にあることになる。
【0033】
また、上記の状態一つ当たりの観察可能な値(場合によってはシンボルともいう)の数をMと表す。この観察可能な値は、モデル化されるシステムの物理的な出力を表すものである。個々の値は、v1,v2,…,vM と表すことができる(この値の集合をV={v1,v2,…,vM }とする)。たとえば、統計学での古典的な例であるコイン・トスの例を考えると、「表」と「裏」という観察可能な状態がここでいう値v1とv2に対応することとなる。
【0034】
そして、これらの状態間の遷移確率a ijを考える。ある状態から全ての状態に遷移できるとすると、この遷移確率a ijは全てのiとjについて正の値をとることとなるが、以下に説明するように、必要なモデル化の方法により、遷移確率を特定のiとjについてゼロに設定しても、実用的な問題を生じないことが多い。
【0035】
さらに、ある状態q i から観察可能な値vh への出力確率、言い換えれば、ある状態における観察可能な値の確率分布を、出力確率b ihとする。
【0036】
そして、初期状態の分布πを考える。これは、起点となる時点での状態q1,q2,…,qN の空間における確率分布で表される(π=Q(1) ={π1,π2,… ,πN })。
【0037】
このように、N,M,a ij, b ih, πが与えられれば、ある観察可能な符号列としてのO=O1 O2 O3 …OT (ここで、各Oi (i=1,2,...,T) は、値Vの一つであり、Tは一連の観察の回数を表す)を得るための生成方法として、隠れマルコフモデル(HMM)を用いることができる。逆に言えば、N,M,aij, b ih, πがHMMであるということができる。
【0038】
このようなHMMを現実の応用例に適用するためには、一般に次のような三つの基本的な問題を解く必要がある。
【0039】
[問題1]
観察された符号列O=O1 O2 O3 …OT とHMMが与えられたとして、その符号列が得られる確率をどのようにして効率的に計算するか。
【0040】
[問題2]
観察された符号列O=O1 O2 O3 …OT とHMMが与えられたとして、どの
ようにしてある意味のあるやり方で最適な対応する状態列q1q2q3…q T を選べばよいのか、言い換えれば、観察の結果をどのような状態列を選べば最もよく説明できるのか。
【0041】
[問題3]
上記の符号列を得る確率を最大にするモデルパラメータaij,bih,πの値をどのように調整するのか。
【0042】
上記の問題1は、評価の問題である。あるモデルと観察された結果が与えられているとして、そのモデルによってその観察結果が生成される確率をどのように計算するかという問題である。見方を変えて見れば、ある観察結果が与えられたときに、あるモデルがどれほど上手くマッチするかということを数値により評価する問題と見ることもできる。つまり、ある観察結果が与えられたときに、それに最もよく適合するモデルを選ぶことができる。文字認識においては、認識フェーズともいわれる部分である。
【0043】
問題2は、モデルの隠された部分、すなわち「正しい」状態列を見いだそうとすることである。ただし、一般的には、「正しい」状態列といったものはなく、実際上、ある最適化条件を用いて、可能な限り上手くこの問題を解こうとする程度のことしかできない。そして、最適化条件は、モデルの対象となる事象(本発明では、手書き文字入力情報)の構造に依存することとなる。
【0044】
問題3は、どのようにして与えられた観察結果が得られたかを上手く記述するためのモデルパラメータを最適化する問題である。これは、「学習」の問題であり、学習フェーズともいわれる。この問題を解くことにより、現実の事象に最もよく適合するモデルを作成する、つまり、観察された学習データにモデルパラメータを最適に合わせることができる。
【0045】
手書き文字認識の方法を得るためには、各文字に対するHMMを作成する必要がある。それには、まず、各文字モデルのパラメータ値を見積もって、上記問題3を解決する必要がある。また、モデルにおいて用いる状態の物理的な意味を理解しつつ、学習用に用いる入力された筆跡を区分けして、ある状態列に対応させる必要がある。これは、問題2を解いて、状態の数、HMM作成前の前処理の方法、その他のモデル化の詳細を調整して、モデルをよりよいものとすることにほかならない。最後に、各文字に対応して作成されたモデルを用いて、上記の問題1を解くことにより、文字の認識、すなわち最も尤もらしいモデルの評価を行う。
【0046】
上に略説したHMMの考え方が、本発明の手書き文字認識方法においてどのように適用されるのかを見る。
【0047】
上で定義された(v1k, v2l ), k=1,2, l=1,2,…,LM は、上記の一般的な説明における観察可能な符号v1に対応するベクトル量として考えられる。この観察結果である、ある文字の隠れマルコフモデル
【数14】
は、次の諸量で定義される。
【0048】
状態Q(t)
【数15】
とその遷移確率
【数16】
状態の初期確率分布
【数17】
出力確率
【数18】
【0049】
これらの隠された(観察されない)状態Q(t) と出力確率の存在を考えることが隠れマルコフモデル(HMM)を単なるマルコフモデルに対して特徴付けるものである。すなわち、ある時点tでの隠された状態Q(t) は、状態q1,q2,…,qN のいずれか一つの状態にある。これらの状態は、HMMで表現しようとするシステム(ここでは、文字またはその部分あるいは図形)に対して適切に選ぶことができる。後ほどより具体的に説明するが、ここではこれらの状態は、一般的に存在する状態を表すものとして考える。
【0050】
そしてQ(t) がある状態q i にあるとき、この状態qiから観察可能な状態V1(t) を表す数値v1k へと遷移する確率がb1 ikである。これに対し、遷移確率a ijは、状態jから状態iへの遷移確率を示すもので、ここでは隠された状態に対するものとして与えられているが、その意味するところは、普通のマルコフモデルにおける遷移確率と同じである。
【0051】
実際に入力された文字またはその一部を表す数値列(上述の符号列に対応する)
【数19】
に対して、すでに記憶されているテンプレートとなる文字
【数20】
が与えられたとすると、この文字に対する
【数21】
の結合確率は、次の式で与えられる。
【数22】
この式が隠れマルコフモデルを定義するものとも言えるもので、本発明における文字の学習と認識の出発点となるものである。
【0052】
学習とは、入力されたデータに基づく、
【数23】
といったパラメータとNの決定である。そして、認識とは、学習されたパラメータからなるHMMに基づき、しかるべき基準で、入力され前処理されたデータO(t) がどの文字から発生したものであるのかを決定することである。
【0053】
一般に、あるパラダイムが具体的問題に対してそのまま有効に働くことはまれである。本発明の場合もその例外ではなく、与えられた問題に固有な拘束条件を工夫することによって、よい結果になりうる。まず、例として隠れマルコフモデル自体に次の拘束条件を付けるが、本発明は、この拘束条件に限定されるものではなく、種々の異なる拘束条件の付け方が可能である。例としてここで用いる拘束条件は、
【数24】
とするものである。これは、 aij の行列を次の形に拘束することを意味する。
【数25】
さらに、
π=(1,0,・・・,0)
とする。すなわち、初期状態Q(1) は、常にq1である。上記のように遷移確率を拘束することは、インデクスが2以上小さいか大きい状態からの遷移確率をゼロとし、インデクスが一つ上の状態に移る可能性がゼロではないものと仮定することになる。このように仮定することにより、前処理済みのデータO(t) の時間に関する因果性と連続性を保つことができる。若干異なるが、類似の拘束条件として、i<j のときa ij=0として、それ以外ではa ijが正の値をとることとするものも考えることができる。さらに、i<j, i>j+ Δで、a ij=0という条件も可能である(ここで、Δは正の整数である)。また、初期状態をq1に拘束することは、学習に関して下記に説明する、状態と観察された数値列の「対応付け」から明らかとなる。
【0054】
[文字認識]
以下、オンライン手書き文字認識であることの特殊性を考慮した認識と学習の方法を説明する。隠れマルコフモデルにおける認識と学習は表裏一体の関係にあるが、ここでは、まず認識について説明する。
【0055】
まず、後に述べる学習によって、認識すべき各文字に対する隠れマルコフモデル(HMM)
【数26】
を少なくとも一つ用意する。
【0056】
そして、各HMMに対して、与えられ、ある予備的な処理を行った観測値O(t) (予備的な処理については下記)の確率(蓋然性)を計算する。そして、最も高い確率値を与えるHMMをもっとも確からしい文字と判断する。これは、上述の隠れマルコフモデルの基本的な問題1に該当する。すなわち、ある観測値列O=O(1) O(2) O(3) …O(T) とHMMが与えられたとして、その観測値列が得られる確率を効率的に計算するという課題である。
【0057】
効率的な計算のために、まず、αi (t) を次のように定義する。
【数27】
【0058】
これは、あるHMMが与えられたとして、時刻tまでのO(1),O(2),・・・, O(t) の部分的な観測値列が得られ、時刻tにQ(t) となる確率を意味する。このαi (t) は、次のようにして解くことができる。
【0059】
(1)開始ステップ
αi (1) =πi b i ( O(1)) i=1,…,N
(2)誘導ステップ
【数28】
(3)終了ステップ
【数29】
【0060】
まず、開始ステップにおいて、状態q i と初期観測値O1 との結合確率として、前進方向確率の初期化を行う。ここでb i (O(1))は、O(1) への出力確率である。次いで、誘導ステップにおいて、時刻tにおけるN個の可能な状態q i (1≦i ≦N)から、どのようにして時刻t+1 において状態q j に到達できるかを考えるのである。すなわち、αi (t) がO(1),O(2),...,O(t) という観測値が得られ、時刻tでの状態q i を経由して時刻t+1 に状態q j に到達する結合確率は、αi (t)ajiとなる。可能なN個の状態q i の全てについて、時刻tにおけるこの積の和をとると、それに伴うそれ以前の全ての部分的な観測値を含む、時刻t+1 におけるq j の確率を得ることができる。これにより、q j の確率が分かれば、状態q j におけるO(t+1) を考慮に入れることで、すなわち、b j (t+1) の出力確率を上記の和に掛けてやることで、αj (t+1) が得られることは、容易に看取できる。誘導ステップの計算は、与えられた時刻tについて、状態を示すインデクスj(1≦j≦N)の全ての値に関して行われる。これをt=1,2,…,T-1について繰り返す。最後に、終了ステップにおいて、あるHMMのもとで観測値列O=O(1),O(2),...,O(T) が得られる確率が、αj (T) の単なる和として求められる。
【0061】
以上が、HMMと観測値列が与えられたときに、その確率を計算する一般的な方法である。ある観測値列、すなわちある入力された筆跡データに対して、尤も高い確率値を与えるHMMに対応する文字が、文字認識の回答となるべきものである。この計算の結果が数22に対応するものである。ところが、本発明方法においては、上記の終了ステップで行われたような qi N t=1 に関する完全な周辺化は行わず、次式で表される確率が最大となるHMMを最も確からしい文字に対するHMMを考える。従って、上記の数29における和をとる終了ステップは行われないこととなる。
【0062】
【数30】
ここで、arg max は、最大値をとるHMMのインデクスを算出することを意味する。
【0063】
ここでは、上述のように、すべての隠された状態 q i N t=1 に関する完全な周辺化は行わず、Q(T)=qN という拘束条件が付いている。もし完全な周辺化を行ったならば、Q(T) は、上記の式には残らないはずである。いいかえれば、時刻TにおけるQ(t) をHMMの最終的な状態であるq N に強制的に固定して、確率を計算する。このような拘束条件を付ける理由を以下に説明する。
【0064】
例えば、漢字「口」と「品」を考える。いま、ペン入力をする筆者は、「口」をタブレットなどの入力装置に記入する。この入力情報に対応する記号列
【数31】
が得られる。ところが、「口」は「品」の部分集合であるので、「品」のHMMである
【数32】
に対しては、
【数33】
というP(i) の中には、少なくとも一つはかなり大きな値を有するものが含まれていることが多い。すなわち、ある一つ以上のiの値においては、P(i) の値がかなり大きくなりうる。従って、次式により周辺化した結果、かなり大きな値が得られる可能性があり、これは誤認につながるので、避けなければならない。
【数34】
【0065】
そのため、最終状態の時点TでのQ(T) をqi として、異なるiの値についての和をとるのではなく、「品」という漢字に対するHMMのqN に拘束してしまうものである。これにより、上記のような誤認を激減させることができる。同様の理由から、「一」と「二」と「三」、「木」と「林」と「森」などの間での誤認を防ぐことができる。
【0066】
次に、HMMにおける学習について説明する。ここで留意されるべきであるのは、よく知られたHMMの学習法であるBaum-Welch法は、与えられた学習データ{O(t) }に対して、周辺尤度
【数35】
のグラディエントを幾つかのパラメータに関して計算し、「山登り」を行って最大化する方法である。パラメータ空間内のある点から出発して、この周辺尤度があるパラメータに関して凸になっている保証はない。従って、局所最適解の問題は深刻であり、加えて、収束するまでに多大の計算を要するという問題がある。これは、例えば、教育漢字の881程度の文字数で、学習セットが数十という場合であっても、膨大な時間を要するので、実用的ではない。以下に説明する本発明のある実施態様に係る方法では、Baum-Welch法におけるような反復計算は必要としない。
【0067】
本発明の実施態様において、いま、ある一つの漢字について、学習データがCセット与えられたと考える。すなわち、第c番目の学習データを Oc (t) Tc t=1 としたとき、cの値が1からCまであるとすると、データセットは、
【数36】
と表すことができる。このデータセットの内、まず第1セットについて、下記のような処理を行う。
【0068】
[ステップ1:第1データセットに基づく遷移確率の算出]
第1データセット
【数37】
に対して、
(i) V1(t)の値が変化する時刻、すなわち、ペンのアップまたはダウンの状態が変化するとき、及び、
(ii)予め与えられた正のしきい値であるθ0 に対して、V2(t)の表す角度の変化がそのしきい値以上になるとき、
の各時点毎に、「区切り」を入れ、ある区切りと次の区切りの間を一つの状態と考えて、状態q i を対応させる。
あるいは、上記しきい値θ0 は考慮せずに、V1(t)の値が変化する時刻、すなわち、ペンのアップまたはダウンの状態が変化する時点毎に「区切り」を入れるようにすることも、同様にできる。
【0069】
例えば、上記の「木」という入力文字に対して得られたO(t) については、
【数38】
となる。つまり縦の線がここで加えた「区切り」を表す。従って、画数Kを有する入力文字情報を表す{O(t) }を学習させるHMMは、少なくとも2K−1個の状態を持ち、さらに、上記のようにデータ圧縮した筆跡の角度の変化が前記しきい値θ0 を越える度に状態数が増加する。このしきい値θ0 は、量子化の角度幅以上で120度以内の広い範囲で、経験的に求めることができる。なお、ここでの「画数」とは、通常の国語辞典や漢字辞典などにおいて採用されている正式な画数と、手書き文字における手書き入力の際の画数のいずれをも広く意味するものである。
【0070】
このように、「区切り」を入れて、ペンのアップまたはダウンがあったときのみならず、筆跡の角度が大きく変化した場合に状態を加えるのは、続け字を認識するために、一筆で書かれていても曲がりの大きいものは分割して学習と認識の対象としようとするためである。例えば、図4(b)に示すような手書きの「木」の字の場合、右上の手書きで連続している部分があるため、数38ではq1 及びq2 の二つの状態に対応していた横の棒と縦の棒が同じ状態q1 に対応する(つまり、数38の第4,第5の要素である(2,11)と(2,11)がペンダウンを示す(1,11)と(1,11)なってしまう)など、文字の構造を全く反映しないモデルになってしまうため、数39のように区切る必要が生じる。
【数39】
そして、現実にはペンダウンの状態にあるが、文字の形態の上からはアップ状態に対応しているq2 からも(さらに同様にアップ状態に対応しているq4 とq6 からも)、ある程度の確率でダウン状態を出力できるように、パラメータを調節する(以下に述べるスムージング手続)ので、数38を登録したHMMが、図4(b)に示した文字に対応する数39の観測値列を出力する確率P(O2 |H)を最大にする状態遷移Qを、後に詳細に説明するやり方で求める。
【0071】
次に、上記のHMMの一般的な説明において定義した状態の遷移確率a ijと状態の初期確率分布πを決定する。
上のステップで得られた区切り付きの状態列において、各状態q i は幾つかの数値ペアを含んでいる。例えば、上記の例においては、q1は3個の数値ペアを、q3は5個の数値ペアを含んでいる。このような数値ペアの数をn(O1,q i )とおき、上述した状態の遷移確率a ijと状態の初期確率分布πを次のように定める。
【数40】
【0072】
ここで、a ijを上記のように定めたのは、ある学習データO1(t)にある、q i に対応する数値ペアの数がn(O1,q i )であるので、数25の式で規定した拘束条件のもとで、q j からq i (i=j またはi=j+1 )への転移が特定の状態の性質に依存せずに、数値ペアの数に単純に比例して起こるとしたものである。
【0073】
上記のように初期状態分布πを定めたのも、必ず状態q1から出発するという状態の定義から明らかである。
【0074】
また、ここで指摘しておきたいのは、O1(t)の第2成分であるV2(t)は角度情報のみであり、第1成分であるV1(t)はペンのオンオフに関する情報を表すだけであるが、この隠れマルコフモデルには長さの情報も含まれていることである。すなわち、{O1(t)}は、ある基準長をもとに導出されており、各状態q i における数値ペアの繰り返し回数n{O1,q i }に対応した長さ情報が含まれている。
【0075】
次に、出力確率の集合{b1 ik}と{b2 ik}の各要素の値を定義する必要があるが、状態q i に対応するn(O1,q i )個の数値ペアのうち、
V1(t)=v1kとなる個数をn(O1,q i,v1k )、
V2(t)=v2kとなる個数をn(O1,q i v2k )とし、
【数41】
とする。すなわち、全体の数値ペアの数に対して、特定のVikの値をとるものを数えて、その確率を出力確率とするものである。
【0076】
以上のようにa ij、π、b ijを定めることは、数36の拘束条件から自然であると考えられるが、このように定めなければならないという積極的な理由があるわけでもない。別の定義を採用することも可能である。
【0077】
[ステップ2:スムージング]
上記のようにして得られた{a ij 、{b1 ik}、{b2 ik}は、第1データ{O1(t)}のみから決定されているので、極端なオーバーフィット、すなわち、同一文字について、特定の筆跡のみを認識するが他の筆跡をうまく認識できない現象が起こるのが普通である。このオーバーフィットの問題は、ある一つの文字について数千といったオーダーの数の筆跡例のデータと、適当なアルゴリズムを用いれば自然に解消する可能性はありあるが、学習に要する時間を考えると筆跡例の数は、せいぜい数十程度が現実的であろう。したがって、ここでは、オーバーフィットを解消するために用いられるレギュラリゼーション(正則化)的な考え方を用いる。つまり、上記のようにして得られた{a ij 、{b1 ik}、{b2 ik}に対して、適当なスムージングと呼ばれる処理を行う。スムージングの目的は、数36の拘束条件の範囲内で、a ijや、b1 ik、b2 ikの値がゼロになることを防ぐことにある。それには、いくつかのやり方があるが、ここでは、もっとも簡略で代表的な例を以下に採用する。いうまでもないが、本発明の範囲はこの下記の例に限定されるものではない。かきのようなスムージングは、簡単に行える一方、後に見るようにきわめて有効である。
【0078】
スムージング手続きA
{a ij}と{b1 ik}を次の式により修正する。OLD が上記のもので、NEW がついているのがスムージングにより新たに定義されるものである。
【数42】
【0079】
スムージング手続きB
{b2 ik}を次の式により修正する。手続きAの場合と同様、OLD が上で求めたもので、NEW がついているのがスムージングにより新たに定義されるものである。
【数43】
ここで、w1nは、
【数44】
を満たすように選ばれる。
【0080】
上記の手続きAは、いわゆるフロアリングであり、数25の拘束条件の範囲内で、ゼロの値をとる要素を避けようとするものである。後に述べる実験では、caとcbは、0.7〜0.9の値で良好な結果が得られている。
また、上記の手続きBは、フロアリングに加えて、出力確率の高い方向に近い方向のベクトル(上記数値ペア)もある程度の確率で出力されるようにするための手続きである。w1nの選び方は、いくつか考えられる。以下に示す数値実験では、
【数45】
を用いた。g(l,n)は、v2l とv2n のなす角度であり(図6参照)、f( θ) は区間(-π,π のガウス分布にフロアリングとして(1- α)/2 πを加えて、規格化定数Z(α,σ)で割った値である。なお、LM は、上記のように、角度情報を量子化したときの両指数を示す値である。
【0081】
なお、αとσは、経験により適切に選ぶことができる値であり、それぞれ、0.7 ≦α≦0.9 、π/16≦σ≦π/6程度の範囲内で有効な結果が得られる。図7にf( θ) の概形を示す。
【0082】
[ステップ3:複数のデータセットに基づく学習]
これまでは、第1データに基づく隠れマルコフモデルの作成について述べてきたが、認識率を向上させるためには、複数のデータセットを用いて学習を行うことが望まれる。次に、第2以降のデータセット{Oc (t) },c=2,...,C に基づく学習法について述べる。ここで、C は、データ数を表す正の整数である。
【0083】
最尤状態遷移{Oc (t) }を求める。ある学習データセット{Oc (t) Tc t=1 のうちc=2,...,C のそれぞれの値の学習データについて、次式
【数46】
より、順にt=T c からt=1 へと、最尤状態遷移 Qc (t) Tc t=1 を求めることができる。すなわち、まず数46の第1式により、Qc (Tc ) が求まれば、それを第2式に代入して、順次、Q c (Tc-1), Q c (Tc-2),..., Q c (1) が求まる。そして、c=2,...,C のそれぞれのc の値について(すなわち、第2から第C番目のデータについて)、第1のデータの場合と同様にして、n( Oc ,qi ) 、n( Oc ,qi ,v1k) 、n( Oc ,qi ,v2l) を求めることができる。
【0084】
数46の式は、よく知られたViterbi アルゴリズムを用いて解くことができる。たとえば、
【数47】
というHMMがO={3,3,1,2,3}という観測値列を出力するときの最適状態推移は、
【数48】
より、Q(5)=q3
【数49】
より(A={aij},B={bij})、Q(4)=q3 というようにして、順次、Q={q1 ,q1 ,q2 ,q3 ,q3 }と求められる。
【0085】
上記のようにして得られた、第1データセットに基づく結果と、第2から第Cデータセットに基づいて求めた結果とをあわせて、次の式により、C個のデータについての平均を求めることができる。
【数50】
【0086】
[ステップ4:筆順違いなどのモデルの作成]
ここまでの学習では、
【数51】
の数は、認識のカテゴリ数に一致している。例えば、教育漢字881文字の認識を行う場合には、モデルの数も881個となる。しかし、学習データの中には同じ文字でも異なる筆順で書かれているものや、著しく変形したものなど、同一のモデルに学習させるのは不適当であるものが含まれている。
【0087】
同一文字に対して、例えば数十セットの学習データがあったとき、いくつ、どのようにしてHMMを作るかは大きな問題である。全データセットにおける筆順と変形を目でチェックして、別のHMMを作るべきか否かを決定するのは不可能に近い。従って、このような決定を自動的に行う方法の検討が必要である。
【0088】
以下に述べる方法は、各データの持つある種の統計量に基づく自動化された方法で、後に実証してみるように、有効である。
【0089】
この方法を説明するため、数30の式を思い起こし、
【数52】
に注目する。これは、認識評価基準(数30の式)の対数をとったものである。教育漢字881文字の典型的なデータセットに対して、数48の式をすべてのHMMに対して、T1 を横軸にとって、プロットしたのが図8である。
【0090】
正確には、各文字ごとに一つのデータセットであるので、
【数53】
などとすべきであるが、記号の煩雑さを避けるため、簡単に表した。注目すべきなのは、数52の式が、T1 に関して、ほぼ完全な直線に乗ることである。
【0091】
次に述べる手順では、数52をT1 で割ることにより規格化し、HMMとc=2,…,Cのそれぞれのcの値に対するデータセット{Oc (t) Tc t=1 }とについて、相対的な類似度とも呼べるものを計算し、それをもとに自動的に新しいHMMを作成するか否かを決定する。
【0092】
すなわち、ステップ1において第1データにより得られたHMM(隠れマルコフモデル)を
【数54】
とし、
【数55】
であるとき、ステップ1の手続きで新たなHMM
【数56】
を作ることとする。ここで、r thは経験的に求められる値である。また、分母のq N は、第1データセットに基づくものであって、第cデータセットによるものではないことに留意されたい。
【0093】
すなわち、数55により、分子中の
【数57】
のT1 に関する傾きと、分母中の
【数58】
のTc に関する傾きとを比べて、これがあるしきい値r th以上に異なる場合には、同一文字であっても類似度が低いと判断し、新しいHMMを作成する。
以上説明してきた方法は、Baum-Welchアルゴリズムに見られるような繰り返し計算を必要としないため、短時間で計算することができる。そのため、この方法は、高速HMM法と呼ぶことができる。
【0094】
[高速化]
上述した文字認識方法においては、
【数59】
の値を全てのHMMについて計算する。具体的には、
【数60】
とすると、
【数61】
が得られる。
【0095】
これをそのまま実行すると、
【数62】
の順に求まる。これには多くの無駄が含まれている。ここで提案した方法の拘束条件から、 t<iであるとき、αi (t)=0 であり、t>T-N+i となるとき、αi (t) はαN (T) に影響を与えない。
【0096】
従って、これらの場合は、αi (t) を計算する必要がない。また、t<i であるときαi (t)=0 であるので、T<N のとき、αN (T)=0 である。
【0097】
このような考察により、計算の量をさらに減少させ、より高速な文字認識が可能となる。この高速化は任意のものであるが、認識処理の時間を短縮するためには、望ましい。
【0098】
以上説明した文字認識と学習の各ステップの流れが、それぞれ、図9及び図10に示されている。図9には、文字認識フェーズの全体的な流れが記載されている。図10には、学習フェーズの全体的な流れが説明されている。
【0099】
【実施例】
[認識実験]
オンライン手書き文字データベース(農工大kuchibue-d-96-02)(中川正樹ら、「文章形式字体制限なしオンライン手書き文字パターン収集と利用」、信学技報、PRU 95-110, pp.43-48 (1995))を用いて認識実験を行った。図9に、用いた文字データのごく一部の例を示す。ここでは、教育漢字881文字のみを対象とした。
【0100】
学習データとしては、kuchibue-d-96-02のmdb0006 〜mdb0030 と別途用意した教育漢字データ6種類の合計31種類のデータセットを用いた。学習後に、評価データとしてkuchibue-d-96-02のmdb0001 〜mdb0005 の5種類を用いて、第1候補が正解である認識率と第3位候補までの中に正しい認識結果があったら正解とする認識率(第3位候補率)をそれぞれ計算した。
【0101】
その結果を実施例として表1に示す。
【表1】
【0102】
極めて高い認識率が得られていることがわかる。教育漢字881文字に対して、平均認識率は、89.3%であり、3位までの累積認識率は、95.3%となった。ここで、各パラメータの値は、θ* = 45度、240×240のスペースにおいてl* = 8であり。さらに、用いられたスムージング用パラメータの値は、c a =cb = 0.8であり、α= 0.9、σ= π/16であった。量子化のためのl0 は、60とした。角度の量子化は、LM =16にて行った。ここでは、区切りの付与のためのθ0 は考慮しなかった。すなわち、ペンアップダウンに対応した区切りのみで、角度変化に対応した区切りは入れなかった。また、r thの値は、0.8であった。
【0103】
このようなパラメータ値に対して、すでに報告されている特開平8−101889号公報に開示されている方法で、上記実施例と同じ文字データセットにより学習させ、同じ文字データセットを認識させた結果は、表1に比較例として示すように、平均認識率が86.99%、第3位までの累積認識率は92.59%となった。本発明方法では認識率が向上していることがわかる。
【0104】
これらの実施例と比較例において用いたプログラムは、CおよびC++により書かれたものであった。上記実施例のプログラムをペンティアム120MHzのDOS/Vマシンにおいて、MS−WINDOWS3.1上で走らせた結果、881文字の教育漢字(mdb0001)の認識を8分54秒で完了することができた。同じプログラムがWINDOWS95においては約3倍の速度で動くことがわかっているので、WINDOWS95上では、約3分で認識が完了するものと考えられる。これは、上述の高速化を行ったものである。これに対し、比較例による同様の文字認識は、WINDOWS95上で平均15分程度かかった。本願発明の方法は、従来技術による方法より認識速度が相当程度向上していることがわかる。したがって、本発明の方法は、より安価で、消費電力の少ないシステムにおいても稼働させることができる。
【0105】
【発明の効果】
上述のように、本願発明の方法によれば、これまで認識が困難であった続け字や筆順違いの文字の認識率が向上すると同時に、勾配の計算と山登りを反復して行って最尤状態を求める方法におけるような、膨大な計算量と局在最大値による結果の不安定性を避けることができる。また、認識速度が向上するので、より簡易なシステムにおいても、高速に文字認識を行うことができる。
【図面の簡単な説明】
【図1】三つのデータ点とΔθi (i=1,2) の定義を示す図である。
【図2】四つのデータ点とΔθi (i=1,2,3) の定義を示す図である。
【図3】図2と同様であるが、Δθ3 がしきい値θ* よりも大きい様子を示す図である。
【図4】「木」という字の手書き生データの例を示す。
【図5】図4の生データに前処理を施したデータを示す。
【図6】方向の量子化のパターンの例を示す。
【図7】数44のf(θ)の概形を示す。
【図8】logPの分布をTの関数として示す。
【図9】本発明の実施例による認識フェーズのフローチャートである。ここで、HMMは、「隠れマルコフモデル」を表す。
【図10】本発明の実施例による学習フェーズのフローチャートである。ここで、HMMは、「隠れマルコフモデル」を表す。
【図11】認識実験において用いた手書き文字データ(kuchibue-d-96-02)の例を示す。
Claims (8)
- 隠れマルコフモデルを用いた、手書き文字の筆跡の座標の移動と入力用ペンの入力装置表面に対するアップまたはダウンの状態を表す時系列データに基づくオンライン手書き文字認識方法であって、
与えられた時系列データから、その時系列データに含まれる隣り合うデータ点の間をつなぐ第1と第2の線分の間の角度または線分の長さが所定のしきい値以上であるか、未満であるかに基づいて、しきい値以上であれば、その第1の線分をつなぐデータ点を特徴点として抽出し、しきい値未満であればその線分をつなぐデータ点を特徴点としないことで、角度情報と距離情報とに基づいて特徴点を抽出して、該時系列データを圧縮する特徴点抽出・データ圧縮ステップと、
該特徴点を結ぶ隣り合う線のなす角度を量子化し、その線の長さを量子化された角度の繰り返しの数として表現した一次元のデータと、該ペンのアップまたはダウンとに応じた二値の一次元データとを含む二次元の時系列データを作成する量子化ステップと、
この時系列的なデータに、ペンアップとペンダウンの状態変化に基づいて、あるいはペンアップとペンダウンの状態変化および上記角度に関する所定の条件に基づいて区切りを入れて、区切りに挟まれたデータの1個の集まりを隠れマルコフモデルにおける1個の状態に対応させる対応ステップと、
この量子化され区切られた時系列的なデータについて、認識すべき文字に対応して予め求められた複数の隠れマルコフモデルのもとで、該データが得られる確率を計算する確率計算ステップと
を含み、
該確率が最大になる隠れマルコフモデルに対応する文字を最も確からしい文字とする文字認識方法。 - 隠れマルコフモデルにおけるN個の状態の間で状態jから状態iへの遷移確率aijをi=jとi=j+1以外の場合には、ゼロに拘束し、さらにaNNを1に拘束し、初期状態をqiに固定することを特徴とする請求項1に記載の文字認識方法。
- 学習フェーズにおいて、隠れマルコフモデルにおける状態間の遷移確率aijを、1に拘束するaNNを除いて、上記区切りに挟まれたデータの集まりのそれぞれにある上記量子化されたデータの記号列の数に基づいて得ることを特徴とする請求項2に記載の文字認識方法。
- 学習フェーズにおいて、上記区切りに挟まれたデータの集まりそれぞれにある上記量子化されたデータの記号列の数に基づいて、隠れマルコフモデルにおける各状態からの出力確率を得ることを特徴とする請求項2または3に記載の文字認識方法。
- 学習フェーズにおいて、限られた数のデータを学習に用いて生じる過度のオーバーフィットを避けるため、上記遷移確率及び出力確率に対してスムージング処理を行うことを特徴とする請求項1から4のいずれかに記載の文字認識方法。
- 認識フェーズにおいて、全ての状態に対する完全な周辺化は行わず、最終時刻における状態を隠れマルコフモデルの最後の状態に拘束して、隠れマルコフモデルに対するある時系列データの確率を計算することを特徴とする請求項1から5のいずれかに記載の文字認識方法。
- 学習フェーズにおいて、同一文字に対して複数セットの学習用データがあるとき、第1データセットにより作成した第1隠れマルコフモデルの第1データセットのデータに対する確率を、全ての状態に対する完全な周辺化は行わず最終時刻における状態を隠れマルコフモデルの最後の状態に拘束して計算し、該確率の対数値を該データ列の時間の最終値で除して、第1除算結果を得て、また、第1隠れマルコフモデルの第2データセットのデータに対する確率を、全ての状態に対する完全な周辺化は行わず最終時刻における状態を隠れマルコフモデルの最後の状態に拘束して計算し、該確率の対数値を該データ列の時間の最終値で除して第2除算結果を得て、ついで、第1除算結果を第2除算結果で除算して得られる値が、所定の正のしきい値より大きい場合に、該第2データセットのデータに基づいて、第2の隠れマルコフモデルを作成することを特徴とする請求項1から6のいずれかに記載の文字認識方法。
- 請求項1から7のいずれかに記載の文字認識方法を実施するためのコンピュータプログラムを記憶させた記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33067797A JP4180137B2 (ja) | 1996-11-29 | 1997-12-01 | オンライン手書き文字認識方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-319496 | 1996-11-29 | ||
JP31949696 | 1996-11-29 | ||
JP33067797A JP4180137B2 (ja) | 1996-11-29 | 1997-12-01 | オンライン手書き文字認識方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11242717A JPH11242717A (ja) | 1999-09-07 |
JP4180137B2 true JP4180137B2 (ja) | 2008-11-12 |
Family
ID=26569738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33067797A Expired - Fee Related JP4180137B2 (ja) | 1996-11-29 | 1997-12-01 | オンライン手書き文字認識方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4180137B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3609357B2 (ja) * | 2001-07-27 | 2005-01-12 | 株式会社東芝 | データ復元方法、データ復元装置、データ圧縮方法およびデータ圧縮装置 |
-
1997
- 1997-12-01 JP JP33067797A patent/JP4180137B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11242717A (ja) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6556712B1 (en) | Methods and apparatus for handwriting recognition | |
Tagougui et al. | Online Arabic handwriting recognition: a survey | |
EP0539749B1 (en) | Handwriting recognition system and method | |
Hu et al. | Writer independent on-line handwriting recognition using an HMM approach | |
Tang et al. | Text-independent writer identification via CNN features and joint Bayesian | |
AlKhateeb et al. | Offline handwritten Arabic cursive text recognition using Hidden Markov Models and re-ranking | |
US7227993B2 (en) | Learning-based system and process for synthesizing cursive handwriting | |
US20060050962A1 (en) | System, process and software arrangement for recognizing handwritten characters | |
US20080008387A1 (en) | Method and apparatus for recognition of handwritten symbols | |
US7903877B2 (en) | Radical-based HMM modeling for handwritten East Asian characters | |
Shaw et al. | Offline Handwritten Devanagari Word Recognition: A holistic approach based on directional chain code feature and HMM | |
WO1997044758A9 (en) | Methods and apparatuses for handwriting recognition | |
Mohiuddin et al. | Unconstrained Bangla online handwriting recognition based on MLP and SVM | |
Kasem et al. | Advancements and challenges in arabic optical character recognition: A comprehensive survey | |
Sundaram et al. | Bigram language models and reevaluation strategy for improved recognition of online handwritten Tamil words | |
JP4180137B2 (ja) | オンライン手書き文字認識方法 | |
Liwicki et al. | Feature selection for on-line handwriting recognition of whiteboard notes | |
Rodríguez-Serrano et al. | Handwritten word image retrieval with synthesized typed queries | |
JP3180792B2 (ja) | 文字認識装置、文字学習装置およびコンピュータ可読記録媒体 | |
Shah et al. | SnapSolve—A novel mathematics equation solver using deep learning | |
Christlein | Automatic writer identification in historical documents: A case study | |
Nguyen et al. | Preparation of an unconstrained vietnamese online handwriting database and recognition experiments by recurrent neural networks | |
JP3209197B2 (ja) | 文字認識装置及び文字認識プログラムを記録した記録媒体 | |
Senior et al. | O-line cursive handwriting recognition using recurrent neural networks | |
Hassan et al. | Handwritten text recognition using deep learning methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080707 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080729 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080827 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140905 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |