(57)【要約】【課題】新規パターンをパターン認識するのに用いられる辞書を学習するに際して、認識性能が劣化しないようにする。【解決手段】学習装置１００は、学習過程において、新規パターン中の認識対象パターンを複数のクラスに分類するのに用いられる木構造の辞書（＝木構造の判別器）を学習する。入力部１０１は、学習パターン（例えば認識対象物体を撮像した画像）を入力する。拡大部１０２は、入力部１０１で入力した学習パターンを線形補間によって拡大する。生成部１０３は、拡大部１０２で拡大した学習パターンから抽出した特徴量（例えば画像であれば輝度）を用いて、木構造の判別器を生成する。【選択図】図１
2017004052.tif 000002
【特許請求の範囲】
【請求項１】
新規パターンをパターン認識するのに用いられる辞書を学習する学習装置であって、
学習パターンを入力する入力手段と、
前記入力手段で入力した学習パターンを補間によって拡大する拡大手段と、
前記拡大手段で拡大した学習パターンから抽出した特徴量を用いて前記辞書を生成する生成手段とを備えることを特徴とする学習装置。
【請求項２】
新規パターンをパターン認識するのに用いられる辞書を学習する学習装置であって、
学習パターンを入力する入力手段と、
前記入力手段で入力した学習パターンの特徴量の補間成分を算出する補間成分算出手段と、
前記入力手段で入力した学習パターンから抽出した特徴量及び前記補間成分算出手段で算出した補間成分を用いて前記辞書を生成する生成手段とを備えることを特徴とする学習装置。
【請求項３】
新規パターンをパターン認識するのに用いられる辞書を学習する学習装置であって、
学習パターンを入力する入力手段と、
前記入力手段で入力した学習パターンを処理して追加学習パターンを作成する処理手段と、
前記入力手段で入力した学習パターンから抽出した特徴量及び前記処理手段で作成した追加学習パターンから抽出した特徴量を用いて前記辞書を生成する生成手段とを備えることを特徴とする学習装置。
【請求項４】
パターン認識に要求されるレベルに応じて前記拡大手段における拡大設定を決定する手段を備えたことを特徴とする請求項１に記載の学習装置。
【請求項５】
パターン認識に要求されるレベルに応じて前記補間成分算出手段における補間設定を決定する手段を備えたことを特徴とする請求項２に記載の学習装置。
【請求項６】
前記処理手段が追加学習パターンを作成する処理はフィルタ処理であり、
パターン認識に要求されるレベルに応じて前記処理手段におけるフィルタ設定を決定する手段を備えたことを特徴とする請求項３に記載の学習装置。
【請求項７】
前記生成手段は、学習パターンから抽出した複数の点の特徴量を比較することによって前記辞書を生成することを特徴とする請求項１乃至６のいずれか１項に記載の学習装置。
【請求項８】
請求項１に記載の学習装置によって生成された前記辞書を用いて、新規パターンをパターン認識するパターン認識装置であって、
新規パターンをパターン認識するに際して、該新規パターンを補間によって拡大することを特徴とするパターン認識装置。
【請求項９】
請求項２に記載の学習装置によって生成された前記辞書を用いて、新規パターンをパターン認識するパターン認識装置であって、
新規パターンをパターン認識するに際して、該新規パターンの特徴量の補間成分を算出することを特徴とするパターン認識装置。
【請求項１０】
請求項３に記載の学習装置によって生成された前記辞書を用いて、新規パターンをパターン認識するパターン認識装置であって、
新規パターンをパターン認識するに際して、該新規パターンを処理して追加新規パターンを作成することを特徴とするパターン認識装置。
【請求項１１】
新規パターンの一部をサンプリングするサンプリング手段と、
所定の処理負荷となるように前記サンプリング手段によるサンプリング設定を行う設定手段とを備えたことを特徴とする請求項８乃至１０のいずれか１項に記載のパターン認識装置。
【請求項１２】
新規パターンをパターン認識するのに用いられる辞書を学習する学習方法であって、
学習パターンを入力するステップと、
前記入力した学習パターンを補間によって拡大するステップと、
前記拡大した学習パターンから抽出した特徴量を用いて前記辞書を生成するステップとを有することを特徴とする学習方法。
【請求項１３】
新規パターンをパターン認識するのに用いられる辞書を学習する学習方法であって、
学習パターンを入力するステップと、
前記入力した学習パターンの特徴量の補間成分を算出するステップと、
前記入力した学習パターンから抽出した特徴量及び前記算出した補間成分を用いて前記辞書を生成するステップとを有することを特徴とする学習方法。
【請求項１４】
新規パターンをパターン認識するのに用いられる辞書を学習する学習方法であって、
学習パターンを入力するステップと、
前記入力した学習パターンを処理して追加学習パターンを作成するステップと、
前記入力した学習パターンから抽出した特徴量及び前記作成した追加学習パターンから抽出した特徴量を用いて前記辞書を生成するステップとを有することを特徴とする学習方法。
【請求項１５】
請求項１乃至７のいずれか１項に記載の学習装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、新規パターンをパターン認識するのに用いられる辞書を学習する学習装置、方法及びプログラム、並びにパターン認識装置に関する。
【背景技術】
【０００２】
従来、入力画像中から特定のパターンに類似した領域を探索する手法として、テンプレートマッチングと呼ばれる手法が使われてきた。これは、入力画像中でテンプレートをずらしながら、各位置における画像領域とテンプレートとの一致度合いを正規化相関等の評価関数を用いて局所的なピークの位置を探索することによって求める方法である。テンプレートマッチングによる探索では、入力画像中の該当領域に重ねたテンプレートと、対応する画素とが全て一致することを前提としている。
そこで、入力画像中の認識対象パターンに変動があったときにも精度を維持する手法として、例えば特許文献１に記載されている手法がある。特許文献１に記載されている手法では、対象物体の部分的な形状を用い、この部分的なパターンを検出した後に対象物体の基準位置へ投票を行うことによって対象物体の位置を求める。
しかしながら、このようなテンプレートマッチングによる探索手法では、認識対象パターンの分類すべきクラス数が増加した際に処理時間が大幅に増加してしまう。
【０００３】
一方で、テンプレートを用いるのではなく、分類木を用いたパターン認識手法が提案されている。例えば特許文献２に記載されている手法では、分類木をＬ個（Ｌは２以上の定数であり、通常は１０〜１００の範囲）生成し、それら全部を用いることによって高い認識性能を実現する。
この分類木の集合（アンサンブル）を用いた分類手法をコンピュータビジョンに応用した例として、非特許文献１に記載されたものがある。非特許文献１では、分類木の各ノードにおいてランダムに画像上の２点を選び、その輝度値を比較することによって枝の分岐を実現している。この処理は非常に高速にでき、かつ認識精度も十分高いと該文献内で報告されている。
また、特許文献３には、現実的な処理時間で高精度かつロバストにパターンを分類する手法として、画像内の複数の点の輝度値を比較した結果を分岐条件とした分類木による分類方法が提案されている。特許文献３では、認識対象パターン上の数点から抽出した情報に基づく分類木によるパターン分類が精度及び処理速度共に実用上有効な手段の一つとなっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３２３６１６号公報
【特許文献２】米国特許第６００９１９９号明細書
【特許文献３】特開２０１１−２１６０８７号公報
【非特許文献】
【０００５】
【非特許文献１】Ｖｉｎｃｅｎｔ Ｌｅｐｅｔｉｔ ａｎｄ Ｐａｓｃａｌ Ｆｕａ，“Ｋｅｙｐｏｉｎｔ Ｒｅｃｏｇｎｉｔｉｏｎ Ｕｓｉｎｇ Ｒａｎｄｏｍｉｚｅｄ Ｔｒｅｅｓ”，ＩＥＥＥ Ｔｒａｎｓａｃｔｉｏｎｓ ｏｎ Ｐａｔｔｅｒｎ Ａｎａｌｙｓｉｓ ａｎｄ Ｍａｃｈｉｎｅ Ｉｎｔｅｌｌｉｇｅｎｃｅ （２００６） ｐｐ．１４６５−ｐｐ．１４７９
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、認識対象パターン上の数点から抽出した情報を枝の分岐条件とする分類木によるパターン分類を実施する上で、分類の難しさは対象依存となっている。例えば認識対象パターンを分類する全てのクラスが完全にユニークである対象は分類が容易であるのに対して、認識対象パターンの分類先のクラスに類似したパターンが存在する場合は定性的に分類が難しくなる。
例えば物体の姿勢を認識したい場合に、物体の姿勢クラスというものを離散的にラベルとして与え、該物体の写った画像を入力としたときに最も近い姿勢クラスに分類するといった問題を考える。この問題においては、観測する方向が変わってもほとんど見た目の変わらない物体の分類精度は低くなる傾向がある。その他にも、画像中の対象パターンに該当する領域が小さいとき等は、そうでない場合と比較して解像度が足りないために分類精度が低くなる傾向がある。総じて、パターン分類に必要な情報が充分に得られない状況においては、期待される分類精度が発揮できない場合がある。
なお、ここでは、認識対象パターンが画像である場合を具体的な例として主に挙げた。しかしながら、基本的に認識対象パターンから作成したクエリを基に構成された分類木によって入力パターンから対象を検出、認識するという課題では、認識対象パターンが画像でなく、音声であってもデプスデータであっても同様の問題が発生する。
【０００７】
本発明は上記課題に鑑みてなされたものであり、新規パターンをパターン認識するのに用いられる辞書を学習するに際して、認識性能が劣化しないようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の学習装置は、新規パターンをパターン認識するのに用いられる辞書を学習する学習装置であって、学習パターンを入力する入力手段と、前記入力手段で入力した学習パターンを補間によって拡大する拡大手段と、前記拡大手段で拡大した学習パターンから抽出した特徴量を用いて前記辞書を生成する生成手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、補間によって拡大した学習パターン、学習パターンから算出した特徴量の補間成分、又は学習パターンを処理して作成した追加学習パターンを用いて辞書を生成するようにした。これにより、認識性能が劣化しないように辞書を生成することができ、精度の高いパターン認識が可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る学習装置の機能構成を示すブロック図である。
【図２】第１の実施形態に係る学習装置による学習過程の処理手順を説明するフローチャートである。
【図３】学習画像及び新規パターンの例を示す図である。
【図４】図３の例における２点輝度比較の概要を説明するための図である。
【図５】学習画像及び新規パターンの例を示す図であり、部分領域を探索することを説明するための図である。
【図６】木構造の判別器の例を示す図である。
【図７】クエリを作成する処理手順の例を示すフローチャートである。
【図８】学習画像及び新規パターンの例を示す図であり、図３と比較して認識対象物体の解像度が小さい場合を説明するための図である。
【図９】分類できない画像の例を示す図である。
【図１０】図９の画像を線形補間によって５×５の画像に拡大した画像を示す図である。
【図１１】学習画像及び新規パターンの例を示す図であり、拡大することを説明するための図である。
【図１２】クエリを作成する処理手順の例を示すフローチャートである。
【図１３】第１の実施形態における認識過程の処理手順を説明するフローチャートである。
【図１４】第２の実施形態に係る学習装置の機能構成を示すブロック図である。
【図１５】第２の実施形態に係る学習装置による学習過程の処理手順を説明するフローチャートである。
【図１６】学習画像及び新規パターンの例を示す図であり、追加画像を作成することを説明するための図である。
【図１７】第３の実施形態に係る学習装置による学習過程の処理手順を説明するフローチャートである。
【図１８】第３の実施形態に係る学習装置による学習過程の処理手順を説明するフローチャートである。
【図１９】情報処理装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
（第１の実施形態）
第１の実施形態は、予め学習したパターンに基づいて、新規パターンを解析してパターン認識するのに適用される例として説明する。機械学習によるパターン認識手法では、多くのパターンから学習する学習過程と、新規パターンを解析してパターン認識する認識過程とが存在する。具体的な例として、パターンとして認識対象物体を撮像した画像を用い、認識対象物体の名称、種類、３次元上の存在位置、姿勢等を推定するものとする。なお、認識対象物体とは任意の物体を意味し、例えば人、動物、臓器、自動車、カメラ、プリンタ、半導体基板等が想定されるが、特にこれに限定されるものではない。また、パターンとして、対象とする物理現象を測定した計測値を用いてもよい。
【００１２】
図１は、本実施形態に係る学習装置１００の機能構成を示すブロック図である。学習装置１００は、学習過程において、新規パターンをパターン認識するのに用いられる、より具体的には新規パターン中の認識対象パターンを複数のクラスに分類するのに用いられる木構造の辞書（＝木構造の判別器）を学習する。
１０１は入力部であり、学習パターン（例えば認識対象物体を撮像した画像）を入力する。
１０２は拡大部であり、入力部１０１で入力した学習パターンを線形補間によって拡大する。
１０３は生成部であり、拡大部１０２で拡大した学習パターンから抽出した特徴量（例えば画像であれば輝度）を用いて、図６に例示するような木構造の判別器を生成する。
なお、ここでは学習装置１００としての機能構成だけを示したが、例えば認識過程を実行するパターン認識装置に学習装置が組み込まれた構成としてもよい。
【００１３】
はじめに、学習過程及び認識過程を含む一連の処理の概要を説明する。
学習過程では、認識対象パターンを複数のクラスに分類するための、図６に例示するような木構造の判別器を生成する。
そして、認識過程では、新規パターンが入力された際、認識対象パターンが、学習過程において学習的に生成した木構造におけるどのクラスのパターンに近いかを調べることによってクラスを判別する。
【００１４】
例えば木構造の判別器の学習後に入力された新規パターンから、図３（ａ）に示すような認識対象物体を検出するものとする。その際に入力される新規パターンを、図３（ｂ）に示すように、認識対象物体が山積みになっている画像（以下、入力画像とも呼ぶ）とする。図３（ａ）は、同一物体を様々な方向から撮影した画像やＣＡＤデータから作成した、学習パターンとしての画像（以下、学習画像とも呼ぶ）であり、それらに離散的なｍ種の姿勢クラスとして姿勢クラスＩＤ（Ｃ１〜Ｃｍ）を与えている。ここでの目的は、図３（ａ）に示す学習画像によって学習した木構造の判別器に基づいて、図３（ｂ）に示す入力画像から認識対象物体の位置及び姿勢を求めることである。
【００１５】
具体的には、図４（ｂ）に示すように、入力画像からスライディングウィンドウによって物体のサイズに準じたサイズの画像を切り出す。そして、この切り出した画像が学習画像の姿勢クラスＩＤ（Ｃ１〜Ｃｍ）のいずれに近いかを探索し、該切り出した画像に含まれる物体の姿勢クラスとする。図４（ａ）は、図３（ａ）に示す学習画像の全てに対して各画像内の２点の輝度比較を行う点同士の組の位置を２組ずつ表わしたものである。ここでは説明を簡単にするため、２組の２点輝度比較位置を描画しているが、実運用上では図６に例示したような学習済の分類木（木構造の判別器）のルートからリーフ（ｌｅａｆ）までの深さに相当する回数の２点輝度比較を行う。分岐によるパターン分類の仕組みをより具体的に説明すると、輝度Ｒ１が輝度Ｒ２よりも大きい場合は下位の左のノード（枝）に分かれ、それ以外の場合は下位の右のノード（枝）に分かれる。この２点輝度値比較の結果による分岐を繰り返すことによって、図３（ａ）に示す全ての画像が別クラスのパターンとして分類されることを期待している。
【００１６】
なお、特許文献３に開示されているような、外部要因による変動にロバストな技術を適用するようにしてもよい。図５に示すのは、図４に例示した手法と同様の手法であるが、図４と異なり、認識対象物体の全てを含むパターンを探索するのではなく、部分領域を探索する。ｍ種の姿勢クラスのパターンから各ｎ個の部分画像を抽出し、計ｍ×ｎ個の部分画像クラスを認識対象パターンとする。このとき、各部分領域が元の物体全体のどの座標に位置するかを事前に保持しておくことで、スライディングウィンドウで切り出した画像がどの部分領域に属するかを求めた際、複数検出された部分領域の位置から物体全体の位置が推定される。
【００１７】
図２は、本実施形態に係る学習装置１００による学習過程の処理手順を説明するフローチャートである。
学習過程は、図２（ａ）、（ｂ）に示すように、２つのルーチンに分けられる。図２（ａ）は、学習過程のメインルーチンを示すフローチャートである。図２（ｂ）は、ノードを展開するサブルーチンを示すフローチャートであり、このサブルーチンは再帰呼び出しされる。図２に示すフローを実行することによって、学習パターンの集合が再帰的に分割され、その結果、図６に例示するような木構造の判別器が生成される。このような木構造の判別器は１個でもよいし、複数の木構造の判別器を生成して、認識過程において全判別器の分類結果を統合するようにしてもよい。
【００１８】
図２（ａ）は、学習過程のメインルーチンを示すフローチャートである。
ステップＳ２０１で、拡大部１０２は、入力部１０１で入力した学習パターンの全てを線形補間によって拡大する。図３（ａ）が、学習パターンとしての学習画像の例である。ステップＳ２０１の詳細については後述する。
ステップＳ２０２で、生成部１０３は、ルートノードに学習パターンの全てを格納する。ルートノードとは、ツリーの一番根元に存在するノードを意味し、図６ではノード６０１が該当する。
ステップＳ２０３で、生成部１０３は、ルートノードをカレントノードとして設定する。カレントノードとは、学習過程及び認識過程において現在処理しているノードを意味する。
ステップＳ２０４で、生成部１０３は、図２（ｂ）に示すカレントノードを展開するサブルーチンを呼び、このサブルーチンから帰ってきたら学習過程は終了となる。
【００１９】
図２（ｂ）は、ノードを展開するサブルーチンを示すフローチャートである。
ステップＳ２０５で、カレントノードがｎｕｌｌノードもしくはｌｅａｆノードであるかを判定する。カレントノードがｎｕｌｌノードもしくはｌｅａｆノードである場合、図２（ｂ）のサブルーチンは終了する。
カレントノードに学習パターンが全く含まれない場合、それ以上の分岐は意味を持たないため、そのノードはｎｕｌｌノードとする。図６の例では、ノード６０５、６０７がｎｕｌｌノードに相当する。
また、カレントノードに残っている学習パターンの集合が一定条件を満たす場合、そのノードをｌｅａｆノードとする。一定条件とは、例えばカレントノードに存在するクラスがＫ種類（例えばＫ＝１０）以下であった場合という条件等が考えられる。また、カレントノードに存在する学習パターンから情報量エントロピーを計算し、その値がある閾値以下だった場合という条件とすることもできる。図６の例では、ノード６０８〜６１１がｌｅａｆノードに相当する。
【００２０】
ステップＳ２０５においてカレントノードがｎｕｌｌノードもしくはｌｅａｆノードでない場合、ステップＳ２０６で、カレントノードの展開に先立ち、まずそのノードで実施するクエリを作成する。カレントノードのクエリは、カレントノードに残った学習パターン集合（カレントパターン集合）を用いて作成される。クエリとは、あるパターンがどの枝に属するかを判断する問い合わせのことである。Ｃ言語であれば、ｉｆ文やｓｗｉｔｃｈ文で記述される。
ここで、図７に、ステップＳ２０６でクエリを作成する処理手順の例を示す。図７に示すフローチャートは、図６に例示するような木構造の判別器の各分岐結果が認識性能に寄与しない分岐を生成せず、性能向上に通じるクエリを選択するためのフローを表わす。ここで言う「クエリ効率」とは、クエリによって学習パターン集合が分割される際のある尺度での効率を意味する。尺度の例としてパターンの数を指標として採用することができる。あるノードに存在する学習パターン集合が例えば１００個の要素からなるとする。この場合、クエリ効率が最も良い分割は、２分岐であれば、５０個と５０個に学習パターン集合を分割する場合であり、最も効率の悪い分割は、０個と１００個に学習パターン集合を分割する場合となるため、この数を基準とした評価関数を用意すればよい。他の尺度基準としては、情報量エントロピーや、Ｇｉｎｉ係数等を採用してもよい。
前記尺度等を用いてクエリ効率の良いクエリを選択するために、ステップＳ７０１で適当なクエリ候補位置を決め、次のステップＳ７０２でクエリ候補位置によるパターンの分類結果を、クエリ効率と予めユーザが設定した閾値と比較して評価する。該評価結果によって、閾値よりも良い分類を行うクエリと判定されれば、ここでクエリ作成のフローは終了し、閾値よりも分類結果が悪ければ、ステップＳ７０１に戻り、再度クエリ候補位置を選び直す。
【００２１】
図２（ｂ）に説明を戻して、ステップＳ２０７で、ステップＳ２０６において作成されたクエリに基づいて、カレントノードに残っている学習パターン集合を分割する。この分割の数（Ｒ）は、一般的にはカレントノードによって異なっていてもよいが、通常は全てのノードで同じ値を用いる。ここでは、Ｒ＝２としている。
ステップＳ２０８〜Ｓ２１１は分割毎のループで、ステップＳ２０９で分割ｉをカレントノードに設定し、ステップＳ２１０で図２（ｂ）のサブルーチンを再帰呼び出しする。
【００２２】
ここまで説明したように、入力画像中の認識対象物体の検出、認識を行う際の一例として、スライディングウィンドウ内に認識対象物体が含まれる場合に、該ウインドウ内の任意の２点輝度値比較を複数箇所で行うことによって最も可能性の高い認識対象物体の姿勢を判定する手法を説明した。
しかしながら、一般に分類のしやすさは認識対象パターンに依存するため、例えば認識対象物体の姿勢による見え方の変動が乏しい場合や、認識対象物体自体の大きさが小さくなることで分類の根拠となる情報量が減少する場合には分類が困難になる。
例えば木構造の判別器を１個だけ用いてパターン分類する場合、学習パターンを完全に分類するためには、全てのｌｅａｆノードに分類された学習パターンが１個以下にならなければならない。ただし、認識対象によってはノードに分類されたパターンに対しそれ以上の分岐が不可能な場合があるため、いくつかのｌｅａｆノードに複数のパターンが属した状態の判別器が生成されることがあり、これが原因で認識性能が劣化する。
認識性能が劣化する入力の具体例として、図８（ｂ）に示すように、図３（ｂ）と比較して認識対象物体の解像度が小さい場合を考える。この場合、それに準じたカメラ設定で学習画像も作成することとなるため、図８（ａ）に示すように、学習画像側の認識対象物体のパターンのサイズも図３（ａ）のサイズに比して小さくなる。
【００２３】
以上のような場合、なぜ認識性能が劣化するのかという原因を、簡単なパターン分類問題を例示して以下に説明する。
図９（ａ）、（ｂ）に、外観の全く異なる３×３ピクセルの画像を２種例示する。図９（ａ）、（ｂ）では、各ピクセルの輝度値を数値として表わす。図９（ａ）はある姿勢の認識対象物体における特徴的な部分領域画像を示し、図９（ｂ）は認識対象物体内で特に特徴的ではない部分領域画像を示す。これら２つの画像は別の姿勢条件における別の部分領域を表わすため、別クラスとして分類することが期待される。
しかしながら、これらは外観が全く異なるパターンであるにも関わらず、既に述べた２点輝度比較による判別結果を用いた方法では原理上分類することができない。
これら２パターンをそれぞれ別パターンとして分類できない理由を詳細に説明する。これら２つのパターンから各２点を取り出して輝度値の大小比較を行う場合を考える。例えば図９（ａ）の右上の、輝度値が１１０で表わされるピクセルを（ｒｏｗ１、ｃｏｌ３）のように記述する。このとき、（ｒｏｗ１、ｃｏｌ３）と（ｒｏｗ３、ｃｏｌ２）で表わされるピクセル２点の輝度値を比較すると、図９（ａ）、（ｂ）は両画像共に前者の方が輝度値は大きくなる。そのため、この２点輝度比較だけでは、２つのパターンが異なるものとして認識することはできない。いま、これら２つのパターンを区別する根拠となる比較点２点の組み合わせが１つでも存在すれば両者を分類することが可能となる。図９（ａ）、（ｂ）の例では、９点から２点を選ぶ方法は全部で３６通りあるが、その全ての組み合わせにおける２点輝度比較の結果は全て同じ結果となるため、現状の分類アルゴリズムでは両者を分類できないことになる。認識対象物体の解像度が小さくなる程、分類したい姿勢等のクラス数は不変であるにもかかわらず、このような分類できないパターンが発生しやすくなるため、認識性能が劣化する。
【００２４】
そこで、図２のステップＳ２０１で説明したように、学習過程のメインルーチンのはじめに学習パターンを線形補間によって拡大するステップを採用するようにした。
図１０（ａ）、（ｂ）に、図９（ａ）、（ｂ）の画像を線形補間によって５×５の画像に拡大した状態を示す。図１０（ａ）、（ｂ）では、各輝度値を数値として表わす。
図９に示す状態では２つのパターンを分類できなかったが、図１０に示す状態では、既存のピクセルの間の輝度値が線形補間されることによって分類可能となる。例えば丸印で囲った同座標に位置する２点（ｒｏｗ１、ｃｏｌ２）と（ｒｏｗ３、ｃｏｌ２）のピクセル２点の輝度値を比較すると、大小関係が図１０（ａ）と図１０（ｂ）で逆になるため、これら２つのパターンを分類することができる。
【００２５】
以上述べたように、画像中において分類したい認識対象パターンが占める領域が小さいことによってこれらを分類することが難しい場合、図１１（ａ）に示すように、学習画像を線形補間によって拡大することによって分類性能を向上させられることがわかる。
ここで、図１１（ａ）に示すように学習画像を拡大した場合、図１１（ｂ）に示すように、認識過程でも入力画像を同じ倍率で拡大するようにする。なお、図１１（ａ）では背景部分も同様に拡大する最も簡単な例を示すが、認識対象物体の領域のみを拡大し、極力背景が入らないようにしてもよい。
【００２６】
また、画像を拡大して新たに学習画像のセットを作成するのではなく、図１の拡大部１０２に替えて補間成分算出部とし、学習画像の輝度値の補間成分を算出するようにしてもよい。すなわち、オリジナルの学習画像のピクセル間の輝度値を線形補間によって算出し、その値を用いて前記同様に学習を行う。そして、認識過程でも同様の補間によって入力画像のピクセル間の輝度値を算出して、認識対象物体を検出、認識を行うことでも同様の性能を得ることができる。
この場合、図７で説明したクエリを作成する処理は、図１２に示すフローチャートに変更される。図７のフローチャートとの相違は、ステップＳ７０１においてクエリ候補位置をピクセル座標から決定していたが、ステップＳ１２０１では取得する座標をサブピクセルレベルで決定する。そして、このサブピクセルレベルでの座標値における輝度値を補間によって算出するステップＳ１２０２が追加される。その後、ステップＳ１２０３で、ステップＳ７０２と同様、クエリ候補位置によるパターンの分類結果を、クエリ効率と予めユーザが設定した閾値と比較して評価する。
【００２７】
次に、図１３を参照して、学習過程で生成された木構造の判別器を用いて、新規パターンを解析してパターン認識する認識過程を説明する。図１３は、実施形態における認識過程の処理手順を説明するフローチャートである。
一例として、新規パターンである入力画像のサイズが１２８０×１０２４であり、図４（ｂ）のスライディングウィンドウで示すように、入力画像から切り出す部分画像のサイズを５０×５０とする。１ピクセルおきにスライディングウィンドウをずらして探索する場合、入力画像中に部分画像が１２００２２５（＝１２３１×９７５）個設定し得ることになる（Ｘ＝１２８０−５０＋１、Ｙ＝１０２４−５０＋１）。ステップＳ１３０１とステップＳ１３０６に挟まれたループ回数は、この数と等しくなる。ただし、途中スキップして実行することによって高速化する場合は、部分画像の数を減らすことができる。
【００２８】
部分画像のループの中でｔｒｅｅ番号のループ（ステップＳ１３０３〜Ｓ１３０５）が実行される。つまり、２重のループが実行される。なお、この２つのループはお互い独立であり、ループの内側外側を入れ替えてもよい。ループの最深部でステップＳ１３０４のｉ番目の判別器が実行される。最終ステップＳ１３０７の（Ｘ＊Ｙ＊Ｌ）個の判別結果を集計する処理で最終的な認識結果が得られる。この結果、１２８０×１０２４のサイズの入力画像中に存在する１００×１００のサイズの学習画像が検出されることとなる。集計方法としてそれぞれのクラスの存在確率ベクトルの相加平均、相乗平均等の処理を行うこともできる。また、複数の検出結果から学習パターンの中心位置への投票を行い、ピークを検出することによって認識対象の分類クラス及び存在位置を求めることもできる。
【００２９】
（第２の実施形態）
次に、第２の実施形態を説明する。以下では、第１の実施形態との相違点を中心に説明し、第１の実施形態と共通する内容の説明は省略する。
第１の実施形態では、画像中の認識対象物体の姿勢や位置を認識するという課題において、学習過程で学習パターンを拡大して木構造の判別器を生成し、認識過程でも同様に入力画像を拡大することで認識性能を向上する手法を説明した。また、学習過程で学習パターンを拡大するのではなく、学習パターンの輝度値の補間成分を算出し、それを用いて木構造の判別器を生成し、認識過程でも同様の補間を入力画像に対して行うことで認識性能を向上する手法を説明した。
それに対して、第２の実施形態では、学習過程で学習パターンを処理して追加学習パターンを作成し、それを用いて木構造の判別器を生成し、認識性能を向上する手法を説明する。
【００３０】
図１４は、本実施形態に係る学習装置１００の機能構成を示すブロック図である。学習装置１４００は、学習過程において、新規パターンをパターン認識するのに用いられる、より具体的には新規パターン中の認識対象パターンを複数のクラスに分類するのに用いられる木構造の辞書（＝木構造の判別器）を学習する。
１４０１は入力部であり、学習パターン（例えば認識対象物体を撮像した画像）を入力する。
１４０２はフィルタ処理部であり、入力部１４０１で入力した学習パターンをフィルタ処理して追加学習パターンを作成する。
１４０３は生成部であり、入力部１４０１で入力した学習パターンから抽出した特徴量（例えば画像であれば輝度）及びフィルタ処理部１４０２で作成した追加学習パターンから抽出した特徴量（例えば画像であれば輝度）を用いて、図６に例示するような木構造の判別器を生成する。
【００３１】
図１５は、本実施形態に係る学習装置１００による学習過程の処理手順を説明するフローチャートである。学習過程は、第１の実施形態と同様、２つのルーチンに分けられ、図１５は、学習過程のメインルーチンを示すフローチャートである。なお、ノードを展開するサブルーチンは図２（ｂ）で説明したとおりであり、ここではその説明を省略する。
第１の実施形態と異なるのは、ステップＳ１５０１及びステップＳ１５０２である。なお、ステップＳ１５０３及びステップＳ１５０４は、図２のステップＳ２０３及びステップＳ２０４と同様であり、ここではその説明を省略する。
ステップＳ１５０１で、第１の実施形態と同様の設定で異なる画像を別クラスとして分離したい場合、フィルタ処理部１４０２は、入力部１４０１で入力した学習画像に対してガウシアンやラプラシアン等の任意のフィルタを用いたフィルタ処理を施して追加学習画像を作成する。そして、学習画像と追加学習画像とをセットにして１つの姿勢クラスを表わす画像とする。図１６（ａ）は、一の学習画像にフィルタ処理を施した追加学習画像を１枚作成して、ｍ個の姿勢クラス分のセットを作成した例である。
【００３２】
ステップＳ１５０２で、第１の実施形態と異なるのは、学習する複数の木構造の判別器において、学習画像と、フィルタ処理によって得た追加学習画像とで異なる木構造の判別器のルートノードにセットすることである。これにより、以降の処理は第１の実施形態と同様であるが、学習画像用ツリーでは学習画像のパターンのみが分類され、追加学習画像用のツリーでは追加学習画像のパターンのみが分類されることになる。
また、認識過程でも、図１６（ｂ）に示すようにオリジナルの入力画像と、入力画像にフィルタ処理を施すことで得られた追加入力画像との２枚をセットとする。そして、オリジナルの入力画像に対しては学習画像で学習した判別器を用いた認識処理を施し、追加入力画像に対しては追加学習画像で学習した判別器を用いた認識処理を施し、双方の結果を用いて認識対象物体の位置や姿勢等を認識する。これにより、学習画像だけでは分離できなかったパターンを分離できる可能性が上がり、結果として認識性能が向上する。
なお、本実施形態では、学習画像にフィルタ処理を施した追加学習画像を１枚だけ作成する例を説明したが、学習画像に異なるフィルタ処理を施して追加学習画像を複数枚作成するようにしてもよい。
【００３３】
（第３の実施形態）
次に、第３の実施形態を説明する。以下では、第１、２の実施形態との相違点を中心に説明し、第１、２の実施形態と共通する内容の説明は省略する。
第３の実施形態では、第１の実施形態を実施するにあたり、認識対象パターンを拡大する際や、オリジナルの画像のピクセル間の輝度値を用いる際に、要求されるレベルでの認識性能を発揮するのに必要な拡大設定（倍率等）や補間設定を決定する。あるいは、第２の実施形態を実施するにあたり、フィルタ処理によって追加画像を作成する際に、要求されるレベルでの認識性能を発揮するのに必要なフィルタ設定（フィルタの種類、フィルタを定義するパラメータ、追加画像枚数等）を決定する。
【００３４】
第１の実施形態及び第２の実施形態において、認識性能に対する要求レベルがある場合、拡大設定や補間設定、フィルタ設定等で適した値を求める必要がある。認識過程で認識性能の要求レベルに達しない、又は要求レベルに比して過剰に拡大画像や補間成分を用いた学習をしてしまうことにより認識性能の向上に寄与しない無駄な処理が発生するといった問題が起こりうるからである。
そこで、認識性能の要求レベルを達成するのに追加される拡大設定、補間設定、フィルタ設定を必要最小限に抑えるために、木構造の判別器の品質を評価する基準を導入する。
【００３５】
図１７は、第１の実施形態で説明したように学習パターンを拡大する場合に、拡大設定を決定するステップを含む学習過程の処理手順を説明するフローチャートである。学習過程は、第１の実施形態と同様、２つのルーチンに分けられ、図１７は、学習過程のメインルーチンを示すフローチャートである。なお、ノードを展開するサブルーチンは図２（ｂ）で説明したとおりであり、ここではその説明を省略する。
第１の実施形態と異なるのは、ステップＳ１７０１、ステップＳ１７０５及びステップＳ１７０６である。なお、ステップＳ１７０２〜ステップＳ１７０４は、図２のステップＳ２０２〜ステップＳ２０４と同様であり、ここではその説明を省略する。
ステップＳ１７０１で、拡大部１０２は、第１ループであれば初期設定の倍率Ｅ（Ｅ≧１）で、第２ループ以降であればステップＳ１７０６で設定される倍率Ｅで、入力部１０１で入力した学習パターンの全てを線形補間によって拡大する。
ステップＳ１７０５で、生成した木構造の判別器の認識性能を算出し、ユーザが設定した要求レベルを満たすか否かを判定する。要求レベルを満たす場合、本処理を終了する。要求レベルを満たさない場合、ステップＳ１７０６に進み、倍率ＥをＥ＋ｄ（ｄは事前に設定された値（＞０））に更新し、ステップＳ１７０１に戻る。これにより、生成した木構造の判別器が要求レベルに達成するまで処理が繰り返される。
【００３６】
ステップＳ１７０５における認識性能は、例えば次のようにして求められる。
例えば学習画像とは異なる姿勢クラスラベルが付与されたテスト用画像セットを用意し、テスト用画像セットを入力画像として与え、生成した木構造の判別器によってテスト用画像セットを分類する。その結果、正しく分類できた枚数を評価スコアとして認識性能を求めることができる。
あるいは、テスト用画像セットを用意するのではなく、分類すべき全ての学習パターンから認識性能を求めるようにしてもよい。例えば着目する姿勢クラスＩＤをｗ（１≦ｗ≦ｍ）とし、姿勢ＩＤがｗの認識対象パターンが属するｌｅａｆを参照する。このとき、分類木の数はＬ個存在するため、参照されるｌｅａｆは全部でＬ個となる。そして、各々のｌｅａｆには姿勢ＩＤがｗ以外のパターンも含まれる。これを仮に「類似パターン集合」と呼ぶことにすると、学習によって得られた木構造の判別器によって姿勢クラスｗのパターンがどの程度分離できるかを知るには、参照しているＬ個の類似パターン集合の積集合をとったときに残るパターンの数で評価できる。積集合をとったときに残ったパターン数が１になるのが最良であり、この数が増えると分類が難しい指標となる。よって、この性質を利用して、木構造の判別器を評価する際は、姿勢クラスのｍ個全てに対して上記した積集合をとったパターン数を算出して累積し、得られた値に準じた値を評価スコアとすることができる。
なお、学習画像を拡大するのではなく、学習画像の輝度値の補間成分を算出する場合も同様のフローとなり、倍率Ｅを補間レベルＥと読み替えて実施すれば、同様の結果を得ることができる。
【００３７】
図１８は、第２の実施形態で説明したようにフィルタ処理によって追加学習パターンを作成する場合に、フィルタ設定を決定するステップを含む学習過程の処理手順を説明するフローチャートである。学習過程は、第２の実施形態と同様、２つのルーチンに分けられ、図１８は、学習過程のメインルーチンを示すフローチャートである。なお、ノードを展開するサブルーチンは図２（ｂ）で説明したとおりであり、ここではその説明を省略する。
第２の実施形態と異なるのは、ステップＳ１８０１、ステップＳ１８０５及びステップＳ１８０６である。なお、ステップＳ１８０２〜ステップＳ１８０４は、図１５のステップＳ１５０２〜ステップＳ１５０４と同様であり、ここではその説明を省略する。
ステップＳ１８０１で、フィルタ処理部１４０２は、第１ループであれば初期フィルタ設定で、第２ループ以降であればステップＳ１８０６で設定されるフィルタ設定で、入力部１４０１で入力した学習画像にフィルタ処理を施して追加学習画像を作成する。そして、学習画像と追加学習画像とをセットにして１つの姿勢クラスを表わす画像とする。
ステップＳ１８０５で、ステップＳ１７０５と同様に、生成した木構造の判別器の認識性能を算出し、ユーザが設定した要求レベルを満たすか否かを判定する。要求レベルを満たす場合、本処理を終了する。要求レベルを満たさない場合、ステップＳ１８０６に進み、フィルタ設定を更新し、ステップＳ１８０１に戻る。これにより、生成した木構造の判別器が要求レベルに達成するまで処理が繰り返される。
【００３８】
（第４の実施形態）
第１〜第３の実施形態を実施するにあたり、認識過程で学習画像と入力画像とを比較する際に、比較点数が増加することによるランタイム時の処理負荷（処理時間や演算量等）が増加することが問題になることがある。
そこで、第４の実施形態は、ランタイム時の処理負荷を減らすようにするものである。認識対象物体の種類に応じて認識過程の処理負荷がかかることに不都合が起こる場合、通常時の処理負荷に近付ける必要がある。このときは、認識過程で入力画像の一部をサンプリングする際に、サンプリング点数を通常時に近付けるようにサンプリング設定を行うことで、ランタイム時の処理負荷を抑えることができる。
【００３９】
ここでは、第１の実施形態のように、画像の拡大によって処理負荷が増加した例を考える。学習画像を縦横それぞれＰ倍にして学習した木構造の判別器を用いてパターン認識を行う際、入力画像も同様に縦横Ｐ倍にすることになる。これにより、認識性能が向上するが、通常の１ピクセルずつスライドさせるスライディングウィンドウによる認識処理では、単純に入力画像のピクセル数がＰ×Ｐ倍に増加することによって比較点が増加するため、処理負荷が拡大倍率に伴って増大する。
その一方で、画像の拡大の目的は、分離できない学習パターンを分離するためにオリジナルの学習画像のピクセル間の輝度値を利用して木構造の判別器を生成することにある。したがって、認識過程でスライディングウィンドウを１ピクセルずつスライドさせなくとも、認識性能の向上効果を発揮する。よって、１ピクセルずつスライドさせるのではなく、縦横それぞれＰピクセルおきに動かすことで、認識過程の処理負荷を所定の処理負荷、例えば本発明が提案する方式を適用させる前の処理負荷に近付けることができる。それ以上の処理負荷の削減が必要な場合は、Ｐ以上のピクセル数を飛ばしてスライドさせればよく、逆に処理負荷に猶予がある場合は、Ｐピクセル以下ごとにスライドさせればよい。
【００４０】
また、画像の拡大に限らず、第２の実施形態の場合、追加画像の枚数分の処理負荷が増加する。例えばフィルタ処理にかかる時間を予測しておけば、要求される処理時間内に収まるように、スライディングウィンドウを数ピクセルずつ飛ばしながらスライドさせることで解決することができる。
【００４１】
本発明を適用した学習装置やパターン認識装置は、例えば図１９に示す情報処理装置により構成される。図１９は、情報処理装置のハードウェア構成例を示すブロック図である。情報処理装置は、外部記憶装置１９０１、中央処理装置（ＣＰＵ）１９０２、メモリ１９０３、入出力装置１９０４を実装する。
外部記憶装置１９０１は、各種処理を実現するプログラムや学習パターン、学習パターンを用いて生成された木構造の判別器等を保持する。
中央処理装置（ＣＰＵ）１９０２は、情報処理のためのプログラムの実行や各装置の制御を行う。
メモリ１９０３は、中央処理装置（ＣＰＵ）１９０２が使用するプログラム、及びサブルーチンやデータを一時的に記録する。
入出力装置１９０４は、新規パターンを取り込んだり、ユーザからの指示入力を処理したりする。例えばパターンとして２次元の画像を用いる場合、入出力装置１９０４は認識対象物体を撮影するカメラ等が該当する。また、入出力装置１９０４は、パターン認識結果を他の情報処理装置に出力する。その他、入出力装置１９０４を介してプログラム実行のトリガをユーザが出したり、結果を見たり、プログラムのパラメータ制御を行うこともある。結果の出力先は、人（ユーザ）に限らず、例えばロボットの制御装置等のマシンでもよい。
【００４２】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明でいうパターンは、画像に限らず、同様の認識アルゴリズムを用いる場合は、音声、デプスデータ、その他観測された信号に対して適用しても同様の効果を得ることができる。
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４３】
１００、１４００：学習装置
１０１、１４０１：入力部
１０２：拡大部
１０３、１４０３：生成部
１４０２：フィルタ処理部
【図１】
2017004052.tif 000003
【図２】
2017004052.tif 000004
【図３】
2017004052.tif 000005
【図４】
2017004052.tif 000006
【図５】
2017004052.tif 000007
【図６】
2017004052.tif 000008
【図７】
2017004052.tif 000009
【図８】
2017004052.tif 000010
【図９】
2017004052.tif 000011
【図１０】
2017004052.tif 000012
【図１１】
2017004052.tif 000013
【図１２】
2017004052.tif 000014
【図１３】
2017004052.tif 000015
【図１４】
2017004052.tif 000016
【図１５】
2017004052.tif 000017
【図１６】
2017004052.tif 000018
【図１７】
2017004052.tif 000019
【図１８】
2017004052.tif 000020
【図１９】
2017004052.tif 000021