(57)【特許請求の範囲】
【請求項１】
与えられたパターンを分類する際に用いるパターンである学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の前記学習用サンプルパターンの特徴ベクトルごとに参照特徴ベクトルを求め、求めた前記参照特徴ベクトルの要素を、予め設定された範囲で表される軸の対応する座標位置に投影し、前記要素ごとに投影した前記軸上の前記要素の座標位置と、予め設定されたマージン量と、前記カテゴリと、を関連付けて候補テーブルを生成して記録する記録部と、
前記与えられたパターンの参照特徴ベクトルを求め、前記候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、分類した前記候補カテゴリ集合を出力する分類部と、
を備えることを特徴とするパターン認識装置。
【請求項２】
前記パターン認識装置は、前記学習用サンプルパターンまたは前記与えられたパターンを同次元の特徴ベクトルにする特徴抽出部と、
前記特徴ベクトルを次元圧縮して前記参照特徴ベクトルにする特徴圧縮部と、
を備えることを特徴とする請求項１に記載のパターン認識装置。
【請求項３】
前記マージン量は、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値であることを特徴とする請求項１または２に記載のパターン認識装置。
【請求項４】
前記マージン量は、前記軸を予め設定された範囲に区分けした区間を設定し、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、前記元となる学習用サンプルパターンの前記軸上の座標位置が含まれる前記区間ごとに前記マージン量を対応付けることを特徴とする請求項１または２に記載のパターン認識装置。
【請求項５】
前記マージン量は、同一カテゴリに含まれる異なるフォントの学習用サンプルパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の前記同じ位置の要素に対応する軸に投影し、前記異なるフォントの学習用サンプルパターンの前記軸上の座標位置の平均値を算出し、前記フォントごとの学習用サンプルパターンの前記軸上の座標位置と前記平均値の座標位置との差を算出して、該差を前記平均値の座標位置を中心にして最小値方向の差と最大値方向の差に分け、前記カテゴリごとに同一フォントの前記最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出して、前記フォントごとに前記マージン量を対応付けることを特徴とする請求項１または２に記載のパターン認識装置。
【請求項６】
コンピュータに、
与えられたパターンを分類する際に用いるパターンである学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の前記学習用サンプルパターンの特徴ベクトルごとに参照特徴ベクトルを求める処理と、
前記学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の前記学習用サンプルパターンの特徴ベクトルごとに参照特徴ベクトルを求め、求めた前記参照特徴ベクトルの要素を、予め設定された範囲で表される軸の対応する座標位置に投影し、前記要素ごとに投影した前記軸上の前記要素の座標位置と、予め設定されたマージン量と、前記カテゴリと、を関連付けて生成した候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求める処理と、
分類した前記候補カテゴリ集合を出力する処理と、
を実行させることを特徴とするパターン認識プログラム。
【請求項７】
コンピュータが、
与えられたパターンを分類する際に用いるパターンである学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の前記学習用サンプルパターンの特徴ベクトルごとに参照特徴ベクトルを求め、
前記学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の前記学習用サンプルパターンの特徴ベクトルごとに参照特徴ベクトルを求め、求めた前記参照特徴ベクトルの要素を、予め設定された範囲で表される軸の対応する座標位置に投影し、前記要素ごとに投影した前記軸上の前記要素の座標位置と、予め設定されたマージン量と、前記カテゴリと、を関連付けて生成した候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、
分類した前記候補カテゴリ集合を出力する、
ことを実行するパターン認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像のパターン認識を実行するパターン認識装置、パターン認識プログラム、パターン認識方法に関する。
【背景技術】
【０００２】
近年、文書を画像で保存することを許可するｅ文書法（電子文書法：法令番号平成１６年法律第１４９号、平成１６年法律第１５０号）が施行され、文書画像の検索ニーズが高まるなど、パターン認識技術は様々な分野で使用されている。
【０００３】
文書画像におけるパターン認識処理は、文書画像からテキスト領域を求めるレイアウト解析処理と、抽出したテキスト領域を対象に文字画像を文字コードに変換する文字認識処理に分けることができる。また、文書画像のパターン認識にかかる処理時間を計測すると、文字認識処理がレイアウト解析処理より処理時間を要することが知られている。そこで、パターン認識処理にかかる時間を削減して、パターン認識処理を高速化するための提案がされている。
【０００４】
例えば、文字認識処理部分を高速化する方法として、文字認識精度（文字認識の正解率）を犠牲にする簡便な処理が提案されている。しかし、蓄積した文書の検索や、再利用などの実用性を考えた場合、文字認識精度を低下させることは好ましくない。そのため、文字認識精度を高精度に保ったまま高速に文字認識処理を行うことが求められている。
【０００５】
そこで、次のような文字認識処理に関する技術が提案されている。まず、パターン認識装置に、対象の文字コード（ＪＩＳ第１水準の漢字、ＪＩＳ第２水準の漢字、ひらがな、カタカナ、記号、縦書き専用文字、英字、数字、半角文字などに対応するコード）に対応する複数の文字画像（学習用サンプルパターン）を収集する。そして、パターン認識装置は、収集した各文字画像を特徴ベクトルに変換し、文字コードごとに平均ベクトルを作成し、文字コードと平均ベクトルをペアにして記録部に記録し、辞書を生成する。他の文字コードについても同じことを行い、複数の文字コードと文字コードに対応する特徴ベクトルの情報を記録部に記録する。
【０００６】
ここで、パターン認識においてよく用いられる用語を、簡単に定義しておく。認識対象のことをパターンと呼び、すべてのパターンの作る集合のことをパターン空間と呼ぶ。
パターンを特徴抽出することにより得られる１つ以上の特徴量の組を特徴ベクトルと呼び、特徴ベクトルの要素の数を特徴ベクトルの次元と呼ぶ。特徴ベクトルのそれぞれの要素の値（特徴量）の組を特徴ベクトルの値と呼び、すべての特徴ベクトルの値の作る集合のことを特徴空間と呼ぶ。特徴空間の次元は、特徴空間の要素である特徴ベクトルの次元と等しい。同一種類とみなすことのできるパターンあるいは特徴ベクトルの集合をカテゴリと呼ぶ。特に、同一種類とみなすことのできるパターンの集合を、カテゴリパターン集合、同一種類とみなすことのできる特徴ベクトルの集合を、カテゴリ特徴集合と呼ぶ。
【０００７】
パターン認識装置などに入力される未知のパターンあるいは未知のパターンから求められた特徴ベクトルが、どのカテゴリ（カテゴリパターン集合あるいはカテゴリ特徴集合）に属するのかを決定することを、パターン認識と呼ぶ。特に、入力されたパターンあるいは特徴ベクトルが、カテゴリ集合中のあるカテゴリに属する可能性があると推定される場合、そのカテゴリ集合のことを候補カテゴリ集合と呼ぶ。
【０００８】
文字認識処理を行う際、未知の文字画像が入力されると、入力された文字画像から特徴ベクトルを生成し、辞書（メモリなど）に保持されている複数の特徴ベクトルとの間でマッチングを行う。マッチングは未知文字の特徴ベクトルと、辞書の特徴ベクトル間の距離計算（マッチング処理）で行う。この結果、辞書の中の文字コード数分の距離値が得られ、その中で、最小の距離値となる文字コードを未知文字の認識結果として出力する。
【０００９】
しかし、上記説明した文字認識処理において、未知文字の特徴ベクトルと辞書内の全ての文字コードの特徴ベクトルとの間のマッチング処理には、多くの処理時間を費やしている。また、日本語などの文字コードの種類が多い言語では、さらにマッチング処理時間が長くなる。
【００１０】
そこで、マッチング処理の高速化のために、大分類、詳細分類の２段階処理が使われる。大分類とは、辞書の中の特徴ベクトルの集合から、認識対象である入力文字画像から生成した特徴ベクトルに近い特徴ベクトルを抽出し、詳細分類をする際の対象を絞り込む処理である。絞り込んだ文字コードだけを対象として詳細分類をすると、従来のマッチング処理時間を大幅に削減することが可能になる。
【００１１】
大分類で用いる辞書の生成は、例えば、図１に示すように１つの字種（カテゴリ）またはテンプレート（１つのカテゴリを複数のグループに分割したときの１つのグループ）に所属する文字画像の集合を求める。次に、その集合を全てｎ次元（ｎ：１以上整数）の特徴ベクトルに変換し、１つのカテゴリの学習用サンプルパターンの特徴ベクトル集合を作る。次に、ｎ個の軸（特徴ベクトルを構成する要素に対応する軸）の中の１つの軸に注目して、この軸上の１つのカテゴリの学習用サンプルパターンの特徴ベクトル集合を全て投影すると、軸上でこのカテゴリに属する要素の値の範囲が求まる。ここで、図１において投影する軸の範囲Ａは、すべての特徴ベクトルを構成する要素を示す特徴量を、量子化して、−１２７〜１２８（２５６ビット）の範囲Ａとしている。次に、この軸上の範囲Ａにおける最小値ｍｉｎ、最大値ｍａｘを求め、予め決めておいたマージン値ｍａｒｇｉｎを用いて該軸の上の最小値・最大値で表される範囲Ｂを、拡大して範囲Ｃにする。この拡大した２つの値（ｍｉｎ−ｍａｒｇｉｎ、ｍａｘ＋ｍａｒｇｉｎ）の間にこのカテゴリが存在すると仮定する。そして、ｎ次元のｎ個のすべての軸に対して、上記説明した拡大した範囲Ｃを算出して、範囲Ｃを記憶部に記録することにより、１つの字種に対する辞書が生成される。他の字種についても上記同様に辞書を生成して全てのカテゴリまたはテンプレートに対する辞書を生成する。以後上記のように生成した辞書を平面辞書と呼ぶ。
【００１２】
平面辞書は、図２に示すような配列状の平面で表すことができる。図２の例では、横が各軸の分布を−１２７から１２８数値範囲（２５６ビット）で示されており、縦がカテゴリ数で示されている平面である。カテゴリには、カテゴリごとに識別番号（１、２、３・・・）が割り振られている。また、図２はｎ次元空間における、３種類のカテゴリの拡大した範囲Ｃについて示した例である。丸（Ａ１、Ａ２）はカテゴリ１、三角（Ａ３、Ａ４）がカテゴリ２、四角（Ａ５、Ａ６）はカテゴリ３を示している。
【００１３】
Ａ１、Ａ２のテンプレートに注目すると、Ａ１からおろした座標位置が最小値ｍｉｎの値になり、Ａ２からおろした座標位置が最大値ｍａｘの値となる。図２ではマージン値ｍａｒｇｉｎをＭと示している。最小値ｍｉｎ、最大値ｍａｘの座標位置からこのマージン値Ｍだけ左右にずらした座標位置がカテゴリ１の拡大した範囲となる。この範囲を平面辞書に記録するために、カテゴリ１の−１２７から１２８の２５６ビット中の対象の範囲にビット「１」を設定し、それ以外の範囲にビット「０」を設定して平面辞書に記録する。他のカテゴリについても同様に処理を行い、平面辞書を完成させる。
【００１４】
なお、大分類の処理は、パターン認識処理の時には、未知文字画像を先ずｎ次元特徴ベクトルに変換して各軸へ投影する。次に、未知文字画像に対するｎ個の各軸の座標位置と平面辞書に保持されている軸上の座標位置を参照し、同じ座標位置にビット「１」があるか否かを判定して、未知文字画像に近いカテゴリを求める。他の軸においても同様の処理を行い、全ての軸で存在するカテゴリを求めて、カテゴリを絞り込み大分類結果（候補カテゴリ集合）とする。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平１０−２８９３２０号公報
【非特許文献】
【００１６】
【非特許文献１】「特徴領域の射影推定による高速高精度な大分類方式」  藤本、鎌田、黒川、  電子情報通信学会技術研究報告パターン認識・メディア理解（ＰＲＭＵ）、信学技報Ｖｏｌ．９７  Ｎｏ．５５８、ＰＲＭＵ９７‐２２０、ｐｐ．２５‐３２．１９９８年２月１９日
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、上記方法では１つのカテゴリまたはテンプレートの軸上の学習用サンプルパターンの特徴ベクトルの特徴量に対応する分布を最小値、最大値で表現している。そのため、１つのカテゴリまたはテンプレートの軸上に特徴量が存在しない箇所にも、特徴量があるかのように平面辞書に記録してしまう。そのため、本来大分類処理において詳細分類の対象から外すべきテンプレートが、大分類の結果に含まれてしまい、パターン認識時の絞り込み能力が低下し、高精度な大分類ができない。拡大した範囲Ｃを用い作成した場合、図３に示すようなことが起こる。図３は２次元の特徴空間を示している。また、図３は拡大した範囲Ｃを用い作成した字種「Ａ」「Ｂ」「Ｃ」の辞書に記録されている分布範囲（「Ａ」の分布範囲Ａａ、「Ｂ」の分布範囲Ｂａ、「Ｃ」の分布範囲Ｃａ）と実際の分布範囲（「Ａ」の範囲Ａｒ、「Ｂ」の範囲Ｂｒ、「Ｃ」の範囲Ｃｒ）の関係を示している。図３において、未知文字「Ｘ」が入力されたときに、未知文字「Ｘ」は実際には「Ｃ」のカテゴリに絞り込まれなければならないが、図３において文字「Ａ」のカテゴリにも未知文字「Ｘ」は属している。そのため、実際には未知文字「Ｘ」はＡの分布には近くないが、「Ｘ」に近いカテゴリ候補として文字「Ｃ」と文字「Ａ」のカテゴリが選択されてしまう。
【００１８】
そこで、本発明はパターン認識を高精度に行うパターン認識装置、パターン認識プログラム、パターン認識方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
実施態様のひとつであるパターン認識装置は、記録部、分類部を備えている。記録部は候補テーブルを有している。候補テーブルは、学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の特徴ベクトルごとに求められる参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、軸上の要素ごとに、予め設定されたマージン量とカテゴリを関連付けて生成したものである。
【００２０】
分類部は、与えられたパターンの参照特徴ベクトルを求め、前記候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、分類した候補カテゴリ集合を出力する。
【発明の効果】
【００２１】
開示のパターン認識に関する実施例は、パターン認識精度を高精度に行うという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】従来の候補テーブル（大分類用辞書）の概要を示す図である。
【図２】従来の候補テーブル（大分類用辞書）の概要を示す図である。
【図３】候補テーブル（大分類用辞書）に記録され字種の分布範囲と実際の分布範囲の関係を示す図である。
【図４】実施例１におけるパターン認識装置の構成の一例を示すブロック図である。
【図５】特徴ベクトルの一例を示す図である。
【図６】実施例１における候補テーブル（大分類用辞書）の作成動作の一例を示すフロー図である。
【図７】カテゴリとテンプレートの関係を示す図である。
【図８】カテゴリに学習用サンプルパターンごとの特徴ベクトルを対応付けて記録した場合のデータ構造の一例を示す図である。
【図９】Ａは、軸上に投影された要素を示す図であり、Ｂは、軸上に投影された要素にマージンを設けたことを示す図である。
【図１０】カテゴリに特徴ベクトルを対応付け、特徴ベクトルの要素ごと軸上に投影した位置とマージン量を対応付けて記録した場合のデータ構造の一例を示す図である。
【図１１】各軸のマージン幅（ビット「１」）を示す図である。
【図１２】実施例１における候補テーブル（大分類用辞書）の概要を示す図である。
【図１３】実施例１における大分類処理の概要を示す図である。
【図１４】実施例１における候補テーブル（大分類用辞書）を用いて、大分類処理をするときの動作の一例を示す図である。
【図１５】実施例１における大分類処理の概要を示す図である。
【図１６】実施例２におけるパターン認識装置の構成の一例を示すブロック図である。
【図１７】実施例３におけるマージン量決定の動作の一例を示すフロー図である。
【図１８】実施例３において、カテゴリとマージン量を対応付けて記録した場合のデータ構造の一例を示す図である。
【図１９】実施例４におけるマージン量決定の動作の一例を示すフロー図である。
【図２０】実施例４における軸上の区間の概要の一例を示す図である。
【図２１】実施例４において、カテゴリ、区間、マージン量を対応付けて記録した場合のデータ構造の一例を示す図である。
【図２２】実施例５におけるマージン量決定の動作の一例を示すフロー図である。
【図２３】実施例５において、フォント、マージン量を対応付けて記録した場合のデータ構造の一例を示す図である。
【図２４】実施例５において、カテゴリ、フォント、マージン量を対応付けて記録した場合のデータ構造の一例を示す図である。
【図２５】実施例がコンピュータプログラムとして実現される場合の構成を示す図である。
【発明を実施するための形態】
【００２３】
以下図面に基づいて、本発明の実施形態について詳細に説明する。
（実施例１）
実施例１におけるパターン認識装置は、記録部、分類部（大分類部）を備えている。記録部は候補テーブルを有している。候補テーブルは次のように生成される。学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の特徴ベクトルごとに求められる参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影する。そして、軸上の要素ごとに、予め設定されたマージン量とカテゴリを関連付けて生成したものである。なお、参照特徴ベクトルは、特徴ベクトルから計算される特徴ベクトルである。
【００２４】
分類部（大分類部）は、与えられたパターンの参照特徴ベクトルを求め、候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、分類した候補カテゴリ集合を出力する。
【００２５】
図４は、パターン認識装置における一実施例の構成示す図である。図４に示すパターン認識装置１は、特徴抽出部２、大分類部３（分類部）、詳細分類部４、テーブル作成部５、記録部７を備えている。
【００２６】
特徴抽出部２は、周辺空白領域を含めたパターンを取得して、該パターンを拡大縮小により正規化画像にする。次に、特徴抽出部２は、正規化された文字パターンからパターンの特徴量を抽出し、抽出した特徴量を並べて、特徴ベクトルを生成する。例えば、文字画像をパターンとして取得した場合、特徴抽出部２は、入力された文字画像の特徴量（ｘ１〜ｘｎ）を並べて、特徴ベクトルを生成する（式１）。式１のｎは１以上の整数である。
Ｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，・・・ｘｎ）      式１
【００２７】
図５に可変分割輪郭方向特徴抽出を用いた場合の例を示す。特徴抽出部２が、文字画像「Ａ」を取得して、文字画像を縦４８×横４８の正規化画像にして、文字領域を輪郭点数が一定になるように可変分割した領域における輪郭方向量を、可変分割輪郭方向特徴として抽出する。正規化した画像の分割数を１２×６あるいは６×１２として、各分割領域における縦、横、右斜め上、右斜め下の４方向の輪郭方向量をカウントして特徴ベクトルを求める。図５の場合であれば、文字画像「Ａ」を７２分割して、４方向の輪郭方向量を１分割ごとに（縦，横，右斜め上，右斜め下）に求め、２８８個（７２×４）の特徴量（ｘＡ１１〜ｘＡ１２８８）を並べて、特徴ベクトルを式２のように生成する。
ＸＡ１＝（ｘＡ１１，ｘＡ１２，ｘＡ１３，ｘＡ１４，
ｘＡ１５，ｘＡ１６，ｘＡ１７，ｘＡ１８，
・・・・                                  式２
ｘＡ１２８５，ｘＡ１２８６，ｘＡ１２８７，ｘＡ１２８８）
【００２８】
なお、特徴抽出には、可変分割輪郭方向特徴抽出、加重方向指数ヒストグラムを用いた抽出、可変分割輪郭方向特徴抽出などの方法を用いてもよい。
【００２９】
また、特徴抽出部２は、上記算出した特徴ベクトルから参照特徴ベクトルを求める。例えば、参照特徴ベクトルは、特徴ベクトルを構成する要素から一部要素を除いたものを用いてもよいし、特徴ベクトルを後述する次元圧縮して用いてもよい。なお、必ずしも特徴ベクトルから参照特徴ベクトルを生成しなくてもよく、特徴ベクトルを参照特徴ベクトルとして用いてもよい。以後、参照特徴ベクトルを特徴ベクトルとして説明する。
【００３０】
次に、特徴抽出部２は、学習用サンプルパターンの特徴ベクトルの各要素の値を予め決められた範囲内の値にする。ここで、予め決められた範囲とは、全ての学習用サンプルパターンにおける特徴ベクトルの要素を示す特徴量が取りうる最小値と最大値を含む範囲（特徴空間）であり、該範囲を量子化して数値範囲で表したものである。また、数値範囲をｍビット（ｍ：整数）により表す場合、メモリの記憶容量などにより数値範囲を決めることが好ましい。例えば、数値範囲が−１２７≦ｍ≦１２８（２５６ビット）で表されている場合、学習用サンプルパターンの特徴量は、−１２７〜１２８の数値範囲内の値に量子化される。
【００３１】
また、学習用サンプルパターンを用いて大分類に用いる候補テーブルなどを生成するとき、特徴抽出部２は量子化した学習用サンプルパターンの特徴ベクトルをテーブル作成部５に転送する。未知入力パターンに対してパターン認識処理をするときは、特徴抽出部２は量子化した未知入力パターンの特徴ベクトルを大分類部３に転送する。ここで、未知入力パターンとは、パターン認識処理の対象のパターンであり、スキャナなどにより読み込んだ文字画像などである。
【００３２】
大分類部３は、記録部７に記録されている後述する候補テーブル（大分類用辞書）の特徴ベクトルの集合から、入力パターンから生成した特徴ベクトルに近いものを抽出する（候補カテゴリ集合を抽出）。
【００３３】
詳細分類部４は、大分類部３で分類された候補カテゴリ集合の参照特徴ベクトルと、入力パターン（入力文字画像など）から生成した特徴ベクトルとの距離を計算する。その後、詳細分類部４は、計算した距離値の中で最小となる距離値を選択して、選択した距離値に対応するカテゴリを抽出してパターン認識結果とする。
【００３４】
テーブル作成部５はマージン決定部６を備え、後述する大分類用の辞書を生成する。テーブル作成部５は、特徴抽出部２から量子化した学習用サンプルパターンの特徴ベクトルを取得して、該量子化した特徴ベクトルを記録部７に予め記録されているカテゴリに対応付けて記録する。例えば、カテゴリは、ＪＩＳ第１水準の漢字、ＪＩＳ第２水準の漢字、ひらがな、カタカナ、記号、縦書き専用文字、英字、数字、半角文字などの文字コードである。また、テーブル作成部５は、マージン決定部６により決定したマージン量を、量子化した学習用サンプルパターンの特徴ベクトルの各要素に対応付けて、記録部７に記録する。ここで、マージン量は、正常とされる学習用サンプルパターンが劣化した場合（ファクシミリやコピーなどにより劣化（掠れ、滲み、汚れなど）した文字画像）であっても分類ができるように、量子化した特徴ベクトルの各要素に幅を持たせるための値である。
【００３５】
マージン決定部６は、例えば、各要素に対応する軸上の値を中心に最小値方向と最大値方向にそれぞれ設けるマージン量を決定する。また、マージン量は、すべてのカテゴリのすべての要素に対して同じマージン量を対応付けてもよいし、要素ごとに個別にマージン量を対応付けてもよい。なお、マージン量は、上記説明した全ての学習用サンプルパターンにおける特徴ベクトルの要素を示す特徴量が取りうる最小値と最大値を含む範囲を量子化した数値範囲の値で示される。また、マージン決定部６は、マージン量を量子化した特徴ベクトルの各要素に対応付けて、記録部７に記録する。
【００３６】
なお、特徴抽出部２、大分類部３、詳細分類部４、テーブル作成部５は、ＣＰＵ（Central Processing Unit）を用いて実現してもよい。また、プログラマブルなデバイス（ＦＰＧＡ（Field Programmable Gate Array）、ＰＬＤ（Programmable Logic Device）など）を用いてもよい。
【００３７】
記録部７は、プログラム、テーブル、データなどが記録されている。また、記録部７は、例えばＲＯＭ（Read Only Member）、ＲＡＭ（Random Access Memory）、ハードディスクなどのメモリである。また、記録部７は、パラメータ値、変数値などのデータを記録してもよいし、ワークエリアとして用いることもできる。実施例１では、候補テーブル（大分類用辞書）などが記録されている。
【００３８】
（テーブル作成部の動作）
図６は、テーブル作成部５の動作の一例を示すフロー図である。
ステップＳ１においてテーブル作成部５は、１つの学習用サンプルパターンの特徴ベクトルの要素を１つ抽出し、抽出した要素に対応する軸の軸上の位置を求める。なお、学習用サンプルパターンの特徴ベクトルは、特徴抽出部２に入力された学習用サンプルパターンから求める。ここで、学習用サンプルパターンは、ＪＩＳ第１水準の漢字、ＪＩＳ第２水準の漢字、ひらがな、カタカナ、記号、縦書き専用文字、英字、数字、半角文字などの文字画像である。また、学習用サンプルパターンは、劣化文字画像（ファクシミリやコピーなどにより劣化（掠れ、滲み、汚れなど）した文字画像）である。本例では、パターンとして文字を用いて説明するが、文字に限定するものではない。
【００３９】
図７は、学習用サンプルパターンである文字画像「Ａ」「Ｂ」・・・・について、カテゴリとテンプレートの関係を示した図である。図７において、文字画像「Ａ」の学習用サンプルパターンはカテゴリ１（文字「Ａ」の文字コードに対応）に含まれ、文字画像「Ｂ」の学習用サンプルパターンはカテゴリ２（文字「Ｂ」の文字コードに対応）に含まれている。そして、カテゴリ１は、テンプレートＡ１〜Ａ５に分けられている。カテゴリ２は、テンプレートＢ１〜Ｂ５に分けられている。
【００４０】
図８は、図７に示した文字「Ａ」「Ｂ」・・・・を、上記説明したように２８８次元特徴ベクトルに変換した場合の例を示す図である。特徴ベクトルに変換された各学習用サンプルパターンは、テーブル作成部５を介してカテゴリに対応付けられて記録部７に記録される。図８の例では、文字「Ａ」に対応する「カテゴリ１」に、特徴ベクトルの名称「ＸＡ１」「ＸＡ２」・・・・が対応付けて記録されている。また、文字「Ｂ」に対応する「カテゴリ２」に、特徴ベクトルの名称「ＸＢ１」「ＸＢ２」・・・・が対応付けて記録部７に記録されている。なお、特徴抽出部２は、テーブル作成部５を介さずに直接記録部７にカテゴリと特徴ベクトルを記録してもよい。
【００４１】
次に、テーブル作成部５は、記録部７に記録した学習用サンプルパターンの特徴ベクトルの要素を１つ抽出し、抽出した要素を軸上に投影して該要素の軸上の位置を求める。図９のＡの例では、カテゴリ１（文字画像「Ａ」）の特徴ベクトルの「ｘ１」に対応する軸上に、各学習用サンプルパターンの特徴ベクトルの「ｘ１」に対応する各要素を投影している。また、図９のＡは、−１２７から１２８の数値範囲（２５６ビット）で示される軸上に、特徴ベクトルの各要素の特徴量を−１２７から１２８の数値範囲で量子化して軸上の座標位置を決めて、各軸の分布を表している。
【００４２】
例えば、カテゴリ１の特徴ベクトルの要素「ｘ１」に対応する特徴量「ｘＡ１１」の場合であれば、テーブル作成部５は、特徴量「ｘＡ１１」を量子化して座標位置「ＰＡ１１」にする。そして、テーブル作成部５は、図１０に示すように特徴量「ｘＡ１１」と座標位置「ＰＡ１１」を対応付けて記録部７に記録する。他の学習用サンプルパターンの特徴ベクトルの各要素についても同様に、テーブル作成部５は各要素と各座標位置を対応付けて記録部７に記録する。
【００４３】
次に、図６のステップＳ２では、テーブル作成部５が、マージン決定部６により予め算出されたマージン量を取得し、ステップ３でテーブル作成部５は、軸上の座標位置を中心にマージン量を左右（最小値方向と最大値方向）に加える。そして、テーブル作成部５は、この学習用サンプルパターンのカテゴリ（またはテンプレート）の範囲を決め、該範囲を記録部７に記録する。図９のＢは、図９のＡに示したカテゴリ１の特徴ベクトルの要素「ｘ１」に対応する座標位置に、予め設定したマージン量を左右に加えたことを示す図である。
【００４４】
例えば、カテゴリ１の特徴ベクトルの要素「ｘ１」に対応する座標位置「ＰＡ１１」の場合であれば、テーブル作成部５は、座標位置「ＰＡ１１」を中心に、マージン決定部６により予め算出したマージン量「ＭＡ１１」を設定する。図１０の例では、座標位置「ＰＡ１１」に対応付けてマージン量「ＭＡ１１」を記録部７に記録する。他のマージン量についても同様に、テーブル作成部５は各座標位置と各マージン量を対応付けて記録部７に記録する。座標位置を示す場合、例えば、数値範囲が２５６ビットであれば０〜２５５ビットの範囲にある、算出した座標位置に対応するビットに「１」を設定することが考えられる。例えば、座標位置「ＰＡ１１」が０〜２５５ビットの５０ビット目（−７８）に対応するのであれが「ＰＡ１１」に「５０」を設定する。また、マージン量が「５ビット」であれば、「ＭＡ１１」に「５」を記録する。その結果、４５ビット〜５５ビット目（−８３〜−７３）には「１」が設定される。座標位置とマージン量に対応しないビットには「０」が設定される。なお、座標位置とマージン量を記録しないで、座標位置とマージン量から求めた最小値と最大値の範囲（−８３〜−７３）を直接記録してもよい。また、例えば２５６幅のビット列を用意して、対応する範囲（４５ビット〜５５ビット）に「１」を設定してもよい。
【００４５】
図６のステップＳ４では、テーブル作成部５が、対象の特徴ベクトルの全ての要素（ｘ１〜ｘ２８８）ついて処理をしたかを判定する。全ての要素について処理を完了していればステップＳ６に移行し、まだ未処理の要素が残っている場合にはステップ５に移行する。ステップ５では、次の要素を選択してステップＳ１に移行する。
【００４６】
ステップＳ６では、テーブル作成部５が、対象のカテゴリ（１、２〜）またはテンプレート全ての特徴ベクトルについて処理をしたかを判定する。全ての特徴ベクトルについて処理を完了していればステップＳ８に移行し、まだ未処理の特徴ベクトルが残っている場合にはステップ７に移行する。ステップ７では、次のカテゴリまたはテンプレートの特徴ベクトルを選択してステップＳ１に移行する。
【００４７】
ステップＳ８では、テーブル作成部５が、全ての学習用サンプルパターン（カテゴリ（１、２〜）またはテンプレート）について処理したかを判定する。全ての学習用サンプルパターンについて処理を終了していればステップＳ１０に移行し、まだ未処理の学習用サンプルパターンが残っている場合にはステップ９で次の学習用サンプルパターンを選択して、ステップ１に移行する。
テーブル作成部５は、上記ステップＳ１〜Ｓ８のテーブル作成処理をすることにより候補テーブル（大分類用辞書）を作成する。
【００４８】
図１１は、図６に示したテーブル作成処理を全ての学習用サンプルパターンに対して実施した結果を示す例で、各カテゴリの各要素に対応する座標位置とマージン量に対して、ビット列で表される軸上の対応する箇所にビット「１」を設定した場合の例である。
【００４９】
図１２は、平面辞書の概要を示す図である。従来の平面辞書（図２参照）と比べて、実施例１の平面辞書はカテゴリごとの各特徴ベクトルの各要素に対して適切に分布を捉えているため、パターン認識処理の大分類の精度を向上させることができる。
【００５０】
図１３は、実施例１で説明した方法により平面辞書を作成ときの字種「Ａ」「Ｂ」「Ｃ」の辞書に記録されている分布範囲（「Ａ」の分布範囲Ａａ’、「Ｂ」の分布範囲Ｂａ’、「Ｃ」の分布範囲Ｃａ’）と実際の分布範囲（「Ａ」の範囲Ａｒ、「Ｂ」の範囲Ｂｒ、「Ｃ」の範囲Ｃｒ）の関係を示している。実施例１の平面辞書を用いることで、従来の平面辞書（図３参照）を用いたときと比べて、未知文字「Ｘ」が入力されても、適切に分布を捉えているため、未知文字「Ｘ」は「Ｃ」のカテゴリに絞り込まれ、文字「Ａ」のカテゴリに未知文字「Ｘ」が属していない。
【００５１】
（実施例２）
図１４は、図４に示した大分類部３の動作を示す図である。
ステップＳ１４０１では、大分類部３が全カテゴリ数分の幅をもつビット列領域ｔｅｍｐ＿ｂｉｔを記録部７などのメモリに確保して、全てのビットに「１」を設定する。図１５の例では、カテゴリがｎ個存在するので、ｎビット幅のｔｅｍｐ＿ｂｉｔを確保して、ｎビット全てに「１」を設定する。ｔｅｍｐ＿ｂｉｔは式３で示すことができる。
ｔｅｍｐ＿ｂｉｔ：（１，１，１・・・１）      式３
ｔｅｍｐ＿ｂｉｔはｎビット
【００５２】
ステップＳ１４０２では、大分類部３が未知入力文字の特徴ベクトルを求め、この特徴ベクトルの各要素を対応する各軸へ投影し各軸上の座標位置を求める。図１５の例では、未知入力の対象の軸上の座標位置がｋで表される場合に、未知入力の対象の軸の座標位置ｋに対応するカテゴリ１〜ｎの軸上の座標位置ｋに設定されている値を取得する。未知入力文字「Ｘ」がカテゴリに含まれるとすると、取得したカテゴリ１〜ｎの軸上の座標位置ｋは式４で示すことができる。
対象軸の座標位置ｋのビット列：（１，０，０・・・・）      式４
対象軸の座標位置ｋのビット列はｎビット
【００５３】
ステップＳ１４０３では、大分類部３が未知文字の対象軸の座標位置に対応するカテゴリ１〜ｎごとの座標位置で構成されるビット列と、ｔｅｍｐ＿ｂｉｔと論理積（ｂｉｔ ＡＮＤ）を行う。図１５の例では、ｔｅｍｐ＿ｂｉｔと対象軸の座標位置ｋのビット列の論理積を計算する。
ｔｅｍｐ＿ｂｉｔ  ＡＮＤ  （対象軸の座標位置ｋのビット列）      式５
論理積の結果であるｔｅｍｐ＿ｂｉｔ＝（１，０，０・・・・）
【００５４】
ステップＳ１４０４では、大分類部３が未知文字の全軸に対して上記ステップＳ１４０３の処理をしたか否かを判定する。未知文字の全軸に対してステップＳ１４０３の処理を終了していればステップＳ１４０６に移行し、終了していなければステップＳ１４０５に移行する。ステップＳ１４０５では、大分類部３が次の軸を選択する。
【００５５】
ステップＳ１４０６では、大分類部３が各軸のビット列計算用の領域ｔｅｍｐ＿ｂｉｔにおいて対応するカテゴリ番号のビットに「１」が設定されているカテゴリ（またはテンプレート）を選択する。そして、大分類部３は選択したカテゴリを大分類結果として、記録部７に記録する。上記のように実施例１で作成した候補テーブル（大分類用辞書）を用いることにより、大分類の精度を向上させることができたが、しかし、まだ大分類の処理時間を短縮させる余地がある。
【００５６】
そこで、正準判別分析を用いて特徴ベクトルの次元を圧縮して次元圧縮をした特徴ベクトルを用いて大分類用の辞書を生成する方法を説明する。図１６は、図４に示した特徴抽出部２に特徴圧縮部１６０２を設けたパターン認識装置１６０１の構成の一例を示す図である。特徴圧縮部１６０２は、元の特徴ベクトルを少数の次元からなる圧縮特徴ベルトルにする。圧縮特徴ベルトルを求める特徴圧縮処理とは、圧縮特徴空間の初期座標の算出、座標軸の直交化、圧縮特徴ベルトルの算出を行うものである。圧縮特徴空間の初期座標の算出処理では、既存の技術である正準判別分析により、カテゴリ間の分散と、カテゴリ内の分散比が最大となる座標軸を抽出する。例えば、２８８次元の特徴空間において、１６次元の圧縮特徴空間を求める場合、文字カテゴリ間分散行列Ｓb＝行列Ｂ、文字カテゴリ内分散行列Ｓｗ＝行列Ｗを以下のように定義する（式６）。行列Ｂと行列Ｗは２８８×２８８の行列である。
【数１】
0005521497.tif 000002
【００５７】
次に、特徴圧縮部１６０２は、式７を満たすような固有行列と固有値行列を求める。
【数２】
0005521497.tif 000003
【００５８】
上記のように求めた、固有値の大きいほうから圧縮する次元数の固有ベクトルを選択する。たとえば１６次元にするのであれば式８に示す固有ベクトルが初期座標になる。
【数３】
0005521497.tif 000004
【００５９】
次に、シュミットの直交化により直交座標軸に変更した１６個の２８８次元ベクトルを求める。式９に初期座標を正規直交化して、１６個の２８８次元ベクトルを並べて行列形式にした変換行列を示す。
【数４】
0005521497.tif 000005
【００６０】
次に、圧縮特徴の算出（特徴ベクトルの投影）は、式１０に示すように、１つの文字画像から求めた２８８次元の特徴ベクトルの転置行列、に変換行列をかけて、１６次元の特徴ベクトルを求める。
【数５】
0005521497.tif 000006
【００６１】
この１６次元圧縮特徴のベクトルの各要素ｙ１、ｙ２・・・ｙ１６は、それぞれ２８８次元空間の１点で表される特徴ベクトルＸを１６の軸に投影した時の各軸上の値（座標位置）になる。例えば、ｙ１は特徴ベクトルＸを第１軸へ投影したときの第１軸上の値（座標位置）である。他の要素についても同じことがいえる。
【００６２】
実施例２では、特徴抽出部２が実施例１で説明したように元となる特徴ベクトルを生成し、特徴圧縮部１６０２により元となる特徴ベクトルを次元圧縮する。そして、次元圧縮した特徴ベクトルを用いて、テーブル作成部５が大分類用の平面辞書を作成する。また、大分類をする際も、特徴圧縮部１６０２により未知入力の特徴ベクトルを次元圧縮してから、大分類部３が実施例２で生成した候補テーブル（大分類用辞書）を用いて大分類の処理を行うため、大分類の処理において扱うベクトル数を削減できる。そのため、大分類の処理時間を短縮させることができる。また、次元圧縮を行うことにより、扱うベクトル数が削減できるため記録部７の候補テーブル（大分類用辞書）の記憶領域を縮小することができる。
【００６３】
（実施例３）
実施例３では、カテゴリまたはテンプレートごとに学習用サンプルパターン間の違い（変形程度）に基づいて軸上のマージン量を決め、学習用サンプルパターンのカテゴリまたはテンプレートごとにマージン量を決める。学習用サンプルパターン間の違いとは、元となる学習用サンプルパターンと、元となる学習用サンプルパターンを劣化させたパターン（このパターンも学習用サンプルパターンである）との違いである。
【００６４】
図１７は、実施例３におけるマージン決定処理の一例を示すフロー図である。
ステップＳ１７０１では、特徴抽出部２が元となる学習用サンプルパターンに対して劣化させた複数の学習用サンプルパターンを特徴ベクトルに変換し、該特徴ベクトルとカテゴリ、元となる学習用サンプルパターンの特徴ベクトルを対応づけて記録部７に記録する。
【００６５】
ステップＳ１７０２では、マージン決定部６がカテゴリまたはテンプレートを選択する。ステップＳ１７０３では、マージン決定部６が元となる学習用サンプルパターンを選択する。ステップＳ１７０４では、マージン決定部６が元となる学習用サンプルパターンを劣化させたパターンの特徴ベクトルから要素を選択する。
【００６６】
ステップＳ１７０５では、マージン決定部６が選択した要素に対応する軸上で、元の特徴ベクトルの要素の値と、劣化させた特徴ベクトルの要素の値との差を求める。例えば、元となる学習用サンプルパターンの特徴ベクトルの要素に対応する軸上の座標位置をＰｂａｓｅとし、劣化させたパターンの軸上の座標位置をＰｄｅｔｅとて、｜Ｐｂａｓｅ−Ｐｄｅｔｅ｜を計算して差を求める。次に、マージン決定部６は、ＰｂａｓｅとＰｄｅｔｅの大きさを比較して大小関係を求めて、元となる学習用サンプルパターンの特徴ベクトルの要素に対応する値を中心に、右方向（最大値方向）のマージンであるか、左方向（最小値方向）のマージンであるかを判定する。軸を０〜２５５の数値範囲とした場合、Ｐｂａｓｅ−Ｐｄｅｔｅを計算して計算結果がプラスの値であれば左方向のマージンとし、該値を変数ｍＬｔｅｍｐに記録する。また、マイナスの値であれば右方向のマージン量とし、該値を変数ｍＲｔｅｍｐに記録する。
【００６７】
ステップＳ１７０６では、マージン決定部６がカテゴリごとにステップＳ１７０５で算出したマージン量を加算する。例えば、式１１に示すように、右方向のマージン量の加算であれば、変数ｍＲに変数ｍＲｔｅｍｐを加算し、左方向のマージン量の加算であれば、変数ｍＬに変数ｍＬｔｅｍｐを加算する。
ｍＲ  ←  ｍＲ＋ｍＲｔｅｍｐ
ｍＬ  ←  ｍＬ＋ｍＬｔｅｍｐ      式１１
←：代入を示す
【００６８】
その際、変数ｍＲに、変数ｍＲｔｅｍｐが加算されるたびに式１２に示すように変数ｍＲｃｏｕｎｔに１を加算し、加算した回数を記録する。また、変数ｍＬに、変数ｍＬｔｅｍｐが加算されるたびに式１２に示すように変数ｍＬｃｏｕｎｔに１を加算し、加算した回数を記録する。
ｍＲｃｏｕｎｔ←ｍＲｃｏｕｎｔ＋１
ｍＬｃｏｕｎｔ←ｍＬｃｏｕｎｔ＋１      式１２
【００６９】
ステップＳ１７０７でマージン決定部６は、対象を劣化させた学習用サンプルパターンの特徴ベクトルの要素全てについて処理をしたか否かを判定する。全ての要素について処理を実行していればステップＳ１７０９に移行し、未処理の要素がある場合はステップＳ１７０８に移行する。ステップＳ１７０８では、マージン決定部６が次の要素を選択し、ステップＳ１７０５に移行する。
【００７０】
ステップＳ１７０９では、マージン決定部６が、劣化させた学習用サンプルパターンの特徴ベクトル全てについて処理をしたか否かを判定する。全ての特徴ベクトルについて処理を実行していればステップＳ１７１１に移行し、未処理の特徴ベクトルがある場合はステップＳ１７１０に移行する。ステップＳ１７１０では、マージン決定部６が次の劣化させた学習用サンプルパターンの特徴ベクトルを選択し、ステップＳ１７０４に移行する。
【００７１】
ステップＳ１７１１では、マージン決定部６がカテゴリ全てについて処理をしたか否かを判定する。全てのカテゴリについて処理を実行していればステップＳ１７１２に移行し、未処理のカテゴリがある場合はステップＳ１７０２に移行する。なお、カテゴリが変わるたびにカウント値ｍＲｃｏｕｎｔ、ｍＬｃｏｕｎｔの値に初期値（例えば「０」）を設定する。
【００７２】
ステップＳ１７１２でマージン決定部６は、式１３に示すように、カテゴリごとの右方向および左方向のそれぞれのマージン量の平均値ｍＲａｖｅ、ｍＬａｖｅを求める。
ｍＲａｖｅ  ←  ｍＲ／ｍＲｃｏｕｎｔ
ｍＬａｖｅ  ←  ｍＬ／ｍＬｃｏｕｎｔ      式１３
【００７３】
なお、平均値ｍＲａｖｅ、ｍＬａｖｅに固定倍数を積算しマージン量を調整してもよい。そして、マージン決定部６は、図１８に示したようにカテゴリとマージン量の平均値ｍＲａｖｅ、ｍＬａｖｅを対応づけて、それぞれ記録部７に記録する。図１８は、実施例３に示したマージン決定方法により算出したマージン量（ｍＲａｖｅ、ｍＬａｖｅ）を、カテゴリごとに対応付けて記録するときのデータ構造の一例を示す図である。図１８の「カテゴリ」にはカテゴリを識別するための識別番号（１、２〜ｎ）が記録され、「ｍＲａｖｅ」「ｍＬａｖｅ」には上記処理により決定したカテゴリごとのマージン量（ＭＡＬ１〜ＭＡＬｎ／ＭＡＲ１〜ＭＡＲｎ）が記録されている。
【００７４】
上記のようにマージン決定処理は、カテゴリに含まれる複数の元となるパターンと、元となるパターンを劣化させたパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の同じ位置の要素に対応する軸に投影する。次に、元となるパターンの軸上の座標位置と、劣化させたパターンごとの軸上の座標位置との差を算出する。そして、元となるパターンの軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、カテゴリごとにマージン量を対応付けて記録部７に記録する。
【００７５】
実施例３によれば、元となる学習用サンプルパターンと劣化させた複数の学習用サンプルパターンに基づいてマージン量を決めているため、従来の大分類用の辞書を用いて大分類をするより、精度を向上させることができる。すなわち、実施例３の平面辞書はカテゴリごとの各特徴ベクトルの各要素に対して適切に分布を捉えているため、大分類の精度を向上させることができる。
なお、実施例２で説明した次元圧縮したベクトルを用いて、実施例３で説明した方法によりマージン量を決定してもよい。
【００７６】
（実施例４）
実施例４は、軸を予め決められたサイズで区分けして、カテゴリごとの全ての学習用サンプルパターンの特徴ベクトルの各要素を軸へ投影し、区間と軸上の座標位置に基づいてマージン量を求める。
【００７７】
図１９は、実施例４におけるマージン決定処理の一例を示すフロー図である。また、実施例４では図２０に示すように、マージン決定部６が、軸上に予め決められたサイズで区分けした区間を設定する。例えば、軸が０〜２５５の数値範囲で示されているときには、２５６を等間隔で区分けして各区間に識別番号を割り付ける。図２０場合であれば区間を１０に区切り１０等分している。なお、区間は必ずしも等分する必要はない。
【００７８】
ステップＳ１９０１では、特徴抽出部２が元となる学習用サンプルパターンに対して劣化させた複数の学習用サンプルパターンを特徴ベクトルに変換し、該特徴ベクトルとカテゴリ、区間、元となる学習用サンプルパターンの特徴ベクトルを対応づけて記録部７に記録する。ステップＳ１９０２では、マージン決定部６がカテゴリまたはテンプレートを選択する。ステップＳ１９０３では、マージン決定部６が元となる学習用サンプルパターンを選択する。ステップＳ１９０４では、マージン決定部６が元となる学習用サンプルパターンを劣化させたパターンの特徴ベクトルから要素を選択する。ステップＳ１９０５では、マージン決定部６がステップＳ１９０４で選択した対象の要素に対応する値がある区間を選択する。
【００７９】
ステップＳ１９０６では、実施例１で説明したステップＳ１７０５と同様に、マージン決定部６が選択した要素に対応する軸上で、元の特徴ベクトルの要素の値と、劣化させた特徴ベクトルの要素の値との差をマージンとして求める。例えば、元となる学習用サンプルパターンの特徴ベクトルの要素に対応する軸上の座標位置をＰｂａｓｅとし、劣化させたパターンの軸上の座標位置をＰｄｅｔｅとて、｜Ｐｂａｓｅ−Ｐｄｅｔｅ｜を計算して差を求める。次に、マージン決定部６は、ＰｂａｓｅとＰｄｅｔｅの大きさを比較して大小関係を求めて、元となる学習用サンプルパターンの特徴ベクトルの要素に対応する値を中心に、右方向（最大値方向）のマージンであるか、左方向（最小値方向）のマージンであるかを判定する。軸を０〜２５５の数値範囲とした場合、例えば区間１に対しては、Ｐｂａｓｅ−Ｐｄｅｔｅを計算して計算結果がプラスの値であれば左方向のマージンとし、該値を変数ｍＬｉｎｔ１＿ｔｅｍｐに記録する。また、マイナスの値であれば右方向のマージン量とし、該値を変数ｍＲｉｎｔ１＿ｔｅｍｐに記録する。
【００８０】
ステップＳ１９０７では、マージン決定部６が区間ごとにステップＳ１９０６で算出したマージン量を加算する。例えば、区間１の場合であれば式１４に示すように、右方向のマージン量の加算であれば、変数ｍＲｉｎｔ１に変数ｍＲｉｎｔ１＿ｔｅｍｐを加算し、左方向のマージン量の加算であれば、変数ｍＬｉｎｔ１に変数ｍＬｉｎｔ１＿ｔｅｍｐを加算する。
ｍＲｉｎｔ１  ←  ｍＲｉｎｔ１＋ｍＲｉｎｔ１＿ｔｅｍｐ
ｍＬｉｎｔ１  ←  ｍＬｉｎｔ１＋ｍＬｉｎｔ１＿ｔｅｍｐ      式１４
【００８１】
その際、変数ｍＲｉｎｔ１に、変数ｍＲｉｎｔ１＿ｔｅｍｐが加算されるたびに式１５に示すようにｍＲｉｎｔ１＿ｃｏｕｎｔに１を加算し、加算した回数を記録する。また、変数ｍＬｉｎｔ１に、変数ｍＬｉｎｔ１＿ｔｅｍｐが加算されるたびに式１５に示すようにｍＬｉｎｔ１＿ｃｏｕｎｔに１を加算し、加算した回数を記録する。
ｍＲｉｎｔ１＿ｃｏｕｎｔ←ｍＲｉｎｔ１＿ｃｏｕｎｔ＋１
ｍＬｉｎｔ１＿ｃｏｕｎｔ←ｍＬｉｎｔ１＿ｃｏｕｎｔ＋１      式１５
【００８２】
ステップＳ１９０８でマージン決定部６は、対象を劣化させた学習用サンプルパターンの特徴ベクトルの要素全てについて処理をしたか否かを判定する。全ての要素について処理を実行していればステップＳ１９１０に移行し、未処理の要素がある場合はステップＳ１９０９に移行する。ステップＳ１９０９では、マージン決定部６が次の要素を選択し、ステップＳ１９０５に移行する。
【００８３】
ステップＳ１９１０では、マージン決定部６が、劣化させた学習用サンプルパターンの特徴ベクトル全てについて処理をしたか否かを判定する。全ての特徴ベクトルについて処理を実行していればステップＳ１９１２に移行し、未処理の特徴ベクトルがある場合はステップＳ１９１１に移行する。ステップＳ１９１１では、マージン決定部６が次の劣化させた学習用サンプルパターンの特徴ベクトルを選択し、ステップＳ１９０４に移行する。
【００８４】
ステップＳ１９１２では、マージン決定部６がカテゴリ全てについて処理をしたか否かを判定する。全てのカテゴリについて処理を実行していればステップＳ１９１３に移行し、未処理のカテゴリがある場合はステップＳ１９０２に移行する。なお、カテゴリが変わるたびにカウント値に初期値（例えば「０」）を設定する。区間１の場合であれば、ｍＲｉｎｔ１＿ｃｏｕｎｔ、ｍＬｉｎｔ１＿ｃｏｕｎｔの値に初期値を設定する。
【００８５】
ステップＳ１９１３でマージン決定部６は、各カテゴリの各区間における右方向および左方向のそれぞれのマージン量の平均値を求める。区間１の場合であれば、式１６に示すように、各カテゴリの各区間における右方向および左方向のそれぞれのマージン量の平均値ｍＲｉｎｔ１＿ａｖｅ、ｍＬｉｎｔ１＿ａｖｅを求める。
ｍＲｉｎｔ１＿ａｖｅ  ←  ｍＲｉｎｔ１＿／ｍＲｉｎｔ１＿ｃｏｕｎｔ
ｍＬｉｎｔ１＿ａｖｅ  ←  ｍＬｉｎｔ１＿／ｍＬｉｎｔ１＿ｃｏｕｎｔ    式１６
【００８６】
なお、平均値ｍＲｉｎｔ１＿ａｖｅ、ｍＬｉｎｔ１＿ａｖｅに固定倍数を積算しマージン量を調整してもよい。また、マージン決定部６は、図２１に示したようにカテゴリとマージン量の平均値を対応づけて、それぞれ記録部７に記録する。図２１は、実施例４に示したマージン決定方法により算出したマージン量を、各カテゴリの各区間に対応付けて記録するときのデータ構造の一例を示す図である。図２１の「カテゴリ」には、カテゴリを識別するための識別番号（１、２〜ｎ）が記録され、「区間１」〜「区間ｗ」（ｗは整数）には区間を識別するための識別番号（１、２〜ｗ）が記録されている。また、図２１の「ｍＲｉｎｔ１＿ａｖｅ」〜「ｍＲｉｎｔｗ＿ａｖｅ」、「ｍＬｉｎｔ１＿ａｖｅ」〜「ｍＬｉｎｔｗ＿ａｖｅ」には、上記処理により決定した各カテゴリの各区間のマージン量（ＭＡＬ１１〜ＭＡＬｗｎ／ＭＡＲ１１〜ＭＡＲｗｎ）が記録されている。
【００８７】
上記のように実施例４では、マージン決定処理により、軸を予め設定された範囲に区分けした区間を設定する。次に、カテゴリに含まれる複数の元となるパターンと、元となるパターンを劣化させたパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の同じ位置の要素に対応する軸に投影する。次に、元となるパターンの軸上の座標位置と、劣化させたパターンごとの軸上の座標位置との差を算出する。そして、元となるパターンの軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、元となるパターンの軸上の座標位置が含まれる区間ごとにマージン量を対応付けて記録部７に記録する。
【００８８】
従来手法では軸上の１点に多数のカテゴリが所属することになり、認識時の絞り込み能力が低く、高精度を保ったまま少数カテゴリに絞り込めなかった。しかし、実施例４によれば、マージン量を元となる学習用サンプルパターンと劣化させた複数の学習用サンプルパターンに基づいて、区間ごとにマージン量を決めているため、従来の大分類用の辞書を用いて大分類の精度を向上させることができる。すなわち、実施例４の平面辞書は各カテゴリの各区間の各特徴ベクトルの各要素に対して適切に分布を捉えているため、大分類の精度を向上させることができる。
なお、実施例２で説明した次元圧縮したベクトルを用いて、実施例４で説明した方法によりマージン量を決定することもできる。
【００８９】
（実施例５）
実施例５では、各カテゴリまたは各テンプレートの集合に含まれる文字パターンのフォントタイプに注目して、同一カテゴリにおけるフォントタイプごとの軸上の分布に基づいてマージン量を求める。
【００９０】
図２２は、実施例５におけるマージン決定処理の一例を示すフロー図である。
ステップＳ２２０１で特徴抽出部２が、同一カテゴリにおける複数の異なるフォントタイプの学習用サンプルパターンの文字パターンを特徴ベクトルに変換し、該特徴ベクトルとフォント、カテゴリを対応づけて記録部７に記録する。
【００９１】
ステップＳ２２０２では、マージン決定部６が対象のカテゴリを選択する。ステップＳ２２０３では、マージン決定部６がフォントを選択する。
ステップＳ２２０４では、マージン決定部６がステップＳ２２０３で選択したフォントの特徴ベクトルから要素を選択し、対応する軸上に特徴ベクトルの要素を投影する。例えば、同一カテゴリ１に異なるフォントタイプの学習用サンプルパターン（文字パターン：Ｆ１１〜Ｆ１ｎ）が複数ある場合に、文字パターンＦ１１〜Ｆ１ｎをそれぞれ２８８次元の特徴ベクトルに変換したときについて説明する。文字パターンＦ１１〜Ｆ１ｎの各特徴ベクトルを構成する１〜２８８番目の要素に対して、それぞれ０〜２５５の数値範囲で示される軸を割り振る。１番目の要素に対応する軸には、文字パターンＦ１１〜Ｆ１ｎの各特徴ベクトルの１番目に対応する各要素を投影する。他の軸についても、文字パターンＦ１１〜Ｆ１ｎの各特徴ベクトルの対象要素を対象になる軸に投影する。すなわち、文字パターンＦ１１〜Ｆ１ｎの特徴ベクトルの全ての要素が、２８８個の軸に全て投影される。
【００９２】
ステップＳ２２０５でマージン決定部６は、対象のフォントに対する特徴ベクトルの要素全てについて処理をしたか否かを判定する。全ての要素について処理を実行していればステップＳ２２０７に移行し、未処理の要素がある場合はステップＳ２２０６に移行する。ステップＳ２２０６では、マージン決定部６が次の要素を選択し、ステップＳ２２０４に移行する。
【００９３】
ステップＳ２２０７では、マージン決定部６がステップＳ２２０３で選択したフォントの特徴ベクトル全てについて処理をしたか否かを判定する。全ての特徴ベクトルについて処理を実行していればステップＳ２２０９に移行し、未処理の特徴ベクトルがある場合はステップＳ２２０８に移行する。ステップＳ２２０８では、マージン決定部６が次のフォントの特徴ベクトルを選択し、ステップＳ２２０４に移行する。
【００９４】
ステップＳ２２０９では、マージン決定部６が同一カテゴリの各軸上に投影された複数の要素の平均値を求める。例えば、上記説明したカテゴリ１に含まれる文字パターンＦ１１〜Ｆ１ｎの特徴ベクトルの全ての要素が投影された２８８個の軸の場合であれば、２８８個の軸ごとに、軸上の要素の平均値を計算する。次に、この平均値の値とフォントタイプごとの特徴ベクトルの軸上の要素の値との差を求める。例えば、平均値に対応する軸上の座標位置をＰｆｂａｓｅとし、フォントごとの文字パターンの軸上の座標位置をＰｆｄｅｔｅとて、｜Ｐｆｂａｓｅ−Ｐｆｄｅｔｅ｜を計算して差を求める。次に、マージン決定部６は、ＰｆｂａｓｅとＰｆｄｅｔｅの大きさを比較して大小関係を求めて、平均値を中心に、右方向（最大値方向）のマージンであるか、左方向（最小値方向）のマージンであるかを判定する。軸を０〜２５５の数値範囲とした場合、Ｐｆｂａｓｅ−Ｐｆｄｅｔｅを計算して計算結果がプラスの値であれば左方向のマージンとし、該値を変数ｍＬｆ＿ｔｅｍｐに記録する。また、マイナスの値であれば右方向のマージン量とし、該値を変数ｍＲｆ＿ｔｅｍｐに記録する。
【００９５】
ステップＳ２２１０では、マージン決定部６がフォントごとの差の平均値を求めて、カテゴリごとのフォントのマージン値とする。まず、フォントごとにステップＳ２２０９で算出したマージン量を加算する。例えば、式１７に示すように、右方向のマージン量の加算であれば、変数ｍＲｆに変数ｍＲｆ＿ｔｅｍｐを加算し、左方向のマージン量の加算であれば、変数ｍＬｆに変数ｍＬｆ＿ｔｅｍｐを加算する。
ｍＲｆ  ←  ｍＲｆ＋ｍＲｆ＿ｔｅｍｐ
ｍＬｆ  ←  ｍＬｆ＋ｍＬｆ＿ｔｅｍｐ      式１７
【００９６】
その際、変数ｍＲｆに、変数ｍＲｆ＿ｔｅｍｐが加算されるたびに式１８に示すようにｍＲｆ＿ｃｏｕｎｔに１を加算し、加算した回数を記録する。また、変数ｍＬｆに、変数ｍＬｆ＿ｔｅｍｐが加算されるたびに式１８に示すようにｍＬｆ＿ｃｏｕｎｔに１を加算し、加算した回数を記録する。
ｍＲｆ＿ｃｏｕｎｔ←ｍＲｆ＿ｃｏｕｎｔ＋１
ｍＬｆ＿ｃｏｕｎｔ←ｍＬｆ＿ｃｏｕｎｔ＋１      式１８
【００９７】
次に、マージン決定部６は、式１９に示すように、フォントごとの右方向および左方向のそれぞれのマージン量の平均値ｍＲｆ＿ａｖｅ、ｍＬｆ＿ａｖｅを求める。
ｍＲｆ＿ａｖｅ  ←  ｍＲｆ／ｍＲｆ＿ｃｏｕｎｔ
ｍＬｆ＿ａｖｅ  ←  ｍＬｆ／ｍＬｆ＿ｃｏｕｎｔ      式１９
【００９８】
なお、平均値ｍＲｆ＿ａｖｅ、ｍＬｆ＿ａｖｅに固定倍数を積算しマージン量を調整してもよい。なお、フォントが変わるたびにカウント値ｍＲｃｏｕｎｔ、ｍＬｃｏｕｎｔの値に初期値（例えば「０」）を設定する。
【００９９】
ステップＳ２２１１では、マージン決定部６がカテゴリ全てについて処理をしたか否かを判定する。全てのカテゴリについて処理を実行していればステップＳ２２１２に移行し、未処理のカテゴリがある場合はステップＳ２２０２に移行する。
【０１００】
そして、マージン決定部６は、図２３に示したようにフォントごとのマージン量の平均値ｍＲｆ＿ａｖｅ、ｍＬｆ＿ａｖｅを各フォントに対応づけて、それぞれ記録部７に記録する。図２３のフォントＦ１の場合、図２３のフォントＦ１に対応する平均値ＭＡＲＦ１、ＭＡＬＦ１がそれぞれ設定されている。他のフォントについてもそれぞれ平均値が設定されている。
【０１０１】
上記のように実施例５では、同一カテゴリに含まれる異なるフォントのパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の同じ位置の要素に対応する軸に投影し、異なるフォントのパターンの軸上の座標位置の平均値を算出する。次に、フォントごとのパターンの軸上の座標位置と平均値の座標位置との差を算出して、該差を平均値の座標位置を中心にして最小値方向の差と最大値方向の差に分ける。そして、カテゴリごとに同一フォントの最小値方向の差の平均値と最大値方向の差をマージン量として算出して、カテゴリにマージン量を対応付けて記録部に記録する。
【０１０２】
従来手法では軸上の１点に多数のカテゴリが所属することになり、認識時の絞り込み能力が低く、高精度を保ったまま少数カテゴリに絞り込めなかった。しかし、実施例５によれば、マージン量をカテゴリごとのフォントに基づいてマージン量を決めているため、大分類用の辞書を用いて大分類の精度を向上させることができる。すなわち、実施例５の平面辞書は、従来に比べてカテゴリごとの各特徴ベクトルの各要素に対して適切に分布を捉えているため、大分類の精度を向上させることができる。
【０１０３】
なお、実施例２で説明した次元圧縮したベクトルを用いて、実施例５で説明した方法によりマージン量を決定することもできる。
【０１０４】
（変形例１）
なお、実施例３におけるカテゴリの代わりに、フォントの種類により区分けしたテンプレートを用いることにより、図２４に示すようなカテゴリごとにフォントとマージ量を対応付けて記録することができる。図２４の「カテゴリ」にはカテゴリを識別するための識別番号（１、２〜ｎ）が記録され、「フォント」にはフォントを識別するための識別番号（Ｆ１、Ｆ２〜Ｆｎ）が記録され、ている。また、「ｍＲｆ＿ａｖｅ２」「ｍＬｆ＿ａｖｅ２」には、上記実施例３の処理により決定した各カテゴリにおけるフォントごとのマージン量（ＭＡＬＦ１１、ＭＡＬＦ１２〜／ＭＡＲＦ１１、ＭＡＲＦ１２〜）が記録されている。
【０１０５】
（変形例２）
変形例２は、上記実施例で説明したパターン認識処理を用いてパターン認識を行った結果、誤認識文字があることを発見した場合、誤認識の原因が大分類にあれば、利用者が大分類用の平面辞書を調整して、調整結果を大分類用の平面辞書に記録するものである。
【０１０６】
図２５は、上記実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
コンピュータのハードウェア２５００は、ＣＰＵ２５０１、記録部２５０２（ＲＯＭ、ＲＡＭ、ハードディスクドライブなど）、記録媒体読取装置２５０３、入出力インタフェース２５０４（入出力Ｉ／Ｆ）、通信インタフェース２５０５（通信Ｉ／Ｆ）などを備えている。また、上記各構成部はバス２５０６によってそれぞれ接続されている。
【０１０７】
ＣＰＵ２５０１は、記録部２５０２に格納されている上記説明したパターン認識処理（図６、図１３、図１７、図１９、図２２などに示した処理）を実行する。
記録部２５０２には、ＣＰＵ２５０１が実行するプログラムやデータが記録されている。また、ワークエリアなどとして使用される。また、記録部２５０２は上記説明した記録部７の機能を有する。
【０１０８】
記録媒体読取装置２５０３は、ＣＰＵ２５０１の制御にしたがって記録媒体２５０３ａに対するデータのリード／ライトを制御する。そして、記録媒体２５０３ａに記録媒体読取装置２５０３の制御で書き込まれたデータを記憶させたり、記録媒体２５０３ａに記憶されたデータを読み取らせたりする。また、着脱可能な記録媒体２５０３ａは、コンピュータで読み取り可能な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）などがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)などがある。
【０１０９】
入出力インタフェース２５０４には、入出力装置２５０４ａ（例えば、ディスプレイなど）が接続され、ユーザが入力した情報を受信し、バス２５０６を介してＣＰＵ２５０１に送信する。また、ＣＰＵ２５０１からの命令に従ってディスプレイの画面上に操作情報などを表示する。
【０１１０】
通信インタフェース２５０５は、必要に応じ、他のコンピュータとの間のＬＡＮ接続やインターネット接続や無線接続のためのインタフェースである。また、他の装置に接続され、外部装置からのデータの入出力を制御する。
【０１１１】
図２５に示す入出力装置２５０４ａであるモニタの画面上に表示されたパターン認識結果に誤認識文字があることを利用者が発見した場合、利用者が誤認識文字を正解文字に変更するために、画面上の誤認識文字をマウスなどにより選択する。そして、利用者が誤認識文字の代わりに正解文字を入力する。その際、ＣＰＵ２５０１が、誤認識した文字に関する大分類用の軸に関するデータと、正解文字に関する大分類用の軸に関するデータと記録部２５０２から取得して比較し、どの軸でエラーしたかを判定する。そして、ＣＰＵ２５０１が判定結果として、エラーした軸と分布をモニタの画面上に表示させる（図１２、１５のような表示）。利用者は、画面上に表示されたエラーした軸の分布領域（マージン量）をマウスなどで操作して調整をする。ＣＰＵ２５０１は、この調整した結果を記録部２５０２の大分類用の平面辞書に反映させることができる。そのため、従来のように誤認識した文字を正解文字に書き換えるだけでなく、誤認識した場合でも、利用者が大分類用の平面辞書の対象の軸の分布を、視覚的に簡単に調整をすることができる。
（本実施例がコンピュータプログラムとして実現される場合の構成）
図２５のようなハードウェア構成を有するコンピュータを用いることによって、上記説明した各種処理機能（実施例で説明した処理（フローチャートなど））が実現される。その場合システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体２５０３ａに記録しておくことができる。
【０１１２】
また、プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１４】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。なお、各実施例は処理に矛盾の無い限りにおいて、互いに組み合わせても構わない。
【０１１５】
以上実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の特徴ベクトルごとに求められる参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、軸上の要素ごとに、予め設定されたマージン量とカテゴリを関連付けて生成した候補テーブルを記録する記録部と、
与えられたパターンの参照特徴ベクトルを求め、前記候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、分類した候補カテゴリ集合を出力する分類部と、
を備えることを特徴とするパターン認識装置。
（付記２）
前記パターン認識装置は、前記学習用サンプルパターンまたは前記与えられたパターンを同次元の特徴ベクトルにする特徴抽出部と、
前記特徴ベクトルを次元圧縮して前記参照特徴ベクトルにする特徴圧縮部と、
を備えることを特徴とする付記１に記載のパターン認識装置。
（付記３）
前記マージン量は、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値であることを特徴とする付記１または２に記載のパターン認識装置。
（付記４）
前記マージン量は、前記軸を予め設定された範囲に区分けした区間を設定し、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、前記元となる学習用サンプルパターンの前記軸上の座標位置が含まれる前記区間ごとに前記マージン量を対応付けることを特徴とする付記１または２に記載のパターン認識装置。
（付記５）
前記マージン量は、同一カテゴリに含まれる異なるフォントの学習用サンプルパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の前記同じ位置の要素に対応する軸に投影し、前記異なるフォントの学習用サンプルパターンの前記軸上の座標位置の平均値を算出し、前記フォントごとの学習用サンプルパターンの前記軸上の座標位置と前記平均値の座標位置との差を算出して、該差を前記平均値の座標位置を中心にして最小値方向の差と最大値方向の差に分け、前記カテゴリごとに同一フォントの前記最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出して、前記フォントごとに前記マージン量を対応付けることを特徴とする付記１または２に記載のパターン認識装置。
（付記６）
コンピュータに、
与えられたパターンの参照特徴ベクトルを求める処理と、
学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の特徴ベクトルごとに求められる参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、軸上の要素ごとに、予め設定されたマージン量とカテゴリを関連付けて生成した候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求める処理と、
分類した候補カテゴリ集合を出力する処理と、
を実行させることを特徴とするパターン認識プログラム。
（付記７）
コンピュータが、
与えられたパターンの参照特徴ベクトルを求め、
学習用サンプルパターンを種別する複数のカテゴリごとに、同じカテゴリに含まれる複数の特徴ベクトルごとに求められる参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、軸上の要素ごとに、予め設定されたマージン量とカテゴリを関連付けて生成した候補テーブルを用いて、該参照特徴ベクトルの要素ごとに分類をして候補カテゴリ集合を求め、
分類した候補カテゴリ集合を出力する、
ことを実行するパターン認識方法。
（付記８）
前記学習用サンプルパターンまたは前記与えられたパターンを同次元の特徴ベクトルにする処理と、
前記特徴ベクトルを次元圧縮して前記参照特徴ベクトルにする処理と、
をコンピュータに実行させることを特徴とする付記６に記載のパターン認識プログラム。
（付記９）
前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出する処理を、コンピュータに実行させることを特徴とする付記６または８に記載のパターン認識プログラム。
（付記１０）
前記軸を予め設定された範囲に区分けした区間を設定し、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、前記元となる学習用サンプルパターンの前記軸上の座標位置が含まれる前記区間ごとに前記マージン量を対応付けて前記記録部に記録する処理を、コンピュータに実行させることを特徴とする付記６または８に記載のパターン認識プログラム。
（付記１１）
同一カテゴリに含まれる異なるフォントの学習用サンプルパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の前記同じ位置の要素に対応する軸に投影し、前記異なるフォントの学習用サンプルパターンの前記軸上の座標位置の平均値を算出し、前記フォントごとの学習用サンプルパターンの前記軸上の座標位置と前記平均値の座標位置との差を算出して、該差を前記平均値の座標位置を中心にして最小値方向の差と最大値方向の差に分け、前記カテゴリごとに同一フォントの前記最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出して、前記フォントごとに前記マージン量を対応付けて記録部に記録する処理を、コンピュータに実行させることを特徴とする付記６または８に記載のパターン認識プログラム。
（付記１２）
前記学習用サンプルパターンまたは前記与えられたパターンを同次元の特徴ベクトルにし、
前記特徴ベクトルを次元圧縮して前記参照特徴ベクトルにする、
ことをコンピュータが実行する付記７に記載のパターン認識方法。
（付記１３）
前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出する、ことをコンピュータが実行する付記７または１２に記載のパターン認識方法。
（付記１４）
前記軸を予め設定された範囲に区分けした区間を設定し、前記カテゴリに含まれる複数の元となる学習用サンプルパターンと、前記元となる学習用サンプルパターンを劣化させたパターンの各参照特徴ベクトルの同じ位置の要素を、予め設定された範囲の軸に投影し、前記元となる学習用サンプルパターンの前記軸上の座標位置と、前記劣化させたパターンごとの前記軸上の座標位置との差を算出して、前記元となる学習用サンプルパターンの前記軸上の座標位置を中心にして最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出し、前記元となる学習用サンプルパターンの前記軸上の座標位置が含まれる前記区間ごとに前記マージン量を対応付けて前記記録部に記録する、ことをコンピュータが実行する付記７または１２に記載のパターン認識方法。
（付記１５）
同一カテゴリに含まれる異なるフォントの学習用サンプルパターンの各特徴ベクトルの同じ位置の要素を、予め設定された範囲の前記同じ位置の要素に対応する軸に投影し、前記異なるフォントの学習用サンプルパターンの前記軸上の座標位置の平均値を算出し、前記フォントごとの学習用サンプルパターンの前記軸上の座標位置と前記平均値の座標位置との差を算出して、該差を前記平均値の座標位置を中心にして最小値方向の差と最大値方向の差に分け、前記カテゴリごとに同一フォントの前記最小値方向の差の平均値と最大値方向の差の平均値をマージン量として算出して、前記フォントごとに前記マージン量を対応付けて記録部に記録する、ことをコンピュータが実行する付記７または１２に記載のパターン認識方法。
【符号の説明】
【０１１６】
１、１６０１  パターン認識装置
２  特徴抽出部
３  大分類部
４  詳細分類部
５  テーブル作成部
６  マージン決定部
７  記録部
１６０２  特徴圧縮部
２５００  ハードウェア
２５０１  ＣＰＵ
２５０２  記録部
２５０３  記録媒体読取装置
２５０３ａ  記録媒体
２５０４  入出力インタフェース
２５０４ａ  入出力装置
２５０５  通信インタフェース
２５０６  バス
【図１】
0005521497.tif 000007
【図２】
0005521497.tif 000008
【図３】
0005521497.tif 000009
【図４】
0005521497.tif 000010
【図５】
0005521497.tif 000011
【図６】
0005521497.tif 000012
【図７】
0005521497.tif 000013
【図８】
0005521497.tif 000014
【図９】
0005521497.tif 000015
【図１０】
0005521497.tif 000016
【図１１】
0005521497.tif 000017
【図１２】
0005521497.tif 000018
【図１３】
0005521497.tif 000019
【図１４】
0005521497.tif 000020
【図１５】
0005521497.tif 000021
【図１６】
0005521497.tif 000022
【図１７】
0005521497.tif 000023
【図１８】
0005521497.tif 000024
【図１９】
0005521497.tif 000025
【図２０】
0005521497.tif 000026
【図２１】
0005521497.tif 000027
【図２２】
0005521497.tif 000028
【図２３】
0005521497.tif 000029
【図２４】
0005521497.tif 000030
【図２５】
0005521497.tif 000031