JP2005107247A - 位置姿勢推定方法および装置 - Google Patents

位置姿勢推定方法および装置 Download PDF

Info

Publication number
JP2005107247A
JP2005107247A JP2003341625A JP2003341625A JP2005107247A JP 2005107247 A JP2005107247 A JP 2005107247A JP 2003341625 A JP2003341625 A JP 2003341625A JP 2003341625 A JP2003341625 A JP 2003341625A JP 2005107247 A JP2005107247 A JP 2005107247A
Authority
JP
Japan
Prior art keywords
orientation
correction
correction value
index
measurement value
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.)
Pending
Application number
JP2003341625A
Other languages
English (en)
Inventor
Shinji Uchiyama
晋二 内山
Kiyohide Sato
清秀 佐藤
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 JP2003341625A priority Critical patent/JP2005107247A/ja
Priority to US10/943,550 priority patent/US7397930B2/en
Publication of JP2005107247A publication Critical patent/JP2005107247A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】指標を用いた位置姿勢計測の補正において、補正方法の切り替え時に起こる不連続な補正を滑らかな補正とし、かつ、指標が得られないときにも精度の高い位置姿勢を得る。
【解決手段】撮像装置より位置姿勢計測値を取得し(S201)、撮像装置で撮影した現実空間の画像から指標を検出し同定する(S202、S205)。得られた指標を利用して位置姿勢計測値を補正する補正値を計算し(S207)、過去n時刻分の補正値と合わせて現時刻の補正値を計算する(S209)。そして、得られた現時刻の補正値を保存蓄積する(210)とともに、当該現時刻の補正値により位置姿勢計測値を補正する(S211)。また、指標の検出もしくは同定に失敗した場合には、過去の時刻に得られている補正値を利用して位置姿勢計測値を補正する(S214)。
【選択図】 図2

Description

本発明は、現実空間を撮像するカメラもしくは現実空間を移動可能な物体の位置姿勢を推定する技術に関するものである。
現実空間を撮像するカメラなどの撮像部(以下、適宜カメラと言い換える)の位置姿勢計測は、例えば現実空間と仮想空間とを融合表示する複合現実感システムにおいて必要となる。カメラの位置姿勢の計測には磁気センサ等の位置姿勢センサが用いられるが、その計測精度は複合現実感システムでの利用において十分とはいえない。そこで、計測値を補正することにより位置姿勢計測精度を向上することが一般に行なわれる。そのような補正の方法として、大きく分けて以下の4つの方法が提案されている。
〈方法1〉カメラに設置した磁気センサ等の位置姿勢センサによってカメラの位置姿勢を計測し、現実空間に配置した位置が既知のマーカ、または現実空間中の位置が既知の特徴点(以下、マーカと特徴点を総称して指標という)を用いて該位置姿勢センサの計測誤差を補正する。この補正方法は特許文献1乃至3および非特許文献1乃至2に記載されている。この補正方法は、磁気センサ等の位置姿勢センサでは、複合現実感システムで利用するカメラの位置姿勢を計測する目的としては精度が不足していることを問題視して、指標の情報とその指標を画像から検出した情報とを利用してセンサの計測値を補正するものである。すなわち、〈方法1〉は、位置姿勢センサの計測値を指標により補正する方法であり、精度の高い位置姿勢計測を行う方法として有効である。
〈方法2〉センサの計測誤差を補正する際に、前フレームの補正値と現フレームの補正値を利用して現フレームの補正値を計算する。この補正方法が特許文献1にて開示されている。この補正方法は複数の指標を利用する場合に、利用する指標を切り替えるときの処理方法である。この方法によれば、指標の切り替わり時の補正値の不連続さを滑らかにすることができる。このように、〈方法2〉では、前フレームの補正値と現フレームの補正値とを利用して現フレームの補正値が計算される。
〈方法3〉特願2002−081251号によって提案されているものであり、状況に応じて、カメラの位置姿勢の推定方法を切り替える。位置姿勢を求める方法には、様々な方法が考えられ、それぞれに短所長所がある。特願2002−081251号で提案されたこの方法は、それらの「位置姿勢を求める方法」を状況に応じて選択的に組み合わせて利用することによって、すなわち、位置姿勢推定方法を切り替えることによってより良い位置姿勢推定を行おうとするものである。
〈方法4〉指標による補正が行えている状態とそうでない状態(位置姿勢センサの計測値のみの状態)との間の計測値のギャップを埋める方法が提案されている。この方法は、非特許文献2の7.1節の第2パラグラフに記載されており、画像による補正が行えている状態から画像による補正が行えない状態となった場合に、カメラの位置姿勢推定結果を徐々にセンサの計測値に推移させることが簡単に述べられている。非特許文献2で述べられている方法によると、指標の検出に失敗する状態となった場合には、位置姿勢推定結果を誤差の大きいセンサの計測値そのものに推移させていくことになる。
特開平11−136706号公報 特開2000−041173号公報 特開2002−228442号公報 Bajura Michael, Ulrich Neuman: Dynamic registration correction in video-based-augmented reality systems, IEEE Computer Graphics and Applications 15, 5, pp.52-60, 1995. A. State, G. Hirota, D. T. Chen, B. Garrett, and M. Livingston: Superior augmented reality registration by integrating landmark tracking and magnetic tracking, Proc. SIGGRAPH '96, pp.429-438, July 1996.
〈方法1〉の具体的な手法としては様々な手法が考えられるが、カメラで捉えられている指標の条件などにより、それぞれに長所短所があると考えられる。そのため、特願2002−081251号で提案されている〈方法3〉のように、場面に応じて補正方式を切り替えることが望まれる。〈方法3〉は位置姿勢センサの計測値を指標により補正するという〈方法1〉の手法に限定されたものではなく、位置姿勢推定一般に関して適用できる方法であるが、もちろん〈方法1〉における補正方式の異なる手法同士を切り替える場合にも適用できると考えられる。しかし、〈方法3〉を、補正方式の異なる方法にそのまま適用すると、補正手法が切り替わる瞬間に、位置姿勢の補正結果が不連続な値となってしまうという改善点がある。
一方で、位置姿勢推定値が不連続になることを考慮した方法として、特許文献1にて開示されている補正方法により〈方法2〉が提案されている。しかしながら、〈方法2〉は、複数の指標を利用する場合において、指標が切り替わるときに起こる位置姿勢推定値の不連続性を問題視し、その不連続性を解決する発明であり、位置姿勢の補正方法が切り替わることまでを考慮し解決するものではない。
また、〈方法4〉の方法は、一見問題のない処理であると考えられるが、例えば指標がカメラに十分に捉えられている状態にあるときに、カメラを動かすことなしにその指標の一部を手で隠してしまうような状況を想定した場合に問題があることがわかる。すなわち、このような場合、手で隠す前と隠した後とで、本来位置姿勢推定結果は同じ値であるべきである。しかしながら、〈方法4〉の手法に従うと、指標を捉えられなくなった場合にはセンサの計測値を位置姿勢推定値としてしまうこととなるため、隠す前まで精度の高い位置姿勢推定が行えていたのにもかかわらず、指標を隠したことにより、センサ計測値のもつ誤差をそのまま含んだ精度の悪い推定結果となってしまう。
本発明は上記の課題に鑑みてなされたものであり、撮影装置もしくは物体の位置姿勢を指標を用いて補正しながら推定する場合に、補正方法の切り替わり時の補正の不連続性をなくすことを可能とすることを目的とする。
また、本発明は、指標が利用できなくなった場合の計測精度の低下を防止することを目的とする。
上記の目的を達成するための本発明による位置姿勢推定方法は、
現実空間における物体の位置姿勢を推定する方法であって、
前記物体に固定された位置姿勢センサより位置姿勢計測値を入力する第1入力工程と、
撮像装置により現実空間を撮像して得られた撮像画像を入力する第2入力工程と、
前記撮像画像から指標を検出する検出工程と、
指標の検出結果に基づいて前記第1入力工程で得た位置姿勢計測値を補正するための補正値を算出する第1算出工程と、
前記第1算出工程で得られた補正値と、メモリに記憶されている過去の所定数の補正値とに基づいて新たな補正値を算出する第2算出工程と、
前記第1もしくは第2算出工程のいずれかで算出された補正値を前記メモリに蓄積する蓄積工程と、
前記第2算出工程で得られた補正値により、前記第1入力工程で入力された位置姿勢計測値を補正する補正工程とを備えることを特徴とする位置姿勢推定方法。
また、上記の目的を達成するための本発明の他の態様による位置姿勢推定方法は、上記の位置姿勢推定方法において、前記補正工程は、前記検出工程において指標が検出できなかった場合には、前記メモリに記憶された補正値に基づいて前記姿勢位置計測値を補正する。
また、本発明の他の形態による位置姿勢推定方法は、
位置姿勢センサより位置姿勢計測値を入力する位置姿勢計測値入力工程と、
撮像装置により現実空間を撮像して得られた撮像画像から指標を検出する検出工程と、
指標の検出結果に基づいて前記位置姿勢計測値を補正するための補正値を算出する第1算出工程と、
前記第1算出工程で得られた補正値と、メモリに記憶されている過去の所定数の補正値とに基づいて新たな補正値を算出する第2算出工程と、
前記第1もしくは第2算出工程のいずれかで算出された補正値を前記メモリに蓄積する蓄積工程と、
前記第2算出工程で得られた補正値により、前記第1入力工程で入力された位置姿勢計測値を補正する補正工程とを有する位置姿勢推定方法であって、
前記補正工程は、前記検出工程によって所定数の指標を検出することができなかった場合は、前記蓄積工程に蓄積されている補正値を用いて前記位置姿勢計測値を補正する。
また、本発明によれば、上記位置姿勢推定方法を用いて得られた位置姿勢計測値に基づいて仮想画像を生成し、現実画像と合成することにより複合現実感を提示する情報処理方法及び情報処理装置が提供される。
また、上述の目的は、本発明の位置姿勢推定方法をコンピュータ装置に実現させるためのコンピュータプログラム及び、このコンピュータプログラムを記録したコンピュータ装置読み取り可能な記録媒体によっても達成される。
上記の構成によれば、撮影装置もしくは物体の位置姿勢を指標を用いて補正しながら推定する場合に、不連続性を抑制することができる。例えば、補正方法の切り替わり時の補正の不連続性を抑制することができる。また、指標が利用できなくなった場合でもその精度の低下を防止することができる。
以下添付図面を参照して、本発明の好適な実施形態を詳細に説明する。
[第1実施形態]
図1に第1実施形態における位置姿勢推定処理を行うための構成を示す。図1において、頭部装着型表示装置(Head Mount Display:以下、HMD)101は、内部にカメラ102と位置姿勢センサ103と表示器104を備えている。それらは互いに固定された関係にあり、位置姿勢センサ103はカメラ102の位置姿勢を計測することができる。
CPU105は、本実施形態を実行するための中央処理装置であり、図1に示された構成に含まれる機器の制御を行い、後述する位置推定処理を実行する。バスコントローラ106は、CPU105やメモリ108などの本構成に含まれる機器を接続し、それらの機器間におけるデータ伝送を可能にする。ビデオキャプチャカード107は、カメラ102からビデオ信号を受け、これを撮像画像のデジタルデータとしてバスコントローラ106を介してメモリ108に転送する機能を有する。
メモリ108は、CPU105で実行するための処理手順を記憶する(処理手順記憶部108a)とともに、ビデオキャプチャカード107から得られる画像データ等、位置推定処理の過程で必要となるデータを記憶する(処理データ記憶部108b)。キーボード109は、処理の開始や終了を操作者が指示する際に利用される。グラフィクスカード110は、表示器104の表示を制御し、処理結果として得られる複合現実空間を表示させる。なお、図1では、表示器104はカメラ102及び位置姿勢センサ103と共に固定された構成となっているが、本実施形態ではカメラ102と位置姿勢センサ103が固定されていることが必須であり、必ずしも表示器104はそれらと固定されている必要はない。
引き続いて、上記構成を備える装置において実行される本実施形態の位置姿勢推定処理について、図2に示したフローチャートを参照して説明する。
まず、ステップS201において、位置姿勢センサ103より位置姿勢計測値を取得する。一方、ステップS202にて、カメラ102で現実空間を撮像し、メモリ108に撮像画像を転送する。ステップS203では、メモリ108に格納された撮像画像から指標を検出する。特定の色のシール状物体のような特定色領域を人工的に予め現実空間に配置しておいたものを指標としてもよいし、現実空間シーンに存在する特徴的な場所を指標として用いてもよい。特定色領域を指標として利用する場合には、画像から対応する色領域検出を行い、その色領域の重心を求めることにより、画像中で捉えられた指標の位置を検出することができる。また、特徴的な場所を指標として用いる場合は、パターンマッチングなどの技術により指標を抽出し、その抽出結果に基づいて指標の位置を検出することができる。
引き続き、ステップS204において、指標が検出されたかどうかを判定する。指標が検出された場合はステップS205へ進み、検出されていない場合はステップS212へ進む。ステップS205では、ステップS201で得られたカメラの位置姿勢計測値とステップS204で検出された指標とを基にして、ステップS203で検出された指標が現実空間中のどの指標であるのかを同定する。これは、指標が画像から検出した段階では同じ特徴しかもっていないような場合に、位置姿勢センサ103からの位置姿勢計測値を利用して識別(同定)を行う処理である。そして、ステップS206にて、同定された指標があるかどうかを判定し、同定された指標があればステップS207へ、なければステップS212へ処理が進む。
なお、もしも、指標がセンサの計測値を利用することなしに、同定できるようなものである場合(画像から検出するだけで一意に指標を特定できるような指標を利用する場合)には、このステップS205とS206の2つのステップは不要である。この場合、ステップS204で指標が検出された場合の次の処理は、ステップS206で指標が同定された場合に進むステップであるステップS207となる。また、指標の同定に利用する情報として、ステップS201で得られている位置姿勢センサ103の位置姿勢計測値を利用したが、これに限られるものではない。例えば、後で説明するステップS211もしくはステップS214で位置姿勢計測値に補正を行った後の位置姿勢値、すなわち、直前の位置姿勢の推定値であってもよい。あるいは、ステップS211もしくはステップS214で利用した補正値を用いてステップS201で得られた位置姿勢計測値を補正して得られる位置姿勢計測値を利用してもよい。
次に、ステップS207において、ステップS201で得られた位置姿勢センサ103の位置姿勢計測値をステップS205で同定された指標を利用して補正する場合の補正値を計算する。位置姿勢センサ103の位置姿勢計測値を指標を利用して補正する方法の一例としては、例えば、位置姿勢センサ103の位置姿勢計測値に基づいて指標の3次元位置を画像に投影した画像面上での位置と、画像から検出した指標の画像面上での位置とが一致するように、位置姿勢計測値のうちの回転成分もしくは平行移動成分の一方のみを補正する方法が挙げられる。ここで、補正値とは、補正前の位置姿勢センサ103からの位置姿勢計測値と補正後の位置姿勢値との差分を表す量のことである。上記補正方法の場合は回転成分もしくは平行移動成分のいずれか一方のみをもつ補正値となる。
なお、他の補正方法としては、位置姿勢計測値を初期位置姿勢とし、位置姿勢センサ103の位置姿勢計測値に基づいて指標の3次元位置を画像に投影した画像面上での位置と、画像から検出した指標の画像面上での位置との間のずれが小さくなるように、位置姿勢値を繰り返し修正することによって、そのずれが最小となるように位置姿勢を補正する方法がある。この場合の補正値は、回転成分と平行移動成分の両方がある補正値となる。
以上のように、ステップS207では、このような位置姿勢センサ103の位置姿勢計測値をより正確な位置姿勢値へと修正する補正値を計算する。このとき、撮像画像より同定された指標の状態に応じて、あるいは、ステップS207の補正値計算の過程で、センサの計測値の補正方法としてどのような補正を行うとより効果的な補正が行えるのかが変化する場合がある。そこで、場合によってはステップS208を実行し、上述のような指標を利用した補正方法を切り替え、切り替えた補正方法に基づいて、再びステップS207にてセンサの計測値の補正値の計算を行う。この切り替え方法としては、検出同定できたマーカの情報量(単純にはマーカの数など)に応じて切り替える方法や、計測範囲毎に補正方法を対応付けておき補正前のセンサ計測値の出力する位置姿勢が存在する計測範囲によって決定する方法や、手動で切り替え選択する方法など様々な方法が考えられるが、切り替え方法はどのような方法であっても構わない。
ここまでのステップS201からS208までの処理は、あるひとつの時刻における計測結果を処理する工程である。後述するステップS216でもわかるように、本実施形態の全体の処理工程は、一時刻における計測値を処理する工程に留まるものではなく、一時刻で得られる計測値の一連の処理工程が、再び次の時刻にて繰り返されるループを成す構成である。すなわち、このループを最初に処理する場合を除き、次のステップS209を実行するときには、後述するステップS210で保存蓄積される補正値が既に存在することとなる。
ステップS209では、ステップS210にて蓄積されている補正値から過去n時刻分の補正値(nは1以上の有限な整数)と、ステップS207で得られた現時刻での補正値とを利用して、現時刻で利用する補正値を計算する。この計算方法の詳細を説明する。
現在の時刻をt、1時刻前の時刻をt-1、i時刻前の時刻をt-iとし、ステップS207で計算した補正値のうちの回転成分をR(t)、平行移動成分をT(t)と表記し、ステップS210にて保存されたi時刻前の補正値の回転成分をR'(t-i)、平行移動成分をT'(t-i)と表記する。R(t)およびR'(t-i)は、それぞれ回転の表現方法として四元数(Quaternion)により表現する大きさが1である4次元のベクトルである。また、T(t)およびT'(t-I)は、3次元空間での移動量を表す3次元ベクトルである。このとき、現時刻で実際に利用する補正値の回転成分R'(t)と平行移動成分T'(t)は、それぞれ以下の数1と数2の式にて計算される。
Figure 2005107247
Figure 2005107247
上記の数1と数2で利用しているw(i)(i = 0,1,,,,n)は、重み係数であり、それぞれ任意の正の実数である。すべてのw(i)が1であるとすると、上記の数1および数2は、過去n時刻の補正値とステップS207で得られた補正値を平均していることを意味する。なお、数1において分母は分子であるベクトル和の大きさを表している。nまたはw(i)もしくはその両方の値を変更することにより、過去の補正値の利用度合いを調整することが可能である。n = 1の場合は、直前の時刻の結果のみを利用する方法となる。なお、回転の表現方法として四元数を利用しているのは、この重み付け平均演算を容易に行うためである。四元数で表された2つ回転変換があるとき、それらの四元数のベクトルの和を正規化することにより球面線形補間を行うことで、2つの回転変換の補間を行う方法は広く利用されている。すなわち、ここで述べた方法は、重み付きの球面線形補間を多数の回転変換の間で行う処理である。重み係数w(i)の例としては、すべてが1でも構わないが、iが小さいほど(時間的に最近のものほど)重み値を大きくするといったものが挙げられる。また、このステップS209が最初に実行されるとき(ループ状をなす工程の初回の処理であるとき)、および、ステップS210にて過去に補正値を保存した回数がnよりも小さいときは、ステップS210にて過去に蓄積された時刻数m(0≦m<n)個分にて上記ステップS209の処理を実行する。
次にステップS210にて、ステップS209で得られた補正値を現時刻の補正値としてメモリ108に保存蓄積する。本実施形態では、少なくともn個の補正値を保存するためのバッファをメモリ108に用意しておき、時刻的に最も古い保存値を現時刻の補正値で書き換える。これにより、常にn時刻分以上の補正値を蓄積するようにする。蓄積数がnに満たない場合には、過去に保存されたバッファを上書きすることなく、何も保存されていないバッファに書き込んでく。なお、キーボード109からの入力指示を利用してバッファ数nを指定可能としてもよい。例えば、上矢印キーと下矢印キーをそれぞれnを増加させる指示と減少させる指示として割り振り、それらが押されているかどうかを調べ、押されている場合にはnを増減させるという処理である。
また、この現在の補正値として保存される補正値をステップS209で得られた補正値を利用するのではなく、ステップS207で得られた補正値としてもよい。この方法を利用する場合、蓄積されているすべての補正値は、それぞれ過去の補正値を利用して計算されたものではなくなるため、ステップS209で計算に利用される補正値は、完全に現時刻からn時刻分前までの情報のみから計算されることとなる。逆にいえば、ステップS210においてステップS209で得られた補正値を保存する方法では、過去の補正値として保存されているすべての補正値が、それぞれその時点から過去n時刻分の補正値を利用して計算されたものとなるため、現時刻の補正値は、現時刻から見て過去n時刻よりも前の補正値も間接的に利用した補正値となる。これはどちらが優れているという性質のものではない。従って、状況に応じてどちらかの方法を選択的に用いるような構成としても良い。
ステップS211では、ステップS209で得られた現時刻の補正値を利用して、ステップS201で取得した姿勢計測値を補正する。これにより、誤差の大きい位置姿勢センサ103の計測値の精度を高めることができる。しかも、過去n時刻分の補正結果と共に計算された補正値が利用されることとなるため、ステップS208で示した補正方法の切り替えを行ったとしても、その瞬間に補正値が急変することがなく、滑らかな補正値の移行が実現される。また、同様に、特許文献1で開示されている補正方法で問題視しているような複数のマーカを利用する場合のマーカの切り替え時に生じ得る補正値の急変をも防ぐことができる。
言い換えれば、nを1とし、かつ、ステップS210で保存する補正値にステップS209の結果を利用した場合で、かつ、複数のマーカの切り替え時を想定した場合というのが、特許文献1で開示されている補正方法に相当する処理である。すなわち、本発明の方法は、特許文献1で開示されている補正方法と同様な考え方を別の局面においても適用できるように一般化し、過去の補正値の利用方法に関してより効果の高い方法となるように拡張した位置付けに相当する方法である。
この後、ステップS215へ進み、位置姿勢計測値を補正して得られた位置姿勢値を利用して、複合現実空間の生成・描画を行う。例えば、まず、グラフィクスカード110内に用意された描画用画像領域に対して、ステップS202で得られた現実空間の画像を背景として描画し、ステップS211で得られた位置姿勢値に基づいて予めメモリ108に用意されている仮想物体や仮想空間データを上書き描画することにより、現実空間と仮想空間を融合した描画画像を生成する。得られたグラフィクスカード内の描画画像は、グラフィクスカード110から表示器104へと伝送され、HMD101を装着している複合現実空間を体験しているユーザが観察することとなる。なお、描画用画像領域は、グラフィクスカード110内ではなくメモリ108内に用意されていてもよい。
次に、前述したステップS204で指標が検出されなかった場合、および、ステップS206で同定された指標がなかった場合の処理について説明する。これらの場合、処理はステップS212に進む。この2つのケースでは、位置姿勢計測値を補正するために利用できる指標がない状況である。従来は、このような場合には、指標による補正をあきらめて、誤差の多いセンサの位置姿勢計測値をそのまま利用する方法が採られていた。従来技術で示した〈方法4〉においても、「発明が解決しようとする課題」の中で内在する課題として記述したように、滑らかな推移を考慮しているとはいえ、最終的にはセンサの計測値をそのまま利用することになる。これに対して、以下に説明するステップS212からステップS214の処理は、そのような場合であっても指標による補正を行って精度を高めようとするものである。
まず、ステップS212にて、過去の時刻に得られている補正値があるか、すなわち、ステップS210にて保存された補正値があるどうかを調べる。過去の補正値がない場合とは、ループをなす本実施形態において、初回の工程で指標が検出できなかった、あるいは同定できなかった場合であり、本実施形態の動作開始直後にて起こりうる特殊なケースである。そのような場合にはステップS213にて、位置姿勢計測値をそのまま利用することとする。一方、通常の動作では、過去の補正値が蓄積されており、ステップS212はYesとなり、処理はステップS214に進む。
ステップS214では、ステップS210にて保存されている過去の補正値に基づいて補正値を決める。本実施形態では、それら蓄積された補正値のちの最新の補正値を利用してステップS201で得た位置姿勢計測値を補正する。ステップS213およびステップS214の後は、ステップS215に進み、前述したように得られた位置姿勢値を利用して複合現実空間の生成・描画を行う。このステップS214の処理により、例えば、指標が十分に検出・同定できていた状態において、体験者であるユーザが指標の前に手をかざしてしまった等の原因で指標の検出に失敗したとしても、位置姿勢の計算に過去の最新の補正値が適用されることとなるため、位置姿勢計測精度の悪化を防ぐことが可能となる。
ステップS215の処理が終わると、ステップS216へと進み、ここではこの一連の処理を終了させるかどうかを判定する。判定の方法としては、例えばキーボード109の“q”キーが押されたかどうかを利用することができる。終了指示がない場合には、再び本実施形態のスタート位置へと戻り、ステップS201からステップS215までの一連の処理が実行される。
[第2実施形態]
第1実施形態では、カメラと位置姿勢センサを互いに固定し、カメラが動的に動く状況にて、現実空間に固定された指標を撮像する場合を想定した実施形態であるが、カメラを固定し、位置姿勢センサおよび指標を配置した物体を動かす場合においても本発明を適用することが可能である。
図3に第2実施形態の構成を示す。操作物体301は、動作の対象となる対象物体本体に位置姿勢センサ303が固定されているものである。カメラ302はその操作物体を撮影することができるカメラである。それ以外の304から310の構成は、それぞれ図1の104から110の構成と同じものである。
上記構成を備える装置による位置姿勢推定処理のフローチャートは、第1実施形態のフローチャートである図2と同様のものとなる。第1実施形態の場合と異なるのは、ステップS205、ステップS207、ステップS211、ステップS214で行われる座標変換計算の演算方法である。しかしながら、カメラが動き現実空間が固定されている場合のカメラの位置姿勢を表す座標変換行列(第1実施形態)と、カメラが固定され対象物体が動く場合の物体の位置姿勢を表す座標変換行列(第2実施形態)とは、逆行列の関係にあり、どちらを基準として見るかという違いがあるだけであって、本質的には違うものではない。従って、図2のフローチャートと同様の処理により第2実施形態の物体の位置姿勢値を求める処理が実現される。
[第3の実施形態]
第1実施形態では、カメラと位置姿勢センサを互いに固定し、カメラが動的に動く状況にて、現実空間に固定された指標を撮像する場合を想定した実施形態であり、第2実施形態は、カメラを固定し、位置姿勢センサおよび指標を配置した物体を動かす場合を想定した実施形態である。第3実施形態では、カメラの位置姿勢センサを固定し、物体にも位置姿勢センサを固定し、それぞれが動き得るような場合を想定する。この場合も、図2のフローチャートと同様の処理により、カメラ及び物体の姿勢位置を推定することが可能となる。
以上説明したように、上記各実施形態によれば、撮影装置もしくは物体の位置姿勢を指標を用いて補正することによって推定する場合に、補正方法の切り替わり時の補正の不連続性をなくすことができ、かつ、指標が利用できなくなった場合の精度を上げることが可能となる。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
第1実施形態による位置姿勢推定処理を実現する装置の機能構成を示すブロック図である。 第1実施形態および第2実施形態および第3の実施形態における位置姿勢推定処理を示すフローチャートである。 第2実施形態による位置姿勢推定処理を実現する装置の機能構成を示すブロック図である。

Claims (14)

  1. 現実空間における物体の位置姿勢を推定する方法であって、
    前記物体に固定された位置姿勢センサより位置姿勢計測値を入力する第1入力工程と、
    撮像装置により現実空間を撮像して得られた撮像画像を入力する第2入力工程と、
    前記撮像画像から指標を検出する検出工程と、
    指標の検出結果に基づいて前記第1入力工程で得た位置姿勢計測値を補正するための補正値を算出する第1算出工程と、
    前記第1算出工程で得られた補正値と、メモリに記憶されている過去の所定数の補正値とに基づいて新たな補正値を算出する第2算出工程と、
    前記第1もしくは第2算出工程のいずれかで算出された補正値を前記メモリに蓄積する蓄積工程と、
    前記第2算出工程で得られた補正値により、前記第1入力工程で入力された位置姿勢計測値を補正する補正工程とを備えることを特徴とする位置姿勢推定方法。
  2. 前記物体が前記撮像装置を含むことを特徴とする請求項1に記載の位置姿勢推定方法。
  3. 前記撮像装置は固定され、前記物体は移動可能であることを特徴とする請求項1に記載の位置姿勢推定方法。
  4. 前記第1算出工程は、
    複数種類の補正方法より、補正値を計算するのに用いるべき補正方法を選択し、
    選択された補正方法に基づいて補正値を算出することを特徴とする請求項1に記載の位置姿勢指定方法。
  5. 前記第2算出工程は、補正値を回転成分と平行移動成分に分け、該回転成分と該平行移動成分について別々に補正値を算出することを特徴とする請求項1に記載の位置姿勢推定方法。
  6. 前記回転成分の表現方法として四元数を利用することを特徴とする請求項5に記載の位置姿勢推定方法。
  7. 前記補正工程は、前記検出工程において指標が検出できなかった場合には、前記メモリに記憶された補正値に基づいて前記姿勢位置計測値を補正することを特徴とする請求項1に記載の位置姿勢推定方法。
  8. 前記補正工程は、前記検出工程において指標が検出できなかった場合には、前記メモリに記憶された、最新の補正値に基づいて前記姿勢位置計測値を補正することを特徴とする請求項1に記載の位置姿勢推定方法。
  9. 位置姿勢センサより位置姿勢計測値を入力する位置姿勢計測値入力工程と、
    撮像装置により現実空間を撮像して得られた撮像画像から指標を検出する検出工程と、
    指標の検出結果に基づいて前記位置姿勢計測値を補正するための補正値を算出する第1算出工程と、
    前記第1算出工程で得られた補正値と、メモリに記憶されている過去の所定数の補正値とに基づいて新たな補正値を算出する第2算出工程と、
    前記第1もしくは第2算出工程のいずれかで算出された補正値を前記メモリに蓄積する蓄積工程と、
    前記第2算出工程で得られた補正値により、前記第1入力工程で入力された位置姿勢計測値を補正する補正工程とを有する位置姿勢推定方法であって、
    前記補正工程は、前記検出工程によって所定数の指標を検出することができなかった場合は、前記蓄積工程に蓄積されている補正値を用いて前記位置姿勢計測値を補正することを特徴とする位置姿勢推定方法。
  10. 請求項1乃至9のいずれかに記載の位置姿勢推定方法を実行する工程と、
    前記位置姿勢推定方法によって得られた位置姿勢値に基づいて仮想画像を生成し、現実画像と合成することにより複合現実感を提示する提示工程とを備えることを特徴とする情報処理方法。
  11. 現実空間における物体の位置姿勢を推定する装置であって、
    前記物体に固定された位置姿勢センサより位置姿勢計測値を入力する第1入力手段と、
    撮像装置により現実空間を撮像して得られた撮像画像を入力する第2入力手段と、
    前記撮像画像から指標を検出する検出手段と、
    指標の検出結果に基づいて前記第1入力手段で得た位置姿勢計測値を補正するための補正値を算出する第1算出手段と、
    前記第1算出手段で得られた補正値と、メモリに記憶されている過去の所定数の補正値とに基づいて新たな補正値を算出する第2算出手段と、
    前記第1もしくは第2算出手段のいずれかで算出された補正値を前記メモリに蓄積する蓄積手段と、
    前記第2算出手段で得られた補正値により、前記第1入力手段で入力された位置姿勢計測値を補正する補正手段とを備えることを特徴とする位置姿勢推定装置。
  12. 請求項1乃至9のいずれかに記載の位置姿勢推定方法を実行する位置姿勢推定手段と、
    前記位置姿勢推定手段によって得られた位置姿勢値に基づいて仮想画像を生成し、現実画像と合成することにより複合現実感を提示する提示手段とを備えることを特徴とする情報処理装置。
  13. 請求項1乃至9のいずれかに記載の位置姿勢推定方法をコンピュータに実行させるための制御プログラム。
  14. 請求項1乃至9のいずれかに記載の位置姿勢推定方法をコンピュータに実行させるための制御プログラムを格納するコンピュータによる読取が可能な記憶媒体。
JP2003341625A 2003-09-30 2003-09-30 位置姿勢推定方法および装置 Pending JP2005107247A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003341625A JP2005107247A (ja) 2003-09-30 2003-09-30 位置姿勢推定方法および装置
US10/943,550 US7397930B2 (en) 2003-09-30 2004-09-17 Position and orientation estimating method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003341625A JP2005107247A (ja) 2003-09-30 2003-09-30 位置姿勢推定方法および装置

Publications (1)

Publication Number Publication Date
JP2005107247A true JP2005107247A (ja) 2005-04-21

Family

ID=34373466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003341625A Pending JP2005107247A (ja) 2003-09-30 2003-09-30 位置姿勢推定方法および装置

Country Status (2)

Country Link
US (1) US7397930B2 (ja)
JP (1) JP2005107247A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007263648A (ja) * 2006-03-28 2007-10-11 Nintendo Co Ltd 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
JP2007271564A (ja) * 2006-03-31 2007-10-18 Canon Inc 位置姿勢計測方法、位置姿勢計測装置
JP2008116373A (ja) * 2006-11-06 2008-05-22 Canon Inc 位置姿勢計測方法及び装置
JP2009123112A (ja) * 2007-11-16 2009-06-04 Canon Inc 画像処理装置、画像処理方法
JP2011076589A (ja) * 2010-05-14 2011-04-14 Nintendo Co Ltd 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
JP2011134344A (ja) * 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP2011220825A (ja) * 2010-04-09 2011-11-04 Toyota Motor Corp 姿勢推定装置及び方法、姿勢制御装置及び方法、並びにプログラム
JP2012059292A (ja) * 2011-12-09 2012-03-22 Nintendo Co Ltd 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
US8731332B2 (en) 2010-06-11 2014-05-20 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
JP2017142813A (ja) * 2014-01-06 2017-08-17 オキュラス ブイアール,エルエルシー 仮想現実システムの較正

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4914019B2 (ja) * 2005-04-06 2012-04-11 キヤノン株式会社 位置姿勢計測方法及び装置
JP4785416B2 (ja) * 2005-05-11 2011-10-05 キヤノン株式会社 位置姿勢計測方法及び装置
JP4916167B2 (ja) * 2005-12-15 2012-04-11 キヤノン株式会社 指標識別方法及び指標識別装置
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法
US20070248283A1 (en) * 2006-04-21 2007-10-25 Mack Newton E Method and apparatus for a wide area virtual scene preview system
JP4976756B2 (ja) * 2006-06-23 2012-07-18 キヤノン株式会社 情報処理方法および装置
JP5247590B2 (ja) * 2009-05-21 2013-07-24 キヤノン株式会社 情報処理装置及びキャリブレーション処理方法
US10030931B1 (en) * 2011-12-14 2018-07-24 Lockheed Martin Corporation Head mounted display-based training tool
KR101874895B1 (ko) * 2012-01-12 2018-07-06 삼성전자 주식회사 증강 현실 제공 방법 및 이를 지원하는 단말기
US9074892B2 (en) 2013-03-15 2015-07-07 Ian Michael Fink System and method of determining a position of a remote object
US10209063B2 (en) * 2015-10-03 2019-02-19 X Development Llc Using sensor-based observations of agents in an environment to estimate the pose of an object in the environment and to estimate an uncertainty measure for the pose
KR102462799B1 (ko) * 2015-11-05 2022-11-03 삼성전자주식회사 자세 추정 방법 및 자세 추정 장치
US10410431B2 (en) * 2017-07-11 2019-09-10 Nvidia Corporation Skinning a cluster based simulation with a visual mesh using interpolated orientation and position

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453451B1 (en) * 1999-03-16 2008-11-18 Maguire Francis J Jr Moveable headrest for viewing images from different directions
IL133233A (en) * 1997-05-30 2005-05-17 British Broadcasting Corp Position determination
US6522312B2 (en) * 1997-09-01 2003-02-18 Canon Kabushiki Kaisha Apparatus for presenting mixed reality shared among operators
GB2334643A (en) * 1998-02-20 1999-08-25 Discreet Logic Inc Generating registration data for a virtual set
JP3976900B2 (ja) 1998-07-23 2007-09-19 キヤノン株式会社 視点位置姿勢の決定方法及びカメラ装置
JP2002081251A (ja) 2000-09-08 2002-03-22 Takizawa Kinzoku Kogyo Kk 扉等のストッパ−部材
JP2002157607A (ja) * 2000-11-17 2002-05-31 Canon Inc 画像生成システム、画像生成方法および記憶媒体
JP3467017B2 (ja) * 2000-11-30 2003-11-17 キヤノン株式会社 位置姿勢の決定方法及び装置並びに記憶媒体
JP4649050B2 (ja) * 2001-03-13 2011-03-09 キヤノン株式会社 画像処理装置、画像処理方法、及び制御プログラム
US6826276B2 (en) * 2001-12-03 2004-11-30 International Business Machines Corporation Managing caller profiles across multiple call hold centers
JP3796449B2 (ja) * 2002-01-31 2006-07-12 キヤノン株式会社 位置姿勢決定方法および装置並びにコンピュータプログラム
US7120875B2 (en) * 2002-10-29 2006-10-10 X-Labs Holdings, Llc Method and apparatus for augmented reality hybrid tracking system with fiducial-based heading correction
US7230741B2 (en) * 2003-01-13 2007-06-12 Bae Systems Information And Electronic Systems Integration, Inc., Reconnaissance And Surveillance Systems Optimum non-uniformity correction for imaging sensors

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4684147B2 (ja) * 2006-03-28 2011-05-18 任天堂株式会社 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
JP2007263648A (ja) * 2006-03-28 2007-10-11 Nintendo Co Ltd 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
JP2007271564A (ja) * 2006-03-31 2007-10-18 Canon Inc 位置姿勢計測方法、位置姿勢計測装置
US7860345B2 (en) 2006-03-31 2010-12-28 Canon Kabushiki Kaisha Position and orientation measurement method and position and orientation measurement apparatus
JP2008116373A (ja) * 2006-11-06 2008-05-22 Canon Inc 位置姿勢計測方法及び装置
JP2009123112A (ja) * 2007-11-16 2009-06-04 Canon Inc 画像処理装置、画像処理方法
JP2011220825A (ja) * 2010-04-09 2011-11-04 Toyota Motor Corp 姿勢推定装置及び方法、姿勢制御装置及び方法、並びにプログラム
JP2011076589A (ja) * 2010-05-14 2011-04-14 Nintendo Co Ltd 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
US8882591B2 (en) 2010-05-14 2014-11-11 Nintendo Co., Ltd. Storage medium having image display program stored therein, image display apparatus, image display system, and image display method
US8731332B2 (en) 2010-06-11 2014-05-20 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
US9256797B2 (en) 2010-06-11 2016-02-09 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
JP2011134344A (ja) * 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
US8718325B2 (en) 2011-02-24 2014-05-06 Nintendo Co., Ltd. Computer-readable storage medium, image processing apparatus, image processing system, and image processing method
JP2012059292A (ja) * 2011-12-09 2012-03-22 Nintendo Co Ltd 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
JP2017142813A (ja) * 2014-01-06 2017-08-17 オキュラス ブイアール,エルエルシー 仮想現実システムの較正
US10001834B2 (en) 2014-01-06 2018-06-19 Oculus Vr, Llc Calibration of multiple rigid bodies in a virtual reality system

Also Published As

Publication number Publication date
US7397930B2 (en) 2008-07-08
US20050069174A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
JP2005107247A (ja) 位置姿勢推定方法および装置
JP3467017B2 (ja) 位置姿勢の決定方法及び装置並びに記憶媒体
JP4532856B2 (ja) 位置姿勢計測方法及び装置
US7092109B2 (en) Position/orientation measurement method, and position/orientation measurement apparatus
US8144238B2 (en) Image processing apparatus and method
US8681230B2 (en) Picture processing device, picture processing method, program for picture processing, and imaging device
JP6338021B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2003222509A (ja) 位置姿勢決定方法および装置並びに記憶媒体
JP6503906B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US20080246848A1 (en) Image stabilizing apparatus, image-pickup apparatus and image stabilizing method
JP2002259992A (ja) 画像処理装置およびその方法並びにプログラムコード、記憶媒体
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR102169309B1 (ko) 정보 처리장치 및 그 제어방법
JP2003281504A (ja) 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
AU2004285183A1 (en) Estimation system, estimation method, and estimation program for estimating object state
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2003279310A (ja) 位置姿勢補正装置、及び位置姿勢補正方法
JP6061770B2 (ja) カメラ姿勢推定装置及びそのプログラム
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP2005038321A (ja) ヘッドマウントディスプレイ装置
JP6552256B2 (ja) 画像処理装置及び画像処理装置の制御方法
CN113160221B (zh) 图像处理方法、装置、计算机设备和存储介质
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
JP2015005220A (ja) 情報表示装置及び情報表示方法
US11967107B2 (en) Information processing apparatus and method of estimating position and orientation of image capturing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070206