(57)【特許請求の範囲】
【請求項１】
複数の判別器による結果を統合することによりパターンを判別するアンサンブル判別器を構成するそれぞれの判別器を生成するための情報処理装置であって、
入力手段を介して入力された複数のパターン間における特徴量の差異の分布を算出する算出手段と、
前記算出手段により算出された前記差異の分布を正規化することにより確率分布を生成する手段と、
前記生成された確率分布が示す確率に基づいて前記複数のパターンを判別するために参照するべきパターンにおける複数の画素を決定する決定手段と、
前記決定手段により決定された前記複数の画素の特徴量を用いて前記入力された複数のパターンを分類することにより、パターン判別に用いる判別器を複数生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記複数のパターンを二つのクラスターに分割する分割手段と、
前記分割手段により分割された前記二つのクラスターからそれぞれ一つのパターンを選択して、選択されたパターン間の特徴量の差分を算出する手段と、
を更に備え、
前記決定手段は、前記差分の正の成分を正規化して求められた分布と、前記差分の負の成分を正規化して求められた分布と、を用いて、前記複数のパターンを判別するために参照するべきパターン内の画素を決定し、
前記生成手段は、前記決定手段により決定された前記画素の特徴量に基づいて前記複数のパターンの判別を行うことにより前記複数の判別器を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成される判別器は決定木のノードを構成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記複数のパターンそれぞれの画素の特徴量に基づいて、前記複数のパターンの集合を２つのパターン群に分割する分割手段と、
前記分割手段により分割されたそれぞれのパターン群について特徴量のばらつきを算出し、前記算出された特徴量のばらつきの平均を算出する手段と、
を更に備え、
前記決定手段は、算出された前記特徴量のばらつきの平均を正規化して求められた確率分布を用いて、前記複数のパターンを判別するために参照するべきパターン内の画素を決定し、
前記生成手段は、前記決定手段により決定された前記画素の特徴量に基づいて前記複数のパターンの判別を行うことにより前記複数の判別器を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判別器は回帰木のノードを構成することを特徴とする請求項１または４に記載の情報処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項７】
複数の判別器による結果を統合することによりパターンを判別するアンサンブル判別器を構成するそれぞれの判別器を生成するための情報処理装置における情報処理方法であって、
前記情報処理装置の算出手段が、入力手段を介して入力された複数のパターン間における特徴量の差異の分布を算出する算出工程と、
前記情報処理装置の確率分布を生成する手段が、前記算出工程で算出された前記差異の分布を正規化することにより確率分布を生成する工程と、
前記情報処理装置の決定手段が、前記生成された確率分布が示す確率に基づいて前記複数のパターンを判別するために参照するべきパターンにおける複数の画素を決定する決定工程と、
前記情報処理装置の生成手段が、前記決定工程で決定された前記複数の画素の特徴量を用いて前記入力された複数のパターンを分類することにより、パターン判別に用いる判別器を複数生成する生成工程と、
を有することを特徴とする情報処理方法。
【請求項８】
前記算出手段は、対象物の姿勢を示す複数のパターン間における特徴量の差異の分布を算出することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項９】
前記生成手段は、前記決定手段により決定された前記画素の特徴量と、予め設定された閾値と、の比較の結果を用いて、前記対象物の姿勢を求めるための判別を行う判別器を生成することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
複数の判別器による結果を統合することによりパターンを判別するアンサンブル判別器を構成するそれぞれの判別器を生成するための情報処理装置であって、
入力手段を介して入力された複数のパターン間における特徴量の差異の分布を算出する算出手段と、
前記算出手段により算出された前記差異の分布を正規化することにより確率分布を生成する手段と、
前記生成された確率分布が示す確率に基づいて前記複数のパターンを判別するために参照するべき前記入力された複数のパターンにおける特徴量の基底を決定する決定手段と、
前記決定手段により決定された前記特徴量の基底を用いて前記入力された複数のパターンを分類することにより、パターン判別に用いる判別器を複数生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項１１】
前記基底は、特徴量の次元であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記基底は、基底関数であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
複数の判別器による結果を統合することによりパターンを判別するアンサンブル判別器を構成するそれぞれの判別器を生成するための情報処理装置における情報処理方法であって、
前記情報処理装置の算出手段が、入力手段を介して入力された複数のパターン間における特徴量の差異の分布を算出する算出工程と、
前記情報処理装置の確率分布を生成する手段が、前記算出工程で算出された前記差異の分布を正規化することにより確率分布を生成する工程と、
前記情報処理装置の決定手段が、前記生成された確率分布が示す確率に基づいて前記複数のパターンを判別するために参照するべき前記入力された複数のパターンにおける特徴量の基底を決定する決定工程と、
前記情報処理装置の生成手段が、前記決定工程で決定された前記特徴量の基底を用いて前記入力された複数のパターンを分類することにより、パターン判別に用いる判別器を複数生成する生成工程と、
を有することを特徴とする情報処理方法。
【請求項１４】
請求項１０乃至１２のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来、パターン認識のための機械学習の技術として、複数の識別器で識別を行い、識別結果を統合することによって高精度な識別を行うアンサンブル学習法と呼ばれる手法がある（例えば、特許文献１を参照）。アンサンブル学習法は、推定の分散値の大きな識別器（弱識別器）でも、複数の識別器（弱識別器）を集めて多数決による識別を行うと推定値の分散が小さくなることを識別の原理としている。アンサンブル学習手法には、例えば、バギング、ブースティング、ランダムフォレストなどの手法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第6,009,199号公報
【非特許文献】
【０００４】
【非特許文献１】P. Viola and M. Jones, "Rapid object detection using a boosted cascade of simple features," Proc. of CVPR, 2001.
【非特許文献２】A. Torralba, K. Murphy, W. Freeman, Sharing visual features for multiclass and multiview object detection, IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol. 29, no. 5, pp. 854-869, 2007
【非特許文献３】N. Dalal and B. Triggs, Histograms of Oriented Gradients for Human Detection, IEEE Conputer Vision and Pattern Recognition, 886-893, 2005
【非特許文献４】Choe, S. B. Faraway, J. J., Modelling Head and Hand Orientation During Motion Using Quaternions, SAE Transactions, VOL 113, PART 1, p.p. 186-192, 2004
【非特許文献５】Qianjun Xu, Marie desJardins and Kiri L. Wagstaff. Active Constrained Clustering by Examining Spectral Eigenvectors. Proc of Discovery Science 2005.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アンサンブル学習手法による画像認識では、弱識別器への入力として、例えば、Ｈａａｒ基底関数（非特許文献１）や局所パッチとのマッチング（非特許文献２）のように、ある種の特徴量変換の基底関数が用いられることが多い。多くのアンサンブル学習手法では、弱識別器ごとに異なった基底関数を選択し、基底関数によって張られる空間上で学習データを判別学習している。その際、画像の一部分しか参照しないようなスパースな基底関数を用いるか、もしくはいわゆるｉｎｔｅｇｒａｌ  ｉｍａｇｅ（非特許文献１）等を用いることが多い。ｉｎｔｅｇｒａｌ  ｉｍａｇｅを用いることによりデータの参照回数を抑えることができるので、高速な判別が実現できる。
【０００６】
なお、特徴量の変換関数が小さな有限集合であれば弱識別器に与える最適な基底関数を総当たりで探索することができる。しかし、一般には変換関数の元は非可算無限であるため、総当たりで試行することは通常できない。そのような時には適当な範囲でランダムに変換関数を選んで基底関数を決定することが行われる。具体的にはランダムに十分な数の変換関数の候補が選ばれた基底のプールを作成し、プールの中から最適な基底関数を選択する方法等で近似される。
【０００７】
ところで、パターン認識の応用課題の中には、対象物体の姿勢や形状の僅かな違いを識別するようなタスクがある。例えば、工業製品の組み立て自動化の際には、小さな切欠の有無で部品を識別したいという要望が生じることがある。また、マニピュレーターによる部品のピッキングために、部分的に似ていても姿勢が全く異なるような部品を正しく見分けたいといった要望が存在することがある。このように空間上に疎にしか差異のないパターンを識別するタスクのことを、ここでは「似て非なるクラス」の識別問題と呼ぶ（ここで言う空間とは画像の二次元空間のみならず何らかの特徴空間も含む）。
【０００８】
また明示的に「似て非なるクラス」ではない認識の課題においても、もし精度の向上を追求するのであれば、多かれ少なかれこのクラスの対象を適切に識別する必要が生じる。
【０００９】
似て非なるクラスの識別をアンサンブル学習で行う場合、総当たりで最適な基底関数を選択する方法では、実際の差異ではなくノイズの方に過学習してしまって真に有効な基底を選べないことがありえる。また基底をランダムに選ぶ方法では、有効な基底を漏らしてしまうか、不十分な数しか選択できない恐れがある。アンサンブル学習法は手法の特性上、有効な弱識別器（判別正解率の期待値が０．５より大きい弱識別器）のバリエーションが十分多くないと汎化誤差が小さくならない。このため、できるだけ多数の基底の候補を含むプールと多数の弱識別器を用いることが望ましい。しかしそれでは学習および検出時の計算量とデータ量が増大するという問題が生じる。
【課題を解決するための手段】
【００１０】
上記の課題に鑑み、本発明は、特徴量空間の無数の基底関数の選択肢の中からパターン認識に有効な基底関数を優先的に選ぶことが可能な情報処理技術の提供を目的とする。
【００１１】
上記の目的を達成するべく、本発明にかかる情報処理装置は、複数の判別器による結果を統合することによりパターンを判別するアンサンブル判別器を構成するそれぞれの判別器を生成するための情報処理装置であって、
入力手段を介して入力された複数のパターン間における特徴量の差異の分布を算出する算出手段と、
前記算出手段により算出された前記差異の分布を正規化することにより確率分布を生成する手段と、
前記生成された確率分布が示す確率に基づいて前記複数のパターンを判別するために参照するべきパターンにおける複数の画素を決定する決定手段と、
前記決定手段により決定された前記複数の画素の特徴量を用いて前記入力された複数のパターンを分類することにより、パターン判別に用いる判別器を複数生成する生成手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、特徴量空間の無数の基底関数の選択肢の中からパターン認識に有効な基底関数を優先的に選ぶことが可能な情報処理技術の提供が可能になる。
【図面の簡単な説明】
【００１３】
【図１】（ａ）本発明の実施形態にかかるパターン認識方法を実行することが可能な情報処理装置の構成を説明する図、（ｂ）パターン認識方法の処理の流れを概略的に示す模式図。
【図２】（ａ）本実施形態のパターン認識方法の基本的な処理手順を説明する図、（ｂ）クラス間の差異を模式的に示した図。
【図３】（ａ）確率分布に従って画素を決定する処理を例示的に説明する図、（ｂ）パターン認識過程における決定木の生成を例示的に説明する図。
【図４】（ａ）第１実施形態のパターン認識処理の流れを説明する図、（ｂ）第１実施形態のパターン認識過程における決定木の生成を例示的に説明する図。
【図５】第１実施形態の変形例を説明する図。
【図６】第２実施形態のパターン認識処理の流れを説明する図。
【図７】第２実施形態の姿勢データのばらつきを算出する処理を模式的に説明する図。
【図８】第３実施形態のパターン認識処理の流れを説明する図。
【図９】第４実施形態における弱識別器の接続構成、およびパターン認識過程の結果の一例を表す図。
【図１０】第４実施形態のパターン認識処理の流れを説明する図。
【図１１】第２実施形態の学習過程における回帰木の生成を例示的に説明する図。
【発明を実施するための形態】
【００１４】
（第１実施形態）
図１（ａ）の参照により、本発明の実施形態にかかるパターン認識方法を実行することが可能な情報処理装置の構成を説明する。ここでいう「パターン」とは例えば、静止画、動画、音声信号、文書データなどを認識の対象とすることが可能であるが、本発明の趣旨はこの例に限定されるものではない。具体例として、対象物を撮影した静止画を認識対象のパターンとし、対象物の名称、カテゴリー、３次元上の位置、姿勢等の情報を推定する例が挙げられる。ここでいう対象物とは、任意の物体を含み、例えば、人物、人物の顔、臓器、工業製品、自動車、半導体基板などが含まれる。
【００１５】
情報処理装置は、外部記憶装置１０１、中央処理装置（ＣＰＵ）１０２、メモリ１０３、入出力装置１０４を備え、中央処理装置（ＣＰＵ）１０２の全体的な制御の下にパターン認識方法を実行することが可能である。外部記憶装置１０１は、パターン認識方法の各処理ステップをコンピュータに実行させるためのパターン認識プログラムや、パターン認識方法の実行に用いる学習パターン、学習パターンを用いて作成された辞書等を保持する。また、外部記憶装置１０１は、パターン認識方法によって導かれた新規パターンの認識結果を保持することも可能である。中央処理装置（ＣＰＵ）１０２はパターン認識プログラムの実行を司ることが可能である。
【００１６】
また、中央処理装置（ＣＰＵ）１０２は、外部記憶装置１０１、メモリ１０３、入出力装置１０４の動作を制御することが可能である。メモリ１０３は、中央処理装置（ＣＰＵ）１０２によってパターン認識プログラムのサブルーチン、またはパターン認識プログラムの実行時に参照するべきデータを一時的に格納することが可能である。また、メモリ１０３はパターン認識方法によって導かれた新規パターンの認識結果を一時的に保持することも可能である。入出力装置１０４は、ユーザからの指示を受け付け、認識対象となる新規パターンを取り込む入力部と、パターン認識結果を他の情報処理装置や、例えば、ロボットを制御する制御装置などへ出力する出力部とを有する。認識対象のパターンとして２次元の画像を用いる場合、入出力装置１０４の入力部はカメラとして機能して、対象物体を撮影することも可能である。
【００１７】
ユーザはパターン認識プログラムの実行開始のトリガーとして、入出力装置１０４を介して、実行を指示することも可能である。また、入出力装置１０４は、パターン認識結果を表示するための表示部を有しており、ユーザは、表示部に表示されたパターン認識結果を確認することも可能である。また、入出力装置１０４は、キーボートを有しており、ユーザはキーボートを介してパターン認識プログラムのパラメータを設定することが可能である。
【００１８】
図１（ｂ）は本発明の第１実施形態にかかるパターン認識方法の処理の流れを概略的に示す模式図である。まず、認識対象の形態を示すパターン（学習パターン）１５１において、学習パターン１５１間の特徴量の差異を基に確率分布１５２を作成する。そして確率分布１５２に従って、基底の選択を行い、特徴量の基底１５３ａ、ｂ、ｃ、・・・を弱識別器１５４ａ、ｂ、ｃ・・・ごとに選択してアンサンブル学習を行う。
【００１９】
次に、図２（ａ）の参照により、本実施形態のパターン認識方法の基本的な処理手順を説明する。本実施形態では対象物体（部品）の姿勢推定を例とした分類問題を解くものとする。部品の画像が学習画像のパターンとして与えられたとき、その部品の姿勢をパターン認識方法の適用により識別する。ここでは数種類の姿勢のクラスを識別するタスクを想定する。学習パターンとしては、照明条件の違いや、大きさや傾きなど僅かな見え方の違いなど、一つの姿勢のクラスについて複数のバリエーションの画像が用意されているものとする。
【００２０】
本発明は多数の識別器を用いるアンサンブル学習方式に広く適応が可能であるが、本実施形態ではその中の一つとしてランダムフォレスト方式に適応させることとする（特許文献１を参照）。ランダムフォレストは複数の決定木を用いてパターン認識を行う手法である。決定木の各ノードにおいて何らかのランダムな基準によって生成される情報の問い合わせを行い、問い合わせの結果に応じて学習パターンを次々と分割していく。葉ノードに達した時に残っている学習パターンをその葉ノードの分類結果として記憶する。判別時には、入力パターンに対して学習時と同じ情報の問い合わせを行ってノードをルートノードから葉ノードへとたどる。葉ノードに達したら記憶されているパターンをその決定木の判別結果とする。全ての決定木の判別結果を投票等により統合して最終的な判別結果とする。
【００２１】
学習は決定木ごとに行われる。まずステップＳ２０１で、全ての学習画像のパターン（パターン画像）を特徴量に変換する。本実施形態では照明変動に対して頑健な識別を行うことを目的としてラプラシアン・オブ・ガウシアン（Laplacian  of  Gaussian：以降「ＬｏＧ」と表記する）の処理を施し、エッジの強度画像を得る。次に、ステップＳ２０２からＳ２０７までの処理を各決定木の各弱識別器に対して個々に行う。
【００２２】
ステップＳ２０３では、パターン内において、クラス間の特徴量の差異の分布を計算する。ここで具体的に特徴量はＬｏＧのエッジ強度であり、差異の値は姿勢のクラス内とクラス間の分散の比Ｆである。Ｆを以下の数式のように画素ごとに求める。
【００２３】
【数１】
0005675214.tif 000002
【００２４】
但し、Ｉ（ｘ，ｙ）は座標ｘ，ｙの画素のエッジ強度、ｍｃ（ｘ，ｙ）は姿勢クラスＣのエッジ強度の平均値、ｍ（ｘ，ｙ）は全パターンのエッジ強度の平均値、ｎｃは各姿勢クラスの画像パターンの個数である。
【００２５】
ここで、図２（ｂ）の参照番号２２０は異なる姿勢クラス間の差異を模式的に示した図である。姿勢クラス１の画像２２１と姿勢クラス２の画像２２２との分散比を求めて二つのクラスの差異の分布２２３を求める。確率的選択の結果を示す画像２２４は差異の分布を基に確率的に選択された画素の位置を複数示している。ここでは図示を簡単にするために二つの姿勢のクラスのみを示しているが、本実施形態では実際には判別対象のパターンの全姿勢のクラスについて分散比を算出する。なお、ルートノードなどで対象となる学習パターンの数が多くて処理時間がかかるようなときは、学習パターンの集合からいくつかのパターンをランダムサンプリングして小さなサンプルで計算を行うようにしてもよい。
【００２６】
次にステップＳ２０４において、クラス間の差異の分布Ｆを基にして確率分布Ｐを作成する。例えば、ここでは以下のような数式を用いればよい。
【００２７】
【数２】
0005675214.tif 000003
【００２８】
ただし、ＺはΣΣＰ（ｘ，ｙ）＝１となるための正規化パラメータ、ρは分散比の高低を確率分布にどの程度反映するかを決定するチューニングパラメータである。ρ→０ならば確率は一様分布に近づく。すなわち分散比の高低を考慮しない分布になる。
【００２９】
次にステップＳ２０５において、確率分布Ｐを用いて各ノード（各弱識別器）が判別のために参照する基底を決定する。通常のランダムフォレストにおいて、基底とは、いずれかの画素の値（特徴量）であり、ランダムに参照する画素を確率分布Ｐに従って決定する。確率分布による決定の方法として、具体的な例を図３（ａ）に図示する。まず確率分布３０１の画素ごとの確率Ｐ（ｘ，ｙ）の値をラスター方向に加算し、累積値のテーブル３０２を生成しておく。０〜１までの乱数を発生させて、乱数の値に対応する画素を選択する。図３（ａ）の場合、乱数０．８１２３に最も近い値０．８６を有する累積テーブルの画素Ｉ（４,２）が選択される。
【００３０】
次に、ステップ２０６において、識別器の学習を行う。ここでは画像の一点のエッジ強度の値（特徴量）と、あらかじめランダムに設定した閾値ξとを比較する。比較の結果、学習画像のパターンを二つに分類して二つの新しいノードを生成する。これが各識別器における学習となる。そして分割された各パターンについて以降のノードでも、先に説明したステップＳ２０３からＳ２０６を繰り返す。このようにして決定木が所定の深さに達するか、分割されたパターンの数が所定の数以下になればそのノードを葉ノードとする。葉ノードには残っている学習パターンの姿勢クラスの頻度を記憶する。
【００３１】
本実施形態の動作の例を図３（ｂ）に示す。ここでは簡単のために深さが４の小さなツリーを示す。なお、無意味な比較が行われる回数を減らすために、閾値は学習データの分布を参考にして適切に設定しておいてもよい。決定木１の各ノードにおいて、それぞれ画素Ａ，Ｂ，Ｃ，Ｄ，Ｅと閾値ξ１，ξ２，ξ３，ξ4，ξ５とを比較してその判定結果により分岐し、最後に葉ノードに達して姿勢の判別結果を得ることができる。決定木２、３についても同様にして、姿勢の判別結果を得ることができる。
【００３２】
次に図４（ａ）の動作フローチャートを用いて本実施形態の判別処理について詳述する。判別処理の動作と結果の一例を図４（ｂ）に示す。判別処理は入力画像を各決定木で独立に判別させ、その結果を統合することで実行される。まずステップＳ４０８では学習時に行った前処理と同様の手法（ここではＬｏＧ）を用いて入力画像を特徴量に変換する。次に決定木のルートノードを初期位置とする。そして各ノードでステップＳ４０９からステップＳ４１２までを繰り返す。
【００３３】
ステップＳ４１０では、そのノードについて学習時と同じ画素を選択して値を観測する。そしてステップＳ４１１では、学習時にランダムに決定した閾値との比較を行う。図４（ｂ）に示した動作例では決定木１の各ノードにおいて、それぞれ画素Ａ，Ｂ，Ｅと閾値ξ１，ξ２，ξ５とを比較してその判定結果により左、右、左と分岐し、最後に葉ノードに達して姿勢１という判別結果を得ている。
【００３４】
本実施形態で用いる決定木の場合、各ノードで分類対象となるパターンの集合はパターンの分割によって刻々と変化するため、パターンの差異の値や差異に基づいて作成される確率分布が各ノードで変化していくことに注意が必要である。ルートノードから葉ノードに近づくにつれ、パターンは分岐によって細分化されていき、パターンの差異に特化した詳細な比較が行われる。これにより効率的にパターンの分類を行うことができる。
【００３５】
また、汎化誤差を避けるために、適宜、チューニングパラメータρを調整するような工夫があってもよい。例えば、ノードの深さに応じてρの値を変えてもよい。具体的には判別の初期のノードではρ＝０として、あまりパターン間の差異を考慮しないようにし、徐々にρの値を大きくしていくような方法が考えられる。また別の工夫として、例えば半分のノードはρ＝０として確率分布を考慮せずに基底を選び、半分のノードはρ＝１として確率分布を考慮して基底を選ぶ。これを交互に繰り返すというような工夫も考えられる。
【００３６】
なお、本実施形態では特徴量に変換する前処理としてＬｏＧを使ったが、本発明の趣旨はこれに限るものではない。パターンのクラスを識別するために有効な特徴量の変換であればどのような特徴量変換も候補となりうる。認識対象のパターンや条件によって適切なものを選べばよい。例えば、ＨＯＧ（Histogram  of  Oriented  Gradient）（非特許文献３を参照）などを選ぶことも可能である。本実施形態の変形例について、以下に簡単に説明する。例えば、図５に模式図を示すように部品の学習画像のパターンセット５０１をそれぞれ７×７のセルからなるＨＯＧ特徴量に変換する。各セルが８方位の輝度勾配の値を持つので一つの学習画像のパターンは３９２次元の特徴ベクトル５０２に変換される。この３９２次元の特徴量について次元ごとに全パターンの分散比を求めて分散比の分布５０３を作成し、先述と同様の方法で確率分布５０４を作成する。各識別器では確率分布５０４によってＨＯＧ特徴量の次元の一つを基底として選び、ランダムな値との比較を行って学習データを分割していけばよい。
【００３７】
なお、本実施形態では確率分布の元となるパターンのクラス間の差異を表す指標として分散比を用いたが、これは他の指標であってもよい。具体的には、特徴量の値ＸとクラスのラベルＹの２つを変量とする相互情報量Ｉ（Ｘ；Ｙ）を利用することも考えられる。また、１クラスに１パターンしかデータがなければ、特徴量のクラス間の標準偏差を利用することも考えられる。正規化を適切に行うことで、様々な指標に対して本発明の適用が可能である。実際には用いる特徴量や認識タスクなどを勘案して有効な指標を選択することになる。
【００３８】
（第２実施形態）
第１実施形態では姿勢識別の問題をアンサンブルの分類木を用いることで分類の問題として解いた。しかしこのためにはあらかじめ姿勢を有限個のクラスターに分割しておく必要があり、クラスタリングの方法の妥当性や最適な角度の分解能が不明といった問題が生じる。第２実施形態では姿勢推定問題をクラスの分類問題としては解かず、回帰木を用いて姿勢の数値を直接推定する。
【００３９】
回帰木は関数の近似に用いられる手法である。構造は分類木とほぼ同じであるが、葉ノードにはパターンのクラスではなく、入力に対して関数が出力すべき数値を対応づける点が異なる。本実施形態では入力を部品の画像とし、出力を物体の姿勢の値である極角θ、偏角φとする。ここでは説明の簡単のために姿勢の面内回転の違いは存在しないと仮定して二自由度の姿勢の推定を行うタスクを考える。
【００４０】
通常の回帰木では、特徴量の候補を総当たりで試してデータを分割してみて、最適な特徴量を選んで決定木の分岐を行う。具体的には推定したい変量（ここでは姿勢の値）の分割後の二群内のばらつきが最も小さくなるような特徴量を選択するのが一般的である。そして各ノードでこれを繰り返して分岐とデータの分割を行っていく。
【００４１】
本実施形態のアンサンブル学習手法では、最適な特徴量を基底として選択するのではなく、分割後のばらつきの値を評価して有効な特徴量が優先して選ばれるように確率分布を作成する。そして確率分布を基に特徴量を選択して基底とする。本実施形態の処理の例を図１１に示す。ここでは簡単のために深さが４の小さなツリーを示す。なお、無意味な比較が行われる回数を減らすために、閾値は学習データの分布を参考にして適切に設定しておいてもよい。決定木１の各ノードにおいて、それぞれ画素Ａ，Ｂ，Ｃ，Ｄ，Ｅと閾値ξ１，ξ２，ξ３，ξ4，ξ５とを比較してその判定結果により分岐し、最後に葉ノードに達して姿勢の値の判別結果を得ることができる。決定木２、３についても同様にして、姿勢の値の判別結果を得ることができる。
【００４２】
図６を参照して第２実施形態のパターン認識処理の流れを説明する。まず、ステップＳ６０１では第１実施形態と同様にＬｏＧによって前処理を行う。そしてノードごとに、どの画素の値に着目して判別対象のパターンを分割したら、どの程度有効な分割が行われるのかを評価する。具体的にはステップＳ６０４で、適当な閾値である画素の値（これを基底fi）との比較により、特徴量である画素の値が大きいパターン群と特徴量である画素の値の小さいパターン群の二つの領域に分割する（第１のデータセット、第２のデータセット）。次にステップＳ６０５で分割後の二つのパターン群において、画素の値（特徴量）として、姿勢の方位のばらつきの指標Ｖを算出する。ばらつきの指標Ｖについては後述する。ばらつきの指標Ｖをその画素の基底としての有効度として画素ごとに記憶する。なお、上記の分割の閾値として、例えば、二分割されたデータの個数がなるべく等分になる値を用いる。または、指標Ｖが最大になる値を用いてもよい。
【００４３】
ばらつきの指標Ｖの算出の方法を以下に説明する。ここでは図７（ａ）のように姿勢の空間として２次元球面Ｓ２とその上に分布している姿勢のデータ群を考える。姿勢は極角θ，偏角φで表される。極角θ，偏角φから座標ｘ，ｙ，ｚへの変換は、以下の数３の式により求めることができる。
【００４４】
【数３】
0005675214.tif 000004
【００４５】
この座標の値を用いてｎ個の姿勢データから姿勢の平均ベクトルを合成すると、長さは、以下の数４の式により求められる。
【００４６】
【数４】
0005675214.tif 000005
【００４７】
ここで、以下の数５の式で定義される値はｎ個の姿勢データのばらつきを反映した値である。
【００４８】
【数５】
0005675214.tif 000006
【００４９】
ｖ＝０で姿勢の方位のばらつきが最小であり、ｖ＝１でばらつきが最大となる。データをｎ１個とｎ２個の二つに分割したときの二つの群（第１のデータセット、第２のデータセット）のばらつきの平均は、以下の数６式により求めることができる。平均のばらつきＶを各基底の判別の有効度の変量とする（図７（ｂ））。平均のばらつきＶは、基底ｆｉの有効度を示す。
【００５０】
【数６】
0005675214.tif 000007
【００５１】
以降の処理は、第１実施形態と多くの部分について共通である。ステップＳ６０７において、変量Ｖ（ｘ，ｙ）から確率分布Ｐ（ｘ，ｙ）を作成する。ステップＳ６０８において、確率的に画素を選択して基底とし、ステップＳ６０９において、回帰木の分岐とデータの分割を行う。葉ノードには、残っている姿勢のデータを平均して平均の方位を求めてこれを記憶する。姿勢の平均の方法は、例えば、先述のように平均ベクトルを合成し、その極角と偏角を求めて姿勢の値とすればよい。
【００５２】
姿勢の推定時には、入力画像を与えて各回帰木を辿り、各回帰木について姿勢の値を得る。これを平均して最終的な姿勢の推定結果とする。ここで、出力結果に外れ値が含まれていても頑健に結果が得られるように、Ｍ推定等の一般的なロバスト推定を用いてもよい。
【００５３】
ここでは面内回転を考慮せずに二自由度の姿勢推定について説明したが、別の実施形態として、面内回転を含む三自由度の自由姿勢を推定する形態が考えられる。基本的な形態は二自由度のときと同じであるが、三自由度の場合は四元数を使って姿勢の方位を表す必要がある。分割後の姿勢のばらつきを評価するためには姿勢の方位間の差分と平均を定義する必要がある。
【００５４】
これは以下のようにして定義する。まず二つの姿勢の差分である角度差は姿勢の方位を長さ１の四元数をｑで表し、別の姿勢ｐに対して以下の数７式として定義する。
【００５５】
【数７】
0005675214.tif 000008
【００５６】
次に四元数による姿勢の平均の計算方法は近似的な方法を含めていくつか提案されている（例えば、非特許文献４）。これらを用いて先述の方法と同様の計算を行えば分割後の姿勢のばらつきを評価することができる。このようにして三自由度姿勢についても本実施形態の適用が可能である。
【００５７】
（第３実施形態）
第３実施形態では本発明の適用可能な決定木を用いて３つ以上の物体の種類の識別について説明する。物体としては人工物から一般物体まで様々な対象が考えられるが、ここでは具体的に工業用部品同士を例にして識別することを考える。条件としては多数の部品の種類が存在し、それぞれについて学習画像が一枚ずつ与えられているとする。すなわちここでは１クラス１パターンの多クラスのパターン識別を解くことになる。学習データには図２（ｂ）の部品クラス２１１と部品クラス２１２のように、部分的には似通っていて、切欠の有無などで適切に見分ける必要があるようなものが存在すると仮定する。
【００５８】
本実施形態では第１実施形態と同様に複数の決定木を分類木のアンサンブルとして使う。本実施形態では２点の画素の値を比較することで、決定木を分岐させていくことにする。
【００５９】
簡単な例としてもし２クラスのパターンを見分けるのであれば、クラス間でパターンの差分を求め、正の値の領域のどこか１点の画素と、負の値の領域のどこか１点の画素を比較すれば、比較的信頼性の高い判別を行うことが期待できる。但し本実施形態では１クラス１パターンの多クラスを扱うため、後述するような工夫を用いる。
【００６０】
図８の参照により第３実施形態のパターン認識処理の流れを説明する。本実施形態における学習時の処理の流れを説明する。本実施形態では、まずステップＳ８０１において、入力画像に対してＬｏＧ等の前処理を行う。ステップＳ８０２からＳ８１１までの処理を繰り返す。次に前処理で得られた特徴量の値を基にステップＳ８０３において、ｋ−平均クラスタリングを用いて学習パターンを便宜的に二つのクラスターに分割する。次にステップＳ８０４では、先のステップＳ８０３で分割された二つのクラスターからランダムに各一つずつパターンを選択してペアを作成し、ステップＳ８０５において、二つのパターンの画素ごとの差分値を計算する。ステップＳ８０６において、正の成分と負の成分とにそれぞれ分けて個別にその絶対値を加算して、加算結果を保存する。ステップＳ８０４〜ステップＳ８０７を所定の数だけ繰り返して、正の値の成分と負の値の成分の分布の二枚の画像を得る。これを第１実施形態で行ったのと同様の手法によりステップＳ８０８で正規化して二つの確率分布を作成する。
【００６１】
そして、ステップＳ８０９ではこの二つの確率分布に従って２点を確率的に決定する。確率分布に基づく累積マップからの確率的な選択の方法も第１実施形態と同様に行えばよい。そして、ステップＳ８１０では２点の特徴量の比較を行って、対象物の認識を行うため、比較の結果に従って学習パターンの分割とツリーの分岐を行う。このときには先ほどのクラスターの分割結果は考慮せずに新たな分割を行う。以上のように分割を進め、一つのパターンのみがノードに残るまでツリーを分岐する処理を繰り返す。一つのパターンのみのノードに到達したらパターンの種類を記憶して葉ノードとする。なお、途中でどちらかのノードのパターンが空になるような問い合わせは無効として選択をやり直す。
【００６２】
なお、クラスタリングの際には計算量低減のため、全データを使わずに部分的にランダムサンプリングしたセットでクラスタリングを行ってもよい。また、クラスタリングの方法はｋ−平均クラスタリングに限らず、例えばスペクトラルクラスタリング手法（非特許文献５を参照）等を使ってもよい。データの性質と計算量とのトレードオフを考慮しながら選択すればよい。また、識別器による２点の比較の際には、第１実施形態で閾値を設けたようにどちらかにランダムな閾値を足してから比較するような形態にしてもよい。以上が本実施形態のパターン認識手法の学習の動作フローである。判別時には、こうして形成された複数の決定木をそれぞれ独立に辿り、葉ノードに達したときのパターンをその決定木の判別結果とする。全ての決定木で多数決をとって出現頻度の最大のパターンを判別結果とする。本実施形態の変形として、例えば、第１実施形態と同様に各ノードで１点の画素情報をランダムな値と比較するような形態でもよい。画像のクラス間の差異としては、例えば、パターンの各画素の標準偏差を利用して確率分布を作成することも可能である。
【００６３】
（第４実施形態）
第４実施形態としては、本発明を人物の顔の検出タスクに適用した例を説明する。ここでの問題設定の枠組みおよび識別器の構成は基本的には非特許文献１のＶｉｏｌａらの形態に則すものである。ＶｉｏｌａらはAdaboost手法（非特許文献１参照）で弱識別器を学習し、図９（ａ）に示すいわゆるカスケード構造で多段の判定を行った。これにより顔と非顔の２クラスのパターンの識別を行っている。また、判別の閾値を大きく下回るような、明らかに顔でないと判定できるパターンに関しては各段階において棄却を行うため、高速な判定が可能である。発明者はこれに本発明を適用して改良を行う。
【００６４】
Ｖｉｏｌａらは弱識別器に与える特徴量としてＨａａｒ基底関数を用いている。２４×２４の解像度の画像で最大４のサブドメインを持つＨａａｒ基底関数の場合、４万個程度のバリエーションが存在する。Ｖｉｏｌａらはこの全バリエーションを総当たりで試し、その時点でもっとも誤判別率が低くなるＨａａｒ基底を選択している。もし画像の解像度を２４×２４よりも高くするか、より複雑なパターンのＨａａｒ基底を用いようとすると、バリエーションの数が膨大になって現実的な時間では総当たりで試すことはできなくなる。
【００６５】
そこで本実施形態ではパターン間の特徴量の差異を元に確率分布を作成して有効な基底が優先的に選択されるようにする。図１０の参照により、第４実施形態のパターン認識処理の流れを説明する。また学習時のある一つのノードの動作の例を図９（ｃ）に模式図として示す。以下では特に非特許文献１との相違の部分に絞って説明する。
【００６６】
まず、クラス間の差異の分布を求める。本実施形態ではステップＳ１００３で顔クラスの学習画像９０２（正事例学習画像）と非顔クラスの学習画像９０３（負事例学習画像）のデータに対して線形判別分析を行う。線形判別分析の結果、２クラスの分散比を最大化する一つの基底が得られる。この基底はｎ個の画素に対応するｎ次元の空間を１次元に圧縮する変換基底である。変換基底の係数の結果例を９０４に示す。係数９０４は実数値であり、正の値と負の値があることに留意されたい。
【００６７】
この係数とよく一致するようなＨａａｒ基底を優先的に選択すれば、２つのクラスを効率的に判別できることが期待できる。これについては様々な実現の方法が考えられるが、本実施形態では例えば以下のような操作で実現する。ステップＳ１００４でまず、ｎ個のＨａａｒ基底をランダムに生成する。１つのＨａａｒ基底の例を９０５に示す。
【００６８】
次に、ステップＳ１００５においてこのｎ個のＨａａｒ基底と、線形判別分析の基底の係数９０４との一致度のスコアを測る。具体的にはスコアとしては例えば正規化相関（相互相関）の値を求めればよい。そして正規化相関の絶対値の大きな基底が有効な基底と考え、これらの基底がｎ個の中から優先されて選択されるようにする。ステップＳ１００６では第１実施形態で行ったのと同様の方法を用いて一致度のスコアの値を正規化して確率分布に変換する。そしてＳ１００７では第１実施形態で行ったのと同様にして累積分布のテーブルを作成して、確率的に一つのＨａａｒ基底を選択して判別（Ｓ１００８）のための基底９０６とする。このようにした後、棄却閾値を決定し（Ｓ１００９）、棄却された学習データを除き（Ｓ１０１０）、学習データの重み付けを更新する（Ｓ１０１１）。学習は、非特許文献１と同一の方法でもってＡｄａｂｏｏｓｔにより行う。誤判別データの重み付の仕方や判別閾値９０７の設定の仕方については非特許文献１に十分に開示されているのでここでは説明を省く。このようにして識別器を学習させる。
【００６９】
検出時には、非特許文献１と同様にいわゆるスライディングウィンドウによる走査処理を行って画像の全領域について顔か否かの判定を行う。また異なった見えのサイズに対応するために、複数の解像度の階層画像を用いて複数回の判定を行う。
【００７０】
なお、本実施形態では基底関数を一つ選んで１次元空間上で判別と閾値の決定を行ったが、本発明の適用可能な実施形態においては弱識別器が判別を行う空間は１次元に限定されない。例えば、二つ以上の基底関数を選んで多次元の空間を張り、データの判別を行うような形態も考えられる。これにより、より複雑なＨａａｒ基底の組み合わせの表現を実現することが可能である。弱識別器の判別の手法としては、例えば、ソフトマージンのサポートベクターマシンなどを用いることができる。なお、組み合わせの効果を得るためには、Ｈａａｒ基底関数で変換した後にさらに２乗するなど、非線形な変換を含む方が好ましい。本実施形態ではＶｉｏｌａらの手法に順じて、図９（ａ）のように弱識別器のカスケードを一つのみ用いる実現形態を説明したが、図９（ｂ）のようなカスケードのアンサンブルを用いて判別結果を多数決で統合するような形態も考えられる。この形態では基底選択のランダム性をより有効に用いてアンサンブル学習が行われることが期待できる。
【００７１】
上述の実施形態によれば、特徴量空間の無数の基底関数の選択肢の中からパターン認識に有効な基底関数を優先的に選ぶことが可能な技術の提供が可能になる。
【００７２】
また、基底関数の選択の仕方が決定的でないために弱識別器の多様なバリエーションが保持される。このようにして結果的に従来のアンサンブル学習手法に比べて、識別の精度を高めることができる。また、学習時および検出時の計算量やデータ量をより小さくすることができる。
【００７３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005675214.tif 000009
【図２】
0005675214.tif 000010
【図３】
0005675214.tif 000011
【図４】
0005675214.tif 000012
【図５】
0005675214.tif 000013
【図６】
0005675214.tif 000014
【図７】
0005675214.tif 000015
【図８】
0005675214.tif 000016
【図９】
0005675214.tif 000017
【図１０】
0005675214.tif 000018
【図１１】
0005675214.tif 000019