(57)【特許請求の範囲】
【請求項１】
オンラインの手書き文字を認識する手書き文字認識システムにおいて、
手書き文字が入力される入力手段と、
前記入力手段で入力されたデータを、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行う折線近似手段と、
前記折線近似手段で折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求め、前記折れ線の角頂点の外角系列を求め、前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外接角の和を、巻き角系列とする処理手段と、
前記処理手段で求められた各系列による大局的な特徴と、巻き角系列の各項の巻き角領域内における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と、予め用意された認識対象文字のテンプレイトとを比較して文字認識を行う認識手段とを備えたことを特徴とする
文字認識システム。
【請求項２】
請求の範囲第１項記載の文字認識システムにおいて、
前記巻き角系列で構成される曲線のループの前後で各項を前巻き角、後巻き角に分割して、認識処理を行うことを特徴とする
文字認識システム。
【請求項３】
請求の範囲第１項記載の文字認識システムにおいて、
前記認識対象文字のテンプレイトは、学習データから、各系列要素、各特徴の上限、下限の範囲を決めたデータであることを特徴とする
文字認識システム。
【請求項４】
請求の範囲第１項記載の文字認識システムにおいて、
前記折れ線近似表現として、折れ線の長さを要素とする値と、その全長で正規化した値と、始点，頂点，終点を要素とする座標系列を用い、端長比，中間長，中間最大長，長さの要素の分布，始点終点間距離の特徴を求めることを特徴とする
文字認識システム。
【請求項５】
請求の範囲第１項記載の文字認識システムにおいて、
ある定められた区間内の折れ線の加重平均角、外角系列の特徴又は境界項の値、始点終点間距離、始点・終点・特徴又は境界点間の距離の特徴を求めることを特徴とする
文字認識システム。
【請求項６】
請求の範囲第１項記載の文字認識システムにおいて、
各学習データから、巻き角系列の各項の巻き角領域内、巻き角領域間の特徴から構成される部分的多次元の特徴空間上で、識別平面を構成し、文字間の識別を行うことを特徴とする
文字認識システム。
【請求項７】
請求の範囲第１項記載の文字認識システムにおいて、
巻き角系列の各要素の外角系列と、それに相当する長さ系列から、長さ系列を一方の軸に取り、
他方の軸に外角系列の累積角をとり、線形補間を行うことによりグラフを構成し、その要素の始点からの距離の関数として、巻き角を、またその逆として、巻き角の関数として、距離を連続的に求める累積角特徴関数を構成して、大局的な曲がり具合の特徴を求めることを特徴とする
文字認識システム。
【請求項８】
請求の範囲第１項記載の文字認識システムにおいて、
複数個の画間の位置関係を、各画の代表折れ線または折れ線集合の延長線も含めた直線群同志の交点を求めることにより、定量的に求めることを特徴とする
文字認識システム。
【請求項９】
請求の範囲第４項記載の文字認識システムにおいて、
前記正規化した系列の内で、所定長以下の折線は無視することを特徴とする
文字認識システム。
【請求項１０】
請求の範囲第１項又は第７項記載の文字認識システムにおいて、
巻き角系列の各項の巻き角領域内で、前記折れ線角系列の、隣り合う折れ線角の変化のパターンまたは累積角特徴関数を利用し、対象文字を複数の区分に分解して、その区分または境界点の特徴を認識対象文字との比較に利用することを特徴とする
文字認識システム。
【請求項１１】
請求の範囲第１項記載の文字認識システムにおいて、
前記巻き角系列の各項で構成される曲線の巻き角の半分に対応する曲線上の点を中点として求め、その前後で各項内の曲線を分割し、各分割折れ線群から抽出される微妙な曲線の特徴を求め、認識精度を上げることを特徴とする
文字認識システム。
【請求項１２】
入力手段で入力されたオンラインの手書き文字を認識する手書き文字認識方法において、
前記入力手段で入力された手書き文字を、演算手段での演算により、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行い、前記折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求め、得られた折れ線の角頂点の外角系列を求め、前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外接角の和を、巻き角系列とし、
前記演算手段での演算により求められた各角による大局的な特徴と、巻き角系列に応じて分割された各曲線部分における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と、予め記憶手段に記憶されて用意された認識対象文字のテンプレイトとの比較を行った結果を、文字認識結果として出力手段から出力させることを特徴とする
文字認識方法。
【請求項１３】
コンピュータに実装して、入力手段で入力されたオンラインの手書き文字を認識する手書き文字認識プログラムにおいて、
コンピュータに、
前記入力手段で入力された手書き文字を、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行う第１の手順と、
前記折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求める第２の手順と、
得られた折れ線の角頂点の外角系列を求める第３の手順と、
前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外接角の和を、巻き角とする第４の手順と、
前記第１，第２，第３及び第４の手順を実行することにより求められた各系列による大局的な特徴と、巻き角系列の各項の巻き角領域内における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と、予め記憶手段に記憶されて用意された認識対象文字のテンプレイトとの比較を行った結果を、文字認識結果として出力手段から出力させる第５の手順と、
を実行させることを特徴とする文字認識プログラム。
【請求項１４】
請求項１３に記載された文字認識プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライン手書き文字認識を行う手書き文字認識方法及び手書き文字認識システム、並びにその認識方法を実現する手書き文字認識プログラム、さらにそのプログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
今までに多数の文字認識システムが提案され、実用化さているが、その基本原理には二つの立場があり、一つは構造解析の立場、もう一つはパターンマッチングの立場であり、前者は一般にはその認識システムは軽く、したがって、入力制限の強い場合、即ち、画数、筆順一定、または、どちらかを一定にした対象に適応され、他方後者は両者、画数、筆順を自由にした場合かそれに近い場合に適用されてきた。
【０００３】
構造解析の立場としては、電子通信学会論文誌，５６−Ｄ，5，ｐｐ．３１２−３１９，“手書き数字・片仮名文字のオンライン実時間認識”や日本国特許庁発行の特開昭５９−１３１９７２号公報にあるように、基本ストローク方式と呼ばれているものがあり、ストロークを単純ストローク（４種）、複合ストローク（７種）に分類し、識別オートマトンにより認識するものであり、簡単ではあるが、辞書の作成、続け字や、略字に対処するのに問題があり、その発展性に問題があるとされてきた。
【０００４】
パターンマッチング法は大きく分けて２種類の方法がある。一つは、電子情報通信学会論文誌，J６３−Ｄ，２，ｐｐ．１５３−１６０，“ストロークの点近似による手書き文字のオンライン認識”にあるように、ストロークを少数の点で近似しそれらを特徴点として、また端点での筆の運動方向を推定し、それらも特焦点とし、特徴ベクトルを構成する。辞書はストロークに分解され、それらが同様に特徴ベクトルをもち、入力ベクトルと各カテゴリー毎に用意された特徴ベクトルとの対応をとり、対応がとれた辞書について距離が計算され、最小の距離を与える辞書名が認識された文字名であり、基本的に筆順，画数に対し自由である。
【０００５】
もう一つのパターンマッチング法があり、特徴点の対応方式の原論文として、電子通信学会研究会論文ＰＲＬ７４−２０）に記載された“Ｒｕｂｂｅｒ  Ｓｔｒｉｎｇ  Ｍａｔｃｈｉｎｇ法による手書き文字認識”があり、また日本国特許庁発行の特開昭５７−４５６７９号公報及び特開平８−２４９４２号公報に在る如く、入力文字と辞書の特徴点ベクトルをＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）方式により対応をとるものであり、これが手書き文字のオンライン認識の主流をなしている。
【０００６】
なお、最近はオフラインの文字認識技術をオンラインに適用されるようになってきた。
それは、今まで蓄積されてきたＯＣＲ技術があり、これはオンライン文字認識にも使える。
この立場から、ＯＣＲ技術を見ると、主流は方向特徴マッチングである。これについては膨大な文献があるが、基本的考え手法は、例えば原論文として、［電子情報通信学会論文誌，J６２−Ｄ，３，ｐｐ．２１７−２２４，“文字認識のための相関法の一改良”］にある。この方法と構造解析の方法と根本的に異なる点は、特徴は一般にｎ×ｍの格子平面に割り付けられ、この平面上の特徴分布が最終の入力文字の表現とし、ｎ×ｍを例えば左隅から右に走査し、ｎ×ｍ次元のベクトルとする。識別は標準方向特徴ベクトルと入力文字方向特徴ベクトルとの内積（類似度）を計算し、その値の最も高い標準方向特徴ベクトルのカテゴリ名を答えとするものである。この際、特に変形の著しい手書き文字では、高度な非線形正規化の前処理が行われる。これが必要なのは、この方法がｎ×ｍの格子平面を基本的枠組みにしているからである。この手法の利点は一般にはベクトル空間、特に内積の定義されているヒルベルト空間論が適用されうるので、高度な識別理論が援用されることである。また実用的に言えばノイズに強い。しかし、せっかくのオンラインの最大の利点、セグメンテーションの容易さを殺している。オンラインでは、例えば同じ場所に何個も文字を書いても機械は認識できるようにすることが可能である。また、本当に著しい変形に対しては高度な非線形正規化といえども不十分であるし、例えば回転変形には、相当に高度で、かなりの計算量の正規化が必要である。［Ｓ．Ｍｏｒｉ，Ｈ．  Ｎｉｓｈｉｄａ，Ｈ．Ｙａｍａｄａ，Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ，Ｗｉｌｅｙ］の第3章に詳しい記述がある。
さて上の特徴として、例えば曲率をとることも可能である。この観点から、［電子情報通信学会論文誌，Ｊ６２−Ｄ，３，ｐｐ．２１７−２２４，“文字認識のための相関法の一改良”］で
は特に筆記体の「ｇ」、「ｙ」、それにアラビア数字「９」が手書き文字では間違い易いということから、回転特徴と名づけて、湾曲部の接線角度差を求め、適当な量子化を行い、文字を従来の方向特徴ベクトルと局所的な回転特徴ベクトルで表現し、それらをまとめた全特徴ベクトルを求め、ぼかし処理を行う（これは実際には格子平面上で行う）。それぞれのカテゴリにつきぼかし全特徴標準ベクトルを求め、類似度計算を行い、答えを出す方法が提案されている。ところで、構造解析の立場では、筆記体の「ｇ」、「ｙ」と、アラビア数字「９」とはかなり異なる。それは上部の構造を陽に見ているからである。しかし、特徴マッチングでは、内積の過程で混ぜ合わされて一個のスカラー量にしてしまうので、上部構造は陰に見ることになり、三文字とも強度の直線構造があることから、この直線に埋没されてしまう。それでわざわざ、局所特徴面を用意したのである。しかし、後で述べるように、われわれの方法では、上で回転特徴と言われるものが、局所的ではなく、大域的に求められ、一貫した形で、自然に容易に表現される。したがって、上の３種の文字は非常に簡単に認識可能である。
【０００７】
図形，物流システムに置かれた物体，軍事では飛行機など、回転に不変な認識システムは広範囲の対象に対し要求されている。
したがって、昔から研究は行われ、多くの論文が現在もなお発表されている。１９９０年までの研究については、森 俊二，坂倉 栂子共著の画像認識の基礎（II））に詳しく述べられており、また１９９９年までの研究は、Ｓ．Ｍｏｒｉ，Ｈ．Ｎｉｓｈｉｄａ，Ｈ．Ｙａｍａｄａ著Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎに詳しい記述があり、この研究の主流はモーメント法であり、高次のモーメントを位相角が相殺するように組み合わせるものであり、またフーリエ記述子なる名前で呼ばれているフーリエ変換法の応用があり、これは最近のPCが非常に高速になったことを反映して、研究自体は盛んになっているものの、実用としてはいまだ市場に現れていないが、一方この流れとは別に、情報処理学会論文誌第２７巻第５号：１９８６年５月，“画数，筆順，回転，区切りによらないオンライン手書き図形認識方式”にあるように対象を直線線分，弧の系列で近似し、それらの相対的角度変化で表現し、辞書の同様な表現との対象（入力図形）対応をとり、それぞれの角度変化の差の絶対値の和でお互いの距離を測って回転不変な方式としているが、鋭角の検出に弱いという欠点が論文自体の中で述べられている。
【０００８】
いわゆるマッチング方式は文字の置かれた、二次元平面上の特徴（例えばストロークの方向）マッチングである。またオンライン手書き文字認識ではいわゆるＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチング、別名弾性ストリングマッチングである。前者においては、二次元上の特徴の分布を、ベクトル表現し、文字間の距離をこれらベクトルの内積として定義し、内積の定義された、ベクトル空間上の識別問題として、統計的手法で文字認識を行う。後者では、単純な重ね合わせのマッチングを拡張し、入力文字が標準文字に対し適応的、柔軟に、マッチングさせることにより文字認識を行うものである。
【０００９】
このような手法に対し、一般には構造解析的手法と呼ばれる文字認識法が研究されてきた。これは一般図形に対しても適用可能で、良い方法であるが、対象の、具体的には文字ストロークの記号化を必要とし、シンボルによるマッチングがなされてきた。しかし、このシンボル化するところに問題があり、シンボル化で柔軟性を失い、また設計が機械的に行かず、研究，開発が行き詰まっている。例えば上述した［電子通信学会論文誌，５６−Ｄ，５，ｐｐ．３１２−３１９，“手書き数字・片仮名文字のオンライン実時間認識”］が発表されたのは古く１９７３年である。この段階で、オンライン文字の右回り左回りが特徴として使用されているが、これらの系列は全てシンボル化されている。これらは入力パターンのX-座標値の増減で検出され、１１個のシンボルで、表現されている。このようなシンボル表現は柔軟性にかけ、実際特別な場合として部分的にしか使用されていない。その後構造解析的手法は１９８１年に電子通信学会論文誌Ｊ６４−Ｄ，８，ｐ７０５−７１２，“形の代数的構造表現”で統一的な観点を与える代数的な考えが導入され，１９９２年にＩＥＥＥ  Ｔｒａｎｓ．  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Vol.  １４，ナンバー５，ｐｐ．  １０２９−１０５８，“Ａｌｇｅｂｒａｉｃ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  Ｃｕｒｖｅ  Ｓｔｒｕｃｔｕｒｅ”で実用的な代数的システムが構築されたが、依然としてシンボル表現であった。この様に構造解析的手法はシンボル表現水準に留まってきた。この壁を突破するには、シンボルでなく、アナログにしなければならないと言うこと自体は学会で、よく言われてきたのであるが、いままで、このアナログ化の具体的な方法が見付からなかった。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、上記の従来技術では，下記のような基本問題がある。
構造解析は簡単であるが、柔軟性がなく、基本パターンの境が問題で、離散的で、ぎこちなく、辞書の作成に手間がかかる。
パターンマッチング法、特にＤＰ方式は処理が重たい。
パターンマッチング法はオフライン認識も含め、ただ読むだけ、すなわち入力文字を強引に辞書に当てはめることが主たる目的であり、原因結果の対応が見えず、時として理解に苦しむ誤読をきたし、その原因が設計者にもわからないことが珍しくない。
【００１１】
本発明は、基本的には上に述べた構造解析的手法に属し、しかし、今までの問題点を克服し、柔軟な構造解析的手法の基礎を与えるものであり、それ故、シンボル化の問題を回避し、アナログ的に構造を表現し、標準との柔軟かつ単純なマッチングを行うことを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、第１の発明は、オンラインの手書き文字を認識する手書き文字認識システムにおいて、
手書き文字が入力される入力手段と、
前記入力手段で入力されたデータを、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行う折線近似手段と、
前記折線近似手段で折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求め、前記折れ線の角頂点の外角系列を求め、前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外角の和を、巻き角系列とする処理手段と、
前記処理手段で求められた各系列による大局的な特徴と、巻き角系列の各項の巻き角領域内における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と予め用意された認識対象文字のテンプレイトとを比較して文字認識を行う認識手段とを備えたことを特徴とするものである。
【００１３】
また第２の発明は、第１の発明の文字認識システムにおいて、
前記巻き角系列で構成される曲線のループの前後で各項を前巻き角と後巻き角に分割して、認識処理を行うことを特徴とするものである。
【００１４】
また第３の発明は、第１の発明の文字認識システムにおいて、
前記認識対象文字のテンプレイトは、学習データから、各系列要素、各特徴の上限、下限の範囲を決めたデータであることを特徴とするものである。
【００１５】
また第４の発明は、第１の発明の文字認識システムにおいて、
前記折れ線近似表現として、折れ線の長さを要素とする値と、その全長で正規化した系列と、始点，頂点，終点を要素とする系列を用い、端長比，中間長，中間最大長，長さの要素の分布，始点終点間距離の特徴を求めることを特徴とするものである。
【００１６】
また第５の発明は、第１の発明の文字認識システムにおいて、
ある定められた区間内の折れ線の加重平均角、外角系列の特徴又は境界項の値、極点の検出、始点終点間距離、始点・終点・極点間の距離から、文字の枠組み構造を定量的に設定することを特徴とするものである。
【００１７】
また第６の発明は、第１の発明の文字認識システムにおいて、
各学習データから、巻き角系列の各項の巻き角領域内、巻き角領域間の特徴から構成される部分的多次元の特徴空間上で、識別平面を構成し、文字間の識別を行うことを特徴とするものである。
【００１８】
また第７の発明は、第１の発明の文字認識システムにおいて、
巻き角系列の各要素の外角系列と、それに相当する長さ系列から、長さ系列を一方の軸に取り、他方の軸に外角系列の累積角をとり、線形補間を行うことによりグラフを構成し、その要素の始点からの距離の関数として、巻き角を、またその逆として、巻き角の関数として、距離を連続的に求める累積角特徴関数を構成して、大局的な曲がり具合の特徴を求めることを特徴とするものである。
【００１９】
また第８の発明は、第１の発明の文字認識システムにおいて、
複数個の画間の位置関係を、各画の代表折れ線または折れ線集合の延長線も含めた直線群同志の交点を求めることにより、定量的に求めることを特徴とするものである。
【００２０】
また第９の発明は、第４の発明の文字認識システムにおいて、
前記正規化した系列の内で、所定長以下の折線は無視することを特徴とするものである。
【００２１】
また第１０の発明は、第１の発明又は第７の発明の文字認識システムにおいて、
巻き角系列の各項の巻き角領域内で、前記折れ線角系列の、隣り合う折れ線角の変化のパターンまたは累積角特徴関数を利用し、対象文字を複数の区分に分解して、その区分または境界点の特徴を認識対象文字との比較に利用することを特徴とするものである。
【００２２】
また第１１の発明は、第１の発明の文字認識システムにおいて、
前記巻き角系列の各項で構成される曲線の巻き角の半分に対応する曲線上の点を中点として求め、その前後で各項内の曲線を分割し、各分割折れ線群から抽出される微妙な曲線の特徴を求め、認識精度を上げることを特徴とするものである。
【００２３】
また第１２の発明は、入力手段で入力されたオンラインの手書き文字を認識する手書き文字認識方法において、
前記入力手段で入力された手書き文字を、演算手段での演算により、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行い、前記折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求め、得られた折れ線の角頂点の外角系列を求め、前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外接角の和を、巻き角系列とし、
前記演算手段での演算により求められた各角による大局的な特徴と、巻き角系列に応じて分割された各曲線部分における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と、予め記憶手段に記憶されて用意された認識対象文字のテンプレイトとの比較を行った結果を、文字認識結果として出力手段から出力させることを特徴とするものである。
【００２４】
第１３の発明は、コンピュータに実装して、入力手段で入力されたオンラインの手書き文字を認識する手書き文字認識プログラムにおいて、
コンピュータに、
前記入力手段で入力された手書き文字を、各画毎にパラメータ表現でとらえ、各画毎に折線近似を行う第１の手順と、
前記折線近似された各折れ線を、始点から終点にいたるベクトルとして、基準となる軸と前記各折れ線とのなす角度を折れ線角系列として求める第２の手順と、
得られた折れ線の角頂点の外角系列を求める第３の手順と、
前記外角系列のプラス又はマイナスの同じ符号が連続する同符号の外接角の和を、巻き角系列とする第４の手順と、
前記第１，第２，第３及び第４の手順を実行することにより求められた各系列による大局的な特徴と、巻き角系列の各項の巻き角領域内における局所的特徴又は準局所的特徴を、階層的かつ分割的に抽出し、この抽出結果と、予め記憶手段に記憶されて用意された認識対象文字のテンプレイトとの比較を行った結果を、文字認識結果として出力手段から出力させる第５の手順とを実行させることを特徴とするものである。
【００２５】
第１４の発明は、第１３の発明に記載された文字認識プログラムを記録した記録媒体とするものである。
【発明の効果】
【００２６】
これら本発明によると、シンボル化の問題を回避し、アナログ的に構造を表現し、標準との柔軟かつ単純なマッチングを行うことができる。また構造解析を行うので、必然的に対象を適格に記述することが出来て、原因結果の対応が人間の視覚からみて明確である。したがって、文字などの対象の形の評価が出来て、正しい拒否範囲を設定でき、より人間に近い能力をもつ認識システムを提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、添付図面を参照しながら本発明の実施の形態の例を説明する。
本例においては、オンライン手書き文字認識を行うシステムに適用してあり、図１には、各処理部をハードウェア構成とした場合の構成例を示してある。なお、図１に示すように各処理部を個別の処理部とすることも可能であるが、各処理部を共通の演算処理部で実行する構成としてもよく、或いはパーソナルコンピュータ装置などの汎用の演算処理装置に、本例の手書き文字認識をプログラム化したものを実装させて、同様の手書き文字認識が行われるようにしてもよい。
また、以下の説明においては、本例での手書き文字認識に必要なそれぞれの概念を、次の表１に示す用語で定義している。
【００２８】
【表１】
0004092371.tif 000002
【００２９】
図１に示した構成について説明すると、紙１の上で、ペン２で文字を書くことで、その紙１の上の運筆（筆跡）１ａをペン２側で検出する。その運筆１ａの検出は、例えばペン２に内蔵されたカメラにより行う。或いは、加速度センサなどからペン２自体の動きを検出するようにしてもよい。さらに、ペン側で検出するのではなく、紙１の側を何らかのパネルで構成して、電気的に筆跡を検出できる構成としてもよい。いずれにしても、本例の場合にはオンライン手書き文字認識であるので、時間の経過による筆跡の変化を判断できる構成としてある。
【００３０】
これらの処理で検出された筆跡のデータは、入力処理部３に送られ、文字情報を検出するための入力処理が行われる。入力されたデータは、以下、折れ線近似部４、前処理部５、特徴抽出部６、識別部７、識別結果出力部８に送られて、それぞれの処理部で対応した処理が行われて、最終的に、識別結果出力部８で、識別された文字の表示や、識別された文字コードの出力などの出力処理が行われる。
【００３１】
図２のフローチャートは、本例の文字認識の全体の処理例を示したものである。以下、図２に従って説明すると、入力処理部３から入力された文字／図形パターンは（ステップＳ１１）、折れ線近似部４で折れ線近似される（ステップＳ１２）。この近似から、入力パターンは、各折れ線をベクトルと見た時の、長さ、方向角、隣接する折れ線の方向角の差を要素とするベクトルとして表現される（ステップＳ１３）。また、方向角の差のベクトル表現から、同符号の角の差の和を求め、符号を含め一つの要素として、ここで巻き角と名づけたベクトル表現が求められる。この結果から、前処理部５で、非常に短い点状のパターン、非常に短い折れ線、それと非常に価の低い方向角の差の成分は修正される（ステップＳ１４）。次に、特徴抽出部６で折れ線近似表現から、状況に応じて、特徴が抽出され（ステップＳ１５）、その特徴の抽出結果に基づいて、文字認識が行われ（ステップＳ１６）、文字認識結果が出力される（ステップＳ１７）。
【００３２】
ここで、ステップＳ１５での文字認識処理の詳細の例を、図３のフローチャートを参照して説明する。まず、ストローク数がチェックされる（ステップＳ２１）。ここでは、ストローク数が１の場合と、複数の場合に分類される。ストローク数が複数のときには、一般交差点検出が行われる（ステップＳ２２）。そして、巻き角表現で、要素数が１の場合と複数の場合に分類される（ステップＳ２３）。巻き角表現で、要素数が複数のときには、巻き角のプラス（＋）マイナス（−）の分解が行われる（ステップＳ２４）。
更に、交差があるかどうかチェックされる（ステップＳ２５）。交差がある場合、一つの巻き角要素は、巻き角前後分解処理として、交差点を境に３個の部分に分解される（ステップＳ２６）。具体的には、交差により形成されたループの部分と、始端から交差点までと、交差点から終端までの３つである。
【００３３】
そして更に、文字／図形のパターンに応じ、より簡潔にかつ効率よく特徴を求めるために、前処理２として、よりコンパクトな折れ線近似表現を得る処理が行われる（ステップＳ２７）。また、長さ−△偏差検出として、長さ系列ベクトル、△系列ベクトルの要素の一様性がチェックされて（ステップＳ２８）、これが識別に利用される。
【００３４】
次に各巻き角領域内の局所的特長を抽出し（ステップ２９）、更に準局所的特徴を抽出し（ステップ３０）、文字全体の枠組み構造を設定して、階層的、かつ分割的な処理が行われる（ステップ３１）。
一方、以上の特徴抽出が行われると、図２のステップＳ１６の識別処理により、木構造に基づく決定木を使い簡潔かつ高速に識別が行われる。即ち、図４に示すように、木構造の識別が抽象図形地図を使用して行われ（ステップＳ３２）、接近した形の場合、特徴空間上の関数/ベクトル空間に基づく小次元空間上の識別法が使用されて、識別が行われる（ステップＳ３３）。
【００３５】
次に、それぞれの段階での具体的な処理の詳細について、図５以降を参照して説明する。ここでは、本発明の原理を説明する上で、原理が最も判り易い例として、主として０，１，２，……９のアラビア数字を文字認識する例を説明する。
まず、巻き角の検出について説明する。
本例での対象文字曲線の表現については、まず観測装置より得られた、文字のストロークの折れ線近似を行う。折れ線近似そのものについては、既に多くの研究がある。その中で、適当な手法を用いるとする。此処では例えば、1972年に発表されたＵ．Ｅ．Ｒａｍｅｒの手法を想定する。この手法は単純明快な手法で、最も知られた方法であると言って良いであらう。そこで、折れ線近似された画／ストロークから説明を始める。
【００３６】
まず、図５に示すように、第一に、折れ線近似された画／ストロークは書き始めの始点から始まり、その最初の折れ線の終端は方向表示として矢印で示されているベクトル表示となっている。図５の左側が、ペンで書かれたストロークそのものであり、図５の右側が、折れ線近似されたものである。最初の折れ線のベクトル表示に繋がる折れ線も同じくベクトル表示され、順にベクトル表示され、最後に画／ストロークの終端で終わる。
ここで、各折れ線の角は、図６で示されているように、各折れ線の始点から、ｘ軸（水平軸）の正の方向に引かれた水平線から反時計方向に測られる。従って原点から上向きの折れ線の角は＋９０度である。下向きの折れ線は−９０度である。原点からｘ軸の負の方向に向いた折れ線は、１８０度か−１８０度である。ここで両者は一致する。従って、角θの範囲は−１８０度から＋１８０度である。なお、以下の説明では、角度を示す場合に、単位の［度］は省略して数字だけを示す場合がある。
【００３７】
次にこの折れ線角から、頂点の折れ線外角を求める。具体的には、例えば図７に示すように、ｘ軸と最初のベクトルとの成す角度を折れ線角θ１とし、以下順にｘ軸と各ベクトルとの折れ線角θ２，θ３，……とすると、最初の外角△１は、△１＝θ１―θ２となり、前後の折れ線角の差で求められる。次の外角△２は、△２＝θ２―θ３となる。以下同様にして、図７に示すように、折れ線の角頂点の外角系列として、（（θ１−θ２），（θ２−θ３），．．（θｎ−１−θｎ））を求め、これを簡単に（△１，△２，．．△ｍ）と表示する。これら外角は曲線の書き方が右回りであるか、左回りであるかにより＋か−の量になるがそれら連続する同符号の外角の和を、巻き角系列として、（Θ１，Θ２，．．Θｐ）と表示する。ここでの計算で注意しなければならないのは、角の主値は１８０から−１８０であり、実際は±１８０は同一角を示していることである。したがって、差を求めその絶対値が１８０を超えたとき、Δが正のときその値をΔ−３６０とする。
Δが負のときその値を３６０−｜Δ｜とする。
なお、ここで、折れ線の角頂点の外角系列として、（（θ２−θ１），（θ３−θ２），．．（θｎ−θ（ｎ−１）））を求め、これを簡単に（△１，△２，．．△ｍ）と表示するようにしても良い。このように表示する方が符号系としては、統一性があるが、ここでは、右巻きの符号を＋にするということにこだわった例としてある。
【００３８】
この巻き角の意味が図８Ａ，図８Ｂに示されている。この「Ｓ」字型の文字は最初左周りで左に開いた⊂を形成し、次に右回りとなり、右に開いた⊃を形成する。かくして「Ｓ」はシンボル表現では⊂／⊃または（⊂＋⊃）なる構造をもつ。今まではこれが準位相的特徴と言われてきた。ここではそれが連続量として表現されることになる。なお⊂の終端部のベクトルと⊃の始端部のベクトルは、重なっている。
巻き角系列の計算法が図７に示されている。
図７で太線は左回りの左に凸（右に凹）部分を表示している。かくして「３」は単純にその巻き角角系列（＋１４２，−１４０，＋１４９）と表現される。
【００３９】
また、先にお互いの識別が困難とされている、筆記体の「ｇ」と「ｙ」、そして数字の「９」の認識について、巻き角系列を利用した識別の容易さを示す。三文字とも巻き角系列の項数は２である。それを（Θ１、Θ２）で表現する。そこで各文字は以下のような巻き角範囲を持っている。
筆記体「ｇ」
条件１:−３２０＜Θ１≦−１９０
条件２:３００＜Θ２＜４００
筆記体「ｙ」
条件１:−１７０＜Θ１≦−７０
条件 ２:３００＜Θ２＜４００
「９」
条件１:−５００＜Θ１＜−１５０
条件２:１００＜Θ２＜２５０
【００４０】
そこで、条件１＆  条件２なる論理式を構成することによりこれら三文字は容易に分離認識することができる。なおこれらは回転不変なので、実際にはこれを正す方向特徴が必要であるが、いかに簡単であるかが分かるであろう。
【００４１】
これから、具体的な例として、主に手書き文字で最も重要なアラビア数字についての認識処理を説明していく。まず、この「３」は大まかな構造として、右回り、左回り、最後に右回り、記号的には（＋，−，＋）なる構造を持っていて、３つの巻き角Θ１，Θ２，Θ３で構成される巻き角系列（Θ１，Θ２，Θ３）が形成される。数字の場合、基本的には他にこの構造をもつ数字はない。したがって例えば「３」のテンプレイトとして、
９０＜Θ１＜３００＆−１５０＜Θ２＜−３０＆９０＜Θ３＜３００
とすれば、この型のかなりの変形を吸収し、対象を正しく認識することが出来る。
【００４２】
なお、折れ線近似した結果は、このような巻き角系列だけでなく、長さ系列のデータも得るようにしてある。図１０は、長さ系列について説明した図である。ここでは、折れ線全体を長さ１．０として、各折れ線（ベクトル）の長さを正規化した値を得るようにしてある。具体的には、図１０に示すように、ベクトルｖ０〜ｖ５と折れ線近似されているとすると、図１０の下側に示すように、全体を長さ１．０として、各ベクトルｖ０〜ｖ５の長さを正規化し、それぞれの値の集まりを長さ系列とする。図１０の例では、
長さ系列：０．１２，０，１３，０．１３，０．１０，０．３０，０．２２
として小数点以下２桁の数値で示してある。各長さの合計は、１となり、正規化された値であることが判る。
【００４３】
次に、巻き角を使用して文字認識を行う原理について説明する。巻き角を使用することで、ラフであるが変形に強い認識系が構成できるのであるが、具体的には、これに種種の拘束条件を入れていかなければならない。ここでは、巻き角系列の要素が１個の最も単純な場合が良い。これは記号的には（＋）又は（−）で表現される。
（＋）：「１」，[２]，「３」，「７」，「９」
（−）：「０」，「１」，「４」，「６」
がそれぞれ含まれる。ここで、ループを持った[２]，「３」，「４」は手書きの標準形ではないがこの程度の変形文字は認識されなければならない。ループについては後述する。また、「１」はノイズを考慮して安全のため両方に入れた。まず、（＋）に属する、数字を考える。
【００４４】
まず一番単純には、巻き角だけで、これらを区別することである。ここでは、「７」を単純化して、鉤の無い欧米式「７」を認識するものとする。またこれと関連し「１」は標準形「｜」とする。
「１」：＋０＜|Θ|＜＋３０
「２」：＋２８０＜Θ＜＋６００
「３」：＋４００＜Θ＜＋７００
「７」：＋９０＜Θ＜＋１８０
「９」：＋２８０＜Θ＜＋４００
これらから、巻き角角だけで、「１」，「７」は識別できる。また、「３」も識別可である。
【００４５】
しかし、「２」の極端な変形である「α」の如き形状（このαのような形で、始点からループの交差点にいたる線分で、凹みがない）は、上述した条件では除外している。このような変形に対処するために、ループ部分について、次に説明するような解析を行う。
具体的には、極端な変形を考慮する必要のある認識対象文字「２」，［３］，「９」であるが、これらの字の解析の方針を説明すると、例えば「１」，「７」の巻き角はそれぞれ３０度、１８０度を超えない、即ちそれらはそれぞれ緩やかなＬ型、Ｕ型であることを意味している。反対に他の文字は、大まかに言ってＬの半分＋Ｕの、即ち４５＋１８０＝２２５を超えることを示している。このように直観的に数値による設計ができる。しかし厳密にはループは巻き角が１８０＋αで起こり得るが、現実には殆どこのような面積が０に近い異常なループは起きない。
【００４６】
そこで、巻き角の交差分解を行うようにしてある。
巻き角の交差分解として、ここでは、認識対象文字「２」，「３」，「９」の分離を考える。まず「２」では図９Ａに示す如く、「２」のループの上部で、巻き角が大きくなりすぎて、「２」全体としては巻き角が、６００度程度にもなってしまうことである。そこで、このような問題を解決するために、同一符号の巻き角の分割を考える。それはループの交差点で、上部と下部の巻き角とループの巻き角を分けることである。即ち、図９の例では、図９Ａに示すように、始めの折れ線のベクトルｖ０からループに入る交差する折れ線ｖ４までの巻き角（前巻き角／ＰｒｅΘ）と、図９Ｂに示すように、ループから出る交差する折れ線のベクトルｖ７から終端の折れ線のベクトルｖ８までの巻き角角（後巻き角／ＰｏｓｔΘ）である。なお、ベクトルｖ４〜ｖ７で形成されるループの巻き角は、ここではあまり意味が余り無いので、ここではこれを除外し、文字認識には使用しない。ベクトルｖ０〜ｖ４の前巻き角が大きくなっても、ベクトルｖ７〜ｖ８の巻き角が小さければ、例えば９０以下としておけば全体としての巻き角が「２」と「３」で重なることがあっても、両者を区別することが出来る。
【００４７】
このようにして、ループ形成個所で交差分解を行って、例えば「２」と「３」の場合に、以下の如く巻き角の許容範囲を決める。
「２」：＋２８０＜Θ＜＋４５０――＞＋３００＜Θ＜＋７００＆０≦ｐｏｓｔΘ＜９０＆ＣＲＯＳＳ
「３」：＋４００＜Θ＜＋７００――＞＋４００＜Θ＜＋７００＆１００≦ｐｏｓｔΘ＆ＣＲＯＳＳ
ここで、ｐｏｓｔΘとは後巻き角を意味する。また当然、ここで、「２」，［３］とも交差点（ＣＲＯＳＳ）を持つことを想定している。前巻き角はｐｒｅΘと表す。なおここで「２」と「３」の間に拒否領域を取っている。なおここで用いた交差特徴については次に述べる。
【００４８】
次に認識対象文字「２」，「３」と「９」の間の分離であるが、巻き角だけ見ると明らかに、「９」は「２」，「３」と重なる。しかし、上で述べたように、「２」，「３」は必ず交差があり、「９」には無いとする簡易な解決法がある。しかし、自由手書き文字の変形を考えるとそうはいかない。その例が図１１に示されている。図１１Ａは「２」の例であり、図１１Ｂは「９」の例である。いずれの場合も交差が発生しているが、次に示す条件により識別することができる。即ち「９」は前巻き角、ｐｒｅΘが小さいのである。この場合は０である。先に「２」の極端な変形「α」を除外したのはこのためでもある。この場合、前巻き角は０となる。
「２」：＋２８０＜Θ＜＋７００＆０≦ｐｏｓｔΘ＜９０＆３０≦ｐｏｓｔΘ＆ＣＲＯＳＳ
「３」：＋４００＜Θ＜＋７００＆１００≦ｐｏｓｔΘ＆３０≦ｐｏｓｔΘ＆ＣＲＯＳＳ
「９」：＋３００＜Θ ＜＋４００＆｛ＮＯ_ＣＲＯＳＳ｜０≦ｐｒｅΘ＜１０｝
【００４９】
次に、巻き角の＋−分解について説明する。
上述した例では、一つの巻き角内での分割であったが、巻き角系列に対応して、それぞれの部分長さ系列、部分Δ系列に分割して、次に述べる幾何的特徴を、各部分において行うと効果的である。そこで、その部分に分割する処理についてのべる。これは反りのある「７」の字の例である。長さ系列、Δ系列、巻き角系列は以下の如くである。これが図１３で、元図形（図１３Ａ）と折れ線近似された図形のΔ系列、巻き角系列（図１３Ｂ，図１３Ｃ）とを示してある。なお、図１２（元図形：図１２Ａ，Δ系列：図１２Ｂ，巻き角系列：図１２Ｃ）は、比較のために「２」の字の例を示してあり、図１２、図１３の比較は後述する。
【００５０】
図１３に示した「７」の字の各系列は次のとおりである。
長さ系列：０．３８  ０．１７  ０．１４  ０．３２
Δ系列：＋１２１．２９  −１９．１７  −１９．７２
巻き角系列：＋１２１．２９  −３８．８９
図から、巻き角系列の第１項Θ１は最初の長さ系列０．３８  ０．１７から形成され、第２項Θ２は、長さ系列０．１７  ０．１４  ０．３２から構成されていることが分かる。ここで、長さ０．１７を持った第２の折れ線、は両方に属している。この折れ線部がΔ系列の符号の分岐線である。すなわちこれは境界線で、重なり（共通）部分である。このように長さ系列、Δ系列を巻き角系列の＋−に応じて分離させ、それぞれで、構造を解析すると良い。比較のために反りのある「７」と間違いやすい、なだらかな曲線形状の「２」の例を図１２に示す。図１２に示した「２」の字の各系列は次のとおりである。
長さ系列：０．１４  ０．０９  ０．３６  ０．２１  ０．０８  ０．１２
角度系列：-２．０５  −３５．５４  −１１３．３１  −９４．２９  −４７．４９  −１２．８０
Δ系列：＋３３．４９  ＋７７．７７  −１９．０２  −４６．８０  −３４．６９
巻き角系列：＋１１１．２６  −１００．５１
【００５１】
この場合は、長さ系列：０．１４  ０．０９  ０．３６が巻き角系列の第１項Θ１を形成し、後半の０．３６  ０．２１  ０．０８  ０．１２が、巻き角系列の第２項Θ２を形成する。かくして、この両者、「７」と「２」の差は第二のマイナス部分の長さ系列を見れば歴然としている。これを並べると、「７」の第２の（−）部分の長さ系列；０．１７  ０．１４  ０．３２
「２」の第２の（−）部分の長さ系列；０．３６  ０．２１  ０．０８  ０．１２
であり、あとで述べる端長比（始端長／終端長）で、「７」対「２」は０．５３対３．００となり、この特徴が両者を分離する鍵であることが分かる。これは、「７」の下部がほぼ直線的に下に下がっているにたいし、「２」では、下部は曲がっている、視覚的な特性を数値として表現している。
【００５２】
なお、ここで巻き角での始端、終端、中間についての本例での定義を、図１４に示しておく。１つの巻き角が図１４に示すように複数の折れ線で構成されているとすると、その複数の折れ線の始端折れ線の正規化した長さを始端長とし、始端長：ｌｓｔａｒｔと表す。また、終端折れ線の正規化した長さを終端長とし、終端長：ｌｅｎｄと表す。始端Δ値及び終端Δ値は、図１４に示すように、巻き角を構成する隣接する折れ線との外角である。中間折れ線は、始端折れ線と終端折れ線との間にある各々の折れ線のことである。
【００５３】
次に、幾何的特徴抽出について説明する。
文字の種種の変形を考えると、これらのテンプレイトだけでは不十分でこれらを補強していかなければならない。そのための一般的な指針を述べる。いままでは、反りのある「７」と「２」の区別以外、角だけで、形を規定した。これは、専門用語では準位相的特徴と言われる。しかし現実には、これに加え、幾何的特徴が不可欠である。これら両者の微妙な結合体が文字の形である。特にアラビア数字は、この点において、実に洗練された形の体系をもつ。
そのため、まず、
折れ線頂点座標系列：（ｘｓ，ｙｓ），（ｘ１，ｙ１），（ｘ２，ｙ２）， ． ．（ｘｅ，ｙｅ）
折れ線長系列：（ｌ１，ｌ２，ｌ３， ． ． ，ｌｎ）
を求めておく。通常これらの要素は全体の長さで正規化する。
【００５４】
例えば、認識対象文字「１」の場合は、実際上、折れ線長系列は、系列：（ｌ１）か、系列：（ｌ１，ｌ２）の何れかである。傾きについては、例えば始点の角θが±25度に入ると言う制限が必要となる。
この様に、正規化された、以下の特徴が有効である。
１．長さ系列端長の比（端長比）；ｌｓｔａｒｔ／ｌｅｎｄ．
２．長さ系列端の最大長；Ｍａｘ｛ｌｓｔａｒｔ，ｌｅｎｄ｝
３．長さ系列端間の中間長の和；Σｎ＝２ｎ＝ｅｎｄ−1ｌｎ．
４．中間最大長（長さ系列端の中間長の中での最大長）．
【００５５】
一方、角の、または角張っていると言った特徴はΔ系列の最大値、ＭａｘΔで表示するがこの価でかなり角の状況が分かる。角のバランスを見るには、端のΔ値の比、Δ端比と表示するが、この価でかなり分かる。「Ｕ」と「Ｖ」の区別は正しく書かれたならば、このわずか２個の情報でどちらであるか推測がつく。例えば、もし長さ系列端の最大長が≦０．６であり、かつ、長さ系列端間の中間長の和の価が＜０．２で、かつ、端長比が＞０．８で、かつ、Δ端比が＞０．７であれば、明確な「Ｖ」であるといえる。
【００５６】
しかし、これは今問題にしている対象の巻き角が、９０≦|Θ|＜１５０であることを、前提にしている。この巻き角による階層化は非常に重要なスキームで、これについては別に述べる。また上に述べた判断は、特に折れ線数が３に等しい時、特に有効である。なおまた、次の階層である、１５０≦|Θ|＜１８０では、「Ｕ」と「Ｖ」とが共存する。この場合には、より明確な特徴が必要で、これは、ＵまたはＶの両端の折れ線を取り上げ、これらを仮想的に繋げ、両者の△値を求めれば、これが対象文字の開きの角度と見なし得る。これは両端角差と名づける。両端角差は、例えば図１５に示すように、巻き角の始端の折れ線と、終端の折れ線との成す角度である。図１５では、説明のために、終端の折れ線を平行移動して、両端角差を示してある。
【００５７】
例えば、上述の様に、端長比とΔ端比の特徴を使い、対象をＵかＶに追い込んで、それからもし両端角差の絶対値の価を見て、その価が１５５度を越えていれば「Ｕ」、１５５度以下であれば「Ｖ」である。しかし「Ｕ」、「Ｖ」問題は、そう簡単ではない。より微妙な場合には、やや高度な手法が必要である。これについては、後で述べる。
以上角特徴をまとめると、
1．ＭａｘΔ，
2．Δ端比，
3．両端角差
である。
【００５８】
次に、前処理の例について説明する。ここでは前処理は、前処理１と前処理２があり、前処理１は例えば図２のフローチャートのステップＳ１４での処理に相当し、前処理２は例えば図３のフローチャートのステップＳ２７での処理に相当する。
上述の特徴を抽出するに、適当な前処理を、長さ系列、△系列に行うと、非常に効率が良い。そこで、ノイズ処理も含め以下に述べる。
【００５９】
前処理１．
まずノイズ処理であるが、ひとつは、非常に小さな点を除去する処理である。これは正規化された長さではなく、元の物理的長さに適当な閾値を設け、点状ノイズを除去する。次に、特にオンライン文字で、起こりやすいのであるが、線の終端で、小さな鉤状の極端な曲がりが出来てしまうことがある。これは、先に述べた、巻き角に大いに影響するのでこれを除き、ノイズとして発生した、△値を主の巻き角から差し引く。この時に使用する閾値は、画の複雑さに依存する。このノイズ処理は、曲線の両端のみで行う。
【００６０】
前処理２．
長さ系列の始端長、ｌ（ｓ）から始め、ｌ（ｓ），ｌ（ｓ＋１）間の△（ｓ）が＜２０なら、ｌ（ｓ）＝ｌ（ｓ）＋ｌ（ｓ＋１）とする。同様にｌ（１），ｌ（２）に対応する｜△(ｓ)｜が＜２０なら、l(２)＝ｌ（２）＋ｌ（３）とする。｜△(i)|＜２０の条件が満足されなければ、何もしないで１ステップ先に進む。これをｌ（ｅ）まで続ける。結果として新しい長さ系列、が得られる。ここでの最大の問題は、閾値の価である。経験上、閾値を１０に取れば、いわゆる副作用は殆どない。２０のときは状況による。使い方を選ばなければならない。なおこの問題を回避する、より一般的な特徴抽出法については後で述べる。
【００６１】
△系列においては、始端、終端のみに行うのが良い。即ち、長さ系列の始端、終端において、ｌ（ｓ）＝ｌ（ｓ）＋ｌ（ｓ＋１）又はｌ（ｅ）＝ｌ（ｅ）＋ｌ（ｅ−１）が実行された時、△（ｓ）＝△（ｓ）＋△（ｓ＋１）または△（ｅ）＝△（ｅ）＋△（ｅ−１）とし、それ以後はこの処理を続行しない。この他に、例えば「７」で、右の長い曲線部が微妙に反ることがある。これは△値で、１０程度の価である。しかし巻き角系列の項数が1個増大し、影響は大きい。それで、この様な△系列も修正して、処理効率を上げることが考えられる。
なお、これに関して、実はＲｅｍｅｒの方法は、直線と曲線との誤差を両者の最大誤差長で見ているので、これを調節することにより、曲線全体のノイズ処理を行うことができる。
【００６２】
次に、本例で行われるフィルター処理について説明する。
これは本格的な認識に入る前に、簡単に分かる入力の特性を見て、そのようなパターンを先に取り出してしまうと言う処理である。近似折れ線表現は一見複雑である。そのようなパターンを取り出しておけば後の処理が簡単になる。そのような処理を、ここではフィルター処理と称した。具体的には「円」を判定する処理がある。具体例を挙げて説明する。ここでは、閉じていない曲線が書かれた場合に、その曲線の状態から、円が書かれたとみなす処理を行う例である。
【００６３】
図１６Ａは、元の図形であり、この折れ線近似が図１６Ｂに示されている。図１６Ｂには、正規化された長さ系列の値を入れてある。図１６Ｃは、同じ折れ線にΔ値を入れた図面である。図が円に近い場合には、長さ、Δ値とも同じような価を持つ。
それで、この場合の長さ系列、Δ系列は以下のようになる。
長さ系列：０．０８  ０．０５  ０．１１  ０．１０  ０．０５  ０．１２  ０．１３  ０．１２  ０．０７  ０．０６  ０．１２
Δ系列：＋２６．６５  ＋２８．１０  ＋３１．４３  ＋２９．３６  ＋３４．０８  ＋３５．８４  ＋４４．６１  ＋３４．１４  ＋２３．７８  ＋３５．１７
ここでの長さ系列、Δ系列は、ノイズ処理した後か、低い閾値で例えば１０、前処理後のものである。フィルターの処理では原始的データの方がむしろ良い。ここで気が付くことは、長さ系列、Δ系列の要素の価に変動が少ないと言うことである。これが「円」の特徴である。この要素の一様性を簡単に見るには、長さ系列、Δ系列の最大値を見れば良い。
長さ系列では、最大値は０．１３、Δ系列では４４．６１である。巻き角：＋３２３．１６の１４％である。ちなみに長さ系列、Δ系列の標準偏差値はそれぞれ、σ(Ｌｅｎ)＝０．０２９２、σ(Δ)＝５．５７１４である。また縦横比は(幅／高さ)＝１．０５である。
【００６４】
一方、一見円に見えるサンプル例として、
長さ系列：０．１０  ０．１１  ０．１４  ０．０５  ０．０８  ０．０６  ０．０９  ０．  １３  ０．１０  ０．０９  ０．０６
Δ系列：−２８．２５  −２８．０７  −２５．８５  −３３．１７  −３３．１９  −３０．０４  −３５．８１  −２１．８０  −２３．２０  −４９．４０
巻き角系列：−３０８．７８
であり、長さ系列、Δ系列の標準偏差値はそれぞれ、
σ（Ｌｅｎ）＝０．０２７２
σ(Δ)＝７．４８４１
縦横比(幅／高さ)＝０．７１
である。
【００６５】
これから、長さ系列、Δ系列の標準偏差値、縦横比は特徴量として使用可に見える。しかし、この例のように標準偏差値は実は期待ほどには良くはない。実際、長さ系列のσ（Ｌｅｎ）は０．０２７２で最初の「円」サンプルに比し小さく、σ(Δ)＝７．４８４１でかなり大であり、２種の標準偏差値がバランスを欠いている。また計算量も大である。縦横比は丸みがあると判断された後にしか使用できない。この丸みの条件が成立後は簡単で、良い特徴であり、ここでもそれを使う。例えば、巻き角で階層に分け以下のような条件が作られる。
[１；（最大長≦０．１５）＆（最大△値≦４６）＆（先端部の巻き角≦１２５）＆（２７０≦｜巻き角｜＜３００）＆０．８０≦縦横比(幅／高さ)≦１．２０]→「弱円１」
[２;（最大長≦０．１５）＆（最大△値≦４８）＆（先端部の巻き角≦１３０）＆（３００≦｜巻き角｜＜３２０）＆０．８０≦縦横比(幅／高さ)≦１．２０]→「弱円２」
[３;（最大長≦０．１５）＆（最大△値≦５０）＆（先端部の巻き角≦１３５）＆（３２０≦｜巻き角｜＜３６０）＆０．８０≦縦横比(幅／高さ)≦１．２０]→「弱円３」
ここで、単に「円」としないで「弱円」としたのは、実際手書きでは正確な円を書くことはむずかしくこれを考慮して、上の条件を設定して、円に近い状態であることを示す「弱円１」，「弱円２」，「弱円３」を定義した。これで、ほぼ円であると推定されるものは、この条件を満足する。図１６の入力に対する結果は、[６-弱-○-３]である。一方、上述の例は縦横比で、最終的に「円」と判断されない。
【００６６】
次に、累積角特徴関数について説明する。
上に述べた、特徴は閾値の影響を受けやすい。例えば、
長さ系列：０．２３  ０．２８  ０．０９  ０．１４  ０．１２  ０．１４
Δ系列：＋１１．５４  ＋７３．０１  ＋４２．８９  ＋７．３７  ＋２０．１２
では、閾値２０で前処理すると、先頭部分はΔ値が１１．５４で、２０以下なので、前処理され、始端長は０．５１となる。しかし、終端ではΔ値が２０．１２で、わずかに閾値より大なので、前処理されず、端長比が０．１４／０．５１＝０．２７となる。このため、端長比＆ＭａｘΔが（＜０．５）＆（＞４５）、ならば「Ｌ」という条件に合致してしまう。実はこの入力文字は明白なＶである。
【００６７】
この問題を解決するために、長さ系列とΔ系列から、Δの長さに対する累積角関数を考える。この長さ系列、Δ系列の折線近似に対する累積角関数が図１７に示されている。しかし、これは、階段関数で（点線のグラフ）、閾値問題を持っている。そこで、簡単な線形補間関数を作る。これも、図１７に示されている。これは単に各階段の角を線で繋げたものである。この簡単な補間で階段関数は連続関数になる。しかも単調増加関数である。この補間関数は、順方向と逆方向と２種類作る必要がある。それぞれに使用した長さ系列、△系列が二つの表で示されている。こうしたのは、この簡単な補間法では、図９の関数グラフを注意深く見れば、最後の階段では、補間の直線は水平になっている。すなわち、ここでは厳密には、一意的に逆関数を求めることが出来ない。確かに、このようなことがない様に、例えば階段のステップの半分を取ってこれを直線補間するなど考えられるが、性能については、順方向、逆方向の２個の関数を用いた方がより厳密である。正確には、長さでいえば少なくとも半分、[０，０．５]では殆ど確実に使える。実際の応用では、このように引数の値域の半分までしか使用しない。この「Ｕ」の例では、略対称なので、これら２個の順方向と、逆方向の関数は一致する。これを使えば、例えば特に問題になる、ＵとＶを区別する問題などでは、この逆関数、即ち、巻き角度９０を入れ、それだけ巻いた長さを求める。これがこのグラフでｙ軸上の９０度を与えるＸ軸の長さが求められる。これはこの累積角特徴関数を逆に使用している例となっている。このｘ軸上の価は図の９０度の水平線が関数のグラフ（実線）にぶつかった所から垂線をＸ軸上に降ろしそのＸ軸上の点の価０．４４８、で与えられる。一方逆方向関数が点線で示され、この場合も全く９０度に対応する長さはやはり０．４４８であり、全く一致する。この例はできる限り対称になるように書かれた「Ｕ」の例であり、この結果はこの方法の精度の良さを示している。
【００６８】
これは、この図形が対称であることを示していると同時に、∪の典型的な形を持っていることを示している。たとえば、「Ｖ」の場合、９０始端長では中心点を超えてしまい、９０終端長と重なりが生じる。これらの比はMin｛９０始端長，９０終端長｝割るＭａｘ｛９０始端長，９０終端長｝で、「Ｕ」の場合は１．０となる。この比は９０度長比と名づける。なお上の例は実際の例である。この例が示すように簡単な補間で、かなり正確な計算ができる。この様な計算は任意のα度で求めることができる。そこで、一般にはα度長（巻き角）で表示する。ここでの引数は全体の巻き角を越えてはならない。大域的な対称性をみるなら引数として、全体の巻き角／２を取る。
【００６９】
一方、この順関数、すなわち長さを与え、巻き角を求めることも出来る。実際これが先程説明した累積角特徴関数の素直な使い方である。例えば、「６」で、ループが開いて、微妙に曲がっているような時には、非常に有効に使用できるが、ここでは極端な例として入力文字「Ｊ」を、図１８を参照して具体的に考える。なお、この文字の形は、上に水平方向のバーがないＪの字である。ここでは例として引数としての長さは０．３を想定する。
この図１８の例の場合は、順方向関数（実線）と逆方向関数（点線）は大きく異なる。これはまさに文字「Ｊ」の形を反映している。この場合順方向、即ち始点から、０．３進んだ点での巻き角、それと反対に逆方向関数から、終点から、同じく０．３だけ進んだ点での巻き角を求めることが同様に出来て、それぞれ、１０．００度、１１２．８８度で、両者の比、λ長度比(０．３０)＝０．０９で、両端での曲がりが極端に異なることが定量的に示されている。
【００７０】
なおこの計算で注意しなければならないのは、例えば以下に示す２個の折れ線の例で、
長さ系列：０．３８  ０．６２
Δ系列：＋３１．０８
であると、λ長度の関数の引数が０．３８を超えると、対応するΔ系列の項が無い。この場合以下のような結果になる。
λ長度比(０．２５)＝０．６１  （２０．４５）（１２．５３）
λ長度比(０．３０)＝０．６１  （２４．５４）（１５．０４）
λ長度比(０．３５)＝０．６１  （２８．６３）（１７．５５）
λ長度比(０．４５)＝計算エラー
である。実際には、折れ線数が２又は３の場合には、これらの累積角特徴関数は使用しなくとも良いのであるが、折れ線数が少ない場合には注意が必要である。実際にはこのλ長度関数の引数は０．５を超えて使用することはない。またこの計算エラーの起こる場合は容易にチェックできる。経験上引数０.３０程度が一番有効である。
【００７１】
なお、図１７、図１８に示したのは直線補間の一例であり、他に色々考えられる。この例では始端からの場合の例で、この補間関数を終端から見ると言う場合には使えない、この場合は同じ手続きで終端から始め補間関数を新たに求めている。それで、これらの中間を取れば補間関数は強い単調増大関数（ここで「強い」とは必ず増大する意）となり、両方に使用できる。しかしここではこれを採用していない。
【００７２】
次に「Ｕ」と「Ｖ」のような類似した文字を区別するには、その先端の曲がり具合を如何に表現するかが、幾何的特徴抽出を行う上で、非常に重要となる。この課題を解決する為の方策として、本例においては、巻き角を利用した（１）中点検出によるバランス、角特性の抽出、（２）先端部曲率の２つの方法が適用可能である。この２つの方法について以下述べる。
【００７３】
まず、中点検出によるバランス、角特性の抽出から説明する。これは、中点を分岐点として対象となる巻き角を前後の２つに分割し、それぞれの分割された部分で特徴を求め、
それらを全体的に評価し、判断を下すという手法である。
ここでいう「中点」とは、対象文字の凸点、乃至は凹点を含む巻き角において、対象巻き角の２分の１をαとしたα度長である（始端側と終端側の双方から求める）。これは上述の累積角特徴関数より求めることが出来る。
【００７４】
具体的には、始点から測って(巻き角／２)巻いた点  "α度(巻き角/2) 始点”、終点から、逆に測って(巻き角／２)巻いた点  "α度(巻き角／２)終点”を求め以下のアナログなα度(巻き角／２)の中心点を求める。即ち、
中点＝((１−(α度(巻き角／２)終点))-(α度(巻き角／２)始点))／２+(α度(巻き角／２)始点)
（これは始点からの折れ線に沿っての正規化された、長さである）。
上記計算にて求められた中点はアナログ値であるので、便宜上、中点に一番近い折れ線の頂点を分岐点とし、その前後の折れ線群に分ける方法を取る。これらの折れ線群を前折れ線群、後折れ線群と名づける。これらの部分長の総長を求める、それらを前総長、後総長と名づける。
【００７５】
まず、対象文字の角特性を抽出するため、前折れ線群、後折れ線群それぞれについての加重平均角を求める。折れ線群内の折れ線系列を  ｌ（１），１(２)，．．ｌ（ｎ）とし、角系列をθ(１)，θ(２)，．．θ(ｎ)とし、前後の総長Ｎ＝  ｌ（１）＋ｌ（２）＋．．＋ｌ（ｎ）とすれば、加重平均角は以下の通り、求められる。
加重平均角＝《１（１）×θ(１)＋１（２）×θ(２)＋．．ｌ（ｎ）×θ(ｎ)》÷Ｎ前後の加重平均角のなす角を両端平均狭角差（＝θｓｐ）として、以下の如く与えられる。θｓｐ＝（θ(ｐｒｅ)＋１８０)−θ(ｐｒｏ)
（θ(ｐｒｅ)は前折れ線群の加重平均角、θ(ｐｒｏ)は後折れ線群の加重平均角）
また、前折れ線群、後折れ線群の直線性を見る具体的手法として、角の分散値を見る。即ち、
前折れ線群の角分散
＝《(θ(１)−θ(pre))２×ｌ（１）＋(θ２−θ(ｐｒｅ))２×ｌ（２）..＋(θn−θ(ｐｒｅ))２×１(ｎ)》÷Ｎ（後折れ線群の角分散値も同様）
分散値は大きな数になるので、これを１００で割る。こうしても、比較が目的なので問題ない。
【００７６】
なお加重平均角の際、注意しなければならないことがある。
折れ線の方向角の値域は−１８０≦θ≦１８０で、−１８０は１８０と同一角を示す。この約束は、それぞれの折れ線の２次元平面上での方位を表すには良いが、それらの平均を求める、このような演算を導入するとき、問題になる場合がある。即ち、図２７のように角折れ線群の始端の折れ線角がマイナスで始まった場合でも、終端の符号がプラスになるケースがあり、その場合、適切な加重平均値が求められないからである。従って、ここでは折れ線角を求める際の原則を調整し、始端の符号と同一方向で折れ線角を測定することとする。なおこれは、数学的には角度をリーマン平面上で測ることである。この平面は−∞から原点までの直線に鋏で切れ目をいれ、第３象限の面を３次元空間で下に延長させ、第２象限の面を上に延長させ、らせん状にした面である。
【００７７】
次に、中点より分岐した折れ線群の長さのバランスは以下の如く定義される。
バランスの定義：Ｍｉｎ(前総長,後総長)／Ｍａｘ(前総長,後総長)
以上の幾何特徴の具体例を以下に示す。まず、図２８Ａにある対象文字「Ｕ」を、図２８Ｂに示すように折れ線近似する場合について説明する。この表現は以下のように与えられる。
３:長さ系列:０．２９  ０．１９  ０．０８  ０．１５  ０．２９  (１９２．８１)
３:角系列:―３５．６８  ―８２．６５  ―１４０．７１  ―１７７．７１  １５４．４９
３:Δ系列:４６．９７  ５８．０６  ３７．００  ２７．８０
３:巻き角系列:１６９．８４
３:頂点リスト：０:(８３６，４７)１：(８７５，７５)２：(８７９，１０６)３:(８６８，１１５)４：(８４３，１１６)５：(７９９，９５)
中点=((１―０．４７)―０．４１)／２＋０．４１＝０．４７
（長さ系列から頂点（１）と頂点（２）の間にある点と分る）
頂点(２)までの距離:０．４８―０．４７＝０．０１（長さ系列を利用)
頂点(１)までの距離:０．４７−０．２９＝０．１８（同上）
したがって、最も中点に近い頂点:２：（８７９，１０６）を分岐点として選ぶ。
前加重平均角:−５４．２７
後加重平均角:−１８７．３
前加重平均角の直線と、後加重平均角の直線の狭角、θspは
θｓｐ＝(θ（ｐｒｅ）+１８０)−θ（ｐｒｏ）＝(-５４．２７＋１８０)−（−１８７．３）＝３１３．０
となるが、これは方位角の値域から外れているので、これを変換するため３６０から差し引くと４７度となり、かなり開いていることが分かる。
【００７８】
前折れ線群、後折れ線群の直線性は、それぞれ前角分散、後角分散で見ることができる。それらは以下の如く与えられる。
前角分散:２５３．２５／０．４８／１００＝５．２７
後角分散:２８０．４／０．５２／１００＝５．３９
前折れ線群、後折れ線群の長さのバランスは
バランス:Ｍｉｎ（前総長,後総長）／Ｍａｘ（前総長,後総長）=０．４８／０．５２＝０．９２
で与えられる。
【００７９】
これに対し、「Ｖ」の例を、図２９Ａ及び図２９Ｂに示す。
長さ系列:０．３４  ０．１４  ０．１３  ０．３９  （２０５．９８）
角系列:−５６．０６  −７９．１１  １７０．１３  １５２．０２
Δ系列:２３．０６  １１０．７５  １８．１１
巻き角:１５１．９２
頂点リスト:０:（６６０，４１）１:（６９５，９３）２:（７００，１１９）３:（６７７，１１５）４:（６１３，８１）
中点:０．４７
頂点:２
前加重平均角:−６２．７８
後加重平均角:１５６．５４
前角分散:１．０９
後角分散:０．６１
θsp＝３９．３２
バランス:０．９２
【００８０】
上記「Ｕ」と「Ｖ」の中点検出による角特性、バランスを比較すると、θsp：４７度対３９度、前角分散＋後角分散：１０．６６対１．７０、バランス：０．９２対０．９２である。特に分散でＵ，Ｖに明らかな差が出ていることが分かる。この分散による違いを見ることにより、数少ないマスクで、相当な変形に対応できる。一方、バランスには差がない。これは両者とも、対称であるからである。この値は変動し、バランスが、例えば０．５程度になると「ｊ」の１画になる。
【００８１】
なお、この中点を求め、曲線を分割する方法は、孤立した、１個の巻き角図形に限られない。一般には、巻き角系列の各項の曲線の範囲内において同じような処理が可能である。例えば「２」と「Ｚ」の違いは、「２」＝(「∩」＋「⊃」)＋「⊂」、「Ｚ」＝「⊃」＋「⊂」と見なし、また一筆書きされた、「ｗ」と「ω」の違いは、「ｗ」＝「∨」＋「∨」、「ω」＝「∪」＋「∪」と見なすことが出来るので、各巻き角領域において、中点を求め、上述の処理を行うことが出来る。
また、中点は、正しく書かれた文字の場合、微分での極点と同じになる。それで、これを使用できる。しかし、上の中点がより一般的である。また、簡単に両端から正規化された距離0.5の点として、中点を求めることも出来るが、これは対称図形にのみ有効である。
【００８２】
次に、先端部の曲率について説明する。
これは、例えば、ＵとＶの先端での曲がりを見て両者を区別するための特徴であり、巻き角と前処理による簡単な方法である。これを図１９で示した例を使い説明する。図１９Ａは、Ｕの元の図形であり、図１９Ｃに折れ線近似した例を、長さ系列とともに示してある。図１９Ｂは、Ｖの元の図形であり、図１９Ｄに折れ線近似した例を、長さ系列とともに示してある。
まず先端部の巻き角を求める。以下に示す「Ｖ」の例であるが、λ長度比(０．３０)＝０．５９(１１．６３)(６．９０)から、両端からの0.3の長さでの巻き角が出ているので、即ち１１．６３が始端から０．３までの巻き角、６．９０が終端から、０．３までの巻き角である。そこで、この和１１．６３＋６．９０＝１８．５３を、この文字の全体の巻き角から引く。即ち、１２４．９８−１８．５３＝１０６．４５となる。
これは先端部の巻き角である。これを下の例を参照し先端部の長さ、０．０３で割ると、この先端の曲がり具合（曲率みたいなもの）がでる。便宜上長さを１００倍してから割る。したがって、１０６．４５／３＝３５．４８となる。
これが高いとＶと判定され、低いとＵと判定される。なお、長さは前処理後の長さ系列(閾値２０)を使う。ここで、長さは補間した累積角特徴関数では１．００−２ｘ０．３０＝０．４なのであるが、前処理で先端部の長さが明確に出る時はこれを使用すると良い。しかし一般的には、０．４なのでこの価はサンプルに共通である。それで、先端部の巻き角だけで、先端の曲がりを評価できるが、中間長の和を取り、上述の如く曲率を求めた方が効果的である。Ｕの場合の例、同様な計算を行う。この場合先端部の長さは前処理後の長さ系列(閾値２０)から、０．０９＋０．１２＋０．１１＋０．０９＝０．４１となる。Ｖの先端部の曲率；３５．４８，角；（１０６．４５）とＵのそれらの価、曲率：２．１６、角；（８８．６８)を比較して，先端部のとんがりが明確に数値として表現されている。
【００８３】
例：Ｖの場合．先端部の曲率(角）；３５．４８，(１０６．４５)
長さ系列：０．４１  ０．１０  ０．０３  ０．１０  ０．３７
巻き角系列：＋１２４．９８
前処理後の長さ系列(閾値２０)：０．５１  ０．０３  ０．４７
パラメータ：λ長度比(０．３０)＝０．５９  (１１．６３)(６．９０)
先端部の曲率(０．３０)＝３５．４８(先端部の巻き角＝１０６．４５)
例；Ｕの場合．先端部の曲率(角）；２．１６（８８．６８)
長さ系列：０．２７  ０．０９  ０．１２  ０．１１  ０．０９  ０．３２
巻き角系列：−１７２．２３
前処理後の長さ系列(閾値２０)：０．２７  ０．０９  ０．１２  ０．１１  ０．０９  ０．３２
パラメータ：λ長度比(０．３０)＝０．８４  (４５．４９)(３８．０６)
先端部の曲率(０．３０)＝２．１６(先端部の巻き角＝８８．６８)
【００８４】
一般的には、この累積角特徴関数は、単調関数であり、その意味では他の関数と比較し非常に簡単である。２次元図形の一部が、具体的には巻き角系列での項数が1個である場合、階層化されているものの、単なる単調関数として表現されると言うことは非常に興味深い。この単調関数が線形であれば、形は巻き角に応じて、「弧」、「半円」、「円」と連続的に巻き角３６０度の「円」に近づく。ユニット関数に近く、立ち上がりの点が中心近くなら、また巻き角に応じて開いた「Ｖ」から、１８０度で楔形となる。また中心からずれるに従い、チェック型になっていく。また中心付近でその立ち上がりがゆるくなるに従い、Ｖ型からＵ型になる。中心からずれると、Ｊ型になる。このように図形モデルを数学的に構成するのもよい。また、線形補間を、多項式近似すると、たとえば、３次のスプライン関数で、近似すれば、２次までの微分可能となり、累積角特徴関数をさらに解析することが可能である。例えば鈍角を持った三角形は、２個の２次微分のピークを持つ。曲率も計算できて正確で微妙な特性の計算も可能となる。このような考えは抽象図形地図の形成にも役に立つ。巻き角系列での項数が２個の場合、累積角特徴関数の空間は、２個の累積角特徴関数の積区間となる。以下同様である。かくして、複雑な図形が、この単調関数の組み合わせで、簡潔に表現される。
【００８５】
次に巻き角系列の各項の巻き角領域内で、折れ線角系列の、隣り合う折れ線角の変化のパターンまたは累積角特徴関数を利用し、対象文字を複数の区分に分解して、その区分または境界点を認識対象文字との比較に利用する手法について説明する。
まず具体的事例として、「１」→「Ｌ」→「Ｕ」→「０」→「６」の変化を考える。巻き角で定量的に表現すれば、「１＝０」→「Ｌ＝９０」→「Ｕ＝１８０」→「０＝２７０」→「６＝３６０」である。しかし、これでは内部構造は反映されない。一方、これらの内部構造はシンボルにより「１＝｜」→「Ｌ＝Ｌ」→「Ｕ＝∪」→「０＝⊂＋∪＋⊃」→「６＝⊂＋∪＋⊃＋∩」と表現することが可能である。
【００８６】
図３３の「６」を例に取る。まず隣り合う折れ線の角変化により、境界点（凹極点または凸極点）を検出する（点３、点６、点８が該当）。始点、終点、そしてこれら境界点により、図３３の「６」は以下の区分に分割される。
始点1から点６に至る部分：  「⊂型」部分
点３から点８に至る部分：  「∪型」部分
点６から点１０に至る部分：  「⊃型」部分
点８から終点１２に至る部分：  「∩型」部分
このように対象文字を分割し、各々の区分をシンボル表現と対応させることによって、「１」、「Ｌ」、「Ｕ」、「０」、「６」の識別が可能となる。
【００８７】
なお、上記例における境界点は、通常のＸ−Ｙ座標系での所謂微分凹凸極点と一致しているが、より一般的には、回転を考慮する必要がある。例えば図３４Ａのように、通常のＸ−Ｙ座標系では点１は微分凹極点であるが、これを回転させた図３４Ｂの形状とすると、同じ点１が凹極点ではなくなる。このような回転に対処するためには、累積角特徴関数を使い、一般的に境界点を求める必要がある。例えばＬ型ならばα度長（９０）に近い頂点、∪型ならα度長（１８０）に近い頂点を境界点として検出し、分割を行う。この事情は中点を一般的に求めることと対応している。
【００８８】
次に各画の曲線を巻き角系列に応じて、分割し、分割された各曲線部分において局所的特徴、準局所的特徴をもとめ、対象を階層的かつ分割表現する手法について説明する。
具体的な事例として、まず「ｍ」を考える。図３５における「ｍ」の巻き角数は6個になる。これをシンボル的に表現すると∩＋∨＋∩＋∨＋∩＋Lである。巻き角系列の各巻き角領域に左から項番号を付与し、各巻き角領域における極点特徴（凹極点または凸極点）を求め、それらに凸１（最初の巻き角に属する凸極点）や凹２（２番目の巻き角に属する凹極点）のように番号を付与する。これら凹凸極点、始点、終点間の位置関係を「頂点配置」と呼ぶこととする。この頂点配置により、対象文字の骨格とも言える「枠組み構造」が規定される。
【００８９】
このような頂点配置の特徴により、「ｍ」の枠組み構造が規定される。この枠組み構造の特徴の違いは、図３６Ａの「ｈ」と図３６Ｂの「ｎ」の比較を見れば一目瞭然であろう。あるいは、対象文字の高さだけではなく、横幅にも注目し、各凸点間、各凹点間の位置関係を規定したり、縦横の比を規定したりする方法もある。
【００９０】
また、例えば、図３７Ａのような「６」と図３７Ｂのような「０」、即ち、両方とも同じ⊂＋∪＋⊃＋∩構造である場合にも、枠組み構造を利用して効率的に両者を識別できる。この両者は境界点（点１と点２）間の距離（ｄ１、ｄ２）を見ることによって「６」と「０」を識別が可能となる。このような場合でも累積角特徴関数を用いた一般的な境界点（極点）の検出方法を用いることによって、図３７Ｃのような「６」と図３７Ｄのような「０」、ように任意に回転された対象にも適用できる。
【００９１】
また、分割された各曲線部分における局所的特徴求め、対象を階層的かつ分割的に表現する例として、上記「ｍ」の巻き角領域２と巻き角領域４における最小△値を挙げる。これは「ｍ」の∩∩の間に存在する鋭い楔形の尖鋭さを定量的に示す。最小△（巻き角領域２）値、最小△（巻き角領域４）値が鉤になる特徴である。なお「ｍ」のＸ軸での鏡映が「ｗ」であり、枠組み構造は同様であるが、最小△（巻き角領域２）値、最小△（巻き角領域４）値は解消し、もはや鍵になる特徴ではなくなり、巻き角領域３の最大△値が鍵になる特徴となる。
【００９２】
このように若干複雑な形も巻き角系列で分割され、それらの局所的、準局所的な特徴により対象は階層的かつ分割表現される。また、先に述べた如く、ｍ：∩∨∩∨∩Lの様ないわゆる準位相的シンボル表現が、連続的に表現され、ｗ：∪∧∪∧∪Гのような「ｗ」の１変形に連続的に変化する表現を持つことができる。
【００９３】
次に、回転の問題について説明する。本来本方式は回転不変であるが、正規に書かれた文字は、回転に不変ではない。それ故、文字の軸になる仮想的線分の角を規定する必要がある。今までに述べてきた、例えば加重平均角は、この役割を演じている。この角範囲を広く取ることにより、±４５度程度の回転の変動に対して対象の認識を可能に出来る。
【００９４】
次に、図２０で示した抽象図形地図について説明する。
これは対象を特定の文字集合、例えば、アラビア数字、英大文字、だけを想定するのではなく、文字、図形一般を全体として捕らえ、誤読の無い、読み取りシステムを構築するために考えられたものである。具体的には図形一般のパターンを巻き角により階層化し、各階層で上に述べた特徴により、分割する。かくして各階層で隙間無くあらゆる意味のある、または特徴のある形を網羅して列挙する。隙間がないので、異常な形も含まれる。ここでの図形は回転、大きさ、に無関係である。したがって文字からすれば、メタ的な要素図形となる。
【００９５】
この抽象図形地図の全体の構造は図２０に示されているような典型的な階層構造である木構造となる。この様にできるのは、上に述べたように特徴が非常に単純であるからである。最初はルート  レベル−０．で、次にレベル−１において、巻き角系列項数で分類されるが、ここでは基礎図形として、一番大きく、基礎となる巻き角系列項数が１の場合を詳しく述べる。レベル２では、巻き角範囲で、角ノードを構成している。
ノード１，|Θ|＜２０，
ノード２，２０≦|Θ|＜５０，
ノード３，５０≦|Θ|＜９０，
ノード４，９０≦|Θ|＜１８０，
ノード５，１８０≦|Θ|＜２７０，
ノード６，２７０≦|Θ|＜３６０，
ノード７，３６０≦|Θ|，
この部分木で最も単純なのはノード１、|Θ|＜２０であり、これに入る図形は「直線」である。文字，記号としては，「１」，「一」，「／」，「＼」がある。ここでは回転不変なので、これらは区別されず，「直線」と名づけられた メタ要素図形に代表される。この階層は０階層とする。「０−直線」と表示する。
次の階層はノード２，２０≦|Θ|＜５０である。以下この分類については図２０に詳しく
説明されている。この様にこの階層１では、「１−弱Ｌ１”」，「１−弱Ｌ２’」，「１−弱＜１”」，「１−弱＜２’」，「１−弱弧１」，「１−弱弧２’」，「１−弱弧３’」の７個の要素図形が含まれる。そして、それ以外の図形はない。これで、全てである。
この階層では実際の文字、記号に相当するものが少ないが、例えば、「１−弱Ｌ１”」は
打ちこみのある「一」である。また、これらは、先にのべた、「１」，「一」，「／」，「＼」の代わりに実際上頻々に現れる。
【００９６】
以上のようにして、各階層を作成して行くのであるが、それらの結果としての図形が図２１に示されている。図２１は、階層０、階層１、階層２、階層３、階層４の例を示してある。各階層の図形は、この例に限定されるものではない。
【００９７】
次に、複数画の位置関係について説明する。
今までは１画の文字のみ取り扱って来たが、こでは、複数画からなる文字を考察する。
ここで、抽象図形の概念を利用すると、以下の例にある如く、複数画の文字が、非常に簡単に対象図形を介して認識できる。しかも、完全回転不変である。抽象図形は例えば７００度以下の、巻き角で、殆ど全ての変形に対し答えを出すように構成される。特に”弧”が有効である。弱い弧は、直線として、扱うことができる。一方巻き角が大きくなると、これは独立性が高いので、関係はより簡単になる。例えば、２画からなる対象図形が”直線”と”３”として、それぞれ認識されれば、この結合は一意的に「Ｂ」である。勿論、「Ｄ」、「Ｐ」の様に、細かい位置関係が必要になる場合があるから、それは求められなければならない。それについては下でのべる。此処では、上に述べたことを、例を使い説明する。
以下の例は、図２２に示すように、垂直線を曲げて書いた、「Ｈ」で、弧、直線、弧と認識されている。これだけから既に「Ｈ」であることが、推定できる。位置関係は、この認識結果に基づいて行うと非常に効率が良い。
1:Ｒｅｓｕｌｔ:[弱弧３]
2:Ｒｅｓｕｌｔ:[直線]
3:Ｒｅｓｕｌｔ:[強弧３]
これで、画の運筆情報から、例えば普通の書き方で１画、３画は上から下に略垂直に書かれ、２画は右から左に書かれたことが分かる。そこで、これらの各画それぞれの独立した情報だけで書かれた文字は「Ｈ」であることが容易に推定できる。そこで、次の段階は、定量的なこれら３画の位置関係を知ることである。
【００９８】
そこで、考えられたのが、一般交差点の概念と、その導出法である。
まず、その考え方について、説明する。図２２で、文字「Ｈ」が示されているが、この水平線は、この場合この水平線の両側にある、垂直線と交差／接触していない。しかし、この３画は明らかに、文字「Ｈ」を構成する。それは、この水平線の延長上に、しかも近い距離で垂直線が存在するからである。このような場合、端点と垂直線との距離は良く知られた解析幾何の公式で求めることができる。しかし、煩雑である。これは水平線の延長として交点として求めるのがスマートで、統一性がある。同様に、図２３では、「ロ」の一部に相当する形状が示されているが、右側の垂直線と水平線とのそれぞれを延長しない限り、交差／接触しない。参考までに示した図２４では、直交する２画が示されており、これから、人間は仮の隅の角の点をイメージする。ここでは、この図２４のように実際に交差した点を、実交差点と称する。
【００９９】
図２２や図２３の例でも仮想的な交差点が考えられ、これらを此処では一般交差点と呼ぶ。一般交差点の内で、実線上にない図２３のような交差点を虚の交差点と呼び、図２２の如く１画の実線上にある場合を、準虚交差点とよぶ。つぎにこれらの一般交差点を求める具体的方法を述べる。
図２２を参照し説明する。線分１−２と、線分３−４の準虚交差点を求める。そこで、点１、点２の位置ベクトルをＰ１，Ｐ２とし、点３，点４の位置ベクトルをＰ３，Ｐ４とする。線分Ｐ１，Ｐ２と線分Ｐ３，Ｐ４  ０〜１の値をとるパラメータをλ，λ’とすると、それぞれ、（１−λ）Ｐ１＋λＰ２と、（１−λ’）Ｐ３＋λ’Ｐ４と表せる。この両式を連立させる。すなわち（１−λ）Ｐ１＋λＰ２＝（１−λ’）Ｐ３＋λ’Ｐ４である。
０〜１の値をとるパラメータをλ，λ’が求まれば、交差点が求まることになる。これを実際に解くには、例えばＰ１を（ｘ１，ｙ１)T(（ｘ１，ｙ１)Tは（ｘ１，ｙ１)の転置）と表現し、ｘ軸，ｙ軸ごとに式を立てれば、λ，λ’を未知数とする、連立方程式が立てられ、λ，λ’を求めることができる。
【０１００】
具体的には
−λ（ｘ１−ｘ２）＋λ’（ｘ３−ｘ４）＝ｘ３−ｘ１
−λ（ｙ１−ｙ２）＋λ’（ｙ３−ｙ４）＝ｙ３−ｙ１
である。線分１−２のＰ１を（ｘ１，ｙ１)T，Ｐ２を（ｘ２，ｙ２)Tとすると、具体的には
（ｘ１，ｙ１)T＝（０，４)T，（ｘ２，ｙ２)T＝(４，４)T，線分３−４のＰ３を
（ｘ３，ｙ３)T＝(２，３)TＰ４を（ｘ４，ｙ４)T＝(２，０)Tである。
ｘ１＝０，ｘ２＝４，ｘ３＝２，ｘ４＝２，ｙ１＝４，ｙ２＝４，ｙ３＝３，ｙ４＝０
これらを、上の式に代入することで、λ＝０．５，λ’＝−０．３３，が得られる。
ここで、λ’は負である。これは、線分３−４の方向と逆方向、４−＞３の方向に線分の約３３％が、延長した所で、両線分は交差することを意味している。
【０１０１】
例えば、
「Ｈ」（準虚交差点の例：図２２）
位置関係
１−２；０．５０，−０．１１
１−３；−３．２６，−３．２８
２−３；１．３４，０．４９
この第１行はストローク１がストローク２と準虚交差点で、交差していてこの点は、ストローク１の丁度中間点，０．５０にあり、ストローク２の始端から、０．１１はなれている、ことを示している。なおここで、長さの数値は、それぞれのストローク長で、正規化されている。第２行はストローク１とストローク３が略並行でこの交差点は虚の交差点であり、文字の上部のかなり離れた所にあることを示している。第３行はストローク２がストローク３と準虚交差点で、交差していてこの点はストローク２の終端から０．３４、右にありストローク３の略中間点、０．４９にあることを示している。
【０１０２】
「口」（虚交差点の例：図２３）
位置関係
１−２；−０．１９，−０．２７
これはストローク１がストローク２と虚の交差点で、交差していることを示している。
ストローク１とストローク２はそれらの始点上を線に沿って延長すると、それぞれ０．１９，０．２７離れた点で交差する。即ち、これは、仮想的コーナー点と見なせる。
【０１０３】
「Ｔ」（実交差点の例：図２４）
１−２；  ０．５０，  ０．１４
ストローク２は、良くあることであるが、ストローク１上丁度中心を、０．１４分だけ突き出していることを示している。これが図２７に示されている。このように複数画の位置関係が、上記の一般交差点を求めることにより、コンパクトに、定量的に得られる。したがって、先に述べた、複数画の文字が容易に認識できる。
【０１０４】
なお図２５に示す如く、交差すると想定される折れ線２個を簡単には選べない場合がある。このような時は、「Ｈ」の例えば画（ストローク）１の折れ線集合、画３の折れ線集合とで、機械的に連立方程式を構成し解けば、この図の場合、７次になるが、実の交差点を与える折れ線の対が機械的に求まる。もっとも効率を考え、例えば画１の両端の折れ線が短ければ、ひとまずそれらを除外して、また画３の終端の折れ線を除外しても良い。こうすれば、４次の連立方程式となり、簡単化される。なお準虚交差点の場合でも、λ値から一番近い折れ線を求めることができる。図２６には、交差点が多数並んでいる場合を示した。このように、画の位置関係が定量的にもとまり、画数が大になる漢字などには、非常に有効である。
【０１０５】
次に各学習データに基づき、巻き角系の各部分の各特徴から構成される部分的小次元の特徴空間上で、識別平面を構成し、特に形の近い文字間の識別を行う手法について説明する。
具体的な事例として、「Ｕ」−「Ｖ」問題と同じく微妙な問題と知られている、「２」−「Ｚ」問題がある。実はこの問題は、例えば３次のスプライン関数などを使う高度な方法が知られているが、本手法を用いることにより、非常に簡単に解決することが可能である。
第一に「２」、「Ｚ」とも巻き角数が３であるが、重要なのは第１の巻き角の部分である。それ故、第１の巻き角だけでかなり両者は分離される。これを実際に収集したサンプルデータで見ると以下の統計量が得られる。
特徴量          平均                分散            標準偏差    サンプル数
Θ(ｓ):２    ２０９．４０６    １２２７．２８１    ３５．０３３      １００
Θ(ｓ)：Ｚ    １２６．９６１      ７４．５３０    ８．６３３        １１１
注：「Θ(ｓ)」は最初の巻き角。
それで，以下の単純な距離を定義する。
ｄ（Θ(ｓ)，[２]）＝｜Θ(ｓ)−Θ(ｓ)[２]の平均｜
ｄ（Θ(ｓ)，[Ｕ]）＝｜Θ(ｓ)−Θ(ｓ)[Ｚ]の平均｜
この定義による各データの分布を示したのが図３０である。ｄ（Θ(ｓ)，[Ｚ]）の軸で見ると、距離20で「Z」の全てのデータはこの距離以下であるが、「２」のデータが3個「Ｚ」に入る。全体的に見て、距離の閾値３５程度が、両者の分布からみて妥当のように見える。しかし、このように設定するとなお７個の「２」のデータが入ってくる。
【０１０６】
そこで、巻き角領域１の範囲で、他の特徴を見る。例えば、ある折れ線角度範囲に入る折れ線の長さの平均を見てみる。なお平均線長[−６０，６０]は角範囲−６０度から６０度の範囲に入る折れ線の平均長である（サンプル、サンプル数とも上記と同じものを利用）。
特徴量                                平均          分散        標準偏差
「２」の平均線長[−６０，６０] ０．１１２ ０．００１ ０．０２９
「２」の平均線長[−６０，−１４５] ０．１９７ ０．００２ ０．０４３
「ｚ」の平均線長[−６０，６０] ０．２５５ ０．００２ ０．０４０
「ｚ」の平均線長[−６０，−１４５] ０．４１５ ０．００９ ０．０９２
それで，以下の単純な距離を定義する。
Ｄ（ＡｖｅＬｅｎｇ１，[２])＝|平均線長[−６０，６０]−平均線長[−６０，６０]の[２の平均]|
Ｄ（ＡｖｅＬｅｎｇ２，[２])＝|平均線長[−６０，−１４５]−平均線長[−６０，６０]の[２の平均]|
この定義による２次元距離分布を見ると、図３１のごとくなり、「２」の全てのデータは左下の原点(０，０)、（０．１，０）、（０．０．１５）、（０．１，０．１５）の矩形内（太線の表示内）に存在し、一つの「Ｚ」のデータも含まない。しかも全体的には「２」と「Ｚ」の集団はお互いに離れている。
このように、各学習データから小次元（２とＺのケースでは２次元）の特徴空間で、微妙な形の区別ができる。部分的小次元を構成する各特徴は、上記平均線長に限られたことではなく、比較する文字・図形等の特徴に応じて、様々特徴が採用されうる。
【０１０７】
ここで、２−Ｚの識別と関連して、評価の問題について説明する。「ｚ」はしばしば、図３２のように鉤つきで、書かれる。このようなデータは、実は一気に巻き角が増大し、上のスキームで両者は区別できなくなる。しかし、たとえば先端の鉤は、独特の表現として、すなわち、先端部の大きな△値、短い先端長として特定できる。これを、先に述べた如く、ノイズとして前処理してしまうことは容易であるが、それよりも、一般にこのような飾りがあることを認める方式をとる。そして、その表現を同定した後は、その飾り部分を除き、先に述べたような識別を行うことができる。これはまさに形の評価と認識が一体になっていることの好例である。
これが出来るのは、構造解析の利点であり、またこの表現法の強みでもある。
【０１０８】
なお、本発明の手書き文字認識は、実施の形態の説明の最初でも説明したように、図１に示した処理構成に限定されるものではなく、実質的に同様の手書き文字認識が行われる構成であれば、種々の装置やシステムの構成で、認識処理を行うことが可能である。例えば、本発明の手書き文字認識をプログラム（ソフトウェア）化して、汎用のパーソナルコンピュータ装置に実装させるようにしてもよい。手書き文字認識プログラムは、各種記憶媒体に記憶させて、配付することが可能である。
【０１０９】
また、図１の例では、ペン側で筆跡の検出を行う例としたが、ペンで文字を書くパネル側で、筆跡の検出を行って、その検出に基づいて文字認識を行うようにしてもよい。
ここではオンラインの文字を対象としたが、適当な細線化か、輪郭追跡などで、オフラインの文字に対しても、文字認識を行うようにしてもよい。
さらに、上述した実施の形態では、主として数字やアルファベットの認識を行う場合を例としたが、本発明の手書き文字認識は、基本的にどのような言語の文字の認識にも適用可能である。
【図面の簡単な説明】
【０１１０】
【図面の簡単な説明】
【図１】  図１は、本発明の一実施の形態によるシステム例を示す構成図である。
【図２】  本発明の一実施の形態による文字認識全体の処理例を示すフローチャートである。
【図３】  本発明の一実施の形態による特徴点検出処理例を示すフローチャートである。
【図４】  本発明の一実施の形態による識別処理例を示すフローチャートである。
【図５】  本発明の一実施の形態による各画と折れ線近似の例を示す説明図である。
【図６】  本発明の一実施の形態による折れ線角を示す説明図である。
【図７】  本発明の一実施の形態による折れ線角と外角を示す説明図である。
【図８】  本発明の一実施の形態による巻き角を示す説明図である。
【図９】  本発明の一実施の形態による同一巻き角内の分割を示す説明図である。
【図１０】  本発明の一実施の形態による長さ系列を示す説明図である。
【図１１】  本発明の一実施の形態による巻き角の例を示す説明図である。
【図１２】  本発明の一実施の形態による巻き角のプラス・マイナス分解の例（２の例）を示す説明図である。
【図１３】  本発明の一実施の形態による巻き角のプラス・マイナス分解の例（７の例）を示す説明図である。
【図１４】  本発明の一実施の形態による巻き角内での始端、終端、中間を示す説明図である。
【図１５】  本発明の一実施の形態による両端角差を示す説明図である。
【図１６】  本発明の一実施の形態によるフィルターを示す説明図である。
【図１７】  本発明の一実施の形態による累積角特徴関数の例（Ｕの例）を示す説明図である。
【図１８】  本発明の一実施の形態による累積角特徴関数の例（Ｊの例）を示す説明図である。
【図１９】  本発明の一実施の形態による先端部分の曲率の例を示す説明図である。
【図２０】  本発明の一実施の形態による抽象図形地図の例を示す説明図である。
【図２１】  本発明の一実施の形態による巻角系列の例を示す説明図である。
【図２２】  本発明の一実施の形態による準虚交差点の例を示す説明図である。
【図２３】  本発明の一実施の形態による虚の交差点の例を示す説明図である。
【図２４】  本発明の一実施の形態による実交差点の例を示す説明図である。
【図２５】  本発明の一実施の形態による交差する折れ線の例を示す説明図である。
【図２６】  本発明の一実施の形態による準虚交差点の例を示す説明図である。
【図２７】  本発明の一実施の形態による加重平均角の算出例を示す説明図である。
【図２８】  本発明の一実施の形態による中点検出例を示す説明図である。
【図２９】  本発明の一実施の形態による中点検出例を示す説明図である。
【図３０】  本発明の一実施の形態による距離と頻度の例を示す説明図である。
【図３１】  本発明の一実施の形態による２次元距離分布の例を示す説明図である。
【図３２】  手書き文字Ｚの例を示す説明図である。
【図３３】  本発明の一実施の形態による分割・極点の説明に供する説明図である。
【図３４】  本発明の一実施の形態による境界点の説明に供する説明図である。
【図３５】  本発明の一実施の形態による枠組み構造の説明に供する説明図である。
【図３６】  本発明の一実施の形態による枠組み構造の説明に供する説明図である。
【図３７】  本発明の一実施の形態による枠組み構造の説明に供する説明図である。
【符号の説明】
【０１１１】
１・・・紙
１ａ・・・運筆
２・・・ペン
３・・・入力処理部
４・・・折れ線近似部
５・・・前処理部
６・・・特徴抽出部
７・・・識別部
８・・・識別結果出力部
【図１】
0004092371.tif 000003
【図２】
0004092371.tif 000004
【図３】
0004092371.tif 000005
【図４】
0004092371.tif 000006
【図５】
0004092371.tif 000007
【図６】
0004092371.tif 000008
【図７】
0004092371.tif 000009
【図８】
0004092371.tif 000010
【図９】
0004092371.tif 000011
【図１０】
0004092371.tif 000012
【図１１】
0004092371.tif 000013
【図１２】
0004092371.tif 000014
【図１３】
0004092371.tif 000015
【図１４】
0004092371.tif 000016
【図１５】
0004092371.tif 000017
【図１６】
0004092371.tif 000018
【図１７】
0004092371.tif 000019
【図１８】
0004092371.tif 000020
【図１９】
0004092371.tif 000021
【図２０】
0004092371.tif 000022
【図２１】
0004092371.tif 000023
【図２２】
0004092371.tif 000024
【図２３】
0004092371.tif 000025
【図２４】
0004092371.tif 000026
【図２５】
0004092371.tif 000027
【図２６】
0004092371.tif 000028
【図２７】
0004092371.tif 000029
【図２８】
0004092371.tif 000030
【図２９】
0004092371.tif 000031
【図３０】
0004092371.tif 000032
【図３１】
0004092371.tif 000033
【図３２】
0004092371.tif 000034
【図３３】
0004092371.tif 000035
【図３４】
0004092371.tif 000036
【図３５】
0004092371.tif 000037
【図３６】
0004092371.tif 000038
【図３７】
0004092371.tif 000039