(57)【要約】【課題】  撮像装置の位置および姿勢を算出する段階において、その算出に利用する指標を移動可能とする。【解決手段】  現実空間に配置された指標の位置または位置および姿勢に関する配置情報を検出する指標配置情報検出工程と、現実空間の撮影画像を取得する撮影画像取得工程と、記撮影画像から指標を検出する指標検出工程と、前記配置情報と前記指標の検出結果とに応じて、前記撮影画像の撮影視点の位置および／または姿勢を算出する算出工程とを有する。【選択図】  図１
2006099188.tif 000002
【特許請求の範囲】
【請求項１】
現実空間に配置された指標の位置または位置および姿勢に関する配置情報を検出する指標配置情報検出工程と、
現実空間の撮影画像を取得する撮影画像取得工程と、
前記撮影画像から指標を検出する指標検出工程と、
前記配置情報と前記指標の検出結果とに応じて、前記撮影画像の撮影視点の位置および／または姿勢を算出する算出工程とを有することを特徴とする情報処理方法。
【請求項２】
前記配置情報は世界座標系における位置または位置および姿勢情報であり、
前記算出工程は、該世界座標系における位置および／または姿勢を算出することを特徴とする請求項１記載の情報処理方法。
【請求項３】
前記指標配置情報検出工程は、世界座標系における位置および姿勢が既知である撮影部によって撮影された撮影画像から、前記配置情報を算出することを特徴とする請求項１または２記載の情報処理方法。
【請求項４】
前記指標配置情報検出工程は、前記指標の位置または位置および姿勢を計測する指標配置計測部の出力に基づき検出することを特徴とする請求項１または２記載の情報処理方法。
【請求項５】
前記指標は、現実空間における位置または位置および姿勢が可変であることを特徴とする請求項１乃至４のいずれかに記載の情報処理方法。
【請求項６】
現実空間に指標を投影せさる工程と、
前記投影された指標の位置または位置および姿勢に関する配置情報を取得する指標配置情報検出工程と、
現実空間を撮影画像を取得する撮影画像取得工程と、
前記撮影画像から指標を検出する指標検出工程と、
前記配置情報と前記指標の検出結果とに応じて、前記撮影画像の撮影視点の位置および／または姿勢を算出する算出工程とを有することを特徴とする情報処理方法。
【請求項７】
前記指標の投影条件を変更する変更工程を有することを特徴とする請求項６記載の情報処理方法。
【請求項８】
請求項１乃至７の何れかに記載の情報処理方法を実行するプログラム。
【請求項９】
請求項８に記載のプログラムを格納する記憶媒体。
【請求項１０】
現実空間を撮影する撮影手段と、
前記撮影手段が撮影する現実空間画像中に写る指標を検出する指標検出手段と、
前記指標の現実空間における位置または位置および姿勢に関する配置情報を検出する指標配置情報検出手段と、
前記配置情報から前記指標の現実空間における位置または位置および姿勢を算出する指標配置算出手段と、
前記指標検出手段の検出結果と前記指標配置算出手段の算出結果とを用いて前記撮像手段の撮影視点の現実空間中における位置および／または姿勢を算出する視点位置姿勢算出手段とを備えることを特徴とする情報処理装置。
【請求項１１】
前記指標配置情報検出手段が第２の撮影手段を有し、
前記指標検出手段は、前記第２の撮影手段によって撮影された撮影画像から前記指標の配置情報を検出することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記第２の撮影手段が、複数の撮像手段からなることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記第２の撮影手段が、現実空間中に固定されていることを特徴とする請求項１１または１２に記載の情報処理装置。
【請求項１４】
前記指標配置情報検出手段が、前記指標の位置または位置および姿勢を計測する指標配置計測手段を有することを特徴とする請求項１０に記載の情報処理装置。
【請求項１５】
前記指標が現実物体であって、現実空間における位置または位置および姿勢が可変であることを特徴とする請求項１０乃至１４のいずれかに記載の情報処理装置。
【請求項１６】
前記指標が現実空間において自律的に移動可能であることを特徴とする請求項１０乃至１５に記載の情報処理装置。
【請求項１７】
現実空間を撮影する撮影手段と、
前記撮影手段が撮影する現実空間画像中に写る指標を検出する指標検出手段と、
前記指標の現実空間における位置または位置および姿勢に関する配置情報を保持するとともに前記指標の画像を生成する指標画像生成手段と、
前記配置情報が示す位置または位置および姿勢に前記指標の画像を投影する指標投影手段および／または前記配置情報が示す位置または位置および姿勢に前記指標の画像を表示する指標表示手段と、
前記指標検出手段の検出結果と前記指標画像生成手段が保持する前記配置情報とを用いて前記撮像手段の撮影視点の現実空間中における位置および／または姿勢を算出する視点位置姿勢算出手段とを備えることを特徴とする情報処理装置。
【請求項１８】
外部からの入力に基づいて前記指標画像生成手段が保持する前記指標の現実空間における位置または位置および姿勢に関する配置情報を変更する指標配置情報入力手段をさらに備えることを特徴とする請求項１７に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間中に配置された指標の撮影画像中における画像座標に関する情報を利用して撮影視点の位置および／または姿勢を算出するものに関する。
【背景技術】
【０００２】
近年、現実空間と仮想空間の繋ぎ目のない結合を目的とした、複合現実感に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラなどの撮像装置によって撮影された現実空間の画像に、（撮像装置の）撮影視点の位置および姿勢に応じて生成した仮想空間（たとえばコンピュータ・グラフィックスにより描画された仮想物体や文字情報など）の画像を重畳描画してそれを表示するビデオシースルー方式によって実現される。
【０００３】
このような画像表示装置の応用としては、患者の体表面に体内の様子を重畳表示する手術支援や、現実空間に浮遊する仮想の敵と戦う複合現実感ゲームなど、今までのバーチャルリアリティとは異なった新たな分野が期待されている。
【０００４】
これらの応用に対して共通に要求されるのは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。複合現実感における位置合わせの問題は、現実空間中における、すなわち、世界座標系（現実空間の１点を原点として定義し、更に互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系）における撮像視点の位置および姿勢を算出する問題に帰結される。
【０００５】
この問題を解決する方法として、現実空間中に複数の指標を配置し、その指標の世界座標系における座標と、撮像装置が撮像した画像内における指標の投影像の座標とを利用して、現実空間中における撮影視点の位置および姿勢を算出することが一般的に行われている。その算出方法は、例えば写真測量等の分野において古くから提案されている（非特許文献１、非特許文献２を参照）。
【０００６】
ところで、上記の方法においては、当然ながら指標の世界座標系における正確な座標値が既知でなければならない。すなわち、何らかの方法で指標の世界座標系における正確な座標値を計測（キャリブレーション）しなければならない。そこで一般にこの座標値は、撮影視点の位置および姿勢を算出する前段階において、定規や測量器などを利用して実測されたり、非特許文献３などに開示されているようなキャリブレーションツールによって事前に計測されたりしている。
【非特許文献１】Ｒ．Ｍ．Ｈａｒａｌｉｃｋ，Ｃ．Ｌｅｅ，Ｋ．Ｏｔｔｅｎｂｅｒｇ，ａｎｄ  Ｍ．Ｎｏｌｌｅ：Ｒｅｖｉｅｗ  ａｎｄ  ａｎａｌｙｓｉｓ  ｏｆ  ｓｏｌｕｔｉｏｎｓ  ｏｆ  ｔｈｅ  ｔｈｒｅｅ  ｐｏｉｎｔ  ｐｅｒｓｐｅｃｔｉｖｅ  ｐｏｓｅ  ｅｓｔｉｍａｔｉｏｎ  ｐｒｏｂｌｅｍ，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，ｖｏｌ．１３，ｎｏ．３，ｐｐ．３３１−３５６，１９９４．
【非特許文献２】Ｄ．Ｇ．Ｌｏｗｅ：Ｆｉｔｔｉｎｇ  ｐａｒａｍｅｔｅｒｉｚｅｄ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｍｏｄｅｌｓ  ｔｏ  ｉｍａｇｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＰＡＭＩ，ｖｏｌ．１３，ｎｏ．５，ｐｐ．４４１−４５０，１９９１．
【非特許文献３】Ｇ．Ｂａｒａｔｏｆｆ，Ａ．Ｎｅｕｂｅｃｋ，ａｎｄ  Ｈ．Ｒｅｇｅｎｂｒｅｃｈｔ：Ｉｎｔｅｒａｃｔｉｖｅ  ｍｕｌｔｉ−ｍａｒｋｅｒ  ｃａｌｉｂｒａｔｉｏｎ  ｆｏｒ  ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ  ａｐｐｌｉｃａｔｉｏｎｓ，Ｐｒｏｃ．ＩＳＭＡＲ２００２，ｐｐ．１０７−１１６，２００２．
【非特許文献４】岸野泰恵，塚本昌彦，坂根裕，西尾章治郎：“コンピュータディスプレイ上の自律移動型の半透明ビジュアルマーカ，”情報処理学会シンポジウムシリーズ（インタラクション２００２），Ｖｏｌ．２００２，Ｎｏ．７，ｐｐ．１４−２１，Ｍａｒ．２００２．
【非特許文献５】高橋，石井，牧野，中静：ＶＲインタフェースのための単眼による長方形マーカ位置・姿勢の高精度実時間推定法，３次元画像コンファレンス９６公演論文集，ｐｐ．１６７−１７２，Ｊｕｌｙ  １９９６．
【非特許文献６】暦本純一：２次元マトリックスコードを利用した拡張現実感システムの構成手法，インタラクティブシステムとソフトウェアＩＶ，近代科学社，ｐｐ．１９９−２０８，Ｄｅｃ．１９９６．
【非特許文献７】Ａｌｔｅｒｎａｔｉｖｅ  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ  Ａｐｐｒｏａｃｈｅｓ：Ｃｏｎｃｅｐｔｓ，Ｔｅｃｈｎｉｑｕｅｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，ＥＵＲＯＧＲＡＰＨＩＣＳ  ２００３，Ｇｒａｎａｄａ  Ｓｐａｉｎ
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このキャリブレーションは撮影視点の位置および姿勢算出の前段階に行われるために、撮影視点の位置および姿勢を算出する段階においては、指標を動かしてはならないという問題があった。
【０００８】
現実空間中には指標以外のもの（例えばユーザの手やユーザが操作する物体など）も存在し、それらの位置は当然変わりうるので、場合によってはそれらが現実空間中に配置された指標と撮影視点の間を遮り、撮影視点の位置および姿勢の算出に支障を与えることもある。そのような場合には、何らかの物体に遮られ隠れてしまった指標を動かしたいといった要求が、少なからず存在している。
【０００９】
この問題を解決するために、移動可能な指標が提案されている。例えば非特許文献４においては、コンピュータディスプレイ上に表示され、自律的に移動する指標を実現する方法が開示されている。しかしここに開示されている技術では、指標を移動可能にするのみであり、移動後の指標の世界座標系における位置は得ることはできなかった。そのため、撮影視点の世界座標系における位置および姿勢を算出する目的には利用できなかった。
【００１０】
そこで、本発明は以上の問題を鑑みてなされたものであり、撮影画像の撮影視点の位置および／または姿勢を算出する際に使用する指標が移動したとしても、撮影画像の撮影視点の位置および／または姿勢を良好に算出できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、現実空間に配置された指標の位置または位置および姿勢に関する配置情報を検出する指標配置情報検出工程と、現実空間の撮影画像を取得する撮影画像取得工程と、前記撮影画像から指標を検出する指標検出工程と、前記配置情報と前記指標の検出結果とに応じて、前記撮影画像の撮影視点の位置および／または姿勢を算出する算出工程とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、撮影視点の位置および姿勢を算出する段階においても、その算出に利用する指標を移動可能とすることができる。さらには、撮影画像の撮影視点の位置および／または姿勢を算出する際に使用する指標が移動したとしても撮影視点の位置および／または姿勢を良好に算出できる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施例について詳細に説明する。
【００１４】
〔第１の実施例〕
本実施例では、天井等に設置された客観視点カメラによる撮影画像を利用して、現実空間中の指標の位置または位置および姿勢を算出する。以下、本実施例に係る位置姿勢算出装置および位置姿勢算出方法を用いて、ユーザに複合現実感を提示するシステムについて説明する。
【００１５】
図１は、本実施例に係る位置姿勢算出装置の概略構成を示す図である。図１に示したように、本実施例に係る位置姿勢算出装置は、主観視点カメラ１００、客観視点カメラ群１１０、指標検出部１２０、指標位置算出部１３０、視点位置姿勢算出部１４０、仮想画像生成部１５０、画像合成部１６０、画像表示部１７０によって構成されている。
【００１６】
現実空間中の複数の位置には、主観視点カメラ１００および客観視点カメラ群１１０によって撮影される、世界座標系における位置が未知である複数個の指標が配置されている。
【００１７】
指標は、例えば、それぞれが異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する特徴点によって構成してもよい。また、ある程度の面積を有する四角形の単色領域によって形成されるような四角形指標を用いることも可能である。撮影画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが識別可能であるような指標であれば、何れの形態であってもよい。
【００１８】
これらの指標は、ユーザが手にとって移動させることが可能である。また、個々の指標を自律移動が可能な小型装置に取り付けて、ユーザの操作によらずに移動させても良い。ただしこれらの指標は、主観視点カメラ１００によって、少なくとも３個以上の点指標、もしくは、１個以上の多角形指標が常に観測されるように設置されていることが望ましい。図１の例は、４個の点指標Ｑ１，Ｑ２，Ｑ３，Ｑ４と１個の四角形指標Ｒ１が配置されており、そのうちのＱ１，Ｑ３，Ｑ４，Ｒ１が撮像装置１００の視野内に含まれている状況を示している。
【００１９】
主観視点カメラ１００は指標が配置されている現実空間を撮影する。この主観視点カメラ１００の撮影視点は移動可能であり、その視点の位置および／または姿勢が本実施例に係る位置姿勢算出装置の算出対象である。主観視点カメラ１００が撮影した画像（以下、これを主観視点画像と呼ぶ）は、指標検出部１２０および画像合成部１６０に入力される。
【００２０】
客観視点カメラ群１１０も主観視点カメラ同様に指標が配置されている現実空間を撮影する。この客観視点カメラ群１１０は天井等にその位置姿勢が固定され、その撮影視点の世界座標系における位置および姿勢が予め既知である。客観視点カメラ「群」と呼ぶように、この客観視点カメラ群１１０は基本的に複数台のカメラによって構成される。これは指標位置算出部１３０で後述するように、客観視点カメラ群と指標の相対的位置関係を三角法によって算出するためである。ただし、場合によっては１台のカメラのみによって構成されていても良い。その場合に関しても、指標位置算出部１３０の説明にて後述する。客観視点カメラ群１１０が撮影した画像群（以下、これを客観視点画像群と呼ぶ）は、指標位置算出部１３０に入力される。
【００２１】
指標検出部１２０は、主観視点カメラ１００より主観視点画像を入力し、主観視点画像中に写る指標の画像座標を検出する。例えば、指標の各々が異なる色を有するマーカによって構成されている場合には、主観視点画像上から各々のマーカ色に対応する領域を検出し、その重心位置を指標の検出座標とする。そしてマーカ色からその指標の識別子を取得する。指標の各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを主観視点画像に施すことにより、指標の位置を検出し、指標の識別子を取得する。指標として四角形指標が用いられている場合には、画像に２値化処理を施した後にラベリングを行い、一定面積以上の領域の中から４つの直線によって形成されているものを指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除するとともに、指標の識別子を取得する。なお、このようにして検出される四角形指標は、４つの頂点の個々によって形成される４つの指標と同等である。
【００２２】
主観視点画像上から指標の画像座標を検出し、その識別子を得た指標検出部１２０は、検出された各々の主観視点指標の画像座標とその識別子を視点位置姿勢算出部１４０へと出力する。
【００２３】
指標位置算出部１３０は、客観視点カメラ群１１０より客観視点画像群を入力し、指標検出部１２０と同様にして、入力した画像中に撮影されている指標の画像座標とその識別子を検出する。客観視点カメラ群１１０が複数のカメラにより構成される場合には、識別子を基に各客観視点画像上の画像座標同士を対応付ける。そして得られた情報から、指標位置算出部１３０は入力した画像中に撮影されている指標の世界座標系における位置または位置および姿勢を算出する。ここで、客観視点カメラ群１１０を構成する各カメラの撮影視点の世界座標系における位置および姿勢は既知であるので、各カメラに対する指標の相対位置または相対位置姿勢を算出することより、指標の世界座標系における位置または位置および姿勢を算出することが可能である。
【００２４】
この客観視点カメラに対する指標の相対位置の算出方法は、一般に知られた方法で行われる。客観視点カメラ群の各カメラの世界座標系における位置姿勢は既知であるということは、各カメラ間の相対的は位置関係も既知であるので、三角法を用いることで、２つ以上のカメラで撮影される点指標の相対位置を容易に算出できることは言うまでもない。
【００２５】
カメラが１台である場合でも、指標が特定形状を持っていれば、非特許文献５や非特許文献６などに開示される、相対的位置関係が既知な複数点の撮影画像を用いてカメラ座標系から複数点の位置関係の記述に利用した座標系への変換行列を求める方法を用いることで、一つの指標に含まれる複数頂点の検出結果から相対位置および姿勢を算出することができる。
【００２６】
非特許文献５や非特許文献６に示される方法は、指標が平面上にあり、かつ、四角形である特徴を利用してカメラと指標との相対的位置姿勢を求める方法であるが、このような平面上の四角形に限ってカメラを１台にできるわけではない。四角形と同様に指標が持つ幾何情報がその指標の位置と姿勢を決定できうる情報を持っており、かつ、画像から検出できるものであれば、それ以外の形態でも構わない。例えば指標として、各面が別の色に塗られた立方体を用い、色検出によって画像に写る２面もしくは３面を検出し、立方体の稜線を検出し、その情報からＤＬＴ法によってカメラパラメータを復元する手法によりカメラと指標の相対的位置姿勢を求めても良い。
【００２７】
また非特許文献５や非特許文献６に示される方法以外でも、指標が平面上に配置されている場合には、指標中の４点以上の点を検出することで、２次元ホモグラフィの計算に基づいてカメラと指標との相対的位置姿勢を得ることができる。また、立体的な指標中の同一平面上にない６点以上の点を用いてカメラと指標との相対的位置姿勢を用いる方法も良く知られている。また、カメラと指標との相対的位置姿勢の推定値から算出される点の画像座標の理論値と点の画像座標の実測値との誤差を、画像ヤコビアンを用いたガウス・ニュートン法のような繰り返し計算によって最小化することにより推定値を最適化する方法などを用いることもできる。
【００２８】
なお、以上ではカメラが１台である場合に指標位置算出部１３０がカメラと指標の相対的位置姿勢を算出すると説明したが、これは、相対的な位置関係が既知である複数の指標群もしくは形状が既知である指標の姿勢を求めることにより、指標群を構成する各指標位置／指標を構成する頂点の位置が求められることをふまえている。
【００２９】
指標位置算出部１３０が算出した各指標の世界座標系における位置または位置および姿勢は、その指標の識別子とともに、視点位置姿勢算出部１４０へと出力される。
【００３０】
視点位置姿勢算出部１４０は、指標検出部１２０より入力する指標の画像座標と、指標位置算出部１３０より入力する指標の世界座標系における位置を、識別子を基に対応付け、その対応関係に基づいて主観視点カメラ１００の撮影視点の世界座標系における位置および姿勢を算出する。その方法は、指標位置算出部１３０の説明部分で述べた、客観視点カメラ群１１０がカメラ１台で構成される場合の、カメラと指標の相対的位置姿勢を算出する方法と同様である。そこでの算出方法は、特定の位置関係／特定の形状を持つ指標群／指標とカメラとの相対的位置姿勢を求める方法であるが、「特定の位置関係／特定の形状を持つ指標群／指標を構成する複数の指標／点」を「世界座標系における位置が既知の指標群／点群」と考えれば、同様の方法で世界座標系とカメラとの相対位置姿勢、すなわち、世界座標系における撮影視点の位置および姿勢を算出することができる。算出した主観視点カメラ１００の世界座標系における位置および／または姿勢は、仮想画像生成部１５０へと出力される。
【００３１】
視点位置姿勢算出部１４０は、位置または姿勢のどちらかだけを算出してもよい。その場合には、算出しない方の情報を予め内部に保持する。そして、上記に述べた位置および姿勢を算出する処理における位置または姿勢のどちらか一方を意味する未知変数部分に、内部に保持した情報を代入し、残ったもう一方の位置または姿勢のみを未知変数として処理を行って算出を実現する。算出された位置または姿勢は、内部に保持した姿勢または位置とともに仮想画像生成部１５０へと出力される。
【００３２】
仮想画像生成部１５０は、視点位置姿勢算出部１４０より入力した世界座標系における主観視点カメラ１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。その方法は一般に良く知られているので、ここでは説明を割愛する。仮想画像生成部１５０が生成した仮想空間画像は、画像合成部１６０へと出力される。
【００３３】
画像合成部１６０は、主観視点カメラ１００から入力する主観視点画像と画像生成部１５０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は画像表示部１７０へと出力される。
【００３４】
画像表示部１７０は、画像合成部１６０から入力する複合現実空間画像を表示することで、本実施例に係る位置姿勢算出装置のユーザに複合現実感を提示する。なお、画像表示部１７０は、主観視点カメラ１００と一体化した構成になっていても良い。その場合の、主観視点カメラ１００および画像表示部１７０は、いわゆる頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）となりうる。
【００３５】
図２は、本実施例の位置姿勢算出装置が撮影視点の位置および／または姿勢を求める際に行う処理のフローチャートである。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【００３６】
処理がスタートすると、ステップＳ２００において、主観視点カメラ１００が現実空間を撮影し、撮影した主観視点画像を指標検出部１２０および画像合成部１６０へ出力する。
【００３７】
続いてステップＳ２１０において、指標検出部１２０が主観視点画像中から指標の検出処理を行い、検出結果である指標の画像座標と識別子を視点位置姿勢算出部１４０に出力する。
【００３８】
続いてステップＳ２２０において、客観視点カメラ群１１０が現実空間を撮影し、撮影した客観視点画像を指標位置算出部１３０へ出力する。
【００３９】
続いてステップＳ２３０において、指標位置算出部１３０が客観視点画像群中から指標の検出処理を行った後、検出結果である指標の画像座標と識別子を用いて、客観視点カメラ群の各カメラと指標との相対位置関係を算出する。この相対位置関係とは、すなわち、客観視点カメラ群の各カメラ座標系における指標の位置である。その算出は指標位置算出部１３０についての説明部分で述べた方法によって行われる。
【００４０】
相対位置関係の算出を終えると、指標位置算出部１３０は、予め保持した客観視点カメラ群の各カメラの世界座標系における位置および姿勢を利用して、算出した相対位置関係から指標の世界座標系における位置を求める。すなわち、先に求めた客観視点カメラ群の各カメラ座標系における指標の位置を、世界座標系における指標の位置に変換する。例えば、予め保持した客観視点カメラ群中のあるカメラＡの世界座標系における位置および姿勢をｔＡ＝［ｘＡｙＡｚＡξＡψＡζＡ］Ｔとし、ｔＡによって定まるモデリング変換行列をＭＷＣＡと表記すると、カメラＡ座標系における指標の位置ｘＣＡは、次式を基に世界座標系における指標の位置ｘＷ＝［ｘｙｚ］Ｔへ変換される。
【００４１】
【数１】
2006099188.tif 000003
【００４２】
ここで、ＭＷＣＡは、次式によって定義される。
【００４３】
【数２】
2006099188.tif 000004
【００４４】
ただし、
【００４５】
【数３】
2006099188.tif 000005
【００４６】
である。
【００４７】
算出された指標の世界座標系における位置（座標値）は、それに対応する識別子とともに、視点位置姿勢算出部１４０へ出力される。
【００４８】
客観視点カメラ群１１０が複数台のカメラで構成される場合、指標の世界座標系における位置は複数算出される。その際には、得られた位置の平均値や、指標とカメラ間の距離が最も近い組み合わせから得られた位置を、指標位置算出部１３０が出力する指標の位置とすればよい。
【００４９】
なお、ステップＳ２２０からステップＳ２３０までの処理は、ステップＳ２００の前に実行されていても良いし、ステップＳ２００からステップＳ２１０までの処理と平行して実行しても良い。
【００５０】
続いてステップＳ２４０では、視点位置姿勢算出部１４０が、ステップＳ２１０で得られた主観視点画像における指標の画像座標と、ステップＳ２３０で得られた世界座標系における指標の位置とを、識別子を基に組み合わせる。そして、その対応関係に基づいて主観視点カメラ１００の撮影視点の世界座標系における位置および／または姿勢を算出する。その算出は視点位置姿勢算出部１４０についての説明部分で述べた方法によって行われる。詳細な説明は割愛する。算出された主観視点カメラ１００の撮影視点の世界座標系における位置および／または姿勢は、仮想画像生成部１５０へ出力される。位置または姿勢が算出されなかった場合には、予め視点位置姿勢算出部１４０が内部に保持した位置または姿勢が、仮想画像生成部１５０へ出力される。
【００５１】
続いてステップＳ２５０において、仮想画像生成部１５０が、視点位置姿勢算出部１４０より入力した世界座標系における主観視点カメラ１００の撮影視点の位置および姿勢と、予め保持している仮想空間情報を利用して、仮想空間画像を生成する。生成された仮想空間画像は、画像合成部１６０へと出力される。
【００５２】
続いてステップＳ２６０において、画像合成部１６０が、主観視点カメラ１００から入力する撮影画像と仮想画像生成部１５０から入力する仮想空間画像を合成し、複合現実空間画像を生成する。その複合現実空間画像は、画像表示部１７０へと出力される。
【００５３】
続いてステップＳ２７０において、画像表示部１７０が、画像合成部１６０から入力する複合現実空間画像を表示することで、本実施例のユーザに複合現実感を提示する。
【００５４】
ステップＳ２８０では、本実施例の位置姿勢算出装置が行う処理を終了するか否かの判定が行われる。本実施例のユーザが位置姿勢算出装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ２００へと戻る。
【００５５】
ステップＳ２００以降は、再び順に処理を行っていくが、途中で行われるステップＳ２３０において、毎回世界座標系における指標の位置が算出されるので、例えばユーザが指標を手に取り、別の場所に動かしてしまったとしても、破綻なく主観視点カメラの撮影視点の位置および／または姿勢の算出を行うことができる。同様に、指標が自律移動の可能な小型装置に取り付けられている場合にも、破綻なく主観視点カメラの撮影視点の位置および／または姿勢の算出を行うことができる。
【００５６】
ユーザが指標を動かす、もしくは、指標が自律的に移動する状況としては、指標検出部１２０によって指標が検出されなくなった場合が挙げられる。すなわち、現実空間中の指標以外のもの（例えばユーザの手やユーザが操作する物体など）が現実空間中に配置された指標と撮影視点の間を遮った場合や、主観視点カメラ１００の位置姿勢の変更により指標が撮影画像に含まれなくなった場合である。そのような状況時に、再び指標検出部１２０によって指標が検出されるように、ユーザが指標を動かす、もしくは、指標が自律的に移動することが起こりうる。
【００５７】
以上の処理により、本実施例に係る位置姿勢算出装置は、その処理に利用する現実空間中の指標の位置が変更されても、主観視点カメラの撮影視点の位置および／または姿勢を算出し続けることができる。
【００５８】
〔第２の実施例〕
本実施例に係る位置姿勢算出装置は、現実空間中の指標の位置を位置計測センサの計測結果を利用して算出することを特徴とする。以下、本実施例に係る位置姿勢算出装置および位置姿勢算出方法を用いて、本実施例のユーザに複合現実感を提示する場合について説明する。
【００５９】
図３は、本実施例に係る位置姿勢算出装置の概略構成を示す図である。図１と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。図３に示したように、本実施例に係る位置姿勢算出装置は、主観視点カメラ１００、指標位置計測部３１０、指標検出部１２０、指標位置算出部３３０、視点位置姿勢算出部１４０、仮想画像生成部１５０、画像合成部１６０、画像表示部１７０によって構成されている。
【００６０】
主観視点カメラ１００は指標が配置されている現実空間を撮影する。この主観視点カメラ１００の撮影視点は移動可能であり、その視点の位置および／または姿勢が本実施例に係る位置姿勢算出装置の算出対象である。主観視点カメラ１００が撮影した主観視点画像は、指標検出部１２０および画像合成部１６０に入力される。
【００６１】
指標検出部１２０は、主観視点カメラ１００より主観視点画像を入力し、主観視点画像中に写る指標の画像座標を検出し、その識別子を得る。その後指標検出部１２０は、検出された各々の主観視点指標の画像座標とその識別子を視点位置姿勢算出部１４０へと出力する。
【００６２】
指標位置計測部３１０は、現実空間中に配置される指標の位置を計測する位置計測センサであり、計測範囲内に存在する指標の識別子を特定するとともに、その位置を計測する。位置計測の仕組みは、一般に知られているものであれば何れでも良い。例えば、タブレット等に応用されている複数のコイルを内蔵したボードを利用することができる。この例がそうであるように、指標位置計測部３１０は、必ずしも３自由度の位置を計測できなくても良い。識別子と計測位置は、指標位置算出部３３０へと出力される。
【００６３】
指標位置計測部３１０の計測範囲内には、主観視点カメラ１００によって撮影される世界座標系における位置が未知である複数個の指標が配置されている。
【００６４】
指標の形態は、第１の実施例における指標と同様に、異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する特徴点によって構成してもよい。ある程度の面積を有する四角形の単色領域によって形成されるような四角形指標を用いることも可能である。ただし、指標位置計測部３１０によってその位置が計測される形態でなければならない。先の例、すなわち、指標位置計測部３１０が複数のコイルを内蔵したボードであれば、指標にはコイルとコンデンサーで構成された共振回路が内蔵されていなければならない。そのような指標であれば、指標位置計測部３１０は、電磁誘導の仕組みを利用して指標のボード上の２次元位置を計測することができる。
【００６５】
なお、これらの指標が本実施例に係る位置姿勢算出装置のユーザによって移動可能である点、および、個々の指標が自律移動可能な小型装置に取り付けられていて、ユーザの操作によらずに移動可能であってもよい点は、第１の実施例における指標と同様である。
【００６６】
指標位置算出部３３０は、指標位置計測部３１０から受け取る指標位置の計測結果と、予め内部に保持した指標位置計測部３１０の世界座標系における位置姿勢から、指標の世界座標系における位置を算出する。算出した各指標の世界座標系における位置は、その指標の識別子とともに、視点位置姿勢算出部１４０へと出力される。
【００６７】
視点位置姿勢算出部１４０は、指標検出部１２０より入力する指標の画像座標と、指標位置算出部３３０より入力する指標の世界座標系における位置を、識別子を基に対応付け、その対応関係に基づいて主観視点カメラ１００の撮影視点の世界座標系における位置および／または姿勢を算出する。算出した主観視点カメラ１００の世界座標系における位置および／または姿勢は、仮想画像生成部１５０へと出力される。
【００６８】
視点位置姿勢算出部１４０が、位置または姿勢のどちらかだけを算出する場合には、算出しなかった方の情報は予め内部に保持されており、算出された位置または姿勢とともに仮想画像生成部１５０へと出力される。
【００６９】
仮想画像生成部１５０、画像合成部１６０、画像表示部１７０は、第１の実施例におけるものとまったく同様である。
【００７０】
図４は、本実施例の位置姿勢算出装置が撮影視点の位置および／または姿勢を求める際に行う処理のフローチャートである。図２と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【００７１】
処理がスタートすると、ステップＳ２００において、主観視点カメラ１００が現実空間を撮影し、撮影した主観視点画像を指標検出部１２０および画像合成部１６０へ出力する。
【００７２】
続いてステップＳ２１０において、指標検出部１２０が主観視点画像中から指標の検出処理を行い、検出結果である指標の画像座標と識別子を視点位置姿勢算出部１４０に出力する。
【００７３】
続いてステップＳ４２０において、指標位置計測部３１０が指標のセンサ座標系（指標位置計測部３１０が計測の基準とする座標系）上における位置を計測し、かつ、計測した指標の識別子を認識する。識別子と計測位置は指標位置算出部３３０へと出力される。
【００７４】
指標の位置計測の手順は、一般に知られているものであれば何れでも良い。先の例、すなわち、指標位置計測部３１０が複数のコイルを内蔵したボードで、指標に共振回路が内蔵されている場合には、次のような手順でセンサ座標系上の位置が計測される。
【００７５】
まず、指標位置計測部３１０が内蔵するコイルに電流を流す。すると、指標位置計測部３１０の周囲には磁界が発生する。指標位置計測部３１０の周囲に指標がある場合、発生した磁界によって指標内の共振回路にエネルギーが蓄えられる。続いて、指標位置計測部３１０が内蔵するコイルに流していた電流を止める。すると指標内の共振回路に蓄えられたエネルギーにより、指標内の共振回路から磁界が発生する。そして指標位置計測部３１０は、その指標から発せられた磁界を内蔵コイルによって検出し、その検出位置をして指標位置の計測結果とする。以下、この２つの処理を高速に繰り返すことで、指標の位置を計測しつづける。
【００７６】
続いてステップＳ４３０において、指標の世界座標系における位置の算出を行う。すなわち、ステップＳ４２０で得られたセンサ座標系における指標の位置を、世界座標系における指標の位置に変換する処理を行う。その方法は、第１の実施例におけるステップＳ２３０で行われる、カメラ座標系における指標の位置を、世界座標系における指標の位置へ変換する処理と同様である。すなわち、予め保持したセンサ座標系の世界座標系における位置および姿勢によって定まるモデリング変換行列を、ステップＳ４２０で得られたセンサ座標系における指標の位置に掛け合わせることで、世界座標系における指標の位置を得る。
【００７７】
算出された指標の世界座標系における位置（座標値）は、それに対応する識別子とともに、視点位置姿勢算出部１４０へ出力される。
【００７８】
なお、ステップＳ４２０からステップＳ４３０までの処理は、ステップＳ２００の前に実行されていても良いし、ステップＳ２００からステップＳ２１０までの処理と平行して実行しても良い。
【００７９】
以下に続くステップＳ２４０からステップＳ２７０までは、第１の実施例における処理と同様である。
【００８０】
ステップＳ２８０では、本実施例の位置姿勢算出装置が行う処理を終了するか否かの判定が行われる。本実施例のユーザが位置姿勢算出装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ２００へと戻る。
【００８１】
ステップＳ２００以降は、再び順に処理を行っていくが、途中で行われるステップＳ４３０において、毎回指標の世界座標系における位置が算出されるので、例えばユーザが指標を手に取り、別の場所に動かしてしまったとしても、破綻なく主観視点カメラの撮影視点の位置および／または姿勢の算出を行うことができる。同様に、指標が自律移動可能な小型装置に取り付けられている場合にも、破綻なく主観視点カメラの撮影視点の位置および／または姿勢の算出を行うことができる。ユーザが指標を動かす、もしくは、指標が自律的に移動する状況は、第１の実施例に関する場合と同様である。
【００８２】
以上の処理により、本実施例に係る位置姿勢算出装置は、その処理に利用する現実空間中の指標の位置が変更されても、主観視点カメラの撮影視点の位置および／または姿勢を算出し続けることができる。
【００８３】
〔第３の実施例〕
本実施例に係る位置姿勢算出装置は、指標を電子的に現実空間中に配置し、客観視点カメラや位置計測センサを利用せずとも指標の位置を得ることができることを特徴とする。以下、本実施例に係る位置姿勢算出装置および位置姿勢算出方法を用いて、本実施例のユーザに複合現実感を提示する場合について説明する。
【００８４】
図５および図６は、本実施例に係る位置姿勢算出装置の概略構成を示す図である。図１と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。図５および図６に示したように、本実施例に係る位置姿勢算出装置は、主観視点カメラ１００、指標投影部５１０および／または指標表示部６１０、指標検出部１２０、指標画像生成部５３０、視点位置姿勢算出部１４０、仮想画像生成部１５０、画像合成部１６０、画像表示部１７０、そして指標位置入力部１８０によって構成されている。
【００８５】
主観視点カメラ１００は、指標投影部５１０によって指標が投影されている現実空間、および／または、指標表示部６１０によって指標が表示されている現実空間を撮影する。この主観視点カメラ１００の撮影視点は移動可能であり、その視点の位置および／または姿勢が本実施例に係る位置姿勢算出装置の算出対象である。主観視点カメラ１００が撮影した主観視点画像は、指標検出部１２０および画像合成部１６０に入力される。
【００８６】
指標検出部１２０は、主観視点カメラ１００より主観視点画像を入力し、主観視点画像中に写る指標の画像座標を検出し、その識別子を得る。その後指標検出部１２０は、検出された各々の主観視点指標の画像座標とその識別子を視点位置姿勢算出部１４０へと出力する。
【００８７】
指標位置入力部５８０は本実施例のユーザによって操作され、指標画像生成部５３０に対して世界座標系における指標の位置（座標値）を入力する。例えば、キーボードであってもよいし、ステレオ客観視点カメラであって、ユーザが指示する現実空間中の位置を認識するシステムであっても良い。
【００８８】
指標画像生成部５３０は、内部に世界座標系における指標の位置、および、指標投影部５１０および／または指標表示部６１０の世界座標系上の位置および姿勢を含む現実空間の形状情報を保持している。そして、保持しているこれらの情報を利用して、指標位置決定部５３０は、指標投影部５１０から現実空間に投影する指標画像、および／または、指標表示部６１０が現実空間上で表示する指標画像を生成する。生成された指標画像は、指標投影部５１０から現実空間に投影された場合、および／または、指標表示部６１０が現実空間上に表示した場合に、指標位置決定部５３０の内部に保持された世界座標系における指標の位置にその指標の画像特徴が投影および／または表示されるような画像である。そのような画像の具体的な生成方法については、非特許文献７でも紹介されているように公知の技術であるので、本明細書においては説明を省略する。この指標画像は指標投影部５１０および／または指標表示部６１０へと出力される。
【００８９】
また、内部に保持した世界座標系における指標の位置は、指標位置入力部５８０からの入力によって変更されうる。これにより、本実施例のユーザは、現実空間上に投影および／または表示される指標の位置を自由に変更することが可能である。さらにまた、指標画像生成部５３０自身が、自律的に世界座標系における指標の位置を変更しても良い。
【００９０】
指標画像生成部５３０が内部に保持した世界座標系における指標の位置は、その識別子とともに視点位置姿勢算出部１４０へと出力される。
【００９１】
図５に示した指標投影部５１０は、例えば世界座標系における位置と向きが既知であるプロジェクタであって、現実空間上に指標画像を投影する。図６に示した指標表示部６１０は、例えば世界座標系における位置と向きが既知であるディスプレイであって、現実空間上で指標画像を表示する。
【００９２】
本実施例における位置姿勢算出装置は、指標投影部５１０と指標表示部６１０の、図５および図６に示すようにどちらか一方を含んでいれば良いし、両方を含んでいても良い。
【００９３】
指標画像は、指標画像生成部５３０によって生成される画像で、主観視点カメラ１００の撮影視点の世界座標系における位置および／または姿勢の算出に利用される指標の画像特徴を含んでいる。指標投影部５１０に入力する指標画像は、指標投影部５１０によって現実空間上に投影される際に、指標位置決定部５３０の内部に保持された世界座標系における指標の位置にその指標の画像特徴が投影されるような画像である。指標投影部６１０に入力する指標画像は、指標表示部６１０によって表示した際に、指標位置決定部５３０の内部に保持された世界座標系における指標の位置にその指標の画像特徴が表示されるような画像である。
【００９４】
指標画像に含まれる指標の形態は、第１の実施例における指標と同様に、異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する特徴点によって構成してもよい。ある程度の面積を有する四角形の単色領域によって形成されるような四角形指標を用いることも可能である。
【００９５】
これらの指標の投影位置は、指標位置入力部５８０を介して制御することが可能である。ゆえに、これらの指標が本実施例に係る位置姿勢算出装置のユーザによって移動可能である点は、第１および第２の実施例における指標と同様である。
【００９６】
視点位置姿勢算出部１４０は、指標検出部１２０より入力する指標の画像座標と、指標画像生成部５３０より入力する指標の世界座標系における位置を、識別子を基に対応付け、その対応関係に基づいて主観視点カメラ１００の撮影視点の位置および姿勢を算出する。算出した主観視点カメラ１００の世界座標系における位置および姿勢は、仮想画像生成部１５０へと出力される。
【００９７】
仮想画像生成部１５０、画像合成部１６０、画像表示部１７０は、第１の実施例におけるものとまったく同様である。
【００９８】
図７は、本実施例の位置姿勢算出装置が撮影視点の位置および／または姿勢を求める際に行う処理のフローチャートである。図２と同じ部分については同じ番号、記号を付けており、その詳細な説明は省略する。なお、同フローチャートに従ったプログラムコードは、本実施例の装置内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出され、実行される。
【００９９】
処理がスタートすると、ステップＳ７００において、指標画像生成部５３０が指標画像を生成する。そして、指標投影部５１０がその指標画像を現実空間上に投影する、および／または、指標表示部６１０がその指標画像を現実空間上で表示する。この処理により、指標画像生成部５３０の内部に保持されている世界座標系における指標の位置に、指標の画像特徴が投影および／または表示される。
【０１００】
続いてステップＳ２００において、主観視点カメラ１００が現実空間を撮影し、撮影した主観視点画像を指標検出部１２０および画像合成部１６０へ出力する。
【０１０１】
続いてステップＳ２１０において、指標検出部１２０が主観視点画像中から、現実空間中に投影および／または表示されている指標の検出処理を行い、検出結果である指標の画像座標と識別子を視点位置姿勢算出部１４０に出力する。
【０１０２】
続いてステップＳ７２０において、現実空間中に投影および／または表示されている指標の世界座標系における位置（座標値）とその識別子が、視点位置姿勢算出部１４０へ出力される。
【０１０３】
以下に続くステップＳ２４０からステップＳ２７０までは、第１の実施例における処理と同様である。
【０１０４】
ステップＳ２８０では、本実施例の位置姿勢算出装置が行う処理を終了するか否かの判定が行われる。本実施例のユーザが位置姿勢算出装置に対して、処理の終了を指示した場合には処理を終了させ、処理の継続を指示した場合には再びステップＳ７００へと戻る。
【０１０５】
ステップＳ７００以降は、再び順に処理を行っていくが、その処理中の任意のタイミングにおいて、本実施例のユーザは、指標位置入力部５８０を介して、現実空間中に投影および／または表示されている指標の位置を、自由に変更することができる。すなわち、指標位置入力部５８０に対して新たな指標位置情報が入力されると、指標画像生成部５３０の内部に保持されている世界座標系における指標の位置が変更され、その結果に応じて、現実空間中に投影および／または表示されている指標の位置が変更される。その場合、ステップＳ７２０において視点位置姿勢算出部１４０へ出力される指標の世界座標系における位置（座標値）も変更されるので、ユーザが指標を別の場所に動かしてしまったとしても、破綻なく主観視点カメラの視点位置姿勢の算出を行うことができる。同様に、指標が指標画像生成部５３０により自律的にその位置を変更する場合にも、破綻なく主観視点カメラの撮影視点の位置および／または姿勢の算出を行うことができる。ユーザが指標を動かす、もしくは、指標が自律的に移動する状況は、第１の実施例に関する場合と同様である。
【０１０６】
以上の処理により、本実施例に係る位置姿勢算出装置は、その処理に利用する現実空間中の指標の位置が変更されても、主観視点カメラの撮影視点の位置および姿勢を算出し続けることができる。
【０１０７】
〔他の実施例〕
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には先に説明した（図２および／または図４および／または図７に示す）フローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１０】
【図１】第１の実施例に係る位置姿勢算出装置の概略構成を示す図である。
【図２】第１の実施例に係る位置姿勢算出方法の概略処理を示すフローチャートである。
【図３】第２の実施例に係る位置姿勢算出装置の概略構成を示す図である。
【図４】第２の実施例に係る位置姿勢算出方法の概略処理を示すフローチャートである。
【図５】第３の実施例に係る位置姿勢算出装置の概略構成を示す図である。
【図６】第３の実施例に係る位置姿勢算出装置の概略構成を示す図である。
【図７】第３の実施例に係る位置姿勢算出方法の概略処理を示すフローチャートである。
【図１】
2006099188.tif 000006
【図２】
2006099188.tif 000007
【図３】
2006099188.tif 000008
【図４】
2006099188.tif 000009
【図５】
2006099188.tif 000010
【図６】
2006099188.tif 000011
【図７】
2006099188.tif 000012