(57)【特許請求の範囲】
【請求項１】
入力された認識対象パターンが、予め定められた複数のカテゴリのいずれに該当するかを判別するパターン認識装置において、
各カテゴリ毎に、そのカテゴリの学習サンプル群からそのカテゴリを代表する参照パターンを求め、各カテゴリ毎にその参照パターンを記憶した認識辞書を作成する認識辞書作成手段と、
Ｋ（Ｋ≧１）段階の各絞込段階ｈ（ｈ＝１，２，…，Ｋ）毎に、前記各カテゴリについて、そのカテゴリの学習サンプル群からそれぞれその絞込段階ｈに応じた数Ｎh個（Ｎh＞０，Ｎi＜Ｎi+1，ｉ＝１，２，…，Ｋ−１）の参照パターンを求めることにより、当該絞込段階ｈの候補認識辞書Ｄhを作成する候補認識辞書作成手段と、
前記認識対象パターンに近い所定数Ｐ0個の参照パターンを候補として前記認識辞書から検出する候補検出手段と、
絞込段階１の絞込処理として、前記候補検出手段で検出された各候補が代表する各カテゴリに属する参照パターンのうち、前記認識対象パターンによりよく適合する所定数Ｐ1個の参照パターンを絞込段階１の候補として求めるとともに、絞込段階ｈ（ｈ＝２，…，Ｋ）の絞込処理として、前絞込段階（ｈ−１）で求められた各候補の属する各カテゴリについて、現絞込段階ｈの候補認識辞書Ｄhからそれら各カテゴリの参照パターン群を取得し、これら取得した参照パターン群から前記認識対象パターンに近い順に、当該絞込段階ｈに対応して定められた所定数Ｐh（Ｐh＞１，Ｐh＜Ｐh-1）個の参照パターンを抽出し、抽出した各参照パターンを現絞込段階ｈの候補として求める候補絞込手段と、
前記候補絞込手段に、前記各絞込段階の順に、当該絞込段階の前記候補認識辞書を用いて段階的に絞込を行わせて認識結果を求める認識制御手段であって、各絞込段階ｈ毎に、前記候補絞込手段で得られたＰh個の参照パターンを調べ、これら参照パターン群がすべて同一のカテゴリに属する場合に、そのカテゴリを認識結果として出力し、認識処理を終了する認識制御手段と、
を備えるパターン認識装置。
【請求項２】
前記認識辞書作成手段は、各カテゴリ毎に、そのカテゴリのすべての学習サンプルの代表値を求め、その代表値を該カテゴリの参照パターンとして記憶させることにより認識辞書を作成することを特徴とする請求項１記載のパターン認識装置。
【請求項３】
前記候補認識辞書作成手段は、絞込段階ｈ（ｈ＝１，２，…，Ｋ）の候補認識辞書Ｄhを作成するに当たり、各カテゴリ毎に、そのカテゴリのすべての学習サンプルをその絞込段階ｈに応じて定められたＮh個のクラスタにクラスタリングし、前記Ｎh個のクラスタの代表値をそれぞれ求め、求めたＮh個の代表値を当該カテゴリのＮh個の参照パターンとして記憶させることにより候補認識辞書Ｄhを作成することを特徴とする請求項１記載のパターン認識装置。
【請求項４】
前記候補検出手段は、入力された前記認識対象パターンを前記認識辞書に格納されている各参照パターンと比較し、前記認識対象パターンに近い順に所定数Ｐ0（Ｐ0＞１）個の参照パターンを求め、求めた参照パターンを候補とすることを特徴とする請求項１記載のパターン認識装置。
【請求項５】
前記認識制御手段は、最後の絞込段階Ｋについて前記候補絞込手段で得られたＰK個の参照パターン群が同一のカテゴリでない場合に、それら参照パターン群のうち前記認識対象パターンに最も近い参照パターンの属するカテゴリを認識結果として出力することを特徴とする請求項１記載のパターン認識装置。
【請求項６】
入力された認識対象パターンが予め定められた複数のカテゴリのいずれに属するかを認識するパターン認識装置であって、
各絞込段階ｈ（ｈ＝１，２，…，Ｋ）毎に作成された認識辞書Ｄhであって、それぞれが、前記カテゴリ毎に、そのカテゴリの学習サンプル群を、対応する絞込段階ｈに応じたクラスタ数Ｎh（Ｎh＞０，Ｎi＜Ｎi+1，ｉ＝１，２，…，Ｋ−１）に分類して得られた各クラスタを代表するＮh個の参照パターンを保持する複数の認識辞書と、
前記各絞込段階ｈ毎に、その絞込段階ｈの認識辞書Ｄhから、その前の絞込段階（ｈ−１）で得られた各候補の属する各カテゴリに属する参照パターン群を取得し、これら取得した各参照パターンの中から前記認識対象パターンに近いものを所定数Ｐh（Ｐh＞１，Ｐh＜Ｐh-1）個選んで当該絞込段階ｈの候補とする候補絞込手段と、
前記候補絞込手段の絞込段階ｈの絞込処理で選ばれたＰh個の候補が全て同じカテゴリに属する場合そのカテゴリを前記認識対象パターンのカテゴリと判定し、そうでない場合は前記候補絞込手段に次の絞込段階（ｈ＋１）の絞込処理を行わせる認識制御手段と、
を備えるパターン認識装置。
【請求項７】
入力された認識対象パターンが予め定められた複数のカテゴリのいずれに該当するかを認識するパターン認識方法であって、
各絞込段階ｈ（ｈ＝１，２，…，Ｋ）毎の認識辞書Ｄhを作成するステップであって、前記各カテゴリ毎に、そのカテゴリの学習サンプル群を、対応する絞込段階に応じたクラスタ数Ｎh（Ｎh＞０，Ｎi＜Ｎi+1，ｉ＝１，２，…，Ｋ−１）のクラスタに分類し、これら各クラスタごとにそれぞれそのクラスタを代表する参照パターンを求め、これら求めた参照パターンをそれぞれ前記各カテゴリに対応づけて記憶することにより認識辞書Ｄhを作成する辞書作成ステップと、
前記各絞込段階ｈの順に、当該絞込段階ｈの認識辞書Ｄhから、その前の絞込段階（ｈ−１）で得られた候補の属する各カテゴリの参照パターン群を取得し、これら取得した各参照パターンの中から前記認識対象パターンに近いものを所定数Ｐh（Ｐh＞１，Ｐh＜Ｐh-1）個選んで当該絞込段階ｈの候補として選択する候補絞込ステップと、
絞込段階ｈについての前記候補絞込ステップで選ばれたＰh個の候補が全て同じカテゴリに属する場合そのカテゴリを前記認識対象パターンのカテゴリと判定し、そうでない場合は次の絞込段階（ｈ＋１）について前記候補絞込ステップを実行する認識制御ステップと、
を含むパターン認識方法。
【請求項８】
前記認識辞書作成ステップでは、各絞込段階ｈの認識辞書Ｄhを作成するに当たり、前記各クラスタごとにそのクラスタに属する学習サンプル群の代表値を求め、この代表値を前記参照パターンとすることを特徴とする請求項７記載のパターン認識方法。
【請求項９】
最後の絞込段階について前記候補絞込ステップで得られた参照パターン群が同一のカテゴリでない場合に、それら参照パターン群のうち前記認識対象パターンに最も近い参照パターンの属するカテゴリを認識結果として出力することを特徴とする請求項７記載のパターン認識方法。
【請求項１０】
前記候補絞込ステップで選択する候補の数は、後の絞込段階ほど小さい数に定められることを特徴とする請求項７記載のパターン認識方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを利用したパターン認識装置及び方法に関する。
【従来の技術】
パターン認識は、与えられるパターンが既存のパターンのカテゴリのいずれに該当するかを求める技術であり、文字認識や図形認識、音声認識、構造認識などの各種分野への応用が期待されている。
【０００２】
パターン認識における典型的な認識処理手法として認識辞書を利用するものがある。この手法では、まず予め想定した各カテゴリ毎にそのカテゴリの学習サンプルのパターンを多数用意し、それら学習サンプル群から当該カテゴリを代表する参照パターンを求め、求めた各カテゴリの参照パターンを記憶装置に記憶して認識辞書を作成する。そして、認識対象のパターンが与えられると、そのパターンを、認識辞書に格納されているすべての参照パターンと比較し、そのパターンに最も近い参照パターンに対応するカテゴリを、そのパターンの認識の結果として出力する。
【０００３】
【発明が解決しようとする課題】
しかし、カテゴリ内の学習サンプルの分布がばらつき、数が多い場合は、参照パターンが対応カテゴリの学習サンプルの全体を反映することは困難となり、認識率の低下を招く。このことを説明するために、例えばパターンを各種の特徴量の組で表現し、同一カテゴリ内の学習サンプル群について特徴量の平均値（中心値）を求め、この平均値を当該カテゴリの参照パターンとする場合を考える。図６に示すように、カテゴリｘに該当すべきパターンｓを上述の従来手法で認識しようとした場合、パターンｓとカテゴリｘの参照パターンｒｘとの間の距離が、パターンｓとカテゴリｙの参照パターンｒｙとの間の距離より大きいので、パターンｓはカテゴリｙに該当すると誤認される。
【０００４】
このような誤認問題の解決を目論む従来技術として、例えば、特開昭６３−１２９４８８号公報には、マルチフォント文字パターンを認識するために、各文字毎に多数の参照パターンを認識辞書に記憶しておき、その認識辞書を用いて認識を行う方法が開示されている。しかしながら、この方法では、認識辞書に含まれる参照パターンの数が非常に多くなり、それら多数の参照パターンと総当たりで比較することになるため、認識時間が無視できないものになるという問題がある。カテゴリ数が多い場合には、パターン認識に要する処理時間は膨大なものとなってしまう。
【０００５】
認識時間の短縮を目論む技術としては、例えば特開平１０−１６２１０３号公報に、手書き文字学習サンプルを用いて手書き文字認識辞書を、活字文字学習サンプルを用いて活字文字認識辞書をそれぞれ作成しておき、入力された文字パターンが手書き文字か活字文字かをまず判断し、手書き文字の場合は手書き文字認識辞書を、活字文字の場合は活字文字認識辞書をそれぞれ用いて認識を行う方法が開示されている。しかしながら、文字フォントの種類が多いので、文字フォントの種類をすべて区別するのは容易ではないし、同じ文字フォントでも手書き文字の場合は学習サンプルの分布が一定の法則に従わないので、１つの参照パターンで学習サンプルを表現すると前述の誤認問題が発生し、認識率に影響を与える。
【０００６】
本発明は、上述した事情に鑑みてなされたもので、入力パターンを高精度かつ高速に認識することのできるパターン認識装置及びパターン認識方法を提供することを目的とするものである。
【０００７】
【課題を解決するための手段】
本発明では、各カテゴリ毎に、そのカテゴリ代表となる参照パターンを１つ保持した認識辞書を作成すると共に、そのカテゴリを段階的に細分化し、順に参照パターンの数が多くなるよう段階的に１以上の候補認識辞書を作成する。パターン認識処理では、まず与えられた認識対象パターンに近い参照パターン群を認識辞書から求めて候補とし、これら候補を、段階的に詳細化される候補認識辞書を用いて、段階的に絞り込んでいく。これら各段階を絞込段階と呼ぶ。各絞込段階毎に、得られた候補が同一カテゴリに属するか否かを判定し、同一カテゴリであれば、そのカテゴリを認識対象パターンの属するカテゴリの認識結果とする。同一カテゴリでなければ、得られた候補を、次の絞込段階の候補認識辞書を用いて再度絞り込む。すなわち、再度の絞込段階での絞込処理では、前段階で得られた候補のカテゴリを求め、現段階の候補認識辞書からそれら各カテゴリの参照パターン群を求め、これら参照パターン群の中から認識対象パターンに近いものを候補として選び出す。以上の絞込処理を、絞込結果の候補群が同一カテゴリとなるまで繰り返す。
【０００８】
本発明では、順次詳細化されていく候補認識辞書を用いて候補を絞り込んでいくので、順次認識対象パターンにより近い候補が選ばれるようになる。したがって、最終的に得られる認識結果は、認識対象パターンに非常に近い候補から定められることになり、認識精度が向上する。また、最初から各カテゴリ毎に多数の参照パターンを含んだ詳細な辞書を用いて総当たりで調べるのではないので、処理の高速化が見込める。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態（以下、実施形態という）を図面を参照して説明する。
【００１０】
図１は本発明に係る認識装置の認識処理の原理を説明するための図である。本実施形態の認識装置１は、認識辞書作成部１１及び認識辞書１１ａ、候補認識辞書作成部１２及びＫ（Ｋ≧１）個の候補認識辞書１２１、１２２、…１２Ｋ、候補検出部１３、候補絞込部１４及び認識制御部１５を含む。この装置１は、入力された認識対象のパターンが、予め定められた各カテゴリのいずれに該当するかを認識するための装置である。例えば文字認識の場合、「あ」、「い」などの各文字種が、それぞれここでいうカテゴリである。そして、紙に印刷された特定の「あ」という文字や、ある人が書いた「あ」の手書き文字などが、文字種「あ」のカテゴリに属する個別のパターンということになる。なお、以下の説明から分かるように、この装置１は、文字、図形、音声、構造など、どのような形式のパターンにも適用可能である。
【００１１】
認識辞書作成部１１は、記憶部１８に予め記憶された各カテゴリの学習サンプル群から、各カテゴリ毎にその代表となる参照パターンを求め、各カテゴリ毎に１つの参照パターンを登録した認識辞書１１ａを作成する。候補認識辞書作成部１２は、記憶部１８の学習サンプル群から、Ｋ個の候補認識辞書１２１〜１２Ｋを作成する。Ｋは予め定められた数であり、後述する候補絞込処理の上限段階数に相当する。各候補認識辞書１２ｈ（ｈ＝１，２，…，Ｋ）は、それぞれ第ｈ番目の候補絞込段階で用いる辞書である。候補認識辞書１２ｈやその作成方法等の詳細については後述する。
【００１２】
候補検出部１３は、認識辞書１１ａに格納されている参照パターンの中から、入力された認識対象パターンに対して最も近いＰ０個（Ｐ０は予め定められた数）の参照パターンを候補として検出する。候補絞込部１４は、候補認識辞書１２ｈを用いて候補の絞込を行う。絞込の処理は、ｈ＝１，２，…，Ｋの順番で各絞込段階ｈ毎に繰り返し行う。各絞込段階ｈでは、１つ前の絞込段階（ｈー１）で求められた各候補について、その候補の属するカテゴリの参照パターン群を、現段階ｈに対応する候補認識辞書１２ｈから取り出し、それらの中から認識対象パターンにもっとも近いＰｈ（Ｐｈはｈに対応して予め定めた数。ただしＰｈ＜Ｐｈ−１）個の参照パターンを検出し、これらを絞り込まれた候補として出力する。
【００１３】
認識制御部１５は、候補絞込部１４で絞り込まれたＰｈ個の候補の参照パターンが同一カテゴリに属するかどうかを判定する。この判定で、Ｐｈ個のパターンが同一カテゴリの参照パターンであると分かれば、認識制御部１５は、そのカテゴリを認識結果として出力し、一連の認識処理を終了する。そうでなければ、認識制御部１５は、それらＰｈ個の各参照パターンを、絞込段階ｈでの候補として候補絞込部１４に渡し、候補絞込部１４に次の段階（ｈ＋１）の絞込処理を行わせる。このようにして段階的に絞込処理を繰り返し、最後の絞込段階Ｋで求めたＰＫ個の候補参照パターンが同一カテゴリでなければ、それらＰＫ個の参照パターンの中で最も認識対象パターンに近い参照パターンを選び、この参照パターンの属するカテゴリを認識結果として出力する。
【００１４】
以上概略的に説明したが、次に認識装置１の詳細構成について図２〜図４を用いて説明する。
【００１５】
図２は認識装置１の構成を示す図である。認識パターン格納部１７は、認識対象パターンの構造データを格納している。パターンの構造データは、パターンの表現方式により異なる。例えば、特徴量でパターンを表現する方式の場合は、特徴量（又は１組の特徴量）がパターンの構造データとして格納される。また、グラフ理論上のグラフでパターンを表現する場合は、パターンに対応している重み付きグラフなどが、パターンの構造データとして格納される。また、パターンが文字や図形その他の画像である場合、そのパターンを表すビットマップ等の画像データそのものを、そのパターンの構造データとして用いることもできる。
【００１６】
認識辞書１１ａは、認識辞書作成部１１（図１参照）で作成された認識辞書であり、具体的には前述の辞書データ（すなわち各カテゴリ毎の参照パターンの情報）を格納した記憶装置である。
【００１７】
図３は、認識辞書１１ａ内の辞書データのデータ構造の一例を示す図である。例えばカテゴリの数がｍ個であるとすると、辞書データ３０は、ｍ個のフィールドから構成される。各フィールドには、それぞれ対応するカテゴリｉ（ｉ＝１，２，…，ｍ）の参照パターン３ｉが格納される。すなわち、辞書データ３０は、カテゴリ１〜ｍのそれぞれの参照パターン３１〜３ｍから構成される。
【００１８】
候補認識辞書１２１〜１２Ｋは、候補認識辞書作成部１２で作成された候補認識辞書のデータを格納する。図４は、ｈ番目の候補認識辞書１２ｈ内の辞書データを示す図である。この辞書は、第ｈ番目の絞込段階で用いられるものである。図に示すようにｈ番目の候補認識辞書データ４ｈ０は階層構造になっている。辞書データ４ｈ０には、カテゴリ１、カテゴリ２、…、カテゴリｍに対応して、参照パターン群４ｈ１、参照パターン群４ｈ２、…、参照パターン群４ｈｍが含まれている。すべてのカテゴリｉの参照パターン群４ｈｉは、全てＮｈ個の参照パターンから構成される。すなわち、辞書データ４ｈ０には、各カテゴリ毎に、参照パターン４ｈ１１，４ｈ１２，…，４ｈ１Ｎｈの合計Ｎｈ個の参照パターンが含まれることになる。ここで、Ｎｈは、絞込段階の番号ｈに対応して予め定めた数であり、ｈが大きくなるにつれて大きくなるように定めている。すなわち、Ｎｉ＜Ｎｉ＋１である。
【００１９】
メモリＭ１は、認識対象パターン格納部１７から読み出された１つの認識対象パターンの構造データを格納する。
【００２０】
メモリＭ２は、候補絞込部１４での絞込処理の対象となる候補群を格納する。すなわち、メモリＭ２には、候補検出部１３で検出されたＰ０個の候補（参照パターン）の名前と構造データ、または候補絞込部１４で絞り込まれたＰｈ−１個（添え字ｈ−１は前絞込段階の結果であることを示す）の候補の名前と構造データを格納する。メモリＭ２に格納している候補は、ｈ（ｈ＝１，２，…，Ｋ）回目の候補絞込段階の入力データとなる。第１番目の絞込段階（すなわちｈ＝１）のときの入力データは候補検出部１３で検出された候補であり、第２段階以後の絞込段階ｈでは、候補絞込部１４で前段階に候補認識辞書Ｄｈ−１（ｈ＝２，３，…，Ｋ）を用いて求められた候補が入力データとなる。
【００２１】
メモリＭ３は、候補絞込部１４で候補認識辞書Ｄｈ（ｈ＝１，２，…，Ｋ）から求められたＰｈ個の候補の名前と構造データを格納する。
候補検出部１３は、認識辞書１１ａから、メモリＭ１に格納された認識パターンともっとも近いＰ０個の候補（参照パターン）を求め、その結果をメモリＭ２に記憶させる。
【００２２】
候補絞込部１４は、ｈ＝１，２，…，Ｋの順番で各絞込段階ｈ毎に、以下のような処理を行う。まず、メモリＭ２に格納された各候補（これらは前段階の絞込処理の結果である）の属するカテゴリを求め、絞込段階ｈに対応する候補認識辞書Ｄｈ（１２ｈ）から、それらカテゴリに属する参照パターン群を取り出す。そして、それら取り出した参照パターン群の中から、メモリＭ１に格納された認識対象パターンにもっとも近いＰｈ個の候補を求め、その結果をメモリＭ３に記憶させる。
【００２３】
認識制御部１５は、メモリＭ３に格納されたＰｈ個の候補が同一カテゴリの参照パターンであれば、その候補に対応するカテゴリを認識結果として出力し、そうでなければ、メモリＭ３の内容をメモリＭ２にコピーし、候補絞込部１４に次の絞込段階（ｈ＋１）の処理を行わせる。そして、認識制御部１５は、最後の絞込段階（すなわちｈ＝Ｋ）において候補認識辞書ＤＫから求められたＰＫ個の絞込結果の候補が同一カテゴリでない場合には、それら最終候補の中でメモリＭ１内の認識対象パターンともっとも近い候補を選び、その候補の属するカテゴリを認識結果とする。
【００２４】
記憶部１６には、認識制御部１５で認識されたカテゴリの情報が保存される。
以上に説明した本実施形態に係る認識装置１は、コンピュータシステムを用いて構築することができる。図５は、認識装置１のプラットフォームとして用いることのできるコンピュータシステムの一例を示している。
【００２５】
図５において、コンピュータシステム２は、キーボート２１、外部記憶装置２２、ディスプレイ２３、プロセッサ部２４から構成される。キーボート２１は、ユーザが操作を指示するための入力装置であり、この他にマウス等その他の入力装置が付加されていてもよい。外部記憶装置２２は、前述の認識対象パターンの構造データや、認識辞書データ及び候補認識辞書データや、認識結果や、前述の処理手順を実現するためのソフトウェアを格納する。また、認識対象パターン格納部１７、認識辞書１１ａと候補認識辞書１２１〜１２Ｋを、この外部記憶装置２２の一部として構成することができる。さらに、記憶部１６によって認識されたカテゴリの名前と構造データを格納してもよい。外部記憶装置２２は、例えばハードディスクなどで構成することができる。ディスプレイ２３は、ユーザに対するメッセージや認識対象パターンのデータ、認識の結果などを表示するための出力装置である。もちろん音声出力その他の出力装置が付加されていてもよい。プロセッサ部２４は、外部記憶装置２２に格納されているソフトウェアなどに従って、実際の処理を行う。プロセッサ部２４は、具体的にマイクロプロセッサやメモリなどから構成される。そして、候補検出部１３、候補絞込部１４、認識制御部１５は、このプロセッサ部２４の上で動作するソフトウェアによって構成することができる。
【００２６】
次に本発明の認識装置１の動作をさらに詳細に説明する。まず、認識対象パターン格納部１７に格納されている認識対象パターンについて説明する。認識対象パターン格納部１７に格納されている認識対象パターンの構造データは、パターンの表現方法に応じて様々に異なる。本実施形態の装置は、基本的にどのような形式の構造データにも適用することができる。例えば、文字パターン、音声パターン、指紋パターン、顔パターンの場合は、各パターンの特徴量（又はその組）が認識対象パターンの構造データとして格納される。化合物分子構造、ＲＮＡの二次構造などの場合は、パターン（構造）は重み付きグラフで表現でき、それぞれの重み付きグラフが認識対象パターンの構造データとして格納される。線図形の場合は、パターン（線図形）の輪郭線データや、パターン（線図形）のビットマップ等の画像データなどが、認識対象パターンの構造データとして格納される。
【００２７】
次に認識辞書作成部１１による認識辞書データの作成法について説明する。例えばパターンを特徴量で表現する方式の場合、各カテゴリの参照パターンを求めるには、各カテゴリ毎に、そのカテゴリのすべての学習サンプルのパターンの特徴量の各次元の平均値（この例では特徴量が、複数の成分からなるベクトルの場合を考える）を求め、求められた特徴量の平均値を、そのカテゴリの参照パターンとする。また、特徴量以外の方法でパターンを表現する場合は、各カテゴリごとに、そのカテゴリのすべての学習サンプルについて、各学習サンプル間の距離を計算し、該カテゴリのすべての学習サンプルとの距離の和が最小になる学習サンプルを求め、これをそのカテゴリを代表する参照パターンとする。認識辞書１１ａには、各カテゴリごとに、そのカテゴリに対応づけて参照パターンが記憶される。
【００２８】
パターン間の距離の計算方法については、公知のパターン間距離の計算方法の中から、処理するパターンに適用可能なものを適宜選択して用いればよい。例えば、特徴量でパターンを表現するとき、パターン間のユークリッド距離を用いることができる。パターンｐｉの特徴量をベクトル（ｐｉ１，ｐｉ２，…，ｐｉｘ）で表現すると、パターンｐｉとパターンｐｊの間のユークリッド距離は式で計算される。
【００２９】
【数１】
0003925011.tif 000002
【００３０】
次に候補認識辞書作成部１２による候補認識辞書データの作成法について説明する。絞込段階ｈで用いる候補認識辞書Ｄｈ（１２ｈ）を作成する際には、まず各カテゴリ毎に、そのカテゴリのすべての学習サンプルをＮｈ個のクラスタまで分類する。クラスタ個数Ｎｈは、絞込段階の順番ｈに対応して予め定められたものであり、ｈが大きくなるにつれて多くなる。すなわち、１＜Ｎ１＜Ｎ２＜…＜ＮＫである。絞込段階の順番ｈが進むほど、各カテゴリが細かくクラスタリングされることになる。つまり、候補認識辞書Ｄｈは、候補認識辞書Ｄｈ−１より、もっと詳細な学習サンプルの情報を記憶していることになる。なお、絞込段階ｈに対応するクラスタ個数Ｎｈは、すべてのカテゴリに共通の数である。
【００３１】
クラスタリングが終わると、次に上記認識辞書の作成の際と同様の方法で、各クラスタごとにそのクラスタを代表する参照パターンを求める。したがって、各カテゴリ毎に、それぞれＮｈ個の参照パターンが求められることになる。これらＮｈ個の参照パターンを、絞込段階ｈの当該カテゴリの参照パターン群として候補認識辞書１２ｈに登録する。以上のような手順を各絞込段階ｈ（ｈ＝１，２，…，Ｋ）毎に行うことにより、各絞込段階に対応する候補認識辞書１２１，１２２，…，１２Ｋが構成される。
【００３２】
なお、以上の処理における学習サンプル群のクラスタリング（分類）は、公知のクラスタリング手法の中から、処理するパターンの形式に適したものを選択して用いればよい。例えば、文字パターンの場合には、よいクラスタリング手法として最長距離分類法が知られている。最長距離分類法は、２つのクラスタ同士の距離を各クラスタ内の任意の２つのパターン間の距離の中で最長な距離によって定義し、この距離が最小となる２つのクラスタを統合する。２つのクラスタＣｉとＣｊ間の距離ｄは次式で定義される。
【００３３】
【数２】
0003925011.tif 000003
このようにしてサンプル群内の個々のサンプルをまず最初のクラスタとし、これらを上記の方法で順次階層的に統合していくことにより、所与のサンプル群を所望の数のクラスタに分割することができる。
【００３４】
次に候補検出部１３の処理について説明する。候補検出部１３は、メモリＭ１に格納されている認識対象パターンを、認識辞書１１ａに格納されているすべての参照パターンと比較し、認識対象パターンともっとも近いＰ０（所定値）個の参照パターンを候補として検出し、メモリＭ２に記憶させる。認識辞書１１ａには、各カテゴリ毎に１つずつの参照パターンが記憶されているので、候補検出部１３では、Ｐ０（所定値）個のカテゴリが、認識対象パターンの所属可能性の高いカテゴリとして抽出されることになる。
【００３５】
候補絞込部１４は、１つ前の絞込段階（ｈ−１）で検出された候補と、現絞込段階ｈの候補認識辞書Ｄｈ（１２ｈ）を用いて、それら候補を絞り込む。このとき、メモリＭ１に格納されている認識対象パターンを、候補認識辞書Ｄｈに格納されているすべての参照パターンと比較するのではなく、候補認識辞書Ｄｈの参照パターン群のうち、メモリＭ２に格納されている前絞込段階で求められた候補の属するカテゴリに該当するもののみを取り出し、これら限られたカテゴリの参照パターン群を認識対象パターンと比較する。そして、この比較により、認識対象パターンにもっとも近いＰｈ個の候補を求め、メモリＭ３に記憶させる。
【００３６】
この絞込処理では、メモリＭ２に格納されている前段階の絞込結果の候補に該当するカテゴリのみを比較の対象とするので、全参照パターンと比較を行う特開昭６３−１２９４８８号などの従来手法に比べて比較の数が大幅に少なくなり、処理の時間を大幅に短縮できる。
【００３７】
また、絞込段階の番号ｈが大きくなるに従って、候補認識辞書Ｄｈに格納されている各カテゴリの参照パターン数Ｎｈが大きくなり、各カテゴリがより詳細に分割されているので、絞込段階が進むほど、認識対象パターンに近い参照パターンをより詳細に求めることができる。
【００３８】
図７は、図６に示した２つのカテゴリｘ及びｙの学習サンプルを、それぞれ３つのクラスタに分割し、各クラスタ毎に参照パターンを設定した様子を示している。図７に示すように、１カテゴリに対して３つの参照パターンを設定することにより、図６のように１カテゴリを１つの参照パターンで代表させる場合より、学習サンプルの分布をよりよく反映することができる。カテゴリｘに含まれるべきパターンｓを認識するとき、パターンｓはカテゴリｘの参照パターンｒｘ３にもっとも近いので、この参照パターンｒｘ３は必ず候補として抽出されることになる。
【００３９】
このように、絞込段階ｈでは前段階（ｈ−１）よりも詳細なクラスタリングが行われているので、候補絞込部１４の絞込処理では、より認識対象パターンに近いものが抽出される。したがって、絞込段階ｈで抽出する候補の数Ｐｈが、前段階で求めた候補の数Ｐｈ−１よりも小さくなるように設定していることを考え合わせると、絞込段階が進むにつれて、認識対象パターンに対してより近く、より数の少ない参照パターンが選ばれていくことがわかる。したがって、絞込段階を繰り返すにつれて、認識対象パターンが該当する可能性のより高いカテゴリが選ばれるようになり、しかも選ばれるカテゴリの数も少なくなっていく。
【００４０】
次に認識制御部１５について説明する。認識制御部１５は、まず最初は候補検出部１３で検出された候補（メモリＭ２内にある）が、すべて同じカテゴリに属するかを検査する。すべての候補が同じカテゴリの参照パターンであれば、そのカテゴリを認識の結果として出力する。そうでなければ、候補絞込部１４に、絞込処理を行わせる。そして、この絞込により求められた候補（メモリＭ３内にある）が、同じカテゴリの参照パターンかどうかを検査する。同じカテゴリの参照パターンであればそのカテゴリを認識結果として出力し、そうでなければメモリＭ３の内容をメモリＭ２にコピーし、候補絞込部１４に次の絞込段階の処理を行わせる。これを繰り返すことにより、徐々に候補が絞り込まれていき、同一カテゴリの候補のみが選ばれるようになった段階で、そのカテゴリが認識結果として出力されることになる。なお、想定した最後の絞込段階（ｈ＝Ｋ）の絞込結果のＰＫ個の候補が同一カテゴリにならなかった場合は、それら最終候補の中で認識対象パターンにもっとも近い候補を選び、この候補の属するカテゴリを認識結果として出力する。
【００４１】
以下、本実施形態における処理の手順をフローチャートを参照して説明していく。まず、候補検出部１３の動作をフローチャートを用いて説明する。図８は候補検出部１３の動作手順を示すフローチャートである。各ステップの処理順に説明する。
【００４２】
〔Ｓ１〕  まず変数の初期化を行う。ｉは認識辞書１１ａに格納している参照パターンの比較順序を示す番号であり、これをｉ＝１に初期化する。ｄＭａｘ（）は、認識対象パターンに近い順にＰ０個までの各候補の、認識対象パターンとの距離であり、これらはｄＭａｘ（１）＝ｄＭａｘ（２）＝…ｄＭａｘ（Ｐ０）＝最大値に設定する。ｍは、認識辞書に格納している参照パターンの個数であり、これには想定するカテゴリの数をｍを設定する。また、Ｃ０（）は、候補を記憶するメモリ変数であり、認識対象パターンに近い順にＰ０個の分が設けられている。これらＣ０（１），Ｃ０（２），…，Ｃ０（Ｐ０）はすべて空（ヌル値）に初期化される。なおここで、ｄＭａｘ（）の最大値は、ソフトウエア上でＤＭａｘ変数の型が表現できる値の範囲の上限である。
【００４３】
〔Ｓ２〕  認識対象パターンｑと参照パターンＳｉとの間の距離ｄ（ｑ，Ｓｉ）を計算する。
【００４４】
〔Ｓ３〕  候補の順番ｊをｊ＝１と初期化する。
【００４５】
〔Ｓ４〕  認識対象パターンｑと現在注目する参照パターンＳｉとの距離ｄ（ｑ，Ｓｉ）がｄＭａｘ（ｊ）より小さいかどうかを判断する。小さい場合は、Ｓ５へ行く。小さくない場合はＳ７へ行く。
【００４６】
〔Ｓ５〕  候補Ｃ０（ｊ），Ｃ０（ｊ＋１），…，Ｃ０（Ｐ０−１）をそれぞれＣ０（ｊ＋１），Ｃ０（ｊ＋２），…，Ｃ０（Ｐ０）にコピーし、距離ｄＭａｘ（ｉ），ｄＭａｘ（ｊ＋１），…，ｄＭａｘ（Ｐ０−１）をそれぞれｄＭａｘ（ｉ＋１），ｄＭａｘ（ｊ＋２），…，ｄＭａｘ（Ｐ０）にコピーする。そして、Ｓ６へ進む。このステップでは、Ｓ４で距離ｄ（ｑ，Ｓｉ）が現時点で認識対象パターンにｊ番目に近い候補の距離ｄＭａｘ（ｊ）より小さいことが分かったので、現在注目する参照パターンＳｉをｊ番目に挿入すべく、それまでｊ番目以降に配列されていた候補群を１つずつ後にずらす。
【００４７】
〔Ｓ６〕  空いたｊ番目の変数に、現在注目している参照パターンＳｉの情報をセットする。すなわちＣ０（ｊ）＝Ｓｉ，ｄＭａｘ（ｊ）＝ｄ（ｑ，Ｓｉ）と設定し、Ｓ９に進む。
【００４８】
〔Ｓ７〕  Ｓ４の判定の結果が否定（Ｎｏ）の場合、ｊを１だけインクリメントして、次に比較する候補を設定してＳ８に進む。
【００４９】
〔Ｓ８〕  ｊの値を全候補の数Ｐ０と比較して、ｄＭａｘ（１），…，ｄＭａｘ（Ｐ０）のうち比較すべきものが残っているか否かを検査する。残っていない場合（判定結果Ｎｏ）はＳ９へ進む。比較する候補はまだ残っている場合（判定結果Ｙｅｓ）は、Ｓ４へ行く。
【００５０】
〔Ｓ９〕  このステップに来るのは、カレントの参照パターンＳｉが、認識対象パターンｑに近い順のＰ０個の候補配列の中に位置を見出した場合（Ｓ６から）か、あるいはＳｉがその候補配列の中に入らない（すなわち認識対象から遠い）ことが判明した場合（Ｓ８から）のいずれかであり、いずれにしてもカレントの参照パターンＳｉについての処理が終了した場合である。このステップでは、参照パターンの順番を示すインデックスｉを１だけインクリメントし、次に比較する参照パターンを設定してＳ１０に進む。
【００５１】
〔Ｓ１０〕  ｉの値をｍと比較して、処理を行うべき参照パターンが残っているかどうかを判定する。残っていなければ（判定結果Ｎｏ）、候補検出部１３の処理を終了する。比較する参照パターンはまだ残っている場合は、Ｓ２に戻って以上の処理を繰り返す。
【００５２】
このような処理により候補の配列Ｃ０（１），Ｃ０（２），…，Ｃ０（Ｐ０）には、認識対象パターンｑに近い順にＰ０個の参照パターンが記憶されることになる。
【００５３】
次に候補絞込部１４の動作をフローチャートを用いて説明する。図９は候補絞込部１４の絞込段階ｈ（ただしｈ＝１，２，…，Ｋ）における動作手順を示すフローチャートである。
【００５４】
〔Ｓ１１〕  まず変数の初期化を行う。ｉは、１つ前の絞込段階（ｈ−１）で検出された候補を取り出す順番を示す番号であり、これをｉ＝１に初期化する。また、認識対象パターンに近い順にＰｈ個までの各候補の、認識対象パターンとの距離を初期化する。すなわちｄＭａｘ（１）＝ｄＭａｘ（２）＝…ｄＭａｘ（Ｐｈ）＝最大値と設定する。また、認識対象パターンに近い順にＰｈ個の候補を記憶するためのメモリ変数列Ｃｈ（１），Ｃｈ（２），…，Ｃｈ（Ｐｈ）を空にする。
【００５５】
〔Ｓ１２〕  ｊは、候補認識辞書Ｄｈにおける、前段階の第ｉ番目の候補Ｃｈ−１（ｉ）が属するカテゴリの参照パターン群の中から順番に参照パターンを取り出す際の順番を示す番号であり、これをｊ＝１に初期化する。
【００５６】
〔Ｓ１３〕  認識パターンｑと、前回候補Ｃｈ−１（ｉ）の属するカテゴリの絞込段階ｈにおける第ｊ番目の参照パターンＳｉ（ｊ）と、間の距離ｄ（ｑ，Ｓｉ（ｊ））を計算する。
【００５７】
〔Ｓ１４〕  候補の順番ｕを、ｕ＝１と設定する。
【００５８】
〔Ｓ１５〕  距離ｄ（ｑ，Ｓｉ（ｊ））がｄＭａｘ（ｕ）より小さいかどうかを判断する。小さい場合は、Ｓ１６へ行く。小さくない場合はＳ１８へ行く。
【００５９】
〔Ｓ１６〕  候補Ｃｈ（ｕ），Ｃｈ（ｕ＋１），…，Ｃｈ（Ｐｈ−１）をそれぞれＣｈ（ｕ＋１），Ｃｈ（ｕ＋２），…，Ｃｈ（Ｐｈ）にコピーし、距離ｄＭａｘ（ｕ），ｄＭａｘ（ｕ＋１），…，ｄＭａｘ（Ｐｈ−１）をそれぞれｄＭａｘ（ｕ＋１），ｄＭａｘ（ｕ＋２），…，ｄＭａｘ（Ｐｈ）にコピーする。
【００６０】
〔Ｓ１７〕  Ｓ１６の処理より空いたｕ番目の変数に、カレントの参照パターンＳｉ（ｊ）の情報を記憶させる。すなわち、Ｃｈ（ｕ）＝Ｓｉ（ｊ）；ｄＭａｘ（ｕ）＝ｄ（ｑ，Ｓｉ（ｊ））と設定する。これが終わると、Ｓ２０に進む。
【００６１】
〔Ｓ１８〕  Ｓ１５の判定の結果が否定の場合、ｕを１インクリメントし、次に比較する候補を設定してＳ１９に進む。
【００６２】
〔Ｓ１９〕  ｕの値を全候補の数Ｐｈと比較して、ｄＭａｘ（１），…，ｄＭａｘ（Ｐｈ）のうち比較すべきものが残っているか否かを検査する。残っていない場合は、Ｓ２０へ行く。比較する候補はまだ残っている場合は、Ｓ１５に戻って以上の処理を繰り返す。
【００６３】
〔Ｓ２０〕  ここにくるのは、カレントの参照パターンＳｉ（ｊ）が候補配列に挿入されたか、あるいは候補配列に入らないことが判明したかのいずれかの場合であり、いずれの場合もカレント参照パターンについての処理は終わったということなので、インデクスｊを１だけインクリメントし、次の参照パターンを取り上げて、Ｓ２１に進む。
【００６４】
〔Ｓ２１〕  ｊの値をＮｈ（当該段階ｈにおける１カテゴリ当たりの参照パターン数）と比較し、候補Ｃｈ−１（ｉ）に対応する参照パターンのうち残っているものがないかを判定する。残っているものがない場合（判定結果Ｎｏ）、Ｓ２２へ行く。比較する参照パターンがまだ残っている場合は、Ｓ１３に戻って以上の処理を繰り返す。
【００６５】
〔Ｓ２２〕  このステップに来るのは、候補Ｃｈ−１（ｉ）に対応するＮｈ個の全参照パターンの処理が完了したときなので、ｉを１だけインクリメントして、ｉが前絞込段階の絞込結果の中の次の候補を示すようにし、Ｓ２３に進む。
【００６６】
〔Ｓ２３〕  ｉの値を、前段階（ｈ−１）における絞込結果の候補の数Ｐｈ−１と比較し、前段階の絞込結果のうち、まだ取り出されていない候補が残っているかどうかを判定する。残っていなければ（判定結果Ｎｏ）、候補絞込部１４の処理を終了する。比較する候補がまだ残っている場合は、Ｓ１２に戻って以上の処理を繰り返す。
【００６７】
以上に示した絞込処理部１４の処理により、絞込結果の候補の配列Ｃｈ（１），Ｃｈ（２），…，Ｃｈ（Ｐ０）には、認識対象パターンｑに近い順にＰｈ個の参照パターンが記憶されることになる。
【００６８】
なお、以上の処理では、１つ前の絞込段階（ｈ−１）の絞込結果のＰｈ−１の候補の１つ１つについて上記処理を繰り返したが、絞込結果のＰｈ−１の候補の中に同一カテゴリに属するものが複数ある場合も考えられる。このような場合を想定して、Ｓ２２で前絞込段階の絞込結果から次の候補を取り出した際に、その候補が以前に取り出した候補のいずれかと同じカテゴリに属するかどうかをチェックし、同じカテゴリに属する場合には、その候補についてのＳ１３〜Ｓ２２の処理をスキップするなどの例外処理を設けてもよい。
【００６９】
次に認識制御部１５の動作をフローチャートを用いて説明する。図１０は認識制御部１５の動作手順を示すフローチャートである。
【００７０】
〔Ｓ２４〕  候補認識辞書の順番ｈを、ｈ＝１と初期化する（絞込段階ｈの初期化）。
【００７１】
〔Ｓ２５〕  候補認識辞書Ｄｈを用いて、候補絞込部１４でＰｈ個の候補Ｃｈ（１），Ｃｈ（２），…，Ｃｈ（Ｐｈ）を検出する。この候補絞込部１４の処理については、既に説明した。
【００７２】
〔Ｓ２６〕  検出されたＰｈ個の候補が同じパターンであるかどうかを判定する。同じパターンの場合は、Ｓ３０へ行く。同じパターンではない場合は、Ｓ２７へ行く。
【００７３】
〔Ｓ２７〕  絞込結果の候補が同じパターンでない場合、ｈを１だけインクリメントし、次の候補認識辞書を取り出す（絞込段階ｈのインクリメント）。
【００７４】
〔Ｓ２８〕  ｈの値を絞込段階の上限数Ｋと比較し、更なる候補の絞込が可能か否かを判定する。更なる絞込が可能な場合（判定結果Ｙｅｓ）、Ｓ２５に戻って次の絞込段階の処理を実行する。更なる絞込処理ができない場合（ｈがＫを越えた場合）、Ｓ２９に進む。
【００７５】
〔Ｓ２９〕  このステップに到達するのは、最後の絞込段階Ｋで得られた候補が同一のカテゴリでない場合であり、このような場合は、それら候補のうち認識対象パターンに最も近い候補ＣＫ（１）を取り出し、この候補の属するカテゴリを、認識対象パターンのカテゴリとして出力し、一連の処理を終了する。
【００７６】
〔Ｓ３０〕  このステップに到達するのは、絞込段階ｈで得られたすべての候補が同一カテゴリに属すると判定された場合であり、このような場合には、そのカテゴリを認識結果として出力する。どの候補を選んでもカテゴリは同じなので、例えば最初の候補Ｃｈ（１）を選び、この候補のカテゴリを認識結果として、一連の処理を終了する。
【００７７】
なお、図１０では省略したが、認識制御部１５は、候補検出部１３で求められた最初の候補についても、Ｓ２６と同様の判定処理を行い、その結果全ての候補が同一カテゴリであれば、そのカテゴリを認識結果とし、その段階で処理を終了する。それら候補が同一カテゴリでない場合に、図１０に示す絞込段階の処理に移行する。
【００７８】
発明者は、本実施形態の認識装置１を用いて具体的に文字パターンを認識する実験を行った。その実験における認識率及び認識速度について説明する。なお、ここでは、距離の計算回数を、認識速度の評価のための評価値として用いる。
【００７９】
文字パターンは、紙に印刷された文字画像をスキャナでコンピュータに入力したものである。文字パターンは２次ペリフェラル特徴量（１２８次元）で表現し、文字パターン間のユークリッド距離で文字パターン同士の近さを判定する。実験に用いた文字パターンのカテゴリ数は３４５５個であり、カテゴリ（すなわち文字種）毎に、１００から１５０個程度の学習サンプルを用意した。まず、文字毎に、該文字のすべての学習サンプルの中心値を求め、認識辞書を作成した。続いて、文字毎に、該文字のすべての学習サンプルを１５クラスタまで最長距離法で分類し、１５個の参照パターンを求め、候補認識辞書を１個作成した（すなわち、Ｋ＝１の場合に相当する）。候補認識辞書Ｄ１には、３４５５ｘ１５＝５１８２５個の参照パターンが記憶されていることになる。また、抽出する候補数をＰ０＝３０，Ｐ１＝１と設定した。
【００８０】
以上のようなパラメータ設定で本実施形態の装置を用いた場合と、認識辞書のみを用いる従来の認識方法を用いた場合の両方について、学習したサンプルを認識する実験を行った。その結果、従来認識方法の認識率は８８．５１％であり、本実施形態の認識方法の認識率は９７．０６％であった。１文字を認識するときの距離計算回数は、従来認識方法の場合は、３４５５回であり、本実施形態の認識方法の場合は、３４５５＋３０×１５＝３９０５回であった。
【００８１】
この実験結果から分かるように、本実施形態によれば、認識速度の低下をそれほど招かずに、認識率を飛躍的に向上させることができる。このように、本実施形態によれば、パターン認識分野における未知パターンを認識する問題に対して、より高い認識精度かつ比較的に高速にパターンを認識することが可能になる。
【００８２】
【発明の効果】
以上の説明から明らかなように、本発明に係る認識装置及び方法によれば、入力された認識パターンを従来よりも高精度かつ高速に認識することができる。
【図面の簡単な説明】
【図１】  本発明に係る認識装置の原理を示す図である。
【図２】  本発明に係る認識装置の構成を示す図である。
【図３】  認識辞書のデータ構造を示す図である。
【図４】  候補認識辞書のデータ構造を示す図である。
【図５】  認識装置のハードウエア構成例を示す図である。
【図６】  各カテゴリを１つの参照パターンで表現する従来手法での問題を説明するための図である。
【図７】  各カテゴリをそれぞれ複数の参照パターンで表現する本実施形態の手法の利点を説明するための図である。
【図８】  候補検出部の動作手順を示すフローチャートである。
【図９】  候補絞込部の動作手順を示すフローチャートである。
【図１０】  認識制御部の動作手順を示すフローチャートである。
【符号の説明】
１  認識装置、１１  認識辞書作成部、１１ａ  認識辞書、１２  候補認識辞書作成部、１２１〜１２Ｋ  候補認識辞書、１３  候補検出部、１４  候補絞込部、１５  認識制御部。
【図１】
0003925011.tif 000004
【図２】
0003925011.tif 000005
【図３】
0003925011.tif 000006
【図４】
0003925011.tif 000007
【図５】
0003925011.tif 000008
【図６】
0003925011.tif 000009
【図７】
0003925011.tif 000010
【図８】
0003925011.tif 000011
【図９】
0003925011.tif 000012
【図１０】
0003925011.tif 000013