(57)【要約】      （修正有）【課題】実環境中に光源変化が発生した場合や、対象物体の姿勢変化による見えの変化が発生した場合でも、安定的な位置姿勢推定を実現可能とする。【解決手段】位置姿勢推定装置は、撮像装置によって観察対象物体を撮像して得られた実写画像と、前記観察対象物体の形状及び表面情報を表す３次元モデルデータと撮像装置の位置姿勢情報とに基づいて３次元モデルを画像平面上に投影することにより生成された描画画像との対応を検出することにより、撮像装置と観察対象物体の相対的な位置姿勢を算出する。そして、算出された位置姿勢に基づいて実写画像における観察対象物体の画像情報を当該３次元モデルデータの表面情報に対応付けることにより、その表面情報が更新される。【選択図】図１
2010267231.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置によって観察対象物体を撮像して得られた実写画像を取得する取得手段と、
前記観察対象物体の形状及び表面情報を表す３次元モデルデータを保持する保持手段と、
前記３次元モデルデータと前記撮像装置の位置姿勢情報とに基づいて３次元モデルを画像平面上に投影することにより描画画像を生成する描画手段と、
前記描画手段により生成された描画画像と、前記実写画像における観察対象物体の画像との対応を検出することにより、前記撮像装置と前記観察対象物体の相対的な位置姿勢を算出する算出手段と、
前記算出手段で算出された位置姿勢に基づいて前記実写画像における前記観察対象物体の画像情報を前記保持手段が保持する前記３次元モデルデータの前記表面情報に対応付けることにより、前記表面情報を更新する更新手段とを備えることを特徴とする位置姿勢推定装置。
【請求項２】
前記算出手段は、前記描画画像と前記実写画像における前記観察対象物体の画像との差分に基づいて位置姿勢を算出することを特徴とする請求項１に記載の位置姿勢推定装置。
【請求項３】
前記算出手段は、
前記描画画像から前記３次元モデルデータの輝度または色に基づく特徴を抽出するモデル特徴抽出手段と、
前記実写画像から前記観察対象物体の輝度または色に基づく特徴を抽出する画像特徴抽出手段とをさらに備え、
前記モデル特徴抽出手段により抽出された特徴と、前記画像特徴抽出手段により抽出された特徴との対応関係から、前記撮像装置の前記観察対象物体に対する相対的な位置姿勢を算出することを特徴とする請求項１に記載の位置姿勢推定装置。
【請求項４】
前記モデル特徴抽出手段および前記画像特徴抽出手段は、エッジ特徴を抽出することを特徴とする請求項３に記載の位置姿勢推定装置。
【請求項５】
前記モデル特徴抽出手段および前記画像特徴抽出手段は、点特徴を抽出することを特徴とする請求項３に記載の位置姿勢推定装置。
【請求項６】
前記更新手段は、前記観察対象物体の画像情報を用いて、３次元モデルデータの対応するテクスチャ画像を更新することを特徴とする請求項１乃至５のいずれか１項に記載の位置姿勢推定装置。
【請求項７】
取得手段が、撮像装置によって観察対象物体を撮像して得られた実写画像を取得する取得工程と、
描画手段が、保持手段に保持された前記観察対象物体の形状及び表面情報を表す３次元モデルデータと、前記撮像装置の位置姿勢情報とに基づいて３次元モデルを画像平面上に投影することにより描画画像を生成する描画工程と、
算出手段が、前記描画工程により生成された描画画像と、前記実写画像における観察対象物体の画像との対応を検出することにより、前記撮像装置と前記観察対象物体の相対的な位置姿勢を算出する算出工程と、
更新手段が、前記算出工程で算出された位置姿勢に基づいて前記実写画像における前記観察対象物体の画像情報を前記保持手段が保持する前記３次元モデルデータの前記表面情報に対応付けることにより、前記表面情報を更新する更新工程とを有することを特徴とする位置姿勢推定方法。
【請求項８】
請求項７に記載の位置姿勢推定方法の各工程をコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観察対象物体の形状を表す３次元モデルデータと撮像装置が撮像した観察対象物体の撮像画像を利用して、撮像装置と観察対象物体との相対的な位置姿勢を計測する位置姿勢計測技術に関するものである。
【背景技術】
【０００２】
現実空間を撮像するカメラなどの撮像装置を用いて、観察対象物体と上記観察対象物体を撮像する撮像装置との相対的位置姿勢を計測する技術が提案されている。このような位置姿勢の計測技術は、現実空間と仮想空間を融合表示する複合現実感システムや、ロボットの位置姿勢計測において、非常に有用な技術である。この位置姿勢計測技術は、観察する対象物体が事前にわかっている場合には、その物体の情報と実際の映像との比較・照合によって位置姿勢を推定する問題となる。
【０００３】
その方策として、物体の形状および表面情報(色・模様など)を表す３次元モデルをＣＧ描画することで、観察するカメラとの相対的な位置姿勢を推定する手法が非特許文献１に記載されている。その基本的なアプローチは、３次元モデルをＣＧ描画して得られる描画画像と実物体を撮影した実写画像の二つの画像が整合するようにカメラの位置姿勢を修正・最適化する方法である。
【０００４】
具体的には、まず、（１）前フレームでのカメラの位置及び姿勢（位置姿勢ともいう）及び予め校正済みのカメラの固有パラメータに基づいて３次元モデルデータをＣＧ描画する。これにより、３次元モデルデータの表面情報（表面上の輝度値）が画像平面上に投影された画像が得られる。この画像を描画画像と呼称する。（２）結果として得られた描画画像からエッジを検出する。ここで、画像上で輝度が不連続に変化する領域をエッジと呼称する。（３）描画画像でエッジが検出された位置の近傍において、撮像画像等の実写画像からエッジ検出を行う。この処理により、描画画像中のエッジが実写画像中のどのエッジに対応するかを探索する。（４）前ステップの対応探索において、描画画像のエッジに対応する実写画像のエッジが複数検出された場合、エッジの類似度を利用して、対応するエッジを選別する。エッジの類似度は、両画像中でのエッジ周辺の輝度分布を正規化相互相関により比較することで求める。この処理により、対応候補として検出された実写画像のエッジの中で、もっともエッジのアピアランス(ここでは、エッジ周辺の輝度分布)が近いエッジを対応エッジとして選択する。（５）描画画像から検出されたエッジと、それに対応する実写画像のエッジとが、画像上での距離が最小になるように撮像装置の位置及び姿勢の補正値を求め、撮像装置の位置及び姿勢を更新する。この処理を前述の距離の和が収束するまで繰り返すことにより、最終的な撮像装置の位置及び姿勢を得る。
【０００５】
前述の３次元モデルに基づく位置姿勢推定方法では、描画画像中のエッジと実写画像中のエッジとの対応付けに基づいて位置姿勢を推定しているため、エッジの対応付けの正確さが位置姿勢推定の精度に大きな影響を与える。前述の手法では、両画像から抽出されるエッジ周辺の輝度分布を比較し、両画像間で最も類似するエッジを選択することでエッジの対応付けを行っている。しかし、位置姿勢推定に利用する３次元モデルデータの表面情報が、実写画像中に撮像される対象物体と大きく異なる場合には、その描画画像と実写画像から抽出した輝度分布を比較したとしても、正しくエッジの対応付けを行うことは困難である。そこで、前述の手法では、３次元モデルのテクスチャを実写画像からあらかじめ取得することで、実写画像中に撮像される対象物体のアピアランスに近い３次元モデルデータを生成している。また、非特許文献２に記載された手法では、実環境中の光源環境をあらかじめ取得しておき、実光源環境に即した光源を設定してテクスチャ付き３次元モデルを描画することで、実写画像中に撮像される対象物体に近いアピアランスの描画画像を生成している。
【０００６】
また、３次元モデルデータの表面情報を利用する方策と異なる方策として、エッジ周辺の輝度分布を過去フレームの実写画像から時系列的に取得・更新する手法が非特許文献３に記載されている。この手法では、３次元モデルデータの描画は行わず、画像平面に投影した３次元モデル中のエッジと実写画像中のエッジとを直接対応づけることで位置姿勢計算を行う。このエッジの対応付けに、３次元モデル中のエッジと実写画像中のエッジとの対応が既に求まっている前フレームの実写画像から取得した輝度分布を利用する。３次元モデル中のエッジの輝度分布を、前フレームの実写画像中において対応するエッジの輝度分布から取得・保持し、現フレームの実写画像との対応付けに用いる。これにより、実写画像中に撮像される対象物体のアピアランスに即した輝度分布を用いた精度の高い対応付けが可能となる。
（以下のリストにおいて、非特許文献４〜６は「発明を実施するための最良の形態」の欄で引用されている）
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】G. Reitmayr and T. W. Drummond,“Going out: robust model-based tracking for outdoor augmented reality,” Proc.The 5thIEEE/ACM International Symposium on Mixed and Augmented Reality(ISMAR06),pp.109-118 2006.
【非特許文献２】森谷貴行, 日浦慎作, 佐藤 宏介, “多視点画像とCG画像の比較に基づく動物体の運動計測,”電子情報通信学会論文誌,Vol.J88-D-II, No.5, pp. 876-885(Mar. 2005).
【非特許文献３】H. Wuest, F. Vial, and D. Stricker,“Adaptive line tracking with multiple hypotheses for augmented reality,” Proc.The Fourth Int’l Symp. on Mixed and Augmented Reality(ISMAR05), pp.62-69, 2005.
【非特許文献４】H. Wuest, F. Wientapper, D. Stricker,W. G. Kropatsch, “Adaptable model-based tracking using analysis-by-synthesis techniques,”Computer analysis of images and patterns. 12th international conference, CAIP2007, pp.20-27, 2007.
【非特許文献５】K. Satoh, S. Uchiyama, H.Yamamoto, and H. Tamura, “Robust vision-based registration utilizing bird’s-eyeview with user’s view,” Proc. The 2ndIEEE/ACM International Symposium on Mixedand Augmented Reality (ISMAR03),pp.46-55,2003.
【非特許文献６】I. Skrypnyk and D. G. Lowe, “Scenemodelling, recognition and tracking with invariant image features,” Proc. The3rd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR04),pp.110-119, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１に記載された手法では、あらかじめ実写画像中に撮像される物体の表面色や模様、光源環境を考慮し、実環境中の観察対象物体と同様の見た目になるように３次元モデルデータが描画される。そして、このような描画画像が実写画像に整合するように位置姿勢を推定している。そのため、実写画像中に撮像される対象物体のアピアランスが、作成された３次元モデルデータと類似する範疇においては、対象物体の位置姿勢を安定的に推定することが可能である。
【０００９】
しかし、例えば、図２に示すように、屋内作業空間においてベルトコンベア上で流れてくる物体の位置姿勢を推定しようとした場合には、照明と物体との相対的な位置関係に応じて、物体のアピアランスは大きく動的に変化することになる。そのため、一定の照明環境下における物体の見えを再現した３次元モデルデータを作成したとしても、移動に伴う光源変化により、実写画像と描画画像との間に不整合が生じ、位置姿勢推定の精度が低下してしまう。また、屋外シーンや屋外光が照射されるシーンなどの、太陽の日内変動や天候変化の影響を受ける場面や、部屋の電気をつける／消す、対象物体の近くに物が置かれるなどの環境中の光源が変化する場面でも同様の課題が発生する。これらの例に示すように、前述の位置姿勢推定手法は、対象物体の光源変化による見えの変化に弱いという課題がある。
【００１０】
これに対し、非特許文献２の方式では、光源の情報を既知として、光源情報に基づいたＣＧ描画により３次元モデルデータの描画画像を生成している。そのため、光源が既知の環境においては、光源環境の相対的な位置変化に対応することは可能である。しかし、撮像装置の移動に伴って相対的に光源が移動する場合など、実際の光源位置が、設定と異なる場合には、対応することが出来ないという課題がある。また、光源位置が未知の場合は、非特許文献１の手法と同様の課題がおきる。
【００１１】
これらの課題に対して、非特許文献３の手法では、過去フレームの実写画像から取得した対象物体の輝度分布を画像平面上１次元ベクトルとして３次元モデル上に保持／更新して、３次元モデルと実写画像との対応付けに利用している。これにより、この手法では、対象物体に光源変化が発生した場合でも、問題なく位置姿勢を推定することが可能である。しかし、実写画像上での観察対象物体の輝度分布は、３次元モデル上で同じ点でも、観察する方向に応じて大きく変化する。そのため、対象物体がフレーム間で大きく姿勢変化した場合には、３次元モデル上で画像平面上１次元ベクトルとして保持している輝度分布と、実写画像中に撮像される観察対象物体の輝度分布とが、大きく異なってしまう。そのため、正確な対応付けを行うことが困難になるという課題が発生する。
【００１２】
以上のように、従来提案されている手法では、対象物体に光源変化が発生した場合には対応できず、また光源変化に対応可能である従来手法では、対象物体の大きな位置姿勢変化による見えの変化に本来的に対応できないという課題があった。
【００１３】
本発明は、以上の課題を鑑みてなされたものであり、実環境中に光源変化が発生した場合や、対象物体の姿勢変化による見えの変化が発生した場合でも、安定的な位置姿勢推定を実現可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するための本発明の一態様による位置姿勢推定装置は、
撮像装置によって観察対象物体を撮像して得られた実写画像を取得する取得手段と、
前記観察対象物体の形状及び表面情報を表す３次元モデルデータを保持する保持手段と、
前記３次元モデルデータと前記撮像装置の位置姿勢情報とに基づいて３次元モデルを画像平面上に投影することにより描画画像を生成する描画手段と、
前記描画手段により生成された描画画像と、前記実写画像における観察対象物体の画像との対応を検出することにより、前記撮像装置と前記観察対象物体の相対的な位置姿勢を算出する算出手段と、
前記算出手段で算出された位置姿勢に基づいて前記実写画像における前記観察対象物体の画像情報を前記保持手段が保持する前記３次元モデルデータの前記表面情報に対応付けることにより、前記表面情報を更新する更新手段とを備える。
【００１５】
また、上記の目的を達成するための本発明の一態様による位置姿勢推定方法は、
取得手段が、撮像装置によって観察対象物体を撮像して得られた実写画像を取得する取得工程と、
描画手段が、保持手段に保持された前記観察対象物体の形状及び表面情報を表す３次元モデルデータと、前記撮像装置の位置姿勢情報とに基づいて３次元モデルを画像平面上に投影することにより描画画像を生成する描画工程と、
算出手段が、前記描画工程により生成された描画画像と、前記実写画像における観察対象物体の画像との対応を検出することにより、前記撮像装置と前記観察対象物体の相対的な位置姿勢を算出する算出工程と、
更新手段が、前記算出工程で算出された位置姿勢に基づいて前記実写画像における前記観察対象物体の画像情報を前記保持手段が保持する前記３次元モデルデータの前記表面情報に対応付けることにより、前記表面情報を更新する更新工程とを有する。
【発明の効果】
【００１６】
本発明によれば、実写画像中に撮像される対象物体の画像情報に基づいて３次元モデルの表面情報が更新されるので、３次元モデルの表面情報に基づく位置姿勢推定において、光源変化や対象物体の位置姿勢の大きな変化に対する頑健さが提供される。
【図面の簡単な説明】
【００１７】
【図１】第一の実施形態における位置姿勢推定装置の構成を示す図。
【図２】対象物体と光源環境との相対的な位置姿勢変化に伴う対象物体の光源変化を示す図。
【図３】第一の実施形態における３次元モデルデータを利用した位置姿勢の推定方法の処理手順を示すフローチャート。
【図４】第一の実施形態における、位置姿勢推定のためのモデル特徴抽出の詳細な処理手順を示すフローチャート。
【図５】第一の実施形態における、描画画像特徴と実写画像特徴との対応付けにおける詳細な処理手順を示すフローチャート。
【図６】第一の実施形態における、３次元モデルデータの表面情報の実写画像に基づく更新における詳細な処理手順を示すフローチャート。
【図７】第二の実施形態における位置姿勢推定装置２の構成を示す図。
【図８】第二の実施形態における３次元モデルデータを利用した位置姿勢の推定方法の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１９】
［第一の実施形態］（エッジを利用した位置姿勢推定におけるアピアランス更新）
本実施形態では、本発明の画像処理装置及びその方法を、３次元モデルの描画結果および実写画像から抽出したエッジの対応に基づいて位置姿勢推定する手法に適用した場合について、説明する。
【００２０】
図１は、観察対象物体の形状を表す３次元モデルデータ１０を利用して位置姿勢推定を行う位置姿勢推定装置１の構成を示している。位置姿勢推定装置１において、３次元モデル保存部１１０は、３次元モデルデータ１０を保存する。画像取得部１２０は撮像装置１００からの撮像画像を実写画像として取得する。３次元モデル描画部１３０は、３次元モデル保存部１１０に保存されている３次元モデルデータ１０を画像平面上に投影／描画して描画画像を生成する。モデル特徴抽出部１４０は３次元モデル描画部１３０が描画した描画画像から、その輝度および／または色などに基づいて特徴（例えばエッジ特徴、点特徴等）を抽出する。画像特徴抽出部１５０は、画像取得部１２０が取得した実写画像における観察対象物体の画像からその輝度および／または色などに基づいて特徴（例えばエッジ特徴、点特徴等）を抽出する。特徴対応付け部１６０は、モデル特徴抽出部１４０が抽出した特徴と、画像特徴抽出部１５０が抽出した特徴とを対応付ける。位置姿勢算出部１７０は、特徴対応付け部１６０により対応付けられた特徴領域に基づいて撮像装置１００の位置姿勢を算出する。モデル更新部１８０は、位置姿勢算出部１７０で算出された位置姿勢に基づいて３次元モデルデータと実写画像とを対応付け、３次元モデルデータ１０が有する表面情報（テクスチャ等）を更新する。撮像装置１００は、画像取得部１２０に接続されている。
【００２１】
以上の構成により、位置姿勢推定装置１は、３次元モデル保存部１１０に保存されている観察対象物体の形状を表す３次元モデルデータ１０をもとに、実写画像中に撮像される観察対象物体の位置および姿勢を計測する。なお、本実施形態において、位置姿勢推定装置１が適用できる条件としては、３次元モデル保存部１１０に保存された３次元モデルデータ１０が、現実に撮像される観察対象物体の形状に即していることを前提としている。
【００２２】
次に、位置姿勢推定装置１を構成する各部について詳細に説明する。３次元モデル保存部１１０は、３次元モデルデータ１０を記憶する。３次元モデルデータ１０は、位置姿勢算出の基準となる、観察対象物体の３次元的な幾何情報(頂点座標や面情報)および表面情報（色や模様）を表すモデルである。３次元モデルデータ１０の形式は、対象物体の形状を表す幾何情報を保持し、かつ、対象物体の幾何情報に対応する表面情報が保持することが出来る限り、いずれの形式でもよい。例えば、頂点と面とで構成されたメッシュモデルにより幾何形状を表し、テクスチャ画像をＵＶマッピングでメッシュモデルに貼り付けることで表面情報を表してもよい。或いは、ＮＵＲＢＳ曲面により幾何形状を表し、テクスチャ画像を球面マッピングでＮＵＲＢＳ曲面に貼り付けることで表面情報を表してもよい。本実施形態では、頂点情報および各頂点を結んで構成される面の情報と、テクスチャ画像および頂点情報に対応するテクスチャ画像座標の情報とを含むＣＡＤモデルを３次元モデルデータ１０として利用する。
【００２３】
画像取得部１２０は、撮像装置１００によって撮像された撮像画像を実写画像として位置姿勢推定装置１に入力する。画像取得部１２０は、撮像装置の出力がＮＴＳＣなどのアナログ出力であればアナログビデオキャプチャボードによって実現される。また撮像装置の出力がＩＥＥＥ１３９４などのデジタル出力であれば、例えばＩＥＥＥ１３９４インタフェースボードによって実現される。また、予め記憶装置（不図示）に記憶してある静止画像や動画像のデジタルデータを読み出してもよい。したがって、以下では画像取得部１２０が取得する画像を実写画像とも記載する。
【００２４】
３次元モデル描画部１３０では、３次元モデル保存部１１０において、保存された３次元モデルデータ１０を描画する。３次元モデル描画部１３０において描画に利用するグラフィックライブラリは、例えば、OpenGLやDirectXなどの広く利用されているグラフィックライブラリでも、独自に開発したグラフィックライブラリでもよい。すなわち、３次元モデル保存部１１０に保存されたモデル形式を画像平面上に投影することができる限り、いずれの方式を用いても良い。本実施形態ではグラフィックライブラリとしてOpenGLを利用する。
【００２５】
モデル特徴抽出部１４０は、３次元モデル描画部１３０が生成した描画画像から、撮影画像（実写画像）に３次元モデルを当てはめるための特徴を抽出する。本実施形態では、モデル特徴抽出部１４０においては、３次元モデル描画部１３０が３次元モデルと撮像装置１００の位置姿勢に基づいて描画した描画画像から、エッジ情報を抽出する。モデル（描画画像）からの特徴抽出手法については、後述する。
【００２６】
画像特徴抽出部１５０は、画像取得部１２０によって取得された実写画像上において、撮像装置１００の位置及び姿勢を算出するのに用いられる画像特徴を検出する。本実施形態では、画像特徴抽出部１５０は撮像画像上のエッジの検出を行う。エッジの検出方法については後述する。
【００２７】
特徴対応付け部１６０では、モデル特徴抽出部１４０が抽出した特徴と画像特徴抽出部１５０が抽出した特徴とを、描画画像と実写画像中から抽出される輝度分布を利用して対応付ける。特徴の対応付け方法については後述する。
【００２８】
位置姿勢算出部１７０では、特徴対応付け部１６０によって対応付けられた特徴対応付け情報に基づき、３次元モデルデータ１０を基準とした座標系における撮像装置１００の位置及び姿勢を算出する。
【００２９】
モデル更新部１８０では、位置姿勢算出部１７０により算出された位置姿勢情報と画像取得部１２０により取得された実写画像とに基づき、３次元モデルデータ１０の表面情報を取得・更新する。３次元モデルデータの更新方法について後述する。
【００３０】
なお、３次元モデルデータ１０を利用した位置姿勢推定方法は、本実施形態における位置姿勢推定装置１に示される手法に限るものでなく、３次元モデルと実写画像とを当てはめることで位置姿勢推定を行う手法である限り、いずれの手法でもよい。例えば、非特許文献２に開示されている手法を利用しても本発明の本質は損なわれない。
【００３１】
次に、本実施形態における位置姿勢推定方法の処理手順について説明する。図３は、本実施形態における位置姿勢推定方法の処理手順を示すフローチャートである。
【００３２】
まずステップＳ１０１０で初期化を行う。ここでは、基準座標系における撮像装置１００と観察対象物体との相対的な概略位置姿勢の設定、および、３次元モデルデータの表面情報の初期化を行う。
【００３３】
本実施形態における位置姿勢計測方法は、撮像装置１００の概略の位置姿勢を、撮影画像上に撮像される観察対象物体のエッジ情報を利用して逐次更新していく方法である。そのため、位置姿勢計測を開始する前に予め撮像装置１００の概略の位置及び姿勢を初期位置及び初期姿勢として与える必要がある。そこで、例えば予め決まった位置及び姿勢を設定しておき、撮像装置１００をその位置及び姿勢になるように移動することで初期化を行う。または、画像内で検出するだけで認識可能な人工的な指標を配置し、該指標の各頂点の画像座標と基準座標系における３次元位置との対応から撮像装置の位置姿勢を求めて概略の位置姿勢としてもよい。また、識別性の高い自然特徴点を予め検出してその３次元位置を求めておき、初期化時に画像上で該特徴点を検出し、その画像座標と３次元位置との対応から撮像装置の位置姿勢を求めてもよい。また、非特許文献４のように、３次元モデルの幾何情報から抽出したエッジと画像中のエッジとの比較から撮像装置の位置姿勢を求めてもよい。さらに、磁気式や光学式、超音波式などの６自由度位置姿勢センサによって撮像装置の位置姿勢を計測し、それを概略の位置姿勢としてもよい。人工的な指標や自然特徴点などの画像情報と、前述の６自由度位置姿勢センサや３自由度の姿勢センサ、３自由度の位置センサとを併用して計測される撮像装置１００の位置姿勢を用いて初期化してもよい。
【００３４】
また、本実施形態における位置姿勢計測方法は、３次元モデルデータの形状および表面情報に基づいてＣＧ描画した描画結果を利用して位置姿勢を推定する。そのため、３次元モデルデータ１０に表面情報が設定されていることが前提である。しかし、表面情報が設定されていない３次元モデルデータ１０を利用する場合や、３次元モデルデータ１０の表面情報に不適切な情報が設定されている場合もある。そこで、そのような場合は、上述の位置姿勢の初期化処理により位置姿勢が求まった実写画像を利用して、３次元モデルの表面情報を初期化する。具体的には、位置姿勢の初期化処理により求めた位置姿勢を利用し、実写画像に撮像される観察物体の画像情報と、３次元モデルの表面情報との対応関係を算出する。そして、求めた対応関係に基づいて、実写画像の画像情報を３次元モデルの表面情報に反映させることで、３次元モデルの表面情報の初期化を行う。即ち、動的に３次元モデルの表面情報を取得するため、３次元モデルの表面情報にあらかじめ誤った情報が格納されていた場合にも、実環境中の対象物体に即した表面情報を反映させることが可能となる。また、もともと３次元モデルに表面情報が含まれていない場合でも、実写画像から対象物体の画像情報を取得することで、３次元モデルの表面情報に基づく位置姿勢推定を行うことが可能となる。
【００３５】
ステップＳ１０２０では、画像取得部１２０が、撮像装置１００が撮像した画像を位置姿勢推定装置１に取り込む。
【００３６】
次にステップＳ１０３０において、３次元モデル描画部１３０は、３次元モデルデータ１０をＣＧ描画し、実写画像と比較するための描画画像を得る。最初は、ステップＳ１０１０で求めた観察対象物体の概略位置姿勢に基づいて、３次元モデル保存部１１０に保存された３次元モデルデータ１０のＣＧ描画を行う。本実施形態で、描画に利用する射影行列の内部パラメータは、撮像装置１００の内部パラメータをあらかじめ計測しておき、実際に用いるカメラと内部パラメータを一致させておく。ＣＧ描画とは、ステップＳ１０１０で設定した視点の位置姿勢に基づいて、３次元モデル保存部１１０に保存された３次元モデルデータ１０を画像平面上に投影することである。ＣＧ描画を行うためには、位置姿勢の設定とともに、射影行列の内部パラメータ（焦点距離や主点位置など）を設定する必要がある。本実施形態では、撮像装置１００（カメラ）の内部パラメータをあらかじめ計測しておき、実際に用いるカメラと内部パラメータを一致させておく。また、視点からモデルまでの距離の最大値と最小値を設定しておき、その範囲外のモデルの描画は行わないことで、描画処理の計算コストを低減する。この処理はクリッピングと呼ばれ、一般的に行われている処理である。３次元モデルデータ１０のＣＧ描画により、カラーバッファおよびデプスバッファが算出される。ここで、カラーバッファには、画像平面上に投影された３次元モデルデータ１０の表面情報（テクスチャ画像）に応じた輝度値が格納される。また、デプスバッファには、画像平面から３次元モデルデータまでの奥行き値が格納される。以後、カラーバッファを３次元モデルデータ１０の描画画像と呼称する。３次元モデルデータの描画が終わったら、ステップＳ１０４０に進む。
【００３７】
次にステップＳ１０４０において、モデル特徴抽出部１４０は、ステップＳ１０３０で生成した描画画像から、実写画像と対応付けるためのエッジ特徴を抽出する。図４は、本実施形態における描画画像のエッジ特徴の検出方法について詳細な処理手順を示すフローチャートである。
【００３８】
まず、ステップＳ１１１０では、ステップＳ１０３０のＣＧ描画により生成された描画画像に対して、エッジ検出を行う。描画画像に対してエッジ検出することで、輝度が不連続に変化する領域を求めることができる。エッジを検出する手法としては、ここではCannyアルゴリズムを利用するが、画像の画素値が不連続に変化する領域を検出できれば、他の手法でも良く、例えば、sobelフィルタなどのエッジ検出フィルタを利用しても良い。カラーバッファに対してCannyアルゴリズムによるエッジ検出を行うことで、エッジ領域と非エッジ領域に分けられた２値画像が得られる。
【００３９】
次にステップＳ１１２０において、ステップＳ１１１０で生成された2値化画像について、隣接エッジのラベリングを行い、エッジの連結成分を抽出する。ラベリングは、例えば、ある画素の周囲8画素の中にエッジが存在すれば、同一ラベルを割り当てることにより行う。
【００４０】
次にステップＳ１１３０において、ステップＳ１１２０で連結成分を抽出したエッジに対して、エッジ素の抽出を行う。ここで、エッジ素とは、３次元座標および方向により表現される、３次元的なエッジを構成する要素をいう。同一ラベルにラベリングされたエッジを画像上で等間隔に分割するように分割点を算出して、この分割点の周辺の極短い連結成分を求めエッジ素を抽出する。本実施形態では、分割点から３pixel離れた連結成分を端点（始点と終点）に設定して、分割点を中心としたエッジ素を抽出する。デプスバッファから抽出したエッジ素は、総数をＮとして、各エッジ素をEFi(i=1,2…N)で表す。エッジ素の数Nが多いほど、処理時間が長くなる。そのため、エッジ素の総数が一定になるように、画像上でエッジ素間の間隔を逐次変更しても良い。
【００４１】
次にステップＳ１１４０において、ステップＳ１１３０で算出されたエッジ素に対して、基準座標系における３次元座標を求める。これには、ステップＳ１０３０で生成したデプスバッファを利用する。まず、デプスバッファに格納された奥行き値をカメラ座標系における値に変換する。デプスバッファに格納された値は、ステップＳ１０３０のクリッピング処理において設定したクリッピング範囲に応じて0から1の値に正規化されて格納されている。そのため、デプスバッファの奥行き値から、直接基準座標系における３次元座標を求めることはできない。そこで、クリッピング範囲の最小値と最大値を利用して、デプスバッファの値をカメラ座標系における視点からモデルまでの距離の値に変換する。次に、射影行列の内部パラメータを利用して、デプスバッファの画像平面上の２次元座標と、カメラ座標系における奥行き値から、カメラ座標系における３次元座標を求める。そして、カメラ座標系における３次元座標に対して、ステップＳ１０３０における３次元モデルデータの描画で用いた位置姿勢変換の逆変換をほどこすことで、基準座標系における３次元座標を求める。以上の処理を各エッジ素EFiに対して行うことで、各エッジ素に対して、基準座標系における３次元座標を求める。また、各エッジ素に対し、ステップＳ１１２０で求めたエッジ上で前後に隣接する画素の３次元座標を算出し、それらの差分をとることで、基準座標系における３次元的な方向を求める。
【００４２】
エッジ素EFiの３次元座標と方向の算出が終わったら、ステップＳ１０５０に進む。
【００４３】
ステップＳ１０５０において、画像特徴抽出部１５０は、ステップＳ１０４０で求めた描画画像中のエッジ素EFi（i=1,2,…,N）に対応する、撮像装置１００によって撮像された現フレームの実写画像中のエッジを検出する。エッジの検出は、エッジ素EFiの探索ライン(エッジ素の法線方向の線分)上において、撮影画像上の濃度勾配から極値を算出することにより行う。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。探索ライン上で検出されたエッジが一つのみである場合は、そのエッジを対応点とし、その画像座標とエッジ素EFiの３次元座標を保持する。また、探索ライン上で検出されたエッジが複数存在する場合には、複数の点を対応候補として保持する。以上の処理を全てのエッジ素EFiに対して繰り返し、処理が終了すればステップＳ１０５０の処理を終了し、ステップＳ１０６０に進む。
【００４４】
ステップＳ１０６０では、特徴対応付け部１６０は、対応点が複数存在するエッジ素に関して、最も確からしい対応点を決定する。ステップＳ１０４０で求めた描画画像中のエッジ素EFi（i=1,2,…,N）のうちのステップＳ１０５０で求めた対応点が複数存在するエッジ素EFj（j=1,2,…,M）に対し、エッジ周辺の輝度分布の比較によりもっとも確からしい対応を求める。ここで、Ｍは、対応点が複数存在するエッジ素の数である。図５は、本実施形態における対応エッジ選択手法について詳細な処理手順を示すフローチャートである。
【００４５】
まず、ステップＳ１２１０において、特徴対応付け部１６０は、ステップＳ１０３０で求めた３次元モデルデータ１０の描画画像から、エッジ素EFjのエッジ周辺の輝度分布を取得する。エッジ周辺の輝度分布としては、エッジの法線方向数ピクセルの輝度値を取得しても、エッジ位置から数ピクセル離れた円上の輝度値を取得しても、エッジ位置から数ピクセル離れたエッジ方向と平行方向の輝度値を取得してもよい。また、輝度分布を、輝度値の１次元ベクトル、輝度値のヒストグラム、または、勾配ヒストグラムとして表現してもよい。輝度分布として利用する情報は、描画画像と実写画像の輝度分布の類似度を計算できる限り、いずれの方式でもよい。本実施形態では、エッジ法線方向２１ピクセル上の輝度値の１次元ベクトルを、エッジ周辺の輝度分布として取得する。
【００４６】
次に、ステップＳ１２２０において、特徴対応付け部１６０は、エッジ素EFjの対応候補エッジの輝度分布を実写画像から取得する。ステップＳ１０５０で求めたエッジ素EFjの対応候補エッジに対して、ステップＳ１２１０と同様の処理により、実写画像中のエッジ周辺の輝度分布を取得する。
【００４７】
次に、ステップＳ１２３０では、ステップＳ１２１０およびステップＳ１２２０で求めた両画像の輝度分布を比較し、各エッジ素EFjの対応候補エッジとの類似度を算出する。エッジの類似度には、輝度分布間の差の二乗和（SSD：Sum of square distance）を利用しても、正規化相互相関（NCC：Normalizecross correction）を利用してもよい。輝度分布間の距離が計算できる手法であれば、いずれの手法でもよい。本実施例では、輝度分布間のSSDを要素数で正規化した値を評価値に利用する。
【００４８】
次に、ステップＳ１２４０では、ステップＳ１２３０で求めた評価値に基づき、各エッジ素EFjに対応するエッジを対応候補エッジの中から選択する。対応候補エッジの中で、ステップＳ１２３０で求めた評価値がもっとも高い(=画像上でエッジの見た目が最も近い)エッジを対応エッジとして選択する。以上の処理を、対応点が複数存在する全てのエッジ素EFjに対して繰り返し、全てのエッジ素EFiについて対応点が求まればステップＳ１０６０の処理を終了し、ステップＳ１０７０に進む。
【００４９】
ステップＳ１０７０において、位置姿勢算出部１７０は、非線形最適化計算を用いて、撮像装置１００と観察対象物体との概略の相対的案位置姿勢を反復演算により補正することにより撮像装置１００の位置姿勢を算出する。ここで、ステップＳ１０４０において検出された描画画像のエッジ素EFiのうち、ステップＳ１０６０において対応エッジが求まったエッジ素の総数をLcとする。また、画像の水平方向、垂直方向をそれぞれｘ軸、ｙ軸とする。また、あるエッジ素の中心点の投影された画像座標を（ｕ0、ｖ0）、エッジ素の直線の画像上での傾きをｘ軸に対する傾きθと表す。傾きθは、エッジ素端点(始点と終点)の撮影画像上での２次元座標を結んだ直線の傾きとして算出する。エッジ素の直線の画像上での法線ベクトルは（sinθ、−cosθ）となる。また、該エッジ素の対応点の画像座標を（ｕ’、ｖ’）とする。
【００５０】
ここで、点（ｕ、ｖ）を通り、傾きがθである直線の方程式は、以下の数１のように表せる。
【数１】
2010267231.tif 000003
【００５１】
エッジ素の撮影画像上での画像座標は撮像装置１００の位置及び姿勢により変化する。また、撮像装置１００の位置及び姿勢の自由度は６自由度である。ここで撮像装置の位置及び姿勢を表すパラメータをｓで表す。ｓは６次元ベクトルであり、撮像装置の位置を表す３つの要素と、姿勢を表す３つの要素からなる。姿勢を表す３つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す３次元ベクトルなどによって表現される。エッジ素中心点の画像座標（ｕ、ｖ）は（ｕ０、ｖ０）の近傍で１次のテイラー展開によって数２のように近似できる。
【数２】
2010267231.tif 000004
【００５２】
ｕ、ｖの偏微分∂ｕ／∂ｓi、∂ｖ／∂ｓiの導出方法は例えば非特許文献５に開示されるように広く知られているのでここではその詳細は述べない。数２を数１に代入することにより、数３が得られる。
【数３】
2010267231.tif 000005
【００５３】
ここで、数３に示す直線が該エッジ素の対応点の画像座標（ｕ’、ｖ’）を通過するように、撮像装置の位置及び姿勢ｓの補正値Δｓを算出する。ｒ0＝ｕ0sinθ−ｖ0cosθ（定数）、ｄ＝ｕ'sinθ−ｖ'cosθ（定数）とすると、以下の数４が得られる。
【数４】
2010267231.tif 000006
【００５４】
数４はLc個のエッジ素について成り立つため、数５のようなΔｓに対する線形連立方程式が成り立つ。
【数５】
2010267231.tif 000007
ここで数５を数６のように簡潔に表す。
【数６】
2010267231.tif 000008
【００５５】
数６をもとにＧａｕｓｓ−Ｎｅｗｔｏｎ法などによって、行列Ｊの一般化逆行列（ＪT・Ｊ）-1を用いて補正値Δｓが求められる。しかしながら、エッジの検出には誤検出が多いので、次に述べるようなロバスト推定手法を用いる。一般に、誤検出されたエッジに対応するエッジ素では誤差d−rが大きくなる。そのため数５、数６の連立方程式に対する寄与度が大きくなり、その結果得られるΔｓの精度が低下してしまう。そこで、誤差d−rが大きいエッジ素のデータには小さな重みを与え、誤差d−rが小さいエッジ素のデータには大きな重みを与える。重みは例えば数７Ａに示すようなＴｕｋｅｙの関数により与える。
【数７Ａ】
2010267231.tif 000009
【００５６】
数７においてｃは定数である。なお、重みを与える関数はＴｕｋｅｙの関数である必要はなく、例えば次式の数７Ｂ、
【数７Ｂ】
2010267231.tif 000010
【００５７】
で示されるようなＨｕｂｅｒの関数など、誤差d−rが大きいエッジ素には小さな重みを与え、誤差d−rが小さいエッジ素には大きな重みを与える関数であればなんでもよい。
【００５８】
エッジ素EFiに対応する重みをｗiとする。ここで数８のように重み行列Ｗを定義する。
【数８】
2010267231.tif 000011
【００５９】
重み行列Ｗは、対角成分以外はすべて０のLc×Lc正方行列であり、対角成分には重みｗiが入る。この重み行列Ｗを用いて、数６を数９のように変形する。
【数９】
2010267231.tif 000012
【００６０】
数１０のように数９を解くことにより補正値Δｓを求める。
【数１０】
2010267231.tif 000013
【００６１】
これにより得られた補正値Δｓを用いて、撮像装置１００の位置及び姿勢を更新する。次に、撮像装置の位置及び姿勢の反復演算が収束しているかどうかを判定する。補正値Δｓが十分に小さかったり、誤差r−dの総和が十分小さい、誤差r−dの総和が変化しないといった場合には、撮像装置の位置及び姿勢の計算が収束したと判定する。収束していないと判定された場合には、撮像装置１００の更新された位置及び姿勢を用いて再度線分の傾きθ、r0、d及びｕ、ｖの偏微分を計算し直し、数１０より再度補正値Δｓを求め直す。なお、ここでは非線形最適化手法としてＧａｕｓｓ−Ｎｅｗｔｏｎ法を用いた。しかしながら、Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ法、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法、最急降下法、共役勾配法などのその他の非線形最適化手法を用いてもよい。以上、ステップＳ１０７０における撮像装置の位置姿勢算出方法について説明した。
【００６２】
次にステップＳ１０８０のアピアランス更新の処理を説明する。モデル更新部１８０は、ステップＳ１０２０で入力した実写画像から取得した観察対象物体の画像情報を、ステップＳ１０７０で算出した位置姿勢情報に基づいて３次元モデルデータ１０の表面情報（テクスチャ画像）に反映させる。図６は、本実施形態における物体アピアランスの更新手法について、詳細な処理手順を示すフローチャートである。
【００６３】
まず、ステップＳ１３１０において、モデル更新部１８０は、ステップＳ１０７０で求めた観察対象物体の位置姿勢に基づいて、３次元モデルデータ１０の頂点情報を画像平面上に投影する。この処理により３次元モデルデータ１０の頂点座標に対応する実写画像上での２次元座標が求まる。
【００６４】
次に、ステップＳ１３２０において、モデル更新部１８０は、３次元モデルデータ１０のテクスチャ画像と実写画像との対応関係を算出する。本実施形態においては、３次元モデルデータ１０の頂点座標に対応するテクスチャ画像上での２次元座標が既に与えられている。そこで、この３次元モデルデータ１０とテクスチャ画像との対応情報と、ステップＳ１３１０で求めた３次元モデルデータ１０と実写画像間の対応情報から、実写画像とテクスチャ画像間の対応を算出する。
【００６５】
次に、ステップＳ１３３０において、モデル更新部１８０は、ステップＳ１３２０で求めた、実写画像とテクスチャ画像間の対応に基づき、実写画像の輝度情報をテクスチャ画像にマッピングし、３次元モデルデータ１０の表面情報を更新する。更新においては、テクスチャ画像上の輝度値と、実写画像の輝度値を一定のウェイト値に従って、ブレンディングさせる。これは、ステップＳ１０７０で求めた位置姿勢情報が不正確な場合に、テクスチャ画像に本来対応しないはずの輝度値が反映されることを防ぐために行われる。ウェイト値により、実写画像の輝度値を時系列的にゆっくりと反映させることで、突発的な位置姿勢推定の失敗の影響を低減することが出来る。ウェイト値は、位置姿勢推定がどの程度の頻度で失敗するかという位置姿勢推定精度に応じてあらかじめ設定しておく。
【００６６】
以上の処理により、実写画像上に撮像される対象物体の画像情報に基づいて、３次元モデルデータの表面情報を更新する。全ての更新処理が終わったら、ステップ１０９０に進む。
【００６７】
ステップＳ１０９０では、位置姿勢算出を終了する入力がなされたかどうかを判定し、入力された場合には終了し、入力されなかった場合にはステップＳ１０２０に戻り、新たな画像を取得して再度位置姿勢算出を行う。
【００６８】
以上述べたように、本実施形態では、実写画像中に撮像される対象物体の画像情報を３次元モデルの表面情報として保持・更新することにより、実写画像に即した表面情報に基づく位置姿勢推定が可能となる。これにより、実環境中で光源が変化した場合でも、動的に対象物体の画像情報を３次元モデルに反映することが可能となり、光源変化に頑健な物体位置姿勢推定が可能となる。
【００６９】
［変形例１−１］  幾何情報および表面情報の保持方法のバリエーション
第一の実施形態では、３次元モデルの表面情報をテクスチャ画像として表し、実写画像から取得した画像情報をテクスチャ画像上に保持していたが、これに限るものでない。３次元モデルデータは、対象物体の形状を表す幾何情報を保持し、同時に幾何情報に対応する表面情報を保持できる方式であれば、いずれの形式でも良い。例えば、多数の点および多数の面により構成された細かいメッシュモデルを利用し、それらの頂点の色として、画像情報を保持する方式でもよい。また、３次元モデルの幾何情報を、陰関数多項式で面の情報が記述されたＩＰモデルや、ｎ次元関数により面の情報が記述されたメタボールなどの関数表現を用いて表現しても良い。このような場合、幾何情報に対応するような表面情報を表現するためには、例えば、テクスチャ画像の球面マッピングなどを用いればよい。
【００７０】
［変形例１−２］  点特徴利用
第一の実施形態では、描画画像と実写画像から抽出する特徴として、エッジを用いたが、これに限るものでない。例えば、Harris検出器や、非特許文献６に示されるSIFT検出器などによって検出される点特徴を利用しても良い。このとき、点特徴の記述子としては、点特徴周辺の輝度分布を利用しても、非特許文献６に示されるSIFT記述子を利用しても良く、点特徴の検出子と記述子の選択に特に制限はない。描画画像と実写画像との対応付けに点特徴を利用する場合でも、処理の流れは第一の実施形態と大きく変わることなく、描画画像中から検出される点特徴と、実写画像から検出される点特徴とを対応付けることで、位置姿勢を推定する。
【００７１】
［第二の実施形態］（画像間の明度変化に基づく位置姿勢推定）
第一の実施形態では、描画画像と実写画像から特徴抽出し、抽出した特徴同士を対応付け、対応に基づく非線形最適化計算により物体位置姿勢を算出していた。第二の実施形態では、物体表面上にある点の明度は撮像装置の位置姿勢が変化した後も変化しないという仮定を行い、明度変化から物体位置姿勢を直接求める手法に本発明を適用した例について説明する。
【００７２】
図７は、本実施形態における位置姿勢推定装置２の構成を示している。同図に示したように、位置姿勢推定装置２は、３次元モデル保存部２１０と、画像取得部２２０と、３次元モデル描画部２３０と、位置姿勢算出部２４０と、モデル更新部２５０を具備する。３次元モデルデータ１０は、３次元モデル保存部２１０に保存されている。３次元モデル保存部２１０はモデル更新部２５０にも接続されている。撮像装置１００は、画像取得部２２０に接続されている。位置姿勢推定装置２は、３次元モデル保存部２１０に保存されている観察対象物体の形状を表す３次元モデルデータ１０をもとに、実写画像中に撮像される観察対象物体の位置および姿勢を計測する。なお、本実施例において、位置姿勢推定装置２が適用できる条件としては、３次元モデル保存部に保存された３次元モデルデータ１０が、現実に撮像される観察対象物体の形状に即していることを前提としている。
【００７３】
次に、位置姿勢推定装置２を構成する各部について説明する。３次元モデル描画部２３０では、３次元モデル保存部２１０において、保存された３次元モデルデータ１０を描画する。３次元モデル描画部２３０の処理は、基本的には、第一の実施形態における３次元モデル描画部１３０における処理と同様である。しかし、第一の実施形態と異なり、位置姿勢算出部２４０で利用するために、モデルの描画処理を複数回行う。
【００７４】
位置姿勢算出部２４０は、３次元モデル描画部２３０により描画された描画画像と画像取得部２２０より取得した実写画像との間の明度変化から、勾配法に基づいて直接的に位置姿勢を算出する。勾配法に基づく位置姿勢推定方法については後述する。
【００７５】
３次元モデル保存部２１０、画像取得部２２０、モデル更新部２５０は、第一の実施形態における３次元モデル保存部１１０、画像取得部１２０、モデル更新部１８０と同様の機能を有するものであるので説明を省略する。
【００７６】
次に、本実施形態における位置姿勢推定方法の処理手順について説明する。図８は、本実施形態における位置姿勢推定方法の処理手順を示すフローチャートである。
【００７７】
ステップＳ２０１０では初期化を行う。ステップＳ２０１０の処理内容は基本的に第一の実施形態におけるステップＳ１０１０と同様であるので重複部分は説明を省略する。
【００７８】
ステップＳ２０２０で画像を入力する。この処理は第一の実施形態におけるステップＳ１０２０の処理と同一であるので説明を省略する。
【００７９】
次に、ステップＳ２０３０で、３次元モデル描画部２３０は、ステップＳ２０１０で求めた観察対象物体の概略位置姿勢に基づいて、３次元モデル保存部２１０に保存された３次元モデルデータの描画を行い、実写画像と比較するための描画画像を得る。ステップＳ２０３０の処理内容は基本的に第一の実施形態におけるステップＳ１０３０と同様であるので重複部分は説明を省略する。ステップＳ２０３０がステップ１０３０と異なる点は次のとおりである。すなわち、次のステップＳ２０４０における位置姿勢推定のため、ステップＳ２０１０で求めた観察対象物体の概略位置姿勢に基づくＣＧ描画以外に、６自由度ある概略位置姿勢から各自由度の±方向に微少変化させた概略位置姿勢に基づいたＣＧ描画が行われる。この微少変化させた概略位置姿勢による描画画像は、後述する位置姿勢推定処理において利用する。本処理により、概略位置姿勢に基づく描画画像が１枚、微少変化させた概略位置姿勢に基づく描画画像が１２枚生成される。
【００８０】
ステップＳ２０４０では、勾配法を用いて観察物体の位置姿勢が算出される。即ち、実写画像上の時間的な明度変化と、描画画像上の物体位置姿勢の変化により生じる明度変化との関係を定式化することで、明度変化から物体位置姿勢を直接算出する。ここで、光源環境など周囲の環境に変化が生じないと仮定すると、３次元空間での物体の位置姿勢を表すパラメータが決定すれば、２次元画像上での見えは一意に定まる。ここで撮像装置の位置及び姿勢を表すパラメータをｓで表す。ｓは６次元ベクトルであり、撮像装置の位置を表す３つの要素と、姿勢を表す３つの要素からなる。姿勢を表す３つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す３次元ベクトルなどによって表現される。今、時刻ｔにおいて、その物体の表面上の点の明度がＩ(ｓ)であるとする。微少時間δｔ後にこの物体の位置姿勢がδｓだけ変化し、画像上において物体表面上の同一の点の明度に変化がないと仮定すると、テイラー展開により、明度Ｉを数１１のように表すことができる。
【数１１】
2010267231.tif 000014
【００８１】
ここで、εは２次以上の高次の式であり、これを無視して一次近似し、画像フレーム間での物体運動により生じる明度変化をΔＩとすると、式１１から、近似的に以下の式が成り立つ。
【数１２】
2010267231.tif 000015
【００８２】
この拘束式を画像上の全ての画素に対して適用することで、Δsを求める。ここで、Δsを求めるためには、式１２における右辺の偏微分係数∂Ｉ/∂ｐiを数値的に求める必要がある。そこで、偏微分係数∂I/∂piを、微少な有限値δを用いて、
【数１３】
2010267231.tif 000016
と近似する。Ｉは３次元モデルデータを位置姿勢パラメータｓによりＣＧ描画することで得られる描画画像の画素値を表す。偏微分係数∂Ｉ/∂ｐiは、位置姿勢のパラメータｓの要素を微少変化させて生成した描画画像の差分を求めることで近似的に求めることが出来る。これには、ステップＳ２０３０において生成された１２枚の描画画像を利用する。
【００８３】
ここで、画像空間をＮ次元空間として定義すると、Ｎ画素を持つ１枚の画像はＮ個の輝度値を要素とする画像ベクトルとして表される。数１３はＮ個の輝度値を要素とする画像について成り立つため、数１４のようなΔｓに対する線形連立方程式が成り立つ。
【数１４】
2010267231.tif 000017
【００８４】
ここで数１４を数１５のように簡潔に表す。
【数１５】
2010267231.tif 000018
【００８５】
一般に画素数Ｎは位置姿勢パラメータの自由度６よりもはるかに大きい。そのため、数１５をもとに、第一の実施形態におけるステップＳ１０８０と同様にＧａｕｓｓ−Ｎｅｗｔｏｎ法などによって、行列Ｊの一般化逆行列（ＪT・Ｊ）-1を用いてΔｓが求められる。以上、ステップＳ２０４０における撮像装置１００の位置姿勢算出方法について説明した。
【００８６】
次にステップＳ２０５０において、モデル更新部２５０は、アピアランス更新処理を行う。即ち、ステップＳ２０２０で入力した実写画像から取得した観察対象物体の画像情報を、ステップＳ２０４０で算出した位置姿勢情報に基づいて３次元モデルデータ１０の表面情報（テクスチャ画像）に反映させる。ステップＳ２０５０の処理内容は基本的に第一の実施形態におけるステップＳ１０８０と同一であるので重複部分は説明を省略する。
【００８７】
ステップＳ２０６０では、位置姿勢算出を終了する入力がなされたかどうかを判定し、入力された場合には終了し、入力されなかった場合にはステップＳ２０２０に戻り、新たな画像を取得して再度位置姿勢算出を行う。
【００８８】
以上述べたように、本実施形態では、実写画像中に撮像される対象物体の画像情報を３次元モデルの表面情報として保持・更新することにより、実写画像に即した表面情報に基づく位置姿勢推定が可能となる。これにより、実環境中で光源が変化した場合でも、動的に対象物体の画像情報を３次元モデルに反映することが可能となり、光源変化に頑健な物体位置姿勢推定が可能となる。
【００８９】
［変形例２−１］  画像全体から算出した評価値の最適化
第二の実施形態では、描画画像と実写画像を整合させるための位置姿勢計算に勾配法を用いたが、これに限るものでない。例えば、描画画像と実写画像の比較から評価値を算出し、その評価値を最適化するように位置姿勢を算出しても良い。この場合、評価値の算出方法としては、描画画像と実写画像の差の二乗和を用いてもよいし、描画画像と実写画像の正規化相互相関を用いてもよいし、また、何らかの相互情報量を用いることで類似度を求める方法でもよい。描画画像と実写画像の類似性を示す値である限り、評価値の算出はいずれの方法でもよい。また、評価値の最適化手法も、評価値の最適化により位置姿勢を算出する方法であれば、例えば、グリーディーアルゴリズム、山登り法、シンプレックス法などでもよい。
【００９０】
以上のように、上述した各実施形態によれば、実写画像上に撮像される観察対象物体の画像情報により、位置姿勢推定に利用する３次元モデルデータの表面情報が更新される。このため、実環境中に光源変化が発生した場合や、対象物体の姿勢変化による見えの変化が発生した場合でも、安定的な位置姿勢を実現することが可能となる。
【００９１】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９２】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００９３】
また、コンピュータが、コンピュータ読み取り可能な記憶媒体から読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図１】
2010267231.tif 000019
【図２】
2010267231.tif 000020
【図３】
2010267231.tif 000021
【図４】
2010267231.tif 000022
【図５】
2010267231.tif 000023
【図６】
2010267231.tif 000024
【図７】
2010267231.tif 000025
【図８】
2010267231.tif 000026