(57)【要約】【課題】  指示具を計測する状況に応じて、その計測方法を動的に変更可能にすること。【解決手段】  指示具の世界座標系における位置姿勢を、指示具を含む撮像画像を用いて求める計測部１７０Ｂ、指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と上記撮像画像とを用いて求める計測部１７０Ａ、指示具の世界座標系における位置姿勢の変化分、及び計測部１７０Ａもしくは計測部１７０Ｂが過去に求めた位置姿勢を用いて求める計測部１７０Ｃのうち何れか１つを信頼度に基づいて決定し、決定した計測部により求めた結果を選択部１６０Ｂ、１６０Ｃにより仮想空間の融合描画部１９０に出力する。【選択図】  図２
2005147894.tif 000002
【特許請求の範囲】
【請求項１】
指示具の世界座標系における位置姿勢を計測する計測方法であって、
夫々異なる方法でもって前記指示具の世界座標系における位置姿勢を計測する複数の計測工程と、
前記複数の計測工程のうち何れか１つを、所定の評価量に基づいて決定する決定工程と、
前記決定工程で決定した計測工程により求めた結果を出力する出力工程と
を備えることを特徴とする計測方法。
【請求項２】
指示具の世界座標系における位置姿勢を計測する計測方法であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測工程と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測工程と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測工程もしくは前記第２の計測工程で過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測工程と、
前記第１乃至３の計測工程のうち何れか１つを、所定の評価量に基づいて決定する決定工程と、
前記決定工程で決定した計測工程により求めた結果を出力する出力工程と
を備えることを特徴とする計測方法。
【請求項３】
前記決定工程は更に、
前記第１の計測工程、もしくは前記第２の計測工程の何れかを選択する選択工程と、
前記選択工程で選択された計測工程を実行することによって得られる結果の信頼度を求める信頼度計算工程とを備え、
前記信頼度計算工程で計算した信頼度が所定値を越えない場合には、前記第３の計測工程を、前記信頼度計算工程で計算した信頼度が所定値を越えた場合には、前記選択工程で選択された計測工程を、行うべき計測工程として決定することを特徴とする請求項２に記載の計測方法。
【請求項４】
前記信頼度計算工程では、前記選択工程で前記第１の計測工程が選択された場合、前記指示具に備わっている特徴点の位置を前記撮像画像上に投影した座標位置と、前記撮像画像から検出した前記特徴点の座標位置との差分値と、所定の閾値とを用いて求めることを特徴とする請求項３に記載の計測方法。
【請求項５】
前記信頼度計算工程では、前記選択工程で前記第２の計測工程が選択された場合、前記撮像画像上における前記指示具に備わっている特徴点の外接長方形が占める面積率と、所定の閾値とを用いて求めることを特徴とする請求項３に記載の計測方法。
【請求項６】
前記決定工程は更に、
前記撮像画像を用いた前記指示具の世界座標系における位置姿勢の計測が可能であるか否かを判断する第１の判断工程と、
前記センサから出力される計測結果を用いた前記指示具の世界座標系における位置姿勢の計測が可能であるか否かを判断する第２の判断工程とを備え、
前記第１，２の判断工程による判断処理に基づいて前記第１乃至３の計測工程のうち、行うべき計測工程として１つを決定することを特徴とする請求項２に記載の計測方法。
【請求項７】
指示具の世界座標系における位置姿勢を計測する計測方法であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測工程と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測工程と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測工程もしくは前記第２の計測工程で過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測工程と、
前記第１乃至３の計測工程夫々について評価量を計算する第１の計算工程と、
前記夫々の計測工程について前記第１の計算工程で計算した夫々の評価量、及び前記第１乃至３の計測工程の夫々において求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第２の計算工程と、
前記第２の計算工程で計算した結果を出力する出力工程と
を備えることを特徴とする計測方法。
【請求項８】
指示具の世界座標系における位置姿勢を計測する計測装置であって、
夫々異なる方法でもって前記指示具の世界座標系における位置姿勢を計測する複数の計測手段と、
前記複数の計測手段のうち何れか１つを、所定の評価量に基づいて決定する決定手段と、
前記決定手段が決定した計測手段により求めた結果を出力する出力手段と
を備えることを特徴とする計測装置。
【請求項９】
指示具の世界座標系における位置姿勢を計測する計測装置であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測手段と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測手段と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測手段もしくは前記第２の計測手段が過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測手段と、
前記第１乃至３の計測手段のうち何れか１つを、所定の評価量に基づいて決定する決定手段と、
前記決定手段が決定した計測手段により求めた結果を出力する出力手段と
を備えることを特徴とする計測装置。
【請求項１０】
指示具の世界座標系における位置姿勢を計測する計測装置であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測手段と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測手段と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測手段もしくは前記第２の計測手段が過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測手段と、
前記第１乃至３の計測手段夫々について評価量を計算する第１の計算手段と、
前記夫々の計測手段について前記第１の計算手段が計算した夫々の評価量、及び前記第１乃至３の計測手段の夫々が求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第２の計算手段と、
前記第２の計算手段が計算した結果を出力する出力手段と
を備えることを特徴とする計測装置。
【請求項１１】
コンピュータに請求項１乃至７の何れか１項に記載の計測方法を実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示具の世界座標系における位置姿勢を計測する計測技術に関するものである。
【背景技術】
【０００２】
複合現実空間（ＭＲ空間）におけるマンマシンインターフェースは、例えば、指示具となる物体（人体の一部（手や指など）や、手にもった棒状の指示棒など、人体の一部の動きに関連して動作するもの）を利用している。この指示具によって体験者は、指定の場所にＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像を表示させたり、ＣＧで表示されている仮想の物体に幾何学的な変更を加えたり、さらに、現実の物体形状を入力したりすることが可能になる。
【０００３】
このような操作を行うためには、指示具の現実空間における位置姿勢を複合現実感提示システムが検出し、その位置姿勢を仮想空間の基準座標系上での位置姿勢に変換する必要がある。この指示具の位置姿勢を計測する方法として、
（方法１）  画像情報のみによる計測方法（例えば特許文献１，非特許文献１、非特許文献３を参照）
（方法２）  ６自由度センサのみによる画像情報に依存しない計測方法（例えば、磁気センサを用いる方法や、ジャイロセンサ（姿勢センサ）と加速度計（位置センサ）などの3自由度センサを組み合わせ6自由度センサとして利用する方法など）
（方法３）  ６自由度センサと画像情報を用いたハイブリッドな計測方法（例えば非特許文献２を参照）
等が知られている。また、画像情報による計測や、６自由度センサと画像情報のハイブリッドな方法では、さらに手法の異なる方法がある。
【特許文献１】特開２０００−２２７３０９号公報
【非特許文献１】今本，加藤，橘：”テーブルトップ拡張現実感システムにおける仮想物体操作インターフェース”．ヒューマンインターフェースシンポジウム  ２０００  論文集，１１１１，ｐｐ．１−４．２０００
【非特許文献２】「Ｍ．  Ｂａｊｕｒａ，  Ｈ．  Ｆｕｃｈｓ  ａｎｄ  Ｒ．  Ｏｈｂｕｃｈｉ：  Ｍｅｒｇｉｎｇ  Ｖｉｒｔｕａｌ  Ｏｂｊｅｃｔｓ  ｗｉｔｈ  ｔｈｅ  Ｒｅａｌ  Ｗｏｒｌｄ：  Ｓｅｅｉｎｇ  Ｕｌｔｒａｓｏｕｎｄ  Ｉｍａｇｅｒｙ  ｗｉｔｈｉｎ  ｔｈｅ  Ｐａｔｉｅｎｔ，  ＳＩＧＧＲＡＰＨ  ’９２，  ｐｐ．  ２０３−２１０，  １９９２．」
【非特許文献３】加藤ら：”マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本VR 学会論文誌, Vol.4, No.4,pp.607-616 (1999)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上に挙げた従来の方法は、それぞれ得意とする環境や場面が異なり、ある特定の環境内においては、それぞれの方法のうちいくつかが相補的な関係にある場合があり得る。しかし、それぞれの方法は独立した処理を前提としており、場面に応じて様々な方法を動的に切り替えて用いることは想定されていなかった。具体的な例を挙げれば、（方法３）で挙げた６自由度センサと画像情報を用いた計測方法では、基本的に６自由度センサの計測範囲において計測することを前提に設計されており、センサの計測範囲を外れた場合には、別の方法（例えば（方法１）の画像情報のみによる計測）に切り替えて位置姿勢計測を持続するような処理ができない、という状況が挙げられる。
【０００５】
このように従来技術では、場面に応じて様々な計測方法を動的に切り替えることができないという問題がある。
【０００６】
本発明は以上の問題に鑑みてなされたものであり、指示具を計測する状況に応じて、その計測方法を動的に変更可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば本発明の計測方法は以下の構成を備える。
【０００８】
即ち、指示具の世界座標系における位置姿勢を計測する計測方法であって、
夫々異なる方法でもって前記指示具の世界座標系における位置姿勢を計測する複数の計測工程と、
前記複数の計測工程のうち何れか１つを、所定の評価量に基づいて決定する決定工程と、
前記決定工程で決定した計測工程により求めた結果を出力する出力工程と
を備えることを特徴とする。
【０００９】
本発明の目的を達成するために、例えば本発明の計測方法は以下の構成を備える。
【００１０】
即ち、指示具の世界座標系における位置姿勢を計測する計測方法であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測工程と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測工程と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測工程もしくは前記第２の計測工程で過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測工程と、
前記第１乃至３の計測工程のうち何れか１つを、所定の評価量に基づいて決定する決定工程と、
前記決定工程で決定した計測工程により求めた結果を出力する出力工程と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば本発明の計測方法は以下の構成を備える。
【００１２】
即ち、指示具の世界座標系における位置姿勢を計測する計測方法であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測工程と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測工程と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測工程もしくは前記第２の計測工程で過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測工程と、
前記第１乃至３の計測工程夫々について評価量を計算する第１の計算工程と、
前記夫々の計測工程について前記第１の計算工程で計算した夫々の評価量、及び前記第１乃至３の計測工程の夫々において求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第２の計算工程と、
前記第２の計算工程で計算した結果を出力する出力工程と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば本発明の計測装置は以下の構成を備える。
【００１４】
即ち、指示具の世界座標系における位置姿勢を計測する計測装置であって、
夫々異なる方法でもって前記指示具の世界座標系における位置姿勢を計測する複数の計測手段と、
前記複数の計測手段のうち何れか１つを、所定の評価量に基づいて決定する決定手段と、
前記決定手段が決定した計測手段により求めた結果を出力する出力手段と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば本発明の計測装置は以下の構成を備える。
【００１６】
即ち、指示具の世界座標系における位置姿勢を計測する計測装置であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測手段と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測手段と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測手段もしくは前記第２の計測手段が過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測手段と、
前記第１乃至３の計測手段のうち何れか１つを、所定の評価量に基づいて決定する決定手段と、
前記決定手段が決定した計測手段により求めた結果を出力する出力手段と
を備えることを特徴とする。
【００１７】
本発明の目的を達成するために、例えば本発明の計測装置は以下の構成を備える。
【００１８】
即ち、指示具の世界座標系における位置姿勢を計測する計測装置であって、
撮像装置によって指示具を撮像することにより得られる撮像画像を用いて、前記指示具の世界座標系における位置姿勢を求める第１の計測手段と、
前記指示具の所定の座標系における位置姿勢を計測するセンサから出力される計測結果と、前記撮像画像とを用いて、前記指示具の世界座標系における位置姿勢を求める第２の計測手段と、
前記指示具の世界座標系における位置姿勢の変化分、及び前記第１の計測手段もしくは前記第２の計測手段が過去に求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第３の計測手段と、
前記第１乃至３の計測手段夫々について評価量を計算する第１の計算手段と、
前記夫々の計測手段について前記第１の計算手段が計算した夫々の評価量、及び前記第１乃至３の計測手段の夫々が求めた前記指示具の世界座標系における位置姿勢を用いて、前記指示具の世界座標系における位置姿勢を求める第２の計算手段と、
前記第２の計算手段が計算した結果を出力する出力手段と
を備えることを特徴とする。
【発明の効果】
【００１９】
本発明の構成により、指示具を計測する状況に応じて、その計測方法を動的に変更することができる。
【発明を実施するための最良の形態】
【００２０】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２１】
［第１の実施形態］
以下の説明においては、ビデオシースルー（Ｖｉｄｅｏ  Ｓｅｅ−Ｔｈｒｏｕｇｈ）型のヘッドマウントディスプレイ（ＨＭＤ）を用いた複合現実感システムに、本実施形態に係る計測装置を適用した場合について説明する。しかし本実施形態は、このビデオシースルー型ＨＭＤを用いることに限定されるものではなく、その代わりに、その他の画像入力装置とディスプレイデバイスを組み合わせたシステムを用いても良い。
【００２２】
また、複合現実感システムとは、現実空間の画像とコンピュータグラフィックス等の非現実空間（仮想空間）画像とを合成した複合現実画像（ＭＲ画像）を、ユーザ（体験者）に提示するシステムである。なお、ＭＲ技術に関する情報は、例えば、「Ｈ．  Ｔａｍｕｒａ，  Ｈ．  Ｙａｍａｍｏｔｏ  ａｎｄ  Ａ．  Ｋａｔａｙａｍａ：  ”Ｍｉｘｅｄ  ｒｅａｌｉｔｙ：  Ｆｕｔｕｒｅ  ｄｒｅａｍｓ  ｓｅｅｎ  ａｔ  ｔｈｅ  ｂｏｒｄｅｒ  ｂｅｔｗｅｅｎ  ｒｅａｌ  ａｎｄ  ｖｉｒｔｕａｌ  ｗｏｒｌｄｓ，”  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ｖｏｌ．２１，  ｎｏ．６，  ｐｐ．６４−７０，  ２００１．」から得ることができる。
【００２３】
まず、ビデオシースルー型ＨＭＤを用いてＭＲ空間を表現するためには、ＨＭＤに備わっている撮像部の位置姿勢を推定する必要がある。これは、仮想物体（仮想空間画像）を現実空間上の位置にあわせて描画するためには、撮像部の現実空間上での位置姿勢から見た仮想物体の画像を生成しなければならないという理由からである。仮想物体は、システムが管理する基準座標系（世界座標系）上に定義されているために、ビューイング変換行列と呼ばれる基準座標系から撮像部を中心とする座標系であるカメラ座標系に変換する必要がある。
【００２４】
このカメラ座標系に変換された仮想物体を描画することによって現実空間の位置と合った画像を生成できる。つまり、撮像部の位置姿勢を表すビューイング変換行列を推定できれば、ＨＭＤに備わっている撮像部によって撮像した現実空間の画像と、推定したビューイング変換行列を用いて生成した仮想空間画像とを合成することにより、適切なＭＲ空間を表現する複合現実感映像（画像）を生成することができる。
【００２５】
なお、本実施形態は、ＨＭＤの位置姿勢の推定方法については特に限定するものではなく、如何なる方法を用いても、ＨＭＤの位置姿勢が推定できるのであれば、本実施形態に適用することができる。しかし、この推定方法は、生成するＭＲ画像に大きな影響を与えるため、なるべく精度が高い方法を用いることが好ましい。
【００２６】
またＨＭＤには、撮像部を１つ備える単眼型ＨＭＤと、撮像部を２つまたは２つ以上備えるステレオ型ＨＭＤが存在するが、本実施形態に適用可能なＨＭＤはその何れに限定するものではなく、両方に適用可能である。
【００２７】
また、指示具によりＭＲ空間とのインタラクションを行うためには、指示具の基準座標系における位置姿勢を計測する必要がある。これは、インタラクションの対象となる仮想空間の仮想物体や現実空間の現実物体が基準座標系上で定義されており、指示具と対象物体を同一座標系において取り扱う必要があるためである。ただし、指示具の位置姿勢が特定の座標系でのみ求められる場合であっても、この特定座標系と基準座標系との相対位置姿勢が既知であれば、その座標系間の座標変換行列を求めることにより、指示具の位置姿勢を基準座標系上に変換することが可能である。
【００２８】
例えば、ＨＭＤの撮像部を基準とした観測座標系において、観測座標系上における指示具の位置姿勢が得られ、さらに基準座標系と観測座標系との相対関係が既知であるならば、既知の相対関係を示す座標変換行列を用いて観測座標系における位置姿勢を、基準座標系における位置姿勢に変換することができ、これにより、基準座標系における指示具の位置姿勢を求めることができるので、ＭＲ空間とのインタラクションを行うことが可能となる。
【００２９】
本実施形態に係る計測装置は、従来の技術で挙げた
（方法１）画像情報のみによる計測方法
（方法２）画像情報に依存しない６自由度センサによる計測方法
（方法３）画像と６自由度センサを用いるハイブリッドな方法
の３つの方法の中から１つを動的に選択し、選択した計測方法でもって指示具の基準座標系における位置姿勢を計測する。以下、本実施形態に係る計測装置について説明する。
【００３０】
図１は、本実施形態に係る計測装置を適用したシステムの機能構成を示すブロック図である。同図に示したシステムは、大まかには、ＨＭＤ１００と、基準座標系における位置姿勢の計測対象である指示具２００と、計測装置３００とで構成されている。
【００３１】
ＨＭＤ１００には、撮像部１１０、ＨＭＤ位置姿勢計測部１２０、表示部１３０とが設けられている。撮像部１１０は、ＨＭＤ１００を頭部に装着したユーザの頭部が向いている方向の現実空間を常時撮像している。撮像した現実空間の画像は信号として後段の計測装置３００の撮像画像の取得部１５０に出力される。
【００３２】
ＨＭＤ位置姿勢計測部１２０は、ＨＭＤ１００の基準座標系における位置姿勢を計測する。計測した結果は信号として後段の計測装置３００の仮想空間の融合描画部１９０と、指示具位置姿勢計測部１４０とに出力される。
【００３３】
表示部１３０は、ＨＭＤ１００を頭部に装着したユーザの眼前に位置するように設けられており、ここに撮像部１１０により撮像された現実空間の画像と後段の計測装置３００が生成した仮想空間の画像との合成画像（ＭＲ画像）を表示することにより、このユーザの眼前にはこの合成画像が表示されることになり、この合成画像を見たユーザはＭＲ空間を体感することができる。表示部１３０は、例えばＬＣＤ等により構成されている。
【００３４】
計測装置３００には、撮像画像の取得部１５０、指示具位置姿勢計測部１４０、撮像画像の描画部１８０、仮想空間の融合描画部１９０とが設けられている。撮像画像の取得部１５０は、上述の通り、ＨＭＤ１００の撮像部１１０が撮像した現実空間の画像を信号として受けるのであるが、これをデータとして後段の撮像画像の描画部１８０に出力する。
【００３５】
撮像画像の描画部１８０は、撮像画像の取得部１５０から受けた現実空間の画像のデータに基づいて、メモリ上に画像を描画する。仮想空間の融合描画部１９０は、ＨＭＤ位置姿勢計測部１２０から取得した「ＨＭＤ１００の基準座標系における位置姿勢」に基づいて、ＨＭＤ１００の位置姿勢に応じて見える仮想空間の画像を生成し、生成した画像を、撮像画像の描画部１８０がメモリ上に描画した現実空間の画像と合成することにより、ユーザにＭＲ空間を体感させるための画像（ＭＲ画像）を生成する。なお、この仮想空間の画像は、指示具位置姿勢計測部１４０が求めた指示具２００の基準座標系における位置姿勢に基づいて操作が加えられ得るものである。指示具位置姿勢計測部１４０について、詳しくは後述する。
【００３６】
そして仮想空間の融合描画部１９０がメモリ上に描画した合成画像は、ＨＭＤ１００の表示部１３０に出力されるので、表示部１３０はこの合成画像を表示することができる。
【００３７】
２００は指示具で、体験者がＭＲ空間においてインタラクションを行うために利用するものである。より詳しくは、ＭＲ空間でのインタラクションを行うワンド状の手持ちデバイスであり、磁気センサ２１０、マーカ２２０、ジャイロ２３０Ａ、加速度計２３０Ｂとで構成されている。
【００３８】
磁気センサ２１０は、不図示の磁気発生源から発生される磁気を検知し、検知した磁気に基づいて周知の技術により、磁気発生源を原点とする座標系（以下、センサ座標系）における指示具２００の位置姿勢を計測するものであり、計測した結果は信号として後段の計測装置３００の指示具位置姿勢計測部１４０に出力される。
【００３９】
マーカ２２０は、指示具２００の位置姿勢を計測、又は補正する為に用いられるものである。マーカ２２０の使用方法については後述する。
【００４０】
ジャイロ２３０Ａ、加速度計２３０Ｂは共に、指示具２００の位置姿勢を計測するために用いられるものであるが、その具体的な使用方法については、後述する。
【００４１】
図３は、この指示具２００の外観例を示す図である。同図において、２２０Ａ、２２０Ｂは共にマーカで、図１に示すマーカ２２０に含まれるものであるが、夫々使用目的が異なる。夫々のマーカについての詳細な説明は後述する。また２１０は指示具２００本体で、詳しくは後述するがスタイラス（磁気センサ）と呼ばれるものである。また、２３０はジャイロ２３０Ａ、加速度計２３０Ｂを１つのケースに含めた６自由度センサである。
【００４２】
ここで、磁気センサ２１０としては、Polhemus社の3SPCACE FASTRAKやAscension Technology社のFlock of Birdsなどが適用可能である。本実施形態では、磁気センサ２１０として3SPCACE FASTRAKのオプションであるスタイラスを利用する。図３に示しているように、このスタイラス２１０は、通常の磁気レシーバと形状が異なり、棒状になっており中央部にスイッチボタン２４０を備えている。機能面においても、スタイラス２１０は通常の磁気レシーバの機能に加えてスイッチ検出機能を備えている。
【００４３】
また、ジャイロセンサ２３０ＡとしてInterSense社のInertiaCube2、加速度計２３０Ｂとして日本航空電子工業株式会社のJA24−MAを利用する。
【００４４】
２１５はスタイラス２１０が受けた磁場の情報をFASTRAKコントローラ（不図示）に入力するための線である（詳細な構成は後述）。２３５はジャイロ２３０Ａと加速度計２３０Ｂの出力を位置姿勢計測処理部１７０Ｃ内の後述する姿勢計測部９１０、位置計測部９２０にそれぞれ入力するための線である。
【００４５】
線２３５はジャイロ２３０Ａ、加速度計２３０Ｂ夫々に接続されている信号線を１本にまとめた状態を示している。もちろん、磁気センサ、ジャイロ、加速度計は前述した製品に限るものではなく、後述する各計測方法が実施可能なものであればよく、また使用するセンサに応じて具体的な実装方法は変化する。
【００４６】
また同図に示したマーカ２２０、ジャイロ２３０Ａ、加速度計２３０Ｂの配置位置や夫々の様態については同図に限定されるものではない。
【００４７】
図２は、指示具位置姿勢計測部１４０の機能構成を示すブロック図である。
【００４８】
指示具位置姿勢計測部１４０は、上記（方法１）に従った計測処理を行う計測部１７０Ｂ、上記（方法２）に従った計測処理を行う計測部１７０Ｃ、上記（方法３）に従った計測処理を行う計測部１７０Ａ、これら計測部１７０Ａ〜１７０Ｃのうち、使用するものを動的に切り替える為の選択部１６０Ａ〜１６０Ｃ、使用する計測方法（すなわち、使用する計測部）を指定する計測方法指定部１９５から構成される。
【００４９】
選択部１６０Ａ、１６０Ｂは、計測部１７０Ａ、１７０Ｂのうち使用するものを選択するためのものであり、計測方法指定部１９５により計測部１７０Ａを指示した場合、選択部１６０Ａは撮像画像の取得部１５０からの撮像画像を計測部１７０Ａに出力し、選択部１６０Ｂは計測部１７０Ａによる計測結果の信頼度Ｗを計算する。一方、計測方法指定部１９５により計測部１７０Ｂを指示した場合、選択部１６０Ａは撮像画像の取得部１５０からの撮像画像を計測部１７０Ｂに出力し、選択部１６０Ｂは計測部１７０Ｂによる計測結果の信頼度Ｗを計算する。この信頼度Ｗについては後述する。
【００５０】
そして選択部１６０Ｂが計算した信頼度Ｗが閾値Ｗｔ（信頼度Ｗが計測部１７０Ａによる計測結果の信頼度であるか、計測部１７０Ｂによる計測結果の信頼度であるかに応じて、閾値Ｗｔの値は異なる）を越えない場合は、計測部１７０Ｃに、自身が保持している「過去に計測した指示具２００の基準座標系における位置姿勢」を出力する。
【００５１】
すなわち、計測方法指定部１９５により計測部１７０Ａを指示した場合には、上述の通り、計測部１７０Ａによる計測方法でもって、指示具２００の世界座標系における位置姿勢を求めるのであるが、選択部１６０Ｂは計測部１７０Ａによる計測結果の信頼度Ｗを求め、求めた信頼度Ｗが閾値Ｗｔを越えない場合、計測部１７０Ｃに、自身が保持している「過去に計測した指示具２００の基準座標系における位置姿勢」を出力する。
【００５２】
一方、計測方法指定部１９５により計測部１７０Ｂを指示した場合には、上述の通り、計測部１７０Ｂによる計測方法でもって、指示具２００の世界座標系における位置姿勢を求めるのであるが、選択部１６０Ｂは計測部１７０Ｂによる計測結果の信頼度Ｗを求め、求めた信頼度Ｗが閾値Ｗｔを越えない場合、計測部１７０Ｃに、自身が保持している「過去に計測した指示具２００の基準座標系における位置姿勢」を出力する。
【００５３】
ここで、この「過去に計測した指示具２００の基準座標系における位置姿勢」とは、過去の計測で閾値Ｗｔを越えたときに選択部１６０Ｂが選択部１６０Ｃに出力した「位置姿勢」のうち最も最近のものであって、これは選択部１６０Ｂ自身が保持しているものである。
【００５４】
一方、信頼度Ｗが閾値Ｗｔを越えている場合は、選択部１６０Ｂは計測部１７０Ｃには何も出力せずに、計測方法指定部１９５が指示した方の計測部が計測した「指示具２００の世界座標系における位置姿勢」を後段の選択部１６０Ｃを介して、仮想空間の融合描画部１９０に出力する。
【００５５】
すなわち、計測方法指定部１９５により計測部１７０Ａを指示した場合には、上述の通り、計測部１７０Ａによる計測方法でもって「指示具２００の世界座標系における位置姿勢」を求めるのであるが、選択部１６０Ｂは計測部１７０Ａによる計測結果の信頼度Ｗを求め、求めた信頼度Ｗが閾値Ｗｔを越えている場合、計測部１７０Ａにより求めた「指示具２００の世界座標系における位置姿勢」を後段の選択部１６０Ｃを介して仮想空間の融合描画部１９０に出力する。
【００５６】
一方、計測方法指定部１９５により計測部１７０Ｂを指示した場合には、上述の通り、計測部１７０Ｂによる計測方法でもって「指示具２００の世界座標系における位置姿勢」を求めるのであるが、選択部１６０Ｂは計測部１７０Ｂによる計測結果の信頼度Ｗを求め、求めた信頼度Ｗが閾値Ｗｔを越えている場合、計測部１７０Ｂにより求めた「指示具２００の世界座標系における位置姿勢」を後段の選択部１６０Ｃを介して仮想空間の融合描画部１９０に出力する。
【００５７】
このように、計測方法指定部１９５により、計測部１７０Ａもしくは計測部１７０Ｂが指示されていた場合であっても、信頼度Ｗが閾値Ｗｔを越えない場合には、自動的に計測部１７０Ｃが選択される。
【００５８】
なお、本実施形態において使用する計測方法は、操作者、もしくは操作者以外の者が決定し、計測方法指定部１９５に指示することによって使用する計測部が切り替えられる。また、計測方法指定部１９５は例えばワイヤード又はワイヤレスリモコンとして操作者、又は操作者以外の者が手元で使用できるように構成することが好ましい。ここで、操作者以外の者とは、ＨＭＤ１００を頭部に装着するユーザの体験状態を把握できており、ユーザに代わって計測方法を変更可能なオペレータを指す。操作者は、ユーザの体験状態を把握できれば、遠方から操作を行うことも可能である。さらに、計測方法指定部１９５は指示具２００と共用とし、指示具２００に備えるスイッチボタン２４０を利用して計測部を切り替える構成にすることが好ましい。
【００５９】
以上説明した構成を有するシステムに適用した本実施形態に係る計測装置について以下説明するのであるが、本実施形態では、計測装置３００はＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータであるとする。しかし、計測装置３００はＰＣやＷＳ等のコンピュータに限定されるものではなく、例えば、計測処理に特化した専用のハードウェアでも良い。
【００６０】
図１７は、計測装置３００として機能するコンピュータの基本構成を示す図である。
【００６１】
１７０１はＣＰＵで、ＲＡＭ１７０２やＲＯＭ１７０３に格納されているプログラムやデータを用いてコンピュータ全体を制御すると共に、後述する「指示具２００の基準座標系における位置姿勢を求める処理」を制御する。
【００６２】
１７０２はＲＡＭで、外部記憶装置１７０７や記憶媒体ドライブ装置１７０８からロードされたプログラムやデータを一時的に格納するためのエリアを備えると共に、ＣＰＵ１７０１が各種の処理を行うために用いるワークエリアも備える。また、Ｉ／Ｆ（インターフェース）１７０９を介して外部から受信したデータを一時的に格納するためのエリアも備える。
【００６３】
１７０３はＲＯＭで、ブートプログラムやコンピュータの設定に係るデータなどを格納する。
【００６４】
１７０４，１７０５は夫々キーボード、マウスで、各種の指示をＣＰＵ１７０１に対して入力することができる。例えば上記計測方法指定部１９５に相当するものである。
【００６５】
１７０６は表示部で、ＣＲＴや液晶画面などにより構成されており、ここに例えば、コンピュータが生成した「現実空間画像と仮想空間画像との合成画像」を表示させたり、システムメッセージなどを表示させることができる。
【００６６】
例えば、上記操作者が、ＨＭＤ１００を頭部に装着してＭＲ空間を体感しているユーザの体感状態を把握するために、この表示部１３０に上記「現実空間画像と仮想空間画像との合成画像」を表示させる。
【００６７】
１７０７は外部記憶装置で、ハードディスクドライブ装置などに代表される大容量情報記憶装置で、ここにたとえばＯＳ（オペレーティングシステム）や、ＣＰＵ１７０１に後述する「指示具２００の基準座標系における位置姿勢を求める処理」を制御させるためのプログラムやデータ等を保存しておき、これらは必要に応じてその一部、もしくは全部がＣＰＵ１７０１の制御に基づいて、ＲＡＭ１７０２に読み出される。
【００６８】
ここで、ＣＰＵ１７０１に後述する「指示具２００の基準座標系における位置姿勢を求める処理」を制御させるためのプログラムとは、図１に示した撮像画像の取得部１５０、撮像画像の描画部１８０、仮想空間の融合描画部１９０、指示具位置姿勢計測部１４０の各部の機能をＣＰＵ１７０１に実行させるためのプログラムを含むものである。
【００６９】
また、ＣＰＵ１７０１に後述する「指示具２００の基準座標系における位置姿勢を求める処理」を制御させるためのデータとは、図１に示した撮像画像の取得部１５０、撮像画像の描画部１８０、仮想空間の融合描画部１９０、指示具位置姿勢計測部１４０の各部において用いられるデータを含むものである。
【００７０】
１７０８は記憶媒体ドライブ装置で、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に格納されているプログラムやデータを読み取って、ＲＡＭ１７０２や外部記憶装置１７０７に出力する。なお、外部記憶装置１７０７に保存されているプログラムやデータの全部、もしくはその一部を記憶媒体に記録しておき、この記憶媒体から記憶媒体ドライブ装置１７０８がＲＡＭ１７０２や外部記憶装置１７０７に読み出すようにしても良い。
【００７１】
１７０９はＩ／Ｆで、ここにＨＭＤ１００や指示具２００を接続することができ、このＩ／Ｆ１７０９を介してＨＭＤ１００、指示具２００とデータ通信を行っている。
【００７２】
次に、本実施形態に係る計測装置が選択する計測方法の選択肢について説明する。上述の通り、本実施形態では、上記３つの計測方法（（方法１）〜（方法３））から１つが動的に選択される。よって、この３つの計測方法の夫々について説明する。
【００７３】
（方法１）  画像情報のみによる計測方法
先ず、（方法１）としての計測方法について説明する。
【００７４】
図８は、（方法１）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ｂの機能構成を示すブロック図である。計測部１７０Ｂは、四角マーカ検出部８１０、位置姿勢推定部８２０、位置姿勢変換部８３０により構成されている。
【００７５】
ここで、本実施形態では、指示具２００に備わっているマーカ２２０Ｂとして、図３に示す如く、指示具２００に固定した四角形のマーカを用いるものとする。この四角マーカ２２０Ｂは上記非特許文献１で開示されているものであり、白色のカード上に書かれた一辺８０ｍｍの黒色正方形で、その内部に各マーカを識別するための４０ｍｍ四方のパターンが与えられている。即ち、この４０ｍｍ四方のパターンは、マーカ２２０Ｂが複数ある場合に夫々を識別するためのものである。
【００７６】
撮像部１１０がこのマーカ２２０Ｂを含む指示具２００の画像（より具体的には、この指示具２００を含む現実空間の画像）を撮像すると、撮像画像は後段の撮像画像の取得部１５０を介して四角マーカ検出部８１０に入力される。四角マーカ検出部８１０は、入力した撮像画像中のマーカ２２０Ｂの領域検出を行い、マーカ２２０Ｂの各頂点の観測座標系における位置（撮像部１１０の位置を原点とし、互いに直交する３軸を夫々ｘ、ｙ、ｚ軸とした座標系における位置）、テンプレートマッチング用の画像を得る。
【００７７】
このテンプレートマッチング用の画像は、あらかじめ登録した四角マーカのパターン画像と画素毎の類似度を比較し、現在撮像している四角マーカが、どのマーカであるのかを識別するために利用する。また、このマッチングによって、四角形状だけでは特定できないマーカの向きの判定にも利用する。テンプレートマッチング用の画像の生成方法については、上記非特許文献３で開示されている。
【００７８】
そしてマーカ２２０Ｂの各頂点の観測座標系における位置、及びテンプレートマッチング用の画像を位置姿勢推定部８２０に入力し、指示具２００と撮像部１１０との相対位置姿勢を表す行列を算出する。そして算出した行列を観測座標系における指示具２００の位置に積算することにより、基準座標系上での指示具２００の位置姿勢を表す行列Ｍｂを得る。
【００７９】
図１２は、計測部１７０Ｂを構成する四角マーカ検出部８１０、位置姿勢推定部８２０、位置姿勢変換部８３０の各部による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【００８０】
なお、ステップＳ１２００からステップＳ１２２０までの処理は四角マーカ検出部８１０が行う処理である。
【００８１】
四角マーカ検出部８１０は先ず、マーカ２２０Ｂが撮像された画像（上記撮像画像）を２値化処理し、マーカ２２０Ｂが撮像されている領域（外接長方形）の抽出を行う（ステップＳ１２００）。また、ステップＳ１２００において、抽出領域内のテンプレートマッチング用の撮像パターン画像を保存しておく。
【００８２】
次に、抽出された領域情報中のマーカ２２０Ｂの各辺を直線近似した場合に、この直線を求める処理を行う（ステップＳ１２１０）。マーカ２２０Ｂの辺の数は４つであるので、求める直線も４つとなる。
【００８３】
次に、ステップＳ１２１０で算出した４つの直線の各交点の座標位置を求める（ステップＳ１２２０）。ここで求めた４つの各交点の座標位置とは、マーカ２２０Ｂの各頂点の、撮像画像上における座標位置である。
【００８４】
四角マーカ検出部８１０は、以上の処理によって得られたマーカ２２０Ｂの頂点座標位置とテンプレートマッチング用の撮像パターン画像を位置姿勢推定部８２０に出力する。
【００８５】
次に、ステップＳ１２３０からステップＳ１２６０の処理は、位置姿勢推定部８２０が行う処理である。
【００８６】
位置姿勢推定部８２０は先ず、四角マーカ検出部８１０がステップＳ１２００で求めたテンプレートマッチング用の撮像パターン画像と、予め自身が保持しているテンプレートマッチング用の画像を比較し、マーカ識別、及び撮像画像上におけるマーカ２２０Ｂの向きの判別を行う（ステップＳ１２３０）。
【００８７】
次に、判別したマーカ２２０Ｂの回転移動成分Ｒ３×３を求める（ステップＳ１２４０）。この回転移動成分Ｒ３×３は、マーカ２２０Ｂの位置を原点とし、この原点の位置から互いに直交する３つの軸を夫々ｘ、ｙ、ｚ軸とした座標系（以下、マーカ座標系）から、撮像部１１０を原点とする上記観測座標系への変換行列のうち、回転変換成分を表す。
【００８８】
この回転移動成分Ｒ３×３を求める処理については、まず、マーカ２２０Ｂの４頂点（撮像画像上の２次元座標位置）から、向かい合う２辺の２直線の方程式が得られる。これらの２つの直線と撮像部１１０（カメラ）の理想的透視変換行列とを用いて、観測座標系上（３次元空間）での対応する２平面の式が得られる。この２平面は、観測座標系上のマーカ２２０Ｂの対応する辺（３次元空間中の線分）をそれぞれ平面内に１つずつ含む。マーカ２２０Ｂの向かい合う２辺は平行なので、その方向ベクトルは一致し、前述の３平面の面内方向となる。また、もう一組の平行２辺においても同様の処理を行うことで、マーカ２２０Bの隣り合う２辺の方向ベクトルを求められる。この１対の３次元ベクトルと、テンプレートマッチングの結果から、上記回転移動成分Ｒ３×３を求める。なお、より詳細な説明については、上記非特許文献３に開示されているので、これ以上の説明は省略する。
【００８９】
次に、ステップＳ１２４０で求めた回転移動成分Ｒ３×３と、マーカ２２０Ｂの４つの各頂点のマーカ座標系における３次元座標位置と、カメラの理想的透視変換行列を適応後の２次元座標値とを用いて、平行移動成分Ｔ３×１を求める（ステップＳ１２５０）。この平行移動成分Ｔ３×１は、マーカ座標系から撮像部１１０を原点とする上記観測座標系への変換行列のうち、平行変換成分を表す。ステップＳ１２５０における処理の詳細については上記非特許文献３に開示されているので、詳細な説明は省略する。
【００９０】
以上の処理により、マーカ座標系から観測座標系への変換行列（回転移動成分Ｒ３×３、平行移動成分Ｔ３×１）を求めることができたので、これらの積により得られる、撮像部１１０と指示具２００との相対位置姿勢（観測座標系における指示具２００の位置姿勢を表す行列）を求めることができる（ステップＳ１２６０）。
【００９１】
次に、ステップＳ１２７０、ステップＳ１２８０の処理は、位置姿勢変換部８３０が行う処理である。
【００９２】
位置姿勢変換部８３０は先ず、ＨＭＤ位置姿勢計測部１２０より得られるＨＭＤ１００の基準座標系における位置姿勢、換言すれば、基準座標系から観測座標系への変換行列Ｍｖ（ビューイング変換行列）を取得し、ビューイング変換行列の逆行列Ｍｖ−１（観測座標系から基準座標系への変換行列）を求める（ステップＳ１２７０）。
【００９３】
そして次に、この逆行列Ｍｖ−１と、ステップＳ１２６０で求めた観測座標系における指示具２００の位置姿勢を表す行列とを積算することにより、基準座標系における指示具２００の位置姿勢を表す行列Ｍｂを求める（ステップＳ１２８０）。
【００９４】
このようにして得られた指示具２００の位置姿勢を用いることにより、ＭＲ空間における指示具２００によるインタラクションを行うことができる。例えば、指示具２００の位置姿勢をそのまま仮想物体の位置姿勢に反映させることにより、指示具２００によって仮想物体を持つような操作を行うことが可能である。
【００９５】
この手法を用いることで、基準座標系における撮像部１１０の位置姿勢が既知であれば、撮像画像のみから指示具２００の基準座標系における位置姿勢を求めることが可能である。しかし、マーカ２２０Ｂを常に撮像部１１０によって撮像し、さらにマーカ２２０Ｂ内部の識別用パターンが認識可能な角度や距離から撮像していなければ、指示具２００の位置姿勢計測は不可能である。すなわち（方法１）に係る計測方法は、マーカ２２０Ｂに完全に依存した方法であり、撮像部１１０の視野内にマーカ２２０Ｂが含まれていない場合、また撮像画像からマーカ２２０Ｂが認識不可能な場合は、この（方法１）に係る計測方法では指示具の世界座標系における位置姿勢は計測できないことを意味する。
【００９６】
（方法２）  ジャイロと加速度計と過去の位置姿勢情報を用いた計測方法
次に、（方法２）としての計測方法について説明する。
【００９７】
図９は、（方法２）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ｃの機能構成を示すブロック図である。計測部１７０Ｃは、姿勢計測部９１０、位置計測部９２０、位置姿勢変換部９３０により構成されている。
【００９８】
一般にジャイロ２３０Ａと加速度計２３０Ｂは、それぞれ時間経過による誤差蓄積が大きく、この２つのセンサ単体のみで継続して計測精度の高い計測を行うことは難しい。従って（方法２）ではこのような問題に鑑みて、ジャイロ２３０Ａと加速度計２３０Ｂ以外で求めた指示具２００の過去の位置姿勢を利用し、現在の指示具２００の基準座標系における位置姿勢を計測する。
【００９９】
まず、選択部１６０Ｂからジャイロ２３０Ａと加速度計２３０Ｂを利用する以外の方法（すなわち（方法２）以外の方法に係る計測方法）で計測した過去の位置姿勢情報が入力される。加速度計２３０Ｂは指示具２００の現在の加速度、ジャイロセンサ２３０Ａは指示具２００の現在の姿勢（オイラー角）を出力する（一般的に、ジャイロセンサ自体は角速度を出力するものであるが、本計測方法ではオイラー角を出力する機能を有する製品を利用する）。
【０１００】
位置計測部９２０は、選択部１６０Ｂからの入力があった時から、加速度計２３０Ｂの出力を２回積分し、現在の基準座標系上での平行移動成分Ｔ３×１を得る。
【０１０１】
また、姿勢計測部９１０は、選択部１６０Ｂからの入力が始まった時点から計測したジャイロセンサ２３０Ａの出力を用いて回転移動成分Ｒ３×３を求める。位置姿勢変換部９３０は、姿勢計測部９１０により得られた平行移動成分Ｔ３×１と、位置計測部９２０により得られた回転移動成分Ｒ３×３とを用いて、選択部１６０Ｂからの入力があった時点から現在までの指示具２００の基準座標系における位置姿勢の変化分を表す行列Ｍｋを算出し、選択部１６０Ｂから得られる過去の位置姿勢情報である行列Ｍｐと積算し、最終的に求めるべき、指示具２００の基準座標系における位置姿勢を示す行列Ｍｃを算出する。なお、ジャイロ２３０Ａと加速度計２３０Ｂは夫々常時、姿勢、加速度を計測しているものとし、各センサの起動時間などには影響されない。
【０１０２】
図１３は、計測部１７０Ｃを構成する姿勢計測部９１０、位置計測部９２０、位置姿勢変換部９３０の各部による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【０１０３】
まず、選択部１６０Ｂから、ジャイロ２３０Ａと加速度計２３０Ｂを利用する以外の方法（すなわち（方法２）以外の方法に係る計測方法）で計測した過去の位置姿勢情報が入力されたか否かを判断する（ステップＳ１３００）。入力が成された場合にのみ、以降の処理を行う。
【０１０４】
次に、現在まで計測部１７０Ｃが保持していた「選択部１６０Ｂからの出力である指示具２００の位置姿勢」を、今回選択部１６０Ｂから出力された指示具２００の基準座標系における位置姿勢に更新する（ステップＳ１３１０）。すなわち、保持するデータを更新する。
【０１０５】
次に、加速度計２３０Ｂからの出力である、指示具２００の基準座標系におけるｘ、ｙ、ｚ夫々の軸方向の加速度を示す信号を夫々２回積分し、選択部１６０Ｂからの入力があった時点から現在までの移動距離（平行移動成分Ｔ３×１）を得る（ステップＳ１３２０）。
【０１０６】
次に、選択部１６０Ｂからの入力があった時点から現在までの姿勢変化分（回転成分Ｒ３×３）を、ジャイロ２３０Ａからの出力信号を用いて求める（ステップＳ１３３０）。以下に、回転移動成分Ｒ３×３を示す。なお、φ、θ、ψはそれぞれオイラー角の３成分（ロール、ピッチ、ヨー）を表す。
【０１０７】
【数１】
2005147894.tif 000003
【０１０８】
次にステップＳ１３４０では、Ｒ３×３とＴ３×１とを用いて以下の式に示すように合成し、選択部１６０Ｂの入力があった時点から現在までの指示具２００の基準座標系における位置姿勢の変化分を表す行列Ｍｋを求める。
【０１０９】
【数２】
2005147894.tif 000004
【０１１０】
そして、求めた行列Ｍｋと、ステップＳ１３１０で計測部１７０Ｃが保持すべきものとして更新した「選択部１６０Ｂから出力された指示具２００の基準座標系における位置姿勢情報」である行列Ｍｐとを積算し、最終的に出力すべき、指示具２００の基準座標系における位置姿勢情報である行列Ｍｃを求めて、出力する。
以上説明した計測方法では、撮像画像に依存せずに指示具２００の基準座標系における位置姿勢を計測することができる。これにより、撮像画像にマーカ２２０が撮像されていない状態であっても指示具２００の基準座標系における位置姿勢を計測することができる。しかしながら、前述したように、時間経過に従ってジャイロ２３０Ａ、加速度計２３０Ｂによる計測の誤差が蓄積するという特性があるので、この誤差が大きくなる前に選択部１６０Ｂから過去の位置姿勢情報を得なくてはいけないという制限が生じる。
【０１１１】
（方法３）  画像と磁気センサを用いるハイブリッドな計測方法
次に、（方法３）としての計測方法について説明する。
【０１１２】
図７は、（方法３）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ａの機能構成を示すブロック図である。計測部１７０Ａは、位置姿勢計測部７１０、マーカ検出部７２０、位置姿勢補正部７３０により構成されている。
【０１１３】
一般に６自由度センサによる計測値を、そのまま指示具２００の基準座標系における位置姿勢として用いて、ＭＲ空間におけるインタラクションを行った場合、センサの誤差が原因となって、ＨＭＤ１００の表示部１３０に表示される指示具２００の実写画像の位置姿勢と、６自由度センサによる計測値に基づいて計算した指示具２００の表示部１３０の表示面上の位置とが一致せず、ユーザが思い通りにインタラクションを行えない場合がある。例えば、本実施形態における磁気センサ２１０においては、周囲の磁場に影響されるので、計測部近辺に金属物質があると誤差が大きくなり、ずれ量も増える。
【０１１４】
このような状況に鑑みて非特許文献２には、撮像画像情報を用いて、６自由度センサ誤差を補正する方法が開示されている。この方法では、指示具にマーカと呼ばれる人工的に特定の色や形の情報を持ったシール状のものなどを貼り付けて補正に利用する。このマーカは、人為的にシールを貼り付けたものではなく、指示具自身が持つ特徴的な点であっても良い。
【０１１５】
磁気センサ２１０から出力される指示具２００のセンサ座標系における位置姿勢は、位置姿勢計測部７１０により基準座標系における位置姿勢を表す４ｘ４の行列に変換される。
【０１１６】
ここで、センサ座標系の原点位置は上述の通り、磁界の発生源の位置であり、磁界の発生源の基準座標系における位置は予め測定しておくことができる。また、基準座標系における原点位置は予め決めておくものであるので、当然この位置の予め測定されている。従って、センサ座標系から基準座標系への変換行列は予め求めておくことができる。以下では、センサ座標系から基準座標系への変換行列は予め求めておき、位置姿勢計測部７１０が保持しているものとする。従って位置姿勢計測部７１０は、磁気センサ２１０から出力される指示具２００のセンサ座標系における位置姿勢を、この変換行列によって変換し、基準座標系における位置姿勢を表す行列を得ることができる。
【０１１７】
また、マーカ検出部７２０は、撮像画像の取得部１５０から得られる撮像画像からマーカ２２０Ａを検出し、撮像画像上におけるマーカ２２０Ａの座標位置（ｘ０，ｙ０）を求める。
【０１１８】
マーカ検出部７２０によるマーカ２２０Ａの検出方法は、例えば以下のような例が挙げられる。まず、指示具２００に赤色マーカ２２０Ａを図３に示すように配置する。それを撮像部１１０によって撮像した画像から検出する場合は、以下の式を用いて、特徴量ＩＳを求める。
【０１１９】
【数３】
2005147894.tif 000005
【０１２０】
ここで、Ｒは、注目画素のＲ（赤）成分の画素値、Ｇは、注目画素のＧ（緑）成分の画素値、Ｂは、注目画素のＢ（青）成分の画素値を示す。
そしてこのような式に基づいて求めた特徴量ＩＳが所定の閾値を越えた場合、注目画素は撮像画像上の赤色マーカ２２０Ａの領域内を構成する画素と見なす。このような処理を撮像画像を構成する全ての画素について行い、夫々の画素が赤色マーカ２２０Ａの領域を構成する画素であるか否かを判断する。なお、撮像画像上の赤色マーカ２２０Ａの領域内を構成する画素には固有のラベルが付けられる。そして撮像画像上の赤色マーカ２２０Ａの領域内を構成する画素群による領域の重心位置を求め、求めた重心位置を赤色マーカ２２０Ａの座標位置（ｘｊ、ｙｊ）とする。ここでｊは夫々の領域に対する固有のインデックスである。
【０１２１】
このようにして、撮像画像中のマーカ２２０Ａの領域の座標位置を求めることができるのであるが、撮像画像の中にマーカ２２０Ａ以外の赤い物体が存在していたり、カメラノイズが生じたりすることで、マーカ２２０Ａだと誤判断する場合もある。従って、ここで求めたマーカ２２０Ａの領域の座標位置はあくまで「候補」として求め、この候補の中から以下説明する処理により、最終的にマーカ２２０Ａの領域の座標位置と判定されるべきものを求める。
【０１２２】
次に、ここで得られた「候補」としてのマーカ２２０Ａの領域の座標位置、及び位置姿勢計測部７１０により求めた指示具２００の基準座標系における位置姿勢を表す４ｘ４の行列、更には、ＨＭＤ位置姿勢計測部１２０からの出力である基準座標系における撮像部１１０の位置姿勢を位置姿勢補正部７３０に入力する。
【０１２３】
位置姿勢補正部７３０は、これらの３つの入力から指示具２００の基準座標系における位置姿勢を算出する。この算出された位置姿勢は、磁気センサ２１０による計測値を補正したものとなる。
【０１２４】
図１０は、計測部１７０Ａを構成する位置姿勢補正部７３０による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【０１２５】
先ず、ＨＭＤ位置姿勢計測部１２０からの出力である、基準座標系における撮像部１１０の位置姿勢を用いて、基準座標系における位置姿勢をカメラ座標系に変換するためのビューイング変換行列を求める（ステップＳ１０００）。
【０１２６】
次に、位置姿勢計測部７１０によって得られた、基準座標系における指示具２００の位置姿勢を表す４ｘ４の行列を用いて得られる指示具２００に固定されているマーカ２２０Ａの基準座標系における３次元位置と、既知であるカメラの理想的透視変換行列と、ステップＳ１０００で求めたビューイング変換行列とを用いて、撮像画像中のマーカ２２０Ａの領域の座標位置（ｘｉ’，ｙｉ’）を求める（ステップＳ１０１０）。ここでｉは各領域に固有のインデックスである。
【０１２７】
この２次元位置（ｘｉ’，ｙｉ’）は、マーカ２２０Ａの３次元位置を、撮像画像上における座標位置に変換した予測値である。
【０１２８】
次に、マーカ検出部７２０で検出された各マーカ候補位置（ｘｊ，ｙｊ）と、ステップＳ１０１０で求めたマーカの予測値（ｘｉ’，ｙｉ’）とで撮像画像上における座標位置間の距離を求める処理を行い、個々の予測値に一番近いマーカ候補位置を、予測値に対応する２次元マーカ位置であると判断し、各マーカ候補位置（ｘｊ，ｙｊ）と、ステップＳ１０１０で求めたマーカの予測値（ｘｉ’，ｙｉ’）とで対応するマーカの組を作成する（ステップＳ１０２０）。すなわち、ステップＳ１０１０で求めた各予測値が、実際にはどの候補位置にあるべきものであるかを求める。
【０１２９】
この対応するマーカの組を求める場合、誤対応を防ぐ目的で、各マーカの予測値（ｘｉ'，ｙｉ'）を中心とした対応可能範囲を撮像画像上に設ける。この対応可能範囲内にある各マーカ候補位置（ｘｊ，ｙｊ）のうち、一番近いマーカの候補を対応するマーカであるとみなす。この対応可能範囲は半径ｔピクセル以内の円により定義する。この場合の半径の値ｔは、光源の状況、指示具２００に配置する各マーカ間の距離などにより適切な値が変わる。このｔは、状況に応じてあらかじめ操作者、または操作者以外のものが設定する。また、適切な値ｔを自動的に計算し、動的にｔを設定してもよい。
【０１３０】
図１１は、この予測値と候補位置とのずれを説明する図である。
【０１３１】
同図において、１１００は撮像部１１０の撮像面を示し、Ｃは観測座標系の原点を示す。指示具２００を用いて仮想物体５１０を操作しているのであるが、マーカ検出部７２０で検出されたマーカ２２０Ａの候補位置が撮像面１１００上でｐ１’（ｘ１’、ｙ１’）、ｐ０’（ｘ０’、ｙ０’）である場合に、ステップＳ１０１０で計算した予測値はｐ１（ｘ１、ｙ１）、ｐ０（ｘ０、ｙ０）となる。すなわち、ｐ１’とｐ１とのずれ，ｐ０’とｐ０とのずれは、磁気センサ２１０による計測の誤差に起因したものである。
【０１３２】
従ってこのずれを解消するために、次に、補正行列ΔＭａを求める（ステップＳ１０３０）。
【０１３３】
この補正行列ΔＭａは、図１１において、マーカ２２０Ａの各予測位置（ｘｉ，ｙｉ）が、対応する候補位置（ｘｊ，ｙｊ）に一致するように、磁気センサ２１０の出力値を補正する為の補正行列である。
【０１３４】
例えば、この補正行列ΔＭａは以下のように算出する。まず、図１１に示すように、対応するマーカの組に含まれる２つのマーカの予測位置、候補位置を特定する。図１１に示す例では、ｐ１とｐ１’である。
【０１３５】
そして、観測座標系における原点Ｃの位置からｐ１、ｐ１’を終点とするベクトルを夫々ｖ１、ｖ１’として求める。このとき、求めるべき補正行列ΔＭａは、ｖ１とｖ１’とをそれぞれ単位ベクトルに変換したあと、２つの単位ベクトルの外積によって求められるベクトルｘ１（ｕｘ，ｕｙ，ｕｚ）を回転軸とし、ｖ１とｖ１’の内積によって求められる、２つのベクトルがなす角θ１によって磁気センサ２１０の出力を回転補正する補正行列となる。この補正行列ΔＭａは、実際には、観測座標系を回転補正することにより、ｐ１とｐ１’とが一致するような場合の、この回転補正のための補正行列である。
【０１３６】
補正行列ΔＭａは以下の式でもって表現される。
【０１３７】
【数４】
2005147894.tif 000006
【０１３８】
次に、ＨＭＤ位置姿勢計測部１２０より得られるＨＭＤ１００の基準座標系における位置姿勢、換言すれば、基準座標系から観測座標系への変換行列Ｍｖ（ビューイング変換行列）を取得し、ビューイング変換行列の逆行列Ｍｖ−１（観測座標系から基準座標系への変換行列）を求める（ステップＳ１０４０）。
そして、ステップＳ１０３０で求めた補正行列ΔＭａと、ステップＳ１０４０で求めた逆行列Ｍｖ−１とを積算し、更にその積算結果を位置姿勢計測部７１０から出力される、指示具２００の基準座標系における位置姿勢を表す行列Ｍｓに積算することにより、基準座標系上における指示具２００の補正後の位置姿勢Ｍａを求めることができる（ステップＳ１０５０）。
【０１３９】
行列Ｍａを求める式を以下に示す。
【０１４０】
【数５】
2005147894.tif 000007
【０１４１】
なお、以上説明した処理では、ｐ１とｐ１’とが一致するような補正行列ΔＭａを求めていたが、ｐ１やｐ１’が検出できない場合などは、ｐ０とｐ０’とを検出し、これらを用いて上記処理を同様にして補正行列ΔＭａを求める。
なお、何れのマーカも検出できない場合には、補正処理を終了し、位置姿勢計測部７１０の出力から得られた位置姿勢を最終的な位置姿勢として用いる。
【０１４２】
以上の処理により求めた、基準座標系上における指示具２００の補正後の位置姿勢Ｍａを用いて仮想物体を描画することで、仮想物体を現実空間中の意図した位置に表示させることができる。
【０１４３】
このように、この手法では、指示具２００の位置姿勢を磁気センサ２１０単体で計測するものよりも高精度に求めることができる。さらに、マーカ２２０Ｂのようにある程度大きさを要求されるようなマーカは必要ではなく、撮像画像上で撮像部１１０のノイズなどに影響されない程度の大きさ（特徴点であると認識できうる大きさ）であればよい。
【０１４４】
このように、マーカのサイズに大きな制限がないことにより、指示具２００の先端部や後端部など、手に持って操作する状態で邪魔にならない場所、且つ撮像画像に写り込みやすい場所に設置することが可能である。しかし、マーカ２２０Ａが撮像されていない場合や、磁気センサ２１０の計測範囲を大きく外れた位置で計測する場合には、指示具２００の位置姿勢を補正できないという制限がある。
【０１４５】
以上、３つの計測方法について説明した。次に、選択部１６０Ｂが計算する上記信頼度Ｗについて説明する。
【０１４６】
上述の通り、選択部１６０Ｂは、計測部１７０Ａ、計測部１７０Ｂのうち、計測方法指定部１９５により指定された方の信頼度Ｗを計算するのであるが、例えば計測方法指定部１９５により計測部１７０Ａが指定された場合、信頼度Ｗは以下の式に従って求める。
【０１４７】
Ｗ＝ｆ（Ｓ）
ｆ（Ｓ）＝０      （Ｓ＞ｔ）
＝ｔ―Ｓ  （Ｓ≦ｔ）
ここでＳは、ステップＳ１０１０で求めた、３次元空間中のマーカ２２０Ａの位置を撮像画像上に投影した座標位置と、撮像画像から検出したマーカ２２０Ａの座標位置との距離、ｔはマーカ検出時に現在の計測誤差でマーカを検出できる対応可能範囲を表す。
【０１４８】
一方、計測方法指定部１９５により計測部１７０Ｂが指定された場合、信頼度Ｗは以下の式に従って求める。
【０１４９】
Ｗ＝ｇ（ｊ）
ｇ（ｊ）＝０      （ｊ＜Ｋ））
＝ｊ      （Ｋ≦ｊ≦１）
ここでｊは撮像画像上におけるマーカ２２０Ｂの外接長方形が占める面積率、Ｋはマーカ２２０Ｂのパターンが識別可能な最低の面積率とする。
【０１５０】
選択部１６０Ｂは、このように、計測方法指定部１９５により指示された方の計測部に対する信頼度Ｗを求める。そして上述の通り、計算した信頼度Ｗに応じて、指示された方の計測部による計測結果を出力するか、計測部１７０Ｃに、自身が保持していた指示具の世界座標系における位置姿勢を出力するかを決定する。
【０１５１】
図４は、本実施形態に係るシステムの使用時の状態を説明するための図である。
【０１５２】
本実施形態では、トランスミッタ４１０から発生する磁界をレシーバとしてのスタイラス２００が受け、スタイラス２１０が接続されているFASTRAKセンサのコントローラ（不図示）によってスタイラス２１０の位置と姿勢を出力する構成を有するため、FASTRAKセンサのトランスミッタ４１０をテーブル４００Ａに、FASTRAKセンサのレシーバ（ステーション）と同等の機能をもつスタイラス２１０を指示具２００に備えている。
【０１５３】
この磁気センサ２１０（正確にはFASTRAKのコントローラ）の出力は図７に示すように、位置姿勢計測処理部１７０Ａ内部の位置姿勢計測部７１０へ入力される。また、磁場を発するトランスミッタ４００の出力範囲は有限であり、例えば４２０で示す領域内がトランスミッタ４００の出力範囲となる。
【０１５４】
また、４３０は、基準座標系を表し、本実施形態に係る指示具位置姿勢計測部１４０の出力は、この基準座標系４３０上における指示具２００の位置姿勢を表すことになる。
【０１５５】
また、ＨＭＤ１００の位置姿勢を計測するＨＭＤ位置姿勢計測部１２０には、指示具２００で使用するジャイロと加速度計と同様のものを用いるものとする。
【０１５６】
また同図において、スタイラス２１０とＨＭＤ１００は、同図矢印で示す如く移動したものとする。ここで、移動前の位置（同図Ａで示す位置近傍）は、トランスミッタ４００の出力範囲４２０内の位置であって、移動後の位置（同図Ｂで示す位置）は、トランスミッタ４００の出力範囲４２０外の位置である。すなわち、移動後の位置は、磁気センサ２１０による計測値に大幅な誤差が生じる場所を指している。
【０１５７】
ここで、ＨＭＤ１００を頭部に装着し、手に指示具２００を持っているユーザが、移動前の位置に位置する場合には、ＨＭＤ１００、指示具２００共に計測範囲４２０の内部にあるので、ユーザは手元にある計測方法指定部１９５を用いて計測部１７０Ａや計測部１７０Ｂを選択する。
【０１５８】
また、この移動前の位置において、指示具２００の位置姿勢の計測精度がより要求される作業を行う場合には、ユーザは、例えば３つの計測部の各々を直接指定するスイッチ又は、押下される毎に順次使用する計測部を巡回的に切り替えるスイッチからなる計測方法指定部１９５を用いて選択部１６０Ａ、１６０Ｂ、１６０Ｃを切り替え、より計測精度の高い計測部１７０Ａを選択する。
【０１５９】
本実施形態においては、この計測方法指定部１９５を指示具２００と共用し、指示具２００上のスイッチ２４０を押下する毎に順次使用する計測部を巡回的に切り替える方法を用いる。
【０１６０】
次に、計測部１７０Ａや計測部１７０Ｂを選択している状態で、ユーザが移動後の位置に移動した場合には、ＨＭＤ１００、指示具２００共に計測範囲４２０から出てしまうので、ユーザに提示されるＭＲ画像は、磁気センサ２１０の計測誤差に起因して、現実空間における指示具２００の位置と、指示具２００で操作しようとする仮想物体の位置とが大幅にすれることになる。そこで、ユーザは、計測方法指定部１９５を用いて計測部１７０Ｂを選択する。
【０１６１】
またこのとき、図５に示す如く、マーカ２２０Ｂが撮像画像外に位置する場合や、指示具２００の方向が撮像部１１０の撮像面に対して垂直方向に近い状態になる場合など、マーカ２２０が正常に検出し難い場合には、計測部１７０Ａや計測部１７０Ｂでは、指示具２００の位置姿勢が計測不能になる。この場合、計測方法指定部１９５により自動的に計測部１７０Ｃが選択され、指示具２００の位置姿勢計測を続行することができる。この場合、当然、ユーザが明示的に計測方法指定部１９５を操作して計測部１７０Ｃを選択することも可能である。
【０１６２】
この状態で再度、マーカ２２０Ｂが検出できる状態になれば、ユーザは計測部１７０Ａ、計測部１７０Ｂの何れかを選択することができる。また、選択部１６０Ｂが計測部１７０Ａ、計測部１７０Ｂの夫々について信頼度を常に求め、求めた夫々の信頼度Ｗのうち、閾値Ｗｔを越えた方の計測部を計測方法指定部１９５が指示するように設定しても良い。
【０１６３】
また、以上説明した計測方法指定部１９５を用いた計測方法の指示は、ユーザ以外にも、計測装置３００を操作する操作者がキーボード１７０４やマウス１７０５を用いて行うようにしても良い。
【０１６４】
また、計測範囲４２０内において、金属物体（不図示）の３次元頂点位置などに指示具２００を近づける場合には、計測部１７０Ａを選択していると、磁気センサ２１０による計測結果に語差が生じるため、ユーザは磁気センサ２１０を用いない計測方法に適宜切り替えるようにすれば良い。
【０１６５】
図６は、以上説明した指示具位置姿勢計測部１４０、及び仮想空間の融合描画部１９０が行う処理のフローチャートである。
【０１６６】
先ず、撮像部１１０により撮像された現実空間の画像（撮像画像）を入力する（ステップ６００）。次に、計測方法指定部１９５により、計測部１７０Ａが指示されているか否かを判断する（ステップＳ６１０）。計測部１７０Ａが指示されている場合には、処理をステップＳ６３０に進め、選択部１６０Ａは入力された撮像画像を計測部１７０Ａに入力し、計測部１７０Ａは以上説明した（方法３）に従った計測処理を実行し（ステップＳ６３０）、選択部１６０Ｂは、この実行結果を用いて、上記信頼度Ｗを計算する（ステップＳ６４０）。なお、ステップＳ６３０における処理の詳細は、図１０に示したフローチャートを用いて説明したとおりである。
【０１６７】
そしてＷ＞Ｗｔである場合（ステップＳ６４０）、処理をステップＳ６８０に進める。一方、Ｗ≦Ｗｔである場合（ステップＳ６４０）、処理をステップＳ６７０に進め、選択部１６０Ｂは、過去の指示具２００の基準座標系における位置姿勢を計測部１７０Ｃに出力し、計測部１７０Ｃは以上説明した（方法２）に従った計測処理を実行する（ステップＳ６７０）。なお、ステップＳ６７０における処理の詳細は、図１３に示したフローチャートを用いて説明したとおりである。
【０１６８】
ステップＳ６７０における処理が完了すると、処理をステップＳ６８０に進める。
【０１６９】
一方、ステップＳ６１０において、計測方法指定部１９５により、計測部１７０Ａではなく、計測部１７０Ｂが指示されていると判断された場合、処理をステップＳ６１０からステップＳ６２０を介してステップＳ６５０に進め、選択部１６０Ａは入力された撮像画像を計測部１７０Ｂに入力し、計測部１７０Ｂは以上説明した（方法１）に従った計測処理を実行し（ステップＳ６５０）、選択部１６０Ｂは、この実行結果を用いて、上記信頼度Ｗを計算する（ステップＳ６６０）。なお、ステップＳ６５０における処理の詳細は、図１２に示したフローチャートを用いて説明したとおりである。
【０１７０】
そしてＷ＞Ｗｔである場合（ステップＳ６６０）、処理をステップＳ６８０に進める。一方、Ｗ≦Ｗｔである場合（ステップＳ６６０）、処理をステップＳ６７０に進める。ステップＳ６７０における処理の詳細については上述の通りである。
【０１７１】
また、ステップＳ６１０において、計測方法指定部１９５により、計測部１７０Ａではなく、計測部１７０Ｃが指示されていると判断された場合、処理をステップＳ６１０からステップＳ６２０を介してステップＳ６７０に進める。ステップＳ６７０における処理の詳細については上述の通りである。
【０１７２】
そして、ステップＳ６８０では、計測部１７０Ａ、１７０Ｂ、１７０Ｃの何れかによって求められた、指示具２００の世界座標系における位置姿勢を示す情報を仮想空間の融合描画部１９０に出力する。
【０１７３】
そして仮想空間の融合描画部１９０は、計測部１７０Ａ、１７０Ｂ、１７０Ｃの何れかによって求められた、指示具２００の世界座標系における位置姿勢を示す情報を用いて、撮像部１１０の位置から見える仮想空間の画像を生成し、生成した画像を撮像部１１０が撮像した現実空間の画像と合成し、ＭＲ画像としてＨＭＤ１００の表示部１３０に出力する（ステップＳ６９０）。
【０１７４】
以上の説明により、本実施形態によって、指示具２００がトランスミッタ４００の出力範囲内に存在するか否か、磁気センサ２１０による計測結果に誤差を多く与える要因が発生しているかなどの、「指示具２００の周囲環境」に応じて、指示具２００の世界座標系における位置姿勢を計測する方法を適宜好適な方法に切り替えることができ、これにより、より正確に指示具２００の世界座標系における位置姿勢を求めることができ、指示具２００の周辺環境が上記のような様々なものに変化しても、精度良く、且つ、ユーザの好みに応じて指示具２００の世界座標系における位置姿勢を計測することができる。
【０１７５】
またこれにより、従来よりも広い範囲で指示具２００の位置姿勢を高精度に計測可能となり、結果として、広範囲なＭＲ空間での正確なインタラクションを体験者に実行させることができる。
【０１７６】
また、撮像画像を用いた計測方法については信頼度を求め、これにより、より好適な計測方法に切り替えているので、より精度の良い計測結果が得られることになる。
【０１７７】
なお、本実施形態では、以上説明した３つの計測方法のうち使用する計測方法を動的に１つ選択していたが、動的に選択する為の選択肢は上記３つに限定されるものではなく、これ以上もしくは以下の数であっても良いし、計測方法の内容は上記方法に限定されるものではない。
【０１７８】
また、本実施形態で用いたマーカの色や形状などの種別は特に限定するものではないが、例えば色に関しては、周囲環境を鑑みて、マーカが検出しやすいよう、周囲の色と同じような色は用いないように配慮することが好ましい。
【０１７９】
また、この「マーカ」の文言の意味するところは、人工的に設けたもの以外を含みうるものであり、例えば指示具２００の先端のとがった部分や、スイッチ部分などの特徴点を含み得るものである。
【０１８０】
また、本実施形態では、図１，２に示した機能構成はプログラムにより実装していたが、これに限定するものではなく、図１，２に示した各部のうち全部、もしくはその一部を専用のハードウェアにより実現させても良い。
【０１８１】
また、本実施形態で用いた信頼度を計算する方法は以上説明した方法に限定されるものではなく、夫々の計測方法を評価するための様々な評価量を適用することができる。
【０１８２】
［第２の実施形態］
第１の実施形態では、計測部１７０Ａ、１７０Ｂ、１７０Ｃのうち１つをユーザが計測方法指定部１９５を用いて指示していた。本実施形態では、磁気センサ２１０の位置情報や撮像画像内に撮像されているマーカの情報等、各計測方法（計測部１７０Ａ、１７０Ｂ、１７０Ｃの夫々による計測方法）に応じた評価量に応じて使用する計測部を自動的に切り替える。本実施形態に係る計測装置は、図１に示した機能構成において、指示具位置姿勢計測部１４０における機能構成が第１の実施形態とは若干異なる。
【０１８３】
図１４は、本実施形態に係る指示具位置姿勢計測部１４１の機能構成を示すブロック図である。同図において、図２と同じ部分については同じ番号を付けており、その説明を省略する。
【０１８４】
選択部１６０Ａ’、１６０Ｂ’夫々は、計測部１７０Ａ、計測部１７０Ｂ夫々を用いて最適な計測部が計測部１７０Ａ、計測部１７０Ｂ、計測部１７０Ｃの何れであるかを決める。決めれば、その決まった計測部を指示するよう計測方法指定部１９５に指示し、計測方法指定部１９５は、この指示に基づいて選択部１６０Ａ’、１６０Ｂ’、１６０Ｃ’を制御し、使用する計測部を選択する。
【０１８５】
図１５は、指示具位置姿勢計測部１４１により行われる、使用する計測部を選択するための処理のフローチャートである。
【０１８６】
先ず、選択部１６０Ａ’は、計測部１７０Ｂを選択して撮像画像の取得部１５０からの撮像画像を計測部１７０Ｂに供給し、計測部１７０Ｂによる計測処理を行わせ、計測部１７０Ｂが撮像画像からのマーカ２２０Ｂの検出に成功したか否か、換言すれば、マーカ２２０Ｂが撮像されているか否か、を判断する（ステップＳ１５００）。より具体的には、四角マーカ検出部８１０が行った処理と同様の処理、すなわち、ステップＳ１２００からステップＳ１２２０までの処理を行い、例えば４つの交点座標が求まった場合には、マーカ２２０Ｂの検出に成功したと判断し、求まった交点の数が４つ未満以下の場合には失敗したと判断する。
【０１８７】
そして撮影されていると判断した場合には処理をステップＳ１５１０に進め、選択部１６０Ａ’は、計測部１７０Ｂを選択する旨を計測方法指定部１９５に指示し、計測方法指定部１９５はこの指示に従って、計測部１７０Ｂにより求めた指示具２００の基準座標系における位置姿勢を仮想空間融合描画部１９０に出力するよう、選択部１７０Ｂ、選択部１７０Ｃを制御する（ステップＳ１５１０）。
【０１８８】
一方、マーカ２２０Ｂが撮影されていないと判断した場合には、処理をステップＳ１５２０に進め、選択部１６０Ａ’は、計測部１７０Ａを選択して撮像画像の取得部１５０からの撮像画像を計測部１７０Ａに供給し、計測部１７０Ａによる計測処理を行わせ、磁気センサ２１０により得られたセンサ座標系における指示具２００の位置が、トランスミッタ４００の位置から所定距離以内にあるか否か、すなわち、磁気センサ２１０がトランスミッタ４００の出力範囲内にあるか否かを判断する（ステップＳ１５２０）。この所定の距離については予め計測部１７０Ａが保持しているものとする。
【０１８９】
そして磁気センサ２１０により得られたセンサ座標系における指示具２００の位置が、トランスミッタ４００の位置から所定距離以内にある場合には、処理をステップＳ１５３０に進め、選択部１６０Ｂ’は、計測部１７０Ａを選択する旨を計測方法指定部１９５に指示し、計測方法指定部１９５はこの指示に従って、計測部１７０Ａにより求めた指示具２００の基準座標系における位置姿勢を仮想空間融合描画部１９０に出力するよう、選択部１７０Ｂ、選択部１７０Ｃを制御する（ステップＳ１５３０）。
【０１９０】
一方、磁気センサ２１０により得られたセンサ座標系における指示具２００の位置が、トランスミッタ４００の位置から所定距離以内にはない場合には、処理をステップＳ１５４０に進め、選択部１６０Ａ’は、計測部１７０Ｃを選択する旨を計測方法指定部１９５に指示し、計測方法指定部１９５はこの指示に従って、計測部１７０Ｃにより求めた指示具２００の基準座標系における位置姿勢を仮想空間融合描画部１９０に出力するよう、選択部１７０Ｂ、選択部１７０Ｃを制御する（ステップＳ１５４０）。
【０１９１】
そして計測誤差が許容範囲内ではない場合には（ステップＳ１５５０）、処理をステップＳ１５００に戻し、以降の処理を繰り返す。例えば計測部１７０Ａが指示された場合には、ステップＳ１５５０では、ステップＳ１０１０で求めた、３次元空間中のマーカ２２０Ａの位置を撮像画像上に投影した座標位置と、撮像画像から検出したマーカ２２０Ａの座標位置との距離Ｓが許容範囲内か否かを判断する。
【０１９２】
また計測部１７０Ｂが指示された場合には、撮像画像上におけるマーカ２２０Ｂの外接長方形が占める面積率が所定値以上であるか否か（ただし、外接長方形の４頂点すべてが撮像画面上に存在すること）を判断する（所定値以上である場合には許容範囲内とする）。
【０１９３】
また計測部１７０Ｃが指示された場合には、計測開始時からの経過時間が所定時間以上であるか否かを判断する。
【０１９４】
以上の処理により、自動的に使用すべき計測部を選択することができる。
【０１９５】
なお、ステップＳ１５００、ステップＳ１５２０における判定処理では夫々、計測部１７０Ｂ、計測部１７０Ａに対する信頼度Ｗと計測部に応じた閾値Ｗｔとの比較を行い、閾値以上である場合には、夫々のステップで「ｙｅｓ」の処理に進むようにしても良い。
【０１９６】
このような自動選択処理を行うことにより、図４において出力範囲４２０内でマーカ２２０Ｂが検出できていない場合は、画像のみでは指示具２００の基準座標系における位置姿勢の計測は行えないものと判断し、位置姿勢計測処理部１７０Ａが自動的に選択される。
【０１９７】
さらに、計測範囲４２０の外に出る場合、計測誤差が増加するので、計測誤差が既定の閾値を越えたときに、選択処理が実行され、撮像部１１０がマーカ２２０Ｂを検出できる場合は、最終的に位置姿計測定部１７０Ｂを選択する。もし、検出できない場合は位置姿勢計測部１７０Ｃを選択する。
【０１９８】
この自動切り替えを行う条件としては、計測誤差が所定値を超えた場合に限るものではなく、ＭＲ画像における、現実空間と仮想物体の位置のずれがなるべく最小になるように判定できるものであれば適応可能である。
【０１９９】
このように本実施形態によれば、各計測方法が実行可能であるか否か（計測誤差が多分に生じうる状況も含む）に応じて自動的に使用する計測方法を適宜変更することができる。
【０２００】
［第３の実施形態］
上記第１の実施形態、第２の実施形態では、計測方法指定部１９５によって選択部１６０Ａ、１６０Ｂ、１６０Ｃを制御し、計測部１７０Ａ〜１７０Ｃのうち、どれか一つを選んで指示具２００の基準座標系における位置姿勢の計測処理を行っていた。本実施形態では、１つの計測部を利用するのではなく、計測部１７０Ａ、１７０Ｂ、１７０Ｃの３つの計測部夫々の計測処理を行い、各計測部１７０Ａ〜１７０Ｃの計測処理結果に基づき、１つの計測処理結果の選出、または３つの計測処理結果からの合成を行い、最適な指示部２００の基準座標系における位置姿勢を求める。
【０２０１】
本実施形態に係る計測装置は、図１に示した機能構成において、指示具位置姿勢計測部１４０における機能構成が第１の実施形態とは若干異なる。
【０２０２】
図１６は、本実施形態に係る指示具位置姿勢計測部１４２の機能構成を示すブロック図である。同図において、図２と同じ部分については同じ番号を付けており、その説明を省略する。
【０２０３】
撮像画像の取得部１５０から入力される撮像画像は、計測部１７０Ａ、１７０Ｂの両方に同時に入力され、計測部１７０Ａ、１７０Ｂは夫々、（方法３）、（方法１）に従った上記計測処理を行う。選択部１６０Ｄは、選択部１６０Ｂと同様に、計測部１７０Ａ、１７０Ｂの夫々について、信頼度Ｗを求め、夫々の計測部に応じた閾値Ｗｔと比較し、計測部１７０Ａに対する信頼度Ｗのみが閾値Ｗｔを越えた場合は、計測部１７０Ａが求めた「指示具２００の基準座標系における位置姿勢」を計測部１７０Ｃに出力し、計測部１７０Ｂに対する信頼度Ｗのみが閾値Ｗｔを越えた場合は、計測部１７０Ｂが求めた「指示具２００の基準座標系における位置姿勢」を計測部１７０Ｃに出力する。
【０２０４】
また、計測部１７０Ａに対する信頼度Ｗ、計測部１７０Ｂに対する信頼度Ｗ共に閾値Ｗｔを超えている場合には、計測部１７０Ｂが求めた「指示具２００の基準座標系における位置姿勢」を計測部１７０Ｃに出力する。
【０２０５】
また、計測部１７０Ａに対する信頼度Ｗ、計測部１７０Ｂに対する信頼度Ｗのいずれも閾値Ｗｔを越えていない場合には、選択部１６０Ｄが保持しておいた、ジャイロ２３０Ａと加速度計２３０Ｂを利用する以外の方法（すなわち（方法２）以外の方法に係る計測方法）で計測した過去の位置姿勢を計測部１７０Ｃに出力する。
【０２０６】
計測部１７０Ｃはこのようにして得られた位置姿勢を用いて、上記（方法２）に従った計測法法でもって、指示具２００の基準座標系における位置姿勢を求める。
【０２０７】
そして、各計測部による処理が完了すると、各計測部による計測処理結果に指示部２００の計測結果信頼度Ｗｉを設定し、Ｗｉによる計測結果の重み付け平均を算出する。
【０２０８】
Ｔｄ＝Ｗ１・Ｔａ＋Ｗ２・Ｔｂ＋Ｗ３・Ｔｃ
Ｒｄ＝Ｗ１・Ｒａ＋Ｗ２・Ｒｂ＋Ｗ３・Ｒｃ
Ａｄ＝Ｗ１・Ａａ＋Ｗ２・Ａｂ＋Ｗ３・Ａｃ
但し、Ｗ１＋Ｗ２＋Ｗ３＝１である。
【０２０９】
Ｔａ、Ｔｂ、Ｔｃはそれぞれ、位置姿勢計測処理部１７０Ａ〜１７０Ｃが出力する計測処理結果である指示部２００の位置姿勢Ｍａ、Ｍｂ、Ｍｃの位置を表すベクトルである。Ｒａ、Ｒｂ、Ｒｃはそれぞれ、位置姿勢計測処理部１７０Ａ〜１７０Ｃが出力する計測処理結果である指示部２００の位置姿勢Ｍａ、Ｍｂ、Ｍｃの姿勢を表す回転変換の軸を表すベクトルである。Ａａ、Ａｂ、Ａｃはそれぞれ、位置姿勢計測処理部１７０Ａ〜１７０Ｃが出力する計測処理結果である指示部２００の姿勢を表す回転変換の回転角を表すスカラー値である。
【０２１０】
位置姿勢を示す行列から回転角と回転軸を求める方法について説明する。例えば、位置姿勢Ｍａを以下のように定義すると、
【０２１１】
【数６】
2005147894.tif 000008
【０２１２】
この場合、以下の式を用いて回転角Ａａを求める。
【０２１３】
【数７】
2005147894.tif 000009
【０２１４】
さらに、回転軸ベクトルＲａ（ｕ１，ｕ２，ｕ３）は、以下の式で求める。
【０２１５】
【数８】
2005147894.tif 000010
【０２１６】
そして、ＲｄとＡｄから回転変換行列を生成し、またＴｄから平行移動変換行列を生成し、それらを積算して合成後の指示部２００の位置姿勢を表す行列Ｍｄを求める。
各計測部１７０Ａ〜１７０Ｃに対する計測結果信頼度Ｗ１、Ｗ２、Ｗ３の設定方法の一例について説明する。
【０２１７】
まず、ｒ１には、計測部１７０Ａに対する信頼度、ｒ２には、計測部１７０Ｂに対する信頼度を設定する。
【０２１８】
また、ｒ３については以下の式に従って設定する。
【０２１９】
ｒ３＝ｈ（ｕ）
ｈ（ｕ）＝ｕ  （ｕ≦Ｕ）
＝０  （Ｕ≦ｕ）
ｕは計測開示時からの経過時間、Ｕはジャイロのドリフト発生量に関する係数と加速度計の積分誤差の増加量に関する係数を掛け合わせた定数を表す。これら係数は使用するジャイロや加速度計の製品によって決定される。
【０２２０】
そしてｒ１，ｒ２，ｒ３の比率を夫々Ｗ１、Ｗ２、Ｗ３とする。このようにしてＷ１，Ｗ２，Ｗ３を求めることができる。なお、各計測部１７０Ａ〜１７０Ｃに対する重み付けは前述の設定方法に限るものではなく、各計測部１７０Ａ〜１７０Ｃで行われる計測処理の内容や、適用条件等を考慮して任意に設定することができる。
【０２２１】
［その他の実施形態］
上述の第１の実施形態においては、計測部１７０Ａ〜１７０Ｃから１つを選択して用いる場合のみ説明したが、計測方法指定部１９５によって複数の計測部を選択し、第２の実施形態及び第３の実施形態における選択処理の候補となる計測部を指定するように構成することも可能である。
【０２２２】
上述の実施形態においては、１つの機器から構成される指示部位置姿勢計測装置についてのみ説明したが、以上説明した指示部位置姿勢計測装置と同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【０２２３】
尚、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態で説明したフローチャートに対応したプログラム）を、記録媒体から直接、或いは有線／無線通信を用いてこのプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【０２２４】
従って、本発明の機能処理をコンピュータで実現するために、このコンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【０２２５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２２６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０２２７】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【０２２８】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【０２２９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２３０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２３１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２３２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０２３３】
【図１】本発明の第１の実施形態に係る計測装置を適用したシステムの機能構成を示すブロック図である。
【図２】指示具位置姿勢計測部１４０の機能構成を示すブロック図である。
【図３】指示具２００の外観例を示す図である。
【図４】本発明の第１の実施形態に係るシステムの使用時の状態を説明するための図である。
【図５】マーカ２２０Ｂが撮像画像外に位置する場合や、指示具２００の方向が撮像部１１０の撮像面に対して垂直方向に近い状態になる場合など、マーカ２２０が正常に検出し難い場合を説明するための図である。
【図６】指示具位置姿勢計測部１４０、及び仮想空間の融合描画部１９０が行う処理のフローチャートである。
【図７】（方法３）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ａの機能構成を示すブロック図である。
【図８】（方法１）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ｂの機能構成を示すブロック図である。
【図９】（方法２）に従って指示具２００の基準座標系における位置姿勢を計測する計測部１７０Ｃの機能構成を示すブロック図である。
【図１０】計測部１７０Ａを構成する位置姿勢補正部７３０による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【図１１】予測値と候補位置とのずれを説明する図である。
【図１２】計測部１７０Ｂを構成する四角マーカ検出部８１０、位置姿勢推定部８２０、位置姿勢変換部８３０の各部による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【図１３】計測部１７０Ｃを構成する姿勢計測部９１０、位置計測部９２０、位置姿勢変換部９３０の各部による、指示具２００の基準座標系における位置姿勢を求めるための処理のフローチャートである。
【図１４】本発明の第２の実施形態に係る指示具位置姿勢計測部１４１の機能構成を示すブロック図である。
【図１５】指示具位置姿勢計測部１４１により行われる、使用する計測部を選択するための処理のフローチャートである。
【図１６】本発明の第３の実施形態に係る指示具位置姿勢計測部１４２の機能構成を示すブロック図である。
【図１７】計測装置３００として機能するコンピュータの基本構成を示す図である。
【図１】
2005147894.tif 000011
【図２】
2005147894.tif 000012
【図３】
2005147894.tif 000013
【図４】
2005147894.tif 000014
【図５】
2005147894.tif 000015
【図６】
2005147894.tif 000016
【図７】
2005147894.tif 000017
【図８】
2005147894.tif 000018
【図９】
2005147894.tif 000019
【図１０】
2005147894.tif 000020
【図１１】
2005147894.tif 000021
【図１２】
2005147894.tif 000022
【図１３】
2005147894.tif 000023
【図１４】
2005147894.tif 000024
【図１５】
2005147894.tif 000025
【図１６】
2005147894.tif 000026
【図１７】
2005147894.tif 000027