(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
学習過程において、入力情報を分類するのに用いられるべき、参照位置パターンを複数個取得する第１の取得手段と、
入力情報を取得する第２の取得手段と、
識別過程において、前記学習過程で取得された複数の参照位置パターンのそれぞれに従った各データを、前記入力情報から抽出する抽出手段と、
前記抽出手段によって抽出された各データを評価する評価手段と、
前記評価手段による評価の結果に基づいて、前記入力情報の分類に使用する参照位置パターンを、前記学習過程で取得された前記複数の参照位置パターンから、選択する選択手段と、
前記入力情報における、前記選択された参照位置パターンに基づいて取得された特徴量を用いて、前記入力情報の分類を実行する実行手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記参照位置パターンは、２点の参照位置の組であり、
前記選択手段は、前記参照位置の組における入力情報の２点のデータの値の差の大きさに基づいて、複数の参照位置パターンから、前記入力情報の分類に使用する参照位置パターンを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記参照位置の組における、入力情報の２点のデータの値の差の大きさの最小値を、前記複数の参照位置パターンのそれぞれについて算出する算出手段をさらに有し、
前記選択手段は、前記最小値が所定値より大きい参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記参照位置の組における、入力情報の２点のデータの値の差の大きさの最小値を、前記複数の参照位置パターンのそれぞれについて算出する算出手段をさらに有し、
前記選択手段は、前記最小値が大きい順に所定数の参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記参照位置の組における、入力情報の２点のデータの値の差の大きさの総和を、前記複数の参照位置パターンのそれぞれについて算出する算出手段をさらに有し、
前記選択手段は、前記総和が所定値より大きい参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記参照位置の組における、入力情報の２点のデータの値の差の大きさの総和を、前記複数の参照位置パターンのそれぞれについて算出する算出手段をさらに有し、
前記選択手段は、前記総和が大きい順に所定数の参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記入力情報は、前記データに対応する信頼度のデータを含み、
前記抽出手段は、前記複数の参照位置パターンのそれぞれにしたがって、前記信頼度のデータを抽出し、
前記評価手段は、抽出された前記信頼度の値に基づいて、前記抽出手段によって抽出された各データを評価し、
前記選択手段は、抽出された前記信頼度の値に基づいて、前記入力情報の分類に使用する参照位置パターンを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記複数の参照位置パターンのそれぞれに対して、前記信頼度の値の最小値を算出する算出手段をさらに有し、
前記選択手段は、前記最小値が所定値より大きい参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記複数の参照位置パターンのそれぞれに対して、前記信頼度の値の最小値を算出する算出手段をさらに有し、
前記選択手段は、前記最小値が大きい順に所定数の前記参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記複数の参照位置パターンのそれぞれに対して、前記信頼度の値の総和を算出する算出手段をさらに有し、
前記選択手段は、前記総和が所定値より大きい参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
前記複数の参照位置パターンのそれぞれに対して、前記信頼度の値の総和を算出する算出手段をさらに有し、
前記選択手段は、前記総和が最も大きい順に所定数の前記参照位置パターンを、前記入力情報の分類に使用する参照位置パターンとして選択することを特徴とする請求項７に記載の情報処理装置。
【請求項１２】
前記入力情報は画像であり、前記抽出手段は、前記入力情報として入力された前記画像の画素値を抽出する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
前記画素値は輝度値である、ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
学習過程において、複数の弱分類器を設定する設定手段と、
識別過程において、入力情報の中の複数の参照位置におけるデータの値に対する前記複数の弱分類器のそれぞれの処理結果を評価する評価手段と、
前記評価手段による評価結果に基づいて前記学習過程で設定された前記複数の弱分類器のうちの１つを選択する選択手段と、
前記選択手段により選択された弱分類器を用いて前記入力情報の分類を実行する実行手段と、
を有することを特徴とする情報処理装置。
【請求項１５】
情報処理装置における情報処理方法であって、
第１の取得手段が、学習過程において、入力情報を分類するのに用いられるべき、参照位置パターンを複数個取得する第１の取得工程と、
第２の取得手段が、入力情報を取得する第２の取得工程と、
抽出手段が、識別過程において、前記学習過程で取得された複数の参照位置パターンのそれぞれに従った各データを、前記入力情報から抽出する抽出工程と、
評価手段が、前記抽出工程において抽出された各データを評価する評価工程と、
選択手段が、前記評価工程における評価の結果に基づいて、前記入力情報の分類に使用する参照位置パターンを、前記学習過程で取得された前記複数の参照位置パターンから、選択する選択工程と、
実行手段が、前記入力情報における、前記選択された参照位置パターンに基づいて取得された特徴量を用いて、前記入力情報の分類を実行する実行工程と、
を有することを特徴とする情報処理方法。
【請求項１６】
情報処理装置における情報処理方法であって、
設定手段が、学習過程において、複数の弱分類器を設定する設定工程と、
評価手段が、識別過程において、入力情報の中の複数の参照位置におけるデータの値に対する前記複数の弱分類器のそれぞれの処理結果を評価する評価工程と、
選択手段が、前記評価手段による評価結果に基づいて前記学習過程で設定された前記複数の弱分類器のうちの１つを選択する選択工程と、
実行手段が、前記選択手段により選択された弱分類器を用いて前記入力情報の分類を実行する実行工程と、
を有することを特徴とする情報処理方法。
【請求項１７】
コンピュータを請求項１から１４のいずれか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は参照情報を用いて情報の分類を実行する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、分類木の集合（アンサンブル）を用いた、情報の分類、及び識別を行う手法が提案されている。この手法では分類木をＬ個（Ｌは２以上の定数）作成し、それら全部を用いて、より高い識別性能を得る。
【０００３】
非特許文献１には、分類木の集合を用いた手法をコンピュータビジョンに応用して複数種類の画像を識別可能とする技術が記載されている。非特許文献１に記載の技術では、はじめに、画像上の２か所を参照するための２つの参照位置のペアを表す２点位置情報をランダムにＮ個生成する。以下、この２か所の参照点を参照点ペアと呼び、参照点ペアがＮ個集まったものを参照点ペア列と呼ぶ。次に、参照画像に対して、参照点ペア列のそれぞれの位置における画像輝度値を大小比較し、その比較結果の列を０または１のビット列で表すことにより、一つの画像と一つの参照点ペア列からＮ桁ビットのバイナリコードを生成する。識別の基準となる複数の参照画像それぞれについて、前述のようにＮ桁のバイナリコードを生成し、そのバイナリコードと参照画像の種別との関係を記録する。これが一つの分類木の学習に相当する。以上のような処理による学習を、それぞれ異なる参照点ペアを有するＬ個の参照点ペア列に対して実行する。すなわちＬ個の分類木を学習する。
【０００４】
画像の識別時には、入力画像に対してＬ個の分類木のすべてを使用する。すなわち、各分類木において学習時に定めたＮ個の参照点ペアの位置に従って、入力画像からＮ桁のバイナリコードを算出する。そして、これをＬ個の参照点ペア列について実行し、Ｌ個のバイナリコードを得る。そして、得られたＬ個のバイナリコードと、事前学習により得られたＬ個の分類木とを用いて、最も尤もらしい参照画像の種別を最終的な識別結果とする。
【０００５】
非特許文献１では、参照画像のバリエーションを多数作り、入力画像に関してあるバイナリコードが得られた場合に、当該入力画像が参照画像のどの種別に該当するかを示す確率を予め学習する。そして、入力画像から取得されるＬ個のバイナリコードのそれぞれについて参照画像の各種別に該当する確率を得て、Ｌ個の分類木から得られる確率の積が最大となる参照画像の種別を最終的な識別結果とする。
【０００６】
非特許文献１の方法は、２か所の参照点における画素値の比較という単純な特徴量にしたがって分類を行う分類木を弱分類器とし、多数の弱分類器のアンサンブルによって最終的な識別結果を得るものである。この方法によれば、識別時の処理においては、入力画像の参照点ペアの画素値比較によるバイナリコード化、および、バイナリコードによる辞書テーブル参照により画像識別を行う。このため、古典的な分類木のように、識別時に木構造を逐一走査していく必要がなく、古典的な分類木による処理に比べて高速に実行できる。また、識別精度も十分高いという報告が論文の中でされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０６−２２９７７１号公報
【特許文献２】特開平０７−１２９８９８号公報
【非特許文献】
【０００８】
【非特許文献１】Ｍｕｓｔａｆａ  Ｏｚｕｙｓａｌ、Ｐａｓｃａｌ  Ｆｕａ、及びＶｉｎｃｅｎｔ  Ｌｅｐｅｔｉｔ、“Ｆａｓｔ  ｋｅｙｐｏｉｎｔ  ｒｅｃｏｇｎｉｔｉｏｎ  ｉｎ  ｔｅｎ  ｌｉｎｅｓ  ｏｆ  ｃｏｄｅ”、ｃｖｐｒ、ｐｐ．１−８、２００７  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２００７
【発明の概要】
【発明が解決しようとする課題】
【０００９】
識別の対象となる画像は、学習に用いた参照画像と同一の画像ではなく、参照画像になんらかのノイズや変形が加わったものが想定される。識別器は、そのような参照画像と異なった入力画像に対しても、それが参照画像のいずれかと同類のものであると識別できることが期待される。そのことを鑑みると、非特許文献１の方法を適用する場合などでは、参照点ペアの位置における画像の輝度差が大きいことが望ましい。ある画像にある分類木を適用した時、分類木に設定されている参照点ペア位置における輝度値差が小さければ、ノイズによって輝度値の大小比較の結果が逆転しやすくなり、この分類木を使った画像の識別結果の誤差が大きくなる確率が高まるからである。
【００１０】
しかし、輝度差が大きくなるような２点の位置は参照画像ごとに異なるため、望ましい参照点位置も参照画像ごとに異なっているのが一般的である。その一方で、従来の技術においては、参照点ペアの位置は分類木ごとに設定され、すべての画像の分類を行うためにその参照点ペア位置が共通に用いられるため、参照画像ごとに参照点ペア位置を変えて学習することはできない。
【００１１】
対策として、学習時に、すべての参照画像に対してなるべく輝度値差が大きくなるような参照点ペアを選ぶことが考えられる。しかし、好適な参照点ペア位置が画像ごとに互いに背反になることも十分ありえる。特に、識別対象となる画像の種類が多い場合は、すべての画像に対して輝度値差が一定以上になるような参照点ペアが存在しない可能性が高くなる。
【００１２】
よって、すべての画像に対して共通に好適な参照点ペア位置を学習時に設定することは困難である。結果として、ある分類木を得るために設定された参照点ペアは、いくつかの種別の画像の分類には望ましい位置でありえても、他のいくつかの種別の画像の分類には望ましくない位置になるという課題があった。また、このため、従来手法では、ある種別の画像が入力された際に、その種別の画像を分類するのに好適でない参照点ペアによる分類木を用いることにより識別の性能が低下する、という課題があった。
【００１３】
本発明は上記課題に鑑みなされたものであり、複数の参照位置のパターンから、入力情報の識別に適した参照位置のパターンを選択する情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明による情報処理装置は、学習過程において、入力情報を分類するのに用いられるべき、参照位置パターンを複数個取得する第１の取得手段と、入力情報を取得する第２の取得手段と、識別過程において、前記学習過程で取得された複数の参照位置パターンのそれぞれに従った各データを、前記入力情報から抽出する抽出手段と、前記抽出手段によって抽出された各データを評価する評価手段と、前記評価手段による評価の結果に基づいて、前記入力情報の分類に使用する参照位置パターンを、前記学習過程で取得された前記複数の参照位置パターンから、選択する選択手段と、前記入力情報における、前記選択された参照位置パターンに基づいて取得された特徴量を用いて、前記入力情報の分類を実行する実行手段と、を有する。
【発明の効果】
【００１５】
本発明によれば、入力情報を分類する際に用いる参照情報の参照位置のパターンを適切に選択し、高精度な識別を可能とする技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】情報処理装置のハードウェア構成例を表すブロック図。
【図２】情報処理装置のソフトウェア機能構成を表すブロック図。
【図３】情報処理装置のハードウェアの別の構成例を表すブロック図。
【図４】１つの分類木の学習処理の動作を示すフローチャート。
【図５】参照２点位置リストのデータ構造の説明図。
【図６】符号・種別対応テーブルの説明図。
【図７】分類木のデータ構造の説明図。
【図８】辞書のデータ構造の説明図。
【図９】識別処理の動作を示すフローチャート。
【図１０】符号化処理の動作を示すフローチャート。
【図１１】評価値算出処理の動作を示すフローチャート。
【図１２】弱分類器選択処理の動作を示すフローチャート。
【図１３】辞書照合処理の動作を示すフローチャート。
【図１４】識別結果リストのデータ構造の説明図。
【図１５】実施形態２における評価値算出処理の動作を示すフローチャート。
【図１６】実施形態３における参照２点位置リストのデータ構造の説明図。
【図１７】実施形態３における符号化処理の動作を示すフローチャート。
【図１８】実施形態３における評価値算出処理の動作を示すフローチャート。
【図１９】実施形態３における情報処理装置の機能構成を表すブロック図。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
【００１８】
＜＜実施形態１＞＞
（情報処理装置のハードウェア構成）
図１は本実施形態における情報処理装置のハードウェアの構成例を示すブロック図である。本実施形態における情報処理装置は、ＣＰＵ１０１、バス１０２、出力装置１０３、入力装置１０４、メモリ１０５、及びセンサ１０７を備える。
【００１９】
ＣＰＵ１０１は、中央処理装置であり、プログラムの実行や装置の制御を行なう。出力装置１０３は、ＣＲＴやＬＣＤなどの表示装置であり、処理結果の表示や、入力指示を表示するなどの処理を行うものである。入力装置１０４は、ユーザからの指示入力などの処理を行うものであり、キーボード、マウスなどの入力装置である。メモリ１０５は、本実施形態に係る情報処理を実現するプログラムや、データ、学習対象とする参照情報、学習により作成された辞書等を保持する。センサ１０７は、環境の状態を示すデータを取得する装置であり、例えば、入力情報や参照情報として２次元の輝度画像を用いる場合は対象物体を撮影するカメラがセンサ１０７となる。後に実施形態２で距離画像を用いる場合の説明をするが、その際には環境の状態を示すデータとして距離データを取得する距離計測計がセンサ１０７となる。なお、本実施形態では、センサ１０７を用いて識別対象の入力情報を取得するが、入力情報は例えば外部から入力されるのであってもよい。なお、入力情報を外部から取得する場合は、センサ１０７を省略してもよい。
【００２０】
（情報処理装置のソフトウェア構成）
図２に、本実施形態に係る情報処理装置のソフトウェア機能構成を表すブロック図を示す。情報処理装置は、弱分類器設定手段１１１、識別手段１１２、参照位置設定手段１１３、符号化手段１１４、評価値算出手段１１５、弱分類器選択手段１１６、辞書照合手段１１７、及び照合結果集計手段１１８を備える。各手段についての動作の詳細は後述する。また、情報処理装置は、入力手段１１９、出力手段１２０、及び記憶手段１２１をさらに備える。
【００２１】
なお、これらの各手段は、メモリ１０５に格納されたプログラムを用いてＣＰＵ１０１による処理により実行されてもよい。この場合のハードウェア構成の例を図３に示す。図３では、便宜上、メモリ１０５を、第１のメモリ１０５と第２のメモリ１０６とに分けて記載している。第１のメモリ１０５には、上述の各手段に対応するプログラムが格納され、第２のメモリ１０６には、処理対象の情報、または処理における中間生成情報が格納されている。すなわち、ＣＰＵ１０１は、第１のメモリ１０５に格納された各プログラムを読み込んで、第２のメモリ１０６に記憶された情報を用いて上述の各手段の機能を実行し、その結果の情報を第２のメモリ１０６へ格納する。
【００２２】
以下では、図２及び図３の構成に基づいて、本実施形態に係る情報処理装置の動作について説明する。なお、ここでは、便宜上、プログラム等を格納する第１のメモリ１０５とデータ等を格納する第２のメモリ１０６の２つのメモリを用意しているが、１つのメモリでこれを実現してもよく、また、３つ以上のメモリを用いてもよい。
【００２３】
（学習過程）
以下、本実施形態における入力情報の識別処理の詳細について説明する。機械学習による識別手法では、参照情報を用いて分類木を学習する学習過程と、入力される入力情報を識別する識別過程の２つの過程が存在する。ここでは、はじめに学習過程を実行する弱分類器設定処理について説明し、そのあとで識別過程を実行する識別処理について説明する。
【００２４】
学習過程については従来の技術と同様のものであるが、参照情報中の複数の参照位置における値から算出される特徴量によって入力情報を分類する手法を説明するために詳しく説明する。
【００２５】
なお、以下では、第２のメモリ１０６には、参照情報として学習用画像ファイル１３０が事前に複数格納されているものとする。なお、本実施形態において、画像は単なる輝度画像でなくてもよく、輝度画像に対してエッジ抽出、エッジ強調その他の各種特徴抽出を行って得られる特徴量画像（エッジ強度マップなど）などであってもよい。
【００２６】
ここでは、説明を簡単にするため、識別対象となる参照情報の１つの種別につき１つの画像が格納されているものとするが、１つの参照情報の種別につき複数のバリエーション画像があってもよい。学習用画像ファイル１３０の各画像には、その参照情報の種別を表す識別情報を関連付けておく。関連付けの方法はどのようなものであってもよいが、ここでは一例として、１から始まり連続するユニークな数字からなる識別子によって参照情報の種別を表し、その識別子を画像ファイル名にするものとする。たとえば、参照情報の種別の識別子が０００００１であるような参照情報を表すファイルは０００００１．ｂｍｐという名前で格納する。
【００２７】
また、ここでは画像の識別を主として扱うが、画像以外の情報について識別するのであってもよい。その場合、学習用画像ファイル１３０に代えて、識別対象と同種の情報を参照情報として保持する。すなわち、識別対象の入力情報が例えば音声情報であれば、参照情報も音声情報であり、観測した温度情報であれば、参照情報も温度情報となる。
【００２８】
図４は、本実施形態における分類木の学習過程の動作を説明するためのフローチャートである。以下では、一つの分類木を学習し、分類木１３４を生成する過程について説明する。後述するように、学習処理では、分類木生成の手順を複数回繰り返し、生成された複数の分類木１３４を結合して辞書１３５を生成する。複数の分類木１３４をまとめて一つの辞書１３５とする処理については、図８を用いて後に詳細に説明する。
【００２９】
図４の処理において、初めに、弱分類器設定手段１１１は、識別する参照情報の種別の数、符号化のビット数を設定する（Ｓ２０１）。この設定の方法は、例えば、ユーザが入力装置１０４から入力して指定してもよく、事前に設定用ファイルを作成しておき、それを読み込むのであってもよい。また、さらに他の設定方法を用いてもよい。以下では、識別する参照情報の種別の数をＮｉｄ、符号化のビット数をＮｂと記載する。ビット数Ｎｂは、Ｎｉｄ個の異なる参照情報の種別に対して異なる符号を割り当てられるように十分な大きさの値に設定することが好ましい。すなわち２Nb＞Ｎｉｄとなるような数Ｎｂを設定することが好ましい。
【００３０】
次に、メモリ１０６中に各種の情報を記憶する領域を確保する（Ｓ２０２）。具体的には、Ｎｂビットからなるバイナリの符号１３２用のメモリ領域と、符号と種別の対応を表す符号・種別対応テーブル１３３用のメモリ領域をメモリ１０６中に確保する。
【００３１】
次に、参照位置設定手段１１３が、学習画像上の２点の参照位置の組（ｘ１、ｙ１）、（ｘ２、ｙ２）をＮｂ個生成し、それを参照位置のパターンとしてメモリ１０６の参照２点位置リスト１３１に格納する（Ｓ２０３）。参照位置設定手段１１３は、例えば、非特許文献１に記載の技術のような従来の技術と同様に、乱数によって参照点の位置の値を生成する。参照点の位置の値は他の方法を用いて生成してもよい。他の方法としては、例えば画像の中心に近い位置が選ばれやすいように参照点を決定してもよいし、画像の輝度値が高くなる確率が高い位置が選ばれやすいように参照点を決定してもよい。本実施形態ではその方法は限定せず、何らかの方法で参照点位置が設定できるものであればよい。
【００３２】
参照２点位置リスト１３１は、画像上の画素値または特徴量の値を参照するための特定の２点の参照位置のパターンを表したもので、図５に示すように、（ｘ、ｙ）座標値からなる２点の組をＮｂ個有する配列である。（ｘ１、ｙ１）は画像上の第１の参照位置の画像座標を表し、（ｘ２、ｙ２）は画像上の第２の参照位置の画像座標を表している。ｘ１（ｂ）という表記における（ｂ）は、Ｎｂ個ある参照２点位置のうちのｂ番目のものであることを表している。この参照２点位置リスト１３１として記憶されている参照位置のパターンは、後述の学習過程及び識別過程の両方で使用される。
【００３３】
続いて、これから学習する参照情報の種別を表す変数である変数ｉｄを初期化し、「１」に設定する（Ｓ２０４）。そして、識別する参照情報の種別数Ｎｉｄを変数ｉｄが超えていないかどうか、すなわち、参照情報の全種別について符号化等の処理が完了したか否かを判定する（Ｓ２０５）。超えていなければ（Ｓ２０５でＹｅｓ）、Ｓ２０６に進み、超えていれば（Ｓ２０５でＮｏ）、Ｓ２１０に進み分類木の出力を行う。
【００３４】
Ｓ２０６では、メモリ１０６中の画像１３６として、学習用画像ファイル１３０の中から変数ｉｄに応じた学習用画像を抽出する。本実施形態においては、学習用画像ファイル１３０は、参照情報の種別を表す数字をファイル名としてメモリに格納している。このため、参照情報の種別の識別子を表す変数ｉｄと同じ数字のファイル名をもつ画像ファイルを検索することにより、適切な学習用画像を容易にロードできる。
【００３５】
続いて、符号化手段１１４が、メモリ１０６中に格納されている参照２点位置リスト１３１に従って画像１３６を符号化し、得られた符号をＳ２０２で確保したメモリ１０６の符号１３２用の領域に格納する（Ｓ２０７）。符号１３２は、上述の通り、Ｎｂ桁のビットから成るバイナリ符号である。
【００３６】
符号化手段１１４における符号化処理の動作について、図１０を用いて説明する。この処理においては、図４のＳ２０１で決定したＮｂ（符号化するビットの桁数）を用いる。値Ｎｂは、例えば、符号化手段１１４に対して処理の引数として渡される。
【００３７】
符号化手段１１４は、初めに、符号化するビットの桁数を表す変数ｂを初期化し、「１」にセットする（Ｓ８０１）。次に、メモリ１０６中に格納されている参照２点位置リスト１３１の参照位置のパターンから、画像１３６において参照すべき参照位置の組を取得する（Ｓ８０２）。すなわち、まず、変数ｂ（ｂ＝１、２、…、Ｎｂ）に従って、参照２点位置リスト１３１の参照位置のパターンの中から２点の参照位置の組（ｘ１（ｂ）、ｙ１（ｂ））及び（ｘ２（ｂ）、ｙ２（ｂ））を取り出す。参照２点位置リスト１３１は、例えば図５のようになっているため、変数ｂが定まれば２つの参照位置の組が得られる。そして、得られた２つの参照位置について画素値を取得する（Ｓ８０２）。なお、参照情報の種別ｉｄに対する画素位置（ｘ、ｙ）における画素値を、ＩＭＧ（ｉｄ）［ｘ、ｙ］と表す。すなわち、ＩＭＧ（ｉｄ）［ｘ、ｙ］は、参照情報の種別の識別子を表す変数ｉｄに対応した学習用画像である画像１３６について、位置（ｘ、ｙ）における画素の値を表すものである。第１の参照位置に対する画素値をＬ１、第２の参照位置に対する画素値をＬ２とすると、それぞれ以下のように表される。
【００３８】
Ｌ１＝ＩＭＧ（ｉｄ）［ｘ１（ｂ）、ｙ１（ｂ）］・・・式（１）
Ｌ２＝ＩＭＧ（ｉｄ）［ｘ２（ｂ）、ｙ２（ｂ）］・・・式（２）
次に、Ｌ１及びＬ２の値に基づいてバイナリ値ｂｉｔ（ｂ）を算出する（Ｓ８０３）。ｂｉｔ（ｂ）は、Ｌ１−Ｌ２＞０の場合に１とし、Ｌ１−Ｌ２≦０の場合に０とする、バイナリ値を出力する関数である。なお、ｂｉｔ（ｂ）は引数として変数ｂを直接的に取ってはいないが、変数ｂによりＬ１とＬ２が定まり、出力されるバイナリ値も当然に変数ｂにより定まるため、変数ｂの関数として表記している。バイナリ値が算出されると、メモリ１０６中に確保された符号１３２の領域におけるビット桁のうち、変数ｂに対応する桁のバイナリ値を算出されたｂｉｔ（ｂ）の値に変更する（Ｓ８０４）。
【００３９】
そして、変数ｂに１を加算し（Ｓ８０５）、全ビット桁分だけの処理が終わったかどうか、すなわち参照２点位置リスト１３１における参照位置のパターンの全参照位置について、符号化が完了したか否かを判定する（Ｓ８０６）。全ビット桁分だけの符号化が終わった場合（Ｓ８０６でＮｏ）は、処理を終了する。全ビット桁数分の符号化が終わっていない場合（Ｓ８０６でＹｅｓ）、Ｓ８０２に戻り、上述の処理を繰り返す。上述の符号化処理により、メモリ１０６中の符号１３２にはＮｂ桁のバイナリ値がセットされる。
【００４０】
図４に戻り、メモリ１０６中に格納されている符号１３２と変数ｉｄとを関連付けて、メモリ１０６中の符号・種別対応テーブル１３３に記憶する（Ｓ２０８）。符号・種別対応テーブル１３３の構造を図６に示す。これは符号１３２に対応するバイナリ符号４０１と、変数ｉｄに対応する参照情報識別子４０２の組をＮｉｄ組有するテーブルである。図６にはＮｂ＝８の例を示している。このようなテーブルにより、符号１３２と参照情報の識別子である変数ｉｄとを関連付けて記憶する。次に、変数ｉｄを１加算し（Ｓ２０９）、Ｓ２０５に戻る。
【００４１】
次に、Ｓ２１０における分類木出力の処理を説明する。Ｓ２１０では、メモリ１０６に格納されている参照２点位置リスト１３１と、符号・種別対応テーブル１３３とをメモリ１０６中の分類木１３４に出力するものである。
【００４２】
分類木１３４のデータ構造を図７に示す。分類木データの冒頭は参照情報種別数５０１、符号ビット数５０２、参照２点位置リスト５０３である。これらには、それぞれ、図４のＳ２０１で設定したＮｉｄ、Ｎｂ、及びメモリ１０６に格納されている参照２点位置リスト１３１をそのまま格納する。なお、すべての分類木においてＮｉｄ、Ｎｂが等しい場合には、この２つの情報は辞書１３５に対して１つだけ格納すればよい。ここでは各分類木ごとにこれらの情報が異なる場合を考慮し、分類木ごとにこれらの情報を格納した例を示す。続く部分は、符号とそれに対応する参照情報の種別を表すテーブルである。このテーブルは、図７に示すように、符号５０４と参照情報種別ポインタ５０５の対応テーブルになっている。一つの符号に対して複数の参照情報の種別が対応する可能性があるので、一つの符号と参照情報種別情報５０６へのポインタとの対応テーブルになっている。符号５０４の種類はＮｂビットのバイナリ符号の種類だけあるから、この対応テーブルは２Nb組ある。符号５０４は０から２Nb−１までのバイナリビットで、昇順にソートされている。
【００４３】
参照情報種別ポインタ５０５は、符号５０４に対応する１つ以上の参照情報の識別子が格納されるデータ位置を示すオフセットである。オフセットの関係を図７中のオフセット５０９の矢印で示す。すなわち、参照２点位置リスト５０３で表された参照位置のパターンにおいて、ある符号５０４が得られる参照情報の識別子のリストが、符号・種別対応テーブルにおける参照情報種別ポインタ５０５で示す位置に格納されている。また、図７において、参照情報種別情報５０６は、１つ以上の参照情報の識別子を格納するメモリである。オフセット５０９を読み出すことにより、ある符号５０４に対応する参照情報種別情報５０６にアクセスできる。参照情報種別情報５０６は、参照情報個数５０７と参照情報識別子５０８のリストからなる。参照情報識別子５０８は図６の参照情報識別子４０２と同様のものである。参照情報識別子５０８のリストは、参照情報個数５０７の数だけの参照情報識別子５０８がリストになって格納される。すなわち、ある符号５０４に対応する参照情報識別子５０８を取得したい場合、まず参照情報種別ポインタ５０５で指定されたオフセットにしたがって、参照情報個数５０７を読み込み、それに続く参照情報識別子５０８を取得する。このとき、符号５０４に対応する参照情報識別子５０８の個数は参照情報個数５０７に記憶されているため、当該個数分だけ参照情報識別子５０８を取得する。これにより、符号５０４をキーとしてそれに対応する複数の参照情報識別子５０８のリストを取得することができる。
【００４４】
Ｓ２１０の処理では、メモリ１０６中に格納されている符号・種別対応テーブル１３３の内容を解析し、上述のようなデータ構造となるように参照情報種別情報５０６を構成する。符号５０４と参照情報の種別との対応関係は図６の符号・種別対応テーブル１３３に記載されているため、この処理は容易に実行できる。以下、データ末尾まで、符号・種別対応テーブル１３３にある情報の分だけの参照情報種別情報５０６が書き出される。
【００４５】
学習処理の過程で、学習用画像ファイル１３０のすべての画像を符号化しても、すべてのパターンの符号が出現するわけではない。すなわち、一部の符号には対応する参照情報識別子５０８がないことになる。このような場合、符号・種別対応テーブル１３３中のバイナリ符号４０１の中にそのような符号が存在しない。このため、分類木１３４では、その符号に対応する参照情報識別子５０８は存在しないことを表すため、参照情報種別ポインタ５０５の部分にはＮＵＬＬをセットしておく。以上の処理により、学習用画像ファイル１３０を学習した分類木１３４がメモリ１０６中に記録され、ひとつの分類木を学習する処理が終了する。
【００４６】
先に述べたように、図４を用いて説明した処理は、分類木１３４を１つだけ学習する処理である。弱分類器設定処理では、複数の参照位置のパターンを用いて複数の分類木１３４を学習し、複数の分類木を結合して辞書を生成する。以下、その処理を説明する。
【００４７】
まず、複数の分類木１３４を学習するために、図４で説明した１つの分類木を学習する処理を複数回繰り返す。このとき、繰り返しの処理において、Ｓ２０３における参照２点位置リストの生成において、過去に用いた参照位置のパターンと同じ参照位置のパターンを生成しないようにする。繰返しのたびに異なる参照位置のパターンで符号化を行うことにより、同じ画像１３６に対して異なる符号１３２が算出され、結果として異なる分類木１３４が繰返しの回数分だけ生成される。なお、図３には分類木１３４用のメモリは１つしか示していないが、複数の分類木１３４のための記憶領域をメモリ１０６に確保しておいてもよい。これにより、内容が異なる複数の分類木が生成されるので、これらを結合して一つの辞書１３５とすることができ、これをメモリ１０６に記憶する。複数の分類木を結合する方法を以下に示す。
【００４８】
図８に、辞書１３５のファイルの構造の一例を示す。初めに辞書１３５に含まれる分類木数６０１を格納し、つぎにそれぞれの分類木の情報へのオフセット６０２を格納する。分類木数６０１は、学習に使用した参照位置のパターンの数である。分類木へのオフセット６０２は分類木数６０１の数だけあり、これによってそれぞれの分類木情報６０３の先頭へのアクセスが可能になる。次に分類木情報６０３が分類木数６０１だけ続く。分類木情報６０３の内容は分類木１３４の内容と同じものである。以上のようにして、辞書１３５が生成され、弱判定器学習処理を終了する。
【００４９】
（識別過程）
つぎに、識別過程について説明をする。まず、図９を用いて、識別過程における処理の大まかな流れを説明する。識別過程では、参照２点位置リスト１３１に基づく参照位置のパターンにしたがって、入力画像１３７の画素値を取得して符号化処理を行い、得られた符号と辞書１３５とを照合して識別結果として参照情報の識別子を出力する。ここでは、入力画像１３７は、識別処理の開始前に例えば外部から取得し、メモリ１０６に格納されているものとする。例えば、カメラなどのセンサ１０７によって予め取得した画像を格納しておく。
【００５０】
識別処理が開始されると、まず、評価値算出手段１１５が評価値算出処理を実行する（Ｓ７０１）。評価値算出処理では、入力画像１３７に対する、辞書１３５中に格納されている複数の分類木の評価値１３８を算出する処理を行う。評価値１３８の算出処理では、参照２点位置リスト１３１に基づく複数の参照位置のパターンによって正確な識別ができると考えられる分類木１３４であるほど、高い評価値１３８が与えられる。すなわち、評価値１３８が高い参照位置のパターンに対応する分類木１３４を識別に用いるのが望ましい。評価値１３８は、分類木の番号とそれに対応する評価値のペアのリストとしてメモリ１０６に記憶される。評価値算出処理の詳細は後述する。
【００５１】
続いて、弱分類器選択手段１１６が弱分類器選択処理を実行する（Ｓ７０２）。なお、ここで言う「弱分類器の選択」とは、上述の分類木１３４のうち、どれを識別に使用するかを決定することである。弱分類器選択処理は、各分類木の評価結果である評価値１３８に従って、識別に使用する分類木１３４を選択し、選択された分類木１３４の番号を選択分類木リスト１３９としてメモリ１０６中に格納する。選択分類木リスト１３９は、例えば３番目と５番目の分類木が使用されると決定された場合は、「３」と「５」とを含むリストである。弱分類器選択処理の詳細も後述する。
【００５２】
Ｓ７０３以降では、選択分類木リスト１３９に記録された分類木１３４を用いて入力画像の識別を行う。まず、辞書１３５中の分類木１３４の番号を示す変数ｔをセットする（Ｓ７０３）。ここでは、選択分類木リスト１３９のリスト先頭のアイテム（分類木番号）をとりだして変数ｔにセットし、同時に、選択分類木リスト１３９のリスト先頭のアイテムをリストから削除する。すなわち、上述の選択分類木リスト１３９の例では、「３」と「５」が記憶されているため、まずｔを「３」にセットし、選択分類木リスト１３９から「３」を削除する。Ｓ７０４以下では、ｔ番目の分類木の情報にアクセスする。ｔ番目の分類木の情報は、辞書１３５中の分類木へのオフセット６０２によってアクセス可能である。分類木の情報は辞書１３５中の分類木情報６０３に格納されており、その内容は図７に示す通りである。
【００５３】
Ｓ７０４では、辞書１３５中のｔ番目の分類木にアクセスし、参照情報種別数５０１、符号ビット数５０２を読み出し、それぞれ変数Ｎｉｄ、Ｎｂに格納する。なお、全ての分類木に対して同一の参照情報種別数と符号ビット数を用いる場合など、これらの情報が辞書１３５に一つだけ保存されている場合は、その情報にアクセスして変数ＮｉｄとＮｂを設定する。
【００５４】
次に、ｔ番目の分類木から参照２点位置リスト５０３をすべて読み出し、メモリ１０６中の参照２点位置リスト１３１に格納する（Ｓ７０５）。続いて、符号化手段１１４が参照２点位置リスト１３１の参照位置のパターンに従って、入力画像１３７の符号化を実行する（Ｓ７０６）。そして、メモリ１０６中に符号１３２として格納する。符号化処理は学習過程における符号化処理と同様である。ここでの符号１３２は、検出のために入力画像を符号化した検出用の符号である。
【００５５】
次に、辞書照合手段１１７が辞書照合処理を実行する（Ｓ７０７）。辞書照合処理では、得られた検出用の符号１３２をキーとして辞書１３５を照合する。辞書照合処理に対しては変数ｔが引数として与えられる。辞書照合処理についても後述する。
【００５６】
その後、選択分類木リスト１３９が空になっているかどうか判定をする（Ｓ７０８）。空になっていなければＳ７０３に戻り、リスト先頭のアイテム（分類木番号）をｔにセットして以下前述とおりの処理を繰り返す。選択分類木リスト１３９が空になっていれば、照合結果集計手段１１８が識別結果の集計と識別結果の出力を行う照合結果集計処理を実行する（Ｓ７０９）。照合結果集計処理についても後述する。なお、上述の選択分類木リスト１３９の例では、この時点でリストに「５」が残っているため、ｔを「５」にセットして上述の処理を繰り返す。そしてｔ＝５に関して一連の処理が終了すると、選択分類木リスト１３９は空になっているため、照合結果集計処理に移行する。
【００５７】
以上が識別処理の処理の大まかな流れとなる。以下、評価値算出処理（Ｓ７０１）、弱分類器選択処理（Ｓ７０２）、辞書照合処理（Ｓ７０７）、そして照合結果集計処理（Ｓ７０９）について、順に詳細に説明する。
【００５８】
（評価値算出処理）
評価値算出処理では、辞書１３５中に格納された複数の分類木（弱分類器）のそれぞれが、入力画像１３７の識別に対してどの程度有効であるかを評価値１３８として算出する処理である。本実施形態で用いる弱分類器は、画像の２点の参照点におけるデータ値（例えば画像の輝度値やエッジ強度）の比較結果を特徴量として画像の分類を行うものである。ロバストな特徴量、すなわち誤差に十分な耐性を有する特徴量を得るためには、わずかなノイズで比較結果が変わってしまわないような２点を参照することが望ましい。したがって、参照する２点のデータ値の差が小さい参照点位置よりは、データ値の差が大きい参照点位置を参照して分類する分類木を用いる方が効果的である。このため、本実施形態では、辞書１３５中の分類木１３４を得るのに用いた複数の参照位置のパターンによって入力画像１３７の輝度値を抽出し、当該参照２点位置間の輝度値差が大きいものほど評価値を高くする処理を行い、分類木の評価値を算出する。分類の際に誤分類の原因になるのは輝度差が小さい参照２点位置であるため、ここでは、最小となる輝度差を分類木の評価値とする例を説明する。
【００５９】
図１１は、本実施形態における評価値算出処理の動作を説明するためのフローチャートである。初めに、辞書１３５の分類木数６０１から分類木の総数を読み出し、変数Ｎｔにセットする（Ｓ９０１）。次に、変数ｔを初期化し、「１」にセットする（Ｓ９０２）。変数ｔは分類木の番号を示す変数である。次に、辞書１３５からｔ番目の分類木１３４の符号ビット数５０２を読み出し、変数Ｎｂにセットする（Ｓ９０３）。なお、符号ビット数５０２は、分類木１３４を生成するのに利用した参照２点の組の数である。次に、ｔ番目の分類木１３４の生成に用いた参照位置のパターンを、分類木１３４の参照２点位置リスト５０３から読み出す（Ｓ９０４）。この参照２点位置リスト５０３は、例えばＳ９０３でセットした変数Ｎｂに従って、メモリ１０６に参照２点位置リスト用の記憶領域を確保して（不図示）、そこに読み出す。
【００６０】
次に、入力画像１３７に対して、Ｓ９０４で読み出した参照２点位置における輝度値差の絶対値をすべて算出し、その最小値を求める（Ｓ９０５）。具体的には、参照２点位置における輝度値Ｌ１及びＬ２を上述の式（１）及び式（２）に基づいて抽出し、輝度値の絶対値を｜Ｌ１−Ｌ２｜として計算する処理を行う。そして、参照２点位置リスト５０３に含まれるすべてのＬ１とＬ２の組において、｜Ｌ１−Ｌ２｜の最小値を算出する。
【００６１】
次に、分類木１３４を示す番号ｔとＳ９０５における算出処理結果である輝度値差最小値とを関連付けて、メモリ１０６の評価値１３８にセットする（Ｓ９０６）。評価値１３８は分類木１３４を示す番号ｔと最小輝度値差の値とのペアのリストになる。辞書１３５中に記録されているすべての分類木に対して上記の処理を行ったかどうかを判定し、すべての分類木による処理結果に対して評価値の算出が行われると（Ｓ９０７でＮｏ）、処理を終了する。
【００６２】
以上のように、本実施形態における評価値算出処理では、最小輝度値差を評価値として用いる。これにより、複数ある分類木のうち、入力画像に対して輝度差が小さくなるような参照位置の組が含まれる参照位置のパターンにより得られたものは、評価値１３８を低く設定することができる。この評価値１３８により、参照位置のパターンごとの、入力画像に対する符号が雑音等により０と１が逆転する可能性を示すことができる。すなわち、入力画像に適した参照位置のパターンを選択することが可能となる。なお、評価値１３８の高い分類木を選択して識別に用いると、当該分類木に対応する参照位置のパターンで入力画像を符号化することとなり、得られる符号が雑音に対する耐性を有する確率が高まる。その結果、識別性能を向上させることが可能となる。
【００６３】
なお、本実施形態では最小輝度値差を評価値としたが、他の評価値を用いてもよい。例えば、参照２点位置での輝度値差絶対値に対する何らかの統計量を評価値にすることも考えられる。たとえばすべての参照２点位置における輝度値差の絶対値の総和を評価値としてもよい。
【００６４】
（弱分類器選択処理）
図１２に、弱分類器選択処理の動作を説明するフローチャートを示す。本実施形態の弱分類器選択処理では、評価値算出処理における評価結果に基づいて、すなわち、例えば、評価値１３８の高いものから１つ以上の一定数だけの、分類木を選択する。初めに、メモリ１０６中の評価値１３８をその値でソートする（Ｓ１００１）。評価値１３８は分類木１３４に対応する番号とその分類木１３４の評価値とのペアのリストであるが、ここでは評価値の値によってソートする。次に、評価値の値でソートされたリストの上位から所定数だけの分類木１３４を示す番号を選択し、選択された番号を選択分類木リスト１３９にセットする（Ｓ１００２）。選択分類木リスト１３９は分類木番号からなるリストである。所定数は、例えば、ユーザが入力装置１０４を用いて入力して設定する。また、評価値の閾値を所定値に別途設定し、その所定値以上の評価値を持つ分類木１３４の番号をすべて、選択分類木リスト１３９に含めてもよい。この場合、例えばユーザが入力装置１０４を用いて所定値を入力する。または、事前に評価のための入力画像データを用意し、誤識別が発生しにくい値を学習し、所定値としてもよい。
【００６５】
以上の処理により、評価値算出処理における評価結果に基づいて、辞書１３５に格納されている複数の分類木１３４のうち、入力画像を分類するのに適した１つ以上の分類木１３４が選ばれると共に、その番号が選択分類木リスト１３９に格納される。
【００６６】
（辞書照合処理）
図１３は、辞書照合処理の動作の流れを説明するフローチャートである。本処理では、処理を開始すると、初期的にＳ７０３で抽出された番号ｔを取得する。そして、与えられた変数ｔに対応する分類木１３４に対して、入力画像から得られた検出用の符号１３２に対応する参照情報種別情報５０６にアクセスする。
【００６７】
具体的には、まず、ｔ番目の分類木に対して検出用の符号１３２に対応する参照情報種別ポインタ５０５を辞書１３５から読み出す（Ｓ１１０１）。変数ｔに対応する分類木１３４の情報は、辞書１３５において、ｔ番目の分類木へのオフセット６０２を用いてアクセスする。また、参照情報種別情報５０６へのアクセスは、図７中の符号５０４の中から検出用の符号１３２とマッチするものを検索し、それに対応する参照情報種別ポインタ５０５を得てアクセスする。
【００６８】
次に、Ｓ１１０１で読み出した参照情報種別ポインタ５０５がＮＵＬＬかどうかを判定する（Ｓ１１０２）。ＮＵＬＬである場合（Ｓ１１０２でＹｅｓ）、この検出用の符号１３２に対する学習画像が学習時に与えられなかったことが分かるため処理を終了する。ＮＵＬＬでない場合（Ｓ１１０２でＮｏ）、Ｓ１１０１で読み出した参照情報種別ポインタを用いて辞書１３５から参照情報個数５０７を読み出し、変数Ｎｐにセットする（Ｓ１１０３）。次に、検出用の符号１３２をキーとして辞書照合をして得られた参照情報識別子に与える識別得点を算出する（Ｓ１１０４）。識別得点の算出方法はさまざまな方法があり得るが、例えば、以下の式（３）によりＰとして算出する。
【００６９】
Ｐ＝ａ／Ｎｐ・・・式（３）
ここで、変数ａは検出用の符号１３２にマッチした参照情報識別子に与えられる総得点で例えば１．０点とし、Ｎｐは検出用の符号１３２にマッチした参照情報種別の個数である。Ｎｐは図７の参照情報個数５０７でありＳ１１０３で辞書から読み出したものである。上記の例は、ａ＝１．０ポイントの得点を、検出用の符号１３２にマッチした複数の参照情報識別子に対して均等な重み付けで分配したものといえる。この分配によれば、同一の検出用の符号１３２に対応する参照情報の数が多く不定性が高いものについては識別得点を低くする。さらに、検出用の符号１３２に対応する参照情報の数が少なく、例えば１つの参照情報のみが対応する場合などで検出用の符号１３２が当該参照情報の特徴を強く示す場合などは、場合は得点を高くする。これにより、複数の参照情報に共通的に現れる特徴が識別性能へ強く影響することを防ぎ、特定の参照情報にのみ現れる特徴が識別性能へ強く影響するようにすることで、識別性能を向上させることができる。
【００７０】
なお、識別得点Ｐの算出は他の方法によって行われてもよい。たとえば、上記変数ａには、辞書照合に使用した分類木の評価値から算出される値を与えてもよい。簡単には、評価値そのものを与えてもよい。そのようにすれば、評価値の高い分類木によって辞書とマッチした識別結果に対して高い得点を付けることが可能になる。そうすることにより、高い評価値を持つ分類木による辞書照合結果をより信頼する識別結果を算出することができる。
【００７１】
次に、Ｎｐ個ある参照情報識別子５０８の順番を表す変数ｉを１にセットする（Ｓ１１０５）。次に、ｉ番目の参照情報識別子５０８を読み出し、Ｓ１１０４で算出した識別得点Ｐとペアにして識別結果リスト１４０としてメモリ１０６に記憶させる（Ｓ１１０６）。識別結果リスト１４０のデータ構造を図１４に示す。識別結果リスト１４０は、参照情報識別子１３０１と、入力画像に対するその識別子に対応する識別得点１３０２がペアで記載されたリストである。ここで、Ｓ１１０４で識別得点が計算された参照情報識別子５０８が識別結果リスト１４０中になかった場合には、識別結果リスト１４０に当該参照情報識別子５０８と識別得点Ｐの組を新規追加する。Ｓ１１０４で識別得点が計算された参照情報識別子５０８がすでに識別結果リスト１４０中に記憶されていた場合には、識別結果リスト１４０中の当該識別子に対応する識別得点にＳ１１０４で計算した識別得点Ｐを加算する。
【００７２】
続いて、変数ｉが変数Ｎｐを超えたかどうかを判定し（Ｓ１１０７）、超えていなければ（Ｓ１１０７でＮｏ）、検出用の符号１３２に辞書照合マッチした参照情報識別子がまだ存在するので、Ｓ１１０８でｉを１加算してＳ９０６に戻る。変数ｉが変数Ｎｐ以上となった場合（Ｓ１１０７でＹｅｓ）、処理を終了する。
【００７３】
以上で、辞書照合処理の動作の説明を終える。図９のＳ７０３からＳ７０７までの繰り返しにおいて、以上説明した辞書照合処理が繰り返し実行される。複数の分類木によって検出用の符号１３２が識別得点化されて参照情報識別子ごとに識別得点として加算され、識別結果リスト１４０に記録される。
【００７４】
（照合結果集計処理）
照合結果集計処理では、辞書照合処理においてメモリ１０６中に格納された識別結果リスト１４０を集計する。処理の一例としては、識別結果リスト１４０を識別得点１３０２の高い順でソートし、識別得点の高い１つ以上の参照情報識別子を図３の出力装置１０３（たとえばＣＲＴ）に表示出力する。
【００７５】
また、他の例として、識別得点１３０２の値に対して別途定めた閾値以上の上位複数を出力してもよいし、識別得点１３０２の分布に応じて適応的に閾値を決めて上位複数を出力してもよいし、最上位の１つだけを出力してもよい。また、識別結果（参照情報識別子）の出力先も、出力装置１０３に限るものではなく、不図示の他の装置や別のプログラムに対する出力としてもよい。以上で、照合結果集計処理についての説明を終える。
【００７６】
上記のような構成により、入力画像１３７に対して有効な参照位置のパターンを選択して、当該参照位置のパターンに対応する分類木を用いて識別を行うことにより、識別のロバスト性を向上できる。
【００７７】
＜＜実施形態２＞＞
実施形態１では、識別対象の参照情報として輝度画像を扱う例を説明したが、本実施形態では距離画像を用いて識別を行う場合について説明する。距離画像は、カメラから撮影対象までの距離を画像として表現したものである。距離画像を生成するための距離計測方法は多数知られており、代表的なものとして光切断法、ステレオ法などがある。
【００７８】
それぞれの距離計測方法において、距離を計測するとともに計測された距離の値の信頼度を距離画像の画素点ごとに定義することが可能である。例えば、特許文献１には、光切断法において、投光したスリット光の反射光の受信レベルの大小によって、距離画像の画素点ごとに距離値の信頼度が算出できることが記載されている。また、特許文献２には、ステレオ法において、複数画像間の対応する小領域の相関の状態を調べることによって、距離画像の画素点ごとに距離値の信頼度が算出できることが記載されている。
【００７９】
実施形態２における処理の流れは、おおむね実施形態１の処理と同じであるが、入力画像として距離画像を取り扱うことと、評価値算出処理で入力データ値の信頼度を用いて算出する点が異なる。以下その２点に関して説明する。
【００８０】
まず、入力画像が距離画像である点について説明する。距離計測装置を用いて距離画像を生成する方法は従来から知られている。本実施形態の構成においては、図１に示す実施形態１の構成のセンサ１０７として、従来技術による距離計測装置を加えることにより、環境の状態を示すデータとして距離画像を取得することができる。また、取り扱う画像としては距離画像を用いることになるが、２次元位置（ｘ、ｙ）でデータ値にアクセスできるという点では輝度画像と同様であり、実施形態１における輝度画像（濃淡画像）と同様に扱ってよい。ただし、図３の学習用画像ファイル１３０、画像１３６、入力画像１３７が距離画像となる。また、実施形態１では、符号化処理において参照２点位置における画素値の比較を行うが、本実施形態２においても距離画像における参照２点位置の画素値（距離画像では距離値になる）を比較して、符号化処理を行う。
【００８１】
また、上述の特許文献１及び２の従来技術によって、入力画像１３７として距離画像を取得する際に、距離画像の各画素（距離値）とその信頼度とを対応づけた信頼度マップを作成することができる。信頼度マップとは、たとえば距離画像の縦横幅と同じサイズで値が距離値の信頼度であるような２次元配列として信頼度値を表現したものである。このマップによって、距離画像上の参照位置が与えられればその参照位置における距離値の信頼度値が得られる。距離値の信頼度マップ（不図示）は、入力画像１３７として距離画像を取得した際に作成し、メモリ１０６に格納しておくものとする。
【００８２】
次に、実施形態２における評価値算出処理について説明する。図１５は実施形態２における評価値算出処理の動作を説明するフローチャートである。
【００８３】
初めに、辞書１３５の分類木数６０１から分類木の総数を読み出し、変数Ｎｔにセットする（Ｓ１２０１）。次に、分類木の番号を示す変数ｔを初期化して「１」に設定する（Ｓ１２０２）。続いて、辞書１３５からｔ番目の分類木１３４の符号ビット数５０２を読み出し、変数Ｎｂにセットする（Ｓ１２０３）。次に、ｔ番目の分類木１３４の参照２点位置リスト５０３を読み出す（Ｓ１２０４）。続いて、メモリ１０６中にある距離値の信頼度マップに対して、Ｓ１２０４で読み出した参照２点位置リスト５０３に含まれるすべての参照位置における信頼度値を読み出し、読み出した信頼度値の中から最小値を抽出する（Ｓ１２０５）。次に、メモリ１０６の評価値１３８に、分類木番号ｔとＳ１２０５で算出した最小信頼度の値とをセットする（Ｓ１２０６）。評価値１３８は分類木の番号ｔと、Ｓ１２０５で算出した最小信頼度の値とのペアのリストになる。続いて、辞書１３５中に記録されているすべての分類木に対して上記の処理を行ったかどうかを判定し（Ｓ１２０７）、すべての分類木に対して評価値の算出が行われれば（Ｓ１２０７でＮｏ）処理を終了する。
【００８４】
なお、本実施形態では、分類木の選択においては参照２点位置における各点の信頼度を参照するのみであり、その比較は行わない。一方、分類処理においては、画素値（距離値）を比較した結果の分類木を用いる。すなわち、信頼度は分類木の選択においてのみ利用される。また、このため、信頼度のデータは入力画像に含まれていればよく、参照情報については、距離値のみを記憶しておいてもよい。
【００８５】
以上により、入力距離画像に対して信頼度値が小さい参照位置を含む参照位置のパターンについて、分類木の評価値を低く設定することができる。上述の例では最小信頼度値を評価値としたが、他の評価値も考えられる。例えば、参照２点位置での信頼度値に対する何らかの統計量を評価値にすることも考えられる。たとえば信頼度値の総和を評価値としてもよい。
【００８６】
なお、本実施形態のような構成では、入力情報の各データ値に対して信頼度が与えられる場合、入力データの信頼度から符号の各桁の信頼度を算出することができる。これにより、信頼度の低い桁については識別に使用しないようにしてもよい。
【００８７】
＜＜実施形態３＞＞
実施形態１では輝度画像に対する処理を、実施形態２では距離画像に対する処理を説明した。本実施形態では、入力情報として複数のセンサによる複数種類のデータが同時に得られる場合の処理について説明する。
【００８８】
図１９は、本実施形態における情報処理装置の機能構成を表すブロック図である。実施形態１に係る図１と比して、第２センサ１０８が追加されている点が異なる。これらのセンサは、例えば、センサ１０７が実施形態１で説明したような輝度画像を撮影するカメラであり、第２センサ１０８が実施形態２で説明したような距離画像を撮影する距離計測装置である。なお、ここではセンサが２種類ある場合の説明をするが、センサを３つ以上含む構成でも同様である。
【００８９】
識別対象の情報は、ある物体を通常のカメラによって撮影した輝度画像と、同じ物体を距離計測装置によって計測して得た距離画像の２種類のデータからなるとする。すなわち、図１９における学習用画像ファイル１３０、画像１３６、入力画像１３７は、輝度画像とそれに対応する距離画像とがペアで格納されているとする。なお、本実施形態では、説明を簡単にするため輝度画像と距離画像の画像サイズは同じであるとする。
【００９０】
まず、本実施形態における弱分類器設定処理の動作に関し、実施形態１との相違点について、図４を用いて説明する。Ｓ２０３で参照２点位置リストを生成する際、本実施形態では参照２点位置それぞれについてデータ種別を定める。どの参照２点位置がどちらのデータ種別を参照するかの方法については特に制限はなく、ランダムに決めてもよいし、それぞれのデータの状態に応じて決めてもよい。本実施形態における参照２点位置リスト１３１の例を図１６に示す。図１６のｄ（１）〜ｄ（Ｎｂ）はデータ種別を表す。本実施形態ではデータ種別は輝度画像か距離画像かの２種類であるため、データ種別は１ビットで表すことができる。例えば輝度画像なら０、距離画像なら１、などとする。また、本実施形態におけるメモリ１０６中の分類木１３４のデータ構造は、図７の参照２点位置リスト５０３の部分が図１６に示した参照２点位置リスト１３１と同様となる。すなわち、参照２点位置リスト５０３の参照２点位置のそれぞれに、データ種別をあらわすデータが記録される。なお、本実施形態では、図４のＳ２０６で学習用の画像をロードする際、複数の種別のデータをすべてロードする。すなわち、輝度画像も距離画像もロードし、アクセスできるようにする。
【００９１】
次に、本実施形態における符号化処理について、図１７を用いて説明する。図１７の各ステップは、Ｓ１５０２にあたる処理以外は図１０におけるＳ８０１〜Ｓ８０６と同様であるため、Ｓ１５０２以外のステップについては説明を省略する。Ｓ１５０２では、メモリ１０６中に格納されている参照２点位置リスト１３１に記載されているデータ種別（図１６参照）に従って画素を参照する。たとえばＮ番目の参照２点位置のデータ種別ｄ（Ｎ）が０なら輝度画像のデータ値を、１なら距離画像のデータ値を、参照２点位置にしたがってアクセスする。
【００９２】
次に、本実施形態における識別処理について、実施形態１との相違点を図７を用いて説明する。本実施形態では、図９のＳ７０５において、辞書から参照２点位置を読み出す際に図１６に示したデータ種別も読み出し、メモリ１０６中の参照２点位置リスト１３１に格納する。Ｓ７０６では、本実施形態における符号化処理に基づいて符号化を実行する。すなわち、参照２点位置に設定されたデータ種別に従ってデータにアクセスし、その値に従って符号を生成する。これは本実施形態における符号化処理の説明で述べたとおりである。
【００９３】
次に、本実施形態における評価値算出処理について説明する。本実施形態では、扱うデータ種別が２つあるので、２つの評価値算出方法を備え、参照先のデータ種別に応じて評価値算出基準を切り替えることを特徴としている。本実施形態で説明する例では輝度値データと距離値データを扱うので、実施形態１で説明した輝度値差の絶対値を基準とした評価値と、実施形態２で説明した距離値の信頼度値を基準とした評価値を使うこととする。なお、以下の説明を簡単にするために、輝度画像における輝度値差の絶対値、及び、距離画像における距離値の信頼度値は、どちらも値域が同じ（最大・最小値が同じ）であり、互いに値が比較できるものとしている。
【００９４】
図１８は、実施形態３における評価値算出処理の動作を説明するフローチャートである。これは実施形態１における評価値算出処理の動作を説明したフローチャート図１１と類似のものである。Ｓ１６０１からＳ１６０３までは図１１におけるＳ９０１からＳ９０３における処理と同様であるため、説明を省略する。
【００９５】
Ｓ１６０４では、図１１のＳ９０４と同様に、ｔ番目の分類木の参照２点位置を読み出す。ただし、本実施形態においては、辞書の参照２点位置リストにはデータ種別を示すデータも格納されている。参照２点位置リスト５０３のデータ構造は図１６に示す通りである。すなわち、ここでは参照２点の位置に加えてそのデータ種別も読み出される。
【００９６】
次に、入力画像１３７に対して、Ｓ１６０４で読み出した参照２点位置のうち、データ種別が輝度画像と設定されている全ての参照２点位置について、輝度画像にアクセスして輝度値差の絶対値を算出し、その最小値を求める（Ｓ１６０５）。続いて、入力画像１３７に対して、Ｓ１６０４で読み出した参照２点位置のうち、データ種別が距離画像と設定されている全ての参照２点位置について、信頼度マップ（不図示）にアクセスし、信頼度値を得て、その最小値を求める（Ｓ１６０６）。
【００９７】
次に、Ｓ１６０５およびＳ１６０６で算出した最小輝度差および最小信頼度値のうちの小さいほうを、分類木番号ｔとともに、メモリ１０６の評価値１３８にセットする（Ｓ１６０７）。前述したように、ここでは説明を簡単にするために輝度値差と信頼度値を直接比較しているが、双方の値に何らかの重みを付けて比較してもよい。本実施形態では双方の評価値の優劣を比較するための方法は限定しない。続いて、辞書１３５中に記録されているすべての分類木に対して上記の処理を行ったかどうかを判定し（Ｓ１６０８）、すべての分類木に対して評価値の算出が行われれば（Ｓ１６０８でＮｏ）、処理を終了する。
【００９８】
ここで説明した以外の処理については、実施形態１と同様である。以上、第３の実施形態について説明した。なお、図４のＳ２０３で参照２点位置リストを生成する際、参照２点位置それぞれについてデータ種別を定めたが、一つの分類木に設定する参照２点位置はすべて同じデータ種別に設定してもよい。分類木ごとに使用するデータ種別を分けることで、どちらか一方のデータ種別を使った分類が難しいような入力データに対しても、もう一方のデータ種別だけを用いて精度よく分類を行うことができる。本実施形態によれば、例えば、距離値の信頼度が低い領域が多い入力データに対しては距離画像ではなく輝度画像で分類する分類木が自動的に多く使われてもよい。輝度画像のコントラストが低く輝度差がある領域が少ない場合には輝度画像ではなく距離画像による分類木が自動的に多く選ばれてもよい。
【００９９】
本実施形態の特徴は、データ種別ごとの入力データだけを評価して使用するデータ種別を決定するのではなく、入力データの種別とそれに対する分類木の参照位置の組み合わせで分類木を評価している点である。たとえば、距離画像として距離値信頼度の高い部分が少ない、いわば総じて質の良くない距離データが入力された場合でも、距離画像に対する参照２点位置での距離値信頼度が高い分類木であれば距離画像に対する分類木も選ばれうる。その点で、距離画像全体の信頼度だけを評価して距離画像を使うかどうか判定するような処理とは異なる。
【０１００】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005841418.tif 000002
【図２】
0005841418.tif 000003
【図３】
0005841418.tif 000004
【図４】
0005841418.tif 000005
【図５】
0005841418.tif 000006
【図６】
0005841418.tif 000007
【図７】
0005841418.tif 000008
【図８】
0005841418.tif 000009
【図９】
0005841418.tif 000010
【図１０】
0005841418.tif 000011
【図１１】
0005841418.tif 000012
【図１２】
0005841418.tif 000013
【図１３】
0005841418.tif 000014
【図１４】
0005841418.tif 000015
【図１５】
0005841418.tif 000016
【図１６】
0005841418.tif 000017
【図１７】
0005841418.tif 000018
【図１８】
0005841418.tif 000019
【図１９】
0005841418.tif 000020