(57)【要約】【課題】  形状が既知の対象物体上におけるマーカの位置姿勢を正確に、且つ容易に求める為の技術を提供すること。【解決手段】  少なくとも一部の形状が既知であるモックアップの位置姿勢を取得し（Ｓ５３０）、モックアップの画像を取得し（Ｓ５２０）、この画像上のモックアップの複数の特徴箇所を、モックアップの形状に基づいて抽出する（Ｓ５５０）。そして、抽出した情報を用いて、モックアップの位置姿勢を補正する（Ｓ５６０）。そして、この補正量に基づいて、マーカのモックアップ上における位置姿勢を求める（Ｓ５７０）。【選択図】  図５
2008040913.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一部の形状が既知である現実物体の位置姿勢を取得する取得工程と、
前記現実物体上に設けられた指標を含む当該現実物体の画像を取得し、当該画像上の前記現実物体の複数の特徴箇所を、前記形状に基づいて抽出する抽出工程と、
前記抽出工程で抽出した情報を用いて、前記取得工程で取得した位置姿勢を補正する補正工程と、
前記補正工程で補正した補正量に基づいて、前記指標の前記現実物体上における位置を求める計算工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記画像はステレオ画像であり、
前記抽出工程では、ステレオ画像を用いて前記複数の特徴箇所を抽出することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記指標の３次元位置を、前記ステレオ画像に基づいて求める工程を更に備え、
前記計算工程では、前記補正工程での補正量を、前記指標の３次元位置に加えた結果を、前記指標の前記現実物体上における位置として求める
ことを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記補正工程では、モデルベーストラッキングを用いて位置姿勢の補正処理を行うことを特徴とする請求項に記載の情報処理方法。
【請求項５】
少なくとも一部の形状が既知である現実物体の位置姿勢を取得する取得手段と、
前記現実物体上に設けられた指標を含む当該現実物体の画像を取得し、当該画像上の前記現実物体の複数の特徴箇所を、前記形状に基づいて抽出する抽出手段と、
前記抽出手段が抽出した情報を用いて、前記取得手段が取得した位置姿勢を補正する補正手段と、
前記補正手段が補正した補正量に基づいて、前記指標の前記現実物体上における位置を求める計算手段と
を備えることを特徴とする情報処理装置。
【請求項６】
コンピュータに請求項１乃至４の何れか１項に記載の情報処理方法を実行させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間中における対象物の位置姿勢を求める為の技術に関するものである。
【背景技術】
【０００２】
近年、現実空間と仮想空間との繋ぎ目のない結合を目的とした、複合現実感（以下、ＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）と称す）に関する研究が盛んに行われている。ＭＲの中でも現実空間に仮想空間を重ね合わせて表示するＡｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ(ＡＲ、拡張現実感、増強現実感とも呼ばれる)技術が特に注目を集めている。
【０００３】
ＡＲ技術は次のようにして実現される。即ちビデオカメラ等の撮像装置によって撮影された現実空間の画像に撮像装置の位置姿勢に応じて生成された仮想空間（例えばコンピュータグラフィックス（以下ＣＧ）により描画された仮想物体や文字情報等）の画像を画像表示装置の表示画面上に重畳表示する。
【０００４】
例えばＡＲシステムとして、体験者がＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ）を装着して風景（すなわち現実空間の画像）を眺めると、それに対応した位置情報や名称（すなわち仮想空間の画像）が補助表示されるシステム等が知られている。
【０００５】
一方、従来、設計・製造分野において３次元ＣＡＤを使った設計（形状、デザイン）が主流になってきている。即ち３次元ＣＡＤのデータを用いてラピッド・プロトタイピング装置で作成した簡易試作物（モックアップ）に、同じ３次元ＣＡＤのデータを変換して作成した３Ｄ-ＣＧデータを、ＡＲシステムを使って位置姿勢を一致させて重ね合わせ、表示する。これにより、視覚的な評価と触感的な評価とを同時に実現し、より完成品に状態での評価を行う試みがなされている。図１Ａは、現実空間に存在しているモックアップを示す図であり、図１Ｂは、その現実空間にあるモックアップに、そのＣＧを重ねて表示した結果を示す図である。
【０００６】
ＡＲ技術において最も重要な課題の１つは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。
【０００７】
ＡＲにおける位置合わせの問題は、シーン中における（すなわち基準座標系における）視点位置としてのカメラの３次元位置姿勢を求める問題に帰結される。
【０００８】
上述したモックアップにＣＧを重畳する場合においては、モックアップとカメラとの３次元相対位置姿勢を求める問題となる。
【０００９】
このような３次元位置が既知である対象物を撮影し、撮影装置から対象物体の位置姿勢を求めるモデルベーストラッキングが試みられている（非特許文献１）。その一手法として例えば、撮像装置からの２次元的な画像情報に基づいて、物体の頂点やエッジなどの３次元的な幾何特徴を抽出し、これを物体の幾何モデルと照合することにより、物体の位置姿勢を決定する研究がなされている（特許文献４、特許文献５）。
【００１０】
このような技術は、高精度な位置合わせが可能である一方、計算コストが高くリアルタイム処理が難しい。また、物体表面上の頂点やエッジなどの抽出・同定が重要なカギとなるが、例えば現実空間の中でモックアップを把持して動かしながら観察する場合、手がかりであるエッジが手などによって隠蔽され、物体の位置姿勢を算出することは困難となる。さらに、もともとエッジを持たない自由曲面体を扱うことは困難である。
【００１１】
一方、物体の幾何特徴情報を用いずに物体の３次元位置姿勢を計測する方法として、例えば、物体自体に磁気センサや光学式センサ、超音波センサなどの位置姿勢センサなどを付加しておき、センサからの計測値を利用することが行われている。しかし、これら位置姿勢センサによる計測ではそのセンサの精度が不充分であることから、計測値に基づいて現実物体に仮想物体を重畳表示しようとすると、所望の位置よりずれて表示されることがあった。
【００１２】
そのため従来では、センサ誤差を補正する手法として、または、センサを用いずに基準座標系におけるカメラの３次元位置姿勢を計測する方法として次のようなものがある。即ち、基準座標系における座標値（基準座標値）が既知である指標（マーカ）を配置しておき、これをカメラにより撮像して、マーカの基準座標と撮像画像座標の関係をみたすようなカメラの位置姿勢を算出する（例えば、特許文献１、特許文献２）。
【００１３】
一般に、３次元位置の既知な複数の点（理論的には３点以上、安定的に解くためには５点以上）の撮影画像上における位置が得られれば、その対応関係からカメラ視点の位置・姿勢を求めることができる（いわゆるPnP問題を解く）。
【００１４】
マーカを用いた位置合わせ手法を用いる際には、基準座標値が既知であるマーカを予め準備しておく必要がある。（以下、位置合わせのために基準座標値が既知のマーカを準備する作業を「マーカ登録」という）。
【００１５】
現実空間の中でモックアップを把持して動かしながら観察する場合においては、モックアップのローカル座標系を基準座標系とし、モックアップ自体にマーカを貼って位置合わせするのがよい。図２Ａは、モックアップ自体にマーカ２０１を貼った場合の外観を示す図であり、図２Ｂは、そのマーカ２０１を利用してＣＧを重畳表示した場合の例を示す図である。
【００１６】
さらに、モックアップを手に持って３６０度あらゆる方向から観察したいといった要求にこたえるためには、図３に示すように、モックアップの３６０度あらゆる方向にマーカ３０１，３０２を配置する必要がある。
【００１７】
以上のことから、形状が既知な物体のローカル座標系において、正確な位置が既知であるマーカを貼る手段が必要とされている。
【特許文献１】特開２００２−２２８４４２公報
【特許文献２】特開２０００−０４１１７３号公報
【特許文献３】特開２００５−３２７１０３号公報
【特許文献４】特開平０７−１４６１２１号公報
【特許文献５】特開平０８−００５３３３号公報
【非特許文献１】R． Ｔ． Ａｚｕｍａ，  “Ａ  Survey  ｏｆ  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ”，  Ｐｒｅｓｅｎｃｅ：Ｔｅｌｅｏｐｅｒａｔｏｒｓ ａｎｄ Ｖｉｒｔｕａｌ Ｅｎｖｉｒｏｎｍｅｎｔｓ， ｖｏｌ， ６， １９９７， ｐｐ３５５−３８５．
【非特許文献２】Ｇ．Ｂａｒａｔｏｆｆ，Ａ．Ｎｅｕｂｅｃｋ  ａｎｄ  Ｈ．  Ｒｅｇｅｎｂｒｅｃｈｔ：“Ｉｎｔｅｒａｃｔｉｖｅ  ｍｕｌｔｉ−ｍａｒｋｅｒ  ｃａｌｉｂｒａｔｉｏｎ  ｆｏｒ  ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ  ａｐｐｌｉｃａｔｉｏｎｓ”，Ｐｒｏｃ．ＩＳＭＡＲ２００２，ｐｐ．１０７−１１６，２００２．
【非特許文献３】梅山：“連続変形法を用いたＬＭｅｄＳ推定とその評価”,電子情報通信学会論文誌 vol.J83-DI no.2, ｐｐ．３０３−３０５， ２０００．
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従来、モックアップ座標系において、正確な位置が既知であるマーカを貼る（すなわち、モックアップローカル座標系を基準座標系とした「マーカ登録」）方法としては、
（ａ）  モックアップ上の定められた位置・姿勢に正確にマーカを貼る
（ｂ）  モックアップにマーカを貼り、モックアップ座標系におけるマーカの正確な位置・姿勢を巻尺などで算出する
のいずれかを行っていた。しかしこのように、マーカの３次元的配置情報を正確に入力することは作業者にとって負担の大きい作業であった。
【００１９】
本発明は上記の課題に鑑みてなされたものであり、形状が既知の対象物体上におけるマーカの位置姿勢を正確に、且つ容易に求める為の技術を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００２１】
即ち、少なくとも一部の形状が既知である現実物体の位置姿勢を取得する取得工程と、
前記現実物体上に設けられた指標を含む当該現実物体の画像を取得し、当該画像上の前記現実物体の複数の特徴箇所を、前記形状に基づいて抽出する抽出工程と、
前記抽出工程で抽出した情報を用いて、前記取得工程で取得した位置姿勢を補正する補正工程と、
前記補正工程で補正した補正量に基づいて、前記指標の前記現実物体上における位置を求める計算工程と
を備えることを特徴とする。
【００２２】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００２３】
即ち、少なくとも一部の形状が既知である現実物体の位置姿勢を取得する取得手段と、
前記現実物体上に設けられた指標を含む当該現実物体の画像を取得し、当該画像上の前記現実物体の複数の特徴箇所を、前記形状に基づいて抽出する抽出手段と、
前記抽出手段が抽出した情報を用いて、前記取得手段が取得した位置姿勢を補正する補正手段と、
前記補正手段が補正した補正量に基づいて、前記指標の前記現実物体上における位置を求める計算手段と
を備えることを特徴とする。
【発明の効果】
【００２４】
本発明の構成により、形状が既知の対象物体上におけるマーカの位置姿勢を正確に、且つ容易に求めることができる。
【発明を実施するための最良の形態】
【００２５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２６】
［第１の実施形態］
本実施形態では、形状が既知の現実物体（以下、モックアップと呼称する）における適当な位置に指標（マーカ）を配置し、このマーカを含むモックアップの画像を撮像する。これにより、モックアップローカル座標系（モックアップの適当な位置を原点とし、この原点で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系）におけるマーカの位置姿勢を求める。
【００２７】
本実施形態に係るＭＲ体験システムの一例は次のようなものである。即ち、３次元ＣＡＤのデータよりラピッド・プロトタイピング装置で作成した簡易試作物に、同じ３次元ＣＡＤのデータを変換して作成した３Ｄ-ＣＧデータを複合現実感システムを使って位置・姿勢方向を一致させて重ね合わせ、表示する。簡易試作物は、形状が既知な物体という意味で、モックアップである。これにより、視覚的な評価と触覚的な評価を同時に実現し、より完成品に近い状態での評価を可能とする。
【００２８】
そのようなＭＲ体験システムの表示装置として本実施形態では、位置・姿勢計測センサが内蔵されたビデオシースルーＨＭＤを用いる。つまり、ＨＭＤには位置・姿勢計測センサおよびカメラが内蔵されている。また、ＣＧを重畳表示するモックアップにも位置・姿勢計測センサが内蔵されている。
【００２９】
体験者の視点とモックアップとの相対的位置・姿勢はこれら位置・姿勢センサから出力される計測値を利用して算出するが、位置・姿勢センサからの出力には計測誤差が生じる。その計測誤差を補正するため、モックアップの既知な位置にマーカを付加しておく。ＭＲ体験システムの処理では、ＨＭＤに内蔵されたカメラ画像から抽出されたマーカ位置を使い、位置姿勢センサからの出力値に合うよう計算結果を補正し、補正後のデータを用いてＣＧの描画を行う構成となっている。
【００３０】
本実施形態に係る情報処理装置の構成は、ＭＲ体験システム構成と共通な構成であるのが好ましいと考えられることから、本実施形態ではそれを考慮してできる限りＭＲ体験システムに準じた構成としている。図４は、本実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。
【００３１】
同図に示す如く、本実施形態に係るシステムは、センサ４９９，４９８、ＨＭＤ４９４、情報処理装置４００により構成されている。
【００３２】
撮像部４９０は、現実空間の動画像を撮像するステレオカメラであり、撮像した各フレームの画像（現実空間ステレオ画像）は後段の情報処理装置４００に入力される。本実施形態では、撮像部４９０により、少なくとも一部の形状が既知であるモックアップ上に設けられたマーカを含む、このモックアップの画像を撮像する。
【００３３】
表示部４９５は、ＨＭＤ４９４が有するものである。同図に示す如く、ＨＭＤ４９４には、撮像部４９０、表示部４９５が一体化されて備わっている。
【００３４】
センサ４９９は撮像部４９０に取り付けられるものであり、撮像部４９０の位置姿勢を計測する。センサ４９９には例えば、磁気センサや光学式センサ等が適用可能である。センサ４９９が計測した結果は、後段の情報処理装置４００に入力される。
【００３５】
センサ４９８はモックアップに取り付けられるものであり、モックアップの位置姿勢を計測する。センサ４９８には例えば、磁気センサや光学式センサ等が適用可能である。センサ４９８が計測した結果は、後段の情報処理装置４００に入力される。
【００３６】
次に、情報処理装置４００を構成する各部について説明する。
【００３７】
映像取り込み部４２０は、撮像部４９０から送出された画像を信号として受け、これを後段のマーカ登録部４３０に適した形式に変換してからデータとしてマーカ登録部４３０に送出する。
【００３８】
撮影位置姿勢取得部４５０は、センサ４９９から送出された位置姿勢を信号として受け、これをマーカ登録部４３０にデータとして送出する。
【００３９】
モックアップ位置姿勢取得部４６０は、センサ４９８から送出された位置姿勢を信号として受け、これをデータとしてマーカ登録部４３０に送出する。
【００４０】
データ格納部４４０は、モックアップを模した仮想物体に関するデータ（仮想物体の色や幾何学形状を規定するデータ等）等が保存されている。また、後述する処理において、既知の情報として説明するものについてもこのデータ格納部４４０に予め保存されている。
【００４１】
マーカ登録部４３０は、モックアップローカル座標系におけるマーカの位置姿勢を求める処理を行う。より具体的な処理としては、撮像部４９０が撮像した画像に対して以下のような処理がある。
【００４２】
（ａ）  モックアップを模した仮想物体を利用することで、モックアップに対する撮像部４９０の位置姿勢を精度良く求める。
【００４３】
（ｂ）  次に、精度良く求めた撮像部４９０の位置姿勢を使って、モックアップローカル座標系におけるマーカの位置姿勢を求める。
【００４４】
なお、本実施形態では、情報処理装置４００を構成する上記各部のうち、データ格納部４４０を除く全ての各部はソフトウェアでもって実装するものとして説明するが、その一部若しくは全部を専用のハードウェアでもって実装しても良い。
【００４５】
図７は、情報処理装置４００に適用可能なコンピュータのハードウェア構成を示すブロック図である。
【００４６】
７０１はＣＰＵで、ＲＡＭ７０２やＲＯＭ７０３に格納されているプログラムやデータを用いて情報処理装置４００全体の制御を行うと共に、情報処理装置４００が行う後述の各処理を実行する。
【００４７】
７０２はＲＡＭで、外部記憶装置７０６からロードされたプログラムやデータ、Ｉ／Ｆ７０７を介して外部から入力した各種のデータを一時的に記憶するためのエリアや、ＣＰＵ７０１が各種の処理を実行する際に用いるワークエリアなどを有する。即ち、ＲＡＭ７０２は、各種のエリアを適宜提供することができる。
【００４８】
ＲＯＭ７０３は、本装置の設定データやブートプログラムなどを格納する。
【００４９】
操作部７０４は、キーボードやマウスなどにより構成されており、本装置の操作者が操作することで、各種の指示をＣＰＵ７０１に対して入力することができる。
【００５０】
表示部７０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ７０１による処理結果を画像や文字などでもって表示することができる。
【００５１】
外部記憶装置７０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置であり、ここにはＯＳ（オペレーティングシステム）や、情報処理装置４００が行う後述の各処理をＣＰＵ７０１に実行させるためのプログラムやデータが保存されている。この保存されている情報はＣＰＵ７０１による制御に従ってＲＡＭ７０２にロードされ、ＣＰＵ７０１による処理対象となる。
【００５２】
Ｉ／Ｆ７０７は、上記センサ４９８，４９９、表示部４９５、撮像部４９０を本装置に接続するためのものであり、これら各部からの情報はこのＩ／Ｆ７０７を介して本装置内のＲＡＭ７０２や外部記憶装置７０６に対して入力される。なお、Ｉ／Ｆ７０７は１つに限定するものではなく、センサ４９８，４９９、表示部４９５、撮像部４９０の各部についてそれぞれ１つずつ設けても良い。
【００５３】
７０８は上述の各部を繋ぐバスである。
【００５４】
図５は、情報処理装置４００がマーカの位置姿勢を求めるために行う処理のフローチャートである。なお、同図のフローチャートに従った処理をＣＰＵ７０１に実行させるためのプログラムやデータは外部記憶装置７０６に保存されている。このプログラムやデータはＣＰＵ７０１による制御に従って適宜ＲＡＭ７０２にロードされる。そしてＣＰＵ７０１はこのロードされたプログラムやデータを用いて処理を実行するので、情報処理装置４００は以下説明する各処理を実行することになる。
【００５５】
先ずステップＳ５１０では、ＣＰＵ７０１は外部記憶装置７０６からモックアップの仮想物体に関するデータ（モックアップデータ）をＲＡＭ７０２にロードする。
【００５６】
次にステップＳ５２０では、撮像部４９０が撮像したステレオ画像をＲＡＭ７０２に取得する。
【００５７】
次にステップＳ５３０では、撮像部４９０、モックアップの位置姿勢を取得する。これは上述の通り、センサ４９９による計測値を取得することで撮像部４９０の位置姿勢を取得することができるし、センサ４９８による計測値を取得することでモックアップの位置姿勢を取得することができる。なお、これらの計測値には計測誤差が含まれていることに注意されたい。
【００５８】
次にステップＳ５４０では、撮像部４９０に対しての相対的なモックアップの位置姿勢を求める。これは、ステップＳ５３０で取得したそれぞれの位置姿勢を用いて周知の処理で求められるものである。撮像部４９０に対する相対的なモックアップの位置姿勢は、撮像部４９０の位置姿勢を基準とした座標系における、モックアップの位置姿勢を基準とした座標系の相対的な位置姿勢である。
【００５９】
次にステップＳ５５０では、ステップＳ５２０で取得したステレオ画像と、三角測量などの技術と、を用いて、画像中におけるモックアップの特徴箇所（ここでは頂点とするがエッジを更に用いても良い）やマーカの３次元位置を求める。
【００６０】
モックアップの特徴箇所についての３次元位置を求める処理については次のようなものがある。即ち、ステップＳ５３０で取得した位置姿勢にモックアップの仮想物体を配置した場合に、この仮想物体の特徴箇所（頂点やエッジなど）がスレテオ画像上のどの箇所に投影されるのかについては周知の技術でもって計算することができる。従って、この計算した箇所について上記三角測量を用いれば、この箇所に対応する特徴箇所の３次元位置を求めることができる。
【００６１】
これらのことから、モックアップの特徴箇所の位置を求める処理は、より多くの頂点について行うことが好ましい。
【００６２】
また、マーカに関しては、ステレオ画像を用いてマーカの３次元位置（撮像部４９０の位置姿勢を基準とする位置）を推定する。
【００６３】
以上のように、本ステップにおける処理では、モックアップのおよその特徴量を予測する（例えば、エッジや頂点が画像上のどの辺りにあるかなど）ことで、抽出処理速度を向上させたり、抽出されたモックアップの特徴量補正する。例えば、エッジは画像処理によって点特徴の集合として得られるが、それぞれの点には誤差が含まっている。モックアップの形状データからエッジだと判断できれば、エッジ直線からはみ出して観測された点は誤差であると判断する。そして、点の誤差を一つのエッジ（線分）として並ぶように補正（最小二乗近似法）／除外（ＬＭｅｄＳ法：非特許文献３）するなど）ことで処理をロバストにしている。また、同様にマーカの抽出においても、例えば多角形マーカなど形状が既知である場合、その特徴量の抽出をロバストにすることができる。
【００６４】
次に、ステップＳ５６０では、上記ステップＳ５４０で求めたモックアップの位置姿勢を、上記ステップＳ５５０で求めた各特徴箇所の位置に基づいて補正する処理を行う。より具体的には、上記ステップＳ５５０で求めたそれぞれの特徴箇所の位置を用いて、モデルベーストラッキング行うことにより、上記ステップＳ５４０で求めたモックアップの位置姿勢を補正することができる。
【００６５】
直感的には、例えばモックアップの頂点がＮ点抽出できれば、位置が既知なマーカＮ点得られているのと同様であり、Ｎが大きいほど精度良く算出できる。またモデルベーストラッキングのようにエッジ情報を利用することは、多数の点集合の誤差を収束させた値を利用していることであるため、制度良く算出できる。この処理は例えば、モデルベーストラッキング（特許文献４、特許文献５、非特許文献１）の公知な技術で実現できる。
【００６６】
なお、本実施形態では、ステップＳ５４０で求めたモックアップの位置姿勢を補正することで、既知形状物体の位置姿勢を精度良く算出した。しかし、ステップＳ５４０で求めたモックアップの位置姿勢を与えなくても、処理速度は低下するが、既知形状物体の位置姿勢を精度良く算出することは公知な技術で可能である（特許文献５）。それゆえ本実施形態は、センサ４９８、４９９がなくても構成可能である。
【００６７】
なお一般に、モデルベーストラッキングは計算負荷が高くなるが、本実施形態におけるこの処理は、ＭＲ体験時の前処理であることから、処理速度よりも精度を重視して行うことができる。
【００６８】
ステップＳ５７０では、ステップＳ５６０で補正した量だけ、上記ステップＳ５５０で求めた３次元位置を補正する。
【００６９】
以上の説明により、本実施形態によれば、マーカを貼ったモックアップを１度撮影するだけで、簡単にマーカ登録がおこなえる。さらに、ＭＲシステム実装におけるマーカ抽出アルゴリズムと、マーカ登録時におけるマーカ抽出アルゴリズムとで同じ抽出アルゴリズムを使うことができるため、抽出アルゴリズムによる抽出誤差がなくなるため、より高精度な位置合わせが可能となる。
【００７０】
［第２の実施形態］
第１の実施形態では、１枚の画像撮影でマーカ登録を実現する例を述べた。これは、たった１枚撮影するという簡単な操作でマーカ登録できるという観点から、とても有効である。
【００７１】
本実施形態では、手軽さよりもより精度を重視してマーカ登録を実現する例を挙げる。具体的には、複数の撮像画像を利用することで、第１の実施形態におけるマーカ登録を、より精度の高いものにする。
【００７２】
第１の実施形態では、ステップＳ５６０において、モックアップの仮想物体を配置し、ステップＳ５７０において、１組のステレオ画像からマーカの配置位置を求めている。
【００７３】
ここで、撮影位置姿勢が既知である１組のステレオ画像から、既知な形状を有する現実物体の位置姿勢を精度良く算出することは可能であるが、未知な形状物体の位置姿勢を精度良く算出するのは困難である。そのため例えば複数の点マーカをモックアップに配置した場合などには、マーカ配置位置の算出精度の信頼性が低くなる。これは、点マーカの特徴量は１点であるためにエッジ抽出のようにロバスト抽出処理が行えないためである。
【００７４】
そこで、本実施形態では、特徴量の少ないマーカを配置した場合でも、マーカ登録部４３０が、その配置位置を精度良く抽出できるようにする。そのため、複数の画像を撮影し、各画像に対してマーカ配置位置の概算値を求め、それら複数のマーカ配置情報（概算値）を利用することで、より精度の高いマーカ配置位置を求める構成とする。
【００７５】
なお、本実施形態に係るシステムの構成については第１の実施形態と同じものを用いる。即ち、本実施形態に係る情報処理装置４００は、図６に示したフローチャートに従った処理を行う点のみが第１の実施形態とは異なる。
【００７６】
図６は、情報処理装置４００がマーカの位置姿勢を求めるために行う処理のフローチャートである。
【００７７】
ステップＳ６１０では、上記ステップＳ５１０と同じ処理を行う。更に、ステップＳ６２０〜Ｓ６７０の各ステップにおける処理はそれぞれ、上記ステップＳ５２０〜Ｓ５７０における各ステップと同じである。なお、ステップＳ６７０では、上記ステップＳ５７０のように、最終的な位置を決定するのではなく、対応する画像に基づいて決定した候補の位置である点に注意されたい。
【００７８】
ステップＳ６８０では、撮像部４９０が撮像した全ての画像について、上記ステップＳ６２０〜Ｓ６７０の処理を行ったか否かをチェックする。このチェックの結果、未だ上記ステップＳ６２０〜Ｓ６７０の処理対処となっていない画像がある場合には、この画像について上記ステップＳ６２０〜Ｓ６７０の処理を行う。
【００７９】
一方、全ての画像について上記ステップＳ６２０〜Ｓ６７０の処理を行ったのであれば、処理をステップＳ６９０に進める。
【００８０】
ステップＳ６９０では、それぞれの画像について求めた位置を用いて、バンドル調整法に従った処理を行うことにより、より信頼性の高いマーカの位置を求める。
【００８１】
バンドル調整法では先ず、点指標を撮像装置によって多数撮影する。そして、点指標、点指標の画像上での投影点、撮像装置の視点の３点が同一直線上に存在するという拘束条件をもとに、指標が実際に画像上で観察される投影位置と撮像装置の位置姿勢と指標の位置から計算される投影位置との誤差（投影誤差）が最小化されるように、繰返し演算を行う。これによって画像を撮影した撮像装置の位置及び姿勢と、点指標の位置を求める。モックアップの特徴点を指標として演算に利用することで、未知であるマーカ位置も正確に算出することができる。
【００８２】
さらに、モックアップの仮想物体（例えば、マーカはモックアップのある平面上にあるといった拘束条件）を利用して、さらに精度を上げて算出することも可能である。この具体的算出方法は、特許文献３で述べられている。
【００８３】
また、モックアップに対し、予めマーカを貼る面などを入力しておき、情報処理装置４００側では、マーカを貼る面として指定された面におけるマーカの位置を算出する構成とすることで、誤った面へマーカ登録してしまうというミスを減らすことができる。更には、マーカ登録をよりロバストにすることが可能である。
【００８４】
予めマーカを貼る面を入力する方法としては、例えばモックアップの位置姿勢を計測するためにモックアップに位置姿勢センサを取り付ける。また、モックアップに貼るマーカの位置を指定するための入力装置として、位置姿勢の算出可能なスイッチ付きスタイラスを用意する。このような構成により、モックアップにおいてマーカを貼り付ける面をスタイラスで指示して、スタイラススイッチを押すことで指定することができる。
【００８５】
以上の説明により本実施形態によれば、マーカを貼ったモックアップの撮像画像を複数利用する構成としたことで、モックアップに貼ったマーカ配置位置をより精度良く算出するため、ＭＲ体験システム実装時においてはより精度の高い位置合わせが可能となる。
【００８６】
［第３の実施形態］
第１，２の実施形態では、モックアップに１つのマーカを貼るマーカ登録例を示した。一方、体験者がモックアップを手に持ちながら３６０度観察してもモックアップとＣＧとが正確に位置合わせされるようなＭＲ環境を提供するためには、モックアップには多数のマーカを貼っておく必要がある。しかし、モックアップの形状が比較的なだらかな場合はモックアップの特徴量があまり得られないことから、マーカ登録が不安定になる場合がある。
【００８７】
そこで、モックアップの形状がなだらかで、比較的特徴量が得られない個所にもマーカ登録を可能とするために次のようにする。即ち、モックアップの特徴量を抽出できる配置にあるマーカ（モックアップにおけるマーカの位置姿勢、撮影方向、光源位置などにも影響される）をまずマーカ登録する。そして、特徴量が抽出しづらい配置にある他のマーカは、登録済みマーカの配置位置を使って段階的にマーカ登録していくことができる。
【００８８】
このように位置姿勢が求まったマーカから、段階的に他のマーカの位置姿勢を算出していく手法は、非特許文献２などに記載されている。
【００８９】
以上述べたように、モックアップの周囲に複数のマーカの貼り付けを容易に行える構成としたため、体験者がモックアップを手に持ちながら３６０度観察してもモックアップとＣＧとが正確に位置合わせされるようなＭＲ環境を提供できる。
【００９０】
以上の各実施形態によれば、形状が既知な対象物体に付与されたマーカをマーカ登録する場合において、対象物体の形状に関する情報を利用することで、対象物撮像画像における対象物体の特徴量抽出をロバストに行う。そして、その結果を元に対象物体におけるマーカの位置情報を正確に算出する。このため、対象物体に位置合わせのためのマーカを簡単かつ正確に付与することが可能となる。
【００９１】
そして、体験時には、前処理で付与したマーカを用いるため、ロバストかつ、正確な位置合わせが可能となる。
【００９２】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９３】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９６】
【図１Ａ】現実空間に存在しているモックアップを示す図である。
【図１Ｂ】現実空間にあるモックアップに、そのＣＧを重ねて表示した結果を示す図である。
【図２Ａ】モックアップ自体にマーカ２０１を貼った場合の外観を示す図である。
【図２Ｂ】マーカ２０１を利用してＣＧを重畳表示した場合の例を示す図である。
【図３】モックアップの３６０度あらゆる方向にマーカ３０１，３０２を配置する例を示す図である。
【図４】本発明の第１の実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。
【図５】情報処理装置４００がマーカの位置姿勢を求めるために行う処理のフローチャートである。
【図６】情報処理装置４００がマーカの位置姿勢を求めるために行う処理のフローチャートである。
【図７】情報処理装置４００に適用可能なコンピュータのハードウェア構成を示すブロック図である。
【図１Ａ】
2008040913.tif 000003
【図１Ｂ】
2008040913.tif 000004
【図２Ａ】
2008040913.tif 000005
【図２Ｂ】
2008040913.tif 000006
【図３】
2008040913.tif 000007
【図４】
2008040913.tif 000008
【図５】
2008040913.tif 000009
【図６】
2008040913.tif 000010
【図７】
2008040913.tif 000011