JP5094663B2 - 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法 - Google Patents

位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法 Download PDF

Info

Publication number
JP5094663B2
JP5094663B2 JP2008244946A JP2008244946A JP5094663B2 JP 5094663 B2 JP5094663 B2 JP 5094663B2 JP 2008244946 A JP2008244946 A JP 2008244946A JP 2008244946 A JP2008244946 A JP 2008244946A JP 5094663 B2 JP5094663 B2 JP 5094663B2
Authority
JP
Japan
Prior art keywords
model
orientation
orientation estimation
image
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008244946A
Other languages
English (en)
Other versions
JP2010079453A (ja
JP2010079453A5 (ja
Inventor
圭祐 立野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008244946A priority Critical patent/JP5094663B2/ja
Priority to US12/565,743 priority patent/US20100073366A1/en
Priority to EP09171132A priority patent/EP2169627A2/en
Publication of JP2010079453A publication Critical patent/JP2010079453A/ja
Publication of JP2010079453A5 publication Critical patent/JP2010079453A5/ja
Application granted granted Critical
Publication of JP5094663B2 publication Critical patent/JP5094663B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

本発明は、観察対象物体の表面形状を表す3次元モデルデータと撮像装置が撮像した観察対象物体の撮影画像を利用して、撮像装置と観察対象物体との相対的な位置姿勢を計測する位置姿勢計測技術に関する。特に、位置姿勢の推定に好適な3次元モデルを生成する位置姿勢推定用モデル生成装置及び位置姿勢算出装置、及びそれらを用いた画像処理装置に関する。
現実空間を撮像するカメラなどの撮像装置を用いて、観察対象物体と上記観察対象物体を撮像する撮像装置との相対的位置姿勢を計測する技術が提案されている。この種の計測技術は、現実空間と仮想空間を融合表示する複合現実感システム(以下、MRシステムという)や、ロボットの位置姿勢計測において、非常に有用な技術である。
従来から撮像装置の位置姿勢を計測する方法として、3次元位置が既知の指標を用いる方法が提案されている。この方法では、撮像装置のおおよその位置姿勢を用いて各指標の3次元位置を撮像面へ投影した投影位置と、撮像画像から検出される指標の撮像画像上の位置との距離を誤差として、この誤差を小さくする目的関数を最適化するように位置姿勢を推定する。指標としては、予め検出が容易な幾何学的または色相が特異な特徴を有するものを利用することが多い。
また、撮影画像中でのエッジと観察対象の3次元線分モデルとの対応をもとに撮像装置の位置及び姿勢を求める方法が提案されている。ここで、撮影画像上で撮像される観察対象物体において、観察される輝度が不連続に変化する領域をエッジと呼称する。エッジはスケールや観察方向に対して不変であるため、エッジを利用した位置合わせは精度が高いという特徴がある。非特許文献1に記載されているエッジを利用した位置合わせは、次の1から3の処理によって実現される。
1.前フレームでのカメラの位置及び姿勢及び予め校正済みのカメラの固有パラメータに基づいて、前述の3次元線分モデルを画像上に投影する.
2.投影された各線分を、画像上で一定間隔となるように分割し、分割点を設定する。そして各分割点について、該分割点を通過し向きが投影された線分の法線方向である線分(探索ライン)上でエッジ探索を行い、探索ライン上における輝度値の勾配が極大でありかつ分割点に最も近い点を対応エッジとして検出する.
3.分割点毎に検出された対応エッジと、投影される線分との間の画像上での距離の総和が最小となるようなカメラの位置及び姿勢の補正値を算出し、カメラの位置及び姿勢を補正する。
エッジ情報に基づいた位置姿勢推定手法では、撮影画像上に撮像された観察対象物体から抽出できるエッジと、観察対象物体の形状を表す3次元モデルを構成するエッジとを対応付け、対応付いたエッジ同士が画像平面上で重なるように位置姿勢を推定する。そのため、観察対象物体の形状を正確に表す3次元モデルが必要となる。しかし、現実の観察対象物体に重ねあわせることが出来るような3次元モデルを手動で作成するには、比較的複雑で、多くの時間を要する作業が必要となる。
これに対し、設計用CAD(Computer Aided Design)モデルが製品設計の過程で作成されている工業製品のように、観察対象物体の形状を表す3次元モデルが既に作成されている場合もある。観察対象物体にあらかじめ作成されている3次元モデルを位置姿勢推定に利用することが出来れば、上述のモデル作成コストを低減することが出来る。
しかし、エッジを利用した位置姿勢推定では、撮影画像中から抽出したエッジと対応付けるための3次元的なエッジ情報を含んだ3次元モデルが必要であるため、一般的なCADモデルをそのまま利用することはできない。CADモデルは、モデル形式によって、頂点と面により記述されるメッシュモデルや、パラメトリック曲面により記述されるソリッドモデルなど、モデル形式ごとに形状の記述が大きく異なる。また、位置姿勢推定に必要な3次元エッジ情報が形状情報に含まれていない場合も少なくない。そのため、CADモデルを利用して位置姿勢推定するためには、CADモデルから位置姿勢推定に必要な情報を抽出する、または、CADモデルから位置姿勢推定用にモデルを変換するような工程が必要となる。
CADモデルのデータを位置姿勢推定に利用する場合、単純にはCADモデル内のデータを解析し、位置姿勢推定に必要な部分のデータを抽出することで、位置姿勢推定用モデルを生成することが考えられる。しかし、この方法は、CADモデルの内部データを解析するために大きな作業コストがかかるという課題がある。また、そのため、多様なモデル形式に対応することが困難である。
これに対し、特許文献1では、CADモデルを描画することで位置姿勢推定用モデルを生成する方法が開示されている。この手法では、あらかじめ、複数の異なる視点と異なる光源設定からCADモデルを描画し、描画結果として得られるCADモデルの陰影画像からエッジ抽出を行う。そして、複数の視点から安定的に検出できるエッジをモデル座標上で投票することで、安定的に検出できるエッジのみから構成された3次元モデルを生成する。これにより、CADモデルのレンダリングが出来れば、CADモデルを基にして位置姿勢推定用のエッジモデルを作成することが可能となり、上述の位置姿勢推定用モデルを作成するコストを低減することが可能となる。また、CADモデルのレンダリング結果から位置姿勢推定用モデルを生成するため、独自にCADモデルを解析する必要がなく、既存のレンダリングエンジンを利用することが可能である。
また、非特許文献2では、CADモデルを直接的に利用して位置姿勢推定する手法が開示されている。この手法では、撮像装置で撮像される観察対象物体の位置姿勢に応じて3次元モデルをリアルタイムに描画する。そして、その描画結果として得られる、3次元モデルの奥行きを表すデプスバッファから抽出したエッジと、撮像画像中に撮像される観察対象物体から抽出したエッジとを対応付けることとで、位置姿勢を推定する。CADモデルをリアルタイムにレンダリングした結果から、位置姿勢推定に利用する特徴を随時抽出することで、CADモデルを位置姿勢推定用モデルに変換することなく、CADモデルを直接的に利用して位置姿勢推定することが出来る。また、この手法は、上述の特許文献1と同様に、CADモデルのレンダリング結果に基づいた手法であるため、既存のレンダリングエンジンを利用することができ、CADモデルを利用するための準備コストを低減することが可能である。
非特許文献3には、表面属性が設定されたCADモデルを描画し、描画結果として得られたカラーバッファから抽出したエッジと、撮像画像中の撮像された観察対象物体から抽出したエッジとを対応付けることで、位置姿勢推定を行う手法が記載されている。CADモデルに表面属性が設定されている必要があるが、上記非特許文献2と同様に、CADモデルを利用して位置姿勢推定を行うことが可能である。
T. Drummond andR. Cipolla,"Real-time visual tracking of complex structures," IEEE Transactionson PatternAnalysis and Machine Intelligence, vol.24, no.7, pp.932-946, 2002. G . Bleser, H .Wuest, D. Stricker,"Online camera pose estimation in partially known anddynamic scenes," Proc. The5th IEEE/ACM International Symposium on Mixed andAugmented Reality (ISMAR06),pp.56-65, 2006. G. Reitmayr andT. W. Drummond,"Going out: robust model-based tracking for outdoor augmentedreality," Proc.The 5th IEEE/ACM International Symposium on Mixed and AugmentedRality(ISMAR06), pp.109-118 2006. Y Ohtake, ABelyaev, H Seidel, "Anintegrating approach to meshing scattered point data,"Proceedings of the 2005ACM symposium on Solid and physical modeling, p.61-69,June 13-15, 2005 Y Ohtake, ABelyaev. M Alexa,"Sparse Low-degree Implicit Surfaces with Applications to HighQualityRendering, Feature Extraction, and Smoothing," Eurographics SymposiumonGeometry Processing (SGP2005), pp.145-158, 2005 K. Satoh, S.Uchiyama, H. Yamamoto,and H. Tamura, "Robust vision-based registration utilizingbird’s-eye view withuser’s view," Proc. The 2nd IEEE/ACM InternationalSymposium on Mixed andAugmented Reality (ISMAR03), pp.46-55, 2003. 特開2007−207251号公報
特許文献1に記載されている手法では、事前に描画した複数の視点から、常に安定して検出されるエッジを選出することで、位置姿勢推定用のモデルを生成している。したがって、CADモデルの観察方向の変化によって物体の後ろに隠れるエッジも検出が不安定なエッジと見なして除外されるため、物体自身によって隠されるエッジをモデリングすることはできない。そのため、特許文献1の手法では、物体を自由な方向から観察することはできないという課題がある。また、生成される位置姿勢推定用モデルは、エッジ情報のみから構成され、面の情報が無いため、物体自身によって物体を構成するエッジが隠れるような場合はエッジの隠れを判別することが出来ない。そのため、物体に対して回り込むような視点移動をした場合、位置姿勢推定用モデルのエッジ情報に対応するエッジが、撮影画像中から検出されなくなり、エッジの対応付けに誤対応が発生する。また、この手法では、エッジの3次元的な位置が不変であることを前提に位置姿勢推定用モデルを生成しているため、曲面を有する物体のような、視点によって観察されるエッジの3次元位置が異なるような物体に対応することが困難である。
これらの問題に対して、非特許文献2に記載されている手法では、観察対象物体の位置姿勢に応じてCADモデルを描画し、描画結果から逐次姿勢に応じたエッジを抽出する。そのため、非特許文献2に記載の手法によれば、上述の面の隠れおよび曲面を有する物体に関して上述した課題を解決することが出来る。しかし、この手法は、CADモデルをリアルタイムにレンダリングする必要があるため、設計用CADモデルのようなデータ量の大きいCADモデルを利用する場合には、計算コストが高くなるという課題がある。また、設計用CADモデルは、基本的に必要な限り微細に作成されたモデルであるため、細かい形状情報を含む場合が多く、このような細かい形状情報に基づいてエッジを抽出した場合は、細かく短いエッジが抽出されることになる。しかし、非特許文献2に記載されているようなエッジを利用した位置姿勢推定では、細かいエッジ同士の対応をとることが困難であるため、細かいエッジは、誤対応の原因として除去される場合が多く、冗長な情報となる。
また、非特許文献3に記載されている手法は、上述の非特許文献2と同様の課題に加え、CADモデルに現実の観察対象物体と同様の表面属性が設定されている必要がある。以上のように、CADモデルを直接レンダリングする手法は、特許文献1のようなCADモデルから位置姿勢推定用モデルを生成する手法と比較して、計算コストと特徴対応付けの安定性の面で課題があるといえる。しかし、特許文献1の手法には上述したような課題があり、また、手動でCADモデルを解析、データ抽出して、面の情報を含んだ位置姿勢推定用モデルを作成する方法は、人的にも時間的にもコストがかかる。
また、上述の特許文献1および非特許文献2に示される従来手法は、CADモデルの描画結果のみに基づく手法であるため、位置姿勢推定やモデル生成において、法線情報や頂点情報などのCADモデルの詳細な形状情報を利用することができない。しかし、位置姿勢推定手法によっては、法線情報や頂点情報などの詳細な形状情報を利用したい場面もある。CADモデルの形状情報を読み込むためには、例えば、CADモデルの形状記述を解析する、CADモデルのレンダリングエンジンを利用する、などの方法が考えられる。しかし、上述のように、CADモデルの解析にはコストがかかり、また、レンダリングエンジンを利用する場合も、エンジンによっては形状情報にアクセスできない場合があり、多様なモデル形式に対応することが困難である。また、そもそも、パラメトリックに面情報が記述されているソリッドモデルような、頂点情報や法線情報が形状記述に含まれていないようなモデル形式もある。以上のように、上述した従来手法では、モデル形式によっては、モデルの詳細な形状情報を位置姿勢推定に利用することが困難である場合が多い。
本発明は、上述の課題を鑑みてなされたものであり、面の隠れや曲面を含んだ物体に対応できるような面情報を含んだ位置姿勢推定用モデルを生成することを目的とする。
上記の目的を達成するための本発明の一態様による位置推定用モデル生成装置は以下の構成を備える。即ち、
撮像装置の観察対象物体に対する相対的な位置及び姿勢を推定するために、位置姿勢推定用の3次元モデルを生成する装置であって、
観察対象物体の形状を表す3次元情報を利用して、所定の点から観察対象物体までの距離が画素ごとに格納された奥行き画像を取得する取得手段と、
前記取得手段により取得した前記奥行き画像から、観察対象物体の形状を表す3次元点群データを生成する点群生成手段と、
前記3次元点群データから、位置姿勢推定用3次元モデルを生成するモデル生成手段とを備える。
また、上記の目的を達成するための本発明の一態様による位置推定用モデル生成方法は、
撮像装置の観察対象物体に対する相対的な位置及び姿勢を推定するために、位置姿勢推定用の3次元モデルを生成する、情報処理装置による位置姿勢推定用モデル生成方法であって、
取得手段が、観察対象物体の形状を表す3次元情報を利用して、所定の点から観察対象物体までの距離が画素ごとに格納された奥行き画像を取得する取得工程と、
点群生成手段が、前記取得工程で取得した前記奥行き画像から、観察対象物体の形状を表す3次元点群データを生成する点群生成工程と、
モデル生成手段が、前記3次元点群データから、位置姿勢推定用3次元モデルを生成するモデル生成工程とを有する。
本発明によれば、面の隠れや曲面を含んだ物体に対応できるような面情報を含んだ位置姿勢推定用モデルを生成することが可能となる。
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
[第1実施形態](CADモデルを描画して位置姿勢推定用モデルを生成)
本実施形態では、3次元モデルの描画結果を利用して位置姿勢推定用3次元モデルを生成する方法について説明する。
図1は、本実施形態における位置姿勢推定用モデル生成装置1の構成を示している。図1に示したように、位置姿勢推定用モデル生成装置1は、3次元モデル保存部110、3次元モデル描画部120、奥行き画像取得部130、3次元点群生成部140、位置姿勢推定用モデル生成部150を具備する。3次元モデル保存部110には、3次元モデルデータ10が保存されている。位置姿勢推定用モデル生成装置1は、3次元モデル保存部110に保存されている観察対象物体の形状を表す3次元モデルデータ10をもとに、位置姿勢推定用モデルを出力する。なお、本実施形態において、3次元モデル保存部110に保存された3次元モデルデータ10が、現実に撮像される観察対象物体の形状に即していることを前提としている。なお、位置姿勢推定用モデル生成装置1は、コンピュータ(CPU)がメモリに蓄積されたプログラムを実行して所定の機能を実現する、通常の情報処理装置によって実現され得ることは明らかである。
次に、位置姿勢推定用モデル生成装置1を構成する各部について説明する。3次元モデル保存部110は、観察対象物体の3次元モデルデータ10を記憶する。3次元モデルデータ10は、観察対象物体の3次元の幾何的な情報を有するモデルである。3次元モデルデータの形式は、面の情報がパラメトリックに記述されたソリッドモデルでも良いし、頂点と面とで構成されたメッシュモデルでも良い。即ち、3次元モデル描画部120で描画できるモデルであれば、いずれの形式でも良く、3次元モデルデータの形式の選択に特に制限は無い。また、任意の3次元モデラーのフォーマットを変換する処理部を3次元モデル保存部110に含むようにしてもよい。本実施形態では、頂点情報及び各頂点を結んで構成される面の情報を含むCADモデルを3次元モデルデータ10として利用する。
3次元モデル描画部120は、3次元モデル保存部110に保存されている3次元モデルデータ10を描画する。3次元モデル描画部120において描画に利用するグラフィックライブラリは、例えば、OpenGLやDirectXなどの広く利用されているグラフィックライブラリでも、独自に開発したグラフィックライブラリでもよい。即ち、3次元モデル保存部110に保存されたモデル形式を画像平面上に投影することができるものであれば、いずれの方式を用いても良い。本実施形態ではグラフィックライブラリとしてOpenGLを利用する。また、CADモデルの読み込みのためのレンダリングエンジンとして、Coin3Dを利用する。
奥行き画像取得部130は、3次元モデル描画部120で描画するときに設定した視点位置から3次元モデルまでの距離が画素ごとに格納されたデプスバッファを取得する。取得されたデプスバッファは、3次元点群生成部140にて3次元点群生成のための奥行き画像として利用される。
3次元点群生成部140は、奥行き画像取得部130が取得した複数の奥行き画像から、観察対象物体の形状を表す3次元点群を生成する。奥行き画像に保存された値は、3次元モデル描画部120でCADモデルを描画したときに設定したクリッピング範囲に応じて、0から1の値に正規化されている。そのため、まず、正規化された奥行き画像の値を、カメラ座標系における値に変換する。そして、3次元モデル描画部120において描画に利用されたモデルビュー行列の逆行列をカメラ座標系上の3次元座標にかけることで、モデル座標系における3次元座標を算出する。奥行き画像から3次元点群への変換方法および、点群の結合方法の具体的な手順については、図2のステップS1040により後述する。
位置姿勢推定用モデル生成部150では、3次元点群生成部140で生成した3次元点群に対して、三角形パッチによる面貼りを行い、メッシュモデルを生成する。3次元点群からのメッシュモデル生成手法は、例えば、ドロネー網を利用した手法であってもよいし、非特許文献4に開示される手法を利用してもよい。3次元点群からメッシュモデルを生成する手法であれば、いずれの手法でもよく、手法の選択に特に制限は無い。本実施形態では、3次元点群データからのメッシュモデル生成には、非特許文献4に開示される手法を利用する。さらに、位置姿勢推定用モデル生成部150では、生成したメッシュに対して、利用する位置姿勢推定手法に応じて、メッシュのリファインを行う。3次元点群データからの3次元モデル生成の具体的な手順については、図2のステップS1060により後述する。
次に、第1実施形態における位置姿勢推定用3次元モデル生成方法の処理手順について説明する。図2は、第1実施形態における位置姿勢推定用3次元モデル生成方法の処理手順を示すフローチャートである。
(ステップS1010)
まず、ステップS1010において、3次元モデル描画部120は初期化を行う。初期化では、3次元モデル描画部120の3次元モデル描画におけるCADモデルに対する視点の位置と姿勢が決定される。3次元点群生成部140で生成される3次元点群データは、奥行き画像の画像範囲内のデータから生成されるため、描画範囲にCADモデルが入るように描画位置姿勢を設定する必要がある。CADモデルに対する描画位置姿勢の設定は、例えば、描画の都度、ユーザが設定しても良いし、あらかじめ、決まった視点位置を複数設定しておき、それを選択するようにしてもよい。また、CADモデル中から位置姿勢推定用モデルとしてモデル化したい部分をあらかじめユーザが設定しておき、その部分が描画されるように視点位置を移動させるように設定しても良い。また、CADモデルに対する距離のみを設定しておき、CADモデルを中心として、一定のインターバルで緯度と経度を変化させることで、CADモデルの周囲を取りかこむように位置姿勢を決定してもよい。
なお、描画位置姿勢の設定方法は、以上の手法に限るものでなく、最終的に位置姿勢推定モデルとして利用する部位が描画できる範囲に含まれるように設定される限り、視点数を問わず、またいずれの位置姿勢で視点を設定してもよい。また、位置姿勢推定に利用する部位が限定できる場合は、その部位のみを描画することで、最終的に生成する位置姿勢推定用モデルを調整し、計算コストを低減することができる。本実施形態では、CADモデルに対する距離のみを指定し、CADモデルを中心にして、周囲を取りかこむように一定のインターバルで視点移動させるように視点の位置姿勢を設定するものとする。描画のための視点位置姿勢の設定が終わったら、ステップS1020に進む。
(ステップS1020)
次にステップS1020において、3次元モデル描画部120は、ステップS1010で設定した視点の位置姿勢に基づいて、3次元モデル保存部110に保持されたCADモデルを描画する。モデルの描画とは、ステップS1010で設定された視点の位置姿勢に基づいて、3次元モデル保存部110に保存された観察対象物体のCADモデルを画像平面上に投影することである。モデルの描画を行うためには、位置姿勢の設定とともに、射影行列の内部パラメータ(焦点距離や主点位置など)を設定する必要がある。本実施形態における位置姿勢推定用モデル生成装置1では、描画画像結果のみを利用して位置姿勢推定用モデルが生成されるため、内部パラメータの設定は基本的には任意の値でよい。本実施形態では、最終的に位置姿勢推定に利用する撮像装置の内部パラメータをあらかじめ計測することで、描画に利用する内部行列を設定する。また、視点からモデルまでの距離の最大値と最小値を設定しておき、その範囲外のモデルの描画は行わないことで、描画処理の計算コストを低減する。この処理はクリッピングと呼ばれ、一般的に行われている処理である。
モデルの描画により、画像平面上での2次元座標と2次元座標に対応する輝度値が格納されたカラーバッファ、および、画像平面から3次元モデルまでの奥行き値が格納されたデプスバッファが算出される。カラーバッファには、光源設定およびCADモデルの表面属性に応じた輝度値が格納される。設計用に作成されたCADモデルの場合、CADモデルの表面属性には、素材や部品ごとに固有のIDとしての情報が格納されている場合が多く、実際の観察対象物体の表面属性に即した設定はなされていないことが多い。また、本実施形態では描画時に光源の設定を行っていないため、CADモデルに設定された表面属性がそのまま描画され、カラーバッファ上の観察対象物体と現実の観察対象物体の相関は低い。一方、デプスバッファに格納された値は、CADモデルの形状により決定された値であり、CADモデルが観察対象物体の形状に即している限り、デプスバッファの内容も、観察対象物体の形状に即したデータが格納される。CADモデルの描画が終わったら、ステップS1030に進む。
(ステップS1030)
ステップS1030において、奥行き画像取得部130は、ステップS1020におけるCADモデルの描画の結果として得られたデプスバッファを読み込み、メインメモリ上に保存する。一般的にデプスバッファはグラフィックカード上のメモリ(ビデオメモリ)に格納され、奥行き画像取得部130や3次元点群生成部140として動作するCPUからは参照できない。そのため、ビデオメモリのデータを、メインメモリへ転送する処理を行う。この処理は、一般的に高速でない場合が多いため、デプスバッファの内容を全て転送すると計算コストが高くなる。しかし、デプスバッファ上のモデル領域が特定できる場合は、該領域のみを転送することで処理を高速化することが可能である。この操作は、デプスバッファ上において、観察対象物体の奥行き値が格納された領域の包括矩形を計算することで、容易に実現可能である。但し、本実施形態では、デプスバッファとして得られる領域すべてを取得するものとする。デプスバッファの取得が終わったら、ステップS1040に進む。
(ステップS1040)
ステップS1040において、3次元点群生成部140は、ステップS1030で取得したデプスバッファの各画素の、モデル座標系における3次元座標を求めることで、モデル座標系における3次元点群を求める。
まず、デプスバッファに格納された奥行き値をカメラ座標系における値に変換する。デプスバッファに格納された値は、ステップS1020のクリッピング処理において設定したクリッピング範囲に応じて0から1の値に正規化されて格納されている。そのため、デプスバッファの奥行き値から、直接に基準座標系における3次元座標を求めることはできない。そこで、クリッピング範囲の最小値と最大値を利用して、デプスバッファの値をカメラ座標系における視点からモデルまでの距離の値に変換する。次に、射影行列の内部パラメータを利用して、デプスバッファの画像平面上の2次元座標と、カメラ座標系における奥行き値から、カメラ座標系における3次元座標を求める。そして、カメラ座標系における3次元座標に対して、ステップS1020におけるCADモデルの描画で用いた位置姿勢変換の逆変換をほどこすことで、基準座標系における3次元座標を求める。以上の処理をデプスバッファの各座標に対して行うことで、3次元点群生成部140はデプスバッファから、基準座標系における3次元点群データを生成する。各視点のデプスバッファから生成した3次元点群データを、逐次基準座標系に追加していくことで、観察対象物体の形状を表す密な3次元点群データが得られる。
(ステップS1050)
次にステップS1050では、別の視点からの描画を行うかどうかを決定する。別の視点からの3次元点群データを生成する場合は、処理をステップS1010に戻し、上述した処理により別視点からの3次元点群データ生成を行う。こうして、所望の範囲の点群データを生成するまで、ステップS1010からステップS1040を繰り返す。ステップS1050において、別の視点からの3次元点群データを生成しないと判定された場合は、ステップS1040に進んで、点群データからのメッシュモデル生成を行う。
(ステップS1060)
次に、ステップS1060において、位置姿勢推定用モデル生成部150は、ステップS1040で生成した3次元点群データから、位置姿勢推定用のメッシュモデルを求める。例えば、位置姿勢推定用モデル生成部150は、3次元点群データに対して、点群を頂点とするドロネー網を計算することで、三角形パッチから構成されたメッシュモデルを生成する。本実施形態におけるドロネー網によるメッシュ生成には、非特許文献4の手法を利用することができる。その具体的な手順に関しては、非特許文献4にて広く公開されているため、ここでは詳細を述べない。なお、サーフェースモデルには、三角形パッチに限られるものではなく、四角形パッチを含むポリゴンパッチを適用できることは言うまでもない。
(ステップS1070)
次に、ステップS1070において、位置姿勢推定用モデル生成部150は、メッシュのリファインを行う。ステップS1060で生成されたメッシュモデルは、点群データ全てを利用して細かい三角形パッチから生成されるため、データ量が大きくなる。また、本来同一の面としてモデル化されるべき面も、必要以上に細かいパッチとして構成される場合が多い。そこで、モデルの形状と、位置姿勢推定に利用する特徴に応じたメッシュモデルのリファインを行う。ここで、メッシュモデルのリファインとは、メッシュモデルのパッチ同士を結合することで、形状情報として冗長なパッチを削減、または細かい形状を省略して、データ量を削減する操作のことをいう。
メッシュモデルをリファインする手法としては、非特許文献4に示される手法の他に、例えば、
・メッシュモデルを構成する全ての三角形パッチに対して近傍パッチの法線を計算し、同一法線方向と判別されたパッチ同士を結合する手法や、
・パッチのなす面と近傍パッチの頂点との距離を計算し、同一面上に乗ると識別されたパッチ同士を結合する手法を利用しても良い。メッシュモデルをリファインする手法は、上述の方法に限らず、何らかの閾値によりメッシュモデルの形状の詳細度を調節することができる手法であれば、いずれの手法でもよく、手法の選択により本発明の本質が損なわれることは無い。本実施形態では、非特許文献4で示される手法を利用して、メッシュモデルのリファインを行う。その具体的な手順に関しては、非特許文献4において広く公開されているため、ここでは詳細は述べない。
メッシュモデルのリファインでは、どの程度細かい情報を省略するかによって、最終的に位置姿勢推定用モデルとして生成されるモデルの形状が左右される。そのため、位置姿勢推定手法に好適な位置姿勢推定用モデルを生成するためには、適切な詳細度を設定してメッシュモデルをリファインする必要がある。ここで、詳細度とは、どの程度細かい形状を保持してメッシュモデルのリファインを行うかを決定する値である。詳細度を小さく設定した場合は、メッシュモデルの細かい形状が省略される代わりにデータ量が大きく削減され、詳細度を大きく設定した場合は、データ量の削減量が小さくなる代わりに、メッシュモデルの細かい形状が保存されたままリファインされる。
この詳細度は、最終的に位置姿勢推定用モデルとして、どの程度細かい形状のモデルが必要であるかによって変化するため、位置姿勢推定に利用する特徴や、元々のモデルの複雑さやデータ量に応じて、適切に設定する必要がある。例えば、非特許文献1に示されるようなエッジを利用する位置姿勢推定手法の場合、画像平面上で短く観察されるエッジは、フレーム間において、正確に対応付けることが困難である。そのため、位置姿勢推定用モデルから抽出したエッジに、短いエッジが多く含まれると、位置姿勢推定精度が低下する恐れがある。そのため、エッジを利用した位置姿勢推定を行う場合は、必要以上に詳細な形状は位置姿勢推定用モデルに含まないほうが安定的に対応付けを行うことができる。そこで、3次元点群データの生成に利用したデプスバッファからエッジ抽出を行い、短いエッジが細かく密集した領域を判別して、その部分の形状が省略されるように、モデルのリファインのための詳細度を決定する。即ち、位置姿勢推定用モデル生成部150は、奥行き画像(デプスバッファ)からエッジを抽出したときに、所定長さに満たないエッジとして抽出される形状情報を省略して、位置姿勢推定用モデルを生成するようにする。これにより、最終的に利用する位置姿勢推定に応じて、適切な詳細度の位置姿勢推定用モデルを生成することが可能となる。
また、詳細度の設定は、モデルの形状に応じて設定してもよい。例えば、モデルの形状が単純な形であることがあらかじめわかっている場合は、詳細度を低く設定することで、位置姿勢推定用モデルのデータ量を大きく削減することが可能である。また、詳細度の設定は、上述の方法に限るものでなく、例えば、モデルの形状およびスケールに応じて経験的に詳細度が設定されても良い。或いは、メッシュモデルの頂点数に応じて、頂点数が所定数以下になるように詳細度が決定されても良い。この場合、3次元点群データから生成した位置姿勢推定用モデル(例えばメッシュモデル)の頂点数が所定数よりも多い場合に、いわゆるポリゴンリダクションを行ってデータ量を削減するように構成されてもよい。最終的に位置姿勢推定において利用するために都合のよいモデルが生成されるように設定する限り、いずれの手法でも良く、詳細度を決定する方法に制限は特に無い。
また、位置姿勢推定に利用する特徴に応じてメッシュモデルをリファインする方法は、上述の詳細度を変更させる方法に限られるものではない。例えば、リファインした後の位置姿勢推定用モデルに対して、モデルの中で、短く密集したエッジが検出される部位を除くなどの方法をとっても良い。位置姿勢推定手法に利用する特徴に応じて、都合の良い特徴が出やすく、都合の悪い特徴が出にくくするようにモデルをリファインする方法であれば、いずれの手法でよく、リファインの方法に特に制限はない。本実施形態においては、モデルの形状に応じて具体的な閾値を決定する。以上の処理により、点群データからメッシュモデルが生成され、位置姿勢推定用モデル生成装置1の処理が終了する。
以上に述べたように、本実施形態によれば、複数の視点からのCADモデルの描画結果として得られるデプスバッファから3次元点群データが生成され、ドロネー網によるメッシュモデル生成が行われる。そして、最終的に利用する位置姿勢推定の用途に応じてメッシュモデルをリファインすることで、位置姿勢推定手法に応じた位置姿勢推定用モデルを、CADモデルから生成することが可能になる。
以上の処理により、位置姿勢推定用のモデルが生成される。次に、このモデルを利用して、観察対象物体に対する撮像装置の位置及び姿勢を推定する。以下、本実施形態における位置姿勢推定用モデル生成装置により生成した位置姿勢推定用モデルを利用した位置姿勢の推定手法について、エッジに基づいた位置姿勢推定手法を適用した場合について説明する。
図3は、本実施形態における位置姿勢推定用モデル生成装置1により生成した位置姿勢推定用モデル20を利用して位置姿勢推定を行う位置姿勢計測装置2の構成を示している。位置姿勢計測装置2は、位置姿勢推定用モデル保存部210と、画像取得部220と、モデル特徴抽出部230と、画像特徴抽出部240と、位置姿勢算出部250とを具備する。また、位置姿勢推定用モデル20は、位置姿勢推定用モデル保存部210に保存され、撮像装置30は、画像取得部220に接続されている。なお、位置姿勢計測装置2は、コンピュータ(CPU)がメモリに蓄積されたプログラムを実行して所定の機能を実現する、通常の情報処理装置によって実現され得ることは明らかである。また、位置姿勢計測装置2と位置姿勢推定用モデル生成装置1とは、一つの情報処理装置で実現されてもよい。
図4は、位置姿勢計測装置2をMRの位置合わせに適用した場合を示す図である。観察者50は、ビデオシースルー型のHMD60を装着している。ビデオシースルー型のHMD60には、それぞれ左眼、右眼に対応した撮像装置30及び40が内蔵されている。撮像装置30及び撮像装置40は、観察対象物体70を撮像する。撮像装置30が撮像した画像は位置姿勢計測装置2に入力される。位置姿勢計測装置2は、位置姿勢推定用モデル生成装置1により生成された位置姿勢推定用モデルを、位置姿勢推定用モデル保存部210に保存している。そして、位置姿勢計測装置2は、撮像装置30が撮像した画像と、位置姿勢推定用モデル保存部210に保存された観察対象物体70に対応する位置姿勢推定用3次元モデルをもとに撮像装置30の位置及び姿勢を算出する。画像合成装置4は、仮想物体75の仮想空間画像を生成する仮想空間画像生成部(不図示)を有する。そして、画像合成装置4は、位置姿勢計測装置2が算出した撮像装置30の位置及び姿勢に基づいて仮想物体75の仮想空間画像を撮像装置30及び40によって撮像された現実空間の画像に重畳合成して、MR画像を生成する。HMD60は、画像合成装置4により生成されたMR画像を表示デバイス上に表示する。なお、位置姿勢計測装置2や画像合成装置4はHMD60に組み込まれてもよい。なお、撮像装置30によって撮像された画像とともに撮像装置40によって撮像された画像も利用して位置姿勢算出を行っても良い。その場合、撮像装置30と撮像装置40の相対位置姿勢関係をあらかじめ算出しておくことで、対象物体−撮像装置30−撮像装置40のそれぞれの相対位置姿勢を計算する。ここで、例えば、撮像装置30が何かで隠され、対象物体−撮像装置30間の相対位置姿勢を直接計算することができない場合を考える。その場合でも、撮像装置40の画像を利用して、対象物体−撮像装置40間の相対位置姿勢と、撮像装置40−撮像装置30間の相対位置姿勢とに基づいて、対象物体−撮像装置30間の相対位置姿勢を計算することが可能となる。ただし、本実施形態では撮像装置30によって撮像された画像のみを用いるものとする。
次に、位置姿勢計測装置2を構成する各部について説明する。位置姿勢推定用モデル保存部210には、位置姿勢算出の基準となる、位置姿勢推定用モデル生成装置1により生成された位置姿勢推定用モデル20が保存される。
画像取得部220は、撮像装置30によって撮像された画像を位置姿勢計測装置2に入力する。画像取得部220は、撮像装置の出力がNTSCなどのアナログ出力であればアナログビデオキャプチャボードによって実現される。また撮像装置の出力がIEEE1394などのデジタル出力であれば、例えばIEEE1394インタフェースボードによって実現される。また、画像取得部220は、予め記憶装置に記憶してある静止画像や動画像のデジタルデータを読み出すことにより画像を取得するものであってもよい。
モデル特徴抽出部230では、位置姿勢推定用モデル20から、撮影画像に位置姿勢推定用モデルを当てはめるための特徴を抽出する。本実施形態では、モデル特徴抽出部230においては、位置姿勢推定用モデルと概略位置姿勢に基づいて描画した描画画像から、エッジ情報を抽出する。モデルからの特徴抽出手法(エッジ情報抽出方法)については、後述する(図5のステップS2030)。なおエッジに代えて、画像中の輝度分布から点特徴などを検出して用いるようにしてもよい。
画像特徴抽出部240は、画像取得部220によって入力された画像上において、撮像装置30の位置及び姿勢を算出するのに用いられる画像特徴を検出する。本実施形態では、画像特徴抽出部240は画像上のエッジの検出を行う。エッジの検出方法については後述する(図5のステップS2040)。
位置姿勢算出部250は、モデル特徴抽出部230と画像特徴抽出部240から抽出した特徴を対応付け、その対応付け結果に基づき、位置姿勢推定用モデル20を基準として座標系における撮像装置30の位置及び姿勢を算出する。
なお、位置姿勢推定用モデル生成装置1により生成された位置姿勢推定用モデル20を利用した位置姿勢推定方法は、本実施形態における位置姿勢計測装置2に示される手法に限られるものではない。3次元モデルと撮影画像とを当てはめることで位置姿勢推定を行う手法である限り、いずれの手法でもよい。例えば、非特許文献2に記載されている位置姿勢推定手法を利用しても本発明の本質は損なわれない。
次に、本実施形態における位置姿勢推定方法の処理手順について説明する。図5は、本実施形態における位置姿勢推定方法の処理手順を示すフローチャートである。
(ステップS2010)
まずステップS2010では初期化を行う。ここでは、基準座標系における撮像装置30と観察対象物体との相対的な概略位置姿勢の設定を行う。本実施形態における位置姿勢計測方法は、概略の撮像装置の位置姿勢を、撮影画像上に撮像される観察対象物体のエッジ情報を利用して逐次更新していく方法である。そのため、位置姿勢計測を開始する前に予め撮像装置の概略の位置及び姿勢を初期位置及び初期姿勢として与える必要がある。そこで、例えば予め決まった位置及び姿勢を設定しておき、撮像装置をその位置及び姿勢になるように移動することで初期化を行う。または、画像内で検出するだけで認識可能な人工的な指標を配置し、該指標の各頂点の画像座標と基準座標系における3次元位置との対応から撮像装置の位置姿勢を求めて概略の位置姿勢としてもよい。また、識別性の高い自然特徴点を予め検出してその3次元位置を求めておき、初期化時に画像上で該特徴点を検出し、その画像座標と3次元位置との対応から撮像装置の位置姿勢を求めてもよい。さらに、磁気式や光学式、超音波式などの6自由度位置姿勢センサによって撮像装置の位置姿勢を計測し、それを概略の位置姿勢としてもよい。人工的な指標や自然特徴点などの画像情報と、前述の6自由度位置姿勢センサや3自由度の姿勢センサ、3自由度の位置センサを併用して計測される撮像装置の位置姿勢を用いて初期化してもよい。
(ステップS2020)
ステップS2020では、画像取得部220は、撮像装置30が撮像した画像を取得し、位置姿勢計測装置2に取り込む。
(ステップS2030)
次にステップS2030において、モデル特徴抽出部230は、位置姿勢推定用モデルから、撮影画像と対応付けるためのエッジ情報を抽出する。図6は、本実施形態における観察対象物体のエッジ特徴を抽出する処理の詳細な処理手順を示すフローチャートである。
まず、ステップS2110において、モデル特徴抽出部230は、ステップS2010で求めた観察対象物体の概略位置姿勢に基づいて、位置姿勢推定用モデル保存部210に保存された位置姿勢推定用モデルの描画を行う。本実施形態で、描画に利用する射影行列の内部パラメータは、撮像装置30の内部パラメータをあらかじめ計測しておき、実際に用いるカメラと内部パラメータを一致させておく。モデル特徴抽出部230のモデル描画に関する処理内容は、基本的にステップS1020の処理と同様であるので説明は省略する。
次に、ステップS2120において、モデル特徴抽出部230は、ステップS2110の描画過程において生成されたデプスバッファに対して、エッジ検出を行う。デプスバッファに対してエッジ検出を行なうことで、奥行きが不連続に変化する領域を求めることができる。エッジを検出する手法としては、例えば、sobelフィルタなどのエッジ検出フィルタを利用しても良いし、Cannyアルゴリズムを利用しても良い。画像の画素値が不連続に変化する領域を検出することができれば、いずれの手法でも良く、手法の選択に特に制限は無い。本実施形態では、Cannyアルゴリズムを利用してエッジ検出を行う。デプスバッファに対してCannyアルゴリズムによるエッジ検出を行うことで、エッジ領域と非エッジ領域に分けられた2値画像が得られる。
次にステップS2130において、モデル特徴抽出部230は、ステップS2120で生成された2値化画像について、隣接エッジのラベリングを行い、エッジの連結成分を抽出する。ラベリングは、例えば、ある画素の周囲8画素の中にエッジが存在すれば、同一ラベルを割り当てることにより行われる。
次にステップS2140において、モデル特徴抽出部230は、ステップS2130で連結成分を抽出したエッジに対して、エッジ素の抽出を行う。エッジ素とは、画像上での端点間の距離が極短いエッジのことをいう。同一ラベルにラベリングされたエッジを画像上で等間隔に分割するように分割点を算出して、この分割点の周辺の極短い連結成分を求めエッジ素を抽出する。本実施形態では、分割点から3pixel離れた連結成分を端点(始点と終点)に設定して、分割点を中心としたエッジ素を抽出する。デプスバッファから抽出したエッジ素は、総数をNとして、各エッジ素をEFi(i=1、2…N)で表す。エッジ素の数Nが多いほど、処理時間が長くなる。そのため、エッジ素の総数が一定になるように、画像上でエッジ素間の間隔を逐次変更しても良い。
次にステップS1250において、ステップS1240で算出されたエッジ素に対して、基準座標系における3次元座標を求める。これには、ステップS2110で生成したデプスバッファを利用する。デプスバッファ上の奥行き値を基準座標系上の3次元座標に変換する処理内容は、基本的にステップS1040の処理と同様であるので説明は省略する。エッジ素EFiの3次元座標の算出が終わったら、ステップS2040に進む。
(ステップS2040)
ステップS2040において、画像特徴抽出部240は、ステップS2030で求めた位置姿勢推定用モデルから抽出したエッジ素EFi(i=1、2、…、N)に対応するエッジを、撮像装置30によって撮像された現フレーム撮影画像より検出する。エッジの検出は、エッジ素EFiの探索ライン(エッジ素の法線方向の線分)上において、撮影画像上の濃度勾配から極値を算出することにより行う。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。本実施形態では、探索ライン上でエッジが複数存在する場合には、最もエッジ素の中心点に近いエッジを対応点とし、その画像座標とエッジ素EFiの3次元座標を保持する。なお、本実施形態では最もエッジ素EFiに近いエッジを対応点としているが、これに限るものではなく、濃度勾配の極値の絶対値が最も大きいエッジを対応点としてもよい。また、1つではなく複数の点を対応点候補として保持してもよい。以上の処理を全てのエッジ素EFiに対して繰り返し、全てのエッジ素EFiについて処理が終了すればステップS2040の処理を終了し、ステップS2050に進む。
(ステップS2050)
ステップS2050において、位置姿勢算出部250は、非線形最適化計算を用いて、撮像装置と観察対象物体との概略の相対的な位置姿勢を反復演算により補正することにより撮像装置の位置姿勢を算出する。ここで、ステップS2030において生成された物体特徴モデルのエッジ素EFiのうち、ステップS2040において対応点が求まったエッジ素の総数をLcとする。また、画像の水平方向、垂直方向をそれぞれx軸、y軸とする。また、あるエッジ素の中心点の投影された画像座標を(u0,v0)、エッジ素の直線の画像上での傾きをx軸に対する傾きθと表す。傾きθは、エッジ素端点(始点と終点)の撮影画像上での2次元座標を結んだ直線の傾きとして算出する。エッジ素の直線の画像上での法線ベクトルは(sinθ、−cosθ)となる。また、該エッジ素の対応点の画像座標を(u’、v’)とする。
ここで、点(u,v)を通り、傾きがθである直線の方程式は、
Figure 0005094663
と表せる。エッジ素の撮影画像上での画像座標は撮像装置の位置及び姿勢により変化する。
また、撮像装置の位置及び姿勢の自由度は6自由度である。ここで撮像装置の位置及び姿勢を表すパラメータをsで表す。sは6次元ベクトルであり、撮像装置の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えばオイラー角による表現や、方向が回転軸を表して大きさが回転角を表す3次元ベクトルなどによって表現される。エッジ素中心点の画像座標(u,v)は(u0,v0)の近傍で1次のテイラー展開によって数3のように近似できる。
Figure 0005094663
数2において、u、vの偏微分の導出方法は例えば非特許文献6に開示されるように広く知られているのでここではその詳細は述べない。数2を数1に代入することにより、数3が得られる。
Figure 0005094663
ここで、数3に示す直線が該エッジ素の対応点の画像座標(u’、v’)を通過するように、撮像装置の位置及び姿勢sの補正値Δsを算出する。r0=u0sinθ−v0 cosθ(定数)、d=u’ sinθ−v’ sinθ(定数)とすると、
Figure 0005094663
が得られる。数4はLc個のエッジ素について成り立つため、数5のようなΔsに対する線形連立方程式が成り立つ。
Figure 0005094663
ここで数5を数6のように簡潔に表す。
Figure 0005094663
数6をもとにGauss−Newton法などによって、行列Jの一般化逆行列(JT・J)−1を用いてΔsが求められる。しかしながら、エッジの検出には誤検出が多いので、次に述べるようなロバスト推定手法を用いる。一般に、誤検出されたエッジに対応するエッジ素では誤差d−rが大きくなる。そのため数5、数6の連立方程式に対する寄与度が大きくなり、その結果得られるΔsの精度が低下してしまう。そこで、誤差d−rが大きいエッジ素のデータには小さな重みを与え、誤差d−rが小さいエッジ素のデータには大きな重みを与える。重みは例えば数7Aに示すようなTukeyの関数により与える。
Figure 0005094663
数7Aにおいて、cは定数である。なお、重みを与える関数はTukeyの関数である必要はなく、例えば次式で示されるようなHuberの関数など、誤差d−rが大きいエッジ素には小さな重みを与え、誤差d−rが小さいエッジ素には大きな重みを与える関数であればなんでもよい。
Figure 0005094663
エッジ素EFiに対応する重みをwiとする。ここで数8のように重み行列Wを定義する。
Figure 0005094663
重み行列Wは、対角成分以外はすべて0のLc×Lc正方行列であり、対角成分には重みwiが入る。この重み行列Wを用いて、数6を数9のように変形する。
Figure 0005094663
数10のように数9を解くことにより補正値Δsを求める。
Figure 0005094663
これにより得られたΔsを用いて、撮像装置の位置及び姿勢を更新する。次に、撮像装置の位置及び姿勢の反復演算が収束しているかどうかを判定する。補正値Δsが十分に小さかったり、誤差r−dの総和が十分小さい、誤差r−dの総和が変化しないといった場合には、撮像装置の位置及び姿勢の計算が収束したと判定する。収束していないと判定された場合には、更新された撮像装置の位置及び姿勢を用いて再度線分の傾きθ、r0、d及びu、vの偏微分を計算し直し、数10より再度補正値Δsを求め直す。なお、ここでは非線形最適化手法としてGauss−Newton法を用いた。しかしながら、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levenberg−Marquardt法、最急降下法、共役勾配法などのその他の非線形最適化手法を用いてもよい。以上、ステップS2050における撮像装置の位置姿勢算出方法について説明した。
(ステップS2060)
ステップS2060では、位置姿勢算出を終了する入力がなされたかどうかを判定し、入力された場合には終了し、入力されなかった場合にはステップS2020に戻り、新たな画像を取得して再度位置姿勢算出を行う。
以上述べたように、第1実施形態では、位置姿勢推定用モデル生成装置1により生成した位置姿勢推定用モデルから随時抽出した特徴と、撮像画像から抽出できる特徴を対応付けることで観察対象物体と撮像装置との相対的な位置姿勢が算出される。
[第2実施形態](CADアプリからデプスバッファをフックしてメッシュモデル生成)
第1実施形態では、CADモデルを描画するためのレンダリングエンジンを、装置の中に持ち、装置内部でCADモデルのレンダリングを行っている。第2実施形態では、CADモデルの描画能力を有する外部のアプリケーションを利用し、CADモデルのデプスバッファを取得することで、CADモデルからの位置姿勢推定用モデルの生成を行う。
図7は、第2実施形態における位置姿勢推定用モデル生成装置3の構成を示している。図7に示したように、位置姿勢推定用モデル生成装置3は、外部アプリケーション監視部310、奥行き画像取得部320、3次元点群生成部330、位置姿勢推定用モデル生成部340を具備する。外部アプリケーション監視部310は、モデル描画機能(本実施形態ではCADモデルの描画能力)を有する外部アプリケーション80に接続され、外部アプリケーション80における描画命令に応じてデプスバッファをメインメモリに転送する。なお、ここで言う「接続」とは、メモリ上に保存されたデータを別の経路からアクセスし、データを書き換えることを意味する。奥行き画像取得部320は、外部アプリケーション80の描画命令により保存されたデプスバッファを取得し、位置姿勢推定用モデル生成装置3の中に保存する。位置姿勢推定用モデル生成装置3は、取得したデプスバッファを利用して、位置姿勢推定手法に応じた位置姿勢推定用モデルを生成する。なお、本実施形態において、位置姿勢推定用モデル生成装置3が適用できる条件として、外部アプリケーション80において、描画される3次元モデルが、位置姿勢推定の対象となる観察対象物体の形に即していることを前提としている。以下、位置姿勢推定用モデル生成装置3を構成する各部について説明する。
まず、外部アプリケーション監視部310は、外部アプリケーションの描画命令を監視し、描画されたタイミングで外部アプリケーション内に蓄積されたデプスバッファを取得する。外部アプリケーション監視部310によるデプスバッファの取得方法としては、例えば、
・グラフィックライブラリの描画命令の実行を監視し、描画命令が実行された時にビデオメモリに保存されているデプスバッファを取得する方法、
・描画命令が実行されるたびに、描画により生成されたデプスバッファがメインメモリに転送されるようにグラフィックライブラリの描画命令自体を書き換える方法、
が挙げられる。但し、外部アプリケーションのデプスバッファを取得できる方法であれば、いずれの手法でもよく、手法の選択に制限はない。本実施形態では、グラフィックライブラリの描画命令を書き換えることで、外部アプリケーションのデプスバッファを取得する。
また、外部アプリケーション監視部では、デプスバッファとともに、描画に利用されたプロジェクション行列とモデルビュー行列も同時に取得する。プロジェクション行列とは、射影行列の内部パラメータを表す行列であり、カメラ座標形状の3次元座標を画像平面上に投影するために利用される。また、モデルビュー行列とは、CADモデルの位置及び姿勢を表す行列であり、基準座標系上の3次元座標をカメラ座標系に変換するために用いられる。外部アプリケーション監視部310による描画命令の書き換えにより、外部アプリケーションが描画命令を実行するたび、描画時のデプスバッファとプロジェクション行列、およびモデルビュー行列がメインメモリに随時保存される。
奥行き画像取得部320は、外部アプリケーション80の描画命令によりメインメモリ上に随時保存された外部アプリケーション80のデプスバッファとモデルビュー行列を取得し、点群データ生成のための奥行き画像として保存するかどうかを決定する。
3次元点群生成部330、位置姿勢推定用モデル生成部340は、第1実施形態における3次元点群生成部140、位置姿勢推定用モデル生成部150と同一であるので説明を省略する。
次に、本実施形態における位置姿勢推定用3次元モデル生成方法の処理手順について説明する。図8は、本実施形態における位置姿勢推定用3次元モデル生成方法の処理手順を示すフローチャートである。
(ステップS3010)
まず、ステップS3010では、初期化を行う。初期化では、外部アプリケーション監視部310において、外部アプリケーションの描画命令の書き換えを行う。まず、外部アプリケーションが利用するグラフィックライブラリに応じて、描画命令の関数アドレスを取得する。そして、描画実行と同時にデプスバッファとプロジェクション行列とモデルビュー行列をメインメモリに転送するように描画命令を書き換え、取得した関数アドレスを利用してグラフィックライブラリの描画命令を上書きする。これにより、外部アプリケーションがグラフィックライブラリの描画命令を読み出すたびに、上書きされた描画命令が読み出され、そのときのデプスバッファとプロジェクション行列とモデルビュー行列がメインメモリに随時保存される。
(ステップS3020)
ステップS3020において、外部アプリケーション監視部310は、デプスバッファを取得するかどうかを決定するために、外部アプリケーション80のモデルビュー行列を取得する。外部アプリケーション80のモデルビュー行列は、外部アプリケーション80の描画命令が実行される度に随時更新される。モデルビュー行列を取得したら、ステップS3030に進む。
(ステップS3030)
ステップS3030において、奥行き画像取得部320は、ステップS3020で取得したモデルビュー行列を、現在の3次元点群データを生成するために利用されたモデルビュー行列と比較する。この比較により、奥行き画像取得部320は、新しい視点から描画されたデプスバッファであるかを判別し、外部アプリケーション80のデプスバッファを保存するかどうかを決定する。また、位置姿勢推定用モデル生成装置3に3次元点群データが生成されていない場合は、奥行き画像取得部320は外部アプリケーション80のデプスバッファを保存し、ステップS3040に進む。3次元点群データが既に生成されている場合は、奥行き画像取得部320は、現時点の外部アプリケーション80のデプスバッファが、3次元点群データの生成に利用されたデプスバッファと十分異なる視点から描画されているかを判別する。即ち、上述したモデルビュー行列の比較により、新しい視点から描画されたデプスバッファであるかどうかを判定し、3次元点群データ生成のための奥行き画像として保存するかどうかを決定する。
なお、異なる視点から描画されたデプスバッファであるかどうかの判別には、モデルビュー行列の回転成分と平行移動成分の差分を利用する。まず、平行移動成分に関しては、外部アプリケーションのモデルビュー行列と、3次元点群データの生成に利用したモデルビュー行列との平行移動成分のL2距離(ユークリッド距離)を計算する。3次元点群データが複数のデプスバッファから生成されている場合は、その全ての視点のモデルビュー行列に対して、平行移動成分のL2距離を計算する。算出したL2距離の中で最も小さな値が、一定の閾値以上であれば、奥行き画像取得部320は、保存されている視点位置から離れた視点から描画されたデプスバッファであると判別し、外部アプリケーション80のデプスバッファを保存する。また、回転成分に関しては、両回転成分がなす角度の差を計算し、回転成分の差が閾値以上の場合は、奥行き画像取得部320は、保存されている視点姿勢から異なる姿勢から描画されたデプスバッファであると判別する。そして、奥行き画像取得部320は、外部アプリケーション80のデプスバッファを保存する。
以上の処理により、外部アプリケーション80のデプスバッファのモデルビュー行列が、本装置内に保存されたモデルビュー行列の視点位置姿勢に十分異なると判別された場合は、処理はステップS3040に進む。ステップS3040では、デプスバッファを参照して3次元点群データの生成が行われる。対して、十分近いと判別された場合は、処理はステップS3020に戻り、異なる視点から描画されるまで、ステップS3020からステップS3040の処理が繰り返される。
(ステップS3040)
次に、ステップS3040において、3次元点群生成部330は、ステップS3030において取得したデプスバッファを利用して、観察対象物体の形状を表す3次元点群データを生成する。ステップS3040の処理内容は、基本的に第1実施形態におけるステップS1040の処理と同様であるので説明を省略する。
(ステップS3050)
次に、ステップS3050において、別の視点からの点群データを生成する場合、処理はステップS3020に戻り、別視点からの点群データ生成を行う。本実施形態では、CADモデルの描画は外部アプリケーションに依存しているため、描画の視点位置姿勢の設定を、本装置から操作することはできない。そのため、別の視点から描画されたデプスバッファを取得したい場合は、外部アプリケーションの視点設定が変化するまで、ステップS3020からS3050を繰り返し、外部アプリケーションにおいて所望の視点位置姿勢から描画されるのを待つ必要がある。しかし、ユーザが外部アプリケーションを任意に操作できる場合は、ユーザが外部アプリケーション80を操作しながら、3次元点群データの生成に利用するデプスバッファをその都度指定しても良い。所望の範囲の3次元点群データが生成されたら、ステップS3060に進み、3次元点群データからのメッシュモデル生成を行う。
(ステップS3060)
次に、ステップS3060において、位置姿勢推定用モデル生成部340は、ステップS3040で生成した3次元点群データから、位置姿勢推定用のメッシュモデルを生成する。ステップS3060の処理内容は、基本的に第1実施形態におけるステップS1060の処理と同様であるので説明を省略する。
(ステップS3070)
次に、ステップS3070において、位置姿勢推定用モデル生成部340は、メッシュのリファインを行う。ステップS3070の処理内容は、基本的に第1実施形態におけるステップS1070の処理と同一であるので説明を省略する。以上の処理により、位置姿勢推定用のメッシュモデルが生成され、処理が終了する。
以上述べたように、第2実施形態の位置姿勢推定用モデル生成装置3は、CADモデルの描画自体を、CADモデルの描画能力を有する外部アプリケーションにまかせる。そして、位置姿勢推定用モデル生成装置3は、外部アプリケーションのデプスバッファを取得して、3次元点群データを生成する。このため、位置姿勢推定用モデル生成装置3は、その内部にレンダリングエンジンを含む必要がなくなる。これにより、外部アプリケーションが対応する範囲内においてあらゆるモデル形式の3次元モデルを利用して、位置姿勢推定用モデルを生成することが可能となる。
なお、位置姿勢推定用モデル生成装置3により生成された位置姿勢推定用モデルを用いて位置姿勢計測を行なう位置姿勢計測装置、その計測結果を用いてMR画像を生成する画像合成装置は、第1実施形態と同様である。
以上のように、第1及び第2実施形態によれば、観察対象物体の形状を表す3次元情報の描画結果から当該3次元情報に基づく3次元点群データを生成し、生成した3次元点群データから位置姿勢推定に利用するための位置姿勢推定用モデルを生成する。例えば、観察対象物体の形状を表す3次元情報の描画結果として得られるデプスバッファを用いて、位置姿勢推定用モデルを生成することが可能となる。このため、面の隠れや曲面を含んだ物体に対応できるような面情報を含んだ位置姿勢推定用モデルを生成することができる。また、位置姿勢推定手法に応じて、3次元点群データから一定以上細かい形状情報を省くことで、位置姿勢推定において安定した特徴対応付けができる位置姿勢推定用モデルを生成することができる。
さらに、生成した位置姿勢推定用モデルには法線情報や頂点情報などの詳細な形状情報が含まれるため、詳細な形状情報を位置姿勢推定に利用することが可能である。
また、特に第2実施形態によれば、外部のアプリケーションからデプスバッファを取得するので、レンダリングエンジンを内部に含む必要が無くなる。そのため、3次元情報のレンダリングに外部のアプリケーションを利用することで、多様なモデル形式を利用して位置姿勢推定用モデルを生成することが可能となる。
[変形例1]デプスを間引いてサンプリングする
上述の第1および第2実施形態では、ステップS1040の点群データの生成において、点群データを生成するために、デプスバッファの全画素のデータを読み込んでいた。しかし、デプスバッファに必要以上な密度で、奥行き値が保存されている場合、生成した結果である点群データのデータ量が膨大なものになる恐れがある。
そこで、デプスバッファから奥行き値を読み込むときに、全画素を読み込むのではなく、画素を間引いて読みこむ。これにより、点群として生成されるデータ量を低減することができ、また、以後のステップにおける処理を大幅に高速化することが可能となる。このとき、デプスバッファから奥行き値を読み出すときの間引き率は、モデルに対する前提知識に基づいて設定してもよいし、モデルに問わず、一定の値で設定しても良い。最終的に生成される位置姿勢推定用モデルが、位置姿勢推定に利用するために十分の精度がある限り、これを制限するものでなく、いずれの方法でも良い。
[変形例2](位置姿勢に利用する部分のみ位置姿勢推定用モデルを生成)
第1及び第2実施形態では、生成した3次元点群データに対して、全ての点群データを利用して、位置姿勢推定用モデルを生成していた。しかし、位置姿勢推定する対象となる物体が巨大で、一部分しか観察しないことがあらかじめわかっている場合や、観察対象物体を撮像する撮像装置の視点移動が小さいことがわかっている場合などは、観察対象物体の全ての形状を生成する必要はない。そこで、観察対象物体の被観察部位が限定できる場合は、点群データからその部分のみを位置姿勢推定用モデルとして生成する。これにより、位置姿勢推定用モデルデータの巨大化、モデル生成の手間を低減することが出来る。
[変形例3](位置姿勢推定用モデルとして、点群データからIPモデルを生成する)
第1及び第2実施形態では、位置姿勢推定用モデルとして、頂点と面により構成されたメッシュモデルを用いている。しかし、位置姿勢推定用モデルとして生成するモデルはこれに限るものではない。位置姿勢推定用モデルとしては、例えば、陰関数多項式で面の情報が記述された、陰関数多項式モデル(IPモデル)を利用しても良い。IPモデルは、面からの距離場を容易に計算することが可能であるため、撮影画像中に撮像される観察対象物体と位置姿勢推定用モデルとの当てはめにIPモデルの距離場を利用することが可能である。また、IPモデルは、視点から観察される曲面の遮蔽輪郭を低い計算コストで算出することが可能であるため、エッジを利用した位置姿勢推定において、IPモデルを利用するメリットは大きい。点群からのIPモデルの生成方法としては、例えば、非特許文献5に示される手法を用いればよい。また、IPモデルの生成方法は、これに限るものでなく、点群を入力としIPモデルを出力とする手法であれば、いずれの手法でも良く、IPモデル生成手法に特に制限はない。
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
第1実施形態における位置姿勢推定用モデル生成装置1の構成を示す図である。 第1実施形態における位置姿勢推定用モデルの生成方法の処理手順を示すフローチャートである。 第1、第2実施形態における位置姿勢推定用モデル生成装置1及び3により生成した位置姿勢推定用モデルを利用した位置姿勢計測装置2の構成を示す図である。 第1、第2実施形態における位置姿勢計測装置2をMRの位置合わせに適用した場合を示す図である。 第1、第2実施形態における位置姿勢推定用モデルを利用した位置姿勢の推定方法の処理手順を示すフローチャートである。 第1、第2実施形態における、位置姿勢推定のためのモデル特徴抽出の詳細な処理手順を示すフローチャートである。 第2実施形態における位置姿勢推定用モデル生成装置3の構成を示す図である。 第2実施形態における位置姿勢推定用モデルの生成方法の処理手順を示すフローチャートである。

Claims (23)

  1. 撮像装置の観察対象物体に対する相対的な位置及び姿勢を推定するために、位置姿勢推定用の3次元モデルを生成する装置であって、
    観察対象物体の形状を表す3次元情報を利用して、所定の点から観察対象物体までの距離が画素ごとに格納された奥行き画像を取得する取得手段と、
    前記取得手段により取得した前記奥行き画像から、観察対象物体の形状を表す3次元点群データを生成する点群生成手段と、
    前記3次元点群データから、位置姿勢推定用3次元モデルを生成するモデル生成手段とを備えることを特徴とする位置姿勢推定用モデル生成装置。
  2. 前記取得手段は、前記観察対象物体の形状を表す3次元モデルを描画することにより得られるデプスバッファを利用して前記奥行き画像を取得することを特徴とする請求項1に記載の位置姿勢推定用モデル生成装置。
  3. 前記取得手段は、観察対象物体の形状を表す3次元モデルとして、CADモデルを利用して前記奥行き画像を取得することを特徴とする請求項2に記載の位置姿勢推定用モデル生成装置。
  4. 前記取得手段は、モデル描画機能を有する外部アプリケーションの描画命令を監視して、前記外部アプリケーションによる描画時のデプスバッファを、前記奥行き画像として取得することを特徴とする請求項1に記載の位置姿勢推定用モデル生成装置。
  5. 前記点群生成手段は、前記奥行き画像を構成する画素を間引いて前記3次元点群データを生成することを特徴とする請求項1乃至4のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  6. 前記点群生成手段は、位置姿勢推定に利用する範囲内で前記3次元点群データを生成することを特徴とする請求項1乃至5のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  7. 前記モデル生成手段は、位置姿勢推定において利用する特徴に応じた位置姿勢推定用モデルを、前記3次元点群データから生成することを特徴とする請求項1乃至6のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  8. 前記モデル生成手段は、エッジに基づく位置姿勢推定手法に利用することを前提とした位置姿勢推定用モデルを前記3次元点群データから生成することを特徴とする請求項7に記載の位置姿勢推定用モデル生成装置。
  9. 前記モデル生成手段は、前記奥行き画像からエッジを抽出したときに、所定長さに満たないエッジとして抽出される形状情報を省略して、位置姿勢推定用モデルを生成することを特徴とする請求項8に記載の位置姿勢推定用モデル生成装置。
  10. 前記モデル生成手段は、位置姿勢推定において利用する範囲内について、前記3次元点群データから位置姿勢推定用モデルを生成することを特徴とする請求項1乃至9のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  11. 前記モデル生成手段において、前記3次元点群データから生成する位置姿勢推定用モデルは、ポリゴンパッチにより構成されたメッシュモデルであることを特徴とする請求項1乃至10のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  12. 前記モデル生成手段は、前記3次元点群データから生成した位置姿勢推定用モデルの頂点数が所定数よりも多い場合には、ポリゴンリダクションを行ってデータ量を削減することを特徴とする請求項11に記載の位置姿勢推定用モデル生成装置。
  13. 前記モデル生成手段において、前記3次元点群データから生成する位置姿勢推定用モデルは、陰関数多項式モデルであることを特徴とする請求項1乃至10のいずれか1項に記載の位置姿勢推定用モデル生成装置。
  14. 前記3次元モデルは、面の情報がパラメトリックに記述されたソリッドモデルまたは、頂点と面とで構成されたメッシュモデルであることを特徴とする請求項1乃至13のいずれか一項に記載の位置姿勢推定用モデル生成装置。
  15. 前記モデル生成手段は、モデルの形状、スケール、若しくはメッシュモデルの頂点数に応じて詳細度が決定することを特徴とする請求項11に記載の位置推定用モデル生成装置。
  16. 撮像装置により撮像される観察対象物体と、観察対象物体の形状を表す3次元モデルとの対応付けに基づいて位置姿勢を算出する位置姿勢算出装置であって、
    請求項1乃至15のいずれか1項に記載された位置姿勢推定用モデル生成装置と、
    前記撮像装置が撮像した撮影画像を入力する入力手段と、
    前記位置姿勢推定用モデル生成装置により生成された位置姿勢推定用3次元モデルから位置姿勢推定用の特徴を抽出するモデル特徴抽出手段と、
    前記モデル特徴抽出手段で抽出された特徴に対応する特徴を、前記撮影画像から抽出する画像特徴抽出手段と、
    前記モデル特徴と前記画像特徴とを対応付けた結果に基づいて、前記撮像装置の前記観察対象物体に対する位置及び姿勢を算出する算出手段とを備えることを特徴とする位置姿勢算出装置。
  17. 前記モデル特徴抽出手段および前記画像特徴抽出手段は、エッジまたは輝度分布を特徴として抽出することを特徴とする請求項16に記載の位置姿勢算出装置。
  18. 請求項16または17に記載された位置姿勢算出装置と、
    前記位置姿勢算出装置が算出した撮像装置の観察対象物体に対する位置及び姿勢に基づいて仮想空間画像を生成する仮想空間画像生成手段と、
    前記撮像装置によって得られた撮影画像に前記仮想空間画像を重畳した画像を合成する画像合成手段と、
    前記画像合成手段によって合成された画像を表示する表示手段とを備えることを特徴とする画像処理装置。
  19. 撮像装置の観察対象物体に対する相対的な位置及び姿勢を推定するために、位置姿勢推定用の3次元モデルを生成する、情報処理装置による位置姿勢推定用モデル生成方法であって、
    取得手段が、観察対象物体の形状を表す3次元情報を利用して、所定の点から観察対象物体までの距離が画素ごとに格納された奥行き画像を取得する取得工程と、
    点群生成手段が、前記取得工程で取得した前記奥行き画像から、観察対象物体の形状を表す3次元点群データを生成する点群生成工程と、
    モデル生成手段が、前記3次元点群データから、位置姿勢推定用3次元モデルを生成するモデル生成工程とを有することを特徴とする位置姿勢推定用モデル生成方法。
  20. 撮像装置により撮像される観察対象物体と、観察対象物体の形状を表す3次元モデルとの対応付けに基づいて位置姿勢推定する、情報処理装置による位置姿勢算出方法であって、
    第1実行手段が、請求項19に記載された位置姿勢推定用モデル生成方法を実行する工程と、
    入力手段が、前記撮像装置が撮像した撮影画像を入力する入力工程と、
    モデル特徴抽出手段が、前記位置姿勢推定用モデル生成方法により生成された位置姿勢推定用3次元モデルから位置姿勢推定用の特徴を抽出するモデル特徴抽出工程と、
    画像特徴抽出手段が、前記モデル特徴抽出工程で抽出された特徴に対応する特徴を、前記撮影画像から抽出する画像特徴抽出工程と、
    算出手段が、前記モデル特徴と前記画像特徴とを対応付けた結果に基づいて、前記撮像装置の前記観察対象物体に対する位置及び姿勢を算出する算出工程とを有することを特徴とする位置姿勢算出方法。
  21. 情報処理装置による画像処理方法であって、
    第2実行手段が、請求項20に記載された位置姿勢算出方法を実行する工程と、
    仮想空間画像生成手段が、前記位置姿勢算出方法を実行して算出された、撮像装置の観察対象物体に対する位置及び姿勢に基づいて仮想空間画像を生成する仮想空間画像生成工程と、
    画像合成手段が、前記撮像装置によって得られた撮影画像に前記仮想空間画像を重畳した画像を合成する画像合成工程と、
    表示手段が、前記画像合成工程によって合成された画像を表示する表示工程とを有することを特徴とする画像処理方法。
  22. 請求項19乃至21のいずれか1項に記載された方法の各工程をコンピュータに実行させるプログラム。
  23. 請求項22に記載されたプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2008244946A 2008-09-24 2008-09-24 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法 Expired - Fee Related JP5094663B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008244946A JP5094663B2 (ja) 2008-09-24 2008-09-24 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法
US12/565,743 US20100073366A1 (en) 2008-09-24 2009-09-23 Model generation apparatus and method
EP09171132A EP2169627A2 (en) 2008-09-24 2009-09-23 Model generation apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008244946A JP5094663B2 (ja) 2008-09-24 2008-09-24 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法

Publications (3)

Publication Number Publication Date
JP2010079453A JP2010079453A (ja) 2010-04-08
JP2010079453A5 JP2010079453A5 (ja) 2011-10-27
JP5094663B2 true JP5094663B2 (ja) 2012-12-12

Family

ID=41426891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008244946A Expired - Fee Related JP5094663B2 (ja) 2008-09-24 2008-09-24 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法

Country Status (3)

Country Link
US (1) US20100073366A1 (ja)
EP (1) EP2169627A2 (ja)
JP (1) JP5094663B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7905610B1 (en) * 2006-08-29 2011-03-15 Nvidia Corporation Graphics processor system and associated method for projecting an image onto a three-dimensional object
US8504337B2 (en) * 2007-01-17 2013-08-06 Caterpillar Inc. Method and system for analyzing three-dimensional linkages
US8427424B2 (en) 2008-09-30 2013-04-23 Microsoft Corporation Using physical objects in conjunction with an interactive surface
EP2405393B1 (en) * 2009-03-04 2021-07-28 Nec Corporation Device, method and program for creating information for object position estimation
US8730309B2 (en) 2010-02-23 2014-05-20 Microsoft Corporation Projectors and depth cameras for deviceless augmented reality and interaction
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
JP4940461B2 (ja) * 2010-07-27 2012-05-30 株式会社三次元メディア 3次元物体認識装置及び3次元物体認識方法
JP5839971B2 (ja) * 2010-12-14 2016-01-06 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US9329469B2 (en) * 2011-02-17 2016-05-03 Microsoft Technology Licensing, Llc Providing an interactive experience using a 3D depth camera and a 3D projector
US9480907B2 (en) 2011-03-02 2016-11-01 Microsoft Technology Licensing, Llc Immersive display with peripheral illusions
AU2012260548B2 (en) 2011-05-24 2015-07-09 Koninklijke Philips N.V. 3D scanner using structured lighting
US9597587B2 (en) 2011-06-08 2017-03-21 Microsoft Technology Licensing, Llc Locational node device
KR101316501B1 (ko) * 2011-10-14 2013-10-10 현대자동차주식회사 메쉬형 공간 해석기법을 이용한 주차 공간 탐지방법 및 그 시스템
EP3258671B1 (en) * 2011-10-28 2018-09-05 Magic Leap, Inc. System and method for augmented and virtual reality
JP5837404B2 (ja) * 2011-11-22 2015-12-24 株式会社日立製作所 画像処理装置、画像処理方法
US20130141420A1 (en) * 2011-12-02 2013-06-06 The Boeing Company Simulation of Three-Dimensional (3D) Cameras
KR101909544B1 (ko) 2012-01-19 2018-10-18 삼성전자주식회사 평면 검출 장치 및 방법
JP6004809B2 (ja) * 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
CN104335251A (zh) * 2012-06-12 2015-02-04 索尼公司 信息处理设备、信息处理方法和程序
US9135735B2 (en) 2012-06-26 2015-09-15 Qualcomm Incorporated Transitioning 3D space information to screen aligned information for video see through augmented reality
DE102012014995A1 (de) * 2012-07-28 2014-01-30 Volkswagen Aktiengesellschaft Verfahren zum Betrieb eines Augmented-Reality-Systems
JP5863984B2 (ja) * 2012-10-05 2016-02-17 Necソリューションイノベータ株式会社 ユーザインタフェース装置及びユーザインタフェース方法
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
JP2014174629A (ja) * 2013-03-06 2014-09-22 Honda Motor Co Ltd ワークピース認識方法
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
KR101387045B1 (ko) 2013-03-29 2014-04-18 목포해양대학교 산학협력단 디지털 홀로그래픽 방송 서비스를 위한 영상 콘텐츠 암호화 장치 및 방법
US10311595B2 (en) 2013-11-19 2019-06-04 Canon Kabushiki Kaisha Image processing device and its control method, imaging apparatus, and storage medium
KR102332752B1 (ko) * 2014-11-24 2021-11-30 삼성전자주식회사 지도 서비스를 제공하는 전자 장치 및 방법
JP6298035B2 (ja) 2015-12-17 2018-03-20 ファナック株式会社 モデル生成装置、位置姿勢算出装置、およびハンドリングロボット装置
US10121221B2 (en) * 2016-01-18 2018-11-06 Advanced Micro Devices, Inc. Method and apparatus to accelerate rendering of graphics images
JPWO2017154705A1 (ja) * 2016-03-09 2018-12-27 株式会社ニコン 撮像装置、画像処理装置、画像処理プログラム、データ構造、及び撮像システム
CN107967710B (zh) * 2016-10-20 2021-05-25 株式会社理光 一种三维物体描述方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540809A (ja) * 1991-08-06 1993-02-19 Canon Inc 3次元形状モデル作成装置
JP2001067495A (ja) * 1999-08-25 2001-03-16 Ricoh Co Ltd 三角形メッシュの生成方法、装置及び記録媒体
JP2006190049A (ja) * 2005-01-05 2006-07-20 Fujitsu Ltd 頂点削減図形描画方法および装置
DE102006005044B4 (de) 2006-02-03 2011-01-27 Metaio Gmbh Verfahren und System zur Bestimmung eines Datenmodells zur Überlagerung mit einem realen Objekt in einem Verfahren zur Objektverfolgung

Also Published As

Publication number Publication date
US20100073366A1 (en) 2010-03-25
EP2169627A2 (en) 2010-03-31
JP2010079453A (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
JP5094663B2 (ja) 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法
JP5253066B2 (ja) 位置姿勢計測装置及び方法
Tagliasacchi et al. Curve skeleton extraction from incomplete point cloud
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
US11222471B2 (en) Implementing three-dimensional augmented reality in smart glasses based on two-dimensional data
EP2272050B1 (en) Using photo collections for three dimensional modeling
JP5290864B2 (ja) 位置姿勢推定装置及び方法
US8059889B2 (en) Position and orientation measurement apparatus and control method thereof
CN104937635B (zh) 基于模型的多假设目标追踪器
JP3954211B2 (ja) 三次元シーンにおける形状及び模様の復元方法及び装置
KR20180069786A (ko) 3d 신체 모델에 대한 3d 의복 모델의 이미지 파일을 생성하기 위한 방법 및 시스템
JP2020526818A (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
JP5206366B2 (ja) 3次元データ作成装置
JP5290865B2 (ja) 位置姿勢推定方法および装置
JP6293386B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
CN111553284A (zh) 人脸图像处理方法、装置、计算机设备和存储介质
JP2001126051A (ja) 関連情報呈示装置及び関連情報呈示方法
Nguyen et al. High-definition texture reconstruction for 3D image-based modeling
JP7298687B2 (ja) 物体認識装置及び物体認識方法
Xiang et al. Tsfps: An accurate and flexible 6dof tracking system with fiducial platonic solids
JP4568967B2 (ja) 3次元画像生成システムおよび3次元画像生成方法、並びにプログラム記録媒体
Djordjevic et al. An accurate method for 3D object reconstruction from unordered sparse views
JP2006059165A (ja) 3次元モデリング装置、幾何学パターン、3次元モデリングデータの生成方法、3次元モデリングプログラム、記録媒体
Gao et al. Multi-target 3d reconstruction from rgb-d data
WO2023132261A1 (ja) 情報処理システム、情報処理方法および情報処理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

R151 Written notification of patent or utility model registration

Ref document number: 5094663

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees