(57)【特許請求の範囲】
【請求項１】
現実空間中に配されている複数の指標のそれぞれについて、該現実空間中における配置位置を示す配置位置情報を保持する手段と、
姿勢センサが取り付けられている撮像装置を用いて前記現実空間を撮像することで、前記現実空間の画像を取得する画像取得手段と、
前記現実空間の画像中における指標を検出し、該検出した指標の該画像中における座標値を求める導出手段と、
前記現実空間の撮像時に前記姿勢センサが計測した姿勢情報を取得する姿勢取得手段と、
過去に前記撮像装置がより高い頻度でとった姿勢にはより高いパラメータ値が対応付けられるように、前記撮像装置が取りうる姿勢毎にパラメータ値を対応付けて保持する保持手段と、
前記現実空間の撮像時における前記撮像装置の位置姿勢情報を求め、前記保持手段が保持するパラメータ値のうち、該求めた位置姿勢情報に含まれている姿勢成分が示す姿勢に対応するパラメータ値を、対象パラメータ値として取得するパラメータ値取得手段と、
前記現実空間の画像中における指標毎に、前記座標値、前記姿勢情報、のセットを作成する作成手段と、
前記位置姿勢情報と、前記対象パラメータ値と、前記作成手段が指標毎に作成した前記セットと、を用いて、前記撮像装置に対する前記姿勢センサの姿勢を求める計算手段とを備え、
前記計算手段は、
前記配置位置情報が示す配置位置を前記位置姿勢情報を用いて前記現実空間の画像上に投影した位置と、前記座標値が示す位置と、の誤差を、前記現実空間の画像中におけるそれぞれの指標毎に求め、求めた指標毎の誤差と、該誤差に対する重み値としての前記対象パラメータ値とを、前記撮像装置に対する前記姿勢センサの姿勢を求める計算処理に用いる
ことを特徴とする画像処理装置。
【請求項２】
更に、
データ取得指示を入力するデータ取得指示入力手段と、
算出指示を入力する算出指示入力手段とを備え、
前記導出手段、前記パラメータ値取得手段、前記作成手段、は、前記データ取得指示が入力された場合に動作し、
前記計算手段は、前記算出指示が入力された場合に動作する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の配置位置情報保持手段が、現実空間中に配されている複数の指標のそれぞれについて、該現実空間中における配置位置を示す配置位置情報を保持する工程と、
前記画像処理装置の画像取得手段が、姿勢センサが取り付けられている撮像装置を用いて前記現実空間を撮像することで、前記現実空間の画像を取得する画像取得工程と、
前記画像処理装置の導出手段が、前記現実空間の画像中における指標を検出し、該検出した指標の該画像中における座標値を求める導出工程と、
前記画像処理装置の姿勢取得手段が、前記現実空間の撮像時に前記姿勢センサが計測した姿勢情報を取得する姿勢取得工程と、
前記画像処理装置の保持手段が、過去に前記撮像装置がより高い頻度でとった姿勢にはより高いパラメータ値が対応付けられるように、前記撮像装置が取りうる姿勢毎にパラメータ値を対応付けて保持する保持工程と、
前記画像処理装置のパラメータ値取得手段が、前記現実空間の撮像時における前記撮像装置の位置姿勢情報を求め、前記保持手段が保持するパラメータ値のうち、該求めた位置姿勢情報に含まれている姿勢成分が示す姿勢に対応するパラメータ値を、対象パラメータ値として取得するパラメータ値取得工程と、
前記画像処理装置の作成手段が、前記現実空間の画像中における指標毎に、前記座標値、前記姿勢情報、のセットを作成する作成工程と、
前記画像処理装置の計算手段が、前記位置姿勢情報と、前記対象パラメータ値と、前記作成工程で指標毎に作成した前記セットと、を用いて、前記撮像装置に対する前記姿勢センサの姿勢を求める計算工程とを備え、
前記計算工程では、
前記配置位置情報が示す配置位置を前記位置姿勢情報を用いて前記現実空間の画像上に投影した位置と、前記座標値が示す位置と、の誤差を、前記現実空間の画像中におけるそれぞれの指標毎に求め、求めた指標毎の誤差と、該誤差に対する重み値としての前記対象パラメータ値とを、前記撮像装置に対する前記姿勢センサの姿勢を求める計算処理に用いる
ことを特徴とする画像処理方法。
【請求項４】
コンピュータを、請求項１または２に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の位置姿勢の補正技術に関するものである。
【背景技術】
【０００２】
近年、現実空間と仮想空間との繋ぎ目のない結合を目的とした、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、次のような構成を有する装置によって実現される。即ち、ビデオカメラ等の撮像装置により撮像された現実空間の画像に、撮像装置の位置姿勢に応じて生成された仮想空間の画像（例えばコンピュータグラフィックスにより描画された仮想物体や文字情報等）を重畳描画した画像を表示する装置である。
【０００３】
このような画像表示装置の応用としては、市街地を撮像した画像中に含まれる著名な建造物等の名称や案内を仮想空間画像として重畳表示するナビゲーションなどが期待されている。更には、ビルの建設予定地を撮像した画像中に、建設予定のビルのコンピュータグラフィックス映像を重畳表示する景観シミュレーションなども期待されている。
【０００４】
これらの応用に対して共通に要求されるのは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。現実空間と仮想空間との間の位置合わせを正確に行うためには、仮想空間の画像を生成するためのカメラパラメータ（内部パラメータ及び外部パラメータ）を、撮像装置のカメラパラメータと常に一致させればよい。撮像装置の内部パラメータが既知であるとすれば、複合現実感における位置合わせの問題は、撮像装置の外部パラメータ、すなわち、現実空間に設定した世界座標系における撮像装置の位置及び姿勢を求める問題に帰結される。
【０００５】
現実空間に設定した世界座標系における撮像装置の位置及び姿勢を求める方法として、例えば非特許文献１においては、次のようなことが提案されている。即ち、姿勢センサを用いた撮像装置の姿勢計測と、全地球測位システム等による撮像装置の位置計測との併用によって撮像装置の位置及び姿勢を得ることが提案されている。
【０００６】
このような方法に用いられる姿勢センサの代表的なものに、株式会社トキメックのＴＩＳＳ−５−４０や、米国ＩｎｔｅｒＳｅｎｓｅ社のＩｎｅｒｔｉａＣｕｂｅ２が存在する。これらの姿勢センサは、３軸方向の角速度を検出するジャイロセンサと、３軸方向の加速度を検出する加速度センサによって主に構成されており、それらの計測値の組み合わせによって３軸の姿勢（方位角、ピッチ角、ロール角）を計測する。一般に、ジャイロセンサのみによって得られる角度情報は、ある時刻の姿勢に対する姿勢の相対的な変化のみである。しかし、これらの姿勢センサは、加速度センサによって地球の重力方向を計測することで、傾斜角（すなわち、ピッチ角及びロール角）については重力方向を基準とした絶対角を得ることができることを特徴としている。
【０００７】
姿勢センサが出力する姿勢計測値は、世界座標系とは無関係にセンサ自身が定義するセンサ座標系におけるセンサ自身の姿勢を表している。センサ座標系は、例えば上述のＴＩＳＳ−５−４０の場合には、重力方向（下方向）をＺ軸、このＺ軸によって定められるＸ−Ｙ平面上におけるセンサ初期化時のセンサの正面方向をＸ軸として定義される。また、ＩｎｅｒｔｉａＣｕｂｅ２の場合には、重力方向（下方向）をＺ軸、このＺ軸によって定められるＸ−Ｙ平面上において、内蔵する地磁気センサがセンサ初期化時に示している北方向をＸ軸として定義される。このように、姿勢センサによる姿勢計測値は、取得したい情報である世界座標系における計測対象物体（複合現実感を提示する画像表示装置の場合には撮像装置）の姿勢そのものではないことが一般的である。
【０００８】
すなわち、姿勢センサによる姿勢計測値をそのまま世界座標系における計測対象物体の姿勢として用いることはできず、何らかの座標変換を行う必要がある。具体的には、センサ自身の姿勢を計測対象物体の姿勢に変換する座標変換（Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍ）と、センサ座標系における姿勢を世界座標系における姿勢に変換する座標変換（Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍ）が必要となる。
【０００９】
Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍは、センサ座標系の世界座標系に対する姿勢によって定義される変換である。
【００１０】
上述したように、センサ座標系は重力の方向に応じて決定される。従って、センサ座標系における重力軸（ＴＩＳＳ−５−４０やＩｎｅｒｔｉａＣｕｂｅ２の場合にはＺ軸）が世界座標系においてどのような方向を向いているかは、センサ座標系と世界座標系のそれぞれにおける重力方向の定義から一意に決定可能である。この情報を利用すると、重力軸まわりの回転角に不定性を残した状態で、Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍを求めることができる。具体的には、世界座標系における鉛直上方向を表す３次元ベクトルｌとセンサ座標系における鉛直上方向を示す３次元ベクトルｇを用意し、ｇとｌの内積ｇ・ｌに基づいて両ベクトルの成す角βを算出する。さらに、ｇとｌとの外積により両ベクトルによって構成される平面の法線ベクトルｎ＝ｇ×ｌを算出する。ベクトルｎを回転軸、角度βを回転角とするような座標変換を行う回転行列Ｒ＊ＷＣを算出すると、これが世界座標系に対する重力方向に対応する軸の姿勢となる。この算出方法については、公知の手法によって実現できることが知られている（特許文献１を参照）。よって、Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍは、重力軸まわりの回転角のみが未知となる。
【００１１】
この未知パラメータは、姿勢センサがジャイロセンサであった場合に時間経過と共に発生する、重力軸まわりの姿勢計測値の蓄積誤差である「方位ドリフト誤差」と幾何学的に等価なパラメータである。そこで、未知の値として残された重力軸まわりの回転角を「方位ドリフト誤差の初期値」と解釈すると、このパラメータは、動的に変化するセンサの方位ドリフト誤差の一部とみなすことができる。そして結果的に、Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍを、（重力軸の関係によって導出可能な）既知の値と考えることができる。また、方位ドリフト誤差の自動計測（自動補正）は、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍが既知であれば、画像情報を利用した公知の手法によって実現できることが知られている（特許文献２を参照）。
【００１２】
その既知としたいＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍを算出する方法は、特許文献３に開示されている。係る方法では、現実空間中や対象物体上に世界座標系における配置が既知であるような複数の指標を設置あるいは設定する。そして、既知の情報であるその指標の世界座標系における三次元座標と、撮像装置が撮像した画像内における指標の投影像の座標と、その時点における姿勢センサの出力情報とを利用して、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍを算出する。
【特許文献１】特開２００５−１０７２４８号公報
【特許文献２】特開２００３−２０３２５２号公報
【特許文献３】特開２００５−３２６２７５号公報
【非特許文献１】Ｔ．Ｈｏｌｌｅｒｅｒ，Ｓ．Ｆｅｉｎｅｒ，ａｎｄ  Ｊ．Ｐａｖｌｉｋ，Ｓｉｔｕａｔｅｄ  ｄｏｃｕｍｅｎｔａｒｉｅｓ：ｅｍｂｅｄｄｉｎｇ  ｍｕｌｔｉｍｅｄｉａ  ｐｒｅｓｅｎｔａｔｉｏｎｓ  ｉｎ  ｔｈｅ  ｒｅａｌ  ｗｏｒｌｄ，Ｐｒｏｃ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｗｅａｒａｂｌｅ  Ｃｏｍｐｕｔｅｒｓ’９９，ｐｐ．７９−８６，１９９９．
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、特許文献３に開示の方法では、姿勢センサを装着した撮像装置の利用時の姿勢情報を考慮したとき、必ずしも有効であるとは言えない。なぜなら、特許文献３に開示の方法は、撮像装置によって撮影された画像情報とその時点における姿勢センサの出力情報を均等に扱い、均等の重みとして計算されるため、較正結果はあらゆる姿勢に対して同程度の推定誤差を含んでいるからである。姿勢センサを装着した撮像装置が利用時にあらゆる姿勢を均等に取る場合には上記方法は有効であるが、上記撮像装置が利用時に取る姿勢の頻度に差異がある場合、得られる較正結果は撮像装置の姿勢によらず同程度の誤差を含むという課題がある。
【００１４】
本発明は以上の問題に鑑みてなされたものであり、撮像装置に取り付けた姿勢センサの、この撮像装置に対する姿勢を、係る姿勢のとりうる頻度を鑑みて求める為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１６】
即ち、現実空間中に配されている複数の指標のそれぞれについて、該現実空間中における配置位置を示す配置位置情報を保持する手段と、
姿勢センサが取り付けられている撮像装置を用いて前記現実空間を撮像することで、前記現実空間の画像を取得する画像取得手段と、
前記現実空間の画像中における指標を検出し、該検出した指標の該画像中における座標値を求める導出手段と、
前記現実空間の撮像時に前記姿勢センサが計測した姿勢情報を取得する姿勢取得手段と、
過去に前記撮像装置がより高い頻度でとった姿勢にはより高いパラメータ値が対応付けられるように、前記撮像装置が取りうる姿勢毎にパラメータ値を対応付けて保持する保持手段と、
前記現実空間の撮像時における前記撮像装置の位置姿勢情報を求め、前記保持手段が保持するパラメータ値のうち、該求めた位置姿勢情報に含まれている姿勢成分が示す姿勢に対応するパラメータ値を、対象パラメータ値として取得するパラメータ値取得手段と、
前記現実空間の画像中における指標毎に、前記座標値、前記姿勢情報、のセットを作成する作成手段と、
前記位置姿勢情報と、前記対象パラメータ値と、前記作成手段が指標毎に作成した前記セットと、を用いて、前記撮像装置に対する前記姿勢センサの姿勢を求める計算手段とを備え、
前記計算手段は、
前記配置位置情報が示す配置位置を前記位置姿勢情報を用いて前記現実空間の画像上に投影した位置と、前記座標値が示す位置と、の誤差を、前記現実空間の画像中におけるそれぞれの指標毎に求め、求めた指標毎の誤差と、該誤差に対する重み値としての前記対象パラメータ値とを、前記撮像装置に対する前記姿勢センサの姿勢を求める計算処理に用いる
ことを特徴とする。
【００１７】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１８】
即ち、画像処理装置が行う画像処理方法であって、
前記画像処理装置の配置位置情報保持手段が、現実空間中に配されている複数の指標のそれぞれについて、該現実空間中における配置位置を示す配置位置情報を保持する工程と、
前記画像処理装置の画像取得手段が、姿勢センサが取り付けられている撮像装置を用いて前記現実空間を撮像することで、前記現実空間の画像を取得する画像取得工程と、
前記画像処理装置の導出手段が、前記現実空間の画像中における指標を検出し、該検出した指標の該画像中における座標値を求める導出工程と、
前記画像処理装置の姿勢取得手段が、前記現実空間の撮像時に前記姿勢センサが計測した姿勢情報を取得する姿勢取得工程と、
前記画像処理装置の保持手段が、過去に前記撮像装置がより高い頻度でとった姿勢にはより高いパラメータ値が対応付けられるように、前記撮像装置が取りうる姿勢毎にパラメータ値を対応付けて保持する保持工程と、
前記画像処理装置のパラメータ値取得手段が、前記現実空間の撮像時における前記撮像装置の位置姿勢情報を求め、前記保持手段が保持するパラメータ値のうち、該求めた位置姿勢情報に含まれている姿勢成分が示す姿勢に対応するパラメータ値を、対象パラメータ値として取得するパラメータ値取得工程と、
前記画像処理装置の作成手段が、前記現実空間の画像中における指標毎に、前記座標値、前記姿勢情報、のセットを作成する作成工程と、
前記画像処理装置の計算手段が、前記位置姿勢情報と、前記対象パラメータ値と、前記作成工程で指標毎に作成した前記セットと、を用いて、前記撮像装置に対する前記姿勢センサの姿勢を求める計算工程とを備え、
前記計算工程では、
前記配置位置情報が示す配置位置を前記位置姿勢情報を用いて前記現実空間の画像上に投影した位置と、前記座標値が示す位置と、の誤差を、前記現実空間の画像中におけるそれぞれの指標毎に求め、求めた指標毎の誤差と、該誤差に対する重み値としての前記対象パラメータ値とを、前記撮像装置に対する前記姿勢センサの姿勢を求める計算処理に用いる
ことを特徴とする。
【発明の効果】
【００１９】
本発明の構成によれば、撮像装置に取り付けた姿勢センサの、この撮像装置に対する姿勢を、係る姿勢のとりうる頻度を鑑みて求めることができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００２１】
［第１の実施形態］
本実施形態に係る画像処理装置は、センサ自身の姿勢を撮像装置の姿勢に変換する為の座標変換情報を取得する。また、本実施形態に係る画像処理装置は、センサの位置姿勢情報の較正結果を確認するために、その較正結果を用いた複合現実感の提示も行う。以下、本実施形態に係る画像処理装置（画像処理方法）について説明する。
【００２２】
図１は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１に示す如く、現実空間中には複数の指標（Ｐ１〜Ｐ４）が配されており、本実施形態に係るシステムは、係る現実空間を撮像するための撮像装置１０２０と、撮像装置１０２０による撮像画像を処理する画像処理装置１０００とで構成されている。そして更に、撮像装置１０２０には、画像処理装置１０００による校正対象としての姿勢センサ１０１０が取り付けてある。
【００２３】
以下、図１を用いて、本実施形態に係るシステム、及び係るシステムが取り扱う現実空間についてより詳細に説明する。
【００２４】
較正対象である姿勢センサ１０１０は、センサ座標系におけるセンサ自身の姿勢を計測する。姿勢センサ１０１０は、地球の重力方向を計測可能な傾斜計（不図示）を内部に有しており、センサ座標系の１つの軸（本実施形態ではＺ軸）は重力方向とは逆の方向に設定される。姿勢センサ１０１０が計測した姿勢情報（３自由度の姿勢計測値）は、画像処理装置１０００が有する後述のデータ管理部１０６０からの要求に従って、データ管理部１０６０へと出力される。
【００２５】
また、上述の通り、現実空間中には、撮像装置１０２０による撮像対象としての指標（基準指標）として、世界座標系における位置が既知である複数個の基準指標Ｐｋ（ｋ＝１，…，Ｋ）が配置されている。ここで、世界座標系とは、現実空間中の１点を原点として定義し、更に、係る原点で互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系である。
【００２６】
基準指標Ｐｋは、センサ較正用のデータを取得する時の撮像装置１０２０によって、少なくとも３個以上の指標が観測されるように設置されていることが望ましい。図１では、４個の基準指標Ｐ１，Ｐ２，Ｐ３，Ｐ４が配置されており、そのうちの３個Ｐ１，Ｐ３，Ｐ４が撮像装置１０２０の視野内に含まれている状況を示している。
【００２７】
基準指標Ｐｋは、例えば、それぞれが異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点によって構成してもよい。また、ある程度の面積を有する四角形の単色領域によって形成されるような四角形指標を指標として用いることも可能である。撮像装置１０２０による撮像画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが識別可能であるような指標であれば、何れの形態であってもよい。
【００２８】
撮像装置１０２０は、このような現実空間を撮像すると、撮像した画像（現実空間の画像、撮像画像）を、画像処理装置１０００が有する後述の画像入力部１０３０に対して出力する。
【００２９】
画像入力部１０３０は、撮像装置１０２０から受けた撮像画像を、後段の指標検出部１０４０に対して送出する。
【００３０】
指標検出部１０４０は、画像入力部１０３０から受けた撮像画像中に位置する基準指標Ｐｋの画像座標ｕＰｋを検出する。例えば、基準指標Ｐｋの各々が異なる色を有するマーカによって構成されている場合には、撮像画像上から各々のマーカ色に対応する領域を検出し、係る領域の重心位置を指標の画像座標とする。また、基準指標Ｐｋの各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを撮像画像上に施すことにより、指標の画像座標を検出する。また、基準指標として四角形指標を用いる場合は、撮像画像に２値化処理を施した後にラベリングを行い、一定面積以上の領域の中から４つの直線によって形成されているものを指標候補として検出する。さらに、候補領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除することで、最終的な指標の画像座標を求める。また、指標の識別子も取得する。なお、このようにして検出される四角形指標は、ここでは、４つの頂点の個々によって形成される４つの指標であると考える。
【００３１】
検出された各々の基準指標Ｐｋｎの画像座標ｕＰｋｎとその識別子ｋｎは、データ管理部１０６０からの要求に従って、データ管理部１０６０へと出力される。ここで、ｎ（ｎ＝１，，，Ｎ）は検出された指標夫々に対するインデックスであり、Ｎは検出された指標の総数を表している。例えば図１の場合には、Ｎ＝３であり、識別子ｋ１＝１，ｋ２＝３，ｋ３＝４とこれらに対応する画像座標ｕＰｋ１，ｕＰｋ２，ｕＰｋ３がデータ管理部１０６０に出力される。
【００３２】
位置姿勢入力部１０５０は、世界座標系における撮像装置１０２０の位置姿勢情報を求め、求めた位置姿勢情報をデータ管理部１０６０からの要求に従って、データ管理部１０６０へと出力する。撮像装置１０２０の世界座標系における概略位置姿勢には、例えば、６自由度位置姿勢センサを撮像装置１０２０に装着させ、係るセンサによる出力値を用いてもよい。あるいは、世界座標系における基準指標の世界座標ｘｗＰｋｎｉと、指標検出部１０４０で得た夫々の基準指標の画像座標と識別子と、をデータ管理部１０６０から入力する。そして、画像座標と世界座標との対応関係から得られる線形連立方程式を解くことによって、撮像装置１０２０の世界座標系における位置姿勢情報を推定するようにしても良い。このように、撮像装置１０２０の世界座標系における位置姿勢を求めるための手法については特には限定しない。
【００３３】
データ管理部１０６０は、指示部１０８０から「データ取得」の指示（データ取得指示）を受けると、姿勢センサ１０１０から姿勢計測値を入力し、指標検出部１０４０から基準指標の画像座標とその識別子を入力する。そして、検出された指標毎に、［姿勢計測値−基準指標の画像座標−基準指標の識別子］のセットデータを作成し、作成した指標毎のセットデータを１つのデータリストに登録する。
【００３４】
ここで、姿勢センサ１０１０から入力される姿勢計測値は、指標検出部１０４０から入力される基準指標の画像座標を検出した撮像画像の撮像時刻と、同一時刻（略同一時刻を含む）のものである。また、位置姿勢入力部１０５０が求めた位置姿勢情報は、係る撮影時刻と同一時刻（略同一時刻を含む）における撮像装置１０２０の位置姿勢を示す。
【００３５】
データ管理部１０６０は、較正情報算出部１０９０から要求を受けると、生成したデータリストを較正情報算出部１０９０に出力する。
【００３６】
寄与度算出部１０７０は、位置姿勢入力部１０５０が求めた位置姿勢情報に含まれている姿勢情報を用いて、パラメータ値としての寄与度ετＰｋｎを求める。そして寄与度算出部１０７０は、求めた寄与度を、先のデータリストに登録する。
【００３７】
即ち、上記構成により、１枚の撮像画像から検出された指標毎にセットデータが生成されると共に、係る撮像画像の撮像時の撮像装置１０２０の姿勢情報に応じて寄与度が特定される。そして、特定された寄与度を、この生成されたそれぞれのセットデータと共に、データリストに登録することができる。
【００３８】
寄与度算出部１０７０には予め、撮像装置１０２０の姿勢と寄与度との対応関係を示すデータ（関係情報）が登録されている。例えば、撮像装置１０２０が取りうるある範囲内のそれぞれの姿勢毎に寄与度が設定されている。撮像装置１０２０を利用する際に頻度の高い姿勢に対応する寄与度ほど高い値となる。このように、撮像装置１０２０の姿勢と寄与度との対応関係を示すデータは予め作成し、寄与度算出部１０７０に登録されているものとする。
【００３９】
撮像装置１０２０の利用時の姿勢の頻度は、利用時全てにおける姿勢の頻度としてもよいし、一部の利用時における姿勢の頻度としてもよいし、撮像装置１０２０と姿勢センサ１０１０とを共に用いるときの姿勢の頻度としてもよい。
【００４０】
ここで、本実施形態に係る寄与度算出部１０７０が行う寄与度算出処理の詳細について説明する。
【００４１】
寄与度ετＰｋｎは、撮像装置１０２０の姿勢（位置姿勢入力部１０５０によって求められる位置姿勢情報に含まれている姿勢情報）を引数とする重み関数によって算出する。重み関数は正（＞０）であり、ロバスト推定手法のひとつであるＭ推定で用いられるような重み関数（確率論的モデルを作り、観測データとよくあてはまるものにより大きな重み付けを行う関数）であってもよいし、実験的、経験的に求めた関数であってもよい。
【００４２】
例えば図２に示す如く、撮像装置１０２０の姿勢情報を撮像装置１０２０の水平面に対する傾斜角とし、この傾斜角と撮像装置１０２０利用時の姿勢の頻度との関係が得られているとする。この場合、頻度が高い姿勢に対しては大きな寄与度を与え、頻度が低い姿勢に対しては小さな寄与度を与えるような重み関数によって寄与度ετＰｋｎを定義してもよい。
【００４３】
従ってこの場合、寄与度算出部１０７０は、位置姿勢入力部１０５０が求めた位置姿勢情報に含まれている姿勢情報を、係る重み関数に入力することで、対応する寄与度を求めることになる。
【００４４】
若しくは、次のような方法でもって、撮像装置１０２０の姿勢情報と撮像装置１０２０利用時の姿勢の頻度との関係をモデル化しておいてもよい。即ち、傾斜角が０度〜３０度であれば寄与度ετＰｋｎを０．７、傾斜角が３０度〜４５度であれば寄与度ετＰｋｎを０．５、傾斜角が４５度〜９０度であれば寄与度ετＰｋｎを０．１とする。
【００４５】
従ってこの場合、寄与度算出部１０７０は、位置姿勢入力部１０５０が求めた位置姿勢情報に含まれている姿勢情報に対応付けられてモデル化されている寄与度を求めることになる。
【００４６】
なお、撮像装置１０２０の水平面に対する傾斜角は公知の技術にて算出できることが知られているため、その説明を省略する。
【００４７】
指示部１０８０は、不図示のオペレータからデータ取得コマンドが入力された時には「データ取得」の指示をデータ管理部１０６０に対して送出する。また、較正情報算出コマンドが入力されたときには「較正情報算出」の指示を較正情報算出部１０９０に送信する。指示部１０８０へのコマンド入力は、例えばキーボードを用いて、特定のコマンドを割り当てたキーを押すことによって行うことができる。また、コマンドの入力は、ディスプレイ上に表示されたＧＵＩを介して等、いずれの方法で行ってもよい。
【００４８】
較正情報算出部１０９０は、指示部１０８０から「較正情報算出」の指示（算出指示）を受けると、データ管理部１０６０からデータリストを取得する。そして、取得したデータリストに登録されているそれぞれのセットデータを用いて較正処理（詳しくは後述する）を行い、その結果として得られた較正情報（すなわち、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍ）を出力する。また、較正情報の算出過程で得られる、最新の方位ドリフト誤差補正値を出力しても良い。
【００４９】
以上説明した構成が、撮像装置１０２０に装着した姿勢センサ１０１０の撮像装置１０２０に対する姿勢情報を取得するための構成である。以下に説明する構成は、上記構成によって得られた較正結果を確認するために複合現実感を提示するための構成である。
【００５０】
位置姿勢算出部１１００は、姿勢センサ１０１０から姿勢計測値を入力すると共に、指標検出部１０４０から基準指標の画像座標とその識別子を入力し、更には、較正情報算出部１０９０から較正情報を入力する。そしてこれらを用いて、世界座標系における撮像装置１０２０の位置及び姿勢を算出する。
【００５１】
位置姿勢算出部１１００は先ず、姿勢センサ１０１０の方位ドリフト誤差補正値と、世界座標系における撮像装置１０２０の位置の各々に、初期推定値を設定する。この値は、例えば、初期フレームにおいてはオペレータが対話的に入力してもよいし、前フレームにおける最適化結果を用いてもよい。あるいは、位置姿勢入力部１０５０における処理工程で得られる値を入力してもよいし、較正情報算出部１０９０における処理工程で得られる推定値を設定してもよい。続いて、位置姿勢算出部１１００は、このようにして設定した姿勢センサ１０１０の方位ドリフト誤差補正値と、世界座標系における撮像装置１０２０の位置の推定値とから、世界座標系における撮像装置１０２０の位置と姿勢を算出する。世界座標系における撮像装置１０２０の姿勢は、以下の情報に基づいて算出される。
【００５２】
・  較正情報算出部１０９０から入力する較正情報であるＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍ
・  センサ座標系と世界座標系のそれぞれにおける重力方向の定義から一意に決定可能なＷｏｒｌｄ  Ｔｒａｎｓｆｏｒｍ
・  方位ドリフト誤差補正値の推定値
・  姿勢センサ１０１０から入力される姿勢計測値
そして、その位置と姿勢から算出される基準指標の画像座標の理論値と、基準指標の画像座標の実測値との誤差を、画像ヤコビアンを用いたガウス・ニュートン法のような繰り返し計算によって最小化する。これにより、姿勢センサ１０１０の方位ドリフト誤差補正値と、世界座標系における撮像装置１０２０の位置の推定値を最適化する。さらに、得られた推定値から、撮像装置１０２０の世界座標系における位置及び姿勢を位置姿勢情報として算出し、後段の画像生成部１１１０に送出する。
【００５３】
以上のように、与えられたＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍが正しいという仮定に基づいて姿勢の算出が行われるので、求められた撮像装置１０２０の姿勢は、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍの正確さを反映したものとなる。
【００５４】
画像生成部１１１０は、位置姿勢算出部１１００から位置姿勢情報を受けると、係る位置姿勢情報が示す位置姿勢を有する視点を仮想空間中に設定する。そして係る視点から見た仮想空間の画像を生成する。所定の位置姿勢を有する視点から見た仮想空間の画像を生成するための技術については周知であるので、係る技術についての詳細な説明は省略する。そして画像生成部１１１０は、生成した仮想空間の画像のデータを、後段の画像合成部１１２０に対して送出する。
【００５５】
画像合成部１１２０は、撮像装置１０２０から撮像画像を入力すると共に、画像生成部１１１０から仮想空間の画像を入力する。そして、撮像画像の上に仮想空間の画像を重畳させた合成画像、即ち、複合現実空間の画像を生成する。撮像画像と仮想空間の画像とを用いて複合現実空間の画像を生成するための処理については周知の技術であるので、これについての説明は省略する。そして画像合成部１１２０は、生成した複合現実空間の画像のデータを後段の画像表示部１１３０に送出する。
【００５６】
画像表示部１１３０は、ＣＲＴや液晶画面などにより構成されており、画像合成部１１２０から受けたデータに基づいて、複合現実空間の画像を表示する。係る表示により、オペレータに複合現実感を提示することができる。オペレータは、提示された画像における、現実空間と仮想空間との間の位置合わせの正確さをもって、較正結果の正確さを判断することができる。
【００５７】
なお、画像表示部１１３０は、撮像装置１０２０と一体化した構成になっていても良い。その場合の撮像装置１０２０および画像表示部１１３０は、いわゆる頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）となりうる。
【００５８】
次に、画像処理装置１０００が較正情報を生成するために行う処理について、同処理のフローチャートを示す図３を用いて説明する。
【００５９】
先ず、ステップＳ２０１０では、指示部１０８０は、データ取得コマンドがオペレータから入力されたか否かの判定を行う。オペレータは、センサ較正用のデータ取得を行う位置に撮像装置１０２０を配置した時に、データ取得コマンドを入力する。データ取得コマンドが入力された場合には、指示部１０８０は、「データ取得」をデータ管理部１０６０に対して指示すると共に、処理をステップＳ２０２０に進める。一方、データ取得コマンドが入力されていない場合には、指示部１０８０は何等指示をせず、処理をステップＳ２０７０に進める。
【００６０】
以降の説明では、データ取得コマンドが入力された時刻の識別子として、記号τを使用する。以下では、時刻τが異なるときには、撮像装置１０２０（視点）の位置及び姿勢が異なっているものとする。すなわち、τは視点の位置姿勢の識別子と考えることもできる）。
【００６１】
ステップＳ２０２０では、データ管理部１０６０は、姿勢センサ１０１０から、時刻τにおいて姿勢センサ１０１０が計測した３自由度の姿勢計測値を入力する。この姿勢計測値は、３値ベクトルによって内部的に表現される。姿勢を３値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような３値のベクトルによって表現されているものとする。本実施形態では、ステップＳ２０２０においてデータ管理部１０６０に入力される姿勢計測値を、３次元ベクトルｍτ＝［ξｍτ  ψｍτ  ζｍτ］Ｔで表す。
【００６２】
ステップＳ２０３０では、データ管理部１０６０は、指標検出部１０４０から、時刻τにおいて指標検出部１０４０が検出した基準指標Ｐｋｎの画像座標ｕＰｋｎとその識別子ｋｎを入力する。指標検出部１０４０は、画像入力部１０３０を介して撮像装置１０２０から入力された撮像画像に対して常に基準指標の検出処理を行っている。従って、本ステップの処理により、姿勢センサ１０１０の姿勢計測値がｍτであるときの基準指標の画像座標、識別子を得ることができる。なお、指標検出部１０４０から入力される情報は、必ずしも全ての基準指標に関するものである必要はなく、その時点で撮像画像上において検出されている基準指標に関する情報であればよい。
【００６３】
ステップＳ２０４０では、データ管理部１０６０は、位置姿勢入力部１０５０から、時刻τにおいて位置姿勢入力部１０５０が算出した世界座標系における撮像装置１０２０の位置姿勢情報を入力する。
【００６４】
ステップＳ２０５０では、データ管理部１０６０は、寄与度算出部１０７０が求めた寄与度ετＰｋｎを、寄与度算出部１０７０から入力する。
【００６５】
次に、ステップＳ２０６０では、データ管理部１０６０は、入力したデータの組をデータリストＬに追加する。具体的には、姿勢センサ１０１０から入力する姿勢計測値ｍτをｍτｉ＝［ξｍτｉ  ψｍτｉ  ζｍτｉ］Ｔとする。また、指標検出部１０４０から入力する識別子ｋｎをｋｉとする。同じく指標検出部１０４０から入力する画像座標（座標値）ｕＰｋｎをｕｉＰｋｉとする。また、寄与度算出部１０７０から入力する寄与度ετＰｋｎをετｉＰｋｉとする。そして、［ｍτｉ，ｕｉＰｋｉ，ｋｉ，ετｉＰｋｉ］のセットデータを、ｉ番目のセットデータとしてデータリストＬに登録する。ここでｉ（ｉ＝１，，，Ｉ）は、データリストＬに登録したセットデータの各々に対するインデックスであり、τｉはｉ番目のセットデータが入力された時刻の識別子を表している。また、Ｉは、データリストに登録したセットデータの総数を表している。
【００６６】
以上の処理によって、センサ較正用のデータを取得する動作を行う。
【００６７】
以降の処理では、取得したデータを用いて、較正情報を求める。
【００６８】
ステップＳ２０７０では、データ管理部１０６０は、現在保持しているデータリストが、較正情報を算出するに足るだけの情報を有しているかどうかの判定を行う。係る判定の結果、有していると判定した場合には処理をステップＳ２０８０に進める。一方、有していないと判定した場合には、処理をステップＳ２０１０に戻す。
【００６９】
データリストが較正情報を算出するに足るだけの情報を有すると判定する為の条件としては、例えば、次のようなものがある。即ち、２フレーム（２つの時刻、２つの視点位置）以上において撮像された、少なくとも異なる３つ以上の基準指標Ｐｋに関するデータが、データリストＬに含まれていること、が挙げられる。ただし、入力データの多様性が増すほどに導出される較正情報の精度は向上するので、より多くのデータを要求するように条件を設定してもよい。
【００７０】
ステップＳ２０８０では、指示部１０８０は、較正情報算出コマンドがオペレータから入力されたか否かの判定を行う。較正情報算出コマンドが入力された場合には、指示部１０８０は「較正情報算出」をデータ管理部１０６０に指示すると共に、ステップＳ２０９０に処理を進める。一方、較正情報算出コマンドが入力されていない場合には、指示部１０８０は何等指示をせず、処理をステップＳ２０１０に戻す。
【００７１】
較正情報算出部１０９０は、求めるべき較正情報、すなわちＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍを３値ベクトルωＳＣ＝［ξ  ψ  ζ］Ｔとして扱う。また、較正情報算出部１０９０は、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍを較正する過程で、各時刻τにおける世界座標系における撮像装置１０２０の位置ｔＷＣτ＝［ｘｔτ  ｙｔτ  ｚｔτ］Ｔ（未知の値）を内部で利用する。さらにまた、較正情報算出部１０９０は、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍを較正する過程で、各時刻τにおける方位ドリフト誤差の補正値ατ（未知の値）も内部で利用する。以下では、これらの未知パラメータを（３＋４Ｔ）次元の状態ベクトルｓ＝［ωＳＣ  ｔＷＣ１  α１  …  ｔＷＣτ  ατ  …  ｔＷＣＴ  αＴ］Ｔで記述する。ここでＴは、データリスト中に含まれる、異なるフレーム（異なる時刻、異なる視点位置）の数を表している。
【００７２】
ステップＳ２０９０では、較正情報算出部１０９０は、状態ベクトルｓに適当な初期値を与える。初期値は、オペレータによる対話的な設定操作等によって予め与えておく。あるいは、ｔＷＣτの初期値に関しては、位置姿勢入力部１０５０にて算出した撮像装置１０２０の位置情報を利用しても良い。ωＳＣの初期値に関しては、特許文献１に示された方法によって、おおよそ求めた値を利用しても良い。また、ατｉの初期値に関しては、ωＳＣの初期値を用いて、特願２００３−３４１６３０号公報に示された方法によって、ある時刻におおよそ求めた値を利用しても良い。
【００７３】
ステップＳ２１００では、較正情報算出部１０９０は、次のような処理を行う。即ち、データリストＬ中の各セットデータ［ｍτｉ  ｕｉＰｋｉ  ｋｉ］（ｉ＝１，２，…，Ｉ）、状態ベクトルｓから、全てのｉに対して、各基準指標Ｐｋｉの画像座標の理論値ｕｉＰｋｉ’＝［ｕｘｉＰｋｉ’，ｕｙｉＰｋｉ’］を算出する。ここで、基準指標の画像座標の理論値とは、世界座標系における撮像装置１０２０の位置および姿勢が与えられた時の、世界座標系における位置が既知の基準指標が撮像画像中に見えるべき位置（座標）を指す。即ち、撮像装置１０２０の位置姿勢情報に基づいて、現実空間中における指標の配置位置を撮像画像上に投影した位置である。
【００７４】
ここで、時刻τｉにおける世界座標系における撮像装置１０２０の姿勢は、次のような情報に基づいて算出することができる。
【００７５】
・  センサ座標系における姿勢を世界座標系における姿勢に変換する座標変換（Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍ）
・  センサ座標系における姿勢センサ１０１０自身の姿勢（姿勢センサ１０１０の姿勢計測値：ｍτｉ）
・  方位ドリフト誤差の補正値ατｉ
・  姿勢センサ１０１０自身の姿勢を計測対象物体の姿勢に変換する座標変換（Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍ：ωＳＣ）
従って、理論値ｕｉＰｋｉ’の算出は、世界座標系における撮像装置１０２０の位置ｔＷＣτｉと世界座標系における撮像装置１０２０の姿勢の算出に関与するωＳＣ及びατｉからなるｓを変数とした以下の式に基づいて行われる。
【００７６】
【数１】
0004956456.tif 000002
【００７７】
具体的には、関数Ｆτｉ（）は、以下の式２，式３によって構成されている。
【００７８】
【数２】
0004956456.tif 000003
【００７９】
【数３】
0004956456.tif 000004
【００８０】
式２は、ｉ番目のセットデータを取得した時（姿勢センサ１０１０の姿勢計測値がｍτｉである時）の世界座標系における位置がｘＷＰｋｉである基準指標Ｐｋｉの、カメラ座標における位置ベクトルｘＣｉＰｋｉを、ｓから求める式である。ここで、ｓ＝［ωＳＣ  ｔＷＣ１  α１  …  ｔＷＣτｉ  ατｉ  …  ｔＷＣＴ  αＴ］Ｔである。また、カメラ座標系とは、撮像装置１０２０上の１点を原点として定義し、更に係る原点で互いに直交する３軸を夫々Ｘ軸、Ｙ軸、Ｚ軸として定義した座標系である。
【００８１】
式３は、ｘＣｉＰｋｉから基準指標Ｐｋｉの撮像画像上の座標ｕｉＰｋｉ’を求める式である。
【００８２】
式３においてｆｘ、ｆｙはそれぞれ、ｘ軸方向及びｙ軸方向における撮像装置１０２０の焦点距離であり、較正情報算出部１０９０が既知の値として予め保持している。更に、現実空間中に配されている複数の指標のそれぞれについて、現実空間中における配置位置を示す配置位置情報についても、較正情報算出部１０９０が既知の情報として保持しているものとする。
【００８３】
また、式２において、ＲＷＴは、センサ座標系と世界座標系とのそれぞれにおける重力方向の定義から一意に決定可能なパラメータである、Ｗｏｒｌｄ  Ｔｒａｎｓｆｏｒｍを表す３Ｘ３の回転行列であり、既知の値として較正情報算出部１０９０が予め保持している。
【００８４】
ΔＲ（ατｉ）は、方位角方向にατｉだけの回転（方位ドリフト誤差補正）を加える３Ｘ３の回転行列を表しており、以下の式４によって定義される。
【００８５】
【数４】
0004956456.tif 000005
【００８６】
ここで、ｌ＝（ｌ１，ｌ２，ｌ３）は、世界座標系における鉛直上方向（地球の重力の反対方向）を表す既知のベクトルを表しており、較正情報算出部１０９０が予め保持している。
【００８７】
ＲＴＳτｉは、ｉ番目のセットデータを取得した時（時刻τｉ）における姿勢計測値に相当する３×３の回転行列であり、ｍτｉに応じて以下の式５によって定義される。
【００８８】
【数５】
0004956456.tif 000006
【００８９】
ただし、θは以下の式６に従う。
【００９０】
【数６】
0004956456.tif 000007
【００９１】
ＲＳＣ（ωＳＣ）は、ωＳＣ＝［ξ  ψ  ζ］Ｔによって決定されるＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍを表す３×３の回転行列であり、式５における添え字ｍτｉを取り除いた式によって定義される。
【００９２】
ステップＳ２１１０にて較正情報算出部１０９０は全てのｉに対して、データリストＬ中の各セットデータに含まれる基準指標Ｐｋｉの実際の画像座標ｕｉＰｋｉと、対応する画像座標の理論値ｕｉＰｋｉ’との誤差ΔｕｉＰｋｉを以下の式７によって算出する。
【００９３】
【数７】
0004956456.tif 000008
【００９４】
ステップＳ２１２０にて較正情報算出部１０９０は全てのｉに対して、状態ベクトルｓに関する画像ヤコビアンＪｕｉｓＰｋｉ（＝∂ｕｉＰｋｉ／∂ｓ）を算出する。係る画像ヤコビアンＪｕｉｓＰｋｉとは即ち、式１の関数Ｆτｉ（）を状態ベクトルｓの各要素で偏微分した解を各要素に持つ２行×（３＋４Ｔ）列のヤコビ行列のことである。
【００９５】
具体的には、式３の右辺をカメラ座標系上の位置ベクトルｘＣｉＰｋｉの各要素で偏微分した解を各要素に持つ２行×３列のヤコビ行列ＪｕｉｘＣｉＰｋｉ（＝∂ｕｉＰｋｉ／∂ｘＣｉＰｋｉ）を算出する。そして更に、式２の右辺を状態ベクトルｓの各要素で偏微分した解を各要素に持つ３行×（３＋４Ｔ）列のヤコビ行列ＪｘＣｉｓＰｋｉ（＝∂ｘＣｉＰｋｉ／∂ｓ）を算出する。そして最後に、以下の式８によってＪｕｉｓＰｋｉを算出する。
【００９６】
【数８】
0004956456.tif 000009
【００９７】
ステップＳ２１３０にて較正情報算出部１０９０は、上記処理にて求めた全てのｉに対する誤差ΔｕｉＰｋｉとヤコビ行列ＪｕｉｓＰｋｉ、ステップＳ２０６０でデータリストＬに追加した各基準指標の寄与度ετｉＰｋｉに基づいて、ｓの補正値Δｓを求める。以下、補正値Δｓの算出処理について説明する。
【００９８】
はじめに、以下の式９に示す如く、全てのｉに対する誤差ΔｕｉＰｋｉを垂直に並べた（２×Ｉ）次元の誤差ベクトルＵを作成する。
【００９９】
【数９】
0004956456.tif 000010
【０１００】
また、以下の式１０に示す如く、各基準指標のヤコビ行列ＪｕｉｓＰｋｉを垂直に並べた（２×Ｉ）行×（３＋４Ｔ）列の行列Φを作成する。
【０１０１】
【数１０】
0004956456.tif 000011
【０１０２】
次に、各基準指標Ｐｋｉに対応する要素（基準指標毎にｘ座標とｙ座標の２要素を有する）に対して、この基準指標Ｐｋｉの寄与度ετｉＰｋｉを対角成分に持つような（２×Ｉ）行×（２×Ｉ）列の対角行列Ｗを以下の式１１に示す如く作成する。
【０１０３】
【数１１】
0004956456.tif 000012
【０１０４】
行列Ｗを重みとした最小二乗法によってΔｓを求めることを考えると、以下の正規方程式１２が得られる。
【０１０５】
【数１２】
0004956456.tif 000013
【０１０６】
従って、Δｓを以下の式１３より算出する。
【０１０７】
【数１３】
0004956456.tif 000014
【０１０８】
ここで、Δｓは（３＋４Ｔ）次元ベクトルであるので、３個以上の基準指標を２枚の撮像画像上で検出すれば、Δｓを求めることができる（未知パラメータ数３＋４×２＝１１＜式数２×３×２＝１２）。このように、撮像装置１０２０の取り得る姿勢に基づく寄与度を表す行列Ｗを重みとしてΔｓの算出に利用することで、撮像装置１０２０の取り得る姿勢に応じて各基準指標のΔｓの算出への寄与度が変化するという効果を得ることができる。
【０１０９】
次に、ステップＳ２１４０において、較正情報算出部１０９０は、ステップＳ２１３０において算出した補正値Δｓを用いて、以下の式１４に従ってｓを補正し、得られた値を新たなｓとする。
【０１１０】
【数１４】
0004956456.tif 000015
【０１１１】
次に、ステップＳ２１５０において、較正情報算出部１０９０は、誤差ベクトルＵが予め定めた閾値より小さいかどうか、あるいは、補正値Δｓが予め定めた閾値より小さいかどうかといった何らかの判断基準を用いて、計算が収束しているか否かの判定を行う。係る判定の結果、計算が収束していない場合には、補正後の状態ベクトルｓを初期値として用いて再度、ステップＳ２１００以降の処理を行う。一方、計算が収束した場合には、処理をステップＳ２１６０に進める。
【０１１２】
ステップＳ２１６０では、較正情報算出部１０９０は、得られた状態ベクトルｓに含まれるωＳＣを、Ｌｏｃａｌ  Ｔｒａｎｓｆｏｒｍを示すパラメータとして出力する。また、最新の方位ドリフト誤差補正値を示すパラメータとして、αＴを一緒に出力しても良いし、撮像装置１０２０の位置ｔＷＣＴをあわせて出力しても良い。
【０１１３】
最後にステップＳ２１７０では、較正処理を終了するか否かの判定が行われる。係る判定は、オペレータが、画像処理装置１０００に対して、較正処理の終了を指示部１０８０を用いて指示したか否かを判定することで行われるものとするが、ほかの判定方法を用いても良い。係る判定の結果、較正処理を終了する場合には処理を終了させ、終了しない場合（較正処理の継続（再較正）を指示した場合）には、再びステップＳ２０１０へと処理を戻し、データ取得コマンドの入力を待つ。
【０１１４】
以上説明した、ステップＳ２０９０以降の処理は、要約すると次のような処理となる。即ち、位置姿勢入力部１０５０が求めた位置姿勢情報に基づいて現実空間中における指標の配置位置を撮像画像上に投影した位置と、この指標の撮像画像上における検出画像座標と、の誤差を、撮像画像中におけるそれぞれの指標毎に求める。そして、指標毎の誤差と、寄与度と、を用いて、撮像装置１０２０に対する姿勢センサ１０１０の姿勢を求める。
【０１１５】
以上の処理によって、撮像装置１０２０に装着した姿勢センサ１０１０の、撮像装置１０２０に対する姿勢を取得することができる。なお、本実施形態では更に、上記の処理以降に、較正されたＬｏｃａｌ  Ｔｒａｎｓｆｏｒｍおよび最新の方位ドリフト誤差を示すパラメータの検証工程を行う。係る検証工程とは、これらのパラメータを用いて、位置姿勢算出部１１００、画像生成部１１１０、画像合成部１１２０、画像表示部１１３０を利用した複合現実空間の画像の提示である。その処理については、公知の技術であるので、その説明は省略する。
【０１１６】
そして、本実施形態によれば、撮像装置１０２０の姿勢を考慮して姿勢センサ１０１０の撮像装置１０２０に対する姿勢の推定を行うので、姿勢センサ１０１０を装着した撮像装置１０２０を利用する状況に対して、高精度な較正結果を取得することができる。
【０１１７】
［第２の実施形態］
第１の実施形態では、基準指標の画像座標に関わる特徴量として、点特徴、すなわち、指標の投影像を代表する１点の画像座標を用いていた。また、基準指標Ｐとして、このような点特徴を抽出可能な指標を用いていた。しかし、基準指標の種類や基準指標の画像座標に関わる特徴量の種類は、これに限定されるものではない。
【０１１８】
例えば、公知の位置姿勢計測装置（例えば、”Ｄ．Ｇ．Ｌｏｗｅ：Ｆｉｔｔｉｎｇ  ｐａｒａｍｅｔｅｒｉｚｅｄ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｍｏｄｅｌｓ  ｔｏ  ｉｍａｇｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  ＰＡＭＩ，ｖｏｌ．１３，ｎｏ．５，ｐｐ．４４１−４５０，１９９１．”を参照）に用いられているような線特徴を基準指標の画像座標に関わる特徴量として用いて、線特徴を抽出可能な指標（以下、これを線指標と呼ぶ）を基準指標として用いてもよい。
【０１１９】
例えば、直線の原点からの距離を誤差評価のための基準とし、画像からの検出値ｄと状態ベクトルｓからの推定値ｄ＊から算出する誤差Δｄによって誤差ベクトルＵを構成する。そして、ｄ＊の算出式を状態ベクトルｓの各要素で偏微分した解を各要素に持つ１行×（３＋４Ｔ）列のヤコビ行列Ｊｄｓ（＝∂ｄ／∂ｓ）によって行列Φを構成する。これにより、第１の実施形態と同様な枠組みによって位置及び姿勢の計測を行うことが出来る。もちろん、線指標と点指標を併用してもよい。
【０１２０】
［第３の実施形態］
図１に示した画像処理装置１０００を構成する各部はハードウェアでもって構成しても良いが、その一部若しくは全部をソフトウェアでもって構成しても良い。ここで、画像処理装置１０００を構成する構成要素には、データを保持、管理する主体として説明したものもある。しかし、このような構成要素をソフトウェアで構成する場合、係る構成要素が保持、管理するものとして説明したデータは、この構成要素に対応するソフトウェアを実行するコンピュータが有するメモリに格納し、この構成要素が係るデータを管理すればよい。
【０１２１】
図４は、画像処理装置１０００に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【０１２２】
ＣＰＵ４０１は、ＲＡＭ４０２やＲＯＭ４０３に格納されているコンピュータプログラム（プログラム）やデータを用いて、コンピュータ全体の制御を行うと共に、本コンピュータを適用する画像処理装置１０００が行うものとして上述した各処理を実行する。
【０１２３】
ＲＡＭ４０２は、外部記憶装置４０６からロードされたプログラムやデータを一時的に記憶するためのエリア、Ｉ／Ｆ（インターフェース）４０７を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ４０２は、ＣＰＵ４０１が各処理を実行する際に用いるワークエリアも有する。このように、ＲＡＭ４０２は各種のエリアを適宜提供することができる。
【０１２４】
ＲＯＭ４０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。
【０１２５】
操作部４０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ４０１に対して入力することができる。なお、図１に示した指示部１０８０がソフトウェアにより構成される場合には、指示部１０８０は、操作部４０４に対する操作指示をデータ管理部１０６０や較正情報算出部１０９０に送出するためのものとなる。
【０１２６】
表示部４０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ４０１による処理結果を画像や文字などでもって表示することができる。なお、表示部４０５は、図１に示した画像表示部１１３０に相当する。
【０１２７】
外部記憶装置４０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置４０６には、ＯＳ（オペレーティングシステム）や、画像処理装置１０００が行うものとして上述した各処理をＣＰＵ４０１に実行させるためのプログラムやデータなどが保存されている。
【０１２８】
係るプログラムには、図１に示した以下の各部に対応する機能をＣＰＵ４０１に実現させるためのプログラムが含まれている。即ち、位置姿勢入力部１０５０、寄与度算出部１０７０、指標検出部１０４０、データ管理部１０６０、指示部１０８０、較正情報算出部１０９０、位置姿勢算出部１１００、画像生成部１１１０、画像合成部１１２０のそれぞれである。
【０１２９】
また、外部記憶装置４０６に保存されているデータには、上述の説明において既知の情報として説明したものや、図１に示した構成用件によっては、係る構成用件が保存、管理しているものとして説明したデータが含まれている。
【０１３０】
外部記憶装置４０６に保存されているプログラムやデータは、ＣＰＵ４０１による制御に従って適宜ＲＡＭ４０２にロードされ、ＣＰＵ４０１による処理対象となる。
【０１３１】
Ｉ／Ｆ４０７には、図１に示した姿勢センサ１０１０や撮像装置１０２０が接続され、本コンピュータは係るＩ／Ｆ４０７を介して姿勢センサ１０１０からの姿勢計測値を取得したり、撮像装置１０２０から撮像画像を取得したりする。
【０１３２】
４０８は上述の各部を繋ぐバスである。
【０１３３】
なお、画像処理装置１０００に適用可能なコンピュータのハードウェア構成については図４に示した構成に限定するものではなく、様々な構成が考え得る。
【０１３４】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１３５】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３７】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３８】
【図１】本発明の第１の実施形態に係るシステムの機能構成例を示すブロック図である。
【図２】撮像装置１０２０の傾斜角と、その頻度と、の関係を示す図である。
【図３】画像処理装置１０００が較正情報を生成するために行う処理のフローチャートである。
【図４】画像処理装置１０００に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【図１】
0004956456.tif 000016
【図２】
0004956456.tif 000017
【図３】
0004956456.tif 000018
【図４】
0004956456.tif 000019