説明

情報処理装置、情報処理方法

【課題】 第1の座標変換情報、第2の座標変換情報の概略値を外部から入力することなく、より簡便かつ確実に校正情報を取得する為の技術を提供すること。
【解決手段】 校正情報算出部540は、第2の座標変換情報の複数の候補と、センサ計測値と、世界座標系におけるビデオカメラ100の位置及び姿勢とを用いて、第1の座標変換情報の候補を複数求める。そして、求めた複数の候補を統合して1つの第1の座標変換情報を求める。そして、第2の座標変換情報の候補と、第1の変換情報とを校正情報の初期値とし、校正情報を補正する為の繰り返し演算を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元位置姿勢を計測するセンサによる計測結果の校正を行うための技術に関するものである。
【背景技術】
【0002】
現実空間に対して文字やCG映像を重畳して提示する複合現実感に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラ等の撮像装置で撮影した画像に、この撮像装置の位置及び姿勢に応じて生成した画像を重畳描画し、これを表示する装置として実現できる。
【0003】
このような画像表示装置を実現する為には、現実空間中に定義した世界座標系と、撮像装置に対して定義したカメラ座標系との間の相対的な位置及び姿勢を、リアルタイムに計測する必要がある。例として、室内やテーブル上といった現実環境中の所定位置に仮想物体を重畳表示する場合を考える。この場合、その環境中の適切な場所(例えば部屋の床面やテーブル面)に世界座標系を定義し、世界座標系における撮像装置の位置及び姿勢を計測すればよい。この計測を行う手段として、磁気式センサ、光学式センサ、超音波式センサなどの3次元位置姿勢センサが一般的に利用されている。
【0004】
一般に3次元位置姿勢センサが出力する計測値は、センサが独自に定義する座標系(以下、センサ座標系)における測点(計測点)の位置及び姿勢であり、世界座標系における撮像装置の位置及び姿勢ではない。例えばPolhemus社の磁気式センサFASTRAKを例にとると、センサ出力として得られるのは、トランスミッタによって定義される座標系におけるレシーバの位置及び姿勢である。
【0005】
したがって、センサ計測値をそのまま世界座標系における撮像装置の位置及び姿勢として用いることはできず、何らかの校正(変換)を行う必要がある。具体的には、センサ計測値に対して、以下の二つの座標変換を施す必要がある。
【0006】
第1の座標変換は、センサ座標系における位置及び姿勢を世界座標系における位置及び姿勢に変換する座標変換である。第1の座標変換を行うために必要な情報(以下、第1の座標変換情報)は、世界座標系とセンサ座標系との位置及び姿勢の関係である。これは例えば、世界座標系におけるセンサ座標系の位置及び姿勢によって表現される。
【0007】
一方、第2の座標変換は、測点の位置及び姿勢を撮像装置の位置及び姿勢に変換する座標変換である。第2の座標変換を行うために必要な情報(以下、第2の座標変換情報)は、撮像装置と測点との位置及び姿勢の関係である。これは例えば、撮像装置が定義する座標系(以下、カメラ座標系)における測点の位置及び姿勢によって表現される。なお、本明細書において、センサ計測値を世界座標系における撮像装置の位置及び姿勢に変換するために必要なこれらの情報を総称して、「校正情報」と呼ぶ。
【0008】
撮像装置に装着した3次元位置姿勢センサの校正情報を簡便に計測する方法が、特許文献1に開示されている。この方法は以下の手順によって実現される。
【0009】
(1) 世界座標系における3次元座標(以下、世界座標)が既知な指標をシーン中に配置または設定する。
【0010】
(2) 異なる複数の視点位置において、3次元位置姿勢センサの計測値と撮像装置が撮影した画像を同時に取得する。
【0011】
(3) 取得した夫々の画像から指標を検出し、検出した指標の画像座標の実測値(以下、観測座標)を取得する。
【0012】
(4) 3次元位置姿勢センサの校正情報である第1の座標変換情報、及び第2の座標変換情報の概略値を入力し、これを初期推定値とする。
【0013】
(5) 検出された夫々の指標に関して、指標の3次元座標と、3次元位置姿勢センサによる計測値と、校正情報の現時点における推定値と、に基づいて、計算上求められる指標の画像座標(以下、投影座標)を算出し、観測座標との誤差を求める。
【0014】
(6) 誤差の総和が小さくなるように、校正情報の推定値を補正する。
【0015】
(7) (6)の補正処理が収束するまで、(5)と(6)の処理を反復する。
【0016】
この方法によれば、校正情報の大まかな値を与えさえすれば、特別な校正用器具を用いることなく、高精度な校正情報を簡便に得ることが可能であった。
【0017】
また、特許文献1では、校正情報の概略値を手入力する作業を回避するための簡易的な方策が開示されている。そこではまず、校正情報の概略値として、幾つかのパターンを予め用意しておく。そして、これらの概略値を初期推定値として順次設定し、上記の(5)〜(7)の処理を行い、補正処理が収束した際の校正情報を選択することがなされている。
【特許文献1】特開2003-269913号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
しかし、特許文献1の方法では、求めたい校正情報である第1の座標変換情報、及び第2の座標変換情報の概略値を入力する必要があり、手間がかかるという課題があった。また、入力された概略値が実際の値からかけ離れていると補正計算が収束せず、校正情報を得られないという課題があった。
【0019】
また、校正情報の概略値として幾つかのパターンを予め用意しておく方法では、用意した概略値の何れもが実際の値とかけ離れている場合に、補正計算が収束せず、校正情報を得られないという課題があった。特に、第1の座標変換情報である世界座標系とセンサ座標系との位置及び姿勢の関係は自由度が非常に大きく、全ての場合において収束可能な初期値を予め用意しておくことは実質上困難であった。
【0020】
本発明は以上の問題に鑑みてなされたものであり、第1の座標変換情報、第2の座標変換情報の概略値を外部から入力することなく、より簡便かつ確実に校正情報を取得する為の技術を提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【0022】
即ち、複数の指標が配された現実空間を撮像装置で撮像することによって得られる現実空間画像を取得する第1の取得手段と、
前記第1の取得手段が取得した現実空間画像中の各指標について、投影像の画像座標を取得する第2の取得手段と、
前記複数の指標の世界座標系における位置を記憶する第1の記憶手段と、
前記撮像装置における測点の位置及び姿勢を計測するためのセンサが計測した位置及び姿勢を取得する第3の取得手段と、
前記撮像装置を基準とする座標系と前記測点を基準とする座標系との間の変換を行うための第2の変換情報の候補を複数、取得する第4の取得手段と、
前記第2の取得手段が取得した各指標の画像座標と、前記第1の記憶手段が記憶する当該各指標の世界座標系における位置と、を用いて、世界座標系における前記撮像装置の位置及び姿勢を取得する第5の取得手段と、
前記第2の変換情報の複数の候補の中から1つを選択する選択手段と、
前記選択手段が選択した第2の変換情報と、前記第3の取得手段が取得した位置及び姿勢と、前記第5の取得手段が取得した位置及び姿勢と、を用いて、前記センサを基準とする座標系と世界座標系との間の変換を行うための第1の変換情報を求める第1の計算手段と、
前記選択手段が選択した第2の変換情報と、前記第1の計算手段が求めた前記第1の変換情報とを、前記センサから取得する位置及び姿勢を校正するための校正情報の初期値とし、当該校正情報を補正する為の繰り返し演算を行う第2の計算手段とを有し、
前記選択手段、前記第1の計算手段、前記第2の計算手段による処理を繰り返し行うことにより校正情報を求めることを特徴とする。
【0023】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【0024】
即ち、撮像装置の位置及び姿勢を計測するためのセンサの校正情報を求めるための情報処理装置であって、
前記撮像装置の異なる位置及び姿勢の状態での前記センサの計測値を入力する入力手段と、
前記異なる位置及び姿勢の状態で前記撮像装置が撮像した画像に含まれる複数の特徴点の座標の実測値を取得する取得手段と、
前記入力手段で入力された複数の前記計測値と、前記取得手段で取得された複数の前記実測値と、予め記憶された前記複数の特徴点の世界座標に基づいて、前記校正情報を算出する算出手段とを有し、
前記校正情報は、前記センサに基づくセンサ座標系における位置姿勢を、世界座標系における位置及び姿勢に変換するための第1の変換情報と、前記センサによる測点の計測値の位置及び姿勢を前記撮像装置に基づく座標系における位置姿勢に変換する第2の変換情報を含み、
前記算出手段が、
前記異なる位置及び姿勢のうちの少なくとも一つの位置及び姿勢において、前記取得手段が取得した前記特徴点の座標の実測値と該特徴点の世界座標に基づいて、前記撮像装置の位置及び姿勢を算出する第1の算出手段と、
前記第2の変換情報の概略値を設定する第1の設定手段と、
前記第1の算出手段が算出した前記撮像装置の位置及び姿勢と、当該位置及び姿勢における前記センサの計測値に基づいて、前記第1の設定手段が設定した前記第2の変換情報の概略値に対応する前記第1の変換情報の概略値を算出する第2の算出手段と、
前記第1の設定手段が設定した前記第2の変換情報の概略値と、前記第2の算出手段が算出した前記第1の変換情報の概略値とを前記校正情報の初期値として、前記入力手段が入力した前記異なる位置及び姿勢における前記センサの計測値と、前記取得手段が取得した前記異なる位置及び姿勢における前記特徴点の座標の実測値とに基づいて、前記校正情報を補正する補正手段とを含むことを特徴とする。
【0025】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【0026】
即ち、複数の指標が配された現実空間を撮像装置で撮像することによって得られる現実空間画像を取得する第1の取得工程と、
前記第1の取得工程で取得した現実空間画像中の各指標について、投影像の画像座標を取得する第2の取得工程と、
前記複数の指標の世界座標系における位置を記憶する第1の記憶工程と、
前記撮像装置における測点の位置及び姿勢を計測するためのセンサが計測した位置及び姿勢を取得する第3の取得工程と、
前記撮像装置を基準とする座標系と前記測点を基準とする座標系との間の変換を行うための第2の変換情報の候補を複数、取得する第4の取得工程と、
前記第2の取得工程で取得した各指標の画像座標と、前記第1の記憶工程で記憶する当該各指標の世界座標系における位置と、を用いて、世界座標系における前記撮像装置の位置及び姿勢を取得する第5の取得工程と、
前記第2の変換情報の複数の候補の中から1つを選択する選択工程と、
前記選択工程で選択した第2の変換情報と、前記第3の取得工程で取得した位置及び姿勢と、前記第5の取得工程で取得した位置及び姿勢と、を用いて、前記センサを基準とする座標系と世界座標系との間の変換を行うための第1の変換情報を求める第1の計算工程と、
前記選択工程で選択した第2の変換情報と、前記第1の計算工程で求めた前記第1の変換情報とを、前記センサから取得する位置及び姿勢を校正するための校正情報の初期値とし、当該校正情報を補正する為の繰り返し演算を行う第2の計算工程とを有し、
前記選択工程、前記第1の計算工程、前記第2の計算工程による処理を繰り返し行うことにより校正情報を求めることを特徴とする。
【0027】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【0028】
即ち、撮像装置の位置及び姿勢を計測するためのセンサの校正情報を求めるための情報処理方法であって、
前記撮像装置の異なる位置及び姿勢の状態での前記センサの計測値を入力する入力工程と、
前記異なる位置及び姿勢の状態で前記撮像装置が撮像した画像に含まれる複数の特徴点の座標の実測値を取得する取得工程と、
前記入力工程で入力された複数の前記計測値と、前記取得工程で取得された複数の前記実測値と、予め記憶された前記複数の特徴点の世界座標に基づいて、前記校正情報を算出する算出工程とを有し、
前記校正情報は、前記センサに基づくセンサ座標系における位置姿勢を、世界座標系における位置及び姿勢に変換するための第1の変換情報と、前記センサによる測点の計測値の位置及び姿勢を前記撮像装置に基づく座標系における位置姿勢に変換する第2の変換情報を含み、
前記算出工程が、
前記異なる位置及び姿勢のうちの少なくとも一つの位置及び姿勢において、前記取得工程で取得した前記特徴点の座標の実測値と該特徴点の世界座標に基づいて、前記撮像装置の位置及び姿勢を算出する第1の算出工程と、
前記第2の変換情報の概略値を設定する第1の設定工程と、
前記第1の算出工程で算出した前記撮像装置の位置及び姿勢と、当該位置及び姿勢における前記センサの計測値に基づいて、前記第1の設定工程で設定した前記第2の変換情報の概略値に対応する前記第1の変換情報の概略値を算出する第2の算出工程と、
前記第1の設定工程で設定した前記第2の変換情報の概略値と、前記第2の算出工程で算出した前記第1の変換情報の概略値とを前記校正情報の初期値として、前記入力工程で入力した前記異なる位置及び姿勢における前記センサの計測値と、前記取得工程で取得した前記異なる位置及び姿勢における前記特徴点の座標の実測値とに基づいて、前記校正情報を補正する補正工程とを含むことを特徴とする。
【発明の効果】
【0029】
本発明の構成によれば、第1の座標変換情報、第2の座標変換情報の概略値を外部から入力することなく、より簡便に3次元位置姿勢センサの校正情報を取得することができる。そのため、ユーザの手間を軽減させることができ、また、情報の入力ミスによる校正計算の失敗を回避することができる。
【発明を実施するための最良の形態】
【0030】
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
【0031】
[第1の実施形態]
本実施形態では、3次元位置姿勢センサの校正情報を生成する校正装置(情報処理装置)を、仮想空間画像と現実空間画像との合成画像をユーザに提供(表示)する画像表示装置に適用した場合について説明する。即ち、係る画像表示装置が仮想空間画像を生成する際に用いる視点の位置姿勢を得るために、係る校正装置を画像表示装置に組み込む。
【0032】
図1は、本実施形態に係る画像表示装置の機能構成を示すブロック図である。図1に示すように、本実施形態に係る画像表示装置は、撮像装置としてのビデオカメラ100、3次元位置姿勢センサ200、処理部300、表示部400によって構成される。本実施形態に係る画像表示装置は、ビデオカメラ100の位置及び姿勢に応じて仮想空間画像を生成し、生成した仮想空間画像をビデオカメラ100により撮像された現実空間画像と合成し、合成後の画像を表示部400に出力する。
【0033】
先ず、3次元位置姿勢センサ200について説明する。
【0034】
3次元位置姿勢センサ200は、センサ座標系における測点の位置及び姿勢を計測する装置であり、レシーバ210、トランスミッタ220,センサ制御部230により構成されている。本実施形態では、3次元位置姿勢センサ200として、磁気式センサであるPolhemus社のFASTRAKを用いるが、光学式センサや超音波センサなど、他のタイプのセンサを用いても以下の説明は同様に適用することができる。
【0035】
トランスミッタ220は、現実空間中の予め定められた位置に、予め定められた姿勢でもって固定して配置されるものであり、後述するセンサ制御部230による制御に従って、特定の磁場を発生する。センサ座標系は、トランスミッタ220の位置によって定義される。例えば、トランスミッタ220の現実空間中における位置を原点とし、係る原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系である。センサ座標系については周知のものであるので、これ以上の説明は省略する。
【0036】
レシーバ210は測点としてビデオカメラ100の上に固定されており、トランスミッタ220が発する磁場を測定する。係る測定結果は、レシーバ210の位置姿勢に応じて異なるものである。そしてレシーバ210は測定結果を信号としてセンサ制御部230に送出する。
【0037】
センサ制御部230は、トランスミッタ220の動作を制御すると共に、レシーバ210から受けた信号が示す測定結果(測定された磁場)に基づいて、センサ座標系におけるレシーバ210の位置及び姿勢を求める。そして求めた位置及び姿勢を示す位置姿勢情報を、後段の処理部300が有するセンサ計測値変換部320、校正部310に送出する。
【0038】
次に、処理部300について説明する。図1に示すように、処理部300は、校正部310、センサ計測値変換部320、画像生成部330により構成されている。処理部300には、ビデオカメラ100、3次元位置姿勢センサ200、表示部400が接続されている。従って処理部300には、ビデオカメラ100が撮像した現実空間画像のデータと、3次元位置姿勢センサ200が計測した位置姿勢情報(センサ計測値)が入力される。また、処理部300からは、現実空間画像と仮想空間画像とを合成した合成画像のデータ若しくは信号が表示部400に対して送出される。
【0039】
校正部310は、3次元位置姿勢センサ200からセンサ計測値を取得すると共に、ビデオカメラ100から現実空間画像のデータを取得する。そして、取得したセンサ計測値、現実空間画像に基づいて、3次元位置姿勢センサ200の校正情報を推定し、センサ計測値変換部320へと出力する。校正部310についての詳細は、図2を用いて後述する。
【0040】
センサ計測値変換部320は、3次元位置姿勢センサ200からセンサ計測値を取得すると、校正部310から受けた校正情報を用いて、このセンサ計測値を「世界座標系におけるビデオカメラ100の位置及び姿勢」を示す位置姿勢情報に変換する。そして、変換した位置姿勢情報を、画像生成部330へと出力する。ここで、世界座標系とは上述の通りであるが、詳しくは、現実空間中の1点を原点とし、係る原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系である。
【0041】
ここで、センサ計測値変換部320における処理の詳細について説明する。
【0042】
本実施形態では、校正情報の一つである第1の座標変換情報を、世界座標系におけるセンサ座標系の位置及び姿勢MTWによって表記する。また、もう一方の校正情報である第2の座標変換情報を、ビデオカメラ100のカメラ座標系における測点(本実施形態ではレシーバ210に相当)の位置及び姿勢MSCによって表記する。
【0043】
ここで、カメラ座標系については上述の通りであるが、詳しくは、ビデオカメラ100の焦点位置を原点とし、光軸の反対方向を−z軸、係る原点でz軸と直交する二つの軸をそれぞれx軸、y軸とする座標系である。
【0044】
また、以下では、センサ計測値変換部320への入力データ(センサ計測値)である「センサ座標系におけるレシーバ210の位置及び姿勢」を、MSTと表記する。また、センサ計測値変換部320からの出力データである「世界座標系におけるビデオカメラ100の位置及び姿勢」を、MCWと表記する。なお、本明細書では、座標系Aにおける物体Bの位置姿勢を、座標系Aから座標系B(物体Bを基準とするローカル座標系)へのビューイング変換行列MBA(4×4)で表現するものとする。
【0045】
以下では、このようなビューイング行列や、他のタイプの行列、ベクトル等を用いた演算処理について説明するが、それぞれは全てデータとして取り扱われるものとして説明する。
【0046】
ここで、MST、MSC、MTW、MCWの間には、次の関係式が成立する。
【0047】
MCW=MSC−1・MST・MTW (式1)
センサ計測値変換部320は、3次元位置姿勢センサ200から入力されるMSTと、校正情報として予め保持しているMSCとMTWとを用いて、(式1)に基づいてMCWを算出する。そして算出したMCWを画像生成部330へと出力する。
【0048】
画像生成部330は、ビデオカメラ100が撮像した現実空間画像を、このビデオカメラ100からデータとして取得する。更に、画像生成部330は、センサ計測値変換部320が求めた「世界座標系におけるビデオカメラ100の位置及び姿勢」を示す情報であるMCWを取得する。そして、予め自身が保持している仮想空間を構成する各仮想物体を描画するためのデータを用いて仮想空間を構成する。もちろん、係る仮想空間における座標系は、世界座標系と一致している。そして、係る仮想空間を、MCWが示す位置及び姿勢を有する視点から見た場合に見える画像を仮想空間画像として生成する。そして、生成した仮想空間画像を、ビデオカメラ100から取得した現実空間画像上に重畳させた合成画像を生成し、生成した合成画像を、信号若しくはデータとして表示部400に送出する。
【0049】
仮想空間画像と現実空間画像とを合成することで、あたかも現実空間中に仮想物体が存在しているかのような合成画像を生成するための技術については様々なものが従来から提案されている。本実施形態では特定の合成技術に限定するものではなく、如何なる合成技術を用いても良い。もちろん、合成方法によっては図1に示した構成に新たにユニットを付加することも考えられ、構成の変更は適宜行えばよい。
【0050】
表示部400は、画像生成部330から受けた信号若しくはデータに基づいた画像を、自身が有する表示画面上に表示する。表示部400は、現実空間中に固定されたモニタ(CRTや液晶画面等により構成されている表示装置)であっても良いし、ビデオカメラ100と共にHMD(ヘッドマウントディスプレイ)内に設けられている表示装置であっても良い。
【0051】
次に、図2を用いて校正部310の詳細について説明する。図2は本実施形態に係る校正部310の機能構成を示すブロック図である。図2に示すように、本実施形態に係る校正部310は、世界座標保持部510、画像処理部520、データ管理部530、校正情報算出部540、及び指示部550によって構成されている。
【0052】
ここで、本実施形態の校正部310を用いて校正情報を求める為には、ビデオカメラ100が撮像可能な範囲内の現実空間内には、世界座標が既知の4点以上の指標(特徴点)が配置されている必要がある。ここで、各指標は、係る指標を含む現実空間画像を取得した場合に、この現実空間画像上における指標の投影像の画像座標(観測座標)が検出可能であって、且ついずれの指標であるかが識別可能に構成されているものとする。
【0053】
指標の夫々は、例えば、それぞれが異なる色を有する小領域からなるカラーマーカによって構成される。あるいは、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点によって構成される。現実空間画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが何らかの方法で識別可能であるような指標であれば、指標は何れの形態であってもよい。また、指標は故意に(人為的に)設定されたものであってもよい。また、例えば机の角や壁の模様のような、現実空間中に元来存在する特徴を用いてもよい。また、ある程度の面積を有する単色の多角形領域によって形成される多角形マーカを用いてもよい。この場合、多角形の各頂点を指標として扱う。
【0054】
世界座標保持部510は、各指標の世界座標情報を保持しており、データ管理部530からの要求に従ってこれを出力する。以下では、識別番号kの指標Qkの世界座標情報をxQkWと表記する。
【0055】
画像処理部520は、ビデオカメラ100が撮像した現実空間画像を取得すると、この現実空間画像中に撮影されている夫々の指標を検出してその観測座標を求める。そして、検出した指標の識別番号を特定することで、この指標がいずれの指標であるかを同定する。そして、夫々の検出指標に関して取得した情報(検出指標の識別番号k、及び観測座標uQkj)を、データ管理部530へと出力する。
【0056】
ここで、j(j=1,2,…)は、ビデオカメラ100が異なる位置姿勢をとっている状況(異なる時刻と考えてもよい)におけるデータを区別して管理するために、ビデオカメラ100の位置姿勢に与えられる識別子(通し番号)を表している。後述するデータ管理部530は、後述する指示部550から「データ取得」の指示を受け取る毎に1つインクリメントしたjを発行し、ビデオカメラ100の位置姿勢に依存する取得データの夫々にこれを割り当てる。
【0057】
以下では説明を簡単にするために、次のようにする。即ち、ある位置姿勢にあるビデオカメラ100が撮像した現実空間画像と、同位置姿勢のビデオカメラ100に対する3次元位置姿勢センサ200によるセンサ計測値とは、同時にそれぞれ画像処理部520、データ管理部530に入力されるものとして説明する。従って、識別子jの発行対象は、センサ計測値であると共に、現実空間画像であるとしても良い。
【0058】
また、画像処理部520は、1つの現実空間画像から4点以上の指標についての識別番号、観測座標のセットを求めた場合には、先ず、求めたそれぞれの識別番号に対応する指標の世界座標情報を世界座標保持部510から取得する。そして、それぞれの指標の世界座標、観測座標のセットに基づいて、世界座標系におけるビデオカメラ100の位置及び姿勢を示す情報としてMjCWを算出する。ここで、MjCWは、識別子jの発行対象である現実空間画像に基づいて得られたものであることを示している。
【0059】
なお、各指標の観測座標と世界座標とのセットを用いてカメラの位置及び姿勢を求める方法は、写真測量やコンピュータビジョンの分野において広く知られているので、これについての詳細な説明は省略する。そして画像処理部520は、求めたMjCWを、データ管理部530へと出力する。
【0060】
指標の検出は、使用する指標の種類に応じた方法で行われる。例えば、指標の夫々が異なる色を有するカラーマーカによって構成されている場合には、現実空間画像上から各々のマーカ色に対応する領域を検出する。そして、その重心位置を指標の検出座標(観測座標)とする。また、指標の夫々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、テンプレート画像によるテンプレートマッチングによって指標の位置(観測座標)を検出する。この場合、各々の指標のテンプレート画像は、既知の情報として予め保持しておく。また、四角形マーカを用いる場合は、現実空間画像に2値化処理及びラベリング処理を施し、4つの直線によって形成されているラベル領域をマーカ候補として検出する。さらに、各マーカ候補の矩形領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除する。また、矩形領域中のパターンによって、四角形マーカの識別番号を取得する。最後に、矩形領域の4頂点の座標が、4点の指標の位置(観測座標)として出力される。
【0061】
データ管理部530は、指示部550から「データ取得」の指示を受けると、指示を受けた後の最初のタイミングで3次元位置姿勢センサ200から受けたセンサ計測値MjSTを保持する。また、係る指示を受けた後の最初のタイミングで画像処理部520から送出された(検出指標の識別番号k、及び観測座標uQkj)のセットを受ける。更に、このセット中の識別番号kで特定される指標の世界座標情報xQkWを世界座標保持部510から取得する。そして、データ管理部530は、センサ計測値MjSTと、画像処理部520から受けた夫々の検出指標の観測座標uQkjと、世界座標保持部510から取得した(識別番号kの指標の)世界座標情報xQkWと、をセットにして、データリストに追加登録する。
【0062】
また、データ管理部530は、「データ取得」の指示を受けた後の最初のタイミングで画像処理部520からMjCWを受け取った場合には、これを、同タイミングで3次元位置姿勢センサ200から受け取ったセンサ計測値とをセットにして保持する。
【0063】
データ管理部530自身が保持、管理しているデータについては、校正情報算出部540からの要求に従って適宜、校正情報算出部540に出力する。
【0064】
校正情報算出部540は、指示部550から「校正情報算出」の指示を受けると、データ管理部530が保持するデータを取得し、取得したデータに基づいて校正情報を算出して出力する。校正情報算出部540は、ビデオカメラ100のカメラ座標系におけるレシーバ210の位置及び姿勢MSC(すなわち、第2の座標変換情報)の概略値の候補として、複数の値MSCa(a=1,2,…,A)を内部に保持している。ここで、aは第2の座標変換情報の概略値の各候補に対する識別子であり、Aは、第2の座標変換情報の概略値の候補の総数を表している。校正情報算出部540の処理の詳細については、フローチャートを用いて後に詳しく説明する。
【0065】
指示部550は、マウスやキーボードなど、処理部300のユーザが操作することで、各種の指示を入力するためのものである。ユーザが指示部550を操作することでデータ取得コマンドを入力した場合には、上記「データ取得」の指示をデータ管理部530に送信する。また、ユーザが操作することで校正情報算出コマンドを入力した場合には、上記「校正情報算出」の指示を校正情報算出部540に送信する。指示部550へのコマンドの入力は、例えばキーボードを用いて、特定のコマンドを割り当てたキーを押すことによって行うことができる。また、コマンドの入力は、処理部300に接続されている不図示のディスプレイ上に表示されたGUIで行う等、いずれの方法で行ってもよい。
【0066】
図4は、校正部310が行う処理のフローチャートである。
【0067】
先ずステップS4010において、指示部550は、データ取得コマンドがユーザから入力されたか否かの判定を行う。係る判定の結果、データ取得コマンドが入力されていると判定した場合には、ステップS4020へと処理を移行させる。以下では、データ取得コマンドが入力されたタイミング直後のタイミングでデータ管理部530が発行した識別子をjとして説明する。
【0068】
一方、指示部550による判定の結果、データ取得コマンドが入力されていないと判定した場合には、ステップS4070へと処理を移行させる。
【0069】
ステップS4020において、データ管理部530は、データ取得コマンドが入力されたタイミング直後のタイミングで画像処理部520から送出された(検出指標の識別番号k、及び観測座標uQkj)のセットを受ける。画像処理部520が、1つの現実空間画像から複数の指標を検出しており、夫々の検出指標について係るセットを求めている場合、各指標についてのセットを受けることになる。更に、データ管理部530は、取得した観測座標に対して識別子jを割り当てる。
【0070】
ステップS4030において、データ管理部530は、画像処理部520から入力した識別番号kで特定される指標Qkの世界座標xQkWを、世界座標保持部510から取得する。
【0071】
ステップS4040において、データ管理部530は、データ取得コマンドが入力されたタイミング直後のタイミングで3次元位置姿勢センサ200から送出されたセンサ計測値MjSTを取得する。更に、データ管理部530は、取得したセンサ計測値MjSTに対して識別子jを割り当てる。
【0072】
ステップS4050において、データ管理部530は、k毎(指標Qk毎)に、ステップS4020で受けた観測座標uQkj、ステップS4030で受けた世界座標xQkW、ステップS4050で受けたセンサ計測値MSTjをセットにする。そして、k毎のセットを、データ管理部530自身が保持、管理しているデータリストに登録する。より具体的には、指標Qkの観測座標をui=uQkj=[uix,uiy]Tとする。また、その世界座標をxiW=xQkW=[xiW,yiW,ziW,1]Tとする。また、その際のセンサ計測値をMiST=MjSTとして、[ui,xiW,MiST]の組を、i番目のデータ要素Diとしてデータリストに登録する。ここでiは現在データリストに登録されているデータ要素の総数に1を足した値を示す。
【0073】
係るデータリストは、視点の位置姿勢が変わると新たに作成されるものであるので、ビデオカメラ100を配置した位置姿勢毎に存在するものである。
【0074】
ステップS4060において、データ管理部530は、画像処理部520から「世界座標系におけるビデオカメラ100の位置及び姿勢MjCW」が入力された場合には、これを取得する。そして、センサ計測値MjSTとのセット[MjST, MjCW]をデータとして保持しておく。係るセットについても、視点の位置姿勢が変わると新たに作成されるものである。しかし、もちろん、常に作成されるものではなく、画像処理部520から「世界座標系におけるビデオカメラ100の位置及び姿勢MjCW」が入力された場合にのみ作成されるものである。
【0075】
以上の処理によって、以降の処理に必要なデータの取得が行われる。
【0076】
ステップS4070において、データ管理部530は、現在までに蓄積したデータに校正情報を算出するに足るだけの情報が含まれているかどうかを判定する。データが条件を満たしていない場合には、再びステップS4010へと戻り、データ取得コマンドの入力を待つ。一方、データが校正情報を算出する条件を満たしている場合には、ステップS4080へと処理を移行させる。
【0077】
以下の校正処理を行うためには、少なくとも異なる3点の指標に関するデータが、複数の視点から得られている必要がある。また、少なくとも一つの視点において、世界座標系におけるビデオカメラ100の位置及び姿勢MjCWとセンサ計測値MjSTとの組が得られている必要がある。必要条件であるこれらの条件を判定基準としてもよいし、より多くのデータを要求するように条件を設定してもよい。
【0078】
ステップS4080において、校正情報算出部540は、ユーザからの操作により、指示部550から校正情報算出コマンドが入力されているか否かの判定を行う。係る判定の結果、入力されている場合には、ステップS4090へと処理を移行する。一方、入力されていない場合には、再びステップS4010へと戻り、データ取得コマンドの入力を待つ。
【0079】
ステップS4090において、校正情報算出部540は、データ管理部530が現在までに蓄積したデータを取得し、これに基づいて校正情報を算出する。ステップS4090における処理の詳細については、図5のフローチャートを用いて後に説明する。
【0080】
ステップS4100において、校正情報算出部540は、ステップS4090の処理によって得られた校正情報を、センサ計測値変換部320へと出力する。
【0081】
図5は、ステップS4090において校正情報算出部540が行う処理を示すフローチャートである。
【0082】
ステップS5010において、校正情報算出部540は、内部に保持している第2の座標変換情報の概略値の候補の中から、まだ選択されていない候補MSCaを選択候補情報として選択する。
【0083】
第2の座標変換情報の概略値の候補としては、例えば、レシーバ210の位置姿勢を基準とするレシーバ座標系のX軸が正十二面体の各面の法線方向を向くような、12通りの姿勢を用意することが有効である。ここで、レシーバ座標系とは、レシーバ210の位置を原点とし、係る原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系である。さらに、この12通りの姿勢を基準として、夫々をZ軸周りに数十度(例えば45度)ずつ回転させた姿勢を数通り(例えば8通り)用意しても良い。
【0084】
即ち、第2の座標変換情報の概略値の候補の姿勢成分に関しては、測点の位置姿勢を基準とする座標系中の1軸を複数方向に向けた場合における、この座標系の姿勢に相当する。
【0085】
一方、位置の概略値としては(0,0,0)を設定するのみで十分である。これは、第2の座標変換情報の平行移動成分が投影座標の算出に与える影響が少なく、多少の誤差があっても最適化演算が収束しやすいという性質に基づいている。また、この設定は、ビデオカメラ100の位置と測点(レシーバ210)の位置とが極端に離れることはないという事実からも妥当といえる。なお、第2の座標変換情報の概略値の候補の組は、上記の構成に必ずしも限定されない。例えば、正十二面体の代わりに正六面体を用いてもよいし、位置の概略値として原点付近の他の値を与えてもよい。
【0086】
ステップS5020において、校正情報算出部540は、ステップS5010で選択した第2の座標変換情報のMSCaに対応する、第1の座標変換情報のMTWaを算出する。この算出は以下のように行う。
【0087】
まず、データ管理部530から入力した[センサ計測値−世界座標系におけるビデオカメラ100の位置及び姿勢]のセット群から、1セット(一つの視点に関するデータ)[MjST, MjCW]を入力する。次に、ステップS5010で選択したMSCaを用いて、次式によってMSCaに対応するMTWa,jを算出する。
【0088】
MTWa,j = MjST−1・MSCa・MjCW (式2)
(式2)の計算を[MjST, MjCW]のセット数分実行すると、MTWa,jが複数得られるので、これを統合して求めるべきMTWaを得る。
【0089】
統合は、例えば、夫々のMTWa,jの回転成分及び平行移動成分の夫々について平均を求めることで行う。あるいは、MjCWの推定が最も高い信頼度で行われているセット[MjST, MjCW]によるMTWa,jを選択しても良い。この場合は、画像処理部520において、ビデオカメラ100の位置及び姿勢についての推定の信頼度を求める必要がある。これは例えば、画像処理部520においてMjCWを算出する工程において用いた検出指標の画像上での分布状態から求めることができる。例えば、全ての検出指標uQkjを包含する凸包の面積を、MjCWの信頼度として用いることができる。
【0090】
ステップS5030において、校正情報算出部540は、ステップS5010とステップS5020によって得たMSCa及びMTWaを校正情報の初期推定値として、校正情報の最適化処理(補正処理)を行う。そして、最適化後の校正情報MSC及びMTWを得る。
【0091】
ステップS5030における最適化処理は、データリスト中の夫々のデータ要素Di([ui,xiW,MiST]のセット)に関して、観測座標と投影座標との間の誤差の総和を最小化する形で行われる。その誤差評価関数は次式によって与えられる。
【0092】
e = Σ|ui − f(xiW,MiST,MSC,MTW)| (式3)
ここで、fは、ビデオカメラ100の位置及び姿勢に応じた投影座標を求める観測方程式を表す。fはビューイング変換と透視変換とからなり、このうちのビューイング変換は、次式によって表される。
【0093】
xiC = MSC-1・MiST・MTW・xiW (式4)
一方、透視変換はビデオカメラ100の内部パラメータによって決定される変換であり、本実施形態では既知の固定値とする。(式3)の未知パラメータは校正情報のみであるので、ニュートン法等の公知の非線形最適化手法による繰り返し演算を適用することにより、誤差eを最小化する校正情報MSC及びMTWを得ることができる。(式3)を誤差評価関数とした最適化処理のより詳細な手順は、例えば、特許文献1に記載されている。ただし、誤差eを最小化する校正情報MSC及びMTWを得ることができるのは、初期推定値として与えるMSCa及びMTWaが適切な場合のみである。それ以外の場合には、最適化処理は収束せずに発散するか、あるいは、収束しても局所解に陥ってしまう。
【0094】
ステップS5040において、校正情報算出部540は、ステップS5030の最適化処理が成功したか否かの判定を行う。具体的には、最適化の反復処理が収束し、指標の投影誤差(観測座標と投影座標の差)の残差が予め定めた閾値以下であれば、最適化処理が成功したものと判断する。最適化処理が失敗したと判断した場合には、処理をステップS5010へと移行し、第2の座標変換情報の初期推定値として他の候補を選択し、ステップS5020からステップS5040の処理を再度実行する。一方、最適化処理が成功したと判断した場合にはステップS5050へと処理を進める。
【0095】
ステップS5050において、校正情報算出部540は、ステップS5040において成功と判断された最適化処理によって得られた校正情報(MSC及びMTW)を、校正処理の結果として保持する。
【0096】
以上の処理では、自由度の小さな第2の座標変換情報の概略値候補MSCaを網羅的に保持しておいて、自由度の大きな第1の座標変換情報の初期推定値MTWaに関しては、選択したMSCaと矛盾しない値を計算によって取得している。その結果、いずれかの初期推定値においては最適化計算が収束することが期待できる。
【0097】
以上の処理によって、ユーザが校正情報の概略値を入力する事なく、3次元位置姿勢センサ200の校正を簡便かつ確実に行うことができる。
【0098】
[第2の実施形態]
第1の実施形態では、図1に示した処理部300を構成する各部は、専用のハードウェアでもって構成されているものとして説明した。しかし、図1に示した処理部300を構成する各部をプログラム(コンピュータプログラム)でもって構成するようにしても良い。この場合、係るプログラムは、PC(パーソナルコンピュータ)などのコンピュータにインストールされ、このコンピュータが有するCPU等でもって実行されることになる。その結果、このコンピュータは、第1の実施形態で説明した、処理部300が行う各処理を実行することになる。なお、図1に示した処理部300を構成する全てでなく、一部をプログラムでもって実装するようにしても良い。
【0099】
また、係る図1に示した処理部300を構成する全てのユニットに対応するプログラムを1台のコンピュータにインストールさせても良いし、各部毎のプログラムを、対応するコンピュータにインストールさせても良い。
【0100】
図3は、図1に示した処理部300を構成する各部のうち1以上をプログラムでもって実装した場合に、係るソフトウェアを実行するコンピュータのハードウェア構成を示すブロック図である。
【0101】
CPU1001は、RAM1002やROM1003に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、本コンピュータを適用した装置が行う各処理を実行する。例えば、図1に示した処理部300を構成する各部をプログラムでもって実装した場合、CPU1001は係るプログラムを実行することで、処理部300が行うものとして第1の実施形態で説明した各処理を実行することになる。
【0102】
RAM1002は、外部記憶装置1007や記憶媒体ドライブ1008からロードされたプログラムやデータを一時的に記憶するエリアを備える。また、CPU1001が各種の処理を行うために必要とするワークエリアを備える。このように、RAM1002は、各種のエリアを適宜提供することができる。
【0103】
ROM1003は、例えば、ブートプログラムや設定データなどが格納されている。
【0104】
キーボード1004、マウス1005は入力デバイスである。本コンピュータのユーザはこれらを用いて各種の指示をCPU1001に入力することができる。指示部550へのコマンドの入力は、これらの入力デバイスを介して行うことができる。
【0105】
表示部1006は、CRTや液晶ディスプレイなどにより構成されている。表示部1006には、例えば校正作業の実行のために表示すべきメッセージ等を表示することができる。表示部1006は、表示部400としての機能も備えている。
【0106】
外部記憶装置1007は、ハードディスクドライブなどの大容量情報記憶装置として機能する装置である。ここには、OS(オペレーティングシステム)や、図1に示した処理部300を構成する各部の機能をCPU1001に実行させるためのプログラムやデータが保存されている。また、第1の実施形態、及び後述する変形例にて既知であると説明する情報、説明上、一般に必要な情報として想定される情報についても、外部記憶装置1007に保存されている。外部記憶装置1007に保存されている各種の情報は、CPU1001による制御に従って適宜、RAM1002にロードされる。
【0107】
記憶媒体ドライブ1008は、CD−ROMやDVD−ROMなどの記憶媒体に記憶されているプログラムやデータをCPU1001からの指示に従って読み出して、RAM1002や外部記憶装置1007に出力する。
【0108】
I/F1009は、以下の複数種のポートによって構成されている。ビデオカメラ100から送出される現実空間画像の信号の入力は、アナログビデオポートあるいはIEEE1394等のデジタル入出力ポートによって実現される。また、3次元位置姿勢センサ200から送出されるセンサ計測値の信号の入力は、USBポートやRS−232Cポートによって実現される。このように、I/F1009を構成する各ポートに対して入力される信号は、このI/F1009を介して、データとしてRAM1002に取り込まれる。また、センサ計測値変換部320が算出したビデオカメラ100の位置及び姿勢は、必要に応じて、イーサネット(登録商標)ポート等によって外部へ出力される。
【0109】
上述した各構成要素は、バス1010によって相互に接続される。
【0110】
[第3の実施形態]
第1の実施形態については下記のような幾つかの変形例が考えられる。
【0111】
<変形例1>
第1の実施形態では、ステップS5040において最適化処理が成功した場合に、その最適化処理によって得られた解を校正情報として選択していた。しかし、校正情報算出部540が保持する第2の座標変換情報の概略値の全ての候補についてステップS5010からステップS5030の処理を実行し、最も残差が最小となった最適化処理によって得られた解を校正情報として選択しても良い。
【0112】
<変形例2>
第1の実施形態では、校正情報算出部540が第2の座標変換情報の概略値の候補を複数保持しており、これを最適化処理の初期推定値として順次設定していた。しかし、第2の座標変換情報の概略値の候補を予め保持しておくことは必ずしも必須ではない。例えば、ステップS5010において、校正情報算出部540が第2の座標変換情報の概略値を自動生成するような構成であってもよい。例えば、第2の座標変換情報の概略値である測点の姿勢を乱数で発生させてもよい。この場合、2回目以降の処理においては、今までに生成した全ての姿勢候補に対して一定の角度以上離れていなくてはならないという条件を付加することで、初期推定値を網羅的に与えることができる。
【0113】
<変形例3>
第1の実施形態では、3次元位置姿勢センサ200としてPolhemus社の磁気式センサFASTRAKを用いた画像表示装置の校正に上記校正装置及びその方法(情報処理方法)を適用した場合について説明した。しかし、第1の実施形態に係る校正装置、及びその方法によって校正可能な画像表示装置の3次元位置姿勢センサ200はFASTRAKに限定されるものではない。その適用範囲は位置姿勢センサの方式や製品に依存するものではなく、他のいずれの位置姿勢センサであっても、その校正を行うことが可能である。
【0114】
<変形例4>
第1の実施形態では、指標の投影座標およびその識別番号の取得を、画像処理によって行っていた。しかしその必要は必ずしもなく、ユーザによる手入力によって指標の投影座標およびその識別番号を入力してもよい。この場合、画像処理部520は、例えば作業用ディスプレイ上に表示された現実空間画像上の指標位置をマウスクリックによって指定する等の作業によって、ユーザが容易に指標位置を入力できるような、何らかのGUIを有した構成であることが望ましい。
【0115】
<変形例5>
第1の実施形態では、ユーザからの制御コマンドを入力するための指示部550を有していたが、この入力は必ずしも必要ではない。例えば画像処理部520が指標を検出するごとにデータリストへ追加を行い、データリストが条件を満たした時点で校正情報算出部540が校正情報の算出を行うような構成にしてもよい。
【0116】
<変形例6>
第1の実施形態では、校正部310は画像表示装置中の1つの構成要素であった。しかし、校正部310の機能を有するような校正装置を構成することも可能である。この場合、校正装置は、センサ計測値と現実空間画像とを入力し、算出した校正情報を出力する。また、3次元位置姿勢センサ200と、校正部310と、センサ計測値変換部320と、を有する処理部とからなる位置姿勢計測装置を構成することも可能である。この場合、位置姿勢計測装置からは、世界座標系におけるビデオカメラ100の位置及び姿勢が出力される。
【0117】
<変形例7>
第1の実施形態では、複合現実感を提示する画像表示装置の3次元位置姿勢センサ200の校正を行うものであった。しかし、適用範囲はこれに限定されるものではなく、3次元位置姿勢センサによって撮像装置の位置姿勢を計測するような他の何れの用途に適用することも可能である。
【0118】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0119】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0120】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0121】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0122】
【図1】本発明の第1の実施形態に係る画像表示装置の機能構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る校正部310の機能構成を示すブロック図である。
【図3】図1に示した処理部300を構成する各部のうち1以上をプログラムでもって実装した場合に、係るソフトウェアを実行するコンピュータのハードウェア構成を示すブロック図である。
【図4】校正部310が行う処理のフローチャートである。
【図5】ステップS4090において校正情報算出部540が行う処理を示すフローチャートである。

【特許請求の範囲】
【請求項1】
複数の指標が配された現実空間を撮像装置で撮像することによって得られる現実空間画像を取得する第1の取得手段と、
前記第1の取得手段が取得した現実空間画像中の各指標について、投影像の画像座標を取得する第2の取得手段と、
前記複数の指標の世界座標系における位置を記憶する第1の記憶手段と、
前記撮像装置における測点の位置及び姿勢を計測するためのセンサが計測した位置及び姿勢を取得する第3の取得手段と、
前記撮像装置を基準とする座標系と前記測点を基準とする座標系との間の変換を行うための第2の変換情報の候補を複数、取得する第4の取得手段と、
前記第2の取得手段が取得した各指標の画像座標と、前記第1の記憶手段が記憶する当該各指標の世界座標系における位置と、を用いて、世界座標系における前記撮像装置の位置及び姿勢を取得する第5の取得手段と、
前記第2の変換情報の複数の候補の中から1つを選択する選択手段と、
前記選択手段が選択した第2の変換情報と、前記第3の取得手段が取得した位置及び姿勢と、前記第5の取得手段が取得した位置及び姿勢と、を用いて、前記センサを基準とする座標系と世界座標系との間の変換を行うための第1の変換情報を求める第1の計算手段と、
前記選択手段が選択した第2の変換情報と、前記第1の計算手段が求めた前記第1の変換情報とを、前記センサから取得する位置及び姿勢を校正するための校正情報の初期値とし、当該校正情報を補正する為の繰り返し演算を行う第2の計算手段とを有し、
前記選択手段、前記第1の計算手段、前記第2の計算手段による処理を繰り返し行うことにより校正情報を求めることを特徴とする情報処理装置。
【請求項2】
前記第2の変換情報の候補は、予め記憶されているものであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第4の取得手段は、前記第2の変換情報の候補を乱数によって生成することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
更に、
前記校正情報を補正するための処理が成功したことを判定する手段を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
更に、
前記校正情報を補正するための処理において求められる残差が最も小さい校正情報を選択する手段を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項6】
更に、
求めた校正情報のうち1つを選択し、前記センサが計測した位置及び姿勢を取得し、取得した位置及び姿勢を、選択した校正情報を用いて校正する手段と、
校正された位置及び姿勢を出力する手段と
を備えることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
更に、
求めた校正情報のうち1つを選択し、前記センサが計測した位置及び姿勢を取得し、取得した位置及び姿勢を、選択した校正情報を用いて校正し、校正した位置及び姿勢を有する視点から見える仮想空間画像を生成する生成手段と、
前記生成手段が生成した仮想空間画像を、前記第1の取得手段が取得した現実空間画像と合成することで合成画像を生成し、表示装置に対して出力する出力手段と
を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
撮像装置の位置及び姿勢を計測するためのセンサの校正情報を求めるための情報処理装置であって、
前記撮像装置の異なる位置及び姿勢の状態での前記センサの計測値を入力する入力手段と、
前記異なる位置及び姿勢の状態で前記撮像装置が撮像した画像に含まれる複数の特徴点の座標の実測値を取得する取得手段と、
前記入力手段で入力された複数の前記計測値と、前記取得手段で取得された複数の前記実測値と、予め記憶された前記複数の特徴点の世界座標に基づいて、前記校正情報を算出する算出手段とを有し、
前記校正情報は、前記センサに基づくセンサ座標系における位置姿勢を、世界座標系における位置及び姿勢に変換するための第1の変換情報と、前記センサによる測点の計測値の位置及び姿勢を前記撮像装置に基づく座標系における位置姿勢に変換する第2の変換情報を含み、
前記算出手段が、
前記異なる位置及び姿勢のうちの少なくとも一つの位置及び姿勢において、前記取得手段が取得した前記特徴点の座標の実測値と該特徴点の世界座標に基づいて、前記撮像装置の位置及び姿勢を算出する第1の算出手段と、
前記第2の変換情報の概略値を設定する第1の設定手段と、
前記第1の算出手段が算出した前記撮像装置の位置及び姿勢と、当該位置及び姿勢における前記センサの計測値に基づいて、前記第1の設定手段が設定した前記第2の変換情報の概略値に対応する前記第1の変換情報の概略値を算出する第2の算出手段と、
前記第1の設定手段が設定した前記第2の変換情報の概略値と、前記第2の算出手段が算出した前記第1の変換情報の概略値とを前記校正情報の初期値として、前記入力手段が入力した前記異なる位置及び姿勢における前記センサの計測値と、前記取得手段が取得した前記異なる位置及び姿勢における前記特徴点の座標の実測値とに基づいて、前記校正情報を補正する補正手段とを含むことを特徴とする情報処理装置。
【請求項9】
複数の指標が配された現実空間を撮像装置で撮像することによって得られる現実空間画像を取得する第1の取得工程と、
前記第1の取得工程で取得した現実空間画像中の各指標について、投影像の画像座標を取得する第2の取得工程と、
前記複数の指標の世界座標系における位置を記憶する第1の記憶工程と、
前記撮像装置における測点の位置及び姿勢を計測するためのセンサが計測した位置及び姿勢を取得する第3の取得工程と、
前記撮像装置を基準とする座標系と前記測点を基準とする座標系との間の変換を行うための第2の変換情報の候補を複数、取得する第4の取得工程と、
前記第2の取得工程で取得した各指標の画像座標と、前記第1の記憶工程で記憶する当該各指標の世界座標系における位置と、を用いて、世界座標系における前記撮像装置の位置及び姿勢を取得する第5の取得工程と、
前記第2の変換情報の複数の候補の中から1つを選択する選択工程と、
前記選択工程で選択した第2の変換情報と、前記第3の取得工程で取得した位置及び姿勢と、前記第5の取得工程で取得した位置及び姿勢と、を用いて、前記センサを基準とする座標系と世界座標系との間の変換を行うための第1の変換情報を求める第1の計算工程と、
前記選択工程で選択した第2の変換情報と、前記第1の計算工程で求めた前記第1の変換情報とを、前記センサから取得する位置及び姿勢を校正するための校正情報の初期値とし、当該校正情報を補正する為の繰り返し演算を行う第2の計算工程とを有し、
前記選択工程、前記第1の計算工程、前記第2の計算工程による処理を繰り返し行うことにより校正情報を求めることを特徴とする情報処理方法。
【請求項10】
撮像装置の位置及び姿勢を計測するためのセンサの校正情報を求めるための情報処理方法であって、
前記撮像装置の異なる位置及び姿勢の状態での前記センサの計測値を入力する入力工程と、
前記異なる位置及び姿勢の状態で前記撮像装置が撮像した画像に含まれる複数の特徴点の座標の実測値を取得する取得工程と、
前記入力工程で入力された複数の前記計測値と、前記取得工程で取得された複数の前記実測値と、予め記憶された前記複数の特徴点の世界座標に基づいて、前記校正情報を算出する算出工程とを有し、
前記校正情報は、前記センサに基づくセンサ座標系における位置姿勢を、世界座標系における位置及び姿勢に変換するための第1の変換情報と、前記センサによる測点の計測値の位置及び姿勢を前記撮像装置に基づく座標系における位置姿勢に変換する第2の変換情報を含み、
前記算出工程が、
前記異なる位置及び姿勢のうちの少なくとも一つの位置及び姿勢において、前記取得工程で取得した前記特徴点の座標の実測値と該特徴点の世界座標に基づいて、前記撮像装置の位置及び姿勢を算出する第1の算出工程と、
前記第2の変換情報の概略値を設定する第1の設定工程と、
前記第1の算出工程で算出した前記撮像装置の位置及び姿勢と、当該位置及び姿勢における前記センサの計測値に基づいて、前記第1の設定工程で設定した前記第2の変換情報の概略値に対応する前記第1の変換情報の概略値を算出する第2の算出工程と、
前記第1の設定工程で設定した前記第2の変換情報の概略値と、前記第2の算出工程で算出した前記第1の変換情報の概略値とを前記校正情報の初期値として、前記入力工程で入力した前記異なる位置及び姿勢における前記センサの計測値と、前記取得工程で取得した前記異なる位置及び姿勢における前記特徴点の座標の実測値とに基づいて、前記校正情報を補正する補正工程とを含むことを特徴とする情報処理方法。
【請求項11】
コンピュータに請求項9又は10に記載の情報処理方法を実行させるためのコンピュータプログラム。
【請求項12】
請求項11に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータが読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−224454(P2008−224454A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−63960(P2007−63960)
【出願日】平成19年3月13日(2007.3.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】