(57)【特許請求の範囲】
【請求項１】
階層構造のカテゴリの識別に用いるテンプレートを有する辞書データを更新する学習装置と、
前記辞書データを参照して、パターンをカテゴリに分類する識別装置とを具備し、
前記学習装置は、
パターンと前記パターンが属するカテゴリのカテゴリ番号とを保持する学習データ記憶部と、
前記テンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、
前記パターンと前記テンプレートとの類似度を計算する類似度計算部と、
前記類似度に基づいて、前記テンプレートを更新するための第１更新量を計算する更新量計算部と、
カテゴリの階層別に定められた重み定数を前記第１更新量に乗算して第２更新量とする重み付け部と、
前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部と
を備え、
前記識別装置は、
前記類似度を計算した後の入力パターンを、高い類似度を持っている前記テンプレートと同じカテゴリに分類するカテゴリ決定部を備える
識別用データ学習システム。
【請求項２】
請求の範囲１に記載の識別用データ学習システムにおいて、
前記学習装置は、
前記パターン及び前記入力パターンを特徴パターンに変換して前記類似度計算部に送る特徴抽出部を更に備える
識別用データ学習システム。
【請求項３】
階層構造のカテゴリの識別に用いるテンプレートを学習するための学習装置であって、
パターンと前記パターンが属するカテゴリのカテゴリ番号とを保持する学習データ記憶部と、
前記テンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、
前記学習データ記憶部と前記辞書データ記憶部とを参照して、前記パターンと前記テンプレートとの類似度を計算する類似度計算部と、
前記類似度に基づいて、前記テンプレートを更新するための第１更新量を計算する更新量計算部と、
カテゴリの階層別に定められた重み定数を前記第１更新量に乗算して第２更新量とする重み付け部と、
前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部と
を具備する
学習装置。
【請求項４】
請求の範囲３に記載の学習装置において、
前記辞書データ記憶部は、前記テンプレートに、１つの階層のカテゴリのカテゴリ番号を対応させたデータ本体を保持する
学習装置。
【請求項５】
請求の範囲４に記載の学習装置において、
前記辞書データ記憶部は、前記１つの階層のカテゴリのカテゴリ番号に、他の階層のカテゴリのカテゴリ番号を対応させた対応表を更に保持する
学習装置。
【請求項６】
請求の範囲３に記載の学習装置において、
前記辞書データ記憶部は、前記テンプレートに、カテゴリ毎のカテゴリ番号を対応させたデータ本体を保持する
学習装置。
【請求項７】
階層構造のカテゴリの識別に用いるテンプレートと入力パターンとの類似度を計算する類似度計算部と、
前記類似度に基づいて、前記テンプレートを更新するための第１更新量を計算する更新量計算部と、
階層毎に定められた重み定数を用いて前記第１更新量を重み付けして第２更新量とする重み付け部と、
前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部と
を具備する
学習装置。
【請求項８】
請求の範囲３乃至７のいずれか一項に記載の学習装置において、
前記入力パターンを特徴パターンに変換して前記類似度計算部に送る特徴抽出部を更に具備する
学習装置。
【請求項９】
学習装置で実行される、階層構造のカテゴリの識別に用いるテンプレートを学習するための学習方法であって、
前記テンプレートと入力パターンとの類似度を計算するステップと、
前記類似度に応じて前記テンプレートを変化させるための更新量を計算するステップと、
階層毎に定められた重み定数を用いて前記更新量を重み付けるステップと、
前記重み付けされた更新量に応じて前記テンプレートを更新するステップと
を具備する
学習方法。
【請求項１０】
請求の範囲９に記載の学習方法を、前記テンプレートが属する全てのカテゴリについてカテゴリ毎に繰り返す
学習方法。
【請求項１１】
請求の範囲１０に記載の学習方法を、前記入力パターン毎に繰り返す
学習方法。
【請求項１２】
請求の範囲１１に記載の学習方法を、定められた学習回数だけ繰り返す
学習方法。
【請求項１３】
請求の範囲９乃至１２のいずれか一項に記載の学習方法において、
最初に、前記入力パターンを特徴パターンに変換するステップを更に具備する
学習方法。
【請求項１４】
請求の範囲９乃至１３のいずれか一項に記載の学習方法において、
前記類似度を計算するステップは、前記テンプレートに１つの階層のカテゴリのカテゴリ番号を対応させたデータ本体を参照して行う
学習方法。
【請求項１５】
請求の範囲１４に記載の学習方法において、
前記類似度を計算するステップは、前記１つの階層のカテゴリのカテゴリ番号に他の階層のカテゴリのカテゴリ番号を対応させた対応表を参照して行う
学習方法。
【請求項１６】
請求の範囲９乃至１３のいずれか一項に記載の学習方法において、
前記類似度を計算するステップは、前記テンプレートにカテゴリ毎のカテゴリ番号を対応させたデータ本体を参照して行う
学習方法。
【請求項１７】
請求の範囲９乃至１６のいずれか一項に記載された全てのステップを前記学習装置としてのコンピュータに実行させるためのプログラム。
【請求項１８】
請求の範囲３乃至８のいずれか一項に記載の学習装置を用いて更新されたテンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、
入力パターンと前記テンプレートとの類似度を計算する類似度計算部と、
前記類似度を計算した後の入力パターンに対して、最も高い類似度を持っている前記テンプレートと同じカテゴリに分類するカテゴリ決定部と
を具備する
識別装置。
【請求項１９】
識別装置で実行される識別方法であって、
請求の範囲９乃至１６のいずれか一項に記載の学習方法を用いて更新されたテンプレートと入力パターンとの類似度を計算するステップと、
前記類似度を計算した後の入力パターンに対して、最も高い類似度を持っている前記テンプレートと同じカテゴリに分類するステップと
を具備する
識別方法。
【請求項２０】
請求の範囲１９に記載された全てのステップを前記識別装置としてのコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別用データ学習システム、学習装置、識別装置及び学習方法に関し、特に、階層構造を持つカテゴリの識別について学習する識別用データ学習システム、学習装置、識別装置及び学習方法に関する。
【背景技術】
【０００２】
カテゴリとは、パターン認識分野の用語で、パターンの分類を指す。クラスと呼んでも良い。一般的な用語では、「種類」、「部類」となる。例えば、画像を「顔」か「顔でない」かのどちらかに識別する場合、カテゴリは「顔」及び「顔でない」の２つになる。また、「子供顔」、「大人顔」、「老人顔」及び「顔でない」の場合は、カテゴリは４つになる。なお、パターンとは、画像、音声、文字を始めとしたあらゆるデータを指す。【０００３】
階層構造を持つカテゴリ、すなわち階層構造カテゴリは、カテゴリ分けが１個以上の根元を持つ階層的なツリー構造になっているか、若しくはカテゴリ分けが１個以上の根元を持つ階層的なツリー構造であるとみなせるものを対象としている。ここでは、ツリーの根元に近い粗いカテゴリ分けを上位、ツリーの葉に近い詳細なカテゴリ分けを下位と記す。図１は、従来技術の階層構造カテゴリの一例を示すツリー図である。この図は、根元が「手」、「顔」及び「その他」の３種類あるツリー構造を示している。【０００４】
特開２０００−７６３８２号公報に、階層構造カテゴリを識別する学習方法の一例が、開示されている。この従来の学習方法における辞書の構成は、下位の詳細分類の辞書と上位のクラス分け辞書の階層から成る階層辞書で構成されている。前記詳細分類辞書は学習データベースを用いて構築され、前記上位のクラス分け辞書は、前記下位の詳細分類辞書のテンプレートの特徴からクラス分けされたテンプレートから成る辞書である。なお、テンプレートとは、識別時に参照されるパターンのことである。類義語として、参照ベクトルという用語がある。図２は、従来技術の辞書データの構成を示す図である。このような辞書の構成を持つ学習方法では、上位階層のテンプレートから下位階層のテンプレートまで全階層のテンプレートをそれぞれ別に持っているため、テンプレート個数が多いという問題がある。【０００５】
一方、上位階層のテンプレートと下位階層のテンプレートを別々にしない辞書構成の学習方法として、例えば、以下の方法が容易に考えられる。すなわち、ＬＶＱ（学習ベクトル量子化法）を始め、従来から知られている階層カテゴリを対象としないテンプレート学習手法を使って、階層構造を無視して、単純に最下位階層に対応するテンプレートを学習する方法である。しかし、一般に、この方法で作られたテンプレートによる辞書は、最下位階層のカテゴリを識別できるが、上位階層のカテゴリを正しく識別できるとは限らないことが問題である。その原因を以下に説明する。
図３Ａ及び図３Ｂは、従来技術の上位階層のテンプレートと下位階層のテンプレートを別々にしない辞書構成の学習方法を示す概略図である。テンプレートの更新にＬＶＱ２を使った場合の例を示している。ＬＶＱ２はＬＶＱ１の学習則を改良したものである。ただし、丸印はテンプレート（第１位階層カテゴリ番号１、第２位階層カテゴリ番号１）、四角印はテンプレート（第１位階層カテゴリ番号１、第２位階層カテゴリ番号２）、三角印はテンプレート（第１位階層カテゴリ番号２、第２位階層カテゴリ番号３）、菱形印は学習サンプルパターン（第１位階層カテゴリ番号１、第２位階層カテゴリ番号１）、ベクトル（矢印）はテンプレート更新方向及び更新量、線分はカテゴリの境界をそれぞれ示す。図３Ａは最下位の階層のカテゴリに基づいたテンプレート更新の場合、図３Ｂは最下位でない階層のカテゴリに基づいたテンプレート更新の場合をそれぞれ示す。
最下位階層のカテゴリを識別できるが上位階層のカテゴリを正しく識別できるとは限らない理由は、最下位階層のカテゴリに基づいて学習すると、上位階層に基づいたカテゴリ分類にとっては適切でない学習をしてしまうことがあるためである。図３Ａ及び図３Ｂでは、学習サンプルパターンに近い、すなわち類似度が高いテンプレートが正解カテゴリと対抗カテゴリから１つずつ選ばれて、それぞれが更新される。サンプルパターンとは、何らかの用途に合わせてサンプリング（母集団から抽出）したパターンのことである。一般的な学習方法では、通常は多数のパターンを用意して学習を実行する。この学習に使うパターンのことを学習サンプルパターン、又は訓練パターンと呼ぶ。学習サンプルパターンが属するカテゴリを正解カテゴリ、又は教師データと呼ぶ。テンプレートが属するカテゴリについては、正解カテゴリとは呼べない。正解カテゴリに割り当てられているカテゴリ番号を正解カテゴリ番号と呼ぶ。実際のプログラム内では、カテゴリ１つに対して１つの番号が割り当てられる。図３Ａは最下位階層カテゴリにとって適切であるが、上位階層カテゴリにとっては適切とは言えないテンプレート更新例である。一方、図３Ｂは上位階層カテゴリにおいて適切なテンプレート更新が行われる例である。【０００６】
関連する技術として特開２００２−３３４３０３号公報に、文字認識装置が開示されている。この文字認識装置は、文字の特徴を表す標準パターンを持つ標準パターン辞書を備え、この標準パターンと認識対象の文字パターンとを比較して文字パターンの文字認識をする。更に、帳票の文字統計情報を作成し、文字統計情報をもとに文字に重み付けをし、文字認識の結果を出力する。このとき、認識対象の文字パターンと標準パターンとの特徴の比較結果と重み付けした重みとに基づいて認識結果を求めて出力する。【０００７】
他の関連する技術として特開２００１−１８４５０９号公報に、パターン認識装置が開示されている。このパターン認識装置は、詳細識別用辞書中のｎ次元参照パターンと、学習パターンから抽出したｎ次元特徴とから、現在の特徴選択辞書に基づき、ｍ（ｍ＜ｎ）次元参照パターン及びｍ次元特徴を抽出する。その後、学習パターンと同一カテゴリに属するｍ次元参照パターンのうち、前記ｍ次元特徴との距離が最も近い参照パターンを参照パターンＡとして抽出する。学習パターンと異なるカテゴリに属するｍ次元参照パターンのうち、前記ｍ次元特徴との距離が最も近い参照パターンを参照パターンＢとして抽出し、前記ｍ次元特徴と前記参照パターンＡとの距離がより近づき、前記ｍ次元特徴と前記参照パターンＢとの距離がより遠ざかるように前記特徴選択辞書を修正する。【０００８】
更に他の関連する技術として特許２７７９１１９号公報に、学習認識装置が開示されている。この学習認識装置は、大分類部が類似パターンの集合から成るカテゴリ群に対して入力パターン信号が前記カテゴリ群に属する度合である群帰属度を計算する手段を複数のカテゴリ群に対して設ける。そして、群内類似度算出部が前記入力パターン信号が各カテゴリ群に含まれるカテゴリに属する度合である群内類似度を計算し、複数の乗算器が前記群内類似度と前記群帰属度の積を計算する。また、識別信号荷重部が前記群内類似度の重み付けを行い、カテゴリ識別部が前記重み付した群内類似度信号の比較を行う。更に、学習に必要な教師信号を発生し、教師信号と前記識別信号荷重部の出力と前記カテゴリ識別部との出力に基づいて前記群内類似度算出部の重み変更量を制御する。複数の乗算器で前記学習制御部から出力する学習制御信号と前記大分類部から出力した群帰属度の積を演算する。前記学習制御信号の重み付けを行い、前記学習制御信号荷重部の出力と前記群内類似度算出部との出力に基づき前記群内類似度算出部の重み係数を更新する。
別の関連する技術として特開２００３−１２３０２３号公報に、文字認識方法が開示されている。この文字認識方法は、入力濃淡画像の濃度分布を入力し、あらかじめ用意した推定テーブル内の複数の濃度分布の例を参照し、該入力濃淡画像の濃度分布に最も近い濃度分布を選び出し、該入力濃淡画像の初期閾値を求め、該濃度分布に付属の閾値差分値を該入力濃淡画像の初期閾値に加算することで、該入力濃淡画像の最適２値化閾値を求める工程と、該最適２値化閾値により該入力濃淡画像を２値化する工程と、該２値化した画像から文字領域を切り出す工程と、該文字領域とあらかじめ用意したテンプレート辞書の各テンプレート間の類似度を計算する工程と、該類似度の中で最も高い類似度のテンプレートのカテゴリの文字を認識結果とする工程とを有する。
【０００９】
また、文字や画像といったデータのパターンの識別を行う識別装置において、前記の従来技術を始めとする学習方法を適用することが可能である。識別装置とは、パターンを入力すると、識別結果としてカテゴリを出力するものを指す。識別装置は、プログラムであることや、プログラム内の関数であることが多い。図４は、典型的な識別装置すなわちパターンを識別するシステムのブロック図である。図４において、前処理・特徴抽出部１０は、入力パターンの前処理及び特徴抽出を行い、特徴パターンに変換する。識別部２０は、特徴パターンがどのカテゴリに属するかを識別し、カテゴリラベルを求め、識別結果としてシステムから出力する。特徴抽出の方法としては、例えばパターンが画像の場合なら、従来技術として知られている特開平０１−３２１５８９号公報に開示されているような特徴抽出方法を使うことができる。
なお、カテゴリラベルはプログラム上の値であり、カテゴリ毎に割り当てられる。例えば、入力パターンとして人と猿の画像が与えられたとき、人の画像であれば”０”、猿の画像であれば”１”をカテゴリラベルとして割り当てる。但し、実際には、カテゴリラベルは数値である必要はない。例えば、人の画像であれば“ヒト”、猿の画像であれば“サル”という文字列を返すようにしても良く、カテゴリの違いが識別できれば良い。【００１０】
従来、図４の識別部２０に相当する、パターンを識別する方法の１つとして、カテゴリを代表するパターンによる識別方法が知られている。このようなパターンは、テンプレート、代表ベクトル、参照ベクトル、プロトタイプと呼ばれている。テンプレートの個数は、１つのカテゴリあたり１個である場合と複数個である場合がある。一般に、テンプレートは特徴抽出後のデータ形式のパターンである。
図４の特徴パターンを識別する場合、特徴パターンとテンプレートとの類似度を何らかの尺度で評価して、最も評価が高いテンプレートが属すカテゴリに識別する。なお、類似度とは、あるパターンと別のパターンが似ている度合である。最も単純な例として、相関値やユークリッド距離を使って算出する。類似度の尺度は、類似性を評価できれば良く、例えば、特徴パターンとテンプレートをそれぞれベクトルとみなして、２つのベクトル間のユークリッド距離を計算し距離が近いほど類似度が高いとする方法、前記２つのベクトルの内積を計算しベクトル間の角度が小さいほど類似度が高いとする方法がある。
特徴パターンと複数のテンプレートそれぞれとの類似度からカテゴリを決定する方法として、最も類似度が高いテンプレートが属するカテゴリに識別する以外の方法もある。例えば、類似度が高いｋ個のテンプレートを求め、このｋ個のテンプレートが属しているカテゴリラベルの多数決をとり、最も個数が多いカテゴリに識別する方法がある。【００１１】
前記のように、特徴パターンとテンプレートとの類似度に基づいて識別する識別方法のための、テンプレート作成方法、つまりテンプレートの学習方法として従来から知られている方法には、「単純に学習サンプルパターンの平均を求める方法」、「Ｋ−ｍｅａｎｓ法」、「ＬＶＱ２．１（学習ベクトル量子化法２．１）」（Ｔ．  Ｋｏｈｏｎｅｎ，Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  ａｎｄ  Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，１９８９）、及び「Ｇｅｎｅｒａｌｉｚｅｄ  ＬＶＱ（一般学習ベクトル量子化法）」（佐藤敦，一般学習ベクトル量子化による文字認識，電子情報通信学会技術報告，ＰＲＭＵ９５−２１９，１９９６−３）がある。
「単純に学習サンプルパターンの平均を求める方法」は、１つのカテゴリに属す学習サンプルパターンの平均パターンをテンプレートとする方法で、１カテゴリあたり１個のテンプレートが作られる。「Ｋ−ｍｅａｎｓ法」は、１つのカテゴリに属する学習サンプルパターンを複数の集合に分け、それぞれの集合の平均パターンをテンプレートとする方法で、ある時点でのテンプレートとサンプルパターンの類似度に基づいて次の時点でのサンプルパターンの分け方を変更することで、テンプレートを複数回更新する方法である。このＫ−ｍｅａｎｓ法を、それぞれのカテゴリに属す学習サンプルパターンに適用することで、１つのカテゴリあたり１個以上のテンプレートが作られる。「ＬＶＱ２．１」は、何らかの方法で作ったテンプレートを、学習サンプルパターンとのユークリッド距離を求め、学習サンプルパターンの正解カテゴリと同じカテゴリに属するテンプレートのうち最も距離が近いものを学習サンプルパターンに近づけ、学習サンプルパターンの正解カテゴリとは異なるカテゴリに属するテンプレートのうち最も距離が近いものを学習サンプルパターンから遠ざけるように、テンプレートを更新する。「Ｇｅｎｅｒａｌｉｚｅｄ  ＬＶＱ」は、「ＬＶＱ２．１」の手法を包含する手法であって、テンプレート更新の収束性が保証されている。【００１２】
従来技術では、階層的なカテゴリを識別できるテンプレートの辞書のサイズが大きいという第１の問題点がある。その理由は、上位階層から下位階層までそれぞれの階層のカテゴリ別にテンプレートを有しているためである。最下位階層カテゴリに基づいて既存の学習方法でテンプレートを作る場合、上位階層のカテゴリでの性能が良いとは限らないという第２の問題点がある。その理由は、最下位階層のカテゴリに基づいて学習すると、上位の階層に基づいたカテゴリ分類にとっては適切でない学習をしてしまうことがあるためである。従来技術は、前記の２種類の問題点のどちらかを有している。
【発明の開示】
【００１３】
本発明の目的は、複数の根元を持つツリー構造の階層的なカテゴリを識別できるテンプレートを学習する場合において、辞書データサイズが小さく、かつ、最下位でない階層でのカテゴリ識別性能を高くできるテンプレートを用いる識別用データ学習システム、学習装置、識別装置及び学習方法を提供することにある。
この発明のこれらの目的とそれ以外の目的と利益とは以下の説明と添付図面とによって容易に確認することができる。
【００１４】
上記課題を解決するために本発明の識別用データ学習システムは、階層構造のカテゴリの識別に用いるテンプレートを有する辞書データを更新する学習装置と、前記辞書データを参照して、パターンをカテゴリに分類する識別装置とを具備する。前記学習装置は、パターンと前記パターンが属するカテゴリのカテゴリ番号とを保持する学習データ記憶部と、前記テンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、前記パターンと前記テンプレートとの類似度を計算する類似度計算部と、前記類似度に基づいて前記テンプレートを更新するための第１更新量を計算する更新量計算部と、カテゴリの階層別に定められた重み定数を前記第１更新量に乗算して第２更新量とする重み付け部と、前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部とを具備する。前記識別装置は、前記類似度を計算した後の入力パターンを、高い類似度を持っている前記テンプレートと同じカテゴリに分類するカテゴリ決定部を具備する。
【００１５】
上記の識別用データ学習システムにおいて、前記学習装置は、前記パターン及び前記入力パターンを特徴パターンに変換して前記類似度計算部に送る特徴抽出部を更に具備する。
【００１６】
上記課題を解決するために本発明の学習装置は、階層構造のカテゴリの識別に用いるテンプレートを学習するための学習装置である。パターンと前記パターンが属するカテゴリのカテゴリ番号とを保持する学習データ記憶部と、前記テンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、前記学習データ記憶部と前記辞書データ記憶部とを参照して前記パターンと前記テンプレートとの類似度を計算する類似度計算部と、前記類似度に基づいて前記テンプレートを更新するための第１更新量を計算する更新量計算部と、カテゴリの階層別に定められた重み定数を前記第１更新量に乗算して第２更新量とする重み付け部と、前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部とを具備する。
【００１７】
上記の学習装置において、前記辞書データ記憶部は、前記テンプレートに、１つの階層のカテゴリのカテゴリ番号を対応させたデータ本体を保持する。
【００１８】
上記の学習装置において、前記辞書データ記憶部は、前記１つの階層のカテゴリのカテゴリ番号に、他の階層のカテゴリのカテゴリ番号を対応させた対応表を更に保持する。
【００１９】
上記の学習装置において、前記辞書データ記憶部は、前記テンプレートに、カテゴリ毎のカテゴリ番号を対応させたデータ本体を保持する。
【００２０】
本発明の学習装置は、階層構造のカテゴリの識別に用いるテンプレートと入力パターンとの類似度を計算する類似度計算部と、前記類似度に基づいて前記テンプレートを更新するための第１更新量を計算する更新量計算部と、階層毎に定められた重み定数を用いて前記第１更新量を重み付けして第２更新量とする重み付け部と、前記第２更新量に基づいて、前記テンプレートを更新する辞書更新部とを具備する。
【００２１】
上記の学習装置において、前記入力パターンを特徴パターンに変換して前記類似度計算部に送る特徴抽出部を更に具備する。
【００２２】
上記課題を解決するために本発明の学習方法は、階層構造のカテゴリの識別に用いるテンプレートを学習するための学習方法である。前記テンプレートと入力パターンとの類似度を計算するステップと、前記類似度に応じて前記テンプレートを変化させるための更新量を計算するステップと、階層毎に定められた重み定数を用いて前記更新量を重み付けるステップと、前記重み付けされた更新量に応じて前記テンプレートを更新するステップとを具備する。
【００２３】
上記の学習方法を、前記テンプレートが属する全てのカテゴリについてカテゴリ毎に繰り返す。
【００２４】
上記の学習方法を、前記入力パターン毎に繰り返す。
【００２５】
上記の学習方法を、定められた学習回数だけ繰り返す。
【００２６】
上記の学習方法において、最初に、前記入力パターンを特徴パターンに変換するステップを更に具備する。
【００２７】
上記の学習方法において、前記類似度を計算するステップは、前記テンプレートに１つの階層のカテゴリのカテゴリ番号を対応させたデータ本体を参照して行う。
【００２８】
上記の学習方法において、前記類似度を計算するステップは、前記１つの階層のカテゴリのカテゴリ番号に他の階層のカテゴリのカテゴリ番号を対応させた対応表を参照して行う。
【００２９】
上記の学習方法において、前記類似度を計算するステップは、前記テンプレートにカテゴリ毎のカテゴリ番号を対応させたデータ本体を参照して行う。
【００３０】
上記課題を解決するために本発明のコンピュータプログラム製品は、コンピュータ上で使用したときに、上記のいずれか一項に記載された全てのステップを実行するプログラムコード手段を有する。
【００３１】
上記課題を解決するために本発明のコンピュータ読み取り可能な記録媒体は、階層構造のカテゴリの識別に用いるテンプレートと１つの階層のカテゴリのカテゴリ番号とを対応させたデータ本体と、前記１つの階層のカテゴリのカテゴリ番号と他の階層のカテゴリのカテゴリ番号とを対応させた対応表とを有する辞書データが記憶されている。
【００３２】
上記課題を解決するために本発明のコンピュータ読み取り可能な記録媒体は、階層構造のカテゴリの識別に用いるテンプレートとカテゴリ毎のカテゴリ番号とを対応させたデータ本体を有する辞書データが記憶されている。
【００３３】
上記課題を解決するために本発明の識別装置は、上記のいずれか一項に記載の学習装置を用いて更新されたテンプレートと前記テンプレートが属するカテゴリのカテゴリ番号とを保持する辞書データ記憶部と、入力パターンと前記テンプレートとの類似度を計算する類似度計算部と、前記類似度を計算した後の入力パターンに対して最も高い類似度を持っている前記テンプレートと同じカテゴリに分類するカテゴリ決定部とを具備する。
【００３４】
上記課題を解決するために本発明の識別方法は、上記のいずれか一項に記載の学習方法を用いて更新されたテンプレートと入力パターンとの類似度を計算するステップと、前記類似度を計算した後の入力パターンに対して最も高い類似度を持っている前記テンプレートと同じカテゴリに分類するステップとを具備する。
【００３５】
上記課題を解決するために本発明のコンピュータプログラム製品は、コンピュータ上で使用したときに、請求の範囲２１に記載された全てのステップを実行するプログラムコード手段を有する。
【図面の簡単な説明】
【００３６】
【図１】図１は、従来技術の階層構造カテゴリの一例を示すツリー図である。
【図２】図２は、従来技術の辞書データの構成を示す図である。
【図３Ａ】図３Ａは、従来技術の上位階層のテンプレートと下位階層のテンプレートを別々にしない辞書構成の学習方法を示す概略図である。
【図３Ｂ】図３Ｂは、従来技術の上位階層のテンプレートと下位階層のテンプレートを別々にしない辞書構成の学習方法を示す概略図である。
【図４】図４は、典型的なパターンを識別するシステムのブロック図である。
【図５】図５は、本発明の学習装置の第１の実施の形態の構成を示すブロック図である。
【図６】図６は、辞書データ記憶部に格納された辞書データの構造を示す図である。
【図７】図７は、本発明の学習装置の第１の実施の形態の全体の動作を示すＰＡＤである。
【図８】図８は、本発明の学習装置の第１の実施の形態の全体の動作を示すフローチャートである。
【図９】図９は、本発明の学習装置の第２の実施の形態の構成を示すブロック図である。
【図１０】図１０は、階層カテゴリ番号付き辞書データ記憶部に格納された辞書データの構造を示す図である。
【図１１】図１１は、本発明の学習装置の第３の実施の形態の構成を示すブロック図である。
【図１２】図１２は、本発明の学習装置の第３の実施の形態の全体の動作を示すＰＡＤである。
【図１３】図１３は、本発明の学習装置の第３の実施の形態の全体の動作を示すフローチャートである。
【図１４】図１４は、本発明の学習装置の第３の実施の形態における実施例の階層構造カテゴリを示すツリー図である。
【図１５】図１５は、辞書データ記憶部に格納された辞書データの一例を示す図である。
【図１６】図１６は、学習データ記憶部１０１から読み出された学習サンプルパターンの一例を示す図である。
【図１７】図１７は、辞書データと学習サンプルパターンとの関係の一例を示す図である。
【図１８】図１８は、辞書データと学習サンプルパターンとの関係の一例を示す図である。
【図１９】図１９は、本発明の識別装置の実施の形態の構成を示すブロック図である。
【図２０】図２０は、本発明の識別用データ学習システムの実施の形態の構成例を示すブロック図である。
【図２１】図２１は、本発明の識別用データ学習システムの実施の形態の他の構成例を示すブロック図である。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の識別用データ学習システム、学習装置、識別装置及び学習方法の実施の形態について添付図面を参照して説明する。【００３８】
（第１の実施の形態）
本発明の学習装置の第１の実施の形態の構成について説明する。
図５は、本発明の学習装置の第１の実施の形態の構成を示すブロック図である。学習装置１０は、記憶装置１００、記憶装置１１０、データ処理装置１２０を備える。記憶装置１００は、データを記憶する学習データ記憶部１０１を有する。記憶装置１１０は、データを記憶する辞書データ記憶部１０２及び階層別重み記憶部１０３を有する。データ処理装置１２０は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現される類似度計算部１１１、第ｎ位階層更新量計算部１１２、第ｎ位階層重み付け部１１３、辞書更新部１１４を有する。
なお、記憶装置１００と記憶装置１１０は同一の記憶装置であっても良い。例えば、記憶装置１００として磁気ディスク装置を、データ処理装置１２０としてパーソナルコンピュータを、記憶装置１１０として半導体メモリを使用することが可能である。但し、実際には、前記の例に限定されるものではない。【００３９】
学習データ記憶部１０１は、学習サンプルパターンとその学習サンプルパターンの最上位階層から最下位階層までの正解カテゴリ番号を保持する。辞書データ記憶部１０２は、テンプレートとそのテンプレートに対応する最上位階層から最下位階層までの正解カテゴリ番号を保持する。階層別重み記憶部１０３は、階層構造を持つカテゴリに対し、階層毎に定められた定数を保持する。
図６は、辞書データ記憶部１０２に格納された辞書データの構造を示す図である。辞書データ２１は、データ本体２２と階層別カテゴリ番号対応テーブル２３とで構成されている。データ本体２２は、テンプレート本体と最下位（第Ｎ位：Ｎは自然数）階層カテゴリ番号とを関連付けている。階層別カテゴリ番号対応テーブル２３は、最下位（第Ｎ位）階層カテゴリ番号と他の階層（第１位から第（Ｎ−１）位まで）のカテゴリ番号とを関連付けている。
図５を参照して、類似度計算部１１１は、入力された学習パターンとテンプレートとの類似度を計算する。第ｎ位階層更新量計算部１１２は、ある階層（第ｎ位階層：１≦ｎ≦Ｎ）における正解カテゴリのテンプレートの類似度が高くなるようにテンプレートに加算する更新量、及び第ｎ位階層における対抗カテゴリのテンプレートの類似度が低くなるようにテンプレートに加算する更新量を計算する。第ｎ位階層重み付け部１１３は、第ｎ位階層に対応したある定数を更新量に乗算し、その結果を階層別重み記憶部１０３に格納する。辞書更新部１１４は、更新量に応じて辞書データ記憶部１０２の正解カテゴリのテンプレートと対抗カテゴリのテンプレートを更新する。例えば、テンプレートと更新量を共にベクトルとみなして、図３に示すように、この更新量のベクトルをテンプレートのベクトルに加算することでテンプレートを更新する。【００４０】
階層別重み記憶部１０３に保持される重み定数の大小関係を説明する。
以下の数式は、第ｎ位階層の重み定数ｗｎの大小関係を示す。
まず、第１位階層から順番に重み定数を大きい方から小さい方へ降順に並べる場合は次の数式で表される。
ｗ１≧ｗ２≧…≧ｗ（ｎ−１）≧ｗｎ≧ｗ（ｎ＋１）≧…≧ｗ（Ｎ−１）≧ｗＮ
また、特定の階層、例えば第ｎ位階層の重み定数を最も大きくする場合は次の数式で表される。
ｗ１≦ｗ２≦…≦ｗ（ｎ−１）≦ｗｎ≧ｗ（ｎ＋１）≧…≧ｗ（Ｎ−１）≧ｗＮ
但し、前記の数式は、説明のために用いた例であり、実際には前記の数式及び大小関係に限定されるものではない。【００４１】
前記の各部はそれぞれ以下のように動作する。
類似度計算部１１１、第ｎ位階層更新量計算部１１２、第ｎ位階層更新量重み付け部１１３、及び辞書更新部１１４は、学習データ記憶部１０１に記憶された学習サンプルパターンと辞書データ記憶部１０２に記憶されたテンプレートについて、それぞれの動作を全ての階層について繰り返し実行し、さらにその繰り返し実行を全ての学習サンプルパターンについて繰り返し実行し、さらにその繰り返し実行を決められた学習回数だけ繰り返し実行する。【００４２】
次に、本発明の学習装置の第１の実施の形態の全体の動作（学習方法の第１の実施の形態）について説明する。
図７は、本発明の学習装置の第１の実施の形態の全体の動作（学習方法の第１の実施の形態）を示すＰＡＤ（Ｐｒｏｂｌｅｍ  Ａｎａｌｙｓｉｓ  Ｄｉａｇｒａｍ：問題解析図）である。
始めに、学習データ記憶部１０１から学習データである学習サンプルパターンとその正解カテゴリ番号とがデータ処理装置１２０へ入力される（ステップＳ１０１）。次にステップＳ１０２、Ｓ１０３、Ｓ１０４の３重の繰り返し処理を行うが、先に繰り返しの中の処理（ステップＳ１０５、Ｓ１０６、Ｓ１０７、Ｓ１０８）について説明する。
まず、類似度計算部１１１が、入力された学習サンプルパターンと辞書データ記憶部１０２の各テンプレートとの類似度を計算する（ステップＳ１０５）。ここで、テンプレート更新手法としてＬＶＱ（Ｌｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ：学習ベクトル量子化法）を使う場合は、類似度が明らかに低いテンプレートを無視しても、テンプレートの更新量を計算できる。そのため、ステップＳ１０５の類似度計算途中で、明らかに類似度が低いテンプレートは、類似度計算を途中で打ち切ることもある。
次に、第ｎ位階層更新量計算部１１２が、第ｎ位階層のカテゴリのみを考慮した場合における、正解カテゴリのテンプレートの更新量と、対抗カテゴリのテンプレートの更新量を計算する（ステップＳ１０６）。ステップＳ１０６のテンプレートの更新量は、ＬＶＱに代表される階層構造カテゴリを考慮していない従来のテンプレート更新手法を使って求めれば良い。ＬＶＱは、入力データをパターン分類できるように、競合学習によって結合重みベクトルの更新を行う。
次に、第ｎ位階層更新量重み付け部１１３が、階層別重み記憶部１０３の第ｎ位階層に対応した重み定数を、ステップＳ１０６で求めた正解カテゴリの更新量及び対抗カテゴリの更新量に乗算して、これらの値を新たな更新量とする。（ステップＳ１０７）。最後に、辞書更新部１１４が、ステップＳ１０７で求めた更新量に基づいて、辞書データ記憶部１０２の正解カテゴリのテンプレートと対抗カテゴリのテンプレートを更新する（ステップＳ１０８）。
前記のようなステップＳ１０５、Ｓ１０６、Ｓ１０７及びＳ１０８の処理はカテゴリ階層１つ単位で実行する処理である。これらステップＳ１０５〜Ｓ１０８をカテゴリ階層の数だけ繰り返す（ステップＳ１０４）。更に、ステップＳ１０４、Ｓ１０５、Ｓ１０６、Ｓ１０７及びＳ１０８は学習サンプルパターン１個単位で実行する処理であって、これを学習サンプルパターン数個だけ繰り返す（ステップＳ１０３）。更に、ステップＳ１０３、Ｓ１０４、Ｓ１０５、Ｓ１０６、Ｓ１０７、Ｓ１０８は定められた学習回数だけ繰り返す（ステップＳ１０２）。【００４３】
図８は、本発明の学習装置の第１の実施の形態の全体の動作（学習方法の第１の実施の形態）を示すフローチャートである。この図は、図７の流れ図（ＰＡＤ）をフローチャートで表現している。
図８と図７との関係を説明する。図８のステップＳ２０１は図７のステップＳ１０１に対応する。ステップＳ２０２〜Ｓ２０５はそれぞれステップＳ１０５〜Ｓ１０８に対応する。更に、繰り返しに対する判定処理であるステップＳ２０６はステップＳ１０４に、ステップＳ２０７はステップＳ１０３に、ステップＳ２０８はステップＳ１０２に、それぞれ対応する。動作の詳細については図７と同様である。【００４４】
以下に、図８のフローチャートを参照して本実施形態の全体の動作について説明する。
学習データ記憶部１０１から学習データである学習サンプルパターンとその正解カテゴリ番号とがデータ処理装置１２０へ入力される（ステップＳ２０１）。入力された学習サンプルパターンと辞書データ記憶部１０２の各テンプレートとの類似度を計算する（ステップＳ２０２）。第ｎ位階層のカテゴリのみを考慮した場合における、正解カテゴリのテンプレートの更新量と、対抗カテゴリのテンプレートの更新量を計算する（ステップＳ２０３）。ステップＳ２０３のテンプレートの更新量は、ＬＶＱに代表される階層構造カテゴリを考慮していない従来のテンプレート更新手法を使って求めれば良い。次に、階層別重み記憶部１０３の第ｎ位階層に対応した重み定数を、ステップＳ２０３で求めた正解カテゴリの更新量と対抗カテゴリの更新量に乗算して、これらの値を新たな更新量とする。（ステップＳ２０４）。次に、ステップＳ２０４で求めた更新量に基づいて、辞書データ記憶部１０２の正解カテゴリのテンプレートと対抗カテゴリのテンプレートを更新する（ステップＳ２０５）。前記のようなステップＳ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５の処理はカテゴリ階層１つ単位で実行する処理であって、これをカテゴリ階層の数だけ繰り返す（ステップＳ２０６）。更に、ステップＳ２０６、Ｓ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５は学習サンプルパターン１個単位で実行する処理であって、これを学習サンプルパターン数個だけ繰り返す（ステップＳ２０７）。ただし、戻り先はＳ２０６の前でなく、Ｓ２０２の前であっても良い。更に、ステップＳ２０７、Ｓ２０６、Ｓ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５は定められた学習回数だけ繰り返す（ステップＳ２０８）。ただし、戻り先はＳ２０７の前でなく、Ｓ２０２の前であっても良い。【００４５】
なお、前記の本実施形態の動作については、本発明を実施する装置が備えるプログラム又はハードウェア機能を用いて実施しても良い。例えば、本発明をパソコン上で実施する場合、前記の動作を行うためのアプリケーションプログラムをＣＰＵが実行するようにしても良い。【００４６】
本発明では、辞書データが階層構造の最下位階層に対応するテンプレートのみで構成されているため、識別のための辞書のサイズを小さくできる。
また、本発明では、更に、全ての階層においてその階層に応じた重み定数をテンプレートの更新量にかけてテンプレートを更新するように構成されているため、任意の階層の識別性能を調整できる。
また、本発明によれば、辞書データ記憶容量を少なく抑えつつ、画像からの物体検出と物体の姿勢推定を同時に行う場合に、物体検出性能の方をより重視するといった用途に適用可能である。例えば、監視カメラの画像からの人物検出と人物の向き推定を同時に行う場合、最上位階層のカテゴリとして人物と非人物を割り当て、最下位階層カテゴリに人物が向いている角度を割り当てれば、人物検出性能をより重視しつつ、人物の向き推定も同時に行うといった用途に適用可能である。【００４７】
（第２の実施の形態）
本発明の学習装置の第２の実施の形態の構成について説明する。
図９は、本発明の学習装置の第２の実施の形態の構成を示すブロック図である。本実施の形態の学習装置１０は、基本的には図５で示される第１の実施の形態の学習装置１０と同じである。ただし、図５の学習装置と比較して、階層カテゴリ番号付き辞書データ記憶部１０４に格納される辞書データの構成が辞書データ記憶部１０２のそれと異なる。
図１０は、階層カテゴリ番号付き辞書データ記憶部１０４に格納された辞書データの構造を示す図である。第１の実施の形態における辞書データ記憶部１０２の辞書データ２１は、図６に示したように、テンプレートとそれに対応する最下位カテゴリ番号を持つデータ本体２２と階層別カテゴリ番号対応テーブル２３とで構成されている。一方、本実施の形態における階層カテゴリ番号付き辞書データ記憶部１０４の辞書データ２５は、図１０に示すように、テンプレートデータとそれに対応する全階層（第１位〜第Ｎ位）のカテゴリ番号を持つデータ本体２６のみで構成される。
本実施の形態では、辞書データ２５は、全ての階層のカテゴリ番号がテンプレートに直接対応付けられた構成のため、テーブルを使って対応するカテゴリ番号を引く処理を行わないで済む。
この場合にも、図７及び図８の場合と同様に、学習装置の第２の実施の形態の全体の動作（学習方法の第２の実施の形態）を実施することができる。
そして、第１の実施の形態と同等の効果を得ることができる。【００４８】
（第３の実施の形態）
本発明の学習装置の第３の実施の形態の構成について説明する。
図１１は、本発明の学習装置の第３の実施の形態の構成を示すブロック図である。本実施の形態の学習装置１０は、基本的には図５で示される第１の実施の形態の学習装置１０と同じである。ただし、図５の学習装置と比較して、特徴量抽出部１１５を有している点が異なる。たたし、辞書データ記憶部１０２は、第２の実施の形態で説明した階層カテゴリ番号付き辞書データ記憶部１０４でも良い。【００４９】
パターン認識では、通常、入力パターンを直接使って類似度を計算するのではなくて、入力パターンを「特徴量」というパターンに変換してから類似度を計算する。この変換は「特徴変換」又は「特徴量変換」又は「特徴抽出」と呼ぶ。
本発明の場合、学習サンプルパターンとテンプレートは「特徴量」の状態で保存されていることになる。記憶装置１００の学習データ記憶部１０１に保持されている学習サンプルパターンが特徴変換前のパターンである場合もあり、この場合、類似度計算部１１１の前に特徴変換部１１５が必要となる。すなわち、本実施の形態では、学習サンプルパターンが特徴変換前のパターンであることに対応して、データ処理部１２０が類似度計算部１１１の前に特徴変換部１１５を有している。【００５０】
例えば、記憶装置１００として磁気ディスク装置を、データ処理装置１２０としてパーソナルコンピュータを、記憶装置１１０として半導体メモリを使用することが可能である。但し、実際には、前記の例に限定されるものではない。【００５１】
次に、本発明の学習装置の第３の実施の形態の全体の動作（学習方法の第３の実施の形態）について説明する。
図１２は、本発明の学習装置の第３の実施の形態の全体の動作（学習方法の第３の実施の形態）を示すＰＡＤである。
始めに、学習データである学習サンプルパターンとその正解カテゴリ番号とが記憶装置１００の学習データ記憶部１０１から読み出され、データ処理装置１２０へ入力される（ステップＳ３０１）。次に、特徴抽出部１１５が、学習サンプルパターンから特徴を抽出する（ステップＳ３０２）。このときの特徴抽出方法は、抽出された特徴が辞書データ記憶部１０２に記憶されているテンプレートと同じ形式の特徴になれば、従来技術を含め、どのような方法でも良い。例えば、予め変換行列を用意しておいて線形変換しても良いし、非線形な変換を行っても良い。次に、特徴変換されたパターンと正解カテゴリ番号を類似度計算部１１１に入力し、テンプレートの更新を実行するが、このテンプレート更新処理は、第１の実施の形態の動作を表す図７のＳ１０２〜Ｓ１０８の処理と同等である。
まず、類似度計算部１１１が、入力された学習サンプルパターンと辞書データ記憶部１０２の各テンプレートとの類似度を計算する（ステップＳ３０６）。なお、類似度計算途中で、明らかに類似度が低いものは計算を打ち切ることもある。つまり、全てのテンプレートの類似度を計算し切らないということもあり得る。計算が打ち切られる場合、ステップＳ３０６は行われないことになる。
次に、第ｎ位階層更新量計算部１１２が、第ｎ位階層のカテゴリのみを考慮した場合における、正解カテゴリのテンプレートの更新量と、対抗カテゴリのテンプレートの更新量を計算する（ステップＳ３０７）。ステップＳ３０６のテンプレートの更新量は、ＬＶＱに代表される階層構造カテゴリを考慮していない従来のテンプレート更新手法を使って求めれば良い。
次に、第ｎ位階層更新量重み付け部１１３が、階層別重み記憶部１０３の第ｎ位階層に対応した重み定数を、ステップＳ３０７で求めた正解カテゴリの更新量と対抗カテゴリの更新量に乗算して、これらの値を新たな更新量とする。（ステップＳ３０８）。最後に、辞書更新部１１４が、ステップＳ３０８で求めた更新量に基づいて、辞書データ記憶部１０２の正解カテゴリのテンプレートと対抗カテゴリのテンプレートを更新する（ステップＳ３０９）。
前記のようなステップＳ３０６、Ｓ３０７、Ｓ３０８及びＳ３０９の処理はカテゴリ階層１つ単位で実行する処理である。これらステップＳ３０６〜Ｓ３０９をカテゴリ階層の数だけ繰り返す（ステップＳ３０５）。更に、ステップＳ３０５、Ｓ３０６、Ｓ３０７、Ｓ３０８及びＳ３０９は学習サンプルパターン１個単位で実行する処理であって、これを学習サンプルパターン数個だけ繰り返す（ステップＳ３０４）。更に、ステップＳ３０４、Ｓ３０５、Ｓ３０６、Ｓ３０７、Ｓ３０８及びＳ３０９は定められた学習回数だけ繰り返す（ステップＳ３０３）。
なお、特徴抽出処理のタイミングは、学習データ記憶部１０１にある学習サンプルパターン全てを特徴抽出してから、テンプレート更新の繰り返し処理を実行しても良い。また、テンプレート更新の繰り返し処理の初回において個々の学習サンプルパターンを１つずつ順に特徴抽出しても良い。学習サンプルパターンを１つずつ順に特徴抽出する場合は、ステップＳ３０３とＳ３０４の間に、ステップＳ３０１の学習データ入力とステップＳ３０２の特徴抽出が入る。このとき、ステップＳ３０３の繰り返しの初回限定で、ステップＳ３０１とステップＳ３０２を実行するようにしても良い。【００５２】
図１３は、本発明の学習装置の第３の実施の形態の全体の動作（学習方法の第３の実施の形態）を示すフローチャートである。この図は、図１２の流れ図（ＰＡＤ）をフローチャートで表現している。
図１３と図１２との関係を説明する。図１３のステップＳ４０１、Ｓ４０２は、図１２のステップＳ３０１、Ｓ３０２に対応する。ステップＳ４０３〜Ｓ４０６はそれぞれステップＳ３０６〜Ｓ３０９に対応する。更に、繰り返しに対する判定処理であるステップＳ４０７はステップＳ３０５に、ステップＳ４０８はステップＳ３０４に、ステップＳ４０９はステップＳ３０３に、それぞれ対応する。動作の詳細については図１２と同様である。
図１３のフローチャートにおける本実施形態の全体の動作については、特徴量抽出ｓ４０２があるほかは、図８の場合と同様である。【００５３】
次に、第３の実施の形態の実施例を、図面を参照して説明する。
図１４は、本発明の学習装置の第３の実施の形態における実施例の階層構造カテゴリを示すツリー図である。本実施例では、識別対象のパターンは画像とし、階層構造のカテゴリは２階層とする。第１階層のカテゴリは、「顔」と「非顔」とする。第２階層のカテゴリは、回転角度別の顔３種類（「−４５°回転顔」、「０°回転顔」、「４５°回転顔」）と非顔とする。つまり、本実施例により学習されたテンプレートを使った識別では、入力された画像パターンが顔か非顔かを識別すると同時に、顔の場合は回転角度も識別できる。【００５４】
図１５は、辞書データ記憶部１０２に格納された辞書データの一例を示す図である。ここでは、図１４のカテゴリ分けに従って、図１５に示すテンプレートＴ１、Ｔ２が非顔、テンプレートＴ３〜Ｔ８が顔とする。なお、顔の回転角度については、図１５に示すテンプレートＴ３、Ｔ４が０°（「０°回転顔」）、テンプレートＴ５、Ｔ６が４５°（「４５°回転顔」）、テンプレートＴ７、Ｔ８が−４５°（「−４５°回転顔」）とする。
図１５のテンプレートＴ１からＴ８は画像で表現されているが、実際のテンプレートは特徴抽出後のデータであり、画像そのものではない。辞書データでは、テンプレートに対して、それぞれのテンプレートが属する第１位階層のカテゴリと第２位階層のカテゴリ番号が対応付けられている。また、階層別重み記憶部１０３にデータとして保持する重み値は、第１階層が１．０、第２階層が０．５とする。【００５５】
学習を開始する前の初期のテンプレートは、予め学習サンプルパターンを第２階層のカテゴリ別にＫ−ｍｅａｎｓ法を実行することにより用意しておく。まず、学習サンプルパターンの１つを記憶装置１００の学習データ記憶部１０１から読み出す（ステップＳ４０１）。このとき、学習サンプルパターンが図１６に示すような回転角度が０°の顔である場合について説明する。図１６は、学習データ記憶部１０１から読み出された学習サンプルパターンの一例を示す図である。読み出された学習サンプルパターンについて、特徴抽出部１１５が特徴抽出計算をする（ステップＳ４０２）。ここで、特徴抽出処理の例を示す。まず、学習データ記憶部１０１からパターンの小領域に含まれる画素を順次に読み取り、小領域を代表する画素に方向成分を割り当て、パターン上の方向成分の分布を示す方向パターンを作成する。その方向パターンを読み取り、各々の方向成分は、異なる領域内で統合を行うことによって特徴抽出のための方向特徴パターンを求める。但し、実際には前記の例に限定されるものではない。他にも、特徴抽出処理として、従来技術を使用しても良い。【００５６】
次に、類似度計算部１１１が、特徴抽出した結果として得られるパターンと、テンプレートＴ１からＴ８との類似度を計算する（ステップＳ４０３）。この結果、類似度が図１７に示すような値で得られたとする。図１７は、辞書データと学習サンプルパターンとの関係の一例を示す図である。
次に、第ｎ位階層更新量計算部１１２が、第１位階層に基づいた更新量を求める（ステップＳ４０４）。前記更新量の計算方法には、Ｇｅｎｅｒａｌｉｚｅｄ  ＬＶＱ法を使う。Ｇｅｎｅｒａｌｉｚｅｄ  ＬＶＱ法の場合、図１７において、学習サンプルパターンの正解カテゴリ（図１６の第１階層：「２」）と同じカテゴリに属するテンプレートのうち、最も類似度が高いテンプレートＴ６が学習サンプルパターンに近づき、学習サンプルパターンの正解カテゴリと異なるカテゴリであって同じカテゴリ（第１階層：「１」）に属するテンプレートのうち、最も類似度が高いテンプレートＴ２が学習サンプルパターンから遠ざかるように更新量が計算される。
次に、第ｎ位階層更新量重み付け部１１３が、第１位階層の重みを半導体メモリ（階層別重み記憶部１０３）から読込み、前記更新量に重みを乗算し、これを新たに更新量とみなす（ステップＳ４０５）。そして、辞書更新部１１４が、新たな更新量を用いて、辞書データのテンプレートを更新する（ステップＳ４０６）。カテゴリの階層のうち、第２階層のカテゴリが残っているので、再度ステップＳ４０３に戻る（ステップＳ４０７）。【００５７】
次に、特徴抽出した結果として得られるパターンと、第１位階層に基づいて更新されたテンプレートＴ１からＴ８との類似度を計算する（ステップＳ４０３）。この結果、類似度が図１８に示すような値で得られたとする。図１８は、辞書データと学習サンプルパターンとの関係の一例を示す図である。
次に、第ｎ位階層更新量計算部１１２が、第２位階層に基づいた更新量をＧｅｎａｒａｌｉｚｅｄ  ＬＶＱで求める（ステップＳ４０４）。その場合、図１８において、学習サンプルパターンの正解カテゴリ（図１６の第２階層：「２」）と同じカテゴリに属するテンプレートのうち、最も類似度が高いテンプレートＴ４が学習サンプルパターンに近づき、学習サンプルパターンの正解カテゴリと異なるカテゴリであって同じカテゴリ（第２階層：「１」、「３」及び「４」のいずれか）に属するテンプレートのうち、最も類似度が高いテンプレートＴ６が学習サンプルパターンから遠ざかるように更新量が計算される。
次に、第ｎ位階層更新量重み付け部１１３が、第２位階層の重みを半導体メモリ（階層別重み記憶部１０３）から読込み、前記更新量に重みを乗算し、これを新たに更新量とみなす（ステップＳ４０５）。そして、辞書更新部１１４が、新たな更新量を用いて、辞書データのテンプレートを更新する（ステップＳ４０６）。カテゴリの全ての階層が終了したので、ステップＳ４０８へ進む（ステップＳ４０７）。【００５８】
次に、２つ目の学習サンプルパターンを記憶装置１００の学習データ記憶部１０１から読み出し、１つ目の学習サンプルパターンと同様にテンプレートを更新する。そして、３つ目以降の学習サンプルパターンも同様にテンプレートを更新する。これを学習サンプルパターン数個だけ繰り返す（ステップＳ４０８）。そして、このようなテンプレートの更新を、予め決めておいた回数１００回繰り返す（ステップＳ４０９）ことによって、半導体メモリ内の辞書データは、本発明によって学習された辞書データとなる。【００５９】
図１９は、本発明の識別装置の実施の形態の構成を示すブロック図である。
識別装置２０は、辞書データ記憶部１０２、類似度計算部１１１及びカテゴリ決定部１１６を有する。この識別装置２０は、図４に示した識別部２２０に対応する。
辞書データ記憶部１０２及び類似度計算部１１１については上記各実施の形態の通りである。また、辞書データ記憶部１０２は階層カテゴリ番号付き辞書データ記憶部１０４でも良い。
類似度計算部１１１は、入力パターンを受け取る。なお、この入力パターンは特徴変換されたパターンである。
カテゴリ決定部１１６は、類似度を計算した後、入力パターンを高い類似度を持っているテンプレートと同じカテゴリに分類する。例えば、カテゴリ決定部１１６は、入力パターンを最も高い類似度を持っているテンプレートと同じカテゴリに分類する。また、カテゴリ決定部１１６は、類似度が高い複数のテンプレートが属するカテゴリを多数決することによって、カテゴリを決定しても良い。なお、実際には、データ処理装置１２０がカテゴリ決定部１１６を有していても良い。例えば、記憶装置１１０が辞書データ記憶部１０２を有し、データ処理装置１２０が類似度計算部１１１とカテゴリ決定部１１６を有することで、前記の学習装置が識別装置２０を備えることも可能である。
識別装置２０の動作の流れは、以下のとおりである。すなわち、類似度計算部１１１に入力パターンとして識別対象のパターンが入力される。類似度計算部１１１は、辞書データ記憶部１０２が持つ各テンプレートを参照し、識別対象のパターンと各テンプレートとの類似度を計算する。カテゴリ決定部１１６は識別対象のパターンを高い類似度を持っているテンプレートと同じカテゴリに分類する。【００６０】
なお、前記の識別装置２０において、識別に用いられる辞書データ記憶部１０２の各テンプレートは、上記各実施の形態に記載の学習装置１０により学習が行われる。そのため、テンプレートが格納される辞書データ記憶部１０２は上記の学習装置１０と本識別装置２０とで共有するようにしても良い。また、上記の学習装置１０と識別装置２０とで同じ処理を行う類似度計算部１１１についても共有するようにしても良い。
このように、上記の学習装置１０と識別装置２０とを組み合わせることで、本発明の識別用データ学習システムを構成することができる。図２０及び図２１は、本発明の識別用データ学習システムの実施の形態の構成例を示すブロック図である。これらは、学習装置１０と識別装置２０とが辞書データ記憶部１０２又は階層カテゴリ番号付き辞書データ記憶部１０４を共有している例を示している。
この識別用データ学習システムは、上記学習装置１０と識別装置２０とを具備する。そして、識別用データ学習システムは、学習装置１０が更新したテンプレートを辞書データ記憶部１０２（又は階層カテゴリ番号付き辞書データ記憶部１０４）に格納し、識別装置２０が辞書データ記憶部１０２（又は階層カテゴリ番号付き辞書データ記憶部１０４）から更新されたテンプレートを読み出して識別に使用する。【００６１】
本発明の特徴について、以下に詳述する。
学習データ記憶部１０１は、学習サンプルパターンとその学習サンプルパターンの最上位階層から最下位階層までの正解カテゴリ番号を保持する。
辞書データ記憶部１０２は、テンプレートとそのテンプレートに対応する最上位階層から最下位階層までの正解カテゴリ番号を保持する。
類似度計算部１１１は、入力された学習パターンとテンプレートとの類似度を計算する。
第ｎ位階層更新量計算部１１２は、ある階層（第ｎ位階層）における正解カテゴリのテンプレートの類似度が高くなるように前記テンプレートに加算する更新量、及び第ｎ位階層における対抗カテゴリのテンプレートの類似度が低くなるように前記テンプレートに加算する更新量を計算する。
第ｎ位階層重み付け部１１３は、第ｎ位階層に対応したある定数を前記更新量に乗算する。
辞書更新部１１４は、前記更新量に応じて正解カテゴリのテンプレートと対抗カテゴリのテンプレートを更新する。【００６２】
学習データ記憶部１０１に格納された学習データと辞書データ記憶部１０２に格納された辞書データについて、類似度計算部１１１から辞書更新部１１４までの各部の処理を全ての階層について繰り返し実行する。さらにその繰り返し実行を学習サンプルパターン数個分だけ繰り返し実行する。さらにその繰り返し実行を決められた学習回数だけ繰り返し実行することで、辞書データを学習するよう動作する。より詳しく記述すると、本発明の学習手法が識別対象とするカテゴリは階層構造であるが、辞書データを構成するテンプレートは階層構造ではなく、階層構造の最下位階層のカテゴリのみに対応したテンプレートで構成される。
このような構成を採用し、最下位階層以外のテンプレートを持たないことと、全ての階層においてその階層に応じた重みをかけてテンプレートを更新することにより本発明の目的を達成することができる。【００６３】
本発明を実行した結果得られるものは、識別に使う「辞書」である。この「辞書」を識別装置２０が参照する場合もある。この「辞書」は、複数個のテンプレートで構成されていて、識別装置２０は、入力されたパターンと最も類似度が大きいテンプレートを見つけて、そのテンプレートのカテゴリ名を識別結果として出力する。従って、実際の「辞書」の構成は、「テンプレートとそのカテゴリの組」が複数個であると言える。テンプレートの個数は、１カテゴリあたり何個あっても構わない。
なお、学習を実行する前の辞書は、データ構造さえ合っていれば、どんなデータでも構わない。「ランダムに生成されたテンプレートとカテゴリの組」を含むデータがあれば良い。初期状態では、前記のランダムに生成されたテンプレートとカテゴリの組を含むデータをダミーデータとして用意しても良い。【００６４】
本発明を実施するための具体的なハードウェア構成について例を示す。
ＰＣ（パーソナルコンピュータ）又はワークステーションを使う場合、第１の例として、学習装置全体をＰＣ、学習データ記憶部１０１、辞書データ記憶部１０２及び階層別重み記憶部１０３を半導体メモリ、データ処理装置１２０をＣＰＵとしても良い。第２の例として、学習データは、通常、大量にあるので、学習データ記憶部１０１だけ磁気ディスクに置き、辞書データ記憶部１０２と階層別重み記憶部１０３は半導体メモリに置く構成も有効である。第３の例として、類似度計算部１１１が最も重い処理であるため、類似度計算部１１１のみ複数のＰＣで分散して計算するようにしても良い。
また、ＰＣ以外にも、記憶装置とデータ処理装置を具備する機器であれば使うことが可能である。例えば、デジタルテレビ、ＤＶＤレコーダ及びカーナビゲーションシステムといったデジタル家電において本発明を実施することも可能である。【００６５】
クライアントサーバ型の実施例としては、クライアント側から受け取った学習データに対してサーバ側で学習処理を実行し、結果の辞書データをクライアント側に返すようにしても良い。また、クライアントとサーバの間で辞書データの同期処理を行うようにしても良い。なお、クライアントとサーバの間の通信網は有線、無線を問わない。
例えば、識別装置２０を備えた携帯電話で自動識別し、誤識別した場合か、又は誤識別の可能性が高い場合に、それを学習データとして、携帯から学習データ記憶部１０１に無線送信して追加記録し、学習を実行した結果の辞書データを、辞書データ記憶部１０２から携帯に無線で返信するようにする。携帯電話以外にも、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）を使用しても良い。【００６６】
本発明は、学習パターンを画像パターンの顔と非顔、向きの異なる顔とを学習することによって静止画や動画から顔を検出すると同時に顔の向きを識別できる装置や、コンピュータ向けプログラムといった用途に適用できる。
学習するパターンを文字とし、似た文字を同じカテゴリとしてまとめた場合、高速な文字認識といった用途に適用できる。
更に、学習するパターンを音声にすることで、音声認識をしつつ話者識別するといった用途や、学習するパターンを楽曲にすることで、音楽のジャンル識別をしつつ曲名識別といった用途に適用できる。
また、学習するパターンをコンピュータウィルスやスパムメールやサーバ攻撃時の通信内容にし、適宜上位カテゴリを設定することで、メモリ上のファイルからのウィルス検出、スパムメールの振り分け、サーバ攻撃の検知といった用途に適用できる。
更に、学習するパターンを商品の過去の売上データとすることによって、将来の全体の売り上げと商品別の売り上げを同時に予測するといった用途に適用できる。
また、学習するパターンを遺伝子情報にし、適宜上位カテゴリを設定することで、高速な遺伝子組み換え作物の検知、病気の原因となる遺伝子の特定、ＤＮＡによる人物鑑定が可能である。【００６７】
第１の効果は、識別のための辞書のサイズを小さくできることにある。その理由は、階層構造のカテゴリの識別を、階層構造でないテンプレートで実現することで、テンプレートの個数を少なく抑えられるためである。
第２の効果は、最下位階層でないカテゴリでの識別性能を高められるテンプレートを作成できることにある。その理由は、全ての階層においてその階層に応じた重みをかけてテンプレートを更新することによって、任意の階層の識別性能を高く調整できるためである。【００６８】
本発明は上記各実施例に限定されず、本発明の技術思想の範囲内において、各実施例は適宜変形又は変更され得ることは明らかである。
【図１】
0004697670.tif 000002
【図２】
0004697670.tif 000003
【図３Ａ】
0004697670.tif 000004
【図３Ｂ】
0004697670.tif 000005
【図４】
0004697670.tif 000006
【図５】
0004697670.tif 000007
【図６】
0004697670.tif 000008
【図７】
0004697670.tif 000009
【図８】
0004697670.tif 000010
【図９】
0004697670.tif 000011
【図１０】
0004697670.tif 000012
【図１１】
0004697670.tif 000013
【図１２】
0004697670.tif 000014
【図１３】
0004697670.tif 000015
【図１４】
0004697670.tif 000016
【図１５】
0004697670.tif 000017
【図１６】
0004697670.tif 000018
【図１７】
0004697670.tif 000019
【図１８】
0004697670.tif 000020
【図１９】
0004697670.tif 000021
【図２０】
0004697670.tif 000022
【図２１】
0004697670.tif 000023