JPH09282415A - 情報処理方法 - Google Patents

情報処理方法

Info

Publication number
JPH09282415A
JPH09282415A JP8091091A JP9109196A JPH09282415A JP H09282415 A JPH09282415 A JP H09282415A JP 8091091 A JP8091091 A JP 8091091A JP 9109196 A JP9109196 A JP 9109196A JP H09282415 A JPH09282415 A JP H09282415A
Authority
JP
Japan
Prior art keywords
vector
stroke
vector sequence
sequence
branch
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.)
Withdrawn
Application number
JP8091091A
Other languages
English (en)
Inventor
Hiroto Yoshii
裕人 吉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP8091091A priority Critical patent/JPH09282415A/ja
Priority to US08/777,249 priority patent/US5982933A/en
Priority to DE69720564T priority patent/DE69720564T2/de
Priority to EP97100342A priority patent/EP0784285B1/en
Priority to CN97102205A priority patent/CN1102270C/zh
Priority to KR1019970000595A priority patent/KR100251068B1/ko
Publication of JPH09282415A publication Critical patent/JPH09282415A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 ストロークの大局的構造特性をうまく反映
し、かつ、カテゴリー間の競合関係をうまく反映したベ
クトルの分類木を生成すること。 【解決手段】 上位から下位へとピラミッド型に階層化
されたベクトル系列(2−2−2)において、上位から
順に下位へと分類効率の最大となるベクトルについて選
択的にベクトルの組を生成して(S1007)分類木を
作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理方法に関
し、特に、ペン等の軌跡入力手段により入力されたスト
ロークを認識する為の情報処理方法に関するものであ
る。
【0002】
【従来の技術】従来、手書き文字認識を行う方法とし
て、分類木を用いて段階的にパターンをカテゴリーに選
別していく方法がある。例えば、特公平6−52537
に記載されているパターン認識方法は、特徴軸に順番を
付けて、その順番に従ってカテゴリー分けを行ってい
る。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
分類木を用いた認識方法では、ノードを作っていく際
に、個々の特徴量のみに注目しているので、パターンの
大局的な様子を判断できない。
【0004】特に、特公平6−52537に従って分類
木を作成し、この分類木を用いて手書き文字認識を行う
と、高い認識率を達成することができなかった。
【0005】かといって、特徴量の多いパターンを認識
するための分類木を作るためには、計算機での計算時間
の問題から、特公平6−52537のように、各々のノ
ードで特徴軸を選ぶ方法を用いなければならないという
ジレンマがあった。
【0006】本発明は、上記従来例に鑑みてなされたも
ので、特徴量の多いパターンの大局的構造特性をうまく
反映し、かつ、カテゴリー間の競合関係をうまく反映し
たストロークベクトルの分類木を生成する方法と、生成
された分類木を用いて、高速で高認識率の文字認識を行
う方法を提供することを目的とする。
【0007】
【課題を解決する為の手段】上記課題を解決する為に、
本発明は、ベクトル列と、該ベクトル列における近傍ベ
クトルを合成して生成されるより上位のベクトル列とが
対応している階層化ベクトル系列を記憶し、前記階層化
ベクトル系列の上位のベクトル列から所定のエントロピ
ーが最大となるベクトルを選択し、前記選択されたベク
トルについて下位のベクトル列の組に展開して分類木を
作成する情報処理方法あるいはコンピュータ可読メモリ
を提供する。
【0008】上記課題を解決する為に、本発明は、好ま
しくは前記ベクトル列は、一ストロークデータを分割
し、各分割ストロークをベクトル量子化して得たものと
する。
【0009】上記課題を解決する為に、本発明は、好ま
しくは前記ベクトルの選択は、分類効率が最大となるベ
クトルを選択する。
【0010】上記課題を解決する為に、本発明は、好ま
しくはストロークを入力し、前記入力したストロークを
分割して各区間のストロークをベクトル量子化してベク
トル列を生成し、前記ベクトル列における近傍ベクトル
を合成してより上位のベクトル列を生成し、前記生成さ
れる下位から上位のベクトル列により構成される階層化
ベクトル系列を記憶し、前記記憶した階層化ベクトル系
列のより上位のベクトル列から下位に向かって順に、前
記分類木をたどって認識する。
【0011】上記課題を解決する為に、本発明は、好ま
しくはデジタイザを利用し、該デジタイザにより前記ス
トロークの入力を行う。
【0012】上記課題を解決する為に、本発明は、好ま
しくは前記認識結果を表示する。
【0013】
【発明の実施の形態】はじめに、本実施の形態の文字認
識方法とその装置のポイントを説明した後、その詳細な
説明に入るものとする。
【0014】本実施の形態の文字認識方法は、学習用ス
トロークを分割し、この分割されたストローク切片をベ
クトル量子化し、その結果得られたベクトル系列を階層
的に処理し、階層化されたベクトル系列に基づいて、分
類木を作成する。
【0015】また、ベクトル系列を階層的に処理する工
程では、学習用ストロークを構成するベクトル系列情報
を段階的に縮退する。
【0016】また、分類木を作成する場合、上の階層で
カテゴリーの競合が最も激しく、かつ、すぐ下の階層で
カテゴリーがよく分離されるベクトルを、後述するエン
トロピー基準に基づいて選び、その結果に基づき縮退さ
れたベクトルを下の階層に向かって展開する。
【0017】また、オンライン手書き文字認識用辞書
は、上述の分類木を内容として保持する。
【0018】さらに、上述の分類木に基づいて、ユーザ
ーが筆記したストロークのカテゴリーを判別する。
【0019】以下、図面に基づいて、本発明に係る一実
施の形態の文字認識方法とその装置を説明する。
【0020】尚、以下、本発明に係る第1、第2の実施
の形態の主題はそれぞれ、分類木の構造とその作成方
法、生成された分類木を用いた文字認識方法である。
【0021】<実施の形態1>図1は、本実施の形態の
オンライン手書き文字認識方法が適用される情報処理装
置のハード構成の一例を示す図である。
【0022】本実施の形態のオンライン手書き文字認識
装置は、ストローク入力装置401、表示装置402、
中央処理装置(CPU)403、メモリ404から、主
に構成される。
【0023】ストローク入力装置401は、例えば、デ
ジタイザとペンを有し、デジタイザの上にペンによって
入力された文字や図形の座標データをCPU403に渡
す。
【0024】表示装置402は、ストローク入力装置4
01に入力されたストロークデータやCPU403が認
識した結果を表示する。
【0025】CPU403は、入力されたストロークデ
ータで構成される文字や図形の認識を行ったり、装置全
体の制御を行ったりする。
【0026】メモリ404は、CPU403が使用する
認識プログラムや辞書を記憶したり、入力されたストロ
ークデータ、認識プログラムの使用する変数等を一時的
に記憶する。
【0027】図2は、本実施の形態のオンライン手書き
文字認識方法が適用される情報処理装置における主にメ
モリ内の構造を示すものである。1は図1にも403と
して示したCPUであり、後述するメモリ2に格納され
ている制御プログラムに従って、本実施の形態において
説明する各処理を実行するものである。後述するフロー
チャートの処理も、実行の為の制御プログラムがメモリ
2に格納され、CPU1により実行されるのは同様であ
る。
【0028】メモリ2は、CPU1が各処理を実行する
為の制御プログラムを格納するプログラム部2−1と、
各種パラメータやデータを格納するデータ部2−2とを
有する。プログラム部は、例えば図10のフローチャー
トの個々の部品がサブルーチンプログラム2−1−1〜
2−1−3として格納される。このサブルーチンプログ
ラムは注目ノードの状態を判別するS1001の処理プ
ログラムであり、ノードを削除するS1002の処理プ
ログラムであり、リーフノードとしてのS1005の処
理プログラムであり、適切なベクトルを選択するS10
06の処理プログラムであり、ベクトルの組みの枝を生
成するS1007の処理プログラムであり、作成された
分類木を利用して入力パターンを認識するプログラムで
ありと、各処理についてのサブルーチンがプログラム部
2−1に格納される。後述する各処理の実行時には、必
要に応じてメモリ2の制御プログラムを読み出し、CP
U1が実行する。データ部2−2には、個々の学習パタ
ーンを暫定的に保持する学習パターンバッファ2−2−
1と、各学習パターンから得たベクトルデータのピラミ
ッド展開したパターンを保持するエリア2−2−2と、
作成途中の分類木を保持する分類木バッファ2−2−3
を有する。
【0029】HDD(ハードディスクドライブ)3は、
全学習パターンを保持し、本実施の形態で説明する方法
により作成された分類木のデータを保持する。
【0030】ここで、メモリ2は、装置内蔵のROM,
RAM,HD等とし、予めプログラム及びデータを格納
しておいても良いし、或は装置本体に着脱可能なFDや
CD−ROM等の記憶媒体から処理に先立ってプログラ
ムやデータを読み込むようにしても良い。また、公衆回
線やLAN等の通信手段を介して他の装置からプログラ
ムやデータを読み込むようにしても良い。
【0031】図3は、本発明に係る一実施の形態のオン
ライン手書き文字認識用の辞書作成方法を最もよく表わ
す処理フロー図である。
【0032】図3において、S101は「学習用ストロ
ークの入力ステップ」、S102は入力した「学習用ス
トローク」を分割する「ストローク分割ステップ」であ
る。
【0033】また、S103は、「ストローク分割ステ
ップ」において分割されたストローク切片をベクトル量
子化する「ベクトル化ステップ」である。
【0034】S104は、「ベクトル化ステップ」の処
理の結果得られたベクトル系列を階層的に処理する「階
層化前処理ステップ」である。
【0035】105は、「階層化前処理ステップ」で生
成された「階層化されたベクトル系列」である。
【0036】S106は、「階層化されたベクトル系
列」に基づいて、分類木を作成する「分類木作成ステッ
プ」である。
【0037】S107は、「分類木作成ステップ」が分
類木を作成する過程で使用する「展開ベクトル判別ステ
ップ」である。
【0038】108は最終的に生成された「分類木」で
ある。
【0039】本実施の形態におけるインプットは、10
1の「学習用ストローク」で、アウトプットは108の
「分類木」となり、このデータはHDD3に記憶され
る。
【0040】以下、図4から図8に基づいて、本発明に
係る一実施の形態の文字認識処理における分類木作成処
理の方法を以下に説明する。
【0041】ここで、理解を容易にするために、認識対
象のカテゴリーとして、1画で書かれた「く」「し」
「つ」の3種類の文字を想定して説明する。
【0042】そして、辞書作成用の学習パターンは
「く」「し」「つ」それぞれに対し100個存在すると
仮定する。ここで、これらを、 TPi,j (Training Pattern
i,j) ここで、iはカテゴリー「つ」,「く」,「し」を表わ
すサフィックスで、 0 <= i <= 2 の範囲の値をとる。また、jは学習パターンナンバーを
示すサフィックスで、ここでは各カテゴリーについて1
00個の学習パターンを入力するので、 1 <= j <= 100 の範囲の値をとるものとする。
【0043】本実施の形態のオンライン手書き文字認識
用辞書作成方法は、図4のフローチャートに示すよう
に、ベクトル生成フェーズ、階層化前処理フェーズ、分
類木作成フェーズの3段階のステップをへて実行され
る。以下、各フェーズの説明を行う。
【0044】(1)ベクトル生成フェーズ 図5に基づいて、ベクトル生成フェーズの様子を詳しく
述べる。
【0045】まず、学習用ストロークはn分割(図5の
例ではn=8となっている)される。図5では、このn
分割は、ストローク距離に関するn等分となっている
が、本発明ではこれに制限されるものではない。
【0046】例えば、始点終点付近のストロークの状態
が不安定なストローク入力装置であれば、始点終点付近
のストロークをいくら詳しくベクトル化してもあまり意
味がない。この様な場合は、n分割における最初と最後
の分割は、その他の分割に比べて長くとっても構わな
い。
【0047】次に、n分割されたそれぞれの切片がベク
トル量子化される。
【0048】図5においては、番号0から番号11まで
の12方向の基本ベクトルに量子化している。この基本
ベクトルの方向は、360度の中で等間隔に並んでいる
が、本発明は、これに制限されるものではない。
【0049】例えば、図5の12方向の基本ベクトルの
中で、実際左上方向の(例えば番号10や番号11)基
本ベクトルは、筆記ストロークの中にはあまり出てこな
い。よって、これらの部分はもっと角度の間隔の開いた
基本ベクトルのセットを用いてもよい。
【0050】以上ベクトル生成フェーズにおいて、図2
のストローク分割ステップとベクトル化ステップが学習
用ストロークすべてに施される。
【0051】図5の例でいうと、入力例のストロークが
基本ベクトル系列「12455421」に変換される。
【0052】(2)階層化前処理フェーズ 次に、ベクトル化された学習用ストロークは、ピラミッ
ド上に階層化前処理が施される。
【0053】図6にその1例を示す。
【0054】図6に於いては、ベクトル化ステップの結
果得られたベクトル系列の隣り合う2個のベクトルの平
均ベクトルを上の階層に格納することによって、ベクト
ル情報が順次半分になっている(言い換えれば、縮退し
ている)。
【0055】結局、図5において、8個の基本ベクトル
系列で表されたストロークを、順次4個、2個、1個の
ベクトルに変換することになる。
【0056】この隣り合う2個のベクトルを平均する1
方法を、図7に基づいて詳しく述べる。
【0057】尚、図6においては、基本ベクトルを12
方向としたが、説明の便宜上、図7では8方向とする。
この様に、基本ベクトルの総数や個々の基本ベクトルの
方向が変わっても、本発明の本質は変らない。
【0058】以下、基本ベクトルは8方向であるという
前提で、以下の説明を行う。また、隣り合う2個のベク
トルの最初の番号を、per、後の番号をpostで示
すことにする。
【0059】この時、2個のベクトルの平均は単純に
は、 (pre+post)/2 となるが、これが基本ベクトルにならない場合が存在す
る。
【0060】一般的に、8方向の等分割ベクトルと8方
向の等分割ベクトルの平均ベクトルは16方向存在する
ので、これを8方向にしなくてはいけない。
【0061】図7はこの方法を示している。
【0062】図7の「→」(800)は、上の階層で右
向き(番号2)のベクトルが存在することを意味し、そ
の下に書かれた8組のベクトルは、下の階層で存在しう
るベクトルの組を意味する。
【0063】つまり、上の階層で番号2のベクトルにな
る(pre,post)の組は、 (2,2)、(1,3) (3,1)、(0,4) (2,3)、(3,2) (1,4)、(4,1) の8組存在する。これは、preとpostの値の平均
(pre+post)/2が1.5より大、かつ2.5
以下という条件の元で成立する組である。
【0064】上の階層のベクトルの番号が番号2以外の
場合は、番号2と同様の考えに基づき、図7のベクトル
組み合わせを全て45度ずつ回転して得られるベクトル
組み合わせを用いる。
【0065】尚、この上の階層のベクトルと下の階層の
2個のベクトルの組み合わせは図7に限ったものではな
く、上の階層のベクトルが下の階層の2個の平均ベクト
ルと見なせうる組み合わせであれば、何でもよい。
【0066】(3)分類木作成フェーズ 階層化前処理フェーズ(2)を経て、学習用ストローク
(TPi,j)の全てが、図6に示すようなベクトルの
ピラミッド形式に下から上へ展開される。ここでの例で
は、「く」「し」「つ」の各カテゴリーについて各々1
00個の学習用ストロークが用いられているので、合計
300個の学習用ストロークについてピラミッド展開が
行われ、メモリ2に格納される。分類木の作成は、この
ベクトルのピラミッド化とは逆に、上から下へ行われ
る。
【0067】なお、以下の説明においては、基本ベクト
ルは図7にある番号0から番号7までの8方向(個)で
あると仮定する。この場合、ベクトルのピラミッド上に
あるベクトルも全てこの基本ベクトルのどれかである。
【0068】最上位の層のベクトルの状態は8個存在す
るので、ルートノードから8本の枝が伸びることになる
(図8)。
【0069】このとき、枝に存在する学習用ストローク
(TPi,j)の数を数える。この結果によって、以後
の処理が3つにわかれる。
【0070】1 学習用ストローク(TPi,j)が1
つも存在しない場合:この場合は、その枝を削除する。
【0071】2 学習用ストローク(TPi,j)の中
で、あるカテゴリー(例えば「つ」)のストロークのみ
存在する場合:この場合は、この枝を葉とし、カテゴリ
ーの番号(例えば「つ」)を割り振る。
【0072】3 上記1、2以外の場合、即ち、複数カ
テゴリーのストロークが混在して存在する場合:この場
合、この枝をノードとして、更に分類木作成を続ける。
【0073】図8に、この処理の結果を示す。図8は、
枝の状態を、図6の最上位の層(以下、第1層と呼ぶ)
のベクトルを図示することによって示している。
【0074】存在するカテゴリーの種類の欄が「×」と
なっている枝は、学習用ストローク(TPi,j)が1
つも存在しない場合に相当し、削除される。
【0075】左から3番目の枝は、「つ」のカテゴリー
の学習用ストロークしか存在しない。これは、学習用ス
トローク(TPi,j)の中で、あるカテゴリー(例え
ば「つ」)のストロークのみが存在する場合に相当し、
葉となる。
【0076】例えば、左から4番目と5番目の枝には
「く」「し」「つ」のカテゴリーの学習用ストロークが
存在し、上記1、2以外の場合、即ち、複数カテゴリー
のストロークが混合して存在する場合に相当し、ノード
となる。
【0077】次に、このノードから枝を作成する方法に
ついて述べる。
【0078】このノードから枝を作成する際に、最も効
率の良い枝の作成を行ないたい。最も効率が良いとは、
結局、枝を展開した時に、最も多くカテゴリーに関する
情報が得られるということである。
【0079】以下、展開した時に最も効率の良くなるベ
クトルを選ぶ方法を説明する。
【0080】あるノードに存在する学習用ストローク
(TPi,j)の中で、カテゴリー番号iが同一の学習
用ストロークの数をNiで表わす。また、このノードに
存在する学習用ストロークの総数をNとすると、このノ
ードにおけるそれぞれのカテゴリーの存在確率piは、 pi=Ni/N で表される。また、あるノードのカテゴリーの種類の数
を、例えば、2とすれば、
【0081】
【外1】 よって、このノードの情報が得られた時のエントロピー
は、以下の式で表される。
【0082】
【外2】 (1)
【0083】次に、このノードにおいて、そのノードで
の一つの学習用ストロークを構成するベクトルからある
ベクトルを選択して、そこから枝を展開した時のエント
ロピーの減少量を計算する。
【0084】上述のとおり、1つのベクトルを下の層に
むかって展開した時の枝の数は8本である。この8本の
枝に学習用ストローク(TPi,j)がどの様に分布す
るかを、展開したときの枝に存在する各カテゴリーごと
の学習用ストローク(TPi,j)の数、即ち、 Ni,b で表す。Ni,bのiはカテゴリー番号を示し、bは枝
(branch)の番号を示す。よって、bの値は1≦
b≦8の範囲を取る。
【0085】このとき、それぞれの枝の情報が得られた
ときのエントロピーは、上の議論と同じく、
【0086】
【外3】 (2) この式で、
【0087】
【外4】 はb番目の枝に存在する学習用ストローク(TPi,
j)の全てのカテゴリーについて総合した総数を表す。
【0088】それぞれの枝にいく確率は、 Nb/N ここで、Nは(1)式のNと同じである。そのため、枝
を展開したときの平均エントロピーは、
【0089】
【外5】 (3) となる。
【0090】結局、エントロピーの平均減少値は、
【0091】
【外6】 (4) となる。
【0092】そして、Kの値を枝の数の対数で割った値
【0093】
【外7】 (5) が、枝を展開したときの分類効率を表す。
【0094】この値が最高となるベクトルを選び、枝を
展開していく。
【0095】なお、1つのベクトルのみを展開するので
はなく、複数のベクトルのグループに関して枝を展開し
てもよい。この場合、(5)式のBranchNumb
erは、 (選択されたベクトルの数)×8 となる。
【0096】尚、本実施の形態においては、(5)式で
表される値を枝を展開したときの分類効率を表わす値と
して採用したが、例えば、文献「Classficat
ion and Regression Trees」
に記載されている”Ginicriterion”等の
枝の展開効率を表す関数ならば(5)式に限らず何でも
よいことは言うまでもない。
【0097】以上、展開するベクトル、またはベクトル
の組が決定されれば、それに従って、枝を展開し、葉及
びノードを作成していく。そして、最後、全部、葉にな
ったところで、分類木作成を完了する。
【0098】以上説明した処理をフローチャートとして
表現した図が図10である。以下、図9に示したような
分類木の生成手順を説明する。
【0099】まず、ステップS1000では、注目ノー
ドをルートノード(図9 200)とする。
【0100】ステップS1001では、設定された注目
ノードに関して、以下の3条件、即ち、 1. 学習用ストロークが存在する。 2. 単一カテゴリー学習パターンのみが存在する。 3. 複数のカテゴリーの学習パターンが存在する。 のどれに当てはまるかチェックして、1.の条件を満た
せば、ステップS1002へ進む。また、2.の条件を
満たせば、ステップS1005へ進む。また、3.の条
件を満たせば、ステップS1006へ進む。
【0101】ステップS1002では、分類木からその
ノードを削除する。
【0102】ステップS1003では、他の全ノード
は、全てリーフノードになったかどうかチェックして、
イエスであれば、処理を終了する。また、ノーであれ
ば、ステップS1004に進み、注目ノードとして次の
ノードを選ぶ。そして、ステップS1001に戻り、同
様の処理を繰り返す。
【0103】ステップS1005では、そのノードをリ
ーフノードとして、そのカテゴリー番号をアサインす
る。そして、ステップS1003に進む。
【0104】ステップS1006では、そのノードに含
まれるベクトル列の中から、上述のエントロピー基準に
基づいて、そのベクトル列中の1つのベクトルを選択す
る。
【0105】ステップS1007では、選択されたベク
トルの下位階層のベクトルの組の枝を生成する。
【0106】図11は、このステップでの処理を説明す
るための図であり、下位階層のベクトルの組の例を示
す。
【0107】図11を参照して、5000が、ステップ
S1006で選択された方向”2”を有するベクトルで
あるとする。このベクトルに対応する下位層でのベクト
ルの組は、8通りの組み合わせベクトル、即ち、500
1、5002、5003、5004、5005、500
6、5007、5008が存在する。そして、これらの
組み合わせベクトルの各々を新しいノードとする各枝を
生成する。
【0108】以上、ステップS1007での処理の具体
例を示した。
【0109】次に、ステップS1008へ進み、生成さ
れた枝のノードの1つを次の注目ノードとする。そし
て、ステップS1001へ戻り、同様の処理を繰り返
す。
【0110】以上説明した手順によって、図8に示すよ
うな分類木を生成することにより、特徴量の多いストロ
ークパターンの大局的分類を維持しながら、類似のカテ
ゴリー間の細かい特徴の違いを反映した分類木を生成で
き、この分類木を探索することで、高速かつ高認識率の
文字認識が可能になる。
【0111】尚、本実施の形態では、学習ストロークが
1本という前提で、本発明に係わるオンライン手書き文
字認識用の辞書作成方法を述べてきたが、実際には何本
のストロークが入力文字として切り出されるシステムで
あっても、それぞれのストロークを本実施の形態と同様
に処理することによって対応できることも言うまでもな
い。
【0112】次に、図9の分類木の生成について、更
に、具体的に説明する。
【0113】図9は、図8を更に下の階層まで表示した
図で、削除した枝は省いてある。図9の四角(□)で囲
ってある枝は葉であることを示す。
【0114】葉以外の全ての枝はノードとなるので、更
に、深く枝の展開が行われるわけであるが、図9におい
ては、左から2番目のノード(201)に関する更なる
枝の展開結果を図示した。
【0115】左から2番目のノード(201)は、
「く」「し」「つ」の3種類のカテゴリーが共存してお
り、枝の展開が必要となっている。
【0116】このノードの状態を表現するベクトルは1
つしか存在しない(○の中に表示されているベクトル)
ので、展開するべきベクトルは一意的に決定する。この
時の展開するベクトルの組み合わせは、図7に記載され
ているベクトルの組みに準ずる。つまり、上の階層のベ
クトルが右下の方向(番号3)のベクトルでありうる下
の階層の2個のベクトルの8つの組合わせに相当する枝
の展開が行われる。この状況は図6において、ベクトル
の展開が第2層まで進んだことを意味する。
【0117】更に、展開した左から2番目の枝のノード
(202)には「し」「く」の2つのカテゴリーが存在
する。よって、更なる枝の展開が必要になる。ここで、
ノードを表現する2個のベクトルのうち、どのベクトル
を展開すべきかについて、「展開ベクトル判別ステッ
プ」(S107)での処理で、最初のベクトルという答
えを出したとする。すると、最初のベクトルの状態に関
して、上の階層と同様に8本の枝が展開され、ある枝は
削除され、ある枝は葉となり、ある枝はノードとなる。
ノードとなった枝は、更に展開しなければならなく、最
終的に全ての枝の末端は葉となる。
【0118】<実施の形態2>第2の実施の形態では、
上述実施の形態で示した処理手順により生成された分類
木を探索して、オンライン手書き文字の認識を行う認識
方法を説明する。
【0119】図12は、本実施の形態のオンライン手書
き文字認識方法が適用される情報処理装置における主に
メモリ内の構造を示すものである。1201は図1にも
403として示したCPUであり、後述するメモリ12
02に格納されている制御プログラムに従って、本実施
の形態において説明する各処理を実行するものである。
後述するフローチャートの処理も、実行の為の制御プロ
グラムがメモリ2に格納され、CPU1201により実
行されるのは同様である。
【0120】メモリ1202は、CPU1201が各処
理を実行する為の制御プログラムを格納するプログラム
部1202−1と、各種パラメータやデータを格納する
データ部1202−2とを有する。プログラム部は、例
えば図13のフローチャートの個々の部品がサブルーチ
ンプログラムとして格納される。このサブルーチンプロ
グラムはストロークを分割するS302の処理プログラ
ムであり、ベクトル化するS303の処理プログラムで
あり、階層化前処理のS304の処理プログラムであ
り、カテゴリー判別のS307の処理プログラムであ
り、と、各処理についてのサブルーチンがプログラム部
1202−1に格納される。後述する各処理の実行時に
は、必要に応じてメモリ1202の制御プログラムを読
み出し、CPU1201が実行する。データ部1202
−2には入力装置1204から入力した、ユーザ記入の
入力パターンを保持するバッファと、その入力パターン
から得たベクトルデータのピラミッド展開したパターン
を保持するエリアと、入力パターンの認識候補を保持す
るバッファを有する。
【0121】HDD(ハードディスクドライブ)120
3は、先の実施の形態で説明した方法により作成された
分類木のデータを保持する。
【0122】ここでメモリ1202は、装置内蔵のRO
M、RAM、HD等とし、予めプログラム及びデータを
格納しておいても良いし、或は装置本体に着脱可能なF
DやCD−ROM等の記憶媒体から処理に先立ってプロ
グラムやデータを読み込むようにしても良い。また、公
衆回線やLAN等の通信手段を介して他の装置からプロ
グラムやデータを読み込むようにしても良い。
【0123】図13は、この処理手順を最もよく表わす
フローチャートである。
【0124】図13を参照して、301は、ユーザーが
入力した「筆記ストローク」のデータを示す。この筆記
ストロークは、第1の実施の形態で示した「学習用スト
ローク」(101)と同様のものである。
【0125】ステップS302は、「筆記ストローク」
を分割する「ストローク分割ステップ」である。
【0126】ステップS303は、前記「ストローク分
割ステップ」において分割されたストローク切片をベク
トル量子化する「ベクトル化ステップ」、ステップS3
04は、前記「ベクトル化ステップ」の結果得られたベ
クトル系列を階層的に処理する「階層化前処理ステッ
プ」である。
【0127】そして、305は、「階層化前処理ステッ
プ」で処理された後の「階層化されたベクトル系列」で
ある。
【0128】ステップS307は、「階層化されたベク
トル系列」(305)を元に「分類木」(306)の分
類内容に従って、「筆記ストローク」(301)のカテ
ゴリーを決定する「カテゴリー判別ステップ」である。
【0129】ここで、「分類木」(306)は、カテゴ
リー分類に必要な情報をまとめた分類木であり、その内
容は、第1の実施の形態ですでに説明した方法で作成し
うる分類木であることが望ましい。
【0130】尚、上述の「ストローク分割ステップ」
(S302)、「ベクトル化ステップ」(S303)、
「階層化前処理ステップ」(S304)の3つのステッ
プでの処理はそれぞれ、第1の実施の形態の「ストロー
ク分割ステップ」(S102)、「ベクトル化ステッ
プ」(S103)、「階層化前処理ステップ」(S10
4)の各処理3つのステップでの処理と同様である。
【0131】また、「階層化されたベクトル系列」(3
05)については、第1の実施の形態での場合は、学習
パターンの数だけ存在したが、本実施の形態において
は、筆記されたストロークから導き出された1つのみで
ある。
【0132】また、「カテゴリー判別ステップ」(S3
07)では、図9の分類木に基づき、「階層化されたベ
クトル系列」(305)をたぐって葉に到達した時点
で、その葉に存在するカテゴリーを認識結果として出力
する。
【0133】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器からなる装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって実施される場合にも適用で
きることは言うまでもない。この場合、本発明に係るプ
ログラムを格納した記憶媒体が本発明を構成することに
なる。そして、該記憶媒体からそのプログラムをシステ
ム或は装置に読み出すことによって、そのシステム或は
装置が、予め定められた仕方で動作する。
【0134】以上説明したように、本実施の形態によれ
ば、第1の実施の形態の分類木生成方法によって生成さ
れた、カテゴリー間の競合関係をうまく反映したストロ
ークベクトルの分類木を用いることで、極めて高速で認
識率の高いオンライン手書き文字認識を実現できる。
【0135】
【発明の効果】以上説明したように本発明によれば、特
徴量の多いパターンの大局的構造特性をうまく反映し、
かつ、カテゴリー間の競合関係をうまく反映したストロ
ークベクトルの分類木を生成でき、生成された分類木を
用いて、高速で高認識率の文字認識が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の情報処理方法が適用さ
れる情報処理装置の構成を示すブロック図である。
【図2】本発明の一実施の形態の情報処理装置の構成図
である。
【図3】本発明の一実施の形態のオンライン手書き文字
認識辞書の生成方法を表わす図である。
【図4】本発明の一実施の形態のオンライン手書き文字
認識辞書の生成方法の処理の流れを示すフローチャート
である。
【図5】ストローク生成フェーズの処理を説明するため
の図である。
【図6】階層化されたベクトル系列を示す図である。
【図7】ベクトル平均化処理を説明するための図であ
る。
【図8】分類木の様子を示す図である。
【図9】オンライン手書き文字認識辞書の分類木のデー
タ構成を表わす図である。
【図10】第1の実施の形態の分類木生成処理の詳細な
フローチャートである。
【図11】図10のステップS1007の枝生成の一例
を示した図である。
【図12】第2の実施の形態の情報処理装置の構成図で
ある。
【図13】第2の実施の形態のオンライン手書き文字認
識処理を示す図である。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 ベクトル列と、該ベクトル列における近
    傍ベクトルを合成して生成されるより上位のベクトル列
    とが対応している階層化ベクトル系列を記憶し、 前記階層化ベクトル系列の上位のベクトル列から所定の
    エントロピーが最大となるベクトルを選択し、 前記選択されたベクトルについて下位のベクトル列の組
    に展開して分類木を作成することを特徴とする情報処理
    方法。
  2. 【請求項2】 前記ベクトル列は、一ストロークデータ
    を分割し、各分割ストロークをベクトル量子化して得た
    ものとすることを特徴とする請求項1に記載の情報処理
    方法。
  3. 【請求項3】 前記ベクトルの選択は、分類効率が最大
    となるベクトルを選択することを特徴とする請求項1に
    記載の情報処理方法。
  4. 【請求項4】 ストロークを入力し、 前記入力したストロークを分割して各区間のストローク
    をベクトル量子化してベクトル列を生成し、 前記ベクトル列における近傍ベクトルを合成してより上
    位のベクトル列を生成し、 前記生成される下位から上位のベクトル列により構成さ
    れる階層化ベクトル系列を記憶し、 前記記憶した階層化ベクトル系列のより上位のベクトル
    列から下位に向かって順に、前記分類木をたどって認識
    することを特徴とする請求項1に記載の情報処理方法。
  5. 【請求項5】 デジタイザを利用し、該デジタイザによ
    り前記ストロークの入力を行うことを特徴とする請求項
    に記載4の情報処理方法。
  6. 【請求項6】 前記認識結果を表示することを特徴とす
    る請求項4に記載の情報処理方法。
  7. 【請求項7】 ベクトル列と、該ベクトル列における近
    傍ベクトルを合成して生成されるより上位のベクトル列
    とが対応している階層化ベクトル系列を利用し、 前記階層化ベクトル系列の上位のベクトル列から所定の
    エントロピーが最大となるベクトルを選択し、 前記選択されたベクトルについて下位のベクトル列の組
    に展開して分類木を作成することを特徴とするコンピュ
    ータ可読メモリ。
  8. 【請求項8】 前記ベクトル列は、一ストロークデータ
    を分割し、各分割ストロークをベクトル量子化して得た
    ものとすることを特徴とする請求項7に記載のコンピュ
    ータ可読メモリ。
  9. 【請求項9】 前記ベクトルの選択は、分類効率が最大
    となるベクトルを選択することを特徴とする請求項7に
    記載のコンピュータ可読メモリ。
  10. 【請求項10】 学習用ストロークを入力し、 前記入力したストロークを分割して各区間のストローク
    をベクトル量子化してベクトル列を生成し、 前記ベクトル列における近傍ベクトルを合成してより上
    位のベクトル列を生成して前記階層化ベクトル系列を、
    生成することを特徴とする請求項7に記載のコンピュー
    タ可読メモリ。
  11. 【請求項11】 前記学習用ストロークを記憶した記憶
    媒体から学習用ストロークを読取ることを特徴とする請
    求項7に記載のコンピュータ可読メモリ。
  12. 【請求項12】 ストロークを入力し、 前記入力したストロークを分割して各区間のストローク
    をベクトル量子化してベクトル列を生成し、 前記ベクトル列における近傍ベクトルを合成してより上
    位のベクトル列を生成し、 前記生成される下位から上位のベクトル列により構成さ
    れる階層化ベクトル系列を記憶し、 前記記憶した階層化ベクトル系列のより上位のベクトル
    列から下位に向かって順に、前記分類木をたどって認識
    することを特徴とする請求項7に記載のコンピュータ可
    読メモリ。
  13. 【請求項13】 デジタイザを利用し、該デジタイザに
    より前記ストロークの入力を行うことを特徴とする請求
    項12に記載のコンピュータ可読メモリ。
  14. 【請求項14】 前記認識結果を表示することを特徴と
    する請求項12に記載のコンピュータ可読メモリ。
JP8091091A 1996-01-12 1996-04-12 情報処理方法 Withdrawn JPH09282415A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP8091091A JPH09282415A (ja) 1996-04-12 1996-04-12 情報処理方法
US08/777,249 US5982933A (en) 1996-01-12 1996-12-31 Information processing method, information processing apparatus, and storage medium
DE69720564T DE69720564T2 (de) 1996-01-12 1997-01-10 Verfahren, Gerät und Computerprogrammprodukt zur Erzeugung von einem Klassifikationsbaum
EP97100342A EP0784285B1 (en) 1996-01-12 1997-01-10 Method, apparatus and computer program product for generating a classification tree
CN97102205A CN1102270C (zh) 1996-01-12 1997-01-10 信息处理方法和信息处理设备
KR1019970000595A KR100251068B1 (ko) 1996-01-12 1997-01-11 정보 처리 방법,정보 처리 장치 및 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8091091A JPH09282415A (ja) 1996-04-12 1996-04-12 情報処理方法

Publications (1)

Publication Number Publication Date
JPH09282415A true JPH09282415A (ja) 1997-10-31

Family

ID=14016858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8091091A Withdrawn JPH09282415A (ja) 1996-01-12 1996-04-12 情報処理方法

Country Status (1)

Country Link
JP (1) JPH09282415A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064204A (ja) * 2010-08-18 2012-03-29 Canon Inc 情報処理装置、情報処理方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064204A (ja) * 2010-08-18 2012-03-29 Canon Inc 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
US5982933A (en) Information processing method, information processing apparatus, and storage medium
US7414637B2 (en) Placement of map labels
US7502511B2 (en) Shape grammar interpreter
CN109948742A (zh) 基于量子神经网络的手写体图片分类方法
CN106295531A (zh) 一种手势识别方法和装置以及虚拟现实终端
CN103150741B (zh) 一种快速骨骼化二值数字图像中图形的方法
Zeng et al. Using a neural network to approximate an ensemble of classifiers
Malakar et al. Offline music symbol recognition using Daisy feature and quantum Grey wolf optimization based feature selection
KR100242458B1 (ko) 패턴인식 방법 및 장치와 패턴인식 사전을 작성하는 방법
US6233352B1 (en) Information processing method and apparatus
JP3896868B2 (ja) パターンの特徴選択方法及び分類方法及び判定方法及びプログラム並びに装置
Xia et al. Vecfontsdf: Learning to reconstruct and synthesize high-quality vector fonts via signed distance functions
CN113095501A (zh) 一种基于深度强化学习的不平衡分类决策树生成方法
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
KR20030035890A (ko) 적절한 네트워크형상인 준-최소 트리의형성·탐색·생성방법 및 그 프로그램을 기록한정보기록매체
JPH09282415A (ja) 情報処理方法
JP3636525B2 (ja) 文字認識方法とその装置
Sun et al. Genetic algorithms for error-bounded polygonal approximation
CN114792397A (zh) 一种sar影像城市道路提取方法、系统以及存储介质
CN106909894A (zh) 车辆品牌型号识别方法和系统
Vasin et al. Geometric modeling of raster images of documents with weakly formalized description of objects
Chuang et al. Automatic classification of block-shaped parts based on their 2D projections
Gilson et al. An empirical comparison of neural techniques for edge linking of images
CN112991402A (zh) 一种基于改进差分进化算法的文物点云配准方法及系统
Naik et al. A comparative study of complexity of handwritten Bharati characters with that of major Indian scripts

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030701