JP2004233201A - Position attitude measuring method - Google Patents

Position attitude measuring method Download PDF

Info

Publication number
JP2004233201A
JP2004233201A JP2003022270A JP2003022270A JP2004233201A JP 2004233201 A JP2004233201 A JP 2004233201A JP 2003022270 A JP2003022270 A JP 2003022270A JP 2003022270 A JP2003022270 A JP 2003022270A JP 2004233201 A JP2004233201 A JP 2004233201A
Authority
JP
Japan
Prior art keywords
image
orientation
hmd
imaging device
observer
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.)
Withdrawn
Application number
JP2003022270A
Other languages
Japanese (ja)
Inventor
Taichi Matsui
太一 松井
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 JP2003022270A priority Critical patent/JP2004233201A/en
Publication of JP2004233201A publication Critical patent/JP2004233201A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a measuring method capable of determining position attitude of each HMD in the state where a plurality of observers mounting head mount displays respectively exist. <P>SOLUTION: HMD 1 where a sensor 12 for measuring the position attitude is mounted is imaged, and position information on an imaged image of each marker (any of 11a-11c) of the HMD 1 is determined, and the position attitude of HMD 4 is determined based on position attitude information of the HMD 1 determined based on the result measured by the sensor 12 and position information on the imaged image of each marker (any of 11a-11c) of the HMD 1. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、撮像装置の位置姿勢を計測する技術に関するものである。
【0002】
【従来の技術】
近年、現実空間と仮想空間の継ぎ目のない結合を目的とした複合現実感(Mixed Reallity、以下MRと呼称する)に関する研究が盛んになっている。MRは従来、現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティ(VR)の世界と現実空間との共存を目的とし、VRを増強する技術として注目されている。
【0003】
複合現実感を実現する装置として代表的なものは、ヘッドマウントディスプレイ(HMD)である。すなわち、現実空間の映像と仮想空間の映像とをHMDの表示画面上に合成して表示することにより、HMDを装着する観察者に複合現実感を体感させる。また、HMDを用いたMRの方式としては、半透過型(シースルー型)のHMDの表示画面上にCG等の画像を重畳する光学シースルー方式と、HMDに装着したビデオカメラで撮影した画像データにCG等の画像を合成した後、HMDの表示画面上に表示するビデオシースルー方式がある。
【0004】
MRの用途としては、患者の体内の様子を透過しているように医師に提示する医療補助の用途や、工場において製品の組み立て手順を実物に重ね表示する作業補助の用途など、今までのVRとは質的に全く異なった新たな分野が期待されている。
【0005】
これらの応用に対して共通に要求されているのは、HMDの表示画面上に表示される現実空間と仮想空間との間の“ずれ”をいかにして取り除くかという技術である。“ずれ”は位置ずれ、時間ずれ、質的ずれに分類可能であり、この中でも最も基本的な要求といえる位置ずれの解消については、従来から多くの取り組みが行われてきた。
【0006】
特にビデオシースルー方式MRの場合、位置ずれを補正する方法として画像処理の手法が比較的容易に適用できるため、画像処理を利用した位置合わせについて従来から提案がなされている。
【0007】
具体的には、現実空間の所定位置に画像処理によって検出しやすい色で印付けされたマーカを配置し、観察者が装着したカメラで撮影した画像から検出したマーカ位置によって視点位置を計算する方法や、画像中のマーカ位置によって位置姿勢センサの出力信号を補正する方法などがある。
【0008】
【解決しようとする課題】
観察者Aが装着するHMDの視界に常に(厳密にはほとんどの場合)別の観察者Bが存在するようなMRシステムがある。このシステムにおいて観察者Aが装着するHMDの位置姿勢を求めるために従来技術を適用する場合、このシステムでは観察者Aが装着するHMDの位置合わせのために観察者Aの視界方向の空間上にマーカを設置するのであるが、観察者Aがマーカを見ようとしても観察者Bに視界を遮られて観察者Aからはマーカが見えないという状況がある。
【0009】
その場合、観察者Aの視界からはマーカが見えないので、観察者Aが装着するHMDに位置姿勢センサが付いていない限り、HMDの位置姿勢を計測することができず、観察者Aに対して正常に複合現実感を体感させることが困難となる。
【0010】
本発明は以上の問題に鑑みてなされたものであり、HMDを装着した複数の観察者が存在する状況においても、各HMDの位置姿勢を求めることを可能にする技術を適用することにある。
【0011】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の位置姿勢計測方法は以下の構成を備える。
【0012】
すなわち、位置姿勢を計測するためのセンサが取り付けられた第1の撮像装置を撮像する前記第2の撮像装置の位置姿勢を求める位置姿勢計測方法であって、前記第1の撮像装置を撮像し、前記第1の撮像装置の各特徴点の撮像画像上の位置情報を求める特徴点位置計算工程と、
前記センサにより計測された結果に基づいて求められる前記第1の撮像装置の位置姿勢情報と、前記第1の撮像装置の各特徴点の前記撮像画像上の位置情報とに基づいて、前記第2の撮像装置の位置姿勢を求める位置姿勢計算工程と
を備えることを特徴とする。
【0013】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。以下説明する実施形態では、HMD(ヘットマウントディスプレイ)を装着した複数の観察者が互いに向かい合って複合現実感を体感するシステムにおいて、夫々のHMDの位置姿勢を求める技術に係るものである。
【0014】
[第1の実施形態]
図1は、マーカが取り付けられたHMDの概略図である。HMD1には複数のマーカ(11a〜11d)が取り付けられており、夫々のマーカは、HMDの装着者がどちらを向いても、このHMDを観察する観察者から所定の個数以上見えるようにHMD1の全周囲に取り付けられている。
【0015】
HMD1は、現実空間の画像を撮像するビデオカメラを備えた半透過型(シースルー型)のものであって、HMD1には位置姿勢センサ12が取り付けられており、位置姿勢センサ12はHMD1の位置姿勢に応じた信号をHMD1に接続された装置(この信号に基づいてHMD1の位置姿勢を求める装置)に出力する。
【0016】
図2は観察者Aと観察者Bとが互いに向き合って複合現実感を体験するシステムの模式図である。同図において8は、仮想空間におけるオブジェクトの画像である。以下、「仮想空間の画像」とはこのようなオブジェクトを含むものとする。
【0017】
観察者Aは図1に示したHMD1から位置姿勢センサおよびマーカを取り外したHMD4を頭部に装着している。HMD4は当然、半透過型のものである。HMD4はPC(パーソナルコンピュータ)5と接続されている。
【0018】
PC5は、HMD4の位置姿勢を求め、求めた位置から求めた姿勢で見える仮想空間の画像を生成し、生成した仮想空間の画像とHMD4に備わっている後述のビデオカメラにより撮像された現実空間の画像との合成画像を生成して、HMD4に備わっている後述の表示装置に出力する処理を行う。PC5が行う処理の詳細については後述する。またPC5は、ネットワーク7を介してもう一方のPC7とデータ通信を行うことができる。
【0019】
観察者Bは図1に示したHMD1を頭部に装着している。上述の通り、HMD1には複数のマーカ(同図では見えているマーカ11a〜11dのみを示しているが、これ以外の箇所にもマーカは取り付けられている)が取り付けられている。図3は、HMD4に備わっている後述のビデオカメラにより撮像される現実空間の画像の一例を示す図である。上述の通り、観察者Aと観察者Bとは向かい合っているので、HMD4に備わっている後述のビデオカメラの視界には常に観察者Bと共に、頭部に装着されたHMD4と夫々のマーカ(同図では11a、11b、11d)が入っている。よってHMD4に備わっている後述のビデオカメラは同図に示したような画像300を撮像する。
【0020】
またHMD1には位置姿勢センサ12が取り付けられており、HMD1の位置姿勢を計測し、計測した結果に応じた信号をHMD1に接続されているPC2に出力する。
【0021】
PC2は、位置姿勢センサ12から受信した信号に基づいてHMD1の位置姿勢を求める。そして、求めた位置から求めた姿勢で見える仮想空間の画像を生成し、生成した仮想空間の画像とHMD1に備わっている後述のビデオカメラにより撮像された現実空間の画像との合成画像を生成してHMD1に備わっている後述の表示装置に出力する処理を行う。PC2が行う処理の詳細については後述する。またPC2は、ネットワーク7を介してもう一方のPC1とデータ通信を行うことができる。
【0022】
図4は観察者Bが使用するシステムの機能構成を示す図である。HMD1には、上記マーカ群11、上記位置姿勢センサ12、現実空間を撮像するビデオカメラ13、PC2によって生成された画像を表示する画像表示装置14が備わっている。
【0023】
一方、PC2には、ビデオカメラ13により撮像された現実空間の画像をチャプチャし、後段の画像合成部17に出力するキャプチャ部16、位置姿勢センサ12から受信した、HMD1の位置姿勢を示す信号に基づいてHMD1の位置姿勢を求める位置姿勢算出部15、位置姿勢算出部15が算出した位置姿勢情報に基づいて、算出した位置から算出した姿勢で見える仮想空間の画像(CG)を生成するCG作成部18、キャプチャ部16がキャプチャした現実空間の画像と、CG作成部18が生成した仮想空間の画像とを合成して合成画像を生成し、HMD1の画像表示装置14に出力する画像合成部17、ネットワーク7を介してPC5とデータ通信を行うためにデータの送受信を制御するデータ送受信部20とが備わっている。本実施形態ではデータ送受信部20は、位置姿勢算出部15が算出したHMD1の位置姿勢情報をPC5に送信する処理を行う。
【0024】
なお、PC2に備わっている上記各部はハードウェアにより構成されても良いし、各部の機能をPC2に実行させるためのプログラムにより構成されても良い。次に、上記構成を備えるシステムが行う処理について説明する。
【0025】
HMD1のビデオカメラ13により撮像された現実空間の画像はキャプチャ部16によってキャプチャされ、チャプチャされた画像は後段の画像合成部17に出力される。一方、位置姿勢算出部15は、HMD1の位置姿勢センサ12から受信した、HMD1の位置姿勢を示す信号に基づいてHMD1の位置姿勢を求める、求めた位置姿勢情報をデータ送受信部20、CG作成部18に出力する。
【0026】
データ送受信部20は、この位置姿勢情報をネットワーク7を介してPC5に送信する。また、CG作成部18は位置姿勢算出部15から出力された位置姿勢情報に基づいて、この位置情報で特定される位置から、この姿勢情報で特定される姿勢で見える仮想空間の画像(CG)を生成する。なお、位置姿勢情報に基づいて仮想空間の画像を生成する処理については周知の技術であるので、ここでの説明は省略する。
【0027】
CG作成部18が生成した仮想空間の画像は画像合成部17に出力される。画像合成部17はキャプチャ部16がキャプチャした現実空間の画像と、CG作成部18が生成した仮想空間の画像とを合成して合成画像を生成し、HMD1の画像表示装置14に出力する。
【0028】
これによりHMD1を装着した観察者は、画像表示装置14に表示されたHMD1の位置姿勢に応じた合成画像を見ることができ、複合現実感を体感することができる。
【0029】
図5は観察者Aが使用するシステムの機能構成を示す図である。HMD1には、現実空間を撮像するビデオカメラ23、PC5によって生成された画像を表示する画像表示装置24が備わっている。
【0030】
一方、PC5には、ビデオカメラ23により撮像された現実空間の画像をチャプチャし、後段の画像合成部17及びマーカ認識部29に出力するキャプチャ部26、キャプチャ部16がキャプチャした現実空間の画像中の各マーカの画像を認識し、現実空間の画像における各マーカの画像位置(図3に示した例では、画像300における各マーカ11a、11b、11dの画像位置)を求めるマーカ認識部29、データ送受信部30が受信した、ネットワーク7を介してPC2から送信された「HMD1の位置姿勢情報」と、マーカ認識部29が求めた現実空間画像における各マーカの画像位置情報とを用いて、HMD4の位置姿勢を求める位置姿勢算出部25、位置姿勢算出部25が算出した位置姿勢情報に基づいて、この位置情報で特定される位置から、この姿勢情報で特定される姿勢で見える仮想空間の画像(CG)を生成するCG作成部28、キャプチャ部26がキャプチャした現実空間の画像と、CG作成部28が生成した仮想空間の画像とを合成して合成画像を生成し、HMD4の画像表示装置24に出力する画像合成部27と、ネットワーク7を介してPC2とデータ通信を行うためにデータの送受信を制御するデータ送受信部30とが備わっている。本実施形態ではデータ送受信部30は、PC2から送信された「HMD1の位置姿勢情報」を受信する処理を行う。
【0031】
なお、PC5に備わっている上記各部はハードウェアにより構成されても良いし、各部の機能をPC2に実行させるためのプログラムにより構成されても良い。次に、上記構成を備えるシステムが行う処理について説明する。
【0032】
HMD4のビデオカメラ23により撮像された現実空間の画像はキャプチャ部26によってキャプチャされ、チャプチャされた画像は後段の画像合成部17、マーカ認識部29に出力される。
【0033】
マーカ認識部29はまず、キャプチャ部16から出力された画像中で、マーカの色(予めPC5側で既知であるものとする)を示す画素値を有する画素群を検知し(マーカの認識)、その画素群の重心画素位置をもって、「マーカの画像位置」とする。これを画像を構成する全ての画素に対して行い、画像中の各マーカの画像位置を求める。画像中の各マーカの画像位置情報は位置姿勢算出部25に出力される。
【0034】
位置姿勢算出部25は、データ送受信部30が受信した、ネットワーク7を介してPC2から送信された「HMD1の位置姿勢情報」と、マーカ認識部29が求めた現実空間画像における各マーカの画像位置情報とを用いて、HMD4の位置姿勢を求める。
【0035】
HMD4の位置姿勢とは厳密に言えばHMD4付属のビデオカメラ23の位置姿勢であるので以下はビデオカメラ23の位置姿勢の算出について述べる。「HMD1の位置姿勢情報」を行列Wとし、マーカのHMD1からの相対的位置をVとすると、世界座標系のマーカ位置はWVとなる。マーカの世界座標が算出されれば固定マーカと同様とみなせるのでビデオカメラ23の位置姿勢を以下の方法を利用して算出することが出来る。
【0036】
主観視点指標の世界座標と画像座標の組から撮像装置の位置及び姿勢を算出する方法は、写真測量等の分野において古くから提案されている(例えば、R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: Review and analysis of solutions of the three point perspective pose estimation problem, International Journal of Computer Vision, vol.13, no.3, pp.331−356, 1994.、D. G.Lowe: Fitting parameterized three−dimensional models to images, IEEE Transactions on PAMI, vol.13, no.5, pp.441−450, 1991.を参照)。
【0037】
図6のフローチャートを用いて、本従来例における位置姿勢算出部25が行う処理について説明する。図6は、主観視点指標の世界座標と画像座標の組から撮像装置の位置及び姿勢を算出する為の従来の処理のフローチャートである。本従来例において、HMD1の位置及び姿勢は、繰り返し演算による数値計算的手法によって算出される。
【0038】
位置姿勢算出部25は、算出すべきビデオカメラ23の位置及び姿勢を、それぞれ3値ベクトル[x y z]及び[ξ ψ ζ]によって内部的に表現している。姿勢を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。このとき、求めるべき未知パラメータは、6値の状態ベクトルs=[x y z ξ ψ
ζ]と記述される。
【0039】
ステップS2000において、位置姿勢算出部25は、状態ベクトルsに適当な初期値(位置及び姿勢の推定値)を設定する。例えば、前フレーム(時刻tk−1)の処理において導出されたsを初期値としてもよいし、過去からのsの導出値の変化に基づいた予測によって得た値を設定してもよい。
【0040】
ステップS2010において、位置姿勢算出部25は、主観視点指標検出部110において検出された各々の主観視点指標Qknの画像座標の実測値uQknとその識別子kを入力する。
【0041】
ステップS2020において、位置姿勢算出部25は、各々の主観視点指標Qknに対して、その画像座標の推定値uQkn*を算出する。uQkn*の算出は、既知な情報として予め保持している指標Qkn各々の世界座標x Qknと現在の状態ベクトルsの関数:
【0042】
【数1】

Figure 2004233201
に基づいて行われる。
【0043】
具体的には、関数Fc()は、x Qknとsからこの指標のカメラ座標(カメラ上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)x Qknを求める次式、
【0044】
【数2】
Figure 2004233201
及び、カメラ座標x Qknから画像座標uQkn*を求める次式、
【0045】
【数3】
Figure 2004233201
によって構成されている。ここでf 及びf は、それぞれx軸方向及びy軸方向におけるビデオカメラ23の焦点距離であり、既知の値として予め保持されているものとする。また、MWC(s)はsによって定まるモデリング変換行列(すなわち、カメラ座標系における座標を世界座標系における座標に変換する行列)であり、次式によって定義される。
【0046】
【数4】
Figure 2004233201
【0047】
ステップS2030において、位置姿勢算出部25は、各々の主観視点指標Qknに対して、画像座標の推定値uQkn*と実測値uQknとの誤差ΔuQknを、次式によって算出する。
【0048】
【数5】
Figure 2004233201
【0049】
ステップS2040において、位置姿勢算出部25は、各々の主観視点指標Qknに対して、式1の関数Fc()を状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×6列のヤコビ行列Jus Qkn(=∂u/∂s)を算出する。具体的には、式3の右辺をカメラ座標x Qknの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Jux Qkn(=∂u/∂x)と、式2の右辺をベクトルsの各要素で偏微分した解を各要素に持つ3行×6列のヤコビ行列Jxs Qkn(=∂x/∂s)を算出し、次式によってJus Qknを算出する。
【0050】
【数6】
Figure 2004233201
【0051】
ステップS2050において、位置姿勢算出部25は、ステップS2030及びステップS2040において算出した誤差ΔuQkn及びヤコビ行列Jus Qknに基づいて、状態ベクトルsの補正値Δsを算出する。具体的には、誤差ΔuQknを垂直に並べた2N次元の誤差ベクトル
【0052】
【数7】
Figure 2004233201
及び、ヤコビ行列Jus Qknを垂直に並べた2N行×6列の行列
【0053】
【数8】
Figure 2004233201
を作成し、Φの擬似逆行列Φ’を用いて、
【0054】
【数9】
Figure 2004233201
として算出する。図1の例ではN=3であるので、Uは6次元ベクトル、Φは6行×6列の行列となる。
【0055】
ステップS2060において、位置姿勢算出部25は、ステップS2050において算出した補正値Δsを用いて式10に従って状態ベクトルsを補正し、得られた値をsの新たな推定値とする。
【0056】
【数10】
Figure 2004233201
【0057】
ステップS2070において、位置姿勢算出部25は、誤差ベクトルUが予め定めた閾値より小さいかどうか、あるいは、補正値Δsが予め定めた閾値より小さいかどうかといった何らかの判定基準を用いて、計算が収束しているか否かの判定を行う。収束してない場合には、補正後の状態ベクトルsを用いて、再度ステップS2020以降の処理を行う。
【0058】
ステップS2080において、位置姿勢算出部25は、得られた状態ベクトルsをHMD4の位置及び姿勢の情報として出力する。位置及び姿勢の情報は、例えば、sから算出したビューイング変換行列の形態によって出力する。
【0059】
以上の方法によってビデオカメラ23の位置及び姿勢を取得することが、従来からなされてきた。
【0060】
また、計測対象物体に複数の指標を設定し、外部に設置した客観視点カメラによって対象物体を撮影し、撮像した客観視点画像内における指標の投影像の画像座標を検出することで、対象物体の位置及び姿勢を求めることも行われている(例えば、R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: Review and analysis of solutions of the three point perspective pose estimation problem, International Journal of Computer Vision, vol.13, no.3, pp.331−356, 1994.、D. G. Lowe: Fitting parameterized three−dimensional models to images, IEEE Transactions on PAMI, vol.13, no.5, pp.441−450, 1991.を参照)。
【0061】
位置姿勢算出部25によって求めたHMD4の位置姿勢情報は後段のCG作成部28に出力される。CG作成部28は位置姿勢算出部25から出力された位置姿勢情報に基づいて、この位置情報で特定される位置から、この姿勢情報で特定される姿勢で見える仮想空間の画像(CG)を生成する。なお、位置姿勢情報に基づいて、仮想空間の画像を生成する処理については周知の技術であるので、ここでの説明は省略する。
【0062】
CG作成部28が生成した仮想空間の画像は画像合成部27に出力される。画像合成部27はキャプチャ部26がキャプチャした現実空間の画像と、CG作成部28が生成した仮想空間の画像とを合成して合成画像を生成し、HMD4の画像表示装置24に出力する。
【0063】
これにより、HMD4を装着した観察者は画像表示装置24に表示されたHMD4の位置姿勢に応じた合成画像を見ることができ、複合現実感を体感することができる。
【0064】
また、観察者Aに複合現実感を体感させるためのシステムは、観察者Bによって遮られることのない位置に設けられたマーカを用いて観察者Aが装着するHMDの位置姿勢を求めることができるので、より自由度の高いシステムを構築することができる。
【0065】
また、本実施形態では観察者は二人であったが、本実施形態に係るシステムはそれ以上の人数の観察者が存在する場合にも適用可能である。その場合、ある数の観察者に対しては上記観察者Bに用いたシステムを適用し、それ以外の観察者に対しては観察者Aに用いたシステムを適用する。この場合、観察者Aに用いたシステムを適用する観察者が装着するHMDに備わったビデオカメラには、観察者Bに用いたシステムを適用する観察者が装着するHMDに取り付けられたマーカが撮像可能になるようにする必要がある。
【0066】
[第2の実施形態]
第1の実施形態では夫々の観察者毎にPCを設けていたが、これに限定されるものではなく、1台のサーバ装置が夫々の観察者に対して、夫々の観察者のHMDの位置姿勢を求め、求めた位置姿勢に応じた合成画像を生成して提供するようにしても良い。
【0067】
また第1の実施形態では、HMD4の位置姿勢を計測するために観察者Bが装着するHMD1に取り付けられたマーカを用いていたが、HMD1の各部の色や幾何学的形状などの自然特徴を代わりに用いても良い。
【0068】
また第1の実施形態では、HMDの位置姿勢を求める場合について説明したが、一般に現実空間を撮像可能な撮像装置の位置姿勢を求める場合に適用しても良い。
【0069】
[その他の実施形態]
尚、本実施形態は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
【0070】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本実施形態を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0072】
本実施形態を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートや機能構成に対応するプログラムコードが格納されることになる。
【0073】
以下に、本発明の実施態様の例を示す。
【0074】
[実施態様1] 位置姿勢を計測するためのセンサが取り付けられた第1の撮像装置を撮像する前記第2の撮像装置の位置姿勢を求める位置姿勢計測装置であって、
前記第1の撮像装置を撮像し、前記第1の撮像装置の各特徴点の撮像画像上の位置情報を求める特徴点位置計算手段と、
前記センサにより計測された結果に基づいて求められる前記第1の撮像装置の位置姿勢情報と、前記第1の撮像装置の各特徴点の前記撮像画像上の位置情報とに基づいて、前記第2の撮像装置の位置姿勢を求める位置姿勢計算手段と
を備えることを特徴とする位置姿勢計測装置。
【0075】
[実施態様2] 前記第1の撮像装置の各特徴点は前記第1の撮像装置に取り付けられた複数のマーカであって、夫々のマーカは前記第2の撮像装置によって常に複数個撮像可能なように前記第1の撮像装置に取り付けられていることを特徴とする実施態様1に記載の位置姿勢計測装置。
【0076】
[実施態様3] 前記第1の撮像装置の各特徴点は前記第1の撮像装置の各部の色、形状を含む自然特徴であることを特徴とする実施態様1に記載の位置姿勢計測装置。
【0077】
[実施態様4] 位置姿勢を計測するためのセンサが取り付けられた第1の撮像装置を撮像する前記第2の撮像装置の位置姿勢を求める位置姿勢計測方法であって、
前記第1の撮像装置を撮像し、前記第1の撮像装置の各特徴点の撮像画像上の位置情報を求める特徴点位置計算工程と、
前記センサにより計測された結果に基づいて求められる前記第1の撮像装置の位置姿勢情報と、前記第1の撮像装置の各特徴点の前記撮像画像上の位置情報とに基づいて、前記第2の撮像装置の位置姿勢を求める位置姿勢計算工程と
を備えることを特徴とする位置姿勢計測方法。
【0078】
[実施態様5] コンピュータを実施態様1乃至4の何れか1項に記載の位置姿勢計測装置として機能させることを特徴とするプログラム。
【0079】
[実施態様6] コンピュータに実施態様5に記載の位置姿勢計測方法を実行させることを特徴とするプログラム。
【0080】
[実施態様7] 実施態様5又は6に記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【0081】
【発明の効果】
以上の説明により、本発明によって、HMDを装着した複数の観察者が存在する状況においても、各HMDの位置姿勢を求めることができる。
【図面の簡単な説明】
【図1】マーカが取り付けられたHMDの概略図である。
【図2】観察者Aと観察者Bとが互いに向き合って複合現実感を体験するシステムの模式図である。
【図3】HMD4に備わっている後述のビデオカメラにより撮像される現実空間の画像の一例を示す図である。
【図4】観察者Bが使用するシステムの機能構成を示す図である。
【図5】観察者Aが使用するシステムの機能構成を示す図である。
【図6】主観視点指標の世界座標と画像座標の組から撮像装置の位置及び姿勢を算出する為の従来の処理のフローチャートである。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for measuring the position and orientation of an imaging device.
[0002]
[Prior art]
2. Description of the Related Art In recent years, researches on Mixed Reality (hereinafter, referred to as MR) for the purpose of seamless connection between a real space and a virtual space have been actively conducted. Conventionally, MR aims at coexistence of a virtual reality (VR) world and a real space, which can be experienced only in a state separated from the real space, and is attracting attention as a technology for enhancing the VR.
[0003]
A typical device for realizing mixed reality is a head mounted display (HMD). In other words, the image of the real space and the image of the virtual space are combined and displayed on the display screen of the HMD, so that the observer wearing the HMD can experience mixed reality. The MR system using the HMD includes an optical see-through system in which an image such as a CG is superimposed on a display screen of a semi-transmissive (see-through) HMD, and image data captured by a video camera mounted on the HMD. There is a video see-through method in which an image such as CG is synthesized and then displayed on the display screen of the HMD.
[0004]
MR applications include the use of VR to provide medical assistance to doctors so that the patient's body is transparent, and the use of work assistance to superimpose and display product assembly procedures at the factory. A new field that is completely different in quality is expected.
[0005]
What is required in common for these applications is a technique for removing a "shift" between the real space and the virtual space displayed on the display screen of the HMD. The “displacement” can be classified into a displacement, a time displacement, and a qualitative displacement, and among them, many efforts have been made to eliminate the displacement, which is the most basic requirement.
[0006]
In particular, in the case of the video see-through type MR, a method of image processing can be applied relatively easily as a method of correcting a position shift. Therefore, there has been conventionally proposed a position adjustment using image processing.
[0007]
Specifically, a method of arranging a marker marked with a color that is easily detected by image processing at a predetermined position in the real space and calculating a viewpoint position based on the marker position detected from an image taken by a camera worn by an observer And a method of correcting the output signal of the position and orientation sensor based on the marker position in the image.
[0008]
[Problem to be solved]
There are MR systems in which there is always (strictly in most cases) another observer B in the field of view of the HMD worn by observer A. When applying the prior art to determine the position and orientation of the HMD worn by the observer A in this system, the system places the HMD worn by the observer A in a space in the direction of the field of view of the observer A for alignment. Although a marker is installed, even if the observer A tries to see the marker, there is a situation in which the field of view is blocked by the observer B and the marker cannot be seen from the observer A.
[0009]
In this case, since the marker is not visible from the field of view of the observer A, the position and orientation of the HMD cannot be measured unless the position and orientation sensor is attached to the HMD worn by the observer A. It is difficult to normally sense the mixed reality.
[0010]
The present invention has been made in view of the above problems, and has as its object the application of a technique that enables the position and orientation of each HMD to be obtained even in a situation where there are a plurality of observers wearing the HMD.
[0011]
[Means for Solving the Problems]
In order to achieve the object of the present invention, for example, a position and orientation measuring method of the present invention has the following configuration.
[0012]
That is, a position and orientation measurement method for determining the position and orientation of the second imaging device that captures an image of a first imaging device to which a sensor for measuring the position and orientation is attached, wherein the image of the first imaging device is captured A feature point position calculating step of obtaining position information on a captured image of each feature point of the first imaging device;
Based on position and orientation information of the first imaging device obtained based on a result measured by the sensor and position information of each feature point of the first imaging device on the captured image, the second Position and orientation calculation step for determining the position and orientation of the imaging device of
It is characterized by having.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings. The embodiment described below relates to a technique for obtaining the position and orientation of each HMD (Head Mount Display) in a system in which a plurality of observers wearing HMDs face each other to experience mixed reality.
[0014]
[First Embodiment]
FIG. 1 is a schematic diagram of an HMD to which a marker is attached. A plurality of markers (11a to 11d) are attached to the HMD1, and each marker is attached to the HMD1 so that the observer who observes the HMD can see a predetermined number or more, regardless of which direction the wearer of the HMD faces. Attached all around.
[0015]
The HMD 1 is a semi-transmissive (see-through type) equipped with a video camera that captures an image of a real space. The HMD 1 has a position and orientation sensor 12 attached thereto. Is output to a device connected to the HMD 1 (a device that determines the position and orientation of the HMD 1 based on this signal).
[0016]
FIG. 2 is a schematic diagram of a system in which observer A and observer B face each other and experience mixed reality. 8, reference numeral 8 denotes an image of the object in the virtual space. Hereinafter, the “image of the virtual space” includes such an object.
[0017]
The observer A wears the HMD 4 with the position and orientation sensor and the marker removed from the HMD 1 shown in FIG. 1 on the head. HMD4 is, of course, of the transflective type. The HMD 4 is connected to a PC (personal computer) 5.
[0018]
The PC 5 obtains the position and orientation of the HMD 4, generates an image of the virtual space that can be viewed in the orientation obtained from the obtained position, and generates the image of the generated virtual space and the real space captured by a video camera described later provided in the HMD 4. A process of generating a composite image with the image and outputting the generated image to a display device described later provided in the HMD 4 is performed. Details of the processing performed by the PC 5 will be described later. Also, the PC 5 can perform data communication with the other PC 7 via the network 7.
[0019]
Observer B wears HMD1 shown in FIG. 1 on the head. As described above, a plurality of markers (only the visible markers 11a to 11d are shown in the figure, but markers are also attached to other places) are attached to the HMD 1. FIG. 3 is a diagram illustrating an example of a real space image captured by a video camera described later provided in the HMD 4. As described above, since the observer A and the observer B face each other, the HMD 4 mounted on the head and the respective markers (the same as the observer B) are always present in the field of view of the video camera described later provided in the HMD 4. In the figure, 11a, 11b, and 11d) are included. Therefore, a video camera described later provided in the HMD 4 captures an image 300 as shown in FIG.
[0020]
A position and orientation sensor 12 is attached to the HMD 1, measures the position and orientation of the HMD 1, and outputs a signal corresponding to the measurement result to the PC 2 connected to the HMD 1.
[0021]
The PC 2 obtains the position and orientation of the HMD 1 based on the signal received from the position and orientation sensor 12. Then, an image of the virtual space that can be seen in the orientation determined from the determined position is generated, and a composite image of the generated virtual space image and an image of the real space captured by a video camera described later provided in the HMD 1 is generated. Then, a process of outputting to a display device described later provided in the HMD 1 is performed. Details of the processing performed by the PC 2 will be described later. Further, the PC 2 can perform data communication with the other PC 1 via the network 7.
[0022]
FIG. 4 is a diagram showing a functional configuration of a system used by the observer B. The HMD 1 includes the marker group 11, the position and orientation sensor 12, a video camera 13 for capturing an image of a real space, and an image display device 14 for displaying an image generated by the PC 2.
[0023]
On the other hand, the PC 2 captures the image of the real space captured by the video camera 13 and outputs the signal indicating the position and orientation of the HMD 1 received from the capture unit 16 and the position and orientation sensor 12 output to the image synthesis unit 17 at the subsequent stage. A position / posture calculation unit 15 that obtains the position / posture of the HMD 1 based on the position / posture information calculated by the position / posture calculation unit 15; An image synthesizing unit 17 for synthesizing an image of the real space captured by the capturing unit 16 with an image of the virtual space generated by the CG generating unit 18 to generate a synthesized image, and outputting the synthesized image to the image display device 14 of the HMD 1 And a data transmission / reception unit 20 for controlling data transmission / reception for performing data communication with the PC 5 via the network 7. In the present embodiment, the data transmission / reception unit 20 performs a process of transmitting the position and orientation information of the HMD 1 calculated by the position and orientation calculation unit 15 to the PC 5.
[0024]
The above-described units provided in the PC 2 may be configured by hardware, or may be configured by a program for causing the PC 2 to execute the function of each unit. Next, processing performed by the system having the above configuration will be described.
[0025]
The image in the real space captured by the video camera 13 of the HMD 1 is captured by the capture unit 16, and the captured image is output to the image synthesis unit 17 at the subsequent stage. On the other hand, the position and orientation calculation unit 15 obtains the position and orientation of the HMD 1 based on the signal indicating the position and orientation of the HMD 1 received from the position and orientation sensor 12 of the HMD 1. 18 is output.
[0026]
The data transmission / reception unit 20 transmits the position and orientation information to the PC 5 via the network 7. In addition, the CG creating unit 18 uses the position / posture information output from the position / posture calculation unit 15 to display a virtual space image (CG) that can be viewed from the position specified by the position information in the posture specified by the posture information. Generate The process of generating an image of the virtual space based on the position and orientation information is a known technique, and a description thereof will be omitted.
[0027]
The image of the virtual space generated by the CG creating unit 18 is output to the image combining unit 17. The image combining unit 17 combines the image of the real space captured by the capturing unit 16 with the image of the virtual space generated by the CG creating unit 18 to generate a combined image, and outputs the combined image to the image display device 14 of the HMD 1.
[0028]
Thus, the observer wearing the HMD 1 can see the composite image corresponding to the position and orientation of the HMD 1 displayed on the image display device 14 and experience the mixed reality.
[0029]
FIG. 5 is a diagram showing a functional configuration of a system used by the observer A. The HMD 1 includes a video camera 23 that captures an image of a real space, and an image display device 24 that displays an image generated by the PC 5.
[0030]
On the other hand, the PC 5 captures the image of the real space captured by the video camera 23 and outputs the captured image to the subsequent image synthesizing unit 17 and the marker recognizing unit 29. A marker recognizing unit 29 for recognizing the image of each marker in the real space image and obtaining the image position of each marker in the image of the real space (in the example shown in FIG. 3, the image position of each marker 11a, 11b, 11d in the image 300) Using the “position and orientation information of the HMD 1” received from the PC 2 via the network 7 and received by the transmission / reception unit 30, and the image position information of each marker in the real space image obtained by the marker recognition unit 29, the HMD 4 The position / posture calculation unit 25 for obtaining the position / posture, and specified by the position information based on the position / posture information calculated by the position / posture calculation unit 25 CG creation unit 28 that generates a virtual space image (CG) that can be viewed in the orientation specified by the orientation information from the position to be captured, the real space image captured by the capture unit 26, and the virtual space generated by the CG creation unit 28. And a data transmission / reception unit that controls transmission and reception of data to perform data communication with the PC 2 via the network 7 by generating a composite image by combining the image with the image display device 24 of the HMD 4. 30 is provided. In the present embodiment, the data transmitting / receiving unit 30 performs a process of receiving the “HMD 1 position and orientation information” transmitted from the PC 2.
[0031]
The above-described units provided in the PC 5 may be configured by hardware, or may be configured by a program for causing the PC 2 to execute the function of each unit. Next, processing performed by the system having the above configuration will be described.
[0032]
The image in the real space captured by the video camera 23 of the HMD 4 is captured by the capture unit 26, and the captured image is output to the image synthesis unit 17 and the marker recognition unit 29 at the subsequent stage.
[0033]
First, the marker recognizing unit 29 detects a pixel group having a pixel value indicating the color of the marker (presumed to be known on the PC 5 side) in the image output from the capturing unit 16 (recognition of the marker), The barycenter pixel position of the pixel group is referred to as “marker image position”. This is performed for all the pixels constituting the image, and the image position of each marker in the image is obtained. Image position information of each marker in the image is output to the position and orientation calculation unit 25.
[0034]
The position and orientation calculation unit 25 calculates the “position and orientation information of the HMD 1” transmitted from the PC 2 via the network 7 and received by the data transmission and reception unit 30, and the image position of each marker in the real space image obtained by the marker recognition unit 29. The position and orientation of the HMD 4 are obtained using the information.
[0035]
Strictly speaking, the position and orientation of the HMD 4 is the position and orientation of the video camera 23 attached to the HMD 4, so that the calculation of the position and orientation of the video camera 23 will be described below. Assuming that "the position and orientation information of the HMD1" is a matrix W and the relative position of the marker from the HMD1 is V, the marker position in the world coordinate system is WV. If the world coordinates of the marker are calculated, it can be regarded as the same as the fixed marker, so that the position and orientation of the video camera 23 can be calculated using the following method.
[0036]
A method of calculating the position and orientation of an imaging device from a set of world coordinates and image coordinates of a subjective viewpoint index has long been proposed in the field of photogrammetry and the like (for example, RM Haralick, C. Lee, K . Ottenberg, and M. Nolle:. Review and analysis of solutions of the three point perspective pose estimation problem, International Journal of Computer Vision, vol.13, no.3, pp.331-356, 1994., D G.Lowe : Fitting parameterized three-dimensional models to im ages, IEEE Transactions on PAMI, vol. 13, no. 5, pp. 441-450, 1991.).
[0037]
The processing performed by the position and orientation calculation unit 25 in the conventional example will be described with reference to the flowchart of FIG. FIG. 6 is a flowchart of a conventional process for calculating the position and orientation of an imaging device from a set of world coordinates and image coordinates of a subjective viewpoint index. In this conventional example, the position and orientation of the HMD 1 are calculated by a numerical calculation method based on a repeated calculation.
[0038]
The position and orientation calculation unit 25 determines the position and orientation of the video camera 23 to be calculated by a ternary vector [xyz].TAnd [ξ ψ ζ]TIs represented internally by There are various methods for expressing the posture by ternary values. Here, a rotation angle is defined by the magnitude of the vector, and a ternary vector that defines the rotation axis direction by the vector direction. It is assumed that At this time, the unknown parameter to be obtained is a six-value state vector s = [xyz ξ}
ζ]TIs described.
[0039]
In step S2000, the position and orientation calculation unit 25 sets an appropriate initial value (estimated position and orientation) in the state vector s. For example, the previous frame (time tk-1) May be used as the initial value, or a value obtained by prediction based on a change in the derived value of s from the past may be set.
[0040]
In step S2010, the position / orientation calculation unit 25 outputs the subjective viewpoint index Q detected by the subjective viewpoint index detection unit 110.knMeasured value u of the image coordinates ofQknAnd its identifier knEnter
[0041]
In step S2020, the position / orientation calculation unit 25 determines each subjective viewpoint index Qkn, The estimated value u of the image coordinatesQkn *Is calculated. uQkn *Is calculated by using the index Q previously stored as known information.knEach world coordinate xW QknAnd the function of the current state vector s:
[0042]
(Equation 1)
Figure 2004233201
It is performed based on.
[0043]
Specifically, the function Fc () is xW QknAnd s, the camera coordinates of this index (a coordinate system in which one point on the camera is defined as the origin and three axes orthogonal to each other are defined as the X axis, Y axis, and Z axis, respectively) xC QknThe following equation for
[0044]
(Equation 2)
Figure 2004233201
And camera coordinates xC QknTo image coordinates uQkn *The following equation for
[0045]
(Equation 3)
Figure 2004233201
It is constituted by. Where fC xAnd fC yAre the focal lengths of the video camera 23 in the x-axis direction and the y-axis direction, respectively, and are assumed to be stored in advance as known values. Also, MWC(S) is a modeling transformation matrix (that is, a matrix for transforming coordinates in the camera coordinate system into coordinates in the world coordinate system) determined by s, and is defined by the following equation.
[0046]
(Equation 4)
Figure 2004233201
[0047]
In step S2030, the position / posture calculation unit 25 determines each subjective viewpoint index Qkn, The estimated value u of the image coordinatesQkn *And the measured value uQknError ΔuQknIs calculated by the following equation.
[0048]
(Equation 5)
Figure 2004233201
[0049]
In step S2040, the position / orientation calculation unit 25 determines each subjective viewpoint index QknIn contrast, a 2 row × 6 column Jacobi matrix J having a solution obtained by partially differentiating the function Fc () of Equation 1 with each element of the state vector s for each elementus Qkn(= ∂u / ∂s) is calculated. Specifically, the right side of Equation 3 is defined as the camera coordinate xC Qkn2 rows x 3 columns Jacobi matrix J having a solution partially differentiated by each element ofux Qkn(= ∂u / ∂x) and a 3 row × 6 column Jacobi matrix J having a solution obtained by partially differentiating the right side of Equation 2 with each element of the vector s in each element.xs Qkn(= ∂x / ∂s), and J is calculated by the following equation.us QknIs calculated.
[0050]
(Equation 6)
Figure 2004233201
[0051]
In step S2050, the position and orientation calculator 25 calculates the error Δu calculated in steps S2030 and S2040.QknAnd Jacobi matrix Jus QknIs used to calculate the correction value Δs of the state vector s. Specifically, the error ΔuQknIs a 2N-dimensional error vector in which
[0052]
(Equation 7)
Figure 2004233201
And the Jacobi matrix Jus Qkn2N rows x 6 columns matrix
[0053]
(Equation 8)
Figure 2004233201
And using a pseudo inverse matrix Φ ′ of Φ,
[0054]
(Equation 9)
Figure 2004233201
Is calculated as In the example of FIG. 1, since N = 3, U is a six-dimensional vector, and Φ is a matrix of 6 rows × 6 columns.
[0055]
In step S2060, the position / posture calculation unit 25 corrects the state vector s according to Expression 10 using the correction value Δs calculated in step S2050, and sets the obtained value as a new estimated value of s.
[0056]
(Equation 10)
Figure 2004233201
[0057]
In step S2070, the position and orientation calculation unit 25 converges the calculation using some criterion such as whether the error vector U is smaller than a predetermined threshold or whether the correction value Δs is smaller than a predetermined threshold. It is determined whether or not there is. If the convergence has not occurred, the processing after step S2020 is performed again using the corrected state vector s.
[0058]
In step S2080, the position and orientation calculation unit 25 outputs the obtained state vector s as information on the position and orientation of the HMD 4. The position and orientation information is output, for example, in the form of a viewing transformation matrix calculated from s.
[0059]
Acquiring the position and orientation of the video camera 23 by the above method has been conventionally performed.
[0060]
Also, by setting a plurality of indices on the measurement target object, photographing the target object with an objective viewpoint camera installed outside, and detecting the image coordinates of the projection image of the index in the captured objective viewpoint image, the Determining the position and orientation is also performed (for example, RM Haralick, C. Lee, K. Ottenberg, and M. Nolle: Review and analysis of resolution of the resolution of the resolution of the outline of the resolution of the outline of the resolution. Computer Vision, vol.13, no.3, pp.331-356, 1994., DG Lowe: Fittin parameterized three-dimensional models to images, IEEE Transactions on PAMI, vol.13, no.5, pp.441-450, see 1991.).
[0061]
The position and orientation information of the HMD 4 obtained by the position and orientation calculation unit 25 is output to the CG creation unit 28 at the subsequent stage. Based on the position and orientation information output from the position and orientation calculation unit 25, the CG creation unit 28 generates a virtual space image (CG) that can be viewed in the orientation specified by the position information from the position specified by the position information. I do. The process of generating an image of the virtual space based on the position and orientation information is a known technique, and a description thereof will be omitted.
[0062]
The image of the virtual space generated by the CG creating unit 28 is output to the image combining unit 27. The image combining unit 27 combines the image of the real space captured by the capturing unit 26 with the image of the virtual space generated by the CG creating unit 28 to generate a combined image, and outputs the combined image to the image display device 24 of the HMD 4.
[0063]
Thus, the observer wearing the HMD 4 can view the composite image corresponding to the position and orientation of the HMD 4 displayed on the image display device 24, and can experience mixed reality.
[0064]
In addition, the system for causing the observer A to experience the mixed reality can determine the position and orientation of the HMD worn by the observer A using the marker provided at a position not obstructed by the observer B. Therefore, a system with a higher degree of freedom can be constructed.
[0065]
In the present embodiment, the number of observers is two. However, the system according to the present embodiment can be applied to a case where there are more observers. In that case, the system used for the observer B is applied to a certain number of observers, and the system used for the observer A is applied to other observers. In this case, the video camera provided in the HMD worn by the observer applying the system used for the observer A captures a marker attached to the HMD worn by the observer applying the system used for the observer B. It needs to be possible.
[0066]
[Second embodiment]
In the first embodiment, a PC is provided for each observer. However, the present invention is not limited to this, and one server device can control the position of the HMD of each observer with respect to each observer. The orientation may be determined, and a composite image corresponding to the determined position and orientation may be generated and provided.
[0067]
In the first embodiment, the marker attached to the HMD 1 worn by the observer B is used to measure the position and orientation of the HMD 4. However, natural characteristics such as the color and the geometric shape of each part of the HMD 1 are used. It may be used instead.
[0068]
In the first embodiment, the case where the position and orientation of the HMD is obtained has been described. However, the present invention may be applied to the case where the position and orientation of an imaging device capable of imaging a real space is generally obtained.
[0069]
[Other embodiments]
Note that the present embodiment is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, and the like), but a device including one device (for example, a copier, a facsimile device, and the like). ) May be applied.
[0070]
Further, an object of the present invention is to supply a recording medium (or a recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or an apparatus, and a computer (or a CPU or a CPU) of the system or the apparatus Needless to say, the present invention can also be achieved by the MPU) reading and executing the program code stored in the recording medium. In this case, the program code itself read from the recording medium implements the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present embodiment. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where some or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0071]
Further, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is executed based on the instruction of the program code. It goes without saying that the CPU included in the expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0072]
When the present embodiment is applied to the recording medium, the recording medium stores program codes corresponding to the flowcharts and functional configurations described above.
[0073]
Hereinafter, examples of embodiments of the present invention will be described.
[0074]
[Embodiment 1] A position and orientation measurement device for determining the position and orientation of the second imaging device that captures an image of a first imaging device to which a sensor for measuring position and orientation is attached,
A feature point position calculation unit that captures an image of the first imaging device and obtains position information of each feature point of the first imaging device on a captured image;
Based on position and orientation information of the first imaging device obtained based on a result measured by the sensor and position information of each feature point of the first imaging device on the captured image, the second Position and orientation calculation means for determining the position and orientation of the imaging device of
A position and orientation measurement device comprising:
[0075]
[Embodiment 2] Each feature point of the first imaging device is a plurality of markers attached to the first imaging device, and each of the markers can always be imaged by the second imaging device. The position and orientation measurement device according to the first embodiment, wherein the position and orientation measurement device is attached to the first imaging device as described above.
[0076]
[Embodiment 3] The position and orientation measurement apparatus according to Embodiment 1, wherein each feature point of the first imaging device is a natural feature including a color and a shape of each part of the first imaging device.
[0077]
[Embodiment 4] A position and orientation measurement method for determining the position and orientation of the second imaging device that captures an image of a first imaging device to which a sensor for measuring position and orientation is attached,
A feature point position calculating step of taking an image of the first imaging device and obtaining position information of each feature point of the first imaging device on a captured image;
Based on position and orientation information of the first imaging device obtained based on a result measured by the sensor and position information of each feature point of the first imaging device on the captured image, the second Position and orientation calculation step for determining the position and orientation of the imaging device of
A position and orientation measurement method comprising:
[0078]
[Embodiment 5] A program for causing a computer to function as the position and orientation measurement device according to any one of Embodiments 1 to 4.
[0079]
Embodiment 6 A program for causing a computer to execute the position and orientation measurement method according to Embodiment 5.
[0080]
[Embodiment 7] A computer-readable storage medium storing the program according to Embodiment 5 or 6.
[0081]
【The invention's effect】
As described above, according to the present invention, the position and orientation of each HMD can be obtained even in a situation where there are a plurality of observers wearing the HMD.
[Brief description of the drawings]
FIG. 1 is a schematic view of an HMD to which a marker is attached.
FIG. 2 is a schematic diagram of a system in which an observer A and an observer B face each other to experience mixed reality.
FIG. 3 is a diagram illustrating an example of a real space image captured by a video camera described later provided in the HMD 4.
FIG. 4 is a diagram showing a functional configuration of a system used by an observer B;
FIG. 5 is a diagram showing a functional configuration of a system used by an observer A;
FIG. 6 is a flowchart of a conventional process for calculating the position and orientation of an imaging device from a set of world coordinates and image coordinates of a subjective viewpoint index.

Claims (1)

位置姿勢を計測するためのセンサが取り付けられた第1の撮像装置を撮像する第2の撮像装置の位置姿勢を求める位置姿勢計測方法であって、
前記第1の撮像装置を撮像し、前記第1の撮像装置の各特徴点の撮像画像上の位置情報を求める特徴点位置計算工程と、
前記センサにより計測された結果に基づいて求められる前記第1の撮像装置の位置姿勢情報と、前記第1の撮像装置の各特徴点の前記撮像画像上の位置情報とに基づいて、前記第2の撮像装置の位置姿勢を求める位置姿勢計算工程と
を備えることを特徴とする位置姿勢計測方法。
A position and orientation measurement method for determining a position and orientation of a second imaging device that captures an image of a first imaging device to which a sensor for measuring position and orientation is attached,
A feature point position calculating step of taking an image of the first imaging device and obtaining position information on a captured image of each feature point of the first imaging device;
Based on position and orientation information of the first imaging device obtained based on a result measured by the sensor and position information of each feature point of the first imaging device on the captured image, the second A position and orientation calculation step of calculating the position and orientation of the imaging device.
JP2003022270A 2003-01-30 2003-01-30 Position attitude measuring method Withdrawn JP2004233201A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003022270A JP2004233201A (en) 2003-01-30 2003-01-30 Position attitude measuring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003022270A JP2004233201A (en) 2003-01-30 2003-01-30 Position attitude measuring method

Publications (1)

Publication Number Publication Date
JP2004233201A true JP2004233201A (en) 2004-08-19

Family

ID=32951383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003022270A Withdrawn JP2004233201A (en) 2003-01-30 2003-01-30 Position attitude measuring method

Country Status (1)

Country Link
JP (1) JP2004233201A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215924A (en) * 2005-02-04 2006-08-17 Canon Inc Position attitude measurement method and device
JP2009037487A (en) * 2007-08-02 2009-02-19 Canon Inc System, head mounted display device, its control method
JP2009109319A (en) * 2007-10-30 2009-05-21 Shimadzu Corp Head motion tracker system
WO2013128612A1 (en) * 2012-03-01 2013-09-06 パイオニア株式会社 Head mounted display, calibration method, calibration program, and recording medium
JP2016057634A (en) * 2015-11-19 2016-04-21 パイオニア株式会社 Head-mounted display, calibration method, calibration program, and recording medium
US9651785B2 (en) 2015-01-26 2017-05-16 Seiko Epson Corporation Display system, portable display device, display control device, and display method
JP2017215597A (en) * 2017-07-13 2017-12-07 パイオニア株式会社 Information display method and information display device
JP2018530797A (en) * 2015-07-07 2018-10-18 グーグル エルエルシー System for tracking handheld electronic devices in virtual reality
US10223058B2 (en) 2015-01-26 2019-03-05 Seiko Epson Corporation Display system, display control device, and display method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215924A (en) * 2005-02-04 2006-08-17 Canon Inc Position attitude measurement method and device
JP4726191B2 (en) * 2005-02-04 2011-07-20 キヤノン株式会社 Position / orientation correction apparatus, position / orientation correction method, program thereof, and storage medium
JP2009037487A (en) * 2007-08-02 2009-02-19 Canon Inc System, head mounted display device, its control method
JP2009109319A (en) * 2007-10-30 2009-05-21 Shimadzu Corp Head motion tracker system
WO2013128612A1 (en) * 2012-03-01 2013-09-06 パイオニア株式会社 Head mounted display, calibration method, calibration program, and recording medium
JPWO2013128612A1 (en) * 2012-03-01 2015-07-30 パイオニア株式会社 Head mounted display, calibration method and calibration program, and recording medium
US9651785B2 (en) 2015-01-26 2017-05-16 Seiko Epson Corporation Display system, portable display device, display control device, and display method
US10223058B2 (en) 2015-01-26 2019-03-05 Seiko Epson Corporation Display system, display control device, and display method
JP2018530797A (en) * 2015-07-07 2018-10-18 グーグル エルエルシー System for tracking handheld electronic devices in virtual reality
JP2016057634A (en) * 2015-11-19 2016-04-21 パイオニア株式会社 Head-mounted display, calibration method, calibration program, and recording medium
JP2017215597A (en) * 2017-07-13 2017-12-07 パイオニア株式会社 Information display method and information display device

Similar Documents

Publication Publication Date Title
JP4136859B2 (en) Position and orientation measurement method
CN110913751B (en) Wearable eye tracking system with slip detection and correction functions
US8049775B2 (en) System for obtaining connection relationships between stereoscopic image processing devices
JP3805231B2 (en) Image display apparatus and method, and storage medium
JP4757115B2 (en) Image processing apparatus and image processing method
JP5844880B2 (en) Head mounted display, calibration method and calibration program, and recording medium
KR20180112756A (en) A head-mounted display having facial expression detection capability
JP4847195B2 (en) How to get color information from an image
JP4677281B2 (en) Image processing method and image processing apparatus
JP2009025918A (en) Image processor and image processing method
JP2006072903A (en) Image compositing method and device
JP2004062756A (en) Information-presenting device and information-processing method
JP2004213355A (en) Information processing method
JP4834424B2 (en) Information processing apparatus, information processing method, and program
JP2016105279A (en) Device and method for processing visual data, and related computer program product
JP2020052979A (en) Information processing device and program
CN112927259A (en) Multi-camera-based bare hand tracking display method, device and system
JP2004233201A (en) Position attitude measuring method
JP2009087161A (en) Image processor and image processing method
JP2008070319A (en) Object measurement device and method
JP6266580B2 (en) Head mounted display, calibration method and calibration program, and recording medium
JP2015201734A (en) Image processing system, control method of the same, and program
CN111240464B (en) Eyeball tracking correction method and device
JP2017215597A (en) Information display method and information display device
JP2019040356A (en) Image processing system, image processing method and computer program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060404