(57)【要約】【課題】画像を用いてカメラパラメータや現実空間中の物体の形状、配置情報等を求める場合に、校正の精度低下を引き起こす画像データ入力のミスを減らし、校正精度の向上を図る。【解決手段】現実空間を撮像する撮像部により現実空間を撮像することによって、撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正するにおいて、撮像部を用いて現実空間を撮影し、現実空間の撮像画像から校正の基準となる指標を検出し、検出された指標から撮像部の位置姿勢を算出し、得られたデータを用いて撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する。このような校正のための撮像において、校正情報を取得するための撮像部の次の目標位置姿勢を指示する仮想的な３次元オブジェクトが提示される。【選択図】図１３
2008046687.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を撮像する撮像部により現実空間を撮像することによって、撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する方法であって、
前記撮像部を用いて現実空間を撮影する撮像工程と、
現実空間の撮像画像から校正の基準となる指標を検出する検出工程と、
前記検出工程により得られた前記指標から前記撮像部の位置姿勢を算出する撮像位置姿勢算出工程と、
校正情報を取得するための前記撮像部の次の目標位置姿勢を指示する仮想的な３次元オブジェクトを提示する撮像位置姿勢指示工程と、
前記検出工程により得られた指標を用いて撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する校正工程とを備えることを特徴とする撮影環境校正方法。
【請求項２】
前記校正工程は、撮像部の内部パラメータ情報を校正することを特徴とする請求項１に記載の撮影環境校正方法。
【請求項３】
前記校正工程は、現実空間に配置された指標の位置姿勢を校正することを特徴とする請求項１に記載の撮影環境校正方法。
【請求項４】
前記撮像部は当該撮像部の現実空間内での位置または姿勢または位置姿勢を撮像画像を基にしない別の方法で計測する計測部を備え、
前記校正工程は、前記計測部を校正することを特徴とする請求項１に記載の撮影環境校正方法。
【請求項５】
前記撮像位置姿勢指示工程は、前記３次元オブジェクトを現実空間における前記目標位置姿勢に３次元表示して現実空間の画像に実物大で重畳して表示することを特徴とする請求項１乃至４のいずれかに記載の撮影環境校正方法。
【請求項６】
前記撮像位置姿勢指示工程は、現実空間における前記指標と前記目標位置姿勢を示すオブジェクトと現在の撮像位置を示すオブジェクトとを俯瞰できる視点を基に構成された３次元画像を現実空間の画像に重畳して表示することを特徴とする請求項１乃至４のいずれかに記載の撮影環境校正方法。
【請求項７】
前記撮像位置姿勢指示工程は、現実空間に配置された前記指標と前記目標位置姿勢を示すオブジェクトと現在の撮像位置を示すオブジェクトとをそれぞれの配置関係を保ったまま縮小し、現実空間上の予め定められた位置に３次元的に表示することを特徴とする請求項１乃至４のいずれかに記載の撮影環境校正方法。
【請求項８】
前記撮像位置姿勢指示工程は、前記目標位置姿勢と前記撮像部の現在の位置姿勢とを比較し、両者が予め定められた範囲の外であれば前記目標位置姿勢を第１の表示形態で提示し、両者が予め定められた範囲内であれば前記目標位置姿勢を第２の表示形態で提示することを特徴とする請求項１乃至７のいずれかに記載の撮影環境校正方法。
【請求項９】
前記第１の表示形態は、前記撮像部の外形を模倣した物体を表示することを特徴とする請求項８に記載の撮影環境校正方法。
【請求項１０】
前記第２の表示形態は、前記撮像部によって撮影されるべき画像範囲を示す長方形の枠を表示することを特徴とする請求項８に記載の撮影環境校正方法。
【請求項１１】
前記第２の表示形態は、前記長方形の枠の頂点位置を示す仮想物体を当該枠の内側に表示することを特徴とする請求項１０に記載の撮影環境校正方法。
【請求項１２】
前記第２の表示形態は、前記目標位置姿勢における撮像位置姿勢の視軸を中心とし、複数の円形オブジェクトを前記視軸に沿って配置して表示することを特徴とする請求項１０に記載の撮影環境校正方法。
【請求項１３】
前記撮像位置姿勢指示工程は、前記目標位置姿勢と前記撮像部の現在の位置姿勢とを比較し、両者の相違が予め定められた範囲内の場合は、ユーザに撮影を促すための表示を行うことを特徴とする請求項１乃至１２のいずれかに記載の撮影環境校正方法。
【請求項１４】
前記撮像位置姿勢指示工程は、前記目標位置姿勢が複数ある場合に順次求められた結果を１つだけ表示し、表示された目標位置姿勢における画像が得られた場合は、次の目標位置姿勢に更新することを特徴とする請求項１乃至１３のいずれかに記載の撮影環境校正方法。
【請求項１５】
前記撮像位置姿勢指示工程は、前記目標位置姿勢を示す複数のオブジェクト付近に、撮像の順番を示す記号を表示することを特徴とする請求項１乃至１４のいずれかに記載の撮影環境校正方法。
【請求項１６】
現実空間を撮像する撮像部により現実空間を撮像することによって、撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する情報処理装置であって、
現実空間を撮影する撮像手段と、
前記撮像手段で撮像された画像から指標となる対象物体を検出する検出手段と、
前記撮像手段の位置姿勢を計測する計測手段と、
前記撮像手段の目標位置姿勢を仮想的な３次元オブジェクトを用いて撮影者に提示する撮像位置姿勢指示手段と、
前記検出装置により得られた指標を用いて校正を実施する校正手段とを備えることを特徴とする情報処理装置。
【請求項１７】
請求項１乃至１５のいずれかに記載の撮影環境校正方法をコンピュータに実行させるための制御プログラム。
【請求項１８】
請求項１７に記載された制御プログラムを格納したことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
撮像した画像に基づいて空間中の物体の形状や位置姿勢、又は、カメラ自身のパラメータ等を校正する方法に関するものである。
【背景技術】
【０００２】
３次元空間中の座標値が既知の特徴点を含むマーカやパターンを撮像した画像を解析して、３次元空間中に配置された物体の形状や位置姿勢、又は、カメラ自身の内部パラメータや外部パラメータ等を求める方法がある。ここで、上記のマーカやパターンとしては、人工的に配置されたものだけでなく自然特徴も含まれる。
【０００３】
例えば、非特許文献１、特許文献１、特許文献２においては、カメラの内部パラメータもしくはカメラ外部パラメータ（２つを合わせてカメラパラメータと呼ぶ）を校正するカメラ校正アルゴリズムが開示されている。この種のカメラ校正アルゴリズムは、３次元空間座標内に置かれた座標値が既知の複数の教示点をカメラで撮像して教示点画像を生成し、各教示点の空間座標値と当該教示点の画像座標値を用いて、カメラパラメータを推定する。
【０００４】
又、非特許文献２では、複合現実感の位置合わせを行うための指標となるマーカを、様々な方向から複数回撮影することで、複数のマーカの３次元空間中における位置姿勢を校正している。
【特許文献１】特開平０６−１３７８４０号公報
【特許文献２】特開２００１−３２５０６９号公報
【特許文献３】特開平０５−２７４４２６号公報
【特許文献４】特開２００３−２６９９１３号公報
【非特許文献１】Roger Y.Tsai,“A Versatile Camera CalibrationTechnique for High-Accuracy 3D Machine Metrology Using Off-the Shelf TVCameras and Lenses",IIIE J.Roboticsand Automation,Vol.RA-3,No.4,pp.323-344,19
【非特許文献２】Gregory Baratoffら："Interactive Multi-Marker Calibration for Augmented Reality Applications"，roc．ISMAR2002， pp．107-116， 2002
【非特許文献３】A. Takagi, S. Yamazaki, Y. Saito, and N. Taniguchi: "Development of a stereo video see-through ＨＭＤ for AR systems "，ISAR2000， pp．68-77， 2000．
【非特許文献４】加藤ら：”マーカ追跡に基づく拡張現実感システムとそのキャリブレーション”，日本VR 学会論文誌，Vol.4，No.4，pp.607-616，1999
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、画像から空間中の物体の形状や位置姿勢、又は、カメラパラメータを校正するために、３次元空間中に配置したマーカやパターンの画像を用いる手法では、入力となるパターンやマーカを撮影した画像が最終的な精度に影響する。
【０００６】
例えば、非特許文献１の方法では、正対する方向からパターンを撮影した場合は校正の精度が悪くなるという特性を持つ。又、複数のパターン画像を用いてカメラパラメータの推定精度を向上させる手法においては、パターンを同じような方向から撮像した画像のみを用いると精度の向上が望めないという特性を持つ。更に、非特許文献２の方法によるマーカキャリブレーションでは、利用される画像に写っていないマーカがある場合は、写らなかったマーカの位置姿勢を校正できない場合や、全体の校正精度が低下する場合がある。このように、校正の仕組みを知らないユーザがパターンやマーカを撮影すると、適切に校正できない可能性が高くなる。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、画像を用いてカメラパラメータや現実空間中の物体の形状、配置情報等を求める場合に、校正の精度低下を引き起こす画像データ入力のミスを減らし、校正精度の向上を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明の一態様による撮影環境校正方法は、
現実空間を撮像する撮像部により現実空間を撮像することによって、撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する方法であって、
前記撮像部を用いて現実空間を撮影する撮像工程と、
現実空間の撮像画像から校正の基準となる指標を検出する検出工程と、
前記検出工程により得られた前記指標から前記撮像部の位置姿勢を算出する撮像位置姿勢算出工程と、
校正情報を取得するための前記撮像部の次の目標位置姿勢を指示する仮想的な３次元オブジェクトを提示する撮像位置姿勢指示工程と、
前記検出工程により得られたデータを用いて撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する校正工程とを備える。
【０００９】
又、上記課題を解決するための本発明の他の態様による情報処理装置は以下の構成を備える。即ち、
現実空間を撮像する撮像部により現実空間を撮像することによって、撮像部固体情報もしくは現実空間に関わる幾何情報もしくは撮像部と現実空間との間の関係を校正する情報処理装置であって、
現実空間を撮影する撮像手段と、
前記撮像手段で撮像された画像から指標となる対象物体を検出する検出手段と、
前記撮像手段の位置姿勢を計測する計測手段と、
前記撮像手段の目標位置姿勢を仮想的な３次元オブジェクトを用いて撮影者に提示する撮像位置姿勢指示手段と、
前記検出装置により得られたデータを用いて校正を実施する校正手段とを備える。
【発明の効果】
【００１０】
本発明によれば、撮像すべき位置姿勢が３次元空間上に３次元ガイドＣＧで教示されるので、校正の仕組みを知らず、画像データ入力時にミスを起こしやすい初心者であっても精度よく校正を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。尚、以下の実施形態では、ワークステーション用のディスプレイとカメラを用いて、カメラパラメータやマーカの位置姿勢を校正するための撮像位置姿勢を指示する場合を説明する。但し、本発明は、カメラパラメータやマーカの位置姿勢の校正に限定されるものではない。例えば、マーカの配置情報を用いたセンサ配置情報の校正等、基準となるマーカやパターンを撮像した撮像装置の位置姿勢に校正精度が依存するパラメータ校正手法すべてに適用可能なことは、以下の説明により明らかである。又、本発明は、カメラとワークステーション用のディスプレイに限定されるものではなく、ビデオシースルー型のＨＭＤや、カメラを取り付けた光学シースルー型のＨＭＤにも適用可能であることは、以下の説明により明らかである。
【００１２】
［第１実施形態］
図１は、第１実施形態における校正装置の機能構成を示すブロック図である。また図２は、第１実施形態による撮影環境校正方法の利用時の模式図である。尚、図１と図２とで同じ構成については同じ番号を付けている。
【００１３】
１０１は撮像部であり、本実施形態においてはカラーＣＣＤカメラを用いる。但し、本発明において、撮像部１０１の種類はカラーＣＣＤカメラに限定されるものではなく、現実空間を撮像することにより、ユーザがその画像を見て現実空間だと認識できる撮像画像を生成できるものであれば適用可能である。
【００１４】
本実施形態では、撮像部１０１により、現実空間の既知の位置に配置された図３に示すキャリブレーションパターン２０１が撮像される。キャリブレーションパターン２０１は、黒の円パターン２０３と黒白の同心円パターン２０４の２種類のパターンを含む。これらのパターンは、当該キャリブレーションパターン２０１を映す撮像部１０１自体の位置姿勢を推定するために設けられたものであり、７個の黒白の同心円パターン２０４は全体の方向性を示す為に設けられている。尚、キャリブレーションパターン２０１の円パターン２０３及び同心円パターン２０４は格子状に配置されている。又、このキャリブレーションパターン２０１の撮像画像からパターンの認識を行うためには、図３に示すようなＬ字型に配列された白黒の同心円パターン２０４を３つ以上撮像し、かつ、中心の同心円パターン２０２を撮像しなければならない。尚、ここで、キャリブレーションパターン２０１における座標系は次のように定義される。即ち、同心円パターンの中心点２０２を原点とし、６個の同心円パターン２０４が並ぶ方向をｘ軸方向、２個の同心円パターン２０４が並ぶ方向をｙ軸方向、キャリブレーションパターン２０１の法線方向をｚ軸方向と定義される。
【００１５】
図１に戻り、１０２は表示部であり、第１実施形態ではワークステーション用のディスプレイを用いる。尚、本発明は、このような表示装置に依存するものではない。例えば、ＨＭＤに内蔵されたＬＣＤディスプレイ等、ユーザが現実空間を撮像した映像とそれに重畳されるオブジェクト２００とから指示位置姿勢を確認可能な表示を行える表示装置ならば適用可能である。
【００１６】
１０３は撮像画像取得部であり、撮像部１０１において撮像された撮像画像を記憶部１０７に画像データとして保持する。１０４はパターン検出部であり、キャリブレーションパターン２０１を撮像画像取得部１０３で得た画像データから検出し、検出したキャリブレーションパターン２０１の各点の２次元画像位置を記憶部１０７に格納する。
【００１７】
１０５は初期カメラパラメータ推定部であり、パターン検出部１０４で検出したキャリブレーションパターン２０１上の点の２次元画像位置から、暫定的に撮像部１０１の外部パラメータと内部パラメータを含む初期カメラパラメータを推定する。尚、外部パラメータは撮像部１０１の３次元空間中での位置姿勢等を示す。また内部パラメータは、撮像部１０１の焦点距離、主点、レンズ歪み中心、レンズ歪み係数等を示す。初期カメラパラメータの推定処理については後述する。推定結果である初期カメラパラメータは記憶部１０７に格納される。
【００１８】
１０６はデータ解析部であり、カメラキャリブレーションのために取得した画像を解析し、次に撮影するべき画像を撮影するべき撮影位置姿勢を提示する。データ解析によって算出された撮影位置姿勢（以下では指示位置姿勢と呼ぶ）は、記憶部１０７に記憶される。このデータ解析の処理内容は後述する。
【００１９】
１０７は記憶部であり、本実施形態における撮影環境校正方法の処理に必要な情報を保持し、処理に応じて読み出しや書き込みを行う。尚、本実施形態における撮影環境校正方法の処理に必要な情報とは、例えば、
・カメラ初期パラメータのカメラ内部パラメータ及び校正後のカメラ内部パラメータ、
・保存した撮像画像、及び、保存した撮像画像に対応づけた撮影時の撮像位置姿勢、
・位置姿勢提示のために描画する仮想物体の頂点情報（基準座標系上で定義された３次元位置や各頂点の接続情報を含む仮想物体の描画に必要な情報、物体のマテリアル設定等を含む）、
・撮像画像から検出されたパターンの各頂点の２次元位置、
・撮像部の指示位置姿勢の履歴を格納する配列、
・ポインティングデバイスのボタン押下時の設定（例えば左ボタン押下：画像の取得・保存、右ボタン押下：カメラキャリブレーションの開始）等の情報である。
【００２０】
１０８は撮像画像描画部であり、撮像画像取得部１０３が出力する撮像画像の画像データを描画し、画像合成部１１０に送る。１０９は撮像位置姿勢指示部であり、指定された撮像位置姿勢を記憶部１０７から読み出した撮像部位置姿勢に応じて図２のカメラオブジェクト２００や図１０のＯＫマーク１００１を描画する。尚、本発明は、オブジェクト２００ようなビデオカメラの形状を持つオブジェクトを描画することに限定されるものではなく、ユーザ自身が撮像部１０１の位置姿勢を確認できる表示形態であればどのような形態のオブジェクトでもよい。
【００２１】
１１０は画像合成部であり、撮像画像描画部１０８によって描画される撮像画像を背景として、撮像位置姿勢指示部１０９の画像を合成し、合成された画像を表示部１０２に表示する。
【００２２】
１１１は指示部であり、カメラキャリブレーションに利用する画像を取得する際、又はカメラキャリブレーションを実際に計算する際にユーザが指示するための道具である。本実施形態では、左右に２つのボタンが配置された、手持ちのボタン付きのポインティングデバイスが指示部１１１として用いられる。上述したように、記憶部１０７の設定により、左クリックは撮像画像の取得・保存の指示と解釈され、右クリックはカメラキャリブレーションの開始指示と解釈される。
【００２３】
図２は、第１実施形態における撮影環境校正方法の利用時の模式図である。２００はカメラオブジェクトであり、次に撮影するべき画像を撮影するための撮像部１０１の撮影位置姿勢（指示位置姿勢）を示す。撮像部１０１で撮像された撮像画像上にこのカメラオブジェクト２００を重畳することにより、ユーザに指示位置姿勢を示している。又、カメラオブジェクト２００はカメラの上部方向を示すベクトル２００ａの表示を含み、カメラオブジェクトの上下を判別できるようにしている。図２に示されるように、キャリブレーションパターン２０１が現実空間に配置され、撮像部１０１により撮影される。
【００２４】
次に、図１のブロック図で示される機能構成によって実現される撮影環境校正方法の概略の処理手順を図４に示すフローチャートを用いて説明する。
【００２５】
まず、ステップＳ４００において、撮像画像取得部１０３は、撮像部１０１によって現実空間を撮像することによって得られた画像信号を入力し、画像データに変換する。次に、ステップＳ４０１において、パターン検出部１０４は、現実空間に配置されたキャリブレーションパターン２０１の認識・検出を行う。この検出処理においては、まず、キャリブレーションパターン２０１を含む撮像画像が２値化され、黒領域と白領域に分けられる。次に、黒領域と白領域の重心位置が近い白と黒の領域を白黒の同心円パターン２０４として認識し、白黒同心円パターンの画像上での並びに基づいてキャリブレーションパターン２０１として認識する。
【００２６】
ステップＳ４０２では、ステップＳ４０１における認識の可否を判断する。パターン検出部１０４がキャリブレーションパターン２０１の認識に成功した場合はステップＳ４０３に処理を移す。パターン検出部１０４による認識ができなかった場合は、ステップＳ４００に処理を戻す。
【００２７】
ステップＳ４０３では、撮像位置姿勢を提示するための３次元ガイドＣＧの描画に必要な撮像部１０１のカメラ内部パラメータとカメラ外部パラメータを暫定的に導出する。導出には、現在撮像している画像（ステップＳ４００で撮像された画像）を用いる。ここで暫定的に導出したカメラ内部パラメータとカメラ外部パラメータを初期カメラパラメータと呼ぶ。尚、初期カメラパラメータの導出には、例えば、特許文献１（特開平０６−１３７８４０号公報）や特許文献３（特開平０５−２７４４２６）等に示される方法を用いることができる。これらの特許文献には、２次元的に分布しているキャリブレーションパターン２０１の３次元位置が既知の複数の教示点を用いてカメラ外部パラメータとカメラ内部パラメータを求める手法が開示されている。
【００２８】
初期カメラパラメータのうち、カメラ内部パラメータの各パラメータが許容値内に入っている場合は、初期カメラパラメータを記憶部１０７に保存し、ステップＳ４０４に処理を移す。又、ステップＳ４０３では、処理の開始時に、初期カメラパラメータが記憶部１０７に保存されているかどうかを確認する。既に保存されている場合は、保存されているカメラ内部パラメータを記憶部１０７から読み込み、カメラ外部パラメータのみを導出する。その後、Ｓ４０４に処理を移す。
【００２９】
一方、初期カメラパラメータの計算において、カメラ内部パラメータの各パラメータが許容範囲から外れた場合は、求めた初期カメラパラメータを破棄し、ステップ４０８に処理を移す。尚、各パラメータの許容値は、あらかじめ、カメラの種類に応じてユーザが入力してもよいし、ユーザ以外の設定者が記憶部１０７に格納しておいてもよい。
【００３０】
ステップＳ４０４では、記憶部１０７に格納されている指示位置姿勢の履歴配列の最後に格納されている指示位置姿勢と現在の撮像部の位置と姿勢が閾値以内であるかどうかを検証する。閾値以内であればステップＳ４０７に処理を移し、図１０に示すように画面右上にＯＫマーク１００１を表示する。ステップＳ４０４において、指示位置姿勢と現在の撮像部の位置と姿勢が閾値外の場合、又は、記憶部１０７に指示位置姿勢が格納されていない場合は、ステップＳ４０５に処理を移す。
【００３１】
ステップＳ４０５では、記憶部１０７に格納されている指示位置姿勢の履歴を参照し、次にユーザに指定する指示位置姿勢を算出する。まず、ステップＳ４０３で求めた初期カメラパラメータのうち、キャリブレーションパターン２０１に対する相対位置姿勢を示すカメラ外部パラメータを参照する。更に、キャリブレーションパターン２０１の中心点を中心とし、キャリブレーションパターン２０１の平面を底面とする半球の極座標系に対する撮像部１０１の位置（x,y,z）から緯度π／２−θ、経度Φ、距離ｒを以下の式１で求める。
【００３２】
【数１】
2008046687.tif 000003
【００３３】
次に、撮像部１０１の緯度を保ったまま、経度に例えば２０度を加算した位置に指示位置姿勢を設定する。又、ここで、例えば経度の値が８５度以上になった場合は、経度の値を２０度に設定する。本例の場合、図３に示すようなキャリブレーションパターン２０１が用いられており、０度＜Φ＜９０度の範囲で、２０度間隔の撮影を行うことが望ましいからである。更に、極座標系から、以下の式２により直交座標系に変換する。
【００３４】
【数２】
2008046687.tif 000004
【００３５】
次に、世界座標系からカメラ座標系に変換し、この指示位置姿勢に対して撮像部１０１の視軸方向に式３に示す９０度の回転変換を加える。
【００３６】
【数３】
2008046687.tif 000005
【００３７】
次に、図９に示すように、撮像部１０１の画像中心Ｏがキャリブレーションパターン２０１の中心点２０２を通過するような姿勢にするために、式４の回転変換を上記指示位置姿勢にかける。
【００３８】
【数４】
2008046687.tif 000006
【００３９】
ここでｎ(nx,ny,nz)は、カメラ座標系においてパターン中心２０２の画像座標値Ｃを画像座標における原点へと回転させる回転軸ベクトル、ｇはこのときの回転角を表す。このように様々な方向から撮影させるように指示することにより、カメラキャリブレーションに最適な、様々な奥行き方向のバリエーションと消失点の方向を持ったキャリブレーションパターン画像を取得することができる。
【００４０】
最後に算出した指示位置姿勢を記憶部１０７内における指示位置姿勢の履歴配列の最後に格納する。
【００４１】
ステップＳ４０６では、ユーザに次にキャリブレーションパターンを撮影させる撮像部１０１の位置姿勢を示す３次元ガイドＣＧを表示する。まず、記憶部１０７から指示位置姿勢の履歴配列の最後に格納された指示位置姿勢を読み出し、さらに記憶部１０７内の仮想物体の形状情報を読み出して、上記指示位置姿勢の仮想物体を仮想空間画像として描画する。ステップＳ４０６のように処理することで、ユーザに対して適切な撮像位置姿勢をガイドすることができる。又、全ての適切なパターン画像が得られるまで、３次元ガイドＣＧは消えないため、適切なパターン画像の取得漏れが回避できる。尚、フローチャートには示されていないが、全ての適切なパターン画像が撮像された場合は、３次元ガイドＣＧは表示されないようにしてもよい。或は、全ての適切なパターン画像が撮像された旨を画面上で通知するようにしてもよい。尚、指示位置姿勢の履歴配列の数が所定数を超えた場合に、適切なパターン画像が撮像されたと判定することができる。
【００４２】
ステップＳ４０７では、現在の撮像部の位置姿勢で適切なパターン画像のうちの一枚が撮像できることをユーザに示すためのＯＫマーク１００１を図１０のように表示する。尚、図１０のような表示形態に限定されるものではなく、ユーザが現在の位置姿勢でパターン２０１を撮像すればよいことが認識できる表示形態であれば適用可能である。
【００４３】
ステップＳ４０８では、画像合成部１１０が、撮像画像描画部１０８と撮像位置姿勢指示部１０９において生成された画像を合成して描画し、表示部１０２に提示させる。
【００４４】
ステップＳ４０９では、ユーザが持つ指示部１１１により画像保存を指示するイベント（手持ちマウスの左ボタン押下）が発生したか否かを判定する。画像保存を指示するイベントが発生した場合はステップＳ４０１３へ処理を移す。一方、イベントが発生していない場合は、ステップＳ４１０に処理を移す。
【００４５】
ステップＳ４０１３では、撮像しているパターンが写っている画像を記憶部１０７に保存し、ステップＳ４００へ戻る。
【００４６】
ステップＳ４１０では、ユーザが持つ指示部１１１０によりカメラキャリブレーション開始を指示するイベント（手持ちマウスの右ボタン押下）が発生したか否かを判定する。カメラキャリブレーション開始を指示するイベントが発生した場合は、ステップＳ４１１へ処理を移す。イベントが発生していない場合は、ステップＳ４００へ戻る。
【００４７】
ステップＳ４１１では、撮像部１０１の内部パラメータを精度よく求めるために、記憶部１０７に格納した複数のパターン画像に対して、それぞれ撮像部１０１の位置姿勢を求める。そして、求めた各位置姿勢を基準にしてキャリブレーションパターン２０１の点をパターン画像に投影する。そして、投影した点と、実際のパターン画像上の対応点における誤差の和が最小になるようなカメラ内部パラメータを求めることで、最適値を求める。尚、以上のキャリブレーション処理は、公知の推定処理を用いることができ、その詳細な説明は省略する。次に、ステップＳ４１２において、ステップＳ４１１で求めた内部パラメータを記憶部１０７に保存する。
【００４８】
このように、本実施形態によれば、複数の画像パターンから最適なカメラ内部パラメータを求める図４のステップＳ４１１の処理に適した画像パターンを得るための撮像位置姿勢が指示される。このため、カメラキャリブレーションの仕組みを理解していないユーザであっても、精度を落とさずカメラキャリブレーションを実施可能である。
【００４９】
［第２実施形態］
第１実施形態では、現在の撮像部１０１の位置姿勢を極座標系へ変換し、極座標系上で緯度方向の回転と撮像部の視軸を軸とする回転を加えることにより指示位置姿勢を算出した。しかしながら、本発明はこのような指示位置姿勢の算出方法に限定されるものではなく、様々な方向からパターンを撮像させるように指示位置姿勢を算出できる方法であればいずれの方法も本発明に適用可能である。例えば、記憶部１０７内に格納されている撮像された画像の消失点方向を解析し、その解析結果に基づいて指示位置姿勢を算出する方法であってもよい。第２実施形態では、この算出方法を本発明の撮影環境校正方法に適用した例を示す。尚、以下では、主として第１実施形態との相違点を説明する。
【００５０】
第２実施形態による校正装置の機能構成は第１実施形態（図１）と同様である。第１実施形態との違いは、記憶部１０７が格納する情報として、保存した撮像画像の消失点方向が追加されている点である。
【００５１】
次に、第２実施形態における撮影環境校正方法の処理手順を図４に示すフローチャートを用いて説明する。第２実施形態による処理と第１実施形態による処理との違いは、ステップＳ４０５にある。第２実施形態のステップＳ４０５では、記憶部１０７に格納されているパターン画像を参照し、パターン画像の消失点方向が算出される。以下、図５及び図６のフローチャートを用いて第２実施形態によるステップＳ４０５の処理について説明する。
【００５２】
図５は、図４のステップＳ４０５における処理の詳細を示すフローチャートである。図５における処理を、図７を参照しながら説明する。
【００５３】
ステップＳ５００では、記憶部１０７に保存されているパターン画像を参照し、パターン画像すべてに対して処理を行ったかどうかを判定する。次に、ステップＳ５０１において、注目するパターン画像を読み込む。そして、ステップＳ５０２において、読み込んだパターン画像を用いて図７に示す画像座標７０３における消失点の位置を求める。消失点位置の算出は次のように行われる。まず、パターン画像上に写っているキャリブレーションパターン２０１における格子状の点を、パターン上の２次元平面における垂直方向、水平方向にそれぞれ直線で結ぶ。そして、複数の垂直方向の線が交わる点を１つの消失点位置とし、複数の水平方向の線が交わる点をもう１つの消失点位置とする。尚、図７では、作図上の理由で各方向の両端の線と、それらの交点である消失点７０１，７０２のみが図示されており、消失点を求めるすべての線は図示されていない。
【００５４】
ステップＳ５０３では、ステップＳ５０２で求めた消失点が２点か否かを判定する。２点でない場合（垂直方向の線、水平方向の線うち少なくとも１つの方向の線が互いに平行になり、交点を求められない状態）は、ステップＳ５０５に処理を移す。一方、消失点が２点算出された場合はステップＳ５０４に処理を移す。
【００５５】
ステップＳ５０４では、キャリブレーションパターン２０１を撮像したパターン画像７０４における中心点２０２から消失点７０１、７０２へのそれぞれのベクトルＶ１、Ｖ２を求める。更に、以下の式５により、このパターン画像における消失点方向Ｄを決定する。
【００５６】
【数５】
2008046687.tif 000007
【００５７】
その後、ステップＳ５０７に進み、消失点方向Ｄをパターン画像に対応付けて記憶部１０７に格納し、ステップＳ５００に戻る。
【００５８】
一方、ステップＳ５０５において、消失点が１点の場合は、ステップＳ５０６に処理を移し、消失点が求められなかった場合はそのままステップＳ５００へ処理を戻す。
【００５９】
ステップＳ５０６では、以下の式６のようにパターン画像７０４におけるパターン中心点２０２の２次元座標値（ベクトルＣとする）から消失点の２次元座標値（ベクトルＶとする）への単位ベクトル方向を消失点方向Ｄと設定する。
【００６０】
【数６】
2008046687.tif 000008
【００６１】
そして、ステップＳ５０７において、求めた消失点方向Ｄをパターン画像に対応付けて記憶部１０７に格納し、ステップＳ５００に戻る。
【００６２】
このように、各パターン画像に対して、消失点方向Ｄを求め、全てのパターン画像について処理を終えたら、図４のステップＳ４０６に処理を移す。
【００６３】
図６は、図４のステップＳ４０６における処理の詳細を示すフローチャートである。図６における処理手順について図８、図９を参照しながら説明する。尚、図４のステップＳ４０５で算出できた複数の消失点方向のうち、最初に撮影したパターン画像によって求めた消失点方向をＤ１とし、各消失点方向を撮影した順にＤ２、Ｄ３と定義する。
【００６４】
まず、ステップＳ６００では、消失点方向Ｄ１を画像座標系の原点を中心に９０度回転させたベクトルＭ１を生成する。ステップＳ６０１では、ベクトルＭ１と、Ｄ１以外の消失点方向（図８においてはＤ２、Ｄ３）との角度差をそれぞれ求め、最小の角度差（最小角度差）を得る。そして、ステップＳ６０２において、Ｍ１と各消失点方向との最小角度差が閾値（図８の角度８０１）以内か否かを判定する。Ｍ１と各消失点方向との最小角度差が閾値以内であればステップＳ６０４へ、閾値外であればステップＳ６０３へ処理を移す。図８においては、Ｍ１とＤ３のなす角度が最小角度差になるが、このときの最小角度差は閾値８０１外であるため、ステップＳ６０３へ処理を移す。ここで、閾値８０１は、ユーザ自身がシステムの動作に応じて入力してもよいし、ユーザ以外のシステム設定者が設定してもよい。
【００６５】
ステップＳ６０３では、Ｍ１を消失点方向とするような撮像位置姿勢を求め、指示位置姿勢とする。詳細は後述する。
【００６６】
ステップＳ６０４では、更にＭ１を画像座標系の原点を中心に９０度回転させ、ベクトルＭ２を生成する。ステップＳ６０５では、Ｍ２に対しても同様に、Ｄ１以外の消失点方向との角度差を求め、最小角度差を得る。詳細は後述する。そして、ステップＳ６０６において、Ｍ２と各消失点方向との最小角度差が閾値（図８の角度８０１）以内か否かを判定する。閾値８０１以上である場合は、ステップＳ６０７において、Ｍ２を消失点方向とするような撮像位置姿勢を求め、これを指示位置姿勢とする。又、閾値８０１以内である場合は、ステップＳ６０８へ進み、更にＭ２を９０度回転させてＭ３を得る。そして、Ｍ３に対しても同様に、ステップＳ６０９において、Ｄ１以外の消失点方向との角度差を求め、最小角度差を得る。
【００６７】
ステップＳ６１０において最小角度差が閾値８０１０以上であると判定された場合は、ステップＳ６１１において、Ｍ３を消失点方向とするような撮像部１０１の位置姿勢を求め、これを指示位置姿勢とする。詳細は後述する。
【００６８】
又、ステップＳ６１０において最小角度差が閾値８０１以内であると判定された場合は処理を終了する。例えば、図８のようにＭ３とＤ２が得られた場合、両者のなす角度が最小角度差になるが、その最小角度差は角度８０１の閾値内であるため、Ｍ３に該当する画像パターンは既に記憶部１０７内に存在すると判定し、処理を終了する。
【００６９】
ステップＳ６１２では、ステップＳ６０３，Ｓ６０７，Ｓ６１１のいずれかで求められた指示位置姿勢に基づいて、パターンを撮像させるための３次元ガイドＣＧを描画する。本第２実施形態に示す方法により、次に撮像すべき撮像装置の位置姿勢を求めることが可能となるため、３次元ガイドＣＧにより指示位置姿勢をユーザに提示することが可能になる。
【００７０】
尚、本発明の本質は、ユーザに次に撮影すべき撮像装置の位置姿勢を３次元ガイドＣＧで提示することにあり、次に撮影すべき位置姿勢はどのような方法で求めてもよく、上記の例はその一例を示しているに過ぎない。従って、ここに示した方法以外の方法で、次の撮像位置姿勢を計算しても構わないことは言うまでもない。
【００７１】
上記のステップＳ６０３（Ｓ６０７，Ｓ６１１）において、消失点方向をＭ１（Ｍ２，Ｍ３）とするような撮像位置姿勢は、以下のように算出される。
【００７２】
まず、Ｄ１を消失点方向に持つ撮像画像を取得した撮像位置姿勢Ｔｒ１に対して、パターン中心Ｃ（２０２）が画像座標系７０３の原点Ｏになるように、画像座標系７０３の視点９００を中心に撮像位置姿勢を回転させる（図９参照）。尚、撮像位置姿勢Ｔｒ１は、世界座標系における位置姿勢を示す４×４行列であり、記憶部１０７に格納されている撮像時の撮像位置姿勢である。そして、ｘｙ平面から画像中心を通る垂直な方向（画像座標系７０３のｚ軸方向、視点方向が正）を軸に−９０度回転させ、撮像位置姿勢Ｒ１（世界座標系における位置姿勢を示す４×４行列）とする。この撮像位置姿勢Ｒ１は以下の式７のように求める。
【００７３】
【数７】
2008046687.tif 000009
【００７４】
ここでｎ(nx,ny,nz)は、カメラ座標系においてパターン中心２０２の画像座標値Ｃを画像座標における原点に回転する場合の回転軸ベクトル、ｇはこのときの回転角を表す。このようにして求めた撮像位置姿勢Ｒ１は、記憶部１０７に記憶される。消失点方向がＭ２、Ｍ３となるような撮像位置姿勢も、Ｍ１と同様にして求める。このとき、Ｍ２の場合のＲ１は式８、Ｍ３の場合のＲ１は式９で求めることができる。
【００７５】
【数８】
2008046687.tif 000010
【００７６】
【数９】
2008046687.tif 000011
【００７７】
［第３実施形態］
第１実施形態では、図４のステップＳ４０３において撮像部１０１の初期カメラパラメータを導出したあとにのみ撮像位置姿勢を指示している。しかしながら、本発明は、初期カメラパラメータの導出等の校正手法、校正手順に限定されるものではない。例えば、同型の撮像装置で既にカメラキャリブレーションを済ませてあり、おおまかなキャリブレーション値が存在する場合等には、予め使用する撮像部１０１の内部パラメータに近い値が求められていることになる。この場合は、キャリブレーションパターンの認識ができた時点で、初期カメラパラメータを導出することなく、すぐにカメラ外部パラメータを導出するようにしてもよい。このように、予め取得されている大まかなカメラ内部パラメータを基にして、最終的なカメラ内部パラメータを校正する処理手順の詳細を図１１のフローチャートを用いて説明する。
【００７８】
図１１は第３実施形態による撮影環境校正方法の概略の処理手順を示すフローチャートである。図１１に示される処理では、図４のフローチャートと比べて、ステップＳ４０３の分岐が排除され、代わりにステップＳ１１０３のカメラ位置姿勢推定処理が追加されている点が主な相違点である。
【００７９】
図１１のステップＳ１１０３では、予め記憶部１０７に格納されているカメラ内部パラメータのおおまかな値を参照し、キャリブレーションパターン２０１の画像からカメラ外部パラメータを導出する。その他の処理（Ｓ１１００〜Ｓ１１０２、Ｓ１１０４〜Ｓ１１１３）は、図４のフローチャート（Ｓ４００〜Ｓ４０２、Ｓ４０４〜Ｓ４１３）と同様であるため説明を省略する。
【００８０】
［第４実施形態］
第１実施形態においては、カメラキャリブレーションにおいて、撮像部の位置姿勢を指示するための３次元ガイドＣＧを表示し、ユーザに指示した。しかしながら、本発明の適用はカメラキャリブレーションの実行時に限定されるものではない。例えば、撮像部１０１を用いて現実空間中に配置されたパターンやマーカを撮像し、その画像から空間中の物体の位置姿勢や、物体間の距離などを算出・校正する処理にも適用可能である。第４実施形態では、現実空間に配置したマーカの位置姿勢のキャリブレーション（校正）処理に本発明を適用した例を示す。又、本実施形態では、指示位置姿勢の提示装置としてＨＭＤを用いた場合の例を説明する。
【００８１】
図１２は、第２実施形態における機能構成を示すブロック図である。但し、図１２において図１と同様の機能を有する構成には図１と同じ番号を付けている。
【００８２】
１２００はＨＭＤであり、撮像部１０１、表示部１０２を有する。撮像部１０１、表示部１０２は、夫々、ＨＭＤ１２００本体に固定されている。尚、第４実施形態においては、撮像部１０１と表示部１０２をＨＭＤ１２００内にそれぞれ２基搭載しており、ステレオで現実空間の撮像と表示が可能になっている。ユーザはこのＨＭＤ１２００を頭部に装着することで、表示部１０２に映るステレオの画像を見ることができる。このような形態のＨＭＤは、例えば非特許文献３に記載されている。
【００８３】
ＨＭＤ１２００は、現実空間の画像にＨＭＤの形状をした３次元ガイドＣＧを重畳表示し、ユーザに撮像位置姿勢を指示するためにも用いられる。以降は、撮像部１０１、表示部１０２と表現した場合は、左右の撮像部、表示部を同時に表すものとする。又、本発明は、ステレオの撮像と表示を行うことに限定されるものではなく、少なくとも１組以上の撮像部と表示部があれば適応可能であることは、以下の説明により明らかである。更に、本発明は、ＨＭＤ１２００を使用することに限定されるものではなく、ユーザが撮像部１０１を手に持ち、別な場所に配置された表示部１０３をユーザが観察可能な状態であれば適用可能であることは、以下の説明により明らかである。
【００８４】
撮像部１０１は、ＨＭＤ１２００に固定されるカラーＣＣＤカメラである。但し、本発明は撮像部１０１の種類について何等限定を有するものではなく、ユーザがその画像を見て現実空間だと認識できるように現実空間を撮像可能なものであればよい。
【００８５】
表示部１０２は、ＨＭＤ１２００に固定されているＬＣＤディスプレイである。ＬＣＤディスプレイが表示する画像は自由曲面プリズムを介してユーザに提示する。もちろん、本発明は、このような表示装置に依存するものではなく、ユーザが現実空間映像で指示位置姿勢を確認できる表示が可能な表示装置であればよい。
【００８６】
位置計測部１２０１は、ＨＭＤ１２００に取り付けられている撮像部１０１の位置姿勢を計測する。第４実施形態においては、磁気センサであるPolhemus社のFASTRAKを位置計測部１２０１として使用する。このFASTRAKは、トランスミッタ（不図示）から発せられる磁場をレシーバ（図１３の１０３）で受信することにより、撮像部１０１の位置姿勢を出力する。もちろん、本発明は、このような磁気センサに限定されるものではなく、光学センサや、マーカから撮像部１０１の位置姿勢を求めるなど、撮像部１０１の位置姿勢が求められる手法であればいずれの手法も適用可能である。
【００８７】
マーカ検出部１２０２は、撮像画像取得部１０４から撮像された画像を受ける。更に、記憶部１２０４に予め保存されている図２１に示すようなマーカデータを読み込み、図１３の１３０１〜１３０４に示されるような矩形のマーカを検出する。検出処理の詳細は後述する。
【００８８】
撮像位置姿勢推定部１２０３は、位置姿勢計測部１２０１の計測値を用いて撮像部１０１の現在の位置姿勢を推定する。記憶部１２０４は、第４実施形態における撮影環境校正方法の処理に必要な情報を保持し、処理に応じて読み出しや書き込みを行う。第４実施形態における撮影環境校正方法の処理に必要な情報とは、例えば、
・マーカデータ、マーカ内部のパターン画像、校正後のマーカ位置姿勢、
・保存した撮像画像、
・位置姿勢提示のために描画する仮想物体（ＨＭＤの形状モデルや、ガイド用ＣＧ）の頂点情報（基準座標系上で定義された３次元位置、各頂点の接続情報を含む仮想物体の描画に必要な情報、物体のマテリアル設定等）、
・撮像画像からマーカの２次元位置、撮像部の指示位置姿勢を格納する指示位置姿勢配列、マウスボタン押下時の設定（左ボタン押下：画像の保存、右ボタン押下：マーカキャリブレーションの開始）、
・校正済みのカメラ内部パラメータ、等の情報である。
【００８９】
データ解析部１２０５は、記憶部１２０４内に格納されているマーカデータを参照し、マーカ位置姿勢を高精度に推定するために必要なマーカ画像を撮影するための撮像位置姿勢を算出する。処理の詳細については後述する。撮像位置姿勢指示部１２０６は、記憶部１２０４に格納されている指示位置姿勢に基づいて、３次元ガイドＣＧを描画する。
【００９０】
図１３は、第４実施形態における撮影環境校正方法の利用状態を示す模式図である。尚、図１２と図１３とで同じ部分については同じ番号を付けている。
【００９１】
図１３では、現実空間に配置されたテーブル１３０５と壁面１３０６に一辺が２０cmの正方形のマーカ１３０１〜１３０４が貼り付けてある。ユーザは、これらの矩形マーカ１３０１〜１３０４のおおまかな位置姿勢を予め記憶部１２０４に図２１に示すようなフォーマットでマーカデータとして登録しておく。第４実施形態では、各矩形マーカ１３０１〜１３０４を撮像した複数枚の画像から位置姿勢の校正を行う。第４実施形態において、これらの矩形マーカ１３０１〜１３０４には、「ARToolKit」と呼ばれるマーカを用いる。ARToolKitについては、例えば、非特許文献４（加藤ら：”マーカ追跡に基づく拡張現実感システムとそのキャリブレーション”，日本VR 学会論文誌，Vol.4，No.4，pp.607-616，1999）から情報を得ることができる。図１３の２０００Ａ〜２０００Ｃは、３次元ガイドＣＧの一部を示している。第４実施形態では、マーカキャリブレーション時に必要になるパターン画像を自動的に予測し、ユーザに対してそのパターン画像を撮像できる位置を示す３次元ガイドＣＧを提示する。
【００９２】
図１２で示したブロック図で構成される撮影環境校正方法における処理手順を図１４に示すフローチャートを用いて説明する。
【００９３】
ステップＳ１４００において、撮像画像取得部１０３は、撮像部１０１にて撮像された画像信号を入力し、画像データに変換する。次に、ステップＳ１４０１において、上記非特許文献４に示された手法を用いて、マーカを検出し、各マーカのカメラにおける位置姿勢を求める。非特許文献４の場合、マーカの検出には、まず２値化処理を行い、白いラベル領域に対して直線あてはめを実行し、４本の線分より十分に近似できた領域をマーカ候補とする。更に、マーカ候補領域内部のパターン画像を正規化し、図２１のマーカデータのPATTARNフィールドに記載されている記憶部１２０４内のパターン画像とテンプレートマッチングを行ってマーカを同定する。
【００９４】
ステップＳ１４０２では、位置姿勢計測部１２０１により出力された位置姿勢をそのまま撮像部１０１の位置姿勢に設定する。但し、本発明は、位置姿勢計測部１２０１の出力値をそのまま用いることに限定されるものではない。例えば、マーカが同定されている場合はマーカから撮像部１０１の位置姿勢を求め、マーカが同定されていない場合には、位置姿勢計測部１２０１の出力から撮像部１０１の位置姿勢を求めるなど、場合に応じて切り替える手法を用いることも可能である。
【００９５】
次に、ステップＳ１４０３において、ステップＳ１４０４による指示位置姿勢配列のデータ解析が完了しているかどうかを確認する。データ解析が完了していた場合はステップＳ１４０５に処理を移し、データ解析が完了していない場合はステップＳ１４０４に処理を移す。
【００９６】
ステップＳ１４０４では、記憶部１２０４に格納されているマーカデータ（図２１）を参照し、ある１つの基準とするマーカとそのマーカ以外の２つのマーカを１枚の画像で撮像できるような撮像位置姿勢を求める。第４実施形態においては、マーカ１３０１を基準マーカとして、以下の３つの撮像部１０１の指示位置姿勢を求める。即ち、
（１）マーカ１３０１と１３０２と１３０３が含まれる画像を撮影可能な撮像位置、
（２）マーカ１３０１と１３０３と１３０４が含まれる画像を撮影可能な撮像位置、
（３）マーカ１３０１と１３０２と１３０４が含まれる画像を撮影可能な撮像位置である。
【００９７】
これらの指示位置姿勢を求めるには、まず、図２１のマーカデータに記述されている３つのマーカの３次元位置を平均した位置と、３つのマーカの３次元位置の３点を含む平面の法線ベクトルを求める。次に、３点のうち、２点間の距離が最大となる長さをＬとおく。更に、平均位置の点を通る法線ベクトル方向の直線上で、法線ベクトルが指す方向で、かつＬ＋３０／tanθの位置に指示位置姿勢を設定する。ここでθは撮像部１０１の内部パラメータから求めた画角である。更に、指示位置姿勢の撮像部１０１の視軸ベクトルを法線ベクトルの逆方向に設定する。このとき撮像部１０１の上方向を示すアップベクトルは、任意であるが、例えば、３点のうち、２点間の距離が最大となる線分に対して垂直な方向になるように設定すればよい。
【００９８】
ここで、３つのマーカがすべて同じ平面にある場合には、全てのマーカに対して正対する位置から撮影することになるため、マーカの検出精度が低下する。これを回避するために、３つのマーカの各法線ベクトル（各マーカの姿勢から求める）が同一の場合は、指示位置姿勢を法線方向に垂直なベクトルを軸に＋２０度回転させる。このような処理を、３組のマーカの組み合わせに対して行い、得られた３つの撮像部の位置姿勢を指示位置姿勢として記憶部１２０４内の指示位置姿勢配列に格納する。
【００９９】
尚、本発明は、上記のデータ解析方法に依存するものではなく、マーカキャリブレーション時に適切なマーカ画像を入力できる撮像部１０１の指示位置姿勢を生成できる手法であれば適用可能である。
【０１００】
次に、ステップＳ１４０５では、ステップＳ１４０４で求めた指示位置姿勢に基づいて、ユーザに対して指示位置姿勢を教示するための３次元ガイドＣＧを描画する。詳細な処理については後述する。
【０１０１】
ステップＳ１４０６では、ユーザが持つ指示部１１１により画像保存の指示のイベント（手持ちマウスの左ボタン押下）が発生したか否かを判定する。画像保存指示のイベントが発生したと判定された場合はステップＳ１４０７へ処理を移す。画像保存指示のイベントが発生していない場合はステップＳ１４０８に処理を移す。
【０１０２】
ステップＳ１４０７では、撮像しているマーカが写っている画像を記憶部１０７に保存する。処理完了時には、ステップＳ１４００へ戻る。又、ステップＳ１４０８では、ユーザが持つ指示部１１１によりマーカ位置姿勢のキャリブレーション開始指示のイベント（手持ちマウスの右ボタン押下）が発生したか否かを判定する。キャリブレーション開始指示のイベントが発生したと判定された場合はステップＳ１４０９へ処理を移す。キャリブレーション開始指示のイベントが発生していない場合は、ステップＳ１４００へ戻る。
【０１０３】
ステップＳ１４０９では、非特許文献２で挙げた手法により、マーカの位置姿勢を校正する。非特許文献２の手法では、まず、マーカが撮像された複数の画像に対して、各画像に写る各マーカの相対位置姿勢を求める。次に、各画像で求めた相対位置姿勢を基準とするマーカ１３０１を中心とした位置姿勢に変換する。最後に、基準とするマーカ１３０１のマーカデータに記された規準座標系上での位置姿勢から、全てのマーカの基準座標系上での位置姿勢を求める。ステップＳ１４１０では、ステップＳ１４０９で校正されたマーカの位置姿勢を記憶部１２０４に格納する。
【０１０４】
図１５は、図１４のステップＳ１４０５における処理手順の詳細を示すフローチャートである。図１５における処理を、図１６〜図１８を参照しながら説明する。
【０１０５】
ステップＳ１５００では、指示位置姿勢配列に格納されている全ての指示位置姿勢に対して描画処理を行ったかどうかを確認する。描画処理が残っている場合はステップＳ１５０１へ進む。一方、全ての指示位置姿勢について描画処理が完了している場合は本処理を終了する。
【０１０６】
ステップＳ１５０１では、記憶部１２０４内の現在処理している指示位置姿勢と現在の撮像位置姿勢を比較し、その差が閾値以上であるか否かを判定する。そして、閾値以上の場合はステップＳ１５０２へ、閾値内である場合はステップＳ１５０３へ処理を移す。尚、この処理における閾値は、ユーザ自身がシステムの動作に応じて入力してもよいし、ユーザ以外のシステム設定者が設定してもよい。
【０１０７】
ステップＳ１５０２では、ノーマルモードと呼ばれるモードで、指示位置姿勢に基づく３次元ガイドＣＧをユーザに提示する。このノーマルモードでは、図１６に示されるように、指示位置姿勢で定義された基準座標系上の３次元位置にＨＭＤの形状を持つ３次元ガイドＣＧ２０００Ａを配置し、撮像した画像上に重畳表示する。描画処理が完了すると、処理はステップＳ１５００に戻る。
【０１０８】
一方、ステップＳ１５０３では、調整モードと呼ばれるモードで指示位置姿勢に基づく３次元ガイドＣＧをユーザに提示する。上記ノーマルモードでは、ＨＭＤの形状を持つ３次元ガイドＣＧを描画し、指示位置姿勢の大まかな位置姿勢を提示する、ユーザ自身がノーマルモードで描画される３次元ガイドＣＧに近づくと視野のほとんどの領域が３次元ガイドＣＧで隠されてしまう。このため、ユーザ自身で最終的に写るマーカ画像を確認し、調整することが困難になる。よって、撮像部１０１の位置姿勢がＨＭＤ形状の３次元ガイドＣＧに近づいた場合には、マーカの画像を確認しながら撮像部１０１の位置姿勢を調整可能な３次元ガイドＣＧを描画する調整モードを用いることでこの問題を回避する。
【０１０９】
本実施形態では、図１７に示されるような、撮像部１０１の投影面をイメージさせる３次元ガイドＣＧを描画する。ユーザは、撮像部１０１の中心を中心表示１７０２に合わせるように撮像部１０１を動かす。又、画面の角を示す４つの矢印１７０３の先端に、実際の撮像部１０１の画面における角を合わせるように撮像部１０１を移動回転させる。このようにして、指示位置姿勢に合うように撮像位置姿勢を調整する。処理が完了した場合は、ステップＳ１５００に戻る。
【０１１０】
尚、調整モードによる描画形態は図１７のような３次元ガイドＣＧに限定されるものではない。例えば、図１８に示されるように、指示位置姿勢における撮像部１０１の視軸上に円の中心を持ち、視軸に沿って直径が変化する複数の円１８０１を、３次元ガイドＣＧとして、視軸に沿って等間隔に配置して描画するようにしてもよい。尚、複数の円１８０１は同じ直径の円であってもよい。このような描画によれば、ユーザは、指示位置姿勢の中心１７０２と、各円の中心が重なるように撮像部１０１を移動させることにより、撮像位置姿勢を調整することができる。このように、ユーザ自身が指示位置姿勢に対して正確に撮像部１０１の撮像位置姿勢を調整できる方法であれば、いかなる方法も適用可能である。
【０１１１】
以上のように第４実施形態によれば、校正装置はマーカ位置姿勢のキャリブレーション時に必要になるパターン画像を自動的に予測し、ユーザに対してそのパターン画像を撮像できる位置を提示し、誘導する。このため、マーカ位置姿勢のキャリブレーションのアルゴリズムや仕組みを知らない初心者であっても、精度よくマーカ位置姿勢のキャリブレーションが実施可能になる。
【０１１２】
［第５実施形態］
第４実施形態においては、３次元空間中に複合現実感を利用して３次元ガイドＣＧを重畳表示したが、本発明は、このような３次元ガイドＣＧの表示方法に限定されるものではない。例えば、図１９に示すように撮像画像上の一部に空間を俯瞰するような視点から見た指示位置姿勢を示すＨＭＤオブジェクト２０００Ａ、２０００Ｂ、２０００Ｃ（２０００Ｃは不図示）を撮像画面上の一部の枠１９００内に表示するようにしてもよい。このとき、枠１９００内には、俯瞰視点に対応する仮想マーカ１９０１〜１９０４と、現在の撮像位置姿勢を示すＨＭＤオブジェクト１９０５と、座標系を示す座標軸オブジェクト１９０６が表示される。尚、枠１９００に俯瞰視点の画像を表示する場合は、撮像画像中のマーカも同時に視認できるようにするため、枠１９００内のオブジェクトは半透明表示にすることが好ましい。
【０１１３】
以下では、第４実施形態との主たる相違点について説明する。
【０１１４】
第５実施形態による処理手順における第４実施形態との主たる相違点は、図１４のステップＳ１４０５の処理である。第５実施形態におけるステップＳ１４０５の処理では、まず、座標系を示す座標軸オブジェクト１９０６を配置する。次に、指示位置姿勢配列に格納されている指示位置姿勢を基にＨＭＤオブジェクト２０００Ａ、２０００Ｂ、２０００ＣのＣＧを配置する。次に、マーカデータから取得した位置姿勢データ、パターンデータを用いて仮想マーカ１９０１〜１９０４を配置する。次に、現在の撮像位置姿勢におけるＨＭＤオブジェクト１９０５を配置する。更に、これらの配置情報を俯瞰視点における仮想カメラの投影面（枠１９００）に投影し、投影した画像を撮像画面上の枠内に半透明表示する。又、上記のような俯瞰視点だけではなく、上面図や３面図等を表示するようにしてもよいことは明らかである。
【０１１５】
［第６実施形態］
第４実施形態においては、実物のスケールで指示位置姿勢を現実空間中に表示していたが、図２０に示すように指示位置姿勢を提示してもよい。即ち、実物のスケールで表示していた指示位置姿勢と、現在の撮像部１０１の位置姿勢を基に描画した仮想マーカ１９０１〜１９０４とを含む仮想オブジェクト群を縮小表示し、空間全体を俯瞰できるように指示位置姿勢を提示してもよい。
【０１１６】
以下では、第５実施形態の主たる相違点を説明する。
【０１１７】
処理の手順における第５実施形態との相違点は、ステップＳ１４０５の最後の表示である。第５実施形態では俯瞰視点の仮想カメラの投影面に対して投影したが、第６実施形態では、第４実施形態で用いた仮想オブジェクト群を基準座標系の不図示の原点を中心に例えば１／３にスケールダウンさせる。この基準座標系から図２０に示す２００１の座標系に変換するスケールダウンの座標変換行列を求め、各仮想オブジェクト群を縮小する。尚、仮想物体のスケール値は上記に限定されるものではなく、各マーカの配置を視野内に適度に収められるスケールであれば適用可能である。この変換した仮想物体を現在の撮像位置姿勢に基づいて描画することにより、ユーザに図２０のようなミニチュア空間で指示位置姿勢を提示することが可能になる。
【０１１８】
［第７実施形態］
第４実施形態では、データ解析部を利用して指示位置姿勢を求めたが、本発明は、このようにデータ解析部を利用して指示位置姿勢を求めることに限定されるものではない。例えば、ユーザ以外のシステム設定者が予め指示位置姿勢を記憶部１２０４に格納しておき、予め格納された指示位置姿勢を用いて３次元ガイドＣＧを提示するようにしてもよい。又、このとき、同時に記憶部１２０４に指示位置姿勢の優先順位を設定し、図２２に示すように３次元ガイドＣＧの一部として撮像の優先順位や順番を示す番号やアルファベット等の記号を表示してもよい。
【０１１９】
以下では、第７実施形態の構成と処理の詳細について、第４実施形態との主たる相違点を説明する。
【０１２０】
第７実施形態における撮影環境校正方法の構成における第４実施形態との主たる相違点は、データ解析部の有無である。第７実施形態においては、撮像位置姿勢推定部１２０３の処理が終了した時点で、データ解析を行わずに撮像位置姿勢指定部１２０６で処理を行う。
【０１２１】
又、第７実施形態における撮影環境校正方法の処理における第４実施形態との主たる相違点は、ステップＳ１４０３とステップＳ１４０４の処理の有無である。第７実施形態においては、ステップＳ１４０２の処理が完了したらステップＳ１４０５に処理を移し、記憶部１２０４内の指示位置姿勢配列に格納されている指示位置姿勢と優先順位を読み出す。そして、ＨＭＤオブジェクト２０００Ａ、２０００Ｂ、２０００Ｃと撮像の順番を示す番号２２０１、２２０２、２２０３を３次元ガイドＣＧとして描画する。
【０１２２】
［第８実施形態］
第４実施形態では、指示部１１１を利用して画像を保存する指示をユーザから受けたが、現在の撮像位置姿勢が指示位置姿勢十分に近い値であれば自動的に撮像し、記憶部１２０４に保存してもよい。
【０１２３】
第８実施形態における撮影環境校正方法の構成における第４実施形態との主たる相違点は、指示部１１１の有無である。又、第８実施形態における撮影環境校正方法の処理における第４実施形態との主たる相違点は、ステップＳ１４０６において、「保存指示あり」の判定を行う代わりに、「撮像位置姿勢と指示位置姿勢の値が近い」ことを判定する点である。第８実施形態にけるステップＳ１４０６では、現在の撮像位置姿勢と記憶部１２０４内の指示位置姿勢配列内の各指示位置姿勢を比較し、両者の差異が１つでも閾値内に入るものがあれば、ステップＳ１４０７に処理を移す。
【０１２４】
[第９実施形態]
第４実施形態においては、マーカキャリブレーションにおいて、現実空間に配置されたマーカの相対位置姿勢を校正するために取得する画像を、撮像部１０１の位置姿勢を指示するための３次元ガイドＣＧを表示してユーザに指示した。しかしながら、本発明は、撮像画像上に撮像された対象の幾何情報を求めるマーカキャリブレーションの実行時に限定されるものではない。例えば、特許文献４（特開２００３−２６９９１３号公報）では、撮像画像に映るランドマークを用いて撮像画像を基にしない別の方法で計測する位置姿勢センサの配置（幾何）情報を算出・校正する処理が開示されている。特許文献４では、撮像部１０１を用いて現実空間中に配置されたランドマークを撮像すると同時に撮像した時点における撮像部位置姿勢計測部の出力値を格納する。そして、その画像と位置姿勢計測部の情報から位置姿勢センサが独自に定義するセンサ座標系２６０１（図２６）の基準座標系２６０２における位置姿勢や、撮像部１０１と位置姿勢センサの測点の位置姿勢などを算出・校正する。本発明は、このような位置姿勢センサの配置（幾何）情報を算出・校正にも適用可能である。
【０１２５】
第９実施形態では、複合現実感提示装置の実現を目的として、現実空間に配置した磁気センサの位置姿勢の校正を行う処理において、本発明を適用した例を示す。
【０１２６】
まず、複合現実感を実現するためには、基準座標系２６０２における撮像部１０１の位置を計測する必要がある。しかし、一般的な三次元位置姿勢センサが出力する出力値は、センサが独自に定義するセンサ座標系２６０１における測点（以後、計測受信部２３０３と呼ぶ）の位置姿勢であって、世界座標における撮像部の位置姿勢ではない。従って、センサ出力値をそのまま世界座標系における撮像部１０１の位置姿勢として利用することはできず、なんらかの校正を行う必要がある。この校正を実施する例として非特許文献１で開示されるセンサ校正方法が挙げられる。尚、このセンサ校正方法においても、高精度にセンサの配置情報の校正結果を求めるためには、現実空間に配置した各ランドマークを適切な位置姿勢から撮像したランドマーク画像を取得することが必要となる。
【０１２７】
図２６は、本実施形態で校正するべき配置情報である、撮像部１０１と受信計測部２３０３の配置情報ＭCSと、基準座標系における計測送信部２３０４の配置情報ＭTWとの関係を示す図である。尚、第９実施形態では、配置情報を位置姿勢を表す４×４の行列で表している。これらの２つの配置情報ＭCSとＭTWはそれぞれ空間中で固定されている。又、ＭSTは磁気センサの計測値であるセンサ座標系２６０１における計測受信部２３０３の位置姿勢を示している。２つの配置情報ＭCSとＭTWと、センサ計測値ＭSTを求めることができれば、基準座標系２６０２における撮像部１０１の位置姿勢ＭCWが求められる。
【０１２８】
このときＭCWは、以下の式１０によって示すことができる。
【０１２９】
【数１０】
2008046687.tif 000012
【０１３０】
図２４は位置姿勢センサを用いた一般的な複合現実感提示装置を実現するための機能構成を示すブロック図である。但し、図２４において図１２と同様の同じ機能を有する構成には同じ参照番号を付けている。
【０１３１】
計測受信部２３０３は、ＨＭＤ２３００に固定されている磁気センサのレシーバを示している。第９実施形態では、位置姿勢センサとしてPolhemus社の磁気センサであるFASTRAKを用いている。この計測受信部２３０３は、受信した磁場の強度を計測制御部２３０５に送る。
【０１３２】
計測送信部２３０４は、現実空間内に配置されている磁気センサFASTRAKのトランスミッタを示している。計測制御部２３０５は、計測受信部２３０３の受信結果を受け、計測対象である撮像部１０１に固定された計測受信部２３０３のセンサ座標系２６０１における位置姿勢ＭSTを計測する（図２６参照）。第９実施形態ではこの計測制御部２３０５は、FASTRAKのコントローラを示している。
【０１３３】
位置姿勢変換部２４０１は、計測制御部で得られたセンサ座標系２６０１における計測受信部２３０３の位置姿勢ＭSTと記憶部２４０３に格納されているセンサ校正情報ＭCSとＭTWを読み出す。そして、式１０によりＭCSを求める。
【０１３４】
仮想物体描画部２４０２では、求められたＭCWをビューイング変換行列として用い、記憶部２４０３内に格納されている仮想物体の頂点情報を読み出して仮想空間画像を描画する。記憶部２４０３は、複合現実感提示装置を実現するために必要な情報を管理する。例えば、センサ校正情報ＭCSとＭTW、重畳する仮想物体の頂点情報、撮像部１０１のカメラ内部パラメータ等である。
【０１３５】
このようにして、撮像された画像の上に得られた仮想空間の画像を画像合成部１１０で重畳し、表示部１０２に表示することにより、ユーザに複合現実空間を提示することができる。
【０１３６】
図２４のような複合現実感提示装置を実現するためには、センサ校正情報ＭCSとＭTWを校正し、予め記憶部２４０３内に格納しておく必要がある。
【０１３７】
図２３は、この校正情報を校正する校正装置に対して本発明を適用した、第９実施形態の校正装置における機能構成を示すブロック図である。尚、図２３において、図２４と同じ機能を持つ構成については同じ参照番号を付けている。
【０１３８】
画像座標取得部２３０６は、撮像部１０１が撮像した画像を入力し、画像中に撮像されているランドマークの画像座標系での座標値及びその識別番号（識別子）を特定する。尚、第９実施形態では、このランドマークに第４実施形態でも用いたARToolKitの正方形マーカを使用する。正方形マーカの検出及び識別（同定）については、第４実施形態における処理と同一である。但し、本発明は、ランドマークとして正方形マーカを使用することに限定されるものではなく、センサキャリブレーションが可能な指標であれば適用可能であることは明らかである。
【０１３９】
記憶部２３０７は、第９実施形態による撮影環境校正方法の処理に必要な情報を保持し、処理に応じて読み出しや書き込みを行う。撮影環境校正方法の処理に必要な情報とは、例えば、
・図２１に示すマーカデータ、マーカ内部のパターン画像、
・校正情報ＭCSとＭTW、
・保存した撮像画像、保存したセンサ計測値、
・位置姿勢提示のために描画する仮想物体の頂点情報、
・撮像画像から検出した正方形マーカの画像座標系における各頂点の２次元位置、
・撮像部１０１の指示位置姿勢を格納する指示位置姿勢配列、
・指示部２３０９から入力されるデータ取得コマンドと校正情報算出コマンドとを判別するフラグ、
・正方形マーカの画像座標値と基準座標系における座標値を対応付けた対応リスト等の情報である。
【０１４０】
データ解析部１２０５は、記憶部２３０７から得たマーカデータを参照し、センサの配置情報を高精度に推定するために必要なマーカ画像を撮影するための撮像位置姿勢を算出する。又、撮像位置姿勢指示部１２０６は、記憶部２３０７に格納された指示位置姿勢に基づいて３次元ガイドＣＧを描画する。
【０１４１】
指示部２３０９は、データ取得コマンドがユーザから入力された場合には、「データ取得」のフラグを、校正情報算出コマンドがユーザから入力された場合には「校正情報算出」のフラグを記憶部２３０９に格納する。
【０１４２】
校正情報算出部２３１０は、非特許文献１で開示されている手法を用いて、記憶部２３０７内に格納された撮像された画像から検出した正方形マーカの画像座標系における２次元座標値と保存したセンサ計測値を用いて校正情報を算出する。この補正情報算出部２３１０は、まず、記憶部２３０７に格納されたマーカデータの３次元位置姿勢を、正方形マーカの４頂点における３次元座標値に変換する。この変換は公知の手法であるため説明は省略する。次に、検出された各正方形マーカの各頂点位置をセンサ座標値と未知パラメータである校正情報ＭCSとＭTWに初期値を設定して、求められた基準座標系２６０２０における撮像部１０１の位置姿勢を求める。更に、求めた撮像部１０１の位置姿勢を基にして、撮像されている正方形マーカの各頂点に対応する３次元座標値をカメラ内部パラメータにより求めた射影変換により画像座標系における各頂点の理想値に変換する。ここで、撮像画像上で検出された正方形マーカの各頂点位置を記憶部２３０７から読み出し、記憶部２３０７内のリストに設定された情報を基に対応付ける。ここで対応付けられた各頂点の画像上での誤差を最小とするような補正値を誤差最小化の手法によって、求めるべき校正情報であるＭCSとＭTWを求める。詳細は、非特許文献１を参照のこと。このようにして得られた校正情報は、記憶部２３０７に格納される。
【０１４３】
図２３で示したブロック図で構成される撮影環境校正方法による処理手順を図２５に示すフローチャートを用いて説明する。
【０１４４】
図２５のステップＳ１４０３〜Ｓ１４０５では、図１４における処理と同様に記憶部２３０７に格納されているマーカデータを解析し、マーカデータの情報から最適な指示撮像位置姿勢を生成し、その解析結果に基づいて３次元ガイドＣＧを表示する。
【０１４５】
ステップＳ２５０１では、記憶部２３０７内にデータ取得コマンドのフラグが設定されているか否かを判定し、設定されている場合はステップＳ２５０２に、設定されていない場合はステップＳ２５０６に処理を移す。
【０１４６】
ステップＳ２５０２では、計測制御部２３０５から計測値を記憶部２３０７に入力する。そして、ステップＳ２５０３において、画像座標取得部２３０６によりランドマーク（正方形マーカ）の画像座標を算出し、ランドマークの識別ＩＤとともに記憶部２３０６に入力する。ここで、識別ＩＤとは、図２１のマーカデータに記している１３０１、１３０２等の各ランドマークを識別するための固有のＩＤとする。次に、ステップＳ２５０４では、撮像画像から検出された正方形マーカの識別ＩＤに対応する記憶部２３０７内のマーカデータの基準座標系における３次元位置姿勢が取得される。ステップＳ２５０５では、対応付けられた正方形マーカの画像座標値と基準座標系における座標値を記憶部２３０７内の対応リストに格納する。
【０１４７】
ステップＳ２５０６では、現在までに取得された対応リストにセンサの配置情報を校正するに足るだけの情報を有しているかどうかの判定が行われる。条件を満たしている場合はステップＳ２５０７へ処理を移し、条件を満たしていない場合はステップＳ１４０３に戻る。センサの配置情報の校正実施の条件としては、例えば、１つ以上の正方形マーカが同定されていること、複数の視点位置においてデータが得られていること、及び、データ総数が６点以上であることを、条件とする。
【０１４８】
ステップＳ２５０７では、記憶部２３０７内に校正情報算出コマンドのフラグが設定されているか否かを判定し、設定されている場合はステップＳ２５０８に処理を移し、設定されていない場合はステップＳ１４０３に処理を戻す。
【０１４９】
ステップＳ２５０８では、校正情報算出部２３１００でセンサの校正情報を算出する。そして、ステップＳ２５０９では、ステップＳ２５０８で求めたセンサの校正情報を記憶部２３０７に格納する。
【０１５０】
以上のように、第９実施形態においては、センサの配置情報のキャリブレーション時に必要になるパターン画像を自動的に予測し、ユーザに対してそのパターン画像を撮像できる位置を示し、誘導する。このため、センサ配置情報のキャリブレーションのアルゴリズムや仕組みを知らない初心者であっても精度よくマーカ位置姿勢のキャリブレーションが実施可能になる。
【０１５１】
以上説明したように、上記各実施形態によれば、画像を用いてカメラパラメータや現実空間中の物体の形状、配置情報、位置姿勢センサの配置情報などを校正する場合に、撮像する位置姿勢が３次元空間上に３次元ガイドＣＧで教示される。このため、校正の仕組みを知らず、画像データ入力時にミスを起こしやすい初心者であっても精度よく校正を行うことができる。
【０１５２】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、又、一つの機器からなる装置に適用しても良い。
【０１５３】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したプログラムである。
【０１５４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１５５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１５６】
プログラムを供給するための記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１５７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。又、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５８】
又、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【０１５９】
又、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０１６０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【０１６１】
【図１】第１実施形態の機能構成を示すブロック図である。
【図２】第１実施形態における撮影環境校正方法の利用時の模式図である。
【図３】第１実施形態におけるキャリブレーションパターンを示す図である。
【図４】第１実施形態における大まかな処理手順を示すフローチャートである。
【図５】第１実施形態におけるデータ解析の処理手順の詳細を示すフローチャートである。
【図６】変形例１における撮像位置姿勢指示の処理手順の詳細を示すフローチャートである。
【図７】変形例１における撮像されたキャリブレーションパターンの２つの消失点を示す模式図である。
【図８】変形例１における指示位置姿勢を決める各消失点方向の角度を示す模式図である。
【図９】第１実施形態における指示位置姿勢をキャリブレーションパターンの中心点と指示位置姿勢が示す撮像部の画像中心が一致するような回転を説明する模式図である。
【図１０】第１実施形態における指示位置姿勢に対して現在の撮像位置姿勢が近い位置にあることを示すＯＫマーク１００１０の一例を示す模式図である。
【図１１】変形例２の処理手順の詳細を示すフローチャートである。
【図１２】第２実施形態の機能構成を示すブロック図である。
【図１３】第２実施形態における撮影環境校正方法の利用時の模式図である。
【図１４】第２実施形態における撮影環境校正方法の大まかな処理手順を示すフローチャートである。
【図１５】第２実施形態における撮像位置姿勢指示の処理手順の詳細を示すフローチャートである。
【図１６】第２実施形態における撮像位置姿勢指示の処理におけるノーマルモードの表示形態を説明する模式図である。
【図１７】第２実施形態における撮像位置姿勢指示の処理における調整モードの表示形態を説明する模式図である。
【図１８】第２実施形態における撮像位置姿勢指示の処理における調整モードの別の表示形態を説明する模式図である。
【図１９】変形例３における撮影環境校正方法の利用時のユーザに提示される画像を示す模式図である。
【図２０】変形例４における撮影環境校正方法の利用時のユーザに提示される画像を示す模式図である。
【図２１】第２実施形態におけるマーカデータを示すリストである。
【図２２】変形例５における撮影環境校正方法の利用時の模式図である。
【図２３】第３実施形態の機能構成を示すブロック図である。
【図２４】複合現実感提示装置の機能構成を示すブロック図である。
【図２５】第３実施形態における撮影環境校正方法の大まかな処理手順を示すフローチャートである。
【図２６】第３実施形態におけるセンサの配置情報、基準座標系、センサ座標系の関係を示す模式図である。
【図１】
2008046687.tif 000013
【図２】
2008046687.tif 000014
【図３】
2008046687.tif 000015
【図４】
2008046687.tif 000016
【図５】
2008046687.tif 000017
【図６】
2008046687.tif 000018
【図７】
2008046687.tif 000019
【図８】
2008046687.tif 000020
【図９】
2008046687.tif 000021
【図１０】
2008046687.tif 000022
【図１１】
2008046687.tif 000023
【図１２】
2008046687.tif 000024
【図１３】
2008046687.tif 000025
【図１４】
2008046687.tif 000026
【図１５】
2008046687.tif 000027
【図１６】
2008046687.tif 000028
【図１７】
2008046687.tif 000029
【図１８】
2008046687.tif 000030
【図１９】
2008046687.tif 000031
【図２０】
2008046687.tif 000032
【図２１】
2008046687.tif 000033
【図２２】
2008046687.tif 000034
【図２３】
2008046687.tif 000035
【図２４】
2008046687.tif 000036
【図２５】
2008046687.tif 000037
【図２６】
2008046687.tif 000038