(57)【要約】【課題】計測用マーカを利用するための初期設定を簡便に行えるようにする。【解決手段】カメラにより撮影された実空間に固定された計測用マーカの画像に基づいて該カメラの位置及び姿勢を推定する位置姿勢推定方法において、計測用マーカは、縦及び横にそれぞれ所定の長さを有する帯領域と、該帯領域上の複数の所定位置に設けられた複数の部分マーカとを有する。ここで、該複数の部分マーカはそれぞれが一意に識別可能であるとともに上下左右を判別可能である。そして、カメラによって得られた計測用マーカの撮影画像より帯領域及び／又は部分マーカの特徴点を抽出し、抽出された特徴点が計測マークのどの特徴点であるかを特定する。そして、帯領域の位置を基準に定義された世界座標系における特定された特徴点の位置座標に基づいて、カメラの位置及び姿勢を推定する。【選択図】  図４
2005308699.tif 000002
【特許請求の範囲】
【請求項１】
縦及び横にそれぞれ所定の長さを有する帯状部材と、
前記帯状部材上の複数の所定位置に設けられた、それぞれが一意に識別可能であるとともに上下左右を判別可能な、複数の部分マーカとを備えることを特徴とする３次元位置姿勢計測用のマーカ。
【請求項２】
前記複数の部分マーカの間に所定間隔で配置された目盛線を更に有することを特徴とする請求項１に記載の３次元位置姿勢計測用のマーカ。
【請求項３】
前記帯状部材が粘着テープで構成されることを特徴とする請求項１または２に記載の３次元位置計測用のマーカ。
【請求項４】
２つの前記帯状部材を所定位置及び所定角度で重ねた構成を有することを特徴とする請求項１に記載の３次元位置計測用マーカ。
【請求項５】
カメラにより撮影された実空間に固定された計測用マーカの画像に基づいて該カメラの位置及び姿勢を推定する位置姿勢推定方法であって、
前記計測用マーカは、縦及び横にそれぞれ所定の長さを有する帯領域と、該帯領域上の複数の所定位置に設けられた複数の部分マーカとを有し、該複数の部分マーカはそれぞれが一意に識別可能であるとともに上下左右を判別可能であり、
前記カメラによって得られた前記計測用マーカの撮影画像より帯領域及び／又は部分マーカの特徴点を抽出する抽出工程と、
前記抽出工程で抽出された特徴点が前記計測マークのどの特徴点であるかを特定する特定工程と、
前記特定工程で特定された特徴点の、前記帯領域の位置を基準に定義された世界座標系における位置座標に基づいて、前記カメラの位置及び姿勢を推定する推定工程とを備えることを特徴とする位置姿勢推定方法。
【請求項６】
前記計測用マーカは、前記帯領域上の前記複数の部分マーカの間に所定間隔で配置された目盛線を更に備え、
前記特定工程により位置、姿勢を推定するのに必要な特徴点を特定できなかった場合、前記撮影画像より前記帯領域の輪郭線及び前記目盛線を抽出する第２抽出工程と、
カメラ位置姿勢の直前の推定結果と前記第２抽出工程で抽出された輪郭線及び目盛線の位置に基づいて、現在のカメラ位置及び姿勢を推定する第２推定工程とを更に備えることを特徴とする請求項５に記載の位置姿勢推定方法。
【請求項７】
前記推定工程は、前記帯領域の特徴点を優先的に用いて位置及び姿勢の推定を行うことを特徴とする請求項５に記載の位置姿勢推定方法。
【請求項８】
前記計測用マーカは、縦及び横にそれぞれ所定の長さを有する２つの帯領域を、所定の位置で所定の角度をもって重ね合わせた形状を有することを特徴とする請求項５に記載の位置姿勢推定方法。
【請求項９】
前記２つの帯領域のそれぞれは、その下地色が異なるものであり、
前記特定工程は、撮影画像中の帯領域の下地色を利用して抽出された特徴点を一意に特定することを特徴とする請求項８に記載の位置姿勢推定方法。
【請求項１０】
実空間上に配置された指標を撮影した画像に基づき、撮影部の位置及び姿勢を求める位置姿勢推定方法であって、
前記指標は仮想世界の座標系を定義する指標であり、
前記指標を撮影した画像から前記指標の特徴部を抽出し、
前記抽出された特徴部から前記撮影部の位置及び姿勢を推定する位置姿勢推定方法であり、
前記座標系は、２つの帯状の形状を有する指標が交差した部分を原点とし、前記２つの帯状の形状を有する指標によって示される２つの方向および前記原点を通る鉛直方向を３軸とすることを特徴とする位置姿勢推定方法。
【請求項１１】
前記帯状の形状を有する指標は、所定位置に種類を識別可能な指標を有し、
前記特徴部には、前記識別可能な指標に関する特徴および前記帯状の形状の輪郭が含まれることを特徴とする請求項１０に記載の位置姿勢推定方法。
【請求項１２】
カメラにより撮影された実空間に固定された計測用マーカの画像に基づいて該カメラの位置及び姿勢を推定する位置姿勢推定装置であって、
前記計測用マーカは、縦及び横にそれぞれ所定の長さを有する帯領域と、該帯領域上の複数の所定位置に設けられた複数の部分マーカとを有し、該複数の部分マーカはそれぞれが一意に識別可能であるとともに上下左右を判別可能であり、
前記カメラによって得られた前記計測用マーカの撮影画像より帯領域及び／又は部分マーカの特徴点を抽出する抽出手段と、
前記抽出手段で抽出された特徴点が前記計測マークのどの特徴点であるかを特定する特定手段と、
前記特定手段で特定された特徴点の、前記帯領域の位置を基準に定義された世界座標系における位置座標に基づいて、前記カメラの位置及び姿勢を推定する推定手段とを備えることを特徴とする位置姿勢推定装置。
【請求項１３】
実空間上に配置された指標を撮影した画像に基づき、撮影部の位置及び姿勢を求める位置姿勢推定装置であって、
仮想世界の座標系を定義する指標を撮影した画像から該指標の特徴部を抽出する抽出手段と、
前記抽出された特徴部から前記撮影部の位置及び姿勢を推定する推定手段とを備え、
前記座標系は、２つの帯状の形状を有する指標が交差した部分を原点とし、前記２つの帯状の形状を有する指標によって示される２つの方向および前記原点を通る鉛直方向を３軸とすることを特徴とする位置姿勢推定装置。
【請求項１４】
請求項５乃至１１のいずれかに記載の位置姿勢推定方法をコンピュータに実行させるための制御プログラム。
【請求項１５】
請求項５乃至１１のいずれかに記載の位置姿勢推定方法をコンピュータに実行させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラの位置および姿勢を画像から推定する技術に関する。
【背景技術】
【０００２】
ＶＲ（バーチャルリアリティ）システムは、コンピュータの作り出す三次元ＣＧをユーザに提示することで、仮想の世界をあたかも現実であるかのように感じさせるシステムである。また、近年、現実世界の映像に三次元ＣＧを合成することで現実世界にはない情報をユーザに提示する技術の開発もなされており、それらはＭＲ（Mixed Reality、複合現実感）システムと呼ばれている。このようなＭＲシステムを実現する装置の代表的なものとして、ヘッドマウントディスプレイ（以下、ＨＭＤ）があげられる。この場合、ＭＲシステムでは、現実世界と仮想世界を合成してＨＭＤに表示することにより、複合現実感を実現する。
【０００３】
上述のようなＭＲシステムでは、現実世界と三次元ＣＧで表される仮想世界との位置合わせ技術が不可欠である。現実世界と仮想世界との位置がずれてしまうと、たとえば現実世界のテーブルの上に置いたはずの仮想のティーポットが浮いてしまったり沈み込んでしまったりして見えてしまう。そのため、現実世界と仮想世界との位置合わせを行う技術が従来より多数提案されている。
【０００４】
このような多くの位置合わせ技術の中でも特に有効な方法が、非特許文献１に記載されているような、画像を用いた位置合わせ技術である。この方法では、現実世界にあらかじめ位置の基準となる物体等を一つ以上配し、その物体をＨＭＤに備えたビデオカメラによって撮影し、画像中における物体の位置からＨＭＤの現実世界における位置を算出する。なお、現実世界にあらかじめ配置する物体としては、平面にあらかじめ定められた図形を印刷したもの（マーカと呼ばれる）が使われることが多い。
【非特許文献１】“マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”（加藤博一ほか、日本バーチャルリアリティ学会論文誌  第４巻第４号、pp.607-616, 1999.）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなマーカを用いた位置合わせ技術には、次のような問題があった。まず第１に、マーカそれ自体は蛍光色の同心円や二次元バーコード等で構成されることが多いが、そのようなマーカは現実世界のユーザにとって意味を持たないものであるため、不自然なものとして見えてしまうという問題がある。そのため、ＭＲシステムを用いてデザインの評価を行う際などに目ざわりなものと感じられてしまうことがあった。また、マーカの意味がわかりづらいため、場合によっては事情を知らない第三者によって勝手にマーカを動かされてしまうという事態も起こりえた。
【０００６】
第２に、マーカをＭＲシステムで用いるための初期設定に時間がかかってしまうという問題があった。従来方法では、マーカを用いた位置合わせを行う際には、マーカの正確な位置があらかじめわかっている必要がある。そのため、巻尺や測量器等でマーカの位置を測定し、さらにそのマーカの位置をＭＲシステムに教えるためにマーカ記述ファイル等を作成してＭＲシステムに読み込ませる必要があった。これは特にマーカを複数配置した場合に煩雑であった。
【０００７】
本発明は、上記課題に鑑みてなされたものであって、計測用マーカを利用するための初期設定を簡便に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明による３次元位置姿勢計測用のマーカは、以下の構成を備える。即ち、
縦及び横にそれぞれ所定の長さを有する帯状部材と、
前記帯状部材上の複数の所定位置に設けられた、それぞれが一意に識別可能であるとともに上下左右を判別可能な、複数の部分マーカとを備える。
【０００９】
また、上記の目的を達成するための本発明の一態様による位置姿勢推定法は、
カメラにより撮影された実空間に固定された計測用マーカの画像に基づいて該カメラの位置及び姿勢を推定する位置姿勢推定方法であって、
前記計測用マーカは、縦及び横にそれぞれ所定の長さを有する帯領域と、該帯領域上の複数の所定位置に設けられた複数の部分マーカとを有し、該複数の部分マーカはそれぞれが一意に識別可能であるとともに上下左右を判別可能であり、
前記カメラによって得られた前記計測用マーカの撮影画像より帯領域及び／又は部分マーカの特徴点を抽出する抽出工程と、
前記抽出工程で抽出された特徴点が前記計測マークのどの特徴点であるかを特定する特定工程と、
前記特定工程で特定された特徴点の、前記帯領域の位置を基準に定義された世界座標系における位置座標に基づいて、前記カメラの位置及び姿勢を推定する推定工程とを備える。
【発明の効果】
【００１０】
本発明によれば、計測用マーカを利用するための初期設定を簡便に行える。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明による位置姿勢推定方法を実現するための最良の形態について説明する。
【００１２】
本実施形態では、現実世界に配置された自動車の１／２スケールモデルのＣＧをＨＭＤをかけたユーザが観察し、デザインの評価をするというＭＲシステムを例として説明を行う。また、このＭＲシステムには、自動車のスケールモデル全体とＨＭＤをかけたユーザを観察するための客観カメラが備えられているものとする。また、ＨＭＤに設けられたカメラの位置、姿勢と客観カメラの位置、姿勢は、それぞれのカメラから取得された画像に基づいて個別に推定される。
【００１３】
本実施形態による位置姿勢推定方法を実現するために、ユーザは次の準備を行う。まず、カメラ位置姿勢の推定に用いる２種類のマーカを用意する。本実施形態のマーカは次のような特徴を備える。
(1) それぞれ異なる色を基調としている。
(2) 帯状の形状であり、縦、横の長さはあらかじめ定められている。
(3) 一定間隔で目盛りが記されている。
(4) あらかじめ定められた位置に多角形の形状を有するマークが複数記されている。本実施形態では、最も外部の輪郭線が多角形をなすマークとする。
(5) 同じマーカに記されている(4)のマークはそれぞれ一意に判別できる。
(6) (4)のマークはそれぞれ上下左右が一意に判別できる。
【００１４】
以降、帯状のマーカを全体マーカ、上記(4)のマークを部分マーカと呼称する。上述した(1)〜(6)の特徴を備えた全体マーカの例として、本実施形態では図３の全体マーカ３０１、３０２を用いる。全体マーカ３０１，３０２は具体的には次の特徴を備える。
(1) それぞれ赤色と青色を基調としている
(2) それぞれ縦の長さが１０ｃｍ、横の長さが３５０ｃｍである。
(3) １０ｃｍ間隔で小さい目盛りが、５０ｃｍ間隔で大きい目盛りが入っている。
(4) 端から５０ｃｍ、１５０ｃｍ、２５０ｃｍの位置に一辺が１０ｃｍの正方形のマークが部分マーカとして印刷されている。
(5) 部分マーカの中にはそれぞれ『０』、『１』、『２』という文字が記されており、各部分マーカを一意に判別できる。
(6) 部分マーカは全て上下左右が一意に判別できる。なお、本実施形態では部分マーカの上下左右を数字の向きを判定することで行う。よって、『０』の上下左右を明示するために、部分マーカの数字０の下にアンダーラインを入れている。もちろん、部分マーカの上下左右の判別方法はこれに限られるものではなく、例えば、マークの形状を三角形や台形にして、マークの形状から上下左右を判別するようにしてもよい。
【００１５】
全体マーカ３０１、３０２が用意できたら、ユーザはあらかじめ定められた方法で全体マーカ３０１、３０２を配置する。配置の際には次の条件、
『２つの全体マーカが、あらかじめ定められた位置と、あらかじめ定められた角度で重なり合うようにする』
を満たすようにする。
【００１６】
この条件を満たすため、本実施形態では全体マーカ３０１、３０２を図４のように部分マーカ『０』の位置で直交するように配置する。ここで、ユーザが図４のように全体マーカを配置すると同時に、仮想世界の世界座標系が全体マーカ３０１、３０２を基準にして自動的に定義される。本実施形態では、図４に示されるように、全体マーカ３０１と３０２が交差した部分、すなわち部分マーカ『０』の部分を原点に、全体マーカ３０１の方向をＸ軸、部分マーカ３０２の方向をＺ軸、鉛直上向き方向をＹ軸とする世界座標系４０１が定義されるものとする。
【００１７】
上記のように、本実施形態では全体マーカ３０１、３０２を配置することでユーザは自由に世界座標系を定義できる。また、全体マーカの世界座標が決まれば、全ての部分マーカや輪郭線の位置も決まる。そのため、従来必要であったマーカの位置測定やマーカ記述ファイルの作成は不要となる。また、全体マーカ３０１、３０２は現実世界と仮想世界との位置合わせのためのマーカとして機能するだけでなく、全体マーカに記された目盛りが現実世界における巻尺のようにして機能するため、仮想の自動車のスケールモデルの大きさを測定するために用いることができるようになる。
【００１８】
以上の準備を終えると、本実施形態によるカメラの位置姿勢推定方法を実行することができる。本実施形態におけるＭＲシステムには、図６に示されるようにＨＭＤ６０１をかけたユーザと、ユーザの背後からユーザを撮影する客観カメラ６０２がある。ＨＭＤ６０１をかけたユーザは自分の視点から図５に示されるような仮想の自動車の１／２スケールモデルのＣＧ５０１を観察し、客観カメラ６０２は固定された視点からスケールモデルのＣＧ５０１を観察する。
【００１９】
図１０は本実施形態によるＭＲシステムの構成を示すブロック図である。図１０において、ＨＭＤ６０１はユーザ視点の画像を取り込むためのカメラ１０１と複合現実感画像（ＭＲ画像）を提示するためのディスプレイ１０２を備える。客観カメラ６０２は客観カメラ制御ユニット１０４に接続される。ＣＰＵ１０５はＲＯＭ１０６に格納された制御プログラムを実行することにより本ＭＲシステムにおける各種制御を実行する。例えば、図１及び図２のフローチャートを参照して後述するカメラ１０１及びカメラ６０２の位置姿勢を推定するための処理がＣＰＵ１０５によって実行される。ＲＡＭ１０７はＣＰＵ１０５の作業用メモリを提供する。なお、各カメラから得られる画像データを格納する領域や、合成すべきＣＧ画像等を描画するための領域もＲＡＭ１０７に含まれる。なお、ＣＧ画像は外部記憶装置１０８に格納されているＣＧデータに基づいて描画される。
【００２０】
図１は本実施形態における映像合成方法の処理の流れを示したフローチャートである。なお、本フローチャートに示される処理をコンピュータに実行させるための制御プログラムはＭＲシステムに備えられた記憶部としてのＲＯＭ１０６に記憶されている。そして、ユーザがＭＲシステムにＭＲ体験の開始を指示した際にＭＲシステムに備えられた映像処理部としてのＣＰＵ１０５がそのプログラムを読み出し、実行する。また、図１のフローチャートで示されるプログラムは、ＨＭＤ６０１と客観カメラ６０２に対してそれぞれ独立に実行される。以下、図面を参照しながら、本実施形態によるカメラの位置姿勢推定方法の処理の流れについて説明する。
【００２１】
プログラムがスタートされると、ステップＳ１０１において画像が取得される。ステップＳ１０１では、ＨＭＤ６０１や客観カメラ６０２のカメラが撮影した画像がＭＲシステム内の映像処理部に送られる。ステップＳ１０１の画像取得処理が終了すると、ステップＳ１０２において、カメラ位置姿勢推定処理が開始される。このカメラ位置姿勢推定処理では、現実世界と仮想世界との位置合わせを行うために、ＭＲシステム内の映像処理部がＨＭＤ６０１や客観カメラ６０２が世界座標系４０１の中でどの位置姿勢になっているかを推定する。このカメラ位置姿勢推定処理では、上述したマーカ３０１，３０２を利用してカメラの位置及び姿勢を推定する。この推定処理自体はどのような手順でなされてもよいが、たとえば図２のフローチャートに示されるような手順でなされる。なお、図２のフローチャートに示される処理をコンピュータに実行させるための制御プログラムはＭＲシステムに備えられたＲＯＭ１０６に記憶されている。そして、ＭＲシステムに備えられた映像処理部としてのＣＰＵ１０６がステップＳ１０２のカメラ位置姿勢推定処理を実行するに際して読み出され、実行される。
【００２２】
ステップＳ２０１では全体マーカを認識する。まず、ステップＳ１０１で取得した画像から、エッジ検出や直線抽出等により全体マーカ３０１，３０２の特徴点を抽出する。全体マーカ３０１，３０２の特徴点の位置は全体マーカの形状と配置の方法によってあらかじめ決められる。ここで、図７は客観カメラ６０２の撮影した映像を示した図であり、その映像の中には２つの全体マーカ３０１，３０２が捉えられている。本実施形態の全体マーカの特徴点は、２つの全体マーカの交差点７０１、それぞれの全体マーカの端点７０２〜７０５である。そして、全体マーカ３０１，３０２の基調色等に基づき、各特徴点を一意に識別、特定する。
【００２３】
一般に、同一平面上にあって世界座標が既知の点が４点以上画像上で捉えられれば、その画像を撮影した内部パラメータが既知のカメラの世界座標における位置姿勢が求められることが知られている（非特許文献１を参照）。したがって、この過程で全体マーカの特徴点が４点以上特定されていればＨＭＤ６０１もしくは客観カメラ６０２の位置姿勢が求まるため、ステップＳ２０１ａからステップＳ２０２へ進み、客観カメラ６０２のカメラ位置姿勢を算出する。もしも特徴点が３点以下しか特定できなかった場合には、ステップＳ２０３へ進み、部分マーカ認識処理を行うことにある。
【００２４】
ステップＳ２０２では、ステップＳ２０１で推定した各特徴点の座標と、それら特徴点の世界座標における三次元位置とを使ってＨＭＤ６０１もしくは客観カメラ６０２の位置および姿勢を求める。ここで、全体マーカの形状および配置方法はあらかじめ定められているため、特徴点の三次元位置は既知のものとして扱える。即ち、抽出した特徴点が全体マーカに設定されているいずれの特徴点に対応するものであるかを特定すれば、それらの特徴点の位置は既知となり、それらを用いてカメラの位置、姿勢を推定することができる。例えば、本実施形態における特徴点７０１〜７０５の世界座標における三次元位置はそれぞれ、
７０１：（ｘ，ｙ，ｚ）＝（０，０，０）
７０２：（ｘ，ｙ，ｚ）＝（０，０，３００）
７０３：（ｘ，ｙ，ｚ）＝（３００，０，０）
７０４：（ｘ，ｙ，ｚ）＝（−５０，０，０）
７０５：（ｘ，ｙ，ｚ）＝（０，０，−５０）単位：ｃｍ
となっている。
【００２５】
ステップＳ２０２によるカメラ位置姿勢算出が終わると、ステップＳ１０２を終了してステップＳ１０３の描画処理に進む。
【００２６】
ステップＳ２０３では、部分マーカを認識する。ここでは、ステップＳ１０１で取得した画像から、部分マーカの特徴点を抽出する。部分マーカの特徴点は部分マーカの形状によってあらかじめ決められる。図８はＨＭＤ６０１の撮影した映像を説明した図である。図８には全体マーカの特徴点は捉えられておらず、部分マーカが捉えられている。本実施形態では部分マーカは正方形として定められているので、その特徴点は、正方形の頂点８０１〜８０４である。
【００２７】
部分マーカの特徴点を抽出したら、次に部分マーカの同定および上下左右の同定を行う。この過程では、抽出した部分マーカが全体マーカにある複数の部分マーカのうちどのマーカであるのか、また部分マーカの上下左右をパターンマッチングなどの手法により同定する。なお、全体マーカ３０１，３０２のいずれに属する部分マーカであるかは、基調色（下地色）により判断できる。
【００２８】
以上の過程で、特徴点が４点以上見つかり、なおかつ部分マーカの同定および上下左右の同定ができれば、当該部分マーカから抽出された各特徴点を一意に特定できるので、それらの位置は既知である。よって、それらの特徴点を用いてＨＭＤ６０１もしくは客観カメラ６０２の位置姿勢を推定することができる。よって処理はステップＳ２０３ａからステップＳ２０４へ進み、カメラ位置姿勢の算出を行う。ここで特徴点が３点以下しか見つからなかったり、特徴点が４点以上見つかっても部分マーカの同定ができなかった場合にはステップＳ２０５へ進み、輪郭検出処理を行うことになる。
【００２９】
ステップＳ２０４ではカメラ位置姿勢を算出する。即ち、ステップＳ２０３で求めた特徴点の座標と、その特徴点の世界座標における三次元位置とを使ってＨＭＤ６０１もしくは客観カメラ６０２の位置および姿勢を求める。上述のように、部分マーカの形状および配置方法はあらかじめ定められているため、特徴点の三次元位置は既知のものとして扱える。ステップＳ２０４によるカメラ位置姿勢算出が終わったらステップＳ１０２を終了してステップＳ１０３へ進む。
【００３０】
ステップＳ２０５は輪郭検出ステップである。このステップではまず、画像取得ステップＳ１０１で取得した画像から輪郭線を抽出する。ここで、図９はＨＭＤ６０１の撮影した映像を説明した図である。ここから輪郭線を抽出すると、全体マーカの輪郭線９０１，９０２、目盛りの輪郭線９０３，９０４などが抽出される。ここで、輪郭線が抽出された場合にはステップＳ２０６へ進み、直前の推定で得られたカメラ位置姿勢を補正する。輪郭線が抽出されない場合にはカメラ位置姿勢は不定であるものとしてステップＳ１０２を終了する。
【００３１】
一般に、画像上で特徴点が検出されず輪郭線のみが検出されている場合には、それを撮影したカメラの位置姿勢を完全に求めることはできない。そのため、ステップＳ２０６では、輪郭線の情報を用いて近似的にカメラの位置姿勢を求める。この位置姿勢を近似的に求める方法はどのような方法でもよいが、たとえば、カメラの位置情報には最も最近算定されたものを用い、姿勢の算出には輪郭線の情報を用いるという方法があげられる。この方法は、最も最近、たとえば前のサイクルでのステップＳ２０２，Ｓ２０４で算出された値を位置情報として用い、姿勢の算出には非特許文献１の２.３.１節に記されている手法を用いるというものである。この手法では直交する線の画像上での輪郭線から、その画像を撮影したカメラの姿勢を求めることができるため、全体マーカの輪郭線９０１，９０２、目盛りの輪郭線９０３，９０４などからカメラの姿勢を求めることができる。ステップＳ２０６が終了したならば、ステップＳ１０２を終了してステップＳ１０３に進む。なお、本例では姿勢の算出のみを行う構成としたが、姿勢が固定されているのであれば位置を算出することができる。或いは、輪郭線を用いて位置及び姿勢を補正する（不完全ではあるが）ようにしてもよいであろう。
【００３２】
ステップＳ１０３ではＣＧ描画処理を行う。ここではステップＳ１０２で求めたＨＭＤ６０１や客観カメラ６０２の位置姿勢を、仮想世界を描画するカメラの位置姿勢として設定し、仮想世界のＣＧ、たとえばスケールモデルのＣＧ５０１の描画を行う。なお、この際、ステップＳ１０２においてカメラ位置姿勢が不定であると判定された場合には描画を行わない。ステップＳ１０３が終了したらステップＳ１０４へ進む。
【００３３】
ステップＳ１０４では、ステップＳ１０１においてＨＭＤ６０１や客観カメラ６０２で捉えられた映像に対して、ステップＳ１０３で描画されたＣＧを合成する。ステップＳ１０４が終了するとステップＳ１０５へ進む。ステップＳ１０５では、ステップＳ１０４で合成された映像を表示する。この際、ＨＭＤ６０１でＭＲ体験を行っている場合にはＨＭＤ６０１に備えられた表示部に合成画像を表示し、客観カメラ６０２でＭＲ体験を行っている場合には図６には図示していない表示部に合成画像を表示する。一連の表示処理が終わり、ユーザが終了を指示した場合には図１の処理を終了する。終了の指示がなければステップＳ１０１に戻る。
【００３４】
以上、本発明を実現するための最良の形態について説明した。本実施の形態によればば、マーカを用いて現実世界と仮想世界との位置合わせを行うＭＲシステムにおいて、マーカが現実世界において巻尺のようにして機能するためユーザにとって違和感を与えることがない。また、マーカを配置した位置から自動的に世界座標が決まるため、マーカを簡便に配置することができる。また、マーカを用いた位置合わせを行う際に、ユーザにとって現実世界と違和感のないマーカを提供し、さらにそのマーカを利用するための初期設定を簡便に行うことができる位置姿勢推定方法が提供できる。
また、本実施形態のマーカによれば、ＨＭＤを装着しなくてもマーカを見ることによってＣＧがどこに描画されるかを判断したり、ＨＭＤを装着した際にはマーカを定規代わりにしてＣＧの大きさを把握したりすることができる。
【００３５】
なお、本実施形態は位置姿勢推定方法をデザイン評価に用いた例であったが、デザイン評価だけでなく、ゲームや建築シミュレーションにも用いることが可能である。
【００３６】
なお、上記実施形態では２つの全体マーカを同じサイズのものとしたが、両方の全体マーカのサイズが既知であればよく、それぞれに異なるサイズのものであってもよい。また、２つの全体マーカの基調色（下地色）を異なるものとしたが、これは両全体マーカを区別するためのものであり、下地の模様を異なるものにする等、種々の変形が可能である。全体マーカ上に配置される部分マーカや目盛の形状等も上記実施形態に限定されるものではない。例えば、部分マーカは全体マーカと異なる下地色の多角形領域としてもよいことは明らかである。
【００３７】
更に、上記実施形態では２つの全体マーカを用いたが、１つの全体マーカを用いてもカメラの位置姿勢を推定できる。例えば、ＨＭＤのカメラから得られる画像は全体マーカよりも部分マーカである可能性の方が高く、１つの全体マーカを設けておけば十分な場合も考えられる。また２つの全体マーカは、必ずしも部分的に重なっている必要はなく、お互いに離れた位置にあってもよい。
【００３８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００３９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４２】
【図１】本実施形態によるカメラの位置姿勢推定方法を用いた映像合成方法の処理手順を示したフローチャートである。
【図２】本実施形態によるカメラの位置姿勢推定方法のカメラ位置姿勢推定の処理手順を示したフローチャートである。
【図３】本実施形態によるカメラの位置姿勢推定方法で用いるマーカを説明した図である。
【図４】本実施形態によるカメラの位置姿勢推定方法で用いるマーカの配置方法を説明した図である。
【図５】本実施形態による仮想画像の表示例を示す図である。
【図６】本実施形態による映像合成装置の概要を示す図である。
【図７】客観カメラで捉えた画像例を示す図である。
【図８】ＨＭＤのカメラで捉えた画像例を示す図である。
【図９】ＨＭＤのカメラで捉えた画像例を示す図である。
【図１０】本実施形態によるＭＲシステムの構成を示すブロック図である。
【図１】
2005308699.tif 000003
【図２】
2005308699.tif 000004
【図３】
2005308699.tif 000005
【図４】
2005308699.tif 000006
【図５】
2005308699.tif 000007
【図６】
2005308699.tif 000008
【図７】
2005308699.tif 000009
【図８】
2005308699.tif 000010
【図９】
2005308699.tif 000011
【図１０】
2005308699.tif 000012