(57)【要約】【課題】  入力画像中の対象物体の姿勢推定を行う場合に、特定の姿勢クラス近傍における姿勢に関する認識精度の低下を抑制するための技術を提供すること。【解決手段】  対象物体の姿勢を推定する識別器の学習を行うために該識別器に与える学習用画像を生成する。そのために先ず、対象物体の形状モデルに対して少なくとも１つの視点を設定する。そして、設定された視点から形状モデルを観察した場合、設定された視点と形状モデルとが所定の条件を満たした場合に、設定された視点から形状モデルを見た該形状モデルの画像を、学習用画像として生成する。【選択図】  図１
2014157509.tif 000002
【特許請求の範囲】
【請求項１】
対象物体の姿勢を推定する識別器の学習を行うために該識別器に与える学習用画像を生成する情報処理装置であって、
前記対象物体の形状モデルに対して少なくとも１つの視点を設定する設定手段と、
前記設定された視点から前記形状モデルを観察した場合、前記設定された視点と前記形状モデルとが所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記設定された視点から前記形状モデルを観察した場合の前記視点から前記形状モデルにおける各領域までの距離の値が、所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記設定された視点から前記形状モデルを観察した場合の前記視点から前記形状モデルにおける各領域までの距離の値の分布が、所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
更に、前記距離の値の分布から平面度を導出する導出手段を更に備え、
前記生成手段は、前記平面度に基づいて、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
更に、前記導出手段が求めた平面度に基づいて、視点位置を変更する変更手段を備え、  前記生成手段は、前記変更手段によって変更された視点位置における視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記生成手段は、前記設定された視点から前記形状モデルを観察した場合の視線方向と、前記形状モデルを構成する各面の法線方向とが、所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記生成手段は、前記設定された視点から前記形状モデルを観察した場合の視線方向と、前記形状モデルを構成する各面の法線方向とが直交しない場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
更に、前記設定された視点から前記形状モデルを観察したときの視線方向と前記形状モデルを構成する各面の法線方向とが直交する面の割合を表す評価値を導出する導出手段を備え、  前記生成手段は、複数の位置のうち前記評価値が閾値より大きい位置に設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
更に、前記導出手段が求めた評価値に基づいて、前記位置を更新させる更新手段を備え、
前記生成手段は、前記更新手段によって更新された位置に設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
更に、前記学習用画像を用いて、前記識別器の学習を行う手段を備えることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
対象物体の姿勢を推定する識別器の学習を行うために該識別器に与える学習用画像を生成する情報処理装置が行う情報処理方法であって、
前記情報処理装置の設定手段が、前記対象物体の形状モデルに対して少なくとも１つの視点を設定する設定工程と、
前記情報処理装置の生成手段が、前記設定された視点から前記形状モデルを観察した場合、前記設定された視点と前記形状モデルとが所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成する生成工程と
を備えることを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像における対象物体の位置姿勢推定技術に関するものである。
【背景技術】
【０００２】
対象物体を撮像した画像から該対象物体を検出することを課題とした画像認識に関し、多くの研究開発がおこなわれてきた。画像認識技術はさまざまな分野に応用され、例えば顔認識や、工場における部品認識など、多くの実問題に利用されてきている。
【０００３】
画像パターン認識の観点で考えた場合、入力された情報をどのようにしてクラス分類するか、という研究がおこなわれている。例えば、ニューラルネットワークやＳＶＭ、Ｒａｎｄｏｍｉｚｅｄ  Ｔｒｅｅや非特許文献１によるＦＥＲＮなど、さまざまな手法が提案されている。これらの手法における識別器を生成する際には、学習画像が必要となる。
【０００４】
近年の工業的な視覚認識では、例えば山積みされた部品を検出するような、３次元的に姿勢自由度の高い対象物体を認識するニーズもある。３次元的な姿勢を検出しようとする場合には、対象物体のさまざまな姿勢に対応する学習画像が必要となる。ロボットによる部品のピッキングなどを目的とした認識タスクでは、対象物体の姿勢情報は極めて重要となる。
【０００５】
学習画像に対応する姿勢は、オイラー角や四元数などのパラメータによって表現されるが、このような姿勢を既知とするような対象物体の学習画像を、実写画像として用意することは難しい。特許文献１では、撮影対象物体とカメラの相対位置姿勢を計測しながら手持ちカメラで画像を撮影し、撮影数が不充分な位置姿勢に対するカメラの移動方向、回転角等を表示することで、必要な全周囲画像データセットが取得できる方法を提案している。
【０００６】
一方、ＣＡＤなどの３次元モデルデータによる任意姿勢のＣＧ画像を生成し、これを学習画像とすることがよく行われる。３次元モデルを用いたＣＧでは、視点を自由に設定することができるため、実写撮影と比べて大量の学習画像を生成することが容易である。特に、デプスマップなどの距離情報を用いて対象物体の位置姿勢を判別する場合には、３次元モデルから得られる距離情報を用いて学習画像として扱うこともできる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１９８３４９号公報
【非特許文献】
【０００８】
【非特許文献１】Ｍ．Ｏｚｕｙｓａｌ，ｅｔ  ａｌ．，  ”Ｆａｓｔ  Ｋｅｙｐｏｉｎｔ  Ｒｅｃｏｇｎｉｔｉｏｎ  ｕｓｉｎｇ  Ｒａｎｄｏｍ  Ｆｅｒｎｓ”，  ＩＥＥＥ  Ｔｒａｎｓ．  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，（２０１０）．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
３次元モデルからＣＧ画像を生成する際、そのモデルをどこから見た画像を生成するのか、といった視点の設定を行う必要がある。学習画像を生成するための視点は離散的に設定されるもので、設定された視点の位置から見たときに得られる対象物体の画像をＣＧで生成することで、各姿勢の学習画像を得ることになる。
【００１０】
対象物体の姿勢自由度が高い場合には、検出時の入力画像における対象物体の姿勢と、離散的に定義された学習画像の姿勢とが、完全に一致することはほとんどない。そのため、識別器としては、学習に使われた姿勢と最も類似した姿勢はどれか、を判定することになる。そのためには、識別器で用いている特徴が、近傍姿勢間で滑らかに変化していくことが望ましい。
【００１１】
しかしながら、対象物体の形状によっては、ある姿勢の近辺で、その特徴に急激な変化が発生する場合がある。そのような姿勢の近辺では、識別器が対応できる範囲は極端に狭いため、姿勢に関する認識精度の低下が発生する。
【００１２】
本発明はこのような問題に鑑みてなされたものであり、入力画像中の対象物体の姿勢推定を行う場合に、特定の姿勢クラス近傍における姿勢に関する認識精度の低下を抑制するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の目的を達成するために、例えば、本発明の情報処理装置は、対象物体の姿勢を推定する識別器の学習を行うために該識別器に与える学習用画像を生成する情報処理装置であって、前記対象物体の形状モデルに対して少なくとも１つの視点を設定する設定手段と、前記設定された視点から前記形状モデルを観察した場合、前記設定された視点と前記形状モデルとが所定の条件を満たした場合に、前記設定された視点から前記形状モデルを見た該形状モデルの画像を、前記学習用画像として生成する生成手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明の構成により、入力画像中の対象物体の姿勢推定を行う場合に、特定の姿勢クラス近傍における姿勢に関する認識精度の低下を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】測地ドームを用いた画像生成を説明する図。
【図２】入力画像からツリーを作成する処理を説明する図。
【図３】対象物体の姿勢認識の処理のフローチャート。
【図４】特徴の急激な変化について説明する図。
【図５】視点のずれによるツリーの分岐状態について説明する図。
【図６】姿勢クラスのスコアを示す図。
【図７】識別器を学習する為の処理のフローチャート。
【図８】ステップＳ１３００における処理の詳細を示すフローチャート。
【図９】放線頻度マップについて説明する図。
【図１０】近傍視点位置を説明する図。
【図１１】ステップＳ１３００における処理の詳細を示すフローチャート。
【図１２】学習画像へのバイアスの付加について説明する図。
【図１３】情報処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１７】
［第１の実施形態］
本実施形態について説明を行う前に、先ず、本実施形態を含む以降の各実施形態の課題について説明する。様々な姿勢の３次元モデルのＣＧ画像を生成するためには、まず、３次元モデルを観察する視点の設定を行う必要がある。視点の設定は、代表的には測地ドームによって行われる。
【００１８】
図１に示すように、学習画像は、対象物体の３次元モデルの物体中心Ａ４０４を中心とした測地ドームＡ４０１上の各点（各視点Ａ４０３）について、該点で様々なロール角で３次元モデルを観察した画像群Ａ４０２として得られる。視点とその視点におけるロール角との組み合わせ（姿勢クラス）ごとにインデックスが与えられる。例えば、視点数を７２とし、それぞれの視点でロール角を３０度ごとに変化させながら（面内回転させながら）３次元モデルを観察して該３次元モデルの画像（学習画像）を生成すると、生成する学習画像の枚数は７２×１２＝８６４枚となる。然るに、辞書としては、７２×１２＝８６４クラスの識別器を学習させることになる。
【００１９】
以降の説明では、視点数をＮ、ロール角を回転させる回数（１つの視点について面内回転させる回数）をＮｒとし、視点のインデックスをｎ（ｎ＝１…Ｎ）、面内回転のインデックスをｒ（ｒ＝１…Ｎｒ）とする。また、視点ｎと面内回転ｒの組み合わせによって決まるクラス（姿勢クラス）のインデックスをν＝１…Ｎ×Ｎｒで表わすこととする。姿勢クラスνは視点ｎと面内回転ｒの組み合わせに対して１対１で対応するため、クラスインデックスをν［ｎ，ｒ］と記述する場合もある。
【００２０】
ここでは、Ｒａｎｄｏｍｉｚｅｄ  Ｔｒｅｅに代表される、二点比較による分岐を行うツリー型識別器を用いて、デプスマップによる対象物体の姿勢認識を行う識別方法に関して、図３のフローチャートに従って説明する。なお、この図３のフローチャートに従った処理は、ＰＣ（パーソナルコンピュータ）などの装置によって実行されるものである。もちろん、この装置は、図３のフローチャートに従った処理をＣＰＵに実行させる為のコンピュータプログラムを保持しており、このコンピュータプログラムをＣＰＵが実行することで、図３のフローチャートに従った処理を実行する。
【００２１】
先ず、ステップＳ２１００における入力画像読み込み工程では、不図示の撮像装置や記憶装置から、対象物体が写っている画像を入力画像として取得する。ここで、この入力画像は、各画素の画素値が、該入力画像を撮像した撮像装置から該画素に写っている対象までの距離の値（距離情報）であるような、いわゆる距離画像（デプスマップ）であるものとする。撮像装置を用いて距離情報を取得するための手法としては、ステレオカメラや空間コード化による装置などが考えられるが、それらの手法に限定されるものではないし、後述するように、入力画像もデプスマップに限定されるものではない。
【００２２】
次に、ステップＳ２２００における位置姿勢推定工程では、図２に例示する入力画像Ａ５００に対し、ウィンドウの位置（探索位置Ａ２００）をラスタスキャン順に移動させながら、該ウィンドウ内の画像を用いて後述するツリーを作成する。
【００２３】
識別処理は、Ａ３００で示される複数のツリーｍ（ｍ＝１…Ｍ）を使って行われる。ここで、Ｍはツリーの本数である。各ツリーの基本動作は以下のとおりである。入力画像に対し、ツリーの各ノードでは、入力画像上の異なる２点間のデプス値の大小で分岐が行われる。図２に示されているｍ番目のツリーＡ３１０の、ｉ番目のノードＡ３１２で比較される２点Ａ１１０およびＡ１２０のそれぞれの位置（探索位置Ａ２００からの相対座標）を、ＸｍｉＢ＝（ｘｍｉＢ，ｙｍｉＢ）、ＸｍｉＬ＝（ｘｍｉＬ，ｙｍｉＬ）とする。そして、上記２点のそれぞれにおけるデプス値がＤ（ＸｍｉＢ）、Ｄ（ＸｍｉＬ）であるとしたとき、以下の式（１）が満たされればツリーの右下のノードに処理を進め、以下の式（２）が満たされればツリーの左下のノードに処理を進める。
【００２４】
【数１】
2014157509.tif 000003
【００２５】
【数２】
2014157509.tif 000004
【００２６】
１枚の入力画像に対して根ノードＡ３１１からスタートし、分岐が終端ノードＡ３１３に達した時点で、そのツリーに関する分岐は終了する。各ツリーｍの各終端ノードには姿勢クラスのインデックスν（ν＝１…Ｎ×Ｎｒ）が割り振られており、これら複数のツリーによる姿勢クラスへの投票数を、各姿勢クラスのスコアとする。
【００２７】
入力画像Ｉが与えられた時、ツリーｍに対して割り振られていた姿勢クラスのインデックスがＩＤＸｍ（Ｉ）であったとしたとき、姿勢クラスνに関するスコアＳＣＯＲＥ（ν，Ｉ）は以下の式（３）で定義される。
【００２８】
【数３】
2014157509.tif 000005
【００２９】
ここで、δ（Ａ）は、条件Ａが真のときに１を、偽のときに０を返す関数である。すべての探索位置Ａ２００に関して検出処理を行った後、スコアに関するピーク検出や閾値処理などを行って、推定される対象物体の位置および姿勢を決定する。
【００３０】
次に、このツリーによる識別器の学習方法を簡単に説明する。まず、識別クラスとして与えるすべての姿勢インデックスに対応する学習画像を用意する。各ノードでは、比較する二点の位置をランダムに決定し、検出時と同様の分岐処理を行う。分岐した結果、次のノードに一つの姿勢インデックスに対応する学習画像だけが残った場合には、そのノードを終端ノードとし、姿勢インデックスを割り振る。すべての学習画像に対して、終端ノードが決定されれば、そのツリーに関する学習は終了する。
【００３１】
測地ドームによって均等間隔で割り振られた視点から生成されたデプス学習画像には、対象物体の形状によってその特徴に急激な変化が発生する場合がある。例えば、図４のように、３次元モデル上の面積の大きな面Ａ４１０に関する法線Ａ４２０が、視点Ａ４３０（視点Ａ）とオブジェクト座標原点を結ぶ視線方向Ａ４４０と並行である場合を考える。この視点Ａ４３０から得られる画像Ａ４５０では、面Ａ４１０に相当する領域Ａ４１１内の各画素のデプス値は、何れも同じデプス値となる。この画像では、領域Ａ４１１から取ったどの２点の組み合わせを比較しても、必ず式（２）の条件を満たすこととなる。このような状態は広い姿勢空間の中でも、視線方向Ａ４４０と面積の大きな面Ａ４１０が完全に直交した場合にのみ発生する特異点である。
【００３２】
図５の視点Ａ４３１（視点Ａ”）のように、視点Ａからほんの少しずれただけでも、得られる画像Ａ４５１における面Ａ４１０に対応する領域Ａ４１２のデプス値には勾配が乗ることになり、ツリーにおける分岐の状態は大きく変化する。
【００３３】
図６（ａ）は、視点Ａ４３０、視点Ａ４３０と等間隔で並ぶ視点Ａ４３２（視点Ｚ）、Ａ４３３（視点Ｂ）、Ａ４３４（視点Ｃ）に沿って視点位置が移動していったときの、各視点に対応する姿勢クラスのスコアをプロットしたものである。ただし、説明を簡単にするため、ここでは面内回転は考慮しないものとする。
【００３４】
Ｂ１３２、Ｂ１３３、Ｂ１３４はそれぞれ、視点Ａ４３２、視点Ａ４３３、視点Ａ４３４に対応する姿勢クラスのスコア曲線である。これらの視点付近では上記のような特異点は通過しないため、スコア曲線は滑らかに変化する。これに対して、視点Ａ４３０に対応する姿勢クラスのスコア曲線は、Ｂ１３０のようにピーキーな曲線となる。そのため、Ｂ１１０のような領域では、姿勢に関する認識精度の低下が発生する。
【００３５】
対象物体が工業製品である場合には対象物体は平面で構成されることが多く、また、ＣＡＤデータにおける対象物体座標系は何かしらの基準面に合わせて設定されることが多いため、上記のような状況は容易に発生する。
【００３６】
次に、以上説明した課題を解決するための学習方法に関する実施形態を説明する。先ず、本実施形態に係る情報処理装置のハードウェア構成例について、図１３のブロック図を用いて説明する。
【００３７】
ＣＰＵ１３５１は、ＲＡＭ１３５２やＲＯＭ１３５３に格納されているコンピュータプログラムやデータを用いて各処理を実行することで、情報処理装置全体の動作制御を行うと共に、情報処理装置が行うものとして後述する各処理を実行する。
【００３８】
ＲＡＭ１３５２は、外部記憶装置１３５６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１３５７を介して外部装置から受信したコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更にＲＡＭ１３５２は、ＣＰＵ１３５１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１３５２は、各種のエリアを適宜提供することができる。
【００３９】
ＲＯＭ１３５３には、情報処理装置の設定データや、ブートプログラムなどが格納されている。操作部１３５４はキーボードやマウスなどにより構成されており、情報処理装置の操作者が操作することで、各種の指示をＣＰＵ１３５１に対して入力することができる。表示部１３５５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１３５１による処理結果を画像や文字などでもって表示することができる。
【００４０】
外部記憶装置１３５６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。この外部記憶装置１３５６には、ＯＳ（オペレーティングシステム）や、情報処理装置が行うものとして後述する各処理をＣＰＵ１３５１に実行させるためのコンピュータプログラムやデータが保存されている。また、外部記憶装置１３５６には、以下の説明において既知の情報として扱っているものも保存されている。外部記憶装置１３５６に保存されているコンピュータプログラムやデータは、ＣＰＵ１３５１による制御に従って適宜ＲＡＭ１３５２にロードされ、ＣＰＵ１３５１による処理対象となる。
【００４１】
Ｉ／Ｆ１３５７には外部装置を接続することができ、情報処理装置は、このＩ／Ｆ１３５７を介して外部装置とのデータ通信を行うことができる。例えば、以下の説明において処理対象とする入力画像やそのほかの情報を、このＩ／Ｆ１３５７を介して外部装置から取得してもよいし、情報処理装置による処理結果をＩ／Ｆ１３５７を介して外部装置に対して送信してもよい。
【００４２】
上記の各部はバス１３５８に接続されている。なお、図１３に示した構成はあくまでも一例であり、以下に説明する各処理と同等の処理を実現可能な構成であれば、図１３に示した構成は適宜変更／変形させてもよい。また、以下の説明では、本実施形態に係る情報処理装置はＰＣなどのコンピュータであるものとするが、入力画像に対して以下のような処理を実現可能な装置であれば、他の機器であってもよく、例えば、ディジタルカメラであってもよい。
【００４３】
次に、対象物体の姿勢を推定する識別器を学習するための一連の処理について、同処理のフローチャートを示す図７（ａ）を用いて説明する。以下では説明上、デプスマップによる対象物体の姿勢認識を行う識別器を例にとり説明する。
【００４４】
なお、図７（ａ）のフローチャートに従った処理をＣＰＵ１３５１に実行させるためのコンピュータプログラムやデータは外部記憶装置１３５６に格納されている。このコンピュータプログラムやデータはＣＰＵ１３５１による制御に従って適宜ＲＡＭ１３５２にロードされる。そしてＣＰＵ１３５１がこのロードされたコンピュータプログラムやデータを用いて処理を実行することで、情報処理装置は、図７（ａ）のフローチャートに従った処理を実行することになる。
【００４５】
先ず、ステップＳ１１００におけるモデル読み込み工程では、ＣＰＵ１３５１は、外部記憶装置１３５６から、姿勢推定の対象となる対象物体の形状モデルをＲＡＭ１３５２にロードする。この形状モデルは、対象物体の形状を模したＣＡＤなどの３次元モデルであり、学習画像としてのデプスマップを得るために必要な情報を含んだモデルであって、対象物体の面情報を含むものである。
【００４６】
次に、ステップＳ１２００における視点設定工程では、ＣＰＵ１３５１は、この形状モデルを観察する視点を設定する。視点の設定は、代表的には図１のように測地ドームを用いて行われる。測地ドームによる視点設定は、隣接視点との間隔がすべて均等であるため、姿勢クラスとして扱いやすいという利点がある。ただし、視点設定方法は測地ドームを用いた方法に限定されるものではなく、形状モデルを囲む複数の位置に視点を設定できるのであれば、如何なる方法を採用してもよい。
【００４７】
設定した視点の総数をＮ、視点のインデックスをｎ＝１…Ｎ、対象物体座標系（形状モデル中の１点を原点とし、該原点で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系）における視点ｎの位置ベクトルをＶｎ＝（Ｘｖｎ，Ｙｖｎ，Ｚｖｎ）とする。また、測地ドームの原点は形状モデルの物体中心Ａ４０４と一致しているとする。Ｖｎは視点の方向のみを定義する単位ベクトルとし、よって、すべての視点ｎに対するＶｎのノルムは１である。
【００４８】
ステップＳ１３００における更新工程の処理については、同処理の詳細を示す図８（ａ）のフローチャートを用いて説明する。ステップＳ１３１１における平面度算出工程では、ＣＰＵ１３５１は、視点ｎ、面内回転ｒで与えられる姿勢クラスνに基づいて形状モデルのデプスマップを生成する。この生成したデプスマップを、デプス画像Ｉνとする。即ち、インデックスがｎの視点から、インデックスがｒのロール角（インデックスがｒの面内回転）で観察した形状モデルの画像を、デプス画像Ｉνとして生成する。なお、各姿勢クラスに対応するデプス画像は予め作成して外部記憶装置１３５６に保存しておき、そこから視点に対するインデックスと面内回転に対するインデックスとの組み合わせに対応するデプス画像を取得するようにしても構わない。
【００４９】
ここで、デプス画像Ｉν内で形状モデルが写っている領域をＴν、領域Ｔνの面積（画素数）をＳνとする。このとき、姿勢クラスごとに、該姿勢クラスに対応するデプス画像中のデプス値のヒストグラムを作成する。ここで算出するヒストグラムとは、各姿勢クラスに対応するデプス画像から得られる各デプス値の頻度を、該デプス画像におけるＳνで正規化したものである。ヒストグラムの範囲は、すべてのデプス画像Ｉν（ν＝１…Ｎ×Ｎｒ）におけるデプス値の最小値から最大値までとする。ビン幅は、デプス画像を利用して検出処理を行う際の距離測定装置の奥行き解像度に従って設定する。例えば、距離測定装置の奥行き解像度が１００ｎｍであれば、ビン幅も同様に１００ｎｍ、などと設定する。ビン幅とヒストグラム範囲から、ビン数Ｋは容易に得られる。姿勢クラスνに対応するデプス画像Ｉνから生成したヒストグラムにおいて、ｋ（＝１…Ｋ）番目のビンにおける頻度値をＨν（ｋ）と表わしたとき、以下のように定義される視点ｎの平面度Ｐｎを算出（導出）する。
【００５０】
【数４】
2014157509.tif 000006
【００５１】
ここでΝｎは、視点ｎに関する面内回転バリエーションで得られるクラスの集合で、要素数はＮｒである。即ち、平面度Ｐｎとは、視点ｎからそれぞれ異なるロール角で形状モデルを見た該形状モデルの画像から作成したそれぞれのヒストグラムにおいて同ビンごとの合計頻度値のうち最大値であり、視点ｎの評価値となる。
【００５２】
この平面度Ｐｎが大きい場合とは、視点ｎにおけるデプス画像において同一のデプス値の割合が大きいということであり、形状モデルに対して大きな面積を占める平面が視線方向に対して直交している状態を意味する。
【００５３】
次に、全ての視点の平面度Ｐｎが閾値εｎ以下であれば、処理はステップＳ１４００に進む。一方、全ての視点の平面度Ｐｎのうち、１つでも閾値εｎより大きい場合には、処理はステップＳ１３１２に進む。
【００５４】
ここで、閾値εｎは、同一デプス値となる画素が、領域Ｔｎ内でどの程度存在しても良いかを決める閾値であり、０＜εｎ＜１を満たすように設定される。閾値εｎは、０．３などの値で、すべての視点に対して統一の値で設定してもよい。あるいは、εｎ＝１／√Ｓｎといった、デプス画像中の形状モデルの領域のサイズに依存した値で設定してもよい。
【００５５】
次に、ステップＳ１３１２における視点移動工程では、ＣＰＵ１３５１は、ステップＳ１２００で設定した視点とは異なり且つ形状モデルを囲む視点群を新たに設定する。ここで、新たに設定する視点群とは、対象物体座標系における原点を中心にして、ステップＳ１２００で設定した全視点を同一方向に回転させた視点群を意味する。回転変換をＲとすると、対象物体座標系における視点ｎの位置Ｖｎは以下のようにして更新される。
【００５６】
【数５】
2014157509.tif 000007
【００５７】
ここでＴは行列の転地を表す。回転変換Ｒは、例えばｘ−ｙ−ｚ系のオイラー角で表わした場合、以下のように表現できる。
【００５８】
【数６】
2014157509.tif 000008
【００５９】
視点移動のための回転変換Ｒは乱数で与えてもよい。例えば、式（６）におけるθｘ、θｙ、θｚの値を、それぞれ０〜１８０ｄｅｇの間でランダムに選択する。あるいは、測地ドーム上の視点間の最小角度θｄに対して比例する値で与えるなどとしてもよい。例えば、θｘ、θｙ、θｚ＝θｄ／１０などと設定してもよい。
【００６０】
そして、ステップＳ１３１２で視点を再設定した後は、処理はステップＳ１３１１に戻り、ステップＳ１３１１では、この再設定した視点を用いて再度、それぞれの視点に対する平面度Ｐｎを求める。
【００６１】
ステップＳ１４００における学習画像出力工程では、ＣＰＵ１３５１は、上記の処理によって確定した、各姿勢クラスに対応するデプス画像を学習画像として外部記憶装置１３５６やＲＡＭ１３５２などのメモリに出力する。出力先については特定の出力先に限るものではない。
【００６２】
ステップＳ１５００における識別器生成工程では、ＣＰＵ１３５１は、この出力された姿勢クラスごとのデプス画像を学習用画像として用いて、対象物体の姿勢を識別する識別器の学習処理を行う。識別器の学習に関する手続きについては前述したため、ここでの説明は省略する。
【００６３】
なお、本実施形態を含む以降の各実施形態では、枝刈りのないツリーを例として説明したが、識別器の種類はこれに限定されるものではない。ツリー学習時に枝刈りが行われていてもよいし、前述の非特許文献１で示したＦＥＲＮなどを使ってもよい。これらの識別器の場合には、終端ノードに対してクラスが一意に割り振られておらず、学習時に終端ノードに残った学習画像の割合が、各クラスに対する推定スコアとして得られる。入力画像Ｉが与えられたときに、ツリーｍの終端ノードで得られたクラスνに関するスコアをＰｍ（ν｜Ｉ）で得たとすると、識別器全体のスコアは以下の式（７）で与えられる。
【００６４】
【数７】
2014157509.tif 000009
【００６５】
もしくは、下記のように与える場合もある。
【００６６】
【数８】
2014157509.tif 000010
【００６７】
また、本実施形態を含む以降の各実施形態ではデプスマップによる学習画像を例にして具体的に説明されているが、デプスマップに限定されるものではない。例えば、ＣＧレンダリングによる輝度画像を用いてもよい。
【００６８】
このようにして対象物体を構成する平面が視点方向に直交しないように視点を更新することで、特定の姿勢クラス近傍における識別力の低下を抑制することができる。具体的には、以下のように説明される。
【００６９】
上記で示した方法により、図６における視点Ａ，Ｂ，Ｃ、Ｚはそれぞれ、視点Ａ’、Ｂ’、Ｃ’、Ｚ’に移動する。これにより、視点Ａ’、Ｂ’、Ｃ’、Ｚ’の姿勢クラスのスコア曲線はそれぞれ、図６（ｂ）におけるＢ１４０、Ｂ１４３、Ｂ１４４、Ｂ１４２のようになり、図６（ａ）における視点Ａの近辺の領域Ｂ１１０のような姿勢認識精度の低下を抑制することができる。
【００７０】
なお、本実施形態で説明した構成は上記の通り、あくまで一例に過ぎず、以下に説明する構成の一例に過ぎない。即ち、本実施形態に係る情報処理装置は、対象物体の姿勢を推定する識別器の学習を行うために該識別器に与える学習用画像を生成する情報処理装置である。この情報処理装置では、対象物体の形状モデルに対して少なくとも１つの視点を設定する。そして、設定された視点から形状モデルを観察した場合、設定された視点と形状モデルとが所定の条件を満たした場合に、設定された視点から形状モデルを見た該形状モデルの画像を、学習用画像として生成する。
【００７１】
［第２の実施形態］
第１の実施形態では、全ての視点の平面度が閾値以下であった場合に視点更新を終了したが、さまざまな視点設定の中でより適したものを選択してもよい。その場合の処理を、図７（ａ）および図８（ｂ）を用いて説明する。第２の実施形態以降では、第１の実施形態との差分のみについて説明し、第１の実施形態と同様の点については説明を省略している。
【００７２】
ステップＳ１１００及びステップＳ１２００における処理は第１の実施形態と同様である。しかし、本実施形態ではそれに加え、ステップＳ１２００において、設定されたＮ個の視点の集合を視点集合と呼び、ｔ＝０と初期化して、ここで設定された視点集合を初期視点集合Ｕ０とする。
【００７３】
ステップＳ１３００では、図８（ｂ）に示した処理を実行する。ステップＳ１３２１における平面度算出工程では、上記のステップＳ１３１１と同様にして、視点集合Ｕｔに含まれる各視点ｎの平面度Ｐｎを算出する。この算出は以下の式（９）に従う。
【００７４】
【数９】
2014157509.tif 000011
【００７５】
ここでΝｎは、視点ｎに関する面内回転バリエーションで得られるクラスの集合である。そして以下の式（１０）に示す如く、各視点の平面度Ｐｎのうち、最も大きな値となるものを最大平面度Ｐｔ，ｍａｘとする。
【００７６】
【数１０】
2014157509.tif 000012
【００７７】
次に、所定数Ｔの視点集合が生成された場合には処理はステップＳ１３２３における視点選択工程に進み、まだ所定数Ｔの視点集合が生成されていない場合には、処理はステップＳ１３２２における視点移動工程に進む。所定数Ｔの値は、例えば１０などの値で設定すればよい。Ｔは大きいほど良いが、ステップＳ１３２１にかかる処理時間とのトレードオフで設定する。
【００７８】
ステップＳ１３２２では、視点集合Ｕｔに対して所定の回転変換をかけることで、新たな視点集合Ｕｔ＋１を生成する。この回転変換は第１の実施形態と同様に、ランダムに与える、あるいは測地ドーム上の視点間の最小角度θｄに対して比例する値で与える、などとしてもよい。そして処理をステップＳ１３２１に戻し、この新たな視点集合を用いて最大平面度を求める。
【００７９】
そして処理がステップＳ１３２３に進んだ時点で、所定数Ｔの視点集合が生成されているので、この所定数Ｔの視点集合のうち、最も小さい最大平面度を求めた視点集合Ｕｃを特定する（式（１１））。
【００８０】
【数１１】
2014157509.tif 000013
【００８１】
そしてステップＳ１４００以降では、この特定した視点集合Ｕｃ中の各視点に基づく各姿勢クラスに対応するデプス画像を学習画像とする。以降の処理については第１の実施形態と同様であるため、説明は省略する。
【００８２】
［第３の実施形態］
第１の実施形態、および第２の実施形態では平面度を基準にして視点を選択したが、視線に対して直交する面の割合が少なくなるように視点を選択してもよい。その場合の処理を、図７（ａ）および図８（ｃ）を用いて説明する。
【００８３】
ステップＳ１１００及びステップＳ１２００における処理は第１の実施形態と同様である。ステップＳ１３００では、図８（ｃ）に示した処理を実行する。ステップＳ１３３１における法線頻度マップ生成工程では、形状モデルから、対象物体上の平面がどの割合でどちらを向いているのかを示す法線頻度マップを生成する。具体的には以下のようにして法線頻度マップを生成する。
【００８４】
先ず、形状モデル（対象物体の形状モデル）を構成するＮｐ個のポリゴンに関して、ポリゴンｐ（＝１…Ｎｐ）の面積Ｓｐおよび対象物体座標系におけるポリゴンｐの法線方向正規化ベクトルｎｐ（｜ｎｐ｜＝１）を求める。全ポリゴンの面積の総和Ｓａｌｌで正規化した面積を、Ｒｐ＝Ｓｐ／Ｓａｌｌとする。これは、形状モデル全体の表面積におけるポリゴンｐの面積比を表わす。単位球上の基準軸ｎ０＝（１，０，０）に対して任意の回転変換Ψを行ったときに得られる単位球上の一点ｎ（Ψ）に対する法線頻度Ｆ（Ψ）を、下記のように定義する。
【００８５】
【数１２】
2014157509.tif 000014
【００８６】
ここで、δ（Ａ）は、条件Ａが真である場合には１を、偽である場合には０を返す関数である。回転変換ΨのバリエーションはＮｐ個以上は存在しないため、ｎ０からｎｐ（ｐ＝１…Ｎｐ）の回転変換バリエーションに関してＦ（Ψ）を計算すれば、Ｆ（Ψ）の集合として離散的な法線頻度マップが得られることになる。図９で具体例を示す。
【００８７】
基準軸ｎ０は、Ｃ１００で表わされている。基準軸Ｃ１００に対してＣ３００で表わされる回転変換ΨをかけたベクトルがＣ２００である。このベクトルＣ２００と同じ向きの正規化法線ベクトルＣ２１０、Ｃ２２０を持つポリゴンＣ４１０、Ｃ４２０に対する、対象物体全体の表面積における各ポリゴンの面積比の総和が、上記の式（１２）によって算出され、Ｃ５１０で示される頻度Ｆ（Ψ）となる。
【００８８】
この得られた頻度Ｆ（Ψ）から、以下のような評価値Ｅｎを算出する。
【００８９】
【数１３】
2014157509.tif 000015
【００９０】
ここで、ａｎｇ（ａ、ｂ）は、ベクトルａとベクトルｂのなす角を表す。Ｖｎおよびｎ（Ψ）はいずれも単位ベクトルであるため、以下の式を満たす。
【００９１】
【数１４】
2014157509.tif 000016
【００９２】
ステップＳ１３３２における視点最適化工程では、上記のようにして得られた評価値Ｅｎを、前述の第１の実施形態および第２の実施形態における平面度Ｐｎと同様にして、視点の移動もしくは視点の選択を行うことで、視点の位置を決定する。以降の処理に関しては、第１の実施形態および第２の実施形態と同様であるため、説明は省く。
【００９３】
［第４の実施形態］
第３の実施形態のように、視線に対して直交する面の割合を評価値とした場合、その割合が少なくなるように視点を逐次更新してもよい。その場合の処理を、図７（ａ）および図８（ｃ）を用いて説明する。
【００９４】
ステップＳ１１００及びステップＳ１２００における処理は第１の実施形態と同様である。ステップＳ１３００では、図８（ｃ）に示した処理を実行する。ステップＳ１３３１における法線頻度マップ生成工程では、第３の実施形態と同様にして、法線頻度Ｆ（Ψ）を求める。
【００９５】
次に、ステップＳ１３３２における視点最適化工程では、得られた法線頻度マップを用いて視点を更新していく。先ず、ステップＳ１２００で設定された視点位置Ｖｎ＝（Ｘｖｎ，Ｙｖｎ，Ｚｖｎ）（ｎ＝１…Ｎ）に対して、回転変換Ｒ（θ）を行ったときのコストＥｎ（θ）を、以下のように定義する。
【００９６】
【数１５】
2014157509.tif 000017
【００９７】
ここでａｎｇ（ａ、ｂ）は、ベクトルａとベクトルｂのなす角を表す。Ｖｎおよびｎ（Ψ）はいずれも単位ベクトルであるため、以下の式（１６）を満たす。
【００９８】
【数１６】
2014157509.tif 000018
【００９９】
ηはカーネルの幅を決める正の定数で、η＝２などと設定する。このコストＥｎが大きい状態とは、視点ｎから形状モデル中心を結ぶ視線方向に対して、形状モデルを構成する平面のうち、面積の大きなものが直交に近い状態にあることを意味する。すなわち、回転変換Ｒ（θ）を、コストＥｎが小さくなるように設定できれば、視線方向に対して直交する面が減るように視点を更新することができる。
【０１００】
ステップＳ１２００で設定された視点に対して回転変換Ｒ（θ）を行った場合のエネルギー関数Ｅを、以下のように定義する。
【０１０１】
【数１７】
2014157509.tif 000019
【０１０２】
これを勾配法で解くと、θの更新式は以下のようになる。
【０１０３】
【数１８】
2014157509.tif 000020
【０１０４】
ここでζは０＜ζ＜１の範囲で設定される更新係数で、ζ＝０．１などと設定する。回転変換Ｒ（θ）は、初期設定では回転なし（Ｒ＝単位行列）に設定することが常套であるが、その初期値に限るものではない。回転変換Ｒ（θ）の初期値からスタートして、式（１８）を逐次実行して回転変換Ｒ（θ）を更新していく。回転変換Ｒ（θ）の変化が所定の閾値より小さくなった場合に、収束したものと見なし、逐次計算を終了する。そして式（１９）に示す如く、収束時の回転変換Ｒ（θ）をステップＳ１２００で設定されたすべての視点Ｖｎ（ｎ＝１…Ｎ）に対して行い、視点Ｖｎを更新する。
【０１０５】
【数１９】
2014157509.tif 000021
【０１０６】
視点をすべて更新したら、処理はステップＳ１４００に進む。ステップＳ１４００では、上記の処理によって確定した各姿勢クラスに対応するデプス画像を学習画像として外部記憶装置１３５６やＲＡＭ１３５２などのメモリに出力する。以降の処理については第１の実施形態で説明したとおりであるため、説明は省略する。
【０１０７】
［第５の実施形態］
設定された視点における識別器の内部状態に対して、その近傍視点における識別器の状態が極端に変化しないかどうかを、視点更新の条件としてもよい。その場合の処理を、図７（ｂ）および図８（ｄ）を用いて説明する。
【０１０８】
ステップＳ１１００及びステップＳ１２００における処理は第１の実施形態と同様である。ステップＳ１７００における学習画像生成工程では、各姿勢クラスに対応するデプス画像を学習画像として取得する。なお、各姿勢クラスに対応するデプス画像の取得方法については第１の実施形態で説明したとおりである。ステップＳ１５００における処理は第１の実施形態で説明した通りである。
【０１０９】
次に、ステップＳ１３００で行う処理について、同処理の詳細を示す図８（ｄ）のフローチャートを用いて説明する。ステップＳ１３４１における視点変動画像生成工程では、現在設定されている視点から微小移動させた近傍視点を設定し、その近傍視点から見たときの形状モデルの画像を生成する。ここで近傍視点とは、設定されている視点Ｖｎ（ｎ＝１，，，Ｎ）に対し、Ｖｎからわずかにずらした位置の視点のことである。図１０におけるＡ４６０がＶｎであったとすると、Ａ４６１で表わされる近傍視点位置Ｖｎｊ（ｊ＝１…Ｊ：図１０ではＪ＝６）は、Ａ４６０をＡ４７０で表わされる微小角度δだけずらして得られる。ここで微小角度δは、０に近い小さな値で、視点Ｖｎの隣接視点との角度より小さな値を設定する。例えば、Ｖｎの隣接視点Ｖｎ’とのなす角が７ｄｅｇであれば、δ＝３ｄｅｇなどと設定する。隣接視点Ｖｎ’は、以下のようにして定義される。
【０１１０】
【数２０】
2014157509.tif 000022
【０１１１】
ここでａｎｇ（Ｖｎ，Ｖｋ）は、測地ドーム中心から見たときの視点Ｖｎと視点Ｖｋのなす角である。ここではＶｎとＶｋはいずれも単位ベクトルで表わされるため、以下の式（２１）が満たされる。
【０１１２】
【数２１】
2014157509.tif 000023
【０１１３】
近傍視点は各視点Ｖｎに対して周回して複数個設定することが望ましく、図１０のようにＶｎを中心にして均等角度間隔で数点、例えば６０ｄｅｇ間隔で６点（Ｊ＝６）、などと設定してもよい。設定された近傍視点方向から見た形状モデルの画像Ｉ［ｎｊ，ｒ］（ｎ＝１…Ｎ、ｊ＝１…Ｊ、ｒ＝１…Ｎｒ）を生成する。
【０１１４】
ステップＳ１３４２における比較工程では、設定されている視点とその近傍視点において識別器の状態を比較して、どの程度変化したかを見る。ステップＳ１７００で生成された視点Ｖｎに対する学習画像と、ステップＳ１３４１で生成された視点Ｖｎの近傍視点に対する画像と、をステップＳ１５００で生成された識別器に入力する。そのときの、それぞれの識別器の状態に関する類似度を算出する。類似度としてはさまざまなものが考えられるが、例えばツリー型識別器による例で考えると以下のようになる。
【０１１５】
入力画像Ｉに対する視点ｎの面内回転ｒに対応する姿勢クラスν［ｎ，ｒ］に対する、複数ツリーによる投票スコアをＳＣＯＲＥ（ν［ｎ，ｒ］，Ｉ）としたとき、視点Ｖｎと近傍視点Ｖｎｊの類似度Ｓｉｍ（ｎ，ｊ）を以下のように定義する。
【０１１６】
【数２２】
2014157509.tif 000024
【０１１７】
ここでＩ［ｎ，ｒ］は、視点ｎの面内回転ｒに対応する姿勢クラスの学習画像である。他には、識別器が枝刈りされたツリーやＦＥＲＮであるなら、ツリーｍの終端ノードで得られたクラスν［ｎ，ｒ］に関するスコアをＰｍ（ν［ｎ，ｒ］｜Ｉ）としたとき、識別器全体の情報量を類似度として用いることもできる（式（２３））。
【０１１８】
【数２３】
2014157509.tif 000025
【０１１９】
視点ｎにおける近傍視点に対する類似度の最小値を、視点ｎの比較尺度Ｌｎとする（式（２４））。
【０１２０】
【数２４】
2014157509.tif 000026
【０１２１】
近傍視点に対する類似度の、全視点に関する尺度Ｌは、Ｌｎの総和（式（２５））、二乗和（式（２６））、最小値（式（２７））の何れかによって算出される。
【０１２２】
【数２５】
2014157509.tif 000027
【０１２３】
【数２６】
2014157509.tif 000028
【０１２４】
【数２７】
2014157509.tif 000029
【０１２５】
その他には、カルバック・ライブラー情報量（相対エントロピー）を利用して尺度Ｌを定義してもよい（式（２８））。
【０１２６】
【数２８】
2014157509.tif 000030
【０１２７】
そしてこのような何れかの方法によって求めた尺度Ｌが閾値θＬ以下であれば、処理はステップＳ１８００に進む。一方、尺度Ｌが閾値θＬより大きい場合は、処理はステップＳ１３４３に進む。ステップＳ１３４３における視点移動工程では、第１の実施形態で説明したステップＳ１３１２における処理と同様の処理を行って、視点の移動を行う。
【０１２８】
ステップＳ１８００では、ステップＳ１３４３の処理を行って視点移動させたか否かを判断する。この判断の結果、視点移動させていない場合には、図７（ｂ）の処理は終了する。一方、視点移動させている場合には、処理はステップＳ１７００に戻り、移動させた新たな視点を用いて以降のステップを実行する。
【０１２９】
これにより、図７（ｂ）のフローチャートに従った処理が終了した時点で設定されている視点による学習画像を、最終的に識別器に与える学習画像として出力することができる。
【０１３０】
なお、上記のような処理は、あらかじめ所定数Ｔの視点集合を生成しておき、すべてを比較して最も尺度Ｌの小さなものを選んでもよい。その場合は、ステップＳ１３００における処理の詳細は、図８（ｅ）のようになる。
【０１３１】
先ず、ステップＳ１２００で設定された視点集合をＵ０として保持し、繰り返し回数ｔ＝０と初期化しておく。ステップＳ１３４１における処理は上記の通りである。そして、所定数Ｔの視点集合が生成されていなければ、ｔを１つインクリメントして上記と同様にしてステップＳ１３４３の処理を行い、得られた視点集合Ｕｔを保持する。所定数Ｔは、第２の実施形態と同様にして設定する。所定数Ｔの視点集合が生成されたら、処理はステップＳ１３４４に進む。
【０１３２】
ステップＳ１３４４における視点選択工程では、視点集合Ｕ０，Ｕ１…ＵＴのそれぞれに対して、前述の尺度Ｌを算出する。そして、視点集合Ｕｔに対する尺度をＬｔとしたときに、Ｌ０，Ｌ１…ＬＴのうち最小値Ｌｃを特定し、特定した最小値Ｌｃに対応する視点集合Ｕｃを、最終的な視点として選択する（式（２９））。
【０１３３】
【数２９】
2014157509.tif 000031
【０１３４】
選択された視点集合Ｕｃに対応する学習画像で学習された識別器を、最終的な識別器とする。尺度Ｌｔの値はステップＳ１３４４ではなく、ステップＳ１３４１で求めるようにしてもよい。その場合、尺度ＬｔをステップＳ１３４４で利用できるように保持していれば、Ｌｔとそれまでの最小値との比較により、視点集合Ｕｔ、それまでの最小値に対応する視点集合の何れかだけを残しておけばよい。その為、生成された学習画像や近傍視点画像をすべて保持しておく必要はない。
【０１３５】
［第６の実施形態］
設定された視点における学習画像から学習して得られた識別器の状態を視点更新の条件としてもよい。その場合の処理を、図７（ｂ）および図１１（ａ）を用いて説明する。ステップＳ１１００、ステップＳ１２００、ステップＳ１７００、ステップＳ１５００における処理は第１の実施形態と同様である。
【０１３６】
ステップＳ１３００における処理について、同処理の詳細を示す図１１（ａ）のフローチャートを用いて説明する。ステップＳ１３５１における識別器判定工程では、学習して得られた識別器の内部状態がどの程度偏っているかを判定する。ここで偏りとはさまざまなものが考えられる。例えば、条件分岐における偏りを尺度として考えれば、姿勢クラスνに対する尺度Ｂνは以下のように定義できる。
【０１３７】
【数３０】
2014157509.tif 000032
【０１３８】
【数３１】
2014157509.tif 000033
【０１３９】
ここでρｍ（Ｉν，ｍ，ｄ）は、ツリーｍ（ｍ＝１，，，Ｍ）に学習画像Ｉνを入力したときの、深さｄ（ｄ＝１，，，Ｄ）におけるノードにおける分岐が、式（１）の条件に従う場合には０を、式（２）の条件に従う場合には１を返す関数であるとする。ただし、Ｄはツリーの根ノードから終端ノードまでの分岐数である。式（３１）で表わされる値Ｃν，ｍは、ツリーｍにおいて式（１）の条件に従う分岐をカウントした値となる。各ノードの分岐が完全に無作為であれば、Ｃν，ｍはＢ（Ｄ，０．５）の二項分布に従う。よって、Ｃν，ｍを正規化した値である尺度Ｂνは、最小で０、最大で１の値を取り得り、分岐に偏りがなければ０．５に近い値を取る。学習画像Ｉν（ν＝１，，，Ｎ×Ｎｒ）を入力したときの尺度Ｂνの最大値を、Ｂｍａｘとする（式（３２））。
【０１４０】
【数３２】
2014157509.tif 000034
【０１４１】
得られた尺度Ｂｍａｘが所定の閾値θより大きければ、処理はステップＳ１３５３に進み、閾値以下であれば、処理はステップＳ１８００に進む。閾値は０．５＜θ＜１の範囲で設定され、例えばθ＝０．７などと与える。あるいは、学習画像に対してノイズを加えたときのロバストさを、偏りの尺度としてもよい。学習画像Ｉνに対して、Ｗ通りのホワイトノイズを加えた画像をＩν，ｗ（ｗ＝１…Ｗ）とする。このとき、尺度Ｂνを以下のように定義する。
【０１４２】
【数３３】
2014157509.tif 000035
【０１４３】
この値が小さければ、姿勢νはノイズに対してロバストであることになる。式（３２）と同様にして、この尺度Ｂνの最大値を尺度Ｂｍａｘとする。ここではノイズは学習画像に対して与えるとしたが、各ノードの分岐時にノイズを付加してもロバストさを測ることはできる。
【０１４４】
ステップＳ１３５３における視点移動工程では、第１の実施形態で説明したステップＳ１３１２における処理と同様の処理を行って、視点の移動を行う。これにより、図７（ｂ）のフローチャートに従った処理が終了した時点で設定されている視点による学習画像を、最終的に識別器に与える学習画像として出力することができる。
【０１４５】
なお、上記のような処理は、あらかじめ所定数Ｔの視点集合を生成しておき、すべてを比較して尺度Ｂｍａｘが最も小さくなるものを選んでもよい。その場合は、ステップＳ１３００における処理の詳細は、図１１（ｂ）のようになる。
【０１４６】
先ず、ステップＳ１２００で設定された視点集合をＵ０として保持し、繰り返し回数ｔ＝０と初期化しておく。ステップＳ１３５１における処理は上記の通りである。そして、所定数Ｔの視点集合が生成されていなければ、ｔを１つインクリメントして上記と同様にしてステップＳ１３５３の処理を行い、得られた視点集合Ｕｔを保持する。所定数Ｔは、第２の実施形態と同様にして設定する。所定数Ｔの視点集合が生成されたら、処理はステップＳ１３５４に進む。
【０１４７】
ステップＳ１３５４における視点選択工程では、視点集合Ｕ０，Ｕ１…ＵＴのそれぞれに対して、前述の尺度Ｂｍａｘを算出する。そして、視点集合Ｕｔに対する尺度をＢｔ，ｍａｘとしたときに、Ｂ０，ｍａｘ，Ｂ１，ｍａｘ…ＢＬ，ｍａｘのうち最小値Ｂｃ，ｍａｘを特定し、特定した最小値Ｂｃ，ｍａｘに対応する視点集合Ｕｃを、最終的な視点として選択する（式（３４））。
【０１４８】
【数３４】
2014157509.tif 000036
【０１４９】
そして、選択された視点集合Ｕｃに対応する学習画像で学習された識別器を、最終的な識別器とする。
【０１５０】
［第７の実施形態］
第１〜６の実施形態で得られた視点に対し、さらに特徴が急激に変化する視点を追加してやってもよい。その場合、各実施形態におけるステップＳ１３００の最後に、以下のような処理を行う。
【０１５１】
ステップＳ１２００若しくはステップＳ１３００で生成された視点すべてに対して、上記の平面度Ｐｎを算出する。そして、算出された平面度Ｐｎが、第１の実施形態で述べられている閾値εｎより大きくなる視点は、ステップＳ１３００で得られた視点の集合に追加する。即ち、更に、それぞれの位置（各視点）のうち評価値が閾値より大きい位置からそれぞれ異なるロール角で形状モデルを見た該形状モデルの画像を、学習用画像として出力する。これにより、図６（ｃ）におけるＢ４４１で表わされる視点Ｙが追加され、そのスコア曲線Ｂ１４１で示されるように、特異姿勢における識別能力が補間されることになる。
【０１５２】
［第８の実施形態］
二点比較による識別器の場合で、設定した視点の中に特異点となる姿勢が含まれていることが分かった場合には、学習画像自体にバイアスを加えてもよい。その場合の処理を、図７（ｃ）を用いて説明する。
【０１５３】
ステップＳ１１００，ステップＳ１２００，ステップＳ１７００のそれぞれにおける処理は上記の通りである。ステップＳ１６００における学習画像更新工程では、まず、学習画像の中で特異点となる姿勢クラスの学習画像が含まれているかどうかを判断する。判断基準としては、第１の実施形態で説明した平面度Ｐｎを利用する。すべての視点ｎ＝１…Ｎの中でひとつでも平面度Ｐｎが閾値εｎより大きければ、すべての学習画像に対してバイアスを与える。学習画像に与えるバイアスとは、例えば図１２のように、画像座標に対して線形に与えるものである。Ｃ６００は学習画像Ｉνであり、それを切断位置Ｃ６１０で切断した時のデプスがＣ６２０で与えられているとする。このとき、線形のバイアスをかけることで、断面のデプスはＣ６３０のように更新される。学習画像Ｉνの学習画像座標系（学習画像中の１点（例えば左上隅）を原点とする座標系）の位置Ｘ＝（ｘ、ｙ）におけるデプス値がＤν（Ｘ）であったときに、バイアスを付加したデプス値として、Ｄν（Ｘ）は以下のように更新される。
【０１５４】
【数３５】
2014157509.tif 000037
【０１５５】
バイアス関数ｆ（Ｘ）は、Ｘに対して線形な関数であり、以下のように定義される。
【０１５６】
【数３６】
2014157509.tif 000038
【０１５７】
ただし、ａ、ｂ、ｃは定数である。勾配を表わす定数ａおよびｂは、作業領域における画像解像度と、測地ドームの最短視点間角度によって決定される。例えば、画像解像度が１ｍｍ／画素で、最短視点間角度が７ｄｅｇであったとすると、ａ＝０．１、ｂ＝０、ｃ＝０などと設定する。
【０１５８】
ステップＳ１５００では、ステップＳ１６００で更新された学習画像を用いて、対象物体の姿勢を識別する識別器の学習処理を行う。学習して得られた識別器を使って入力画像Ｉに対して識別を行う際には、画像全体に対して上記と同様のバイアスを加える。入力画像座標系におけるｘ軸とｙ軸は、学習画像座標系におけるｘ軸とｙ軸に対して同じ方向であれば、式（３６）のバイアスを同様にして与えてやればよい。すなわち、入力画像における位置ＸＳ＝（ｘＳ、ｙＳ）のデプス値Ｄ（ＸＳ）を、以下のように更新してから識別器による探索を行う。
【０１５９】
【数３７】
2014157509.tif 000039
【０１６０】
二点比較による分岐を考えると、デプスの大小関係のみが重要であるため、入力画像と学習画像の原点位置の違いは影響を与えない。これにより、図４のような大きな面Ａ４１０が視線方向Ａ４４０の軸と直交するような状態に対して、疑似的にデプスに勾配を与えたこととなり、式（２）の条件ばかりが満たされるような特殊な状況を回避することができる。
【０１６１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014157509.tif 000040
【図２】
2014157509.tif 000041
【図３】
2014157509.tif 000042
【図４】
2014157509.tif 000043
【図５】
2014157509.tif 000044
【図６】
2014157509.tif 000045
【図７】
2014157509.tif 000046
【図８】
2014157509.tif 000047
【図９】
2014157509.tif 000048
【図１０】
2014157509.tif 000049
【図１１】
2014157509.tif 000050
【図１２】
2014157509.tif 000051
【図１３】
2014157509.tif 000052