(57)【要約】【課題】経験の浅い作業者であっても、適切な位置にマーカを配置し、さらにマーカを調整することで最適なマーカ配置を実現可能とする。【解決手段】あらかじめ定めた位置にマーカを配置するマーカ配置作業を補助するマーカ配置補助方法において、規定の位置または位置姿勢に仮想的なマーカを現実空間の撮像画像に合わせて重畳表示し、表示した仮想的なマーカに沿って実際のマーカを配置させ、さらに現実物体の物理的特徴点に対応する特徴を持つ位置合わせ確認指標を表示して、最終的な位置合わせ結果が良くなるようにマーカの配置を調整させる。【選択図】  図１
2007064684.tif 000002
【特許請求の範囲】
【請求項１】
撮像部によって現実空間を撮影し撮像画像を取得する撮像工程と、
所定のマーカを前記撮像画像から検出する検出工程と、
前記検出工程で得られた前記所定のマーカの画像情報を用いて前記撮像部の位置姿勢を算出する算出工程と、
前記現実空間内の所定の現実物体の幾何情報と、前記算出工程で算出された前記撮像部の位置姿勢に基づいて、前記所定の現実物体に対応した確認指標を前記撮像画像に重畳描画する指標描画工程とを備えることを特徴とするマーカ配置補助方法。
【請求項２】
配置作業の対象となっている前記所定のマーカ以外の情報を用いて、前記撮像部の位置姿勢を計測する計測工程と、
前記所定のマーカの配置位置を含む幾何情報と、前記計測工程で計測された前記撮像部の位置姿勢とを用いて、前記所定のマーカに対応する仮想マーカを前記撮像画像に重畳描画する仮想マーカ描画工程とをさらに備えることを特徴とする請求項１に記載のマーカ配置補助方法。
【請求項３】
前記指標描画工程は、前記検出工程で前記所定のマーカが検出されなかった場合は、前記計測工程で計測された前記撮像部の位置姿勢を用いて、前記確認指標を描画することを特徴とする請求項２に記載のマーカ配置補助方法。
【請求項４】
前記確認指標は、前記所定の現実物体の外形に対応したコンピュータグラフィックスであることを特徴とする請求項１に記載のマーカ配置補助方法。
【請求項５】
配置作業の対象として複数のマーカが存在する場合に、ユーザの指示に応じて所望のマーカを前記所定のマーカとして選択する選択工程をさらに備えることを特徴とする請求項１に記載のマーカ配置補助方法。
【請求項６】
配置作業が終了したことをユーザに入力させる合致判定入力工程とを備えることを特徴とする請求項１に記載のマーカ配置補助方法。
【請求項７】
撮像部によって現実空間を撮影し撮像画像を取得する撮像工程と、
配置作業の対象となっている所定のマーカ以外の情報を用いて、前記撮像部の位置姿勢を計測する計測工程と、
前記所定のマーカの配置位置を含む幾何情報と、前記計測工程で計測された前記撮像部の位置姿勢とを用いて、前記所定のマーカに対応する仮想マーカを前記撮像画像に重畳描画する仮想マーカ描画工程とを備えることを特徴とするマーカ配置補助方法。
【請求項８】
現実空間を撮影し撮像画像を取得する撮像手段と、
所定のマーカを前記撮像画像から検出する検出手段と、
前記検出手段で得られた前記所定のマーカの画像情報を用いて前記撮像手段の位置姿勢を算出する算出手段と、
前記現実空間内の所定の現実物体の幾何情報と、前記算出手段で算出された前記撮像手段の位置姿勢に基づいて、前記所定の現実物体に対応した確認指標を前記撮像画像に重畳描画する指標描画手段とを備えることを特徴とするマーカ配置補助装置。
【請求項９】
撮像部によって現実空間を撮影し撮像画像を取得する撮像手段と、
配置作業の対象となっている所定のマーカ以外の情報を用いて、前記撮像手段の位置姿勢を計測する計測手段と、
前記所定のマーカの配置位置を含む幾何情報と、前記計測手段で計測された前記撮像手段の位置姿勢とを用いて、前記所定のマーカに対応する仮想マーカを前記撮像画像に重畳描画する仮想マーカ描画手段とを備えることを特徴とするマーカ配置補助装置。
【請求項１０】
情報処理装置に読み込ませることで、当該情報処理装置に請求項１乃至請求項７のいずれかに記載のマーカ配置補助方法を実行させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の位置姿勢を検出するために用いられるマーカの、現実空間への配置作業を補助する技術に関する。
【背景技術】
【０００２】
３次元空間中の既知の位置に配置されたマーカを撮像装置で撮像し、撮像されたマーカの画像から、撮像装置自身の位置姿勢を求める方法がある。例えば、非特許文献１によれば、撮像画像中に写る正方形マーカの４頂点と当該正方形マーカ内部の画像パターンとを用いて、マーカに対する撮像装置の相対的な位置姿勢を求めることができる。さらに、これらのマーカを複数組み合わせて１つの基準座標系を設け、基準座標系における複数のマーカの位置姿勢を定義することで、広範囲な領域で基準座標系における撮像装置の位置姿勢を求めることができる。
【０００３】
また、非特許文献２では、少なくとも２個以上のＩＤ付き円形マーカとジャイロセンサを用いて撮像装置の位置姿勢を求めている。その他にも画像中に写るマーカを用いて撮像装置の位置姿勢を求める手法は数多く提案されている。
【０００４】
前述の非特許文献１や非特許文献２などに記載されたマーカを用いて撮像装置の位置姿勢を求める場合は、３次元空間に配置した各マーカの幾何情報が既知である必要がある。幾何情報としては、基準座標系におけるマーカの位置又は姿勢（以降ではこれらを配置情報と呼ぶ）、サイズ、形状といった情報が挙げられる。ここで、サイズや形状等の情報はマーカの設計値をそのまま用いることが可能であるが、マーカの配置情報を得ることは容易ではなく、測量機等の大掛かりな装置を用いた計測が必要であった。
【０００５】
このような大掛かりな計測の必要性を解消するために、非特許文献２、非特許文献３に述べられているようなマーカキャリブレーションと呼ばれる手法により、撮像装置が撮像した画像系列を入力としてマーカ配置情報を計測することがなされている。
【非特許文献１】Hirokazu Kato, Mark Billinghurst, Ivan Poupyrev, Kenji Imamoto, Keihachiro Tachibana, "Virtual Object Manipulation on a Table-Top AR Environment", Proc. of IEEE and ACM International Symposium on Augmented Reality 2000, pp.111-119 (2000)
【非特許文献２】E. Foxlin, Leonid Naimark, "VIS-Tracker: A Wearable Vision-Inertial Self Tracker",IEEE Conference on Virtual Reality, pp. 199-206, LA,CA.(2003)
【非特許文献３】Gregory Baratoffら："Interactive Multi-Marker Calibration for Augmented Reality Applications", Proc. ISMAR 2002, pp.107-116, 2002.
【非特許文献４】X. Zhang, S. Fronz, and N. Navab: Visual marker detection and decoding in AR systems: a comparative study, Proc. International Symposium on Mixed and Augmented Reality 2002 (ISMR '02), pp.97-106, 2002.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般的なマーカキャリブレーションでは、カメラ内部パラメータのキャリブレーションエラーや、マーカ検出誤差等の理由により、マーカ配置情報を正確に計測できない場合があった。また、測量器なども計測誤差を持つ。このような、本来のマーカの配置情報と、マーカキャリブレーション等のマーカの配置情報を計測する手段によって得られたマーカの配置情報との間の誤差をマーカ配置誤差と呼ぶ。また、別の課題として、撮像装置の位置姿勢を広範囲において安定的に求めたい場合は、マーカをどこにでも設置してよいわけではない。すなわち、マーカを用いた位置姿勢推定の原理に関する知識や体験に基づく知見を生かして、効果的なマーカ配置を設計する必要があった。すなわち、これらの知識を有さないアプリケーション構築者（２次システム構築者とする）が適切なマーカ配置を行い、効果的なシステムの構築を行うことは困難であった。そして、このような場合には、熟練した技術者（１次システム構築者とする）から直接技術指導を受けたり、写真や文面などでマーカ配置に関する教示を受ける必要があった。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、マーカキャリブレーションで取りきれなかったマーカ配置誤差を打ち消すための現場的な解法を提供すると同時に、経験の浅い２次システム構築者でもマーカ配置作業を行うことを可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明によるマーカ配置補助方法は、
撮像部によって現実空間を撮影し撮像画像を取得する撮像工程と、
所定のマーカを前記撮像画像から検出する検出工程と、
前記検出工程で得られた前記所定のマーカの画像情報を用いて前記撮像部の位置姿勢を算出する算出工程と、
前記現実空間内の所定の現実物体の幾何情報と、前記算出工程で算出された前記撮像部の位置姿勢に基づいて、前記所定の現実物体に対応した確認指標を前記撮像画像に重畳描画する指標描画工程とを備える。
【０００９】
また、好ましくは、上記マーカ配置補助方法において、
配置作業の対象となっている前記所定のマーカ以外の情報を用いて、前記撮像部の位置姿勢を計測する計測工程と、
前記所定のマーカの配置位置を含む幾何情報と、前記計測工程で計測された前記撮像部の位置姿勢とを用いて、前記所定のマーカに対応する仮想マーカを前記撮像画像に重畳描画する仮想マーカ描画工程とをさらに備える。
【発明の効果】
【００１０】
本発明によれば、例えば、あらかじめ定めた位置または位置姿勢に所定のマーカを配置するマーカ配置作業を補助するためのマーカ配置補助方法が提供される。本発明によれば、マーカキャリブレーションで取りきれなかったマーカ配置誤差を打ち消すための現場的な解法が提供されるとともに、経験の浅い２次システム構築者でもマーカ配置作業を行うことが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
本実施形態では、上記非特許文献１に記載された正方形マーカの配置作業をユーザが行う際の配置補助を行うマーカ配置補助装置を例として説明する。本実施形態に係るマーカ配置補助装置は、ビデオシースルー（Video See-Through）型のヘッドマウントディスプレイ（ＨＭＤ）を用いて、マーカ配置の補助情報をユーザへと提示する。以下、本実施形態に係るマーカ配置補助装置及びマーカ配置補助方法について説明する。
【００１３】
＜構成＞
図１は、本発明の第１実施形態におけるマーカ配置補助装置の機能構成を示すブロック図である。また、図３は、第１実施形態におけるマーカ配置補助方法を実行しているときの外観を示す模式図である。なお、図１と図３とで同じ構成については同じ参照番号を付けている。
【００１４】
図１及び図３に示すように、本実施形態ではコンピュータ４０００によって以下に示すマーカ配置補助方法を実現する。コンピュータ４０００としては、例えば通常のパーソナルコンピュータを適用することも可能である。この場合、図２に説明する処理手順を実現するためのアプリケーションをＣＰＵが実行することでマーカ配置補助方法画実現されることになる。
【００１５】
図３の３０４０Ａは配置作業の対象である現実のマーカを示している。本実施形態では、４つのマーカ３０４０Ａ〜３０４０Ｄを配置する場合について説明する。図３では、一つ目のマーカ３０４０Ａをユーザが配置しようとしている状況が示されている。
【００１６】
３０３０はマーカを配置しようとしている現実の物体（テーブルなどの物体であり、以下、基準物体と称す）を示している。
【００１７】
ＨＭＤ１０００は、内部の固定位置に撮像部１０１０と表示部１０２０をそれぞれ２基搭載しており、ステレオで現実空間の撮像と表示が可能である。ユーザはこのＨＭＤ１０００を頭部に装着することで、撮像部１０１０が撮像するステレオの画像を表示部１０２０によって観察することができる。なお、このような形態のＨＭＤ（ステレオビデオシースルーＨＭＤ）の詳細については、例えば“A. Takagi, S. Yamazaki, Y. Saito, and N. Taniguchi: "Development of a stereo video see-through ＨＭＤ for AR systems "，ISAR2000， pp．68-77， 2000．”を参照のこと。
【００１８】
ＨＭＤ１０００は、後述するように、ユーザにマーカの配置補助情報を提示するために用いられる。以降は、撮像部１０１０、表示部１０２０と表現した場合は、左右それぞれの撮像部、表示部を同時に表すものとする。撮像部１０１０は、例えば、カラーＣＣＤカメラによって構成される。表示部１０２０は、例えば、ＬＣＤディスプレイによって構成される。表示部１０２０が表示する画像は、自由曲面プリズムを介してユーザに提示される。
【００１９】
撮像位置姿勢計測部１０３０は撮像部１０１０の位置姿勢を計測する。本実施形態では、撮像位置姿勢計測部１０３０として、磁気センサであるPOLHEMUS社のFASTRAKを使用する。FASTRAKでは、図３に示されるトランスミッタ３０５０から発生した磁場を、ＨＭＤ１０００に取り付けられたレシーバ３０６０が感知することにより、基準座標系における撮像部１０１０の位置姿勢が計測される。計測された位置姿勢は、例えば、撮像部１０１０の位置姿勢を表す４×４の行列として記憶部１０８０に格納される。
【００２０】
撮像画像取得部１０４０は、撮像部１０１０において撮像された撮像画像を記憶部１０８０に画像データとして格納する。
【００２１】
マーカ検出部１０７０は、撮像画像の画像データを記憶部１０８０から入力し、記憶部１０８０に格納してあるマーカのパターン画像を用いて、撮影画像中からマーカを検出する処理を行う。マーカ検出部１０７０は、例えば、非特許文献１で述べられているマーカ検出方法を用いることで実現される。すなわち、撮像画像を２値化し、白い領域の境界線に対して直線当てはめを行い、４角形になる領域をマーカ候補領域とする。さらに、マーカ候補領域内のパターン画像を正規化し、記憶部１０８０内に格納されているパターン画像との比較によって同定を行う。マーカ検出部１０３０によるマーカの検出結果（検出されたマーカのＩＤや頂点の画像座標などの情報）は、記憶部１０８０に出力される。
【００２２】
記憶部１０８０は、本実施形態におけるマーカ配置補助方法の処理に必要なマーカ情報を保持し、処理に応じて情報の読み出しや書き込みが行われる。なお、本実施形態におけるマーカ配置補助方法の処理に必要な情報とは、例えば、
・図８に示すような各マーカの幾何情報（配置情報（基準座標系における位置・姿勢）、サイズ、形状）、
・各マーカの検出および同定を行うためのパターン画像、
・後述する仮想マーカの描画に必要な描画情報（各マーカ固有の視覚的特徴を表すワイヤーフレームデータなど）、
・後述する位置合わせ確認指標の描画に必要な描画情報（幾何情報（基準座標系における位置姿勢、形状情報）、マテリアル設定など）、
・これらの仮想物体を現実空間の位置に合わせて描画するために必要な撮像部１０１０の内部パラメータ（焦点距離、主点位置、レンズ歪みパラメータ）、
・撮像位置姿勢計測部１０３０の出力である撮像部１０１０の位置姿勢計測値、
・撮像位置姿勢算出部１０９０の出力である撮像部１０１０の位置姿勢算出値、
・撮像画像、合致判定入力部１１４０の入力フラグ、マーカ検出部１０７０の出力であるマーカ検出結果などが挙げられる。
【００２３】
撮像位置姿勢算出部１０９０は、マーカ検出部１０７０で得られたマーカの検出結果と、記憶部１０８０が予め保持している当該マーカの幾何情報を記憶部１０８０から入力し、これらの情報を利用して撮像部１０１０の位置姿勢を算出する。本実施形態では、マーカ検出で求めた処理画像内の四角形領域の４頂点と視点を結んでできる四角錘の側面の４つの法線の隣りあう法線の外積方向を用いてカメラ座標系（撮像部１０１０によって定義される座標系）におけるマーカの３次元姿勢を算出する。３次元姿勢から幾何計算によりカメラ座標系におけるマーカの３次元位置を算出する（詳細は非特許文献１を参照）。さらに、このようにして得られたカメラ座標系におけるマーカの位置姿勢と、マーカの配置情報としてあらかじめ定義されている基準座標系におけるマーカの位置姿勢に基づいて、基準座標系における撮像部１０１０の位置姿勢を算出する。算出された位置姿勢は、記憶部１０８０へと出力される。
【００２４】
撮像画像描画部１１２０は、記憶部１０８０から撮像画像を入力し、これを基に現実空間の画像をビデオバッファ１１３０上に描画する。仮想マーカ描画部１１００は、マーカの配置を補助するためのマーカの仮想的なＣＧ画像（コンピュータグラフィックス画像、以下、仮想マーカと称す）を、ビデオバッファ１１３０上に重畳描画する。マーカの仮想ＣＧは、記憶部１０８０に予め保持されているマーカの配置情報と、撮像位置姿勢計測部１０３０によって計測された撮像部１０１０の位置姿勢（記憶部１０８０から入力する）を用いて描画される。図４に、４つの仮想マーカ３０１０Ａ〜３０１０Ｄの例（第三者視点位置から見た概念図）を示す。各仮想マーカ３０１０Ａ〜３０１０Ｄは、記憶部１０８０に格納された各マーカに対応したパターン画像と外枠の形状を線分で表示した３次元ＣＧ画像で構成される。なお、本実施形態は、このようにマーカを線分で表示することに限定されるものではなく、ユーザがマーカの位置姿勢と個々の区別ができるような表示形態であればいかなるものであってもよい。ユーザは、仮想マーカの位置姿勢を視覚的に認識することにより、現実空間のどこにマーカを配置するべきかを確認できる。
【００２５】
確認指標描画部１１１０は、図３に示す基準物体３０３０の形状に合わせた位置合わせ確認指標３０２０をビデオバッファ１１３０上に重畳描画する。図５に、位置合わせ確認指標３０２０の例（第三者視点位置から見た概念図）を示す。位置合わせ確認指標３０２０の描画情報は記憶部１０８０にあらかじめ保持されており、撮像位置姿勢算出部１０９０で算出された撮像部１０１０の位置姿勢（記憶部１０８０から入力する）が、描画のためのカメラパラメータとして用いられる。なお、マーカ検出部１０７０でマーカが検出されていない場合は、撮像位置姿勢算出部１０９０において撮像位置姿勢の算出処理を行うことができない。本実施形態では、このような場合には、確認指標描画部１１１０による描画処理は実行されない。
【００２６】
ビデオバッファ１１３０は、撮像画像描画部１１２０、仮想マーカ描画部１１００、確認指標描画部１１１０によって描画された映像データを保持し、必要に応じてＨＭＤ１０００の表示部１０２０へ出力する。図６に、表示部１０２０に表示される映像の例（第三者視点位置から見た概念図）を示す。
【００２７】
合致判定入力部１１４０は、撮像された画像に映る基準物体３０３０と位置合わせ確認指標３０２０が十分に合致していることをユーザが確認した場合に、処理の終了を指示する入力部である。本実施形態では、手持ちのマウス（不図示）のボタンを押すことによって記憶部１０８０に合致判断の入力を記憶するが、この入力は他の何れのインターフェイスを介して行っても構わない。
【００２８】
＜処理の流れ＞
図１で示したブロック図で構成されるマーカ配置補助装置によるマーカ配置補助処理を図２に示すフローチャートを用いて説明する。
【００２９】
まず、ステップＳ２０１及びＳ２０２において撮像部１０１０で撮影された画像を表示部１０２０に表示するための処理を行なう。すなわち、まず、ステップＳ２０１において、撮像画像取得部１０４０は、撮像部１０１０にて撮像された画像信号を入力し、画像データとして記憶部１０８０に格納する。次に、ステップＳ２０２において、撮像画像描画部１１２０は、記憶部１０８０が保持している撮像画像をビデオバッファ１０９０に描画する。表示部１０２０がビデオバッファ１１３０に描画されたイメージを表示することにより、撮影画像がユーザに提示される。
【００３０】
続いて、ステップＳ２０３とＳ２０４では、撮像位置姿勢計測部１０３０による撮像部１０１０の位置姿勢計測結果と、記憶部１０８０に格納されている上述のマーカ情報に基づいて、上記撮影画像中に仮想マーカを描画する。すなわち、ステップＳ２０３において、位置姿勢計測部１０３０は、撮像部１０１０の位置姿勢を計測し、得られた計測値を記憶部１０８０に格納する。そして、ステップＳ２０４で、仮想マーカ描画部１１００は、記憶部１０８０内に格納されている撮像部１０１０の位置姿勢計測値、マーカの３次元位置姿勢情報、仮想マーカの描画情報に基づいて、仮想マーカ３０１０の描画を行う。ここまでの処理により、ユーザは、例えば図９に示すように撮影画像中に仮想マーカ３０１０Ａ〜３０１０Ｄを表示した状態を観察できるようになる。
【００３１】
この状態で、ユーザは配置すべきマーカの位置、姿勢を把握できるので、この表示をガイドとしてマーカを配置することができる。しかしながら、本実施形態では、ステップＳ２０６〜Ｓ２０８の処理により、さらに、図５に示すような位置合わせ確認指標３０２０を提示して、より正確なマーカ配置を可能にする。本実施形態では、上述の基準物体３０３０の形状に対応したグリッドで構成される位置合わせ確認指標３０２０を撮影画像から検出した実際のマーカの位置姿勢に基づいて当該撮影画像中に表示する。位置合わせ確認指標３０２０とマーカの位置姿勢は記憶部１０８０に定義されている。確認指標描画部１１１０は、撮影画像中に存在する実際のマーカの位置、姿勢から算出された撮像部１０１０の位置姿勢にしたがって位置合わせ確認指標３０２０を描画する。このため、ユーザのマーカ配置動作による実際のマーカの移動に伴って位置合わせ確認指標３０２０の描画も移動する。したがって、ユーザは、位置合わせ確認指標３０２０が基準物体３０３０と一致するようにマーカを移動させることで、より正確にマーカを配置することができる。この場合、撮像位置姿勢計測部１０３０の位置姿勢情報は用いていないので、位置姿勢計測部１０３０の計測誤差の影響を受けないマーカ配置を実現できる。以下、ステップ毎に、詳細に説明する。
【００３２】
まず、ステップＳ２０５で、マーカ検出部１０７０は、撮像画像からマーカ３０４０を検出し、検出結果を記憶部１０８０に格納する。ステップＳ２０５でマーカを検出した場合には処理はステップＳ２０６からステップＳ２０７へ進み、マーカを検出できなかった場合には処理はステップＳ２０６からステップＳ２０９に進む。
【００３３】
ステップＳ２０７で、撮像位置姿勢算出部１０９０は、マーカ検出部１０７０によるマーカ検出結果を利用して撮像部１０１０の位置姿勢を算出し、算出した位置姿勢を記憶部１０８０に格納する。そして、ステップＳ２０８で、確認指標描画部１１１０は、記憶部１０８０内に格納されている撮像部１０１０の位置姿勢算出値と位置合わせ確認指標３０２０の描画情報に基づいて、位置合わせ確認指標３０２０をビデオバッファ１１３０に描画する。
【００３４】
ステップＳ２０９では、ビデオバッファ１１３０に保持されている画像（撮影画像に仮想マーカ３０１０と位置合わせ確認指標３０２０を重畳した画像）がＨＭＤ１０００の表示部１０２０に表示される。ステップＳ２１０では、撮像画像に映る基準物体３０３０と位置合わせ確認指標３０２０が十分に合致している場合に入力される合致判定入力部１１４０のイベントの有無を記憶部１０８０で確認し、入力がない場合は、ステップＳ２０１に戻り、入力があった場合は、処理を終了する。
【００３５】
図９、図６、図７は、以上のようにして構成されるマーカ配置補助装置を用いて、マーカ３０４０Ａの配置作業を実施する際の作業過程（第三者視点から見た概念図）を示している。図９の状況では、マーカ３０４０がユーザの視界に入っていないため、マーカが検出されず、結果として仮想マーカ３０１０Ａ〜Ｄのみが実写映像に重畳描画される。仮想マーカ３０１０Ａ〜Ｄは撮像位置姿勢計測部１０３０による撮像部の位置姿勢計測結果に従って描画されている。
【００３６】
ユーザは、このような仮想マーカを目視することにより、どの場所にどのマーカを配置するべきかを容易に知ることができる。例えば、マーカ３０４０Ａの配置場所は、仮想マーカ３０１０Ａを観察することで知ることができる。撮像位置姿勢計測部１０３０の計測精度は高いことが望ましいが、計測値に誤差が含まれる場合であっても、マーカを配置すべき位置姿勢の目安を与えるという目的は十分に果たすことができる。
【００３７】
次に、図６に示したように、マーカ３０４０Ａが視野に入ると（すなわち、マーカ３０４０Ａがマーカ検出部１０７０で検出されると）、位置合わせ確認指標３０２０がマーカ３０４０Ａの現在の配置状況に応じて表示される。ユーザは、この位置合わせ確認指標３０２０が撮影画像中の基準物体３０３０と一致するようにマーカ３０４０Ａの配置を調整することにより、正しい（あらかじめ定めた配置情報と一致する）位置姿勢にマーカ３０４０Ａを配置する作業が容易に実施できる。正しい位置姿勢にマーカ３０４０Ａが配置された場合には、図７に示すように、基準物体３０３０と位置合わせ確認指標３０２０が画像上で一致している状況、すなわち、現実空間と仮想物体との正確な位置合わせがなされている状態となるので、配置の精度を容易に確認することができる。
【００３８】
以上のようにして、あらかじめ定められた（例えば、１次システム構築者があらかじめ設計しておいた）マーカ配置にしたがって、経験の浅いユーザ（２次システム構築者）であっても、容易に適切なマーカ配置を行うことが可能となる。
【００３９】
なお、第１実施形態では、マーカ配置補助装置は一つの独立したアプリケーションの形で実現されているが、同様の機能を有するモジュールを、実際に配置したマーカを用いて撮像部の位置姿勢の計測を行う撮像位置姿勢計測装置の一部として実現してもよい。この場合、合致判定入力部１１４０へのユーザからの入力に応じて、上記のマーカ配置補助機能の有効化／無効化の切り替えが任意に行えることが望ましい。
【００４０】
なお、基準物体３０３０の形状は図３に示すようなサイズのテーブルと壁に限定されるものではなく、道路やビルの側面などの大きなスケールのものでも、一辺が数１０ｃｍから数ｃｍ程度の物体等の小さなスケールのものでも、撮像部１０１０が認識可能なマーカのサイズを貼り付け可能な物体の大きさであれば適用可能である。また、マーカを配置（貼り付け）する物体以外の物体を基準物体（位置合わせ指標）としてもよい。
【００４１】
[変形例１]
位置合わせ確認指標３０２０は図５に示すように基準物体を線分（グリッド）で表示することに限定されるものではない。ユーザが基準物体３０３０と位置合わせ確認指標３０２０との合致の度合いを視覚的に判断可能な表示形態であればどのような表示形態であっても適用可能である。例えば、平面を半透明の板で表現したＣＧ画像を描画してもよいし、基準物体３０３０の頂点を画像処理によって検出し、位置合わせ確認指標３０２０の対応する各頂点との画面上での距離を数値化して表示部１０２０に表示してもよい。
【００４２】
[変形例２]
上記実施形態においては、実際のマーカを検出できた場合にのみ位置合わせ確認指標３０２０の描画が実行される（ステップＳ２０８）。しかしながら、マーカを検出できなかった場合に、撮像位置姿勢計測部１０３０が計測した撮像部１０１０の位置姿勢計測値を用いて位置合わせ確認指標３０２０を描画してもよい。このような構成にすれば、ユーザは、基準物体３０３０と位置合わせ確認指標３０２０とのずれの様子から、仮想マーカの位置姿勢の精度を把握することが可能となる。さらに、実際のマーカが検出されなかった際の位置合わせ確認指標３０２０の描画について、「非表示」か「撮像位置姿勢計測値による描画」のいずれか一方に、ユーザが自由に切り替えられるようにしてもよい。
【００４３】
[変形例３]
上記実施形態において、マーカ検出部１０７０において複数のマーカが検出された場合には、検出された全てのマーカを用いて撮像位置姿勢算出部１０９０における撮像部１０１０の位置姿勢の算出が行われるものとする。この場合、複数のマーカの各々よって求まる撮像部１０１０の位置姿勢の平均値を初期カメラ位置姿勢とし、さらに、初期カメラ位置姿勢を用いて記憶部１０８０内のマーカの幾何情報の頂点位置を画像面に投影し、さらに、投影された複数のマーカの頂点と検出された複数のマーカの頂点の誤差が最小になるようなカメラ位置姿勢を繰り返し演算によって求める方法を用いることになる。例えば、１つのマーカから求める方法と同様に、複数のマーカの頂点の全て（マーカが２つあれば８個の頂点）に一番フィットするようなカメラ位置姿勢を、ニュートン法のような繰り返し演算によって算出していく。但し、複数のマーカが検出された場合の処理はこれに限られるものではない。例えば、複数のマーカのうちの一つ以上のマーカを選択的に用いて撮像部１０１０の位置姿勢を算出するようにしてもよい。これは、撮像位置姿勢算出部１０９０における演算に利用するマーカを選択する機能を設けることで実現できる。このように構成すれば、配置の完了していないマーカのみの配置の精度を示すことができ、マーカの配置が容易になる。より具体的には、ユーザは、不図示のＵＩを介して、個々のマーカに対して配置済みか否かのフラグを設定する。マーカ検出部１０７０は、配置済みと判断されたマーカの検出データは破棄し、配置済みでないマーカの検出データのみを記憶部１０８０へと格納する。これにより、配置済みでないマーカのみのデータを用いて位置合わせ確認指標３０２０の描画が実行されるので、配置の調整をより直感的に行うことができる。
【００４４】
また、配置の完了しているマーカの検出データを破棄せずに、撮像位置姿勢計測部１０３０における撮像位置姿勢の計測に利用するようにしてもよい。この場合、撮像位置姿勢計測部１０３０は、配置の完了しているマーカの検出データを用いて、撮像位置姿勢算出部１０９０と同様な方法によって撮像部１０１０の位置姿勢を算出する。また、他のデータと配置の完了しているマーカの検出データとを組み合わせて（例えば磁気センサによる位置姿勢計測値を初期値としてマーカの頂点位置データを投影し、検出されたマーカの頂点との誤差が最小になるようなカメラ位置姿勢を繰り返し演算によって求める方法など）、撮像部１０１０の位置姿勢を算出してもよい。
【００４５】
[変形例４]
上記実施形態では、あらかじめ定義されたマーカの配置情報に合うように各マーカを配置することを目的としていた。しかし、上述したマーカ配置補助装置を、マーカの大まかな配置情報（マーカをどのような分布で配置したらよいかという情報）を得る目的のみに用いることも可能である。この場合、ユーザによって重要なのは仮想マーカの表示のみであり、このような目的を達成するためには、マーカ配置補助装置は、マーカ検出部１０７０、撮像位置算出部１０９０、確認指標描画部１１１０の各機能を必ずしも必要としない。この場合のユーザは、仮想マーカの表示を参考にして、その仮想マーカの付近にマーカを配置する。このあと、例えば非特許文献２や非特許文献３で述べられているようなマーカキャリブレーションを実行することで、現実のマーカ配置に合わせたマーカ配置情報を得ることができる。なお、このマーカキャリブレーションは、マーカ配置補助装置の機能の一部として実装されていてもよいし、他の装置やツールを用いてもよい。
【００４６】
また、１次システム構築者が定義したマーカの３次元位置姿勢をベースとして、２次システム構築者自身が現場に最適な３次元マーカ位置姿勢を定義し直し、さらに定義し直したマーカを基準として調整を行ってもよい。
【００４７】
この場合、まず、あらかじめ定義されたマーカの位置姿勢で上述した配置補助方法を用いてマーカ３０４０Ａ〜３０４０Ｄを全て配置する。次に、２次システム構築者が実際の基準物体３０３０に最適な位置姿勢にマーカを配置し直す。この時点で配置を変更したマーカは、記憶部１０８０内の３次元位置姿勢と、実際の位置姿勢が同一ではなくなる。
【００４８】
次に、非特許文献２、非特許文献３で述べられているような、基準とするマーカの位置姿勢と全てのマーカが撮像されている複数の画像から、芋づる式に全てのマーカの３次元位置姿勢を求めるマーカキャリブレーションを実行し、記憶部１０８０内のマーカの３次元位置姿勢を実際のマーカの３次元位置姿勢に更新する。
【００４９】
ただし、前述したようにマーカキャリブレーションでは計測誤差等で誤差が残る可能性があるため、再度、本実施形態のマーカ配置補助方法の処理を実行し、位置合わせ確認指標３０２０を表示する。そして、ユーザは、表示された位置合わせ確認指標３０２０と撮像映像に映る基準物体３０３０が合致するようにマーカを物理的に微調整する。
【００５０】
このように、本発明のマーカ配置補助方法の処理と周知のマーカキャリブレーションを組み合わせて利用することで、１次システム構築者のマーカ配置をベースとして、現場における２次システム構築者のマーカ配置の自由度が向上し、実際の利用現場に最適な調整が可能になる。
【００５１】
[変形例５]
本発明の適用範囲は、ステレオの撮像と表示を行うことに限定されるものではなく、少なくとも１組以上の撮像部と表示部があれば適応可能である。また、本発明の適用範囲は、ビデオシースルー型のＨＭＤ１０００を使用することに限定されるものではない。ユーザが自由に位置姿勢を操作可能な撮像部１０１０と、ユーザが観察可能な表示部１０３０を有した構成であれば本発明は適用可能である。例えば、ユーザが撮像部１０１０を手に持ち、ユーザが観察可能な状態で大型モニタ等の表示部１０３０が設置されているという構成であっても、上記実施形態と同様なマーカ配置補助方法を実現できる。また、本発明の適用範囲は、撮像部の種類に限定されるものではなく、現実空間を撮像可能であり、ユーザがその画像を見て現実空間であると認識でき、かつ、マーカ検出処理が実行可能であればよい。同様に、本発明の適用範囲は、表示装置の種類に限定されるものではなく、ユーザがマーカ配置の指示を確認できる表示装置であれば、いずれの表示装置であっても適用可能である。
【００５２】
[変形例６]
撮像位置姿勢計測部１０３０は磁気センサに限定されるものではなく、撮像部１０１０のおおまかな位置姿勢を算出できる方法であれば、いかなる構成でもよい。例えば、光学センサや超音波センサによる位置姿勢計測、あるいは、配置情報が既知な状態であらかじめ設置されているマーカ（基準マーカ）を撮像部１０１０で撮像した２次元画像情報から撮像位置姿勢を求める公知のコンピュータビジョン手法なども適用できる。
【００５３】
[変形例７]
上記実施形態では、非特許文献１に述べられている正方形マーカを配置する場合を説明したが、本発明はマーカの種類に限定されるものではない。例えば、非特許文献４に記載されている他の正方形マーカを配置したい場合にも本発明を適用できることは明らかである。この場合、個々のマーカの仕様に応じてマーカ検出部１０７０のアルゴリズムや、仮想マーカ描画部１１１０を変更すればよい。また、円形マーカや球状マーカ、同心円マーカなどを配置したい場合であっても、対象とするマーカを検出するためのマーカ検出部１０７０を構成すればよい。そしてそれらのマーカを用いて（場合によっては他のセンサと組み合わせて）撮像部１０１０の位置姿勢を算出する撮像位置姿勢算出部１０９０を構成し、マーカの位置と種類を示す仮想マーカ描画部１１１０を構成すればよい。なお、位置のみが配置情報として定義される（姿勢という概念が存在しない）球状マーカ等の配置作業に対する配置補助を行う場合には、あらかじめ定めた配置情報としてマーカの位置だけが与えられるので、その位置情報のみを（例えば、マーカの重心位置への十字形のＣＧの描画や、マーカと同サイズのワイヤーフレーム球体の描画によって）表示すればよい。
【００５４】
[変形例８]
上記実施形態では、図３に示すように、ＨＭＤ１０００を装着したユーザ３０６０が、マーカ３０４０Ａ〜３０４０Ｄを配置・調整するために、マーカを物理的に移動させている。しかし、本発明の適用範囲は、このようにユーザ３０６０自身が、マーカに直接配置・調整することに限定されるものではない。例えば、移動ロボット等によって構成されるマーカ配置調整部１０６０をさらに有し、ユーザの指示によって移動ロボットを制御し、マーカの配置・調整を行うことも可能である。
【００５５】
以上説明したように、上記実施形態や変形例によれば、マーカキャリブレーションで取りきれなかったマーカ配置誤差を打ち消すための現場的な解法を提供すると同時に、経験の浅い２次システム構築者であってもマーカ配置作業ができるマーカ配置補助方法を提供することができる。
【００５６】
なお、上記実施形態や変形例のマーカ配置補助方法を用いて配置されたマーカは、撮像部１０１０の位置姿勢を用いて現実空間に仮想物体を重畳表示する複合現実感提示装置にそのまま適用可能である。すなわち、合致判定入力部１１４０からの合致判定入力により、撮像位置姿勢計測部１０３０による位置姿勢計測とマーカを用いたキャリブレーションを実行しながら、上記複合現実感提示装置による複合現実感提示を実行していく。
【００５７】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５８】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６６】
【図１】実施形態のマーカ配置補助装置の機能構成を示すブロック図である。
【図２】実施形態によるマーカ配置補助方法の処理手順を示すフローチャートである。
【図３】実施形態におけるマーカ配置補助方法の利用時の構成を示す模式図である。
【図４】実施形態における、仮想マーカ描画部１１００によって描画される仮想マーカ３０１０を示す模式図である。
【図５】実施形態における、確認指標描画部１１１０によって描画される位置合わせ確認指標３０２０の一例を示す模式図である。
【図６】実施形態における、表示部１０２０に表示される映像例を示す模式図である。
【図７】マーカ３０４０Ａを正しく配置した場合における表示状態を示す模式図である。
【図８】記憶部１０８０内に格納されるマーカデータの内容を示すリストである。
【図９】マーカが検出されていない状態での表示例を示す模式図である。
【図１】
2007064684.tif 000003
【図２】
2007064684.tif 000004
【図３】
2007064684.tif 000005
【図４】
2007064684.tif 000006
【図５】
2007064684.tif 000007
【図６】
2007064684.tif 000008
【図７】
2007064684.tif 000009
【図８】
2007064684.tif 000010
【図９】
2007064684.tif 000011