(57)【特許請求の範囲】
【請求項１】
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択手段と、
前記複数の特定領域の夫々に関する検出器を生成する生成手段と、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する領域組生成手段と、
前記検出器に基づいて、前記複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより前記領域組を認識して、前記対象物体の認識を行う認識手段と、
前記複数の視点のうちから、前記選択手段によって選択された特定領域が検出されなかった視点を決定する決定手段と、
前記決定手段により決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択手段によって選択された特定領域以外の領域から、新規の特定領域を追加する追加手段とを有し、
前記生成手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とする特定領域選択装置。
【請求項２】
前記認識手段の認識結果に基づいて、前記選択手段により選択された前記特定領域又は前記追加手段により追加された前記新規の特定領域から不要な特定領域を削除する削除手段を更に有することを特徴とする請求項１に記載の特定領域選択装置。
【請求項３】
前記削除手段は、前記認識手段の認識結果として前記対象物体の誤認識が発生した視点に関して、前記認識手段の認識処理における投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項２に記載の特定領域選択装置。
【請求項４】
前記削除手段は、前記認識手段の認識結果から前記特定領域夫々の複数の視点に関する評価値を算出し、前記評価値に基づいて不要な特定領域を削除することを特徴とする請求項２に記載の特定領域選択装置。
【請求項５】
前記削除手段は、前記認識手段の認識結果から各領域組の複数の視点に関する投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項２に記載の特定領域選択装置。
【請求項６】
前記特定領域とは、三次元モデルとして得られている前記対象物体上の設定されたサイズの局所領域であることを特徴とする請求項１又は２に記載の特定領域選択装置。
【請求項７】
前記認識手段は、前記検出器により前記対象物体の画像情報及び三次元情報のうちの少なくとも何れか一つを含む入力情報から前記対象物体の特定領域を検出し、検出された複数の特定領域の組み合わせから領域組を検出し、前記領域組について認識処理を行い、その認識結果を統合することにより、前記対象物体を認識することを特徴とする請求項１乃至６の何れか１項に記載の特定領域選択装置。
【請求項８】
前記選択手段は、所定の視点において可視である三次元モデル上の複数の局所領域を特定領域として選択することを特徴とする請求項１乃至７の何れか１項に記載の特定領域選択装置。
【請求項９】
前記生成手段は、前記選択手段により選択された複数の特定領域に関して、前記複数の特定領域の夫々に関する検出器を学習データから学習し、生成することを特徴とする請求項１乃至８の何れか１項に記載の特定領域選択装置。
【請求項１０】
前記生成手段は、前記追加手段により追加された特定領域に関して、前記特定領域に関する検出器を学習データから学習し、生成することを特徴とする請求項１乃至９の何れか１項に記載の特定領域選択装置。
【請求項１１】
前記認識手段は、前記検出器及び前記領域組を用いて認識処理を行うことにより、学習データに対する認識結果を得ることを特徴とする請求項７乃至１０の何れか１項に記載の特定領域選択装置。
【請求項１２】
前記複数の視点とは、測地ドーム近似された視点であることを特徴とする請求項１乃至１１の何れか１項に記載の特定領域選択装置。
【請求項１３】
前記複数の視点とは、前記対象物体の配置条件による姿勢に関する事前分布に従って得られた視点であることを特徴とする請求項１乃至１１の何れか１項に記載の特定領域選択装置。
【請求項１４】
前記認識手段は、前記対象物体の位置及び姿勢のうちの少なくとも何れか一方を認識することを特徴とする請求項１乃至１３の何れか１項に記載の特定領域選択装置。
【請求項１５】
前記学習データは、前記対象物体に係る三次元モデルから得られた画像情報及び三次元情報のうちの少なくとも何れか一つを含むことを特徴とする請求項１乃至１３の何れか１項に記載の特定領域選択装置。
【請求項１６】
特定領域選択装置によって実行される特定領域選択方法であって、
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出器を生成する生成ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する領域組生成ステップと、
前記検出器に基づいて、前記複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより前記領域組を認識して、前記対象物体の認識を行う認識ステップと、
前記複数の視点のうちから、前記選択ステップによってされた特定領域が検出されなかった視点を決定する決定ステップと、
前記決定ステップにより決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択ステップによって選択された特定領域以外の領域から、新規の特定領域を追加する追加ステップとを含み、
前記生成ステップでは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とする特定領域選択方法。
【請求項１７】
コンピュータに、
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出器を生成する生成ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する領域組生成ステップと、
前記検出器に基づいて、前記複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより前記領域組を認識して、前記対象物体の認識を行う認識ステップと、
前記複数の視点のうちから、前記選択ステップによってされた特定領域が検出されなかった視点を決定する決定ステップと、
前記決定ステップにより決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択ステップによって選択された特定領域以外の領域から、新規の特定領域を追加する追加ステップとを実行させ、
前記生成ステップでは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とするプログラム。
【請求項１８】
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択手段と、
前記選択手段により選択された特定領域を検出する検出器を生成する生成手段と、
前記検出器に基づいて、複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより、前記対象物体の認識を行う認識手段と、
前記複数の視点のうちから、前記選択手段によって選択された特定領域が検出されなかった視点を決定する決定手段と、
前記決定手段により決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択手段によって選択された特定領域以外の領域から、新規の特定領域を追加する追加手段とを有し、
前記生成手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とする特定領域選択装置。
【請求項１９】
特定領域選択装置によって実行される特定領域選択方法であって、
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択ステップと、
前記選択ステップにより選択された特定領域を検出する検出器を生成する生成ステップと、
前記検出器に基づいて、複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより、前記対象物体の認識を行う認識ステップと、
前記複数の視点のうちから、前記選択ステップによって選択された特定領域が検出されなかった視点を決定する決定ステップと、
前記決定ステップにより決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択ステップによって選択された特定領域以外の領域から、新規の特定領域を追加する追加ステップとを含み、
前記生成ステップでは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とする特定領域選択方法。
【請求項２０】
コンピュータに、
複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択ステップと、
前記選択ステップにより選択された特定領域を検出する検出器を生成する生成ステップと、
前記検出器に基づいて、複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより、前記対象物体の認識を行う認識ステップと、
前記複数の視点のうちから、前記選択ステップによって選択された特定領域が検出されなかった視点を決定する決定ステップと、
前記決定ステップにより決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択ステップによって選択された特定領域以外の領域から、新規の特定領域を追加する追加ステップとを実行させ、
前記生成ステップでは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体の位置及び姿勢を推定するための技術に関するものである。
【背景技術】
【０００２】
視覚情報を使った認識の分野において、物体の三次元的な位置や姿勢を推定する問題に関して、様々な研究開発が行われている。産業用ロボットや実験的なヒューマノイドロボット等の分野では、ランダムピッキング等の用途で三次元情報を利用することも多く、その必要性は高くなってきている。対象物体の位置や姿勢に関する三次元情報を得るには、ステレオカメラやレーザレンジファインダ等の三次元センサを用いる方法もある。既知の形状の対象物体に関しては、単眼カメラによる対象物体の位置及び姿勢の推定も行われている。単眼カメラからの撮影画像を用いて対象物体の三次元的な位置及び姿勢を推定する方法が特許文献１に開示されている。即ち、特許文献１には、学習画像における特徴点とその三次元座標を持っておき、入力画像から得られた特徴点と合致する学習画像における特徴点の三次元座標から、変換行列を誤差最小化する最適化計算で算出し、得られた変換行列を用いてモデルから画像を生成し、生成された画像から推定姿勢を修正して最終的な姿勢を得る技術が開示されている。特許文献２にも同様にして入力画像上で得られた特徴点のうち三点を使うことで、変換行列を求める技術が開示されている。
【０００３】
特許文献３には、多視点から撮影された画像を学習画像とし、各々の学習画像における局所特徴量と入力画像から得られた局所特徴量とを比較し、最も類似する学習画像における視点情報を入力画像における姿勢として出力する技術が開示されている。特許文献４には、距離センサを用いた物体の三次元位置姿勢推定を行う技術が開示されている。即ち、本従来例では、入力データにおける三次元特徴量を算出し、モデル上の複数の特徴点に関する三次元特徴量との対応関係を得ることで、剛体変換を用いて物体の位置及び姿勢を算出する。この際、複数の特徴点を選ぶにあたり、物体の裏表等に関する運用上の拘束条件と、特徴量のクラスタリング結果によるクラスの混ざり方から、検出時に有効な点を選択している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−６３５６７号公報
【特許文献２】特開２００２−１０９５３９号公報
【特許文献３】特開２００７−２１９７６５号公報
【特許文献４】特開２００９−１２８０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び特許文献２に開示される技術では、特徴点の選択は、例えば人物の場合は目や口等、人手によって意図的に選択されている。そのため、特許文献１及び特許文献２では、後段の三次元位置姿勢推定処理において最も有用な学習画像における特徴点はどれか、という点に関して言及していない。
【０００６】
特許文献３に開示される技術は、基本的に全ての姿勢を別のクラスとして識別する方法であるため、得られる解は離散的である。そのため、学習画像の獲得時における視点変更の角度分解能が識別システムの角度分解能となり、解の精度を上げるために撮影角度分解能を上げていくと別姿勢における類似画像が多くなるために姿勢判別が難しくなる。
【０００７】
特許文献４に開示される技術では、モデル上の有用な特徴点を特徴量のクラスタリング結果から選択しているが、有用な特徴点が視点によって偏る可能性に関して言及しておらず、一部の視点から可視な特徴点が集中して選択されてしまう可能性がある。
【０００８】
そこで、本発明の目的は、有用な特定領域を、視点における偏りがないように選択することにある。
【課題を解決するための手段】
【０００９】
本発明の特定領域選択装置は、複数の視点夫々に対して、対象物体上に特定領域を複数選択する選択手段と、前記複数の特定領域の夫々に関する検出器を生成する生成手段と、前記複数の特定領域から特定領域の組み合わせによる領域組を生成する領域組生成手段と、前記検出器に基づいて、前記複数の視点夫々から前記対象物体を観察した場合の学習データ夫々に対して前記特定領域を検出することにより前記領域組を認識して、前記対象物体の認識を行う認識手段と、前記複数の視点のうちから、前記選択手段によって選択された特定領域が検出されなかった視点を決定する決定手段と、前記決定手段により決定された前記対象物体が認識できなかった視点から見える前記対象物体上の領域から、前記選択手段によって選択された特定領域以外の領域から、新規の特定領域を追加する追加手段とを有し、前記生成手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出器を更に生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、有用な特定領域を、視点における偏りがないように選択することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。
【図２】本発明の実施形態に係る特定領域選択システムの具体的な装置の構成例を示す図である。
【図３】本発明の実施形態に係る特定領域選択システムの処理を示すフローチャートである。
【図４】本発明の実施形態における認識処理を説明するための図である。
【図５】本発明の実施形態における学習処理の流れを示すフローチャートである。
【図６】本発明の実施形態における学習処理を説明するための図である。
【図７】ステップＳ２４００の特定領域選択工程の処理をさらに詳細に示すフローチャートである。
【図８】特定領域のモデル座標系の位置を算出する方法と追加する特定領域の選択方法とを説明するための図である。
【図９】ステップＳ２４２０の特定領域検出器学習工程の詳細を示すフローチャートである。
【図１０】本発明の実施形態における特定領域選択工程（Ｓ２４００）の詳細な処理を示すフローチャートである。
【図１１】本発明の実施形態における特定領域選択工程（Ｓ２４００）の詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
本発明の第１の実施形態について説明する。図１は、本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。先ず、本実施形態に係る特定領域選択システムの概要について説明する。
【００１４】
撮像部３００によって得られた画像データは座標対応算出部４００に送られる。座標対応算出部４００は、当該画像データと三次元モデル記憶部６００にて記憶されている三次元モデルとの各点の対応関係を算出する。学習装置２００は、画像データと三次元モデルとの対応関係を用いて後述する学習処理を行い、得られた学習結果を学習パラメータ記憶部７００に記憶する。
【００１５】
撮像部３００から得られた画像データは認識装置１００にも送られる。認識装置１００は、学習パラメータ記憶部７００に記憶された学習結果に従って画像データに対する認識処理を行うことにより、認識処理結果を得る。ここで本実施形態における認識処理とは、撮像部３００より得られた画像データから三次元物体の位置及び姿勢を求める、即ち三次元物体の位置及び姿勢の推定処理である。
【００１６】
図２は、特定領域選択システムの具体的な装置の構成例を示す図である。
図２において、Ａ５００は三次元物体である。Ａ３００は三次元物体Ａ５００を載せるためのステージ、Ａ１００は三次元物体Ａ５００を撮影し、画像データを取得するためのカメラである。Ａ１１０は、カメラＡ１００と連動して、光切断によって三次元物体Ａ５００の距離マップデータを得るために、ガルバノミラー等で稼動するレーザ投光器である。カメラＡ１００及びレーザ投光器Ａ１１０は、図１における撮像部３００に相当する。カメラＡ１００及びレーザ投光器Ａ１１０は、光切断による距離測定を行うための校正が行われているものとする。ここで、認識処理を行うための装置構成として光切断による距離測定を前提としたが、距離測定手法は光切断に限らない。レーザ投光器Ａ１１０の替わりにプロジェクタを用いた空間コード化、若しくは複数のカメラを用いたステレオ計測等、様々な手法が考えられることは周知のとおりであり、どのような距離測定手法にも限定されるものではない。また、後述のように本手法は必ずしも三次元物体の距離情報を必要とするものではなく、カメラ一台による単眼の撮像系による装置構成も可能である。Ａ２００は、三次元物体の認識処理を行うための計算機であり、図１における認識装置１００に相当する。また、後述する学習処理による学習結果は計算機Ａ２００の図示しない内部メモリに格納されており、これは図１における学習パラメータ記憶部７００に相当する。認識処理を行う計算機はこの例のようなカメラＡ１００と独立した装置に限定されるものではなく、例えばカメラＡ１００に計算機Ａ２００の機能を搭載することによってカメラ自体が認識処理を行う構成でもよい。なお、図２に示す構成は、本実施形態に適用可能な一構成例であり、この構成例に限定されるものではない。
【００１７】
図３は、本実施形態における特定領域選択システムの処理を示すフローチャートである。以下、図３を参照しながら、特定領域選択システムの処理について説明する。
【００１８】
先ずステップＳ１０１０の入力情報取得工程において、計算機Ａ２００は、カメラＡ１００及びレーザ投光器Ａ１１０によって画像データＩと距離マップデータＺｍａｐとを取得する。距離マップデータＺｍａｐは、画像データＩ上の画像座標点ｘに対応した位置のカメラ座標系奥行き距離がＺｍａｐ（ｘ）として得られるものである。距離マップデータの算出に関しては既存の三角測量法等で得られるため、ここでは特に説明しない。距離マップデータＺｍａｐと距離測定の校正値から、カメラ座標系におけるＸ座標及びＹ座標のマップも算出することができ、これらのマップをＸｍａｐ、Ｙｍａｐとする。
【００１９】
続くステップＳ１０２０の特定領域検出工程において、計算機Ａ２００は、後述する学習処理によって三次元物体上の特定領域を検出する。ここで特定領域とは、三次元モデルとして得られている対象物体（三次元物体）上の所定サイズの局所領域であり、例えば図４（ａ）に示す三次元物体Ａ５１０において、Ａ５１１−１〜Ａ５１１−Ｍのように三次元物体Ａ５１０上の特定の位置を意味している。ここでＭは特定領域の総数である。これらの特定領域は、それぞれモデル座標系における位置情報を持っており、特定領域ｉのモデル座標系の位置情報をＸmi＝［Ｘmi，Ｙmi，Ｚmi］Tとする。ここでＴは行列の転置を表す。
【００２０】
計算機Ａ２００は、図４（ｂ）に示すように、画像データＩに対してラスタスキャンし、注目位置ｘsを中心とした部分画像を抽出し、その部分画像において抽出された特徴量を用いて特定領域を検出する。部分画像の切り出しサイズｒは、次の式１のように、予め決められたモデル座標系における固定サイズＲと注目位置ｘsの奥行き距離とから算出される。
【００２１】
【数１】
0005800494.tif 000002
【００２２】
ここでδ及びｆはカメラパラメータである。δはカメラの画素サイズ、ｆはカメラの焦点距離である。例えば切り出しサイズがＲ＝２０ｍｍと設定されているとき、ｆ＝２４ｍｍ、δ＝０．０３ｍｍ／ｐｉｘｅｌのカメラにてＺｍａｐ（ｘs）＝８００ｍｍであれば、ｒ＝２０ｐｉｘｅｌである。そのため、２０ｐｉｘｅｌ×２０ｐｉｘｅｌの領域を切り出せばよい。特徴量としては様々なもの、例えば公知技術であるＨＯＧ（Histograms of Oriented Gradients）のようなものが考えられるが、本発明は特徴量の種類に限定されるものではない。また、特徴量はＨＯＧのような画像特徴量に限定されるものではなく、例えば同様に公知技術であるＳｐｉｎ Ｉｍａｇｅのような、画像データＩの代わりにＸｍａｐ、Ｙｍａｐ、Ｚｍａｐを使った三次元情報を用いた三次元特徴量でもよい。
【００２３】
特定領域ｉに対する画像探索結果によって検出された検出領域の集合をＡi＝｛ｘi1，ｘi2，・・・，ｘiNi｝とする。ここでｘilは特定領域ｉについて検出されたｌ番目の検出領域の画像上の位置であって、画像座標系上の点である。Ｎiは、特定領域ｉについて検出された検出領域の総数である。また、各検出領域ｘilのカメラ座標系の位置は、Ｘil＝［Ｘil，Ｙil，Ｚil］＝［Ｘｍａｐ（ｘil），Ｙｍａｐ（ｘil），Ｚｍａｐ（ｘil）］として得ることができる。
【００２４】
ステップＳ１０３０の領域組検出工程において、計算機Ａ２００は、ステップＳ１０２０で検出された特定領域に対して、予め定義された特定領域の組み合わせによる領域組を検出する。ここで領域組とは、三次元物体の位置及び姿勢を推定するために必要な特定領域の組み合わせであり、後述する学習処理にて予め定義されているものとする。距離計測等によって各特定領域のカメラ座標系の位置を求める場合には、位置及び姿勢を決定するために最低限三点のカメラ座標系における位置がわかればよい。ここでは三つの特定領域の組から位置及び姿勢を推定することとし、以降この三つの特定領域による領域組をトリプレットと呼ぶこととするが、上記のように領域組は三点で構成されることに限定されるわけではない。トリプレットとして予め定義されたＴ個のそれぞれの領域組に対して、領域組ｔを構成する特定領域を、ｔ１、ｔ２及びｔ３とする（図４（ｃ））。ここでｔ１、ｔ２、ｔ３は前述したＭ個の特定領域のいずれかである。また、それぞれの特定領域は複数の領域組に属していてもよい。領域組ｔの構成要素である特定領域が特定領域検出工程（Ｓ１０２０）で検出されていた場合、それら特定領域の相対的位置関係が幾何拘束条件を満たしているかどうかを以下のようにして判定する。特定領域ｔ１及び特定領域ｔ２についての検出結果Ａt1及びＡt2における任意の検出領域のカメラ座標値Ｘt1n1及びＸt2n2に関して式２が満たされるとき、Ｘt1n1とＸt2n2の距離関係は正しいとする。
【００２５】
【数２】
0005800494.tif 000003
【００２６】
ここで関数Ｌ（Ｘ1，Ｘ2）は位置ベクトルＸ1及びＸ2のＬ２距離を表す関数とする。δＬt1t2は、特定領域ｔ１及びｔ２の距離に関する許容誤差であって、三次元物体のサイズや画像解像度に依存するパラメータである。例えば、所定の作業距離における画像解像度が１ｍｍ／ｐｉｘｅｌであった場合に１０ｐｉｘｅｌの検出誤差を許容するなら、δＬt1t2＝１０ｍｍとすればよい。さらに特定領域ｔ２と特定領域ｔ３との距離関係も同様にして判定する。いずれも距離関係が正しいと判断された場合には、それら二辺の成す角に関して式３を満たすとき、特定領域ｔ１ｎ１、ｔ２ｎ２、ｔ３ｎ３から成る領域組は幾何拘束を満たすものとし、これを検出領域組とする。
【００２７】
【数３】
0005800494.tif 000004
【００２８】
ここでθtn1n2n3は、ベクトルＸt1n1−Ｘt2n2とベクトルＸt3n3−Ｘt2n2との成す角、θmtは、ベクトルＸmt1−Ｘmt2とベクトルＸmt3−Ｘmt2との成す角である。δθtは、領域組ｔにおける二辺の成す角に関する許容誤差であって、例えばδθt＝１５ｄｅｇなどと定義する。これらの幾何拘束を満たさなかった場合は領域組ｔを非検出領域組とし、以降の処理には利用しない。この幾何拘束判定により、例えば図４（ｄ）のように特定領域の誤検出が発生しても、領域組を構成する他の特定領域における検出位置との相対位置関係から、検出領域組か非検出領域組かの判断をすることができる。このような幾何拘束判定をＴ個の領域組を構成する特定領域に関して全て行うことで、画像データＩにおける三次元物体の位置及び姿勢を推定するために有効な検出領域組を絞りこむことができる。
【００２９】
ステップＳ１１００の統合工程において、計算機Ａ２００は、各検出領域組における位置及び姿勢の推定結果を算出し、その結果を統合することで認識結果を得る。統合工程Ｓ１１００は、領域組位置姿勢推定工程Ｓ１０４０、投票工程Ｓ１０５０及び位置姿勢推定工程Ｓ１０６０に細分される。領域組位置姿勢推定工程Ｓ１０４０では、領域組検出工程Ｓ１０３０にて絞り込まれた検出領域組における三次元物体の位置及び姿勢が推定される。三次元物体の位置及び姿勢は、図４（ｅ）に示すように、三次元物体をモデル座標系とカメラ座標系とが一致している状態から観測状態へと平行移動及び単回転させたときの平行移動ベクトル、単回転軸及び単回転角で表現されるものとする。
【００３０】
検出領域組から推定される三次元物体の位置を平行移動ベクトルＴk、姿勢を単回転軸Ｎk及び単回転角Ｂkで表す。ここでＮkは、Ｎk＝［ｎX，ｎY，ｎZ］Tで表される長さ１の正規化ベクトルである。このとき、Ｒkを、Ｎk及びＢkで得られる回転変換であるとすれば、式４のように、三次元モデル上の任意の点Ｘmは、上記位置姿勢パラメータＴk、Ｎk及びＢkによって以下の位置に移動することになる。
【００３１】
【数４】
0005800494.tif 000005
【００３２】
検出領域組ｋを構成する特定領域をｋ１，・・・，ｋｕ，・・・，ｋＮkとする。ここでＮkは検出領域組ｋを構成する特定領域の数で、領域組がトリプレットとして定義されているならばＮk＝３である。検出領域組ｋの位置姿勢推定問題は、式５の関数の最小化問題となる。
【００３３】
【数５】
0005800494.tif 000006
【００３４】
但し、Ｘkuは、検出領域組ｋにおける特定領域ｋｕのカメラ座標系の位置である。また、Ｘ´kuは、特定領域ｋｕのモデル座標系の位置Ｘmkuが式４に従って変換されたときの変換後のカメラ座標系の位置である。回転変換Ｒkの四元数表現ｑと平行移動Ｔkの要素をそれぞれｑ＝（ｑ0，ｑ1，ｑ2，ｑ3）、Ｔk＝［ｑ4，ｑ5，ｑ6］Tとする。このとき、検出領域組ｋの各特定領域の重心の位置μと、検出領域組ｋの各特定領域の重心の移動後の位置μ´は、それぞれ以下の式６、式７のようにして得られる。
【００３５】
【数６】
0005800494.tif 000007
【００３６】
検出領域組ｋの各特定領域の重心の位置μと、検出領域組ｋの各特定領域の重心の移動後の位置μ´との共分散行列Ｓkは、式８のようにして求められる。
【００３７】
【数７】
0005800494.tif 000008
【００３８】
ここでＳkの循環要素をＡij＝（Ｓk−ＳkT）ijとしたときに列ベクトルΔ＝［Ａ23，Ａ32，Ａ12］Tを定義する。これを使って表される式９のような対称行列Ｑ（Ｓk）の固有値解析によって得られた最大固有値に対応する固有ベクトルは、回転変換Ｒの四元数表現ｑの要素列（ｑ0，ｑ1，ｑ2，ｑ3）の最適解となることが以下の文献１にて知られている。
文献１：Ｐ．Ｊ．Ｂｅｓｌ ａｎｄ Ｎ．Ｄ．ＭｃＫａｙ，“Ａ Ｍｅｔｈｏｄ ｆｏｒ Ｒｅｃｏｇｎｉｔｉｏｎ ｏｆ ３−Ｄ Ｓｈａｐｅｓ”，ＩＥＥＥ Ｔｒａｎｓ．ＰＡＭＩ，Ｖｏｌ．１４，Ｎｏ．２，１９９２．
【００３９】
【数８】
0005800494.tif 000009
【００４０】
ここでＩ3×3は、３×３単位行列である。回転変換Ｒの四元数表現である四元数ｑは、単回転軸Ｎk及び単回転角Ｂkとの間に式１０に示す関係があるため、Ｎk及びＢkの値が求まる。
【００４１】
【数９】
0005800494.tif 000010
【００４２】
また、検出領域組ｋにおける三次元物体の位置を表す平行移動ベクトルＴkの最適解は、式１１のようにして得られる。
【００４３】
【数１０】
0005800494.tif 000011
【００４４】
但し、μmは検出領域組ｋを構成する特定領域のモデル座標系の重心であって、式１２のようにして得られる。
【００４５】
【数１１】
0005800494.tif 000012
【００４６】
ステップＳ１０５０の投票工程では、計算機Ａ２００は、ステップＳ１０４０で推定された各検出領域組における位置及び姿勢の投票空間に確率投票を行う。投票の方法としては、いくつかの方法が考えられる。例えば、位置パラメータＸ及び姿勢パラメータ（Ｎ，Ｂ）に関する投票空間を所定の間隔のビンに分割して、ステップＳ１０４０の領域組位置姿勢推定工程にて得られた位置パラメータＸk、姿勢パラメータＮk及びＢkの含まれるビンに投票する、といった方法でもよい。或いは、位置パラメータＸ、姿勢パラメータＮ及びＢに関するパラメータ空間に対して、位置パラメータＸk、姿勢パラメータＮk及びＢkを中心としたガウシアン等で近似した確率投票としてもよい。位置パラメータＸ、姿勢パラメータ（Ｎ、Ｂ）のビンへの投票数、或いは各検出領域組による確率投票値の累積確率を求め、位置パラメータＸ、姿勢パラメータ（Ｎ、Ｂ）における検出領域組の位置姿勢累積投票値Ｐ（Ｘ，Ｎ，Ｂ）とする。各検出領域組からの投票には、ステップＳ１０２０の特定領域検出工程にて得られる検出重みを用いて重み付けを行ってもよい。例えば、検出領域組ｋを構成する特定領域ｋ１，・・・，ｋｎそれぞれについて得られた検出重みがｗk1，・・・，ｗknであったとしたとき、η＝ｗk1×・・・×ｗknを算出し、ビンに対する投票値に乗ずる、等としてもよい。
【００４７】
最後にステップＳ１０６０の対象物体位置姿勢推定工程において、計算機Ａ２００は、各検出領域組の集計結果である位置姿勢累積確率Ｐ（Ｘ，Ｎ，Ｂ）から三次元物体の位置及び姿勢の推定値を算出する。具体的には、計算機Ａ２００は、Ｐ（Ｘ，Ｎ，Ｂ）が極大となる位置Ｘ、姿勢Ｎ、Ｂを求め、そのときのＰ（Ｘ，Ｎ，Ｂ）の値が閾値Θ以上であるときに、その位置Ｘ、姿勢Ｎ、Ｂを三次元物体の推定位置及び推定姿勢であるとする。閾値Θは位置姿勢累積確率Ｐ（Ｘ，Ｎ，Ｂ）に関する下限値である。閾値Θの値は大きいほど領域組投票数が必要となり、小さいほど誤検出が発生する可能性が高くなる。Θ＝０．２等と固定してもよいし、後述するようにステップＳ２３４０の評価工程にて調節してもよい。
【００４８】
ここで、位置姿勢探索空間全体に対して位置姿勢累積確率Ｐ（Ｘ，Ｎ，Ｂ）を算出して極大点を検出することは計算コスト的に困難である。そのため、ステップＳ１０５０の投票工程において、計算機Ａ２００は、各検出領域組の推定位置及び推定姿勢に関してのみ位置姿勢累積確率Ｐ（Ｘ，Ｎ，Ｂ）を求めてもよい。その場合、先ずステップＳ１０６０の位置姿勢推定工程では、計算機Ａ２００は、各検出領域組ｋの推定位置及び推定姿勢において位置姿勢累積確率Ｐ（Ｘk，Ｎk，Ｂk）の値が閾値Θ以上である点を位置姿勢推定値候補として残す。位置姿勢推定値候補となった推定位置を凝集的にクラスタリングすることで、近い位置及び姿勢に投票している検出領域組をまとめる。計算機Ａ２００は、同一クラスタとしてまとめられた検出領域組の位置及び姿勢を、位置姿勢累積確率Ｐ（Ｘk，Ｎk，Ｂk）で重み付け平均した値を推定位置及び推定姿勢として出力する。
【００４９】
以上、認識処理として、投票による三次元物体の位置姿勢推定処理を説明したが、このような処理を行う場合に、位置の推定及び姿勢の推定に用いる特定領域及び領域組をどのように定義すれば有効であるかという課題がある。本実施形態は、この課題に対して有効な特定領域及び領域組を逐次選択していく方法を提供するものであり、その特定領域選択方法を以下に説明する。
【００５０】
ここで、学習処理について説明する。図５は、学習処理の流れを示すフローチャートである。ステップＳ２１００の学習データ収集工程では、座標対応算出部４００は、三次元物体に関する複数の視点ｖ＝１，・・・，Ｖから得られる三次元物体情報である画像データＩv、カメラ座標系の距離マップデータＸｍａｐv、Ｙｍａｐv及びＺｍａｐvを、学習データとして取得する。これら三次元物体情報の取得におけるカメラや距離計測手法は特定領域検出処理時と同じ設定であることが望ましいが、必ずしも同じである必要はない。場合によっては、様々な視点における三次元物体情報を、三次元モデルを基にしてコンピュータグラフィックス等で作成し、画像データＩv、カメラ座標系のマップデータＸｍａｐv、Ｙｍａｐv、及びＺｍａｐvとして利用してもよい。
【００５１】
ステップＳ２２００の座標対応算出工程では、座標対応算出部４００は、三次元モデル記憶部６００から三次元モデルを獲得し、その三次元モデルに基づき、各視点から得られた画像データＩvにおける画像座標系とカメラ座標系との対応付けを行う。先ず、座標対応算出部４００は、画像データＩvにおける三次元物体のカメラ座標系における位置及び姿勢を、手動もしくは公知技術によるトラッキングツール等を使ったマッチング処理によって算出する。これにより、画像データにおける三次元物体のカメラ座標系における位置及び姿勢が求まるため、透視投影することにより画像座標系上における三次元物体領域が得られる。よって、図６（ａ）のように三次元物体における各画像座標系の点ｘjと対応する三次元モデル上の点のカメラ座標系の位置Ｘjが得られる。上記処理により、座標対応算出部４００は、各画像データＩvにおける三次元物体領域内の画像座標系の点とカメラ座標系の点との対応関係を全て算出し、学習装置２００へ送る。
【００５２】
また、座標対応算出部４００は、上記マッチング処理によって得られた三次元物体の単回転表現による姿勢パラメータである回転軸単位ベクトルｎv、回転角度βv、さらに三次元物体の位置である平行移動ベクトルＸcvも併せて学習装置２００へ送る。これらの情報を全視点ｖ＝１，・・・，Ｖに関してまとめたものを学習データＳ＝｛Ｉv，Ｘｍａｐv，Ｙｍａｐv，Ｚｍａｐv，ｎv，βv，Ｘcv｝とする。なお、学習データが三次元モデルから人工的に生成され、各視点における三次元物体の位置及び姿勢が既知であるならば、上記マッチング処理は必要ない。
【００５３】
ステップＳ２３００の学習データ分割工程では、学習装置２００は、ステップＳ２１００の学習画像収集工程及びステップＳ２２００の座標点対応算出工程で得られた複数の視点ｖ＝１，・・・，Ｖからの学習データを、特定領域学習データと評価データとに分割する。先ず学習装置２００は、視点インデックスｖをｖL＝１，・・・，ＶL、ｖW＝１，・・・，ＶWと振りなおす。そして、学習装置２００は、振りなおした視点インデックスに従って、画像データＩv、カメラ座標系マップデータＸｍａｐv、Ｙｍａｐv及びＺｍａｐvと、各データにおける三次元物体の姿勢パラメータｎv，βv、位置パラメータＸcvとを二つのグループに分割する。即ち、学習装置２００は、特定領域学習データＳL＝｛ＩvL，ＸｍａｐvL，ＹｍａｐvL，ＺｍａｐvL，ｎvL，βvL，ＸcvL｝と評価データＳW＝｛ＩvW，ＸｍａｐvW，ＹｍａｐvW，ＺｍａｐvW，ｎvW，βvW，ＸcvW｝とに分割する。但し、これら分割された二つのグループにおけるデータは重複していても、重複しないように分割しても、いずれでもよく、データの重複度によって限定されるものではない。学習結果による姿勢推定性能を視点に偏りなく得たい場合には、特定領域学習データＳLと評価データＳWとそれぞれの視点分布は、図６（ｂ）のように測地ドーム近似されて偏りが少ないことが望ましい。ここで測地ドームとは、正多面体の三角形面素を再帰的に同一面積の三角形に分割していくことで球面を均一に離散化表現する、公知の手法である。但し、三次元物体の配置条件による姿勢に関する事前分布が既知である場合には、その分布に従った視点密度で学習データを準備してもよい。例えば、必ず表側を向いて供給されることがわかっている三次元物体を検出対象とするのであれば、図６（ｃ）のように表側に関する学習データだけを収集して使ってもよい。これらの学習データを用いた学習装置２００における特定領域選択方法は、以下のステップＳ２４００の特定領域選択工程で説明する。
【００５４】
図７は、ステップＳ２４００の特定領域選択工程の処理をさらに詳細に示すフローチャートである。先ずステップＳ２４１０の特定領域初期選択工程において、学習装置２００は、学習データＳから任意の一つ以上の視点ｖを選択する。画像データＩv上の画像座標系において三次元物体領域となる部分から、領域組を構成できる最低限数以上の点（Ｎ0個とする）をランダムに選択し、これを初期の特定領域とする。例えば、領域組を三点によるトリプレットとするならばＮ0＞＝３となるが、最も簡単に考える場合、Ｎ0＝３と設定すればよい。但し先に述べたように領域組は三点によるトリプレットに限定されるものではないため、Ｎ0の最低設定数は領域組の種類に依存する。
【００５５】
次にステップＳ２４２０の特定領域検出器学習工程において、学習装置２００は、選択されたＮ0個の特定領域に対応する特定領域検出器を学習する。図９は、ステップＳ２４２０の特定領域検出器学習工程の詳細を示すフローチャートである。先ずステップＳ２４２０Ａの特定領域モデル座標変換工程において、学習装置２００は、特定領域ａのモデル座標系における座標値を算出する。ここで、視点ｖの画像データＩvにおける特定領域ａの画像座標系位置がｘav＝[ｘa，ｙa]Tであったとする。そのカメラ座標系の位置は、Ｘav＝［Ｘｍａｐv（ｘav），Ｙｍａｐv（ｘav），Ｚｍａｐv（ｘav）］として得ることができる。これに対して、姿勢パラメータｎv，βv、位置パラメータＸcvから、式１３のように、図８（ａ）のように特定領域ａのモデル座標系の位置Ｘamを算出することができる。
【００５６】
【数１２】
0005800494.tif 000013
【００５７】
ここでＲ（ｎv，βv）は単回転軸ｎv及び単回転角βvによる回転変換行列である。これにより得られた特定領域ａのモデル座標系の位置Ｘamに関して、ステップＳ２４２０Ｂの特定領域カメラ座標変換工程では、学習装置２００は、式１４のように、特定領域学習データＳLの各視点ｖLにおけるカメラ座標系の位置ＸavLを計算する。
【００５８】
【数１３】
0005800494.tif 000014
【００５９】
ステップＳ２４２０Ｃの特定領域画像座標変換工程では、学習装置２００は、式１５のように、学習データ取得時のカメラパラメータより、カメラ座標系の位置ＸavLをさらに画像座標系の位置ｘavLへと変換する。
【００６０】
【数１４】
0005800494.tif 000015
【００６１】
ここでδ及びｆは前述のカメラパラメータであり、δはカメラの画素サイズ、ｆはカメラ焦点距離である。ステップＳ２４２０Ｄの特定領域可視判定工程では、学習装置２００は、ＺavLとＺｍａｐvL（ｘavL）との値を比較し、ＺavL＞ＺｍａｐvL（ｘavL）であれば、視点ｖLからは特定領域ａは不可視であると判断する。このようにして、学習装置２００は、特定領域学習データＳLの全視点に関して特定領域の可視判定を行う。ステップＳ２４２０Ｅの特定領域特徴量抽出工程では、学習装置２００は、可視である視点ｖLから、その画像座標系の位置ｘavLを中心とした部分画像を特定領域検出時の処理と同様の方法で切り出し、特徴量を抽出し、特定領域検出器を学習するためのデータとする。なお、特徴量が回転不変特徴量でない場合には、切り出してきた部分画像を面内回転させることで面内回転時の特徴量とし、データに追加してもよい。
【００６２】
学習装置２００は、選択されたＮ0個の特定領域に関して上記処理により特定領域検出器を学習させるためのデータを生成し、これらのデータを使って各特定領域に関する特定領域検出器を生成する。特定領域検出器は既存のどのような手法でも構わないが、例えば公知技術であるＳＶＭ（Support Vector Machine）やＲａｎｄｏｍｉｚｅｄ Ｔｒｅｅによる識別器としてもよい。また、これらの特定領域検出器は、各領域を別クラスとして分類するマルチクラス分類器として学習させてもよい。さらに、別の特定領域検出器として、例えば公知技術のＯｎｅ−Ｃｌａｓｓ ＳＶＭを用いて、それぞれの特定領域に関して特定領域検出器を学習させ、特定領域数だけ特定領域検出器を生成してもよい。
【００６３】
ステップＳ２４２０の特定領域検出器学習工程にて特定領域検出器が得られた後、ステップＳ２４３０の領域組生成工程では、学習装置２００は、特定領域の組み合わせによる領域組の候補を生成する。領域組を三領域によるトリプレットとした場合、選択領域数Ｎ0に対して領域組の候補は全部でN0Ｃ3個存在する。但し、先の可視判定結果を用いることで、同時に可視とならない特定領域の組み合わせは事前に領域組の候補として排除することができる。また、可視な特定領域同士の組み合わせを全て生成する必要はなく、同一直線状に乗る特定領域の組み合わせを利用しない、デロネイ三角形分割によって稜線の重複を防ぐ、等により領域組を絞り込んでもよい。
【００６４】
ステップＳ２４４０の評価工程では、学習装置２００は、生成された特定領域検出器と領域組とを用いて、評価データＳWの全ての視点におけるデータを入力データとして、先に説明したＳ１０１０〜Ｓ１０６０による認識処理による位置及び姿勢の推定を行う。学習装置２００は、前述した投票閾値Θを様々に変えたときの認識処理の結果を比較する。認識処理結果の評価値としては、正しい認識結果と未検出及び誤認識とを同時表現できる値であれば、どのようなものを用いてもよい。ここで正しい認識結果が得られるとは、位置及び姿勢の推定結果が所定の誤差範囲内で得られることであり、位置及び姿勢の推定結果が得られても所定の誤差範囲内でなければ誤認識、位置及び姿勢の推定結果が得られなかった場合を未検出と称す。評価値としては、例えば以下の文献２によって公知である、適合率（Ｐｒｅｃｉｓｉｏｎ）と再現率（Ｒｅｃａｌｌ）との調和平均として得られるＦ値（Ｆ−ｍｅａｓｕｒｅ）を使ってもよい。ここで、適合率は得られた答えにおける正しい答えの比率で、正解数／（正解数＋誤認識数）であり、再現率は全ての入力データに対する正しい答えの比率で、正解数／入力データ数である。Ｆ値はこれらのトレードオフを表す値で、２／（１／適合率＋１／再現率）で表される。
文献２：Ｃ．Ｖ．Ｖａｎ Ｒｉｊｓｂｅｒｇｅｎ，“Ｉｎｆｏｒｍａｔｉｏｎ Ｒｅｔｒｉｅｖａｌ”，Ｂｏｓｔｏｎ，Ｂｕｔｔｅｒｗｏｒｔｈ，１９７９．
【００６５】
学習装置２００は、このような評価値を比較して最もよい結果が得られた投票閾値Θを採用し、そのときの評価結果に基づいて、ステップＳ２４７０において処理ループの繰り返し判定を行う。全ての視点ｖWにおいて正しい認識結果が得られた場合には、学習装置２００は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部７００に格納し、学習処理を終了する。一方、正しい認識結果が得られない視点が存在する場合、ステップＳ２４５０の特定領域追加工程に処理を進める。
【００６６】
ステップＳ２４５０の特定領域追加工程では、学習装置２００は、ステップＳ２４４０の評価工程にて所定の誤差範囲内で位置及び姿勢の推定結果が得られない視点、即ち、未検出の発生した視点について、候補となる新規の特定領域を追加する。先ず、学習装置２００は、未検出の発生した評価データＳWにおける視点の中から任意に視点ｖFNを選択する。学習装置２００は、視点ｖFNにおける評価データＩvFN、ＸｍａｐvFN，ＹｍａｐvFN、ＺｍａｐvFNに対して現時点における特定領域の特定領域検出器を走査させる。学習装置２００は、その出力から、画像データＩvFNにおいて特定領域検出器が反応しなかった画像領域の中から新しい特定領域を選定し、追加する。追加する特定領域の位置は、三次元モデルから算出される部品領域の中で特定領域検出器によって検出されなかった画像領域の中から任意に選ぶ。例えば、図８（ｂ）に示すようにして、各特定領域検出器の検出値を画像座標系上へプロットした検出スコアマップに対して、部品領域内で検出スコアの極小となる位置を選択する、等とすればよい。追加する特定領域の選択方法は検出スコアを基準にした方法に限定されるものではなく、部品領域からランダムに選んできてもよい。また、追加領域は一つ以上とし、同時に複数追加してもよい。
【００６７】
次に、ステップＳ２４６０の特定領域検出器追加学習工程では、学習装置２００は、追加された特定領域を含めた特定領域検出器の学習を行う。ステップＳ２４５０の特定領域追加工程にて追加された特定領域の画像座標系の位置をｘnewvFNとする。そのカメラ座標系の位置はＸnewvFN＝［ＸnewvFN，ＹnewvFN，ＺnewvFN］＝［ＸｍａｐvFN（ｘnewvFN），ＹｍａｐvFN（ｘnewvFN），ＺｍａｐvFN（ｘnewvFN）］として得ることができる。これに対して、式１６のようにして、位置姿勢パラメータｎvFN，βvFN，ＸcvFNから追加された特定領域のモデル座標系位置Ｘnewmを算出することができる。
【００６８】
【数１５】
0005800494.tif 000016
【００６９】
ここでＲ（ｎvFN，βvFN）は、単回転軸ｎvFN及び単回転角βvFNによる回転変換行列である。学習装置２００は、これにより得られた特定領域のモデル座標系位置Ｘnewmに関して、式１７のように、特定領域検出器学習データＳLの各視点ｖLにおけるカメラ座標系位置ＸnewvLを計算する。
【００７０】
【数１６】
0005800494.tif 000017
【００７１】
学習装置２００は、学習データ取得時のカメラパラメータより、式１８のように、カメラ座標系位置ＸnewvLをさらに画像座標系位置ｘnewvLへと変換する。
【００７２】
【数１７】
0005800494.tif 000018
【００７３】
ここでδとｆは先にも述べたとおり、カメラの画素サイズ及び焦点距離である。これより、学習装置２００は、ＺnewvLとＺｍａｐvL（ｘnewvL）との値を比較し、ＺnewvL＞ＺｍａｐvL（ｘnewvL）であれば、特定領域は視点ｖLから不可視であると判断する。学習装置２００は、特定領域学習データＳLの全視点に関して特定領域の可視判定を行い、可視である視点ｖLにおける画像座標系位置ｘavLを中心とした部分画像を検出時の処理と同様の方法で切り出す。そして、学習装置２００は、特徴量を抽出し、特定領域検出器を学習させるためのデータに追加する。学習装置２００は、追加されたデータを含めて各特定領域に関する特定領域検出器を学習させ、特定領域検出器を生成する。
【００７４】
ステップＳ２４６０の特定領域追加学習工程にて特定領域検出器の追加学習が終了すると、ステップＳ２４３０の特定領域組生成工程へと戻り、学習装置２００は、領域組の候補を生成し、再び評価を行う。
【００７５】
以上により、認識処理において必要な特定領域と、その組み合わせである領域組を選定することができる。特に多視点からの位置及び姿勢を推定するために必要な特定領域と領域組とを、あらゆる視点で位置及び姿勢の推定が可能なように不足なく選定することができる。
【００７６】
次に、本発明の第２の実施形態について説明する。本実施形態では、第１の実施形態において説明した認識処理に必要な特定領域及び領域組を、検出結果がよくなるように領域組を削減していくことによる特定領域の選択方法について説明する。
【００７７】
図５において、学習データ収集工程（Ｓ２１００）、座標対応算出工程（Ｓ２２００）及び学習データ分割工程（Ｓ２３００）は、第１の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、モデル系座標と画像系座標との対応関係を算出して学習データＳを生成し、特定領域学習データＳLと評価データＳWとを生成する。
【００７８】
図１０は、本実施形態における特定領域選択工程（Ｓ２４００）の詳細な処理を示すフローチャートである。先ず、特定領域初期選択工程（Ｓ２４１１）では、学習装置２００は、学習データＳにおける任意の視点ｖに対して、画像データＩv上の画像座標系において物体領域となる部分から、領域組を構成できる最低限数以上の特定領域（Ｎ0個とする）を選択する。次に、学習装置２００は、別の視点において、選択された特定領域が可視かどうかを判定し、可視である特定領域を含めてＮ0個以上の特定領域を選択し、特定領域として追加する。学習装置２００は、これを複数の視点に対して行い、初期の特定領域とする。
【００７９】
特定領域検出器学習工程（Ｓ２４２１）及び領域組生成工程（Ｓ２４３１）では、第１の実施形態における特定領域検出器学習工程（Ｓ２４２０）及び領域組生成工程（Ｓ２４３０）と同様の処理により、学習装置２００は特定領域検出器を生成し、候補となる領域組を生成する。領域組生成工程（Ｓ２４３１）で生成された領域組のインデックスをｔ＝１，・・・，Ｎtとする。ここでＮtは、領域組生成工程（Ｓ２４３１）にて生成された領域組数である。
【００８０】
評価工程（Ｓ２４４１）では、学習装置２００は、生成された特定領域検出器と領域組とを用いて、評価データＳWの全ての視点におけるデータを入力データとして、第１の実施形態にて説明したステップＳ１０１０〜Ｓ１０６０による認識処理を行い、その評価値を算出する。評価値は、正しい認識結果と誤認識とを同時表現できる値であればどのようなものを用いてもよいが、例えば第１の実施形態で説明したＦ値等を用いてもよい。学習装置２００は、投票閾値Θを様々に変えて評価を行い、最もよい結果が得られた投票閾値Θを採用し、そのときの評価値をＥ0とする。次に、学習装置２００は、領域組ｔ＝１，・・・，Ｎtの中から一つ領域組を取り除いた状態で、同様にして評価データＳWの全ての視点におけるデータを使って評価を行う。学習装置２００は、これを全ての領域組ｔ＝１，・・・，Ｎtに対して行い、領域組ｔを除いた場合の評価値をＥtとする。学習装置２００は、これらの評価値Ｅ0及びＥt（ｔ＝１．．．Ｎt）に基づき、ステップＳ２４５１において処理ループの繰り返し判定を行う。全てのＥtがＥ0よりも悪い評価値の場合（評価値がＦ値であるなら、全てのＥtがＥ0よりも小さい値である場合）、学習装置２００は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部７００に格納し、特定領域選択のルーチンを終了する。そうでない場合には、特定領域削除工程（Ｓ２４７１）に処理を進める。
【００８１】
特定領域削除工程（Ｓ２４７１）では、学習装置２００は、評価工程（Ｓ２４４１）にて得られた評価値を基準に、領域組の中から不要な領域組を削除する。学習装置２００は、評価値Ｅ0よりも良い評価値となったＥtに相当する領域組ｔの集合中から任意の領域組を選び、領域組のリストから削除する。領域組ｔを削除することにより、認識処理の識別性能は上記評価値でＥ0からＥtへと向上したこととなり、識別結果に悪影響を与える領域組を除去したことになる。また、同時に削除する領域組ｔは一つだけでもよいし、複数でもよい。例えば、評価値Ｅ0よりもＥtが良い評価値となった領域組が複数ある場合、最も良い値となったＥtに相当する領域組ｔだけを削除してもよい。あるいは、Ｅtをソーティングして、良い値となった順に所定数削除してもよい。さらには、Ｅ0より良い値となったＥtに相当する領域ｔを全て削除する、としてもよい。若しくは、計算負荷を考慮して特定領域数が多い場合には多くの不要な領域組を同時に削除し、特定領域数が少なくなってきた場合には一つずつ削除する、等としてもよい。不要な領域組を削除した後、削除された領域組を構成する特定領域が、残りの領域組の構成領域に含まれていなければ、学習装置２００は、その特定領域を特定領域のリストから削除する。学習装置２００は、特定領域と領域組とのインデックスを振りなおし、領域組数Ｎtを更新し、特定領域削除工程（Ｓ２４７１）を終了する。
【００８２】
学習装置２００は、特定領域削除工程（Ｓ２４７１）にて不要な領域組及び特定領域の削除が終了すると、評価工程（Ｓ２４４１）へと戻り、再び評価を行う。
【００８３】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。特に多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良くなる状態になるような特定領域及び領域組が選択されるようになる。
【００８４】
次に、本発明の第３の実施形態について説明する。第１の実施形態では、未検出の発生する視点で特定領域を追加していくことで、視点によって未検出の発生率に偏りのない特定領域及び領域組の選定方法を示した。また、第２の実施形態では、大量の領域組を用意した状態から、全体の評価値が良くなるように領域組を削除していく、特定領域及び領域組の選定方法を示した。これらの特定領域、領域組の追加及び削除の工程は、組み合わせて動作させることで、より効果的な特定領域及び領域組を選択することができる。本実施形態では、未検出発生視点における特定領域の追加と、誤検出発生視点における不要領域組の削除による特定領域の選択方法を説明する。
【００８５】
図５において、学習データ収集工程（Ｓ２１００）、座標対応算出工程（Ｓ２２００）及び学習データ分割工程（Ｓ２３００）は、第１の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、三次元モデルと画像座標の対応関係を算出して学習データＳを生成し、特定領域学習データＳLと評価データＳWとを生成する。
【００８６】
図１１は、本実施形態における特定領域選択工程（Ｓ２４００）の詳細な処理を示すフローチャートである。特定領域初期選択工程（Ｓ２４１２）、特定領域検出器学習工程（Ｓ２４２２）及び領域組生成工程（Ｓ２４３２）では、第１の実施形態における特定領域初期選択工程（Ｓ２４１０）、特定領域検出器学習工程（Ｓ２４２０）及び領域組生成工程（Ｓ２４３０）と同様の処理が行われる。即ち、特定領域の初期設定処理、各特定領域検出器の学習による生成処理、領域組の生成処理が行われる。
【００８７】
評価工程（Ｓ２４４２）では、学習装置２００は、評価データＳWの全ての視点において認識処理を行い、対象物体の未検出及び誤認識の発生する視点を抽出する。ステップＳ２４０２において、学習装置２００は、全ての視点において正しく認識処理が行われたか否かを判定する。未検出が発生する視点があれば、特定領域追加工程（Ｓ２４５２）に処理を進める。未検出の発生する視点がなく、且つ、誤認識の発生する視点がない場合、学習装置２００は、特定領域検出器のパラメータと特定領域及び領域組とを学習パラメータ記憶部７００に格納し、学習処理を終了する。また、未検出が発生する視点はないが、誤認識が発生する視点がある場合には、特定領域削除工程（Ｓ２４７２）に処理を進める。
【００８８】
特定領域追加工程（Ｓ２４５２）及び特定領域検出器追加学習工程（Ｓ２４６２）では、第１の実施形態における特定領域追加工程（Ｓ２４５０）及び特定領域検出器追加学習工程（Ｓ２４６０）と同様の処理を行う。即ち、学習装置２００は、評価データＳWにおいて未検出の発生する視点に対して特定領域を追加し、追加された特定領域に関する学習データを追加して、追加された特定領域を含む特定領域検出器を生成する。
【００８９】
特定領域検出器追加学習工程（Ｓ２４６２）が終了した後、ステップＳ２４８３において、学習装置２００は、評価工程（Ｓ２４４２）における評価結果において誤認識の発生した視点がないかどうかを判定する。誤認識の発生した視点がない場合、学習装置２００は、ステップＳ２４９２において、追加された特定領域があるか否かを判定する。追加された特定領域がある場合、処理はステップＳ２４３２に移行する。一方、追加された特定領域がない場合、処理は終了する。また、誤認識の発生した視点があった場合には、特定領域削除工程（Ｓ２４７２）に処理を進める。
【００９０】
特定領域削除工程（Ｓ２４７２）では、学習装置２００は、評価工程（Ｓ２４４２）において誤認識の発生した視点の中から任意の視点ｖFPを選択し、不要な領域組を削除する。視点ｖFPはどのような基準で選んでも良いが、例えば、全視点において発生した誤認識の中で投票スコアの最も大きい値を持つ誤認識を含む視点を選ぶ、等とすればよい。学習装置２００は、視点ｖFPにおける投票結果において、誤認識位置姿勢への寄与度の高い領域組を削除する。領域組の投票寄与度は以下のようにして算出する。先ず、学習装置２００は、投票によって算出された誤認識位置ＸFP及び誤認識姿勢（ＮFP，ＢFP）に対して、第１の実施形態における式１６と同様にして、視点ｖFPで検出された各検出領域組ｋFP＝１，・・・，ＮkFPからの投票確率を求める。投票確率Ｐ（ＸFP，ＮFP，ＢFP｜ＴkFP，ＮkFP，ＢkFP）は、式１９のようにして得られる。
【００９１】
【数１８】
0005800494.tif 000019
【００９２】
ここで、ＴkFP，ＮkFP及びＢkFPは、認識処理時に得られた検出領域組ｋFPにおける位置及び姿勢のパラメータであり、式１９の値は式１３及び式１５にＴkFP，ＮkFP及びＢkFPを代入することで得ることができる。学習装置２００は、この投票確率Ｐ（ＸFP，ＮFP，ＢFP｜ＴkFP，ＮkFP，ＢkFP）を検出領域組ｋFPの投票寄与度として扱い、この値の最も大きい領域組を削除する。
【００９３】
特定領域削除工程（Ｓ２４７２）が終了した後は、領域組生成工程（Ｓ２４３２）へと処理を戻す。特定領域選択のループによって領域組生成工程（Ｓ２４３２）へと戻ってきたときには、追加された特定領域に従って新たに領域組が生成されるが、このとき、新たに追加された特定領域を構成要素とした領域組だけを生成すればよい。
【００９４】
上記説明では、誤認識の発生した視点を選んで、その視点で検出された領域組の中から不要な領域組を削除したが、第２の実施形態のようにして全視点における評価値から削除する領域組を選択してもよい。その場合、評価工程（Ｓ２４４２）では、第２の実施形態における評価工程（Ｓ２４４１）と同様にして全ての特定領域を使って評価データＳWの全ての視点におけるデータに関する評価値を算出し、そのときの評価値をＥ0とする。次に、領域組ｔ＝１，・・・，Ｎtの中から一つ領域組を取り除いた状態で、同様にして評価データＳWの全ての視点におけるデータを使って評価を行い、それらの評価値をＥtとする。また、特定領域削除工程（Ｓ２４７２）も、第２の実施形態における特定領域削除工程（Ｓ２４７１）と同様にして、評価値Ｅ0よりも良い評価値となったＥtに相当する領域組ｔの中から任意に領域組ｔを選び、領域組のリストから削除する。不要な領域組を削除した後、削除された領域組を構成する特定領域が残りの領域組の構成領域に含まれていなければ、その特定領域はリストから削除する。
【００９５】
また、不要な領域組の削除方法としては、正解位置姿勢に対して投票寄与度の低い領域組を削除してもよい。その場合、前記特定領域削除工程（Ｓ２４７２）では、以下のような処理を行う。即ち、学習装置２００は、評価工程（Ｓ２４４２）にて得られた評価結果から、全視点における各検出領域組の、正解位置姿勢に対する投票寄与度を算出する。学習装置２００は、評価データ集合の視点ｖにおける位置及び姿勢の正解値ＸGTv及び（NGTv，BGTv）に対して、第１の実施形態における式１６と同様にして、検出された各検出領域組からの投票確率を求める。投票確率Ｐ（ＸGTv，NGTv，BGTv｜Ｔkv，Ｎkv，Ｂkv）は、式２０のようにして得られる。
【００９６】
【数１９】
0005800494.tif 000020
【００９７】
ここでＴkv，Ｎkv及びＢkvは、認識処理時に得られた検出領域組ｋの、視点ｖにおける位置及び姿勢のパラメータであり、学習装置２００は、式２７の値は式１３、式１５にＴkv、Ｎkv及びＢkvを代入することで得ることができる。学習装置２００は、この投票確率Ｐ（ＸGTv，NGTv，BGTv｜Ｔkv，Ｎkv，Ｂkv）を評価データＳWの全視点に関して算出する。領域組ｋの正解位置姿勢への投票寄与度Ｃkは、全視点における投票確率から総合的に求める値であり、例えば式２１のような値としてもよい。
【００９８】
【数２０】
0005800494.tif 000021
【００９９】
ここでＵkは、評価データにおける全視点の中で、領域組ｖが検出された視点の集合である。若しくは、正解位置姿勢への投票寄与度Ｃkを式２０のようなｎ次のモーメントとしてもよい。
【０１００】
【数２１】
0005800494.tif 000022
【０１０１】
ここでｎはモーメントの次数で、式２０はｎ＝１のとき平均値であり、ｎ＝２のとき二乗平均となる。上記のような正解位置姿勢への投票寄与度Ｃkが所定値に届かなければ、学習装置２００は、その領域組ｋが正解位置及び姿勢への影響が低いと判断し、選択領域組のリストから削除する。これら領域削除の手法は、上記の手法のいずれかを用いてもよいし、二つ以上の手法を組み合わせて用いてもよい。また、本実施形態の説明では、特定領域追加工程（Ｓ２４５２）を、特定領域削除工程（Ｓ２４７２）よりも早い段階に処理することとしたが、本発明はこの順序に限定されるものではなく、いずれの工程を先に行ってもよい。
【０１０２】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。本実施形態においては、特定領域候補の少ない状態から特定領域を追加することにより、低計算コストで、全視点における偏りのない認識成功率の向上が保証される。また同時に、誤認識の発生原因となる領域組及び特定領域を削除していくことにより、認識成功率と誤認識のトレードオフによる全体的な性能の高い特定領域及び領域組が選ばれていく。これらの相互作用により、多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良い状態、即ち、認識成功率の向上と誤検出率の軽減とを同時に満たす状態になるように選択することができる。
【０１０３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０４】
１００：認識装置、２００：学習装置、３００：撮像部、４００：座標対応算出部、６００：三次元モデル記憶部、７００：学習パラメータ記憶部
【図１】
0005800494.tif 000023
【図２】
0005800494.tif 000024
【図３】
0005800494.tif 000025
【図４】
0005800494.tif 000026
【図５】
0005800494.tif 000027
【図６】
0005800494.tif 000028
【図７】
0005800494.tif 000029
【図８】
0005800494.tif 000030
【図９】
0005800494.tif 000031
【図１０】
0005800494.tif 000032
【図１１】
0005800494.tif 000033