(57)【要約】【課題】  画像から検出した指標が現実空間に配置した指標のうちのどの指標に対応するのかを正確に識別すること。【解決手段】  指標識別部１０７は、注目指標の法線ベクトルとカメラ１０１の視軸ベクトルとを用いて計算される値を求め、求めた値が取る範囲に基づいて注目指標の撮像画像上における投影座標位置を求める処理の可否を決定し、この決定に従って求めた注目指標の撮像画像上における投影座標位置と、指標検出部１０６が撮像画像から検出した座標位置とで、互いに距離の近い座標位置の指標同士を対応付ける処理を行う。【選択図】  図１
2005083826.tif 000002
【特許請求の範囲】
【請求項１】
指標が配置された現実空間の画像を撮像する撮像手段による撮像画像中の指標の位置を検出する検出工程と、前記指標の前記現実空間中の位置、前記撮像手段の位置姿勢の少なくとも一方を計測に基づいて求められている場合に、前記指標の前記現実空間中の位置と前記撮像手段の位置姿勢とに基づいて前記現実空間中の指標を前記撮像画像上に投影した場合の座標位置を求める第１の計算工程とを備え、前記撮像画像上において、前記検出工程で検出した各指標の座標位置と、前記第１の計算工程で計算した座標位置とで、互いに距離の近い座標位置の指標同士を対応付ける処理を行う情報処理方法であって、
注目指標の法線ベクトルと前記撮像手段の視軸ベクトルとを用いて計算される値を求める第２の計算工程と、
前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うか否かを、前記第２の計算工程で求めた値が取る範囲に基づいて決定する決定工程とを備え、
前記決定工程で前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うと決定した場合には、前記第１の計算工程で計算した前記注目指標の座標位置と、前記検出工程で検出した各指標の座標位置の何れかとで、距離の近い座標位置の指標同士を対応付ける処理を行うことを特徴とする情報処理方法。
【請求項２】
前記第２の計算工程では、前記注目指標の法線ベクトルと、前記撮像手段の視軸ベクトルとが成す角度、もしくは当該角度に基づく値を求めることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記決定工程では、前記角度が９０度＋α（α＞０）である場合には、前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うと決定することを特徴とする請求項２に記載の情報処理方法。
【請求項４】
更に、対応付けた夫々の指標の前記第１の計算工程で計算した座標位置と、前記検出工程で検出した座標位置との間の距離を用いて、前記撮像手段の位置姿勢を補正する補正工程と、
前記補正工程による補正後の位置姿勢を用いて仮想空間の画像を生成する仮想空間画像生成工程と、
前記仮想空間画像生成工程による仮想空間の画像と、前記撮像手段による撮像画像とを合成して出力する合成工程と
を備えることを特徴とする請求項１に記載の情報処理方法。
【請求項５】
指標が配置された現実空間の画像を撮像する撮像手段と、撮像手段による撮像画像中の指標の位置を検出する検出手段と、前記指標の前記現実空間中の位置、前記撮像手段の位置姿勢の少なくとも一方を計測に基づいて求められている場合に、前記指標の前記現実空間中の位置と前記撮像手段の位置姿勢とに基づいて前記現実空間中の指標を前記撮像画像上に投影した場合の座標位置を求める第１の計算手段とを備え、前記撮像画像上において、前記検出手段が検出した各指標の座標位置と、前記第１の計算手段が計算した座標位置とで、互いに距離の近い座標位置の指標同士を対応付ける処理を行う情報処理装置であって、
注目指標の法線ベクトルと前記撮像手段の視軸ベクトルとを用いて計算される値を求める第２の計算手段と、
前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うか否かを、前記第２の計算工程で求めた値が取る範囲に基づいて決定する決定手段とを備え、
前記決定手段が前記第１の計算手段による前記注目指標の前記撮像画像上における座標位置を求める処理を行うと決定した場合には、前記第１の計算手段が計算した前記注目指標の座標位置と、前記検出手段が検出した各指標の座標位置の何れかとで、距離の近い座標位置の指標同士を対応付ける処理を行うことを特徴とする情報処理装置。
【請求項６】
コンピュータに請求項１乃至４の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項８】
現実空間を撮像する撮像装置の位置姿勢計測に利用する指標の識別方法であって、
前記撮像装置の大まかな位置姿勢を計測する位置姿勢計測工程と、
前記撮像装置が指標を含む前記現実空間を撮像する撮像工程と、
前記撮像工程で得られた現実空間の画像中に含まれる指標の当該画像中の座標を求める第１の画像座標計算工程と、
前記位置姿勢計測工程で得た位置姿勢における、前記撮像装置による撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと指標の法線ベクトルとの間の関係とを基にして、指標の識別を行うことを特徴とする指標の識別方法。
【請求項９】
現実空間にある対象物体の位置姿勢計測に利用する指標の識別方法であって、
前記対象物体の大まかな位置姿勢を計測する位置姿勢計測工程と、
固定された撮像装置にて前記対象物体の撮像を行う撮像工程と、
前記撮像工程で得られた撮像画像中の指標の座標を求める第１の画像座標計算工程と、
前記位置姿勢計測工程で得た位置姿勢を基にして、前記撮像装置による撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと指標の法線ベクトルの間の関係とを基にして、指標の識別を行うことを特徴とする指標の識別方法。
【請求項１０】
現実空間にある対象物体の位置姿勢計測に利用する指標の識別方法であって、
前記対象物体の大まかな位置姿勢を計測する第１の位置姿勢計測工程と、
前記対象物体を撮像する撮像装置の大まかな位置姿勢を計測する第２の位置姿勢計測工程と、
前記撮像装置にて前記対象物体の撮像を行う撮像工程と、
前記撮像工程で得られた撮像画像中の指標の座標を求める第１の画像座標計算工程と、
前記第１の位置姿勢計測工程と前記第２の位置姿勢計測工程とで得た撮像装置を基準とする対象物体の位置姿勢、あるいは、前記対象物体を基準とする前記撮像装置の位置姿勢を基にして、前記撮像装置の撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記第２の位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと前記第１の位置姿勢計測工程で得た指標の法線ベクトルの間の関係とを基にして、指標の識別を行うことを特徴とする指標の識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間を撮像する撮像部と大まかな位置姿勢を計測する位置姿勢計測部を備える撮像装置もしくは計測対象の位置姿勢を計測するために利用する指標の識別技術に関するものである。
【背景技術】
【０００２】
現実空間を撮像するカメラなどの撮像部（以下適宜カメラと言い換える）の位置姿勢計測は、例えば現実空間と仮想空間とを融合表示する複合現実感システムにおいて必要となる。これに係る従来技術としては、現実空間に配置した位置が既知のマーカ、または現実空間中の位置が既知の特徴点（以下、マーカと特徴点を合わせて指標という）を用いて、カメラの位置姿勢を測定する位置姿勢センサの計測誤差を補正するという方法がある（例えば特許文献１乃至３を参照）。
【０００３】
この方法に係る従来の技術では、個々に計算原理や手段、工程が異なるものの、カメラの位置姿勢を測定するための６自由度の位置姿勢センサから得られる情報、現実空間に配置した位置が既知の指標の情報、及びこれらの指標をカメラで捉えることで得られる情報を基にして、カメラの位置姿勢を求めていた。
【０００４】
これらの方法において、画像から検出した指標が現実空間に配置した指標のうちのどの指標に対応するのかを求める手段のひとつとして、画像から検出した指標の座標と、位置姿勢計測値を基にして投影して得られる画像面上での指標の座標とを比較し、距離が近いものが対応する指標であるという判定手段が用いられていた。
【特許文献１】特開平１１−０８４３０７号公報
【特許文献２】特開２０００−０４１１７３号公報
【特許文献３】特願２０００−３５４２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術で利用される「位置姿勢センサによる計測誤差を補正するために利用される指標」を、例えば、図２に示すように塔状の物体の存在する現実空間に対して、その塔状物体の様々な方向の側面に配置してあるような場合を想定する。
【０００６】
同図において２０１はそのような現実空間を撮像するカメラ、２０２はカメラ２０１の大まかな位置姿勢を計測する３次元位置姿勢センサ、２０３，２０４は３次元位置姿勢センサ２０２による計測誤差を補正するために利用される指標、２０５は指標２０３，２０４を配置する塔状物体である。さらにカメラ２０１は、この塔状物体２０５の周囲を移動可能であり、塔状物体２０５の各側面をすべて撮像する可能性がある場合を想定する。
【０００７】
このような場合、図３に示すように、塔状物体２０５の側面にほぼ垂直な位置から撮像するような場合がありえる。同図において３００はカメラ２０１によって撮像された画像（撮像画面）で、３０１は図２における指標２０３が画像に写りこんだものを示している。３０２は、３次元位置姿勢センサ２０２により計測したカメラ２０１の位置姿勢を基にして、指標２０３の３次元位置を撮像画像３００の画像面に投影計算して得られた撮像画面上での座標を示すものであり、３０３は指標２０４の３次元位置を撮像画像３００の画像面に投影計算して得られた撮像画面上での座標を示すものである。
【０００８】
もしも仮に３次元位置姿勢センサ２０２による位置姿勢計測値に誤差がないとすると、３０２で示す座標位置と画像３０１の座標位置とは元来同じ座標であるが、実際には位置姿勢計測値には誤差が含まれるため、同じ位置とはならない。従来技術では、撮像画像から検出した指標（図３であれば３０１）が、実際に配置された指標のうちのどの指標に対応するのかを求める手段として、画像から検出した指標の座標値と、位置姿勢計測値を基にして計算されたこの指標の画面上での座標値との間の距離を利用している。そのため、この図３に示す例のような場合、３０２で示す座標位置と画像３０１の座標位置との間の距離よりも、３０３で示す座標位置と画像３０１の座標位置との間の距離の方が、センサ誤差の影響のために短くなっているため、３０１と３０３が対応する指標として判断されることとなる。３０３はこの塔状物体２０５の裏側に配置された指標が投影された点であるため、誤った対応付けがなされてしまうことを意味する。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、画像から検出した指標が現実空間に配置した指標のうちのどの指標に対応するのかを正確に識別することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００１１】
即ち、指標が配置された現実空間の画像を撮像する撮像手段による撮像画像中の指標の位置を検出する検出工程と、前記指標の前記現実空間中の位置、前記撮像手段の位置姿勢の少なくとも一方を計測に基づいて求められている場合に、前記指標の前記現実空間中の位置と前記撮像手段の位置姿勢とに基づいて前記現実空間中の指標を前記撮像画像上に投影した場合の座標位置を求める第１の計算工程とを備え、前記撮像画像上において、前記検出工程で検出した各指標の座標位置と、前記第１の計算工程で計算した座標位置とで、互いに距離の近い座標位置の指標同士を対応付ける処理を行う情報処理方法であって、
注目指標の法線ベクトルと前記撮像手段の視軸ベクトルとを用いて計算される値を求める第２の計算工程と、
前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うか否かを、前記第２の計算工程で求めた値が取る範囲に基づいて決定する決定工程とを備え、
前記決定工程で前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うと決定した場合には、前記第１の計算工程で計算した前記注目指標の座標位置と、前記検出工程で検出した各指標の座標位置の何れかとで、距離の近い座標位置の指標同士を対応付ける処理を行うことを特徴とする。
【００１２】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１３】
即ち、指標が配置された現実空間の画像を撮像する撮像手段と、撮像手段による撮像画像中の指標の位置を検出する検出手段と、前記指標の前記現実空間中の位置、前記撮像手段の位置姿勢の少なくとも一方を計測に基づいて求められている場合に、前記指標の前記現実空間中の位置と前記撮像手段の位置姿勢とに基づいて前記現実空間中の指標を前記撮像画像上に投影した場合の座標位置を求める第１の計算手段とを備え、前記撮像画像上において、前記検出手段が検出した各指標の座標位置と、前記第１の計算手段が計算した座標位置とで、互いに距離の近い座標位置の指標同士を対応付ける処理を行う情報処理装置であって、
注目指標の法線ベクトルと前記撮像手段の視軸ベクトルとを用いて計算される値を求める第２の計算手段と、
前記第１の計算工程による前記注目指標の前記撮像画像上における座標位置を求める処理を行うか否かを、前記第２の計算工程で求めた値が取る範囲に基づいて決定する決定手段とを備え、
前記決定手段が前記第１の計算手段による前記注目指標の前記撮像画像上における座標位置を求める処理を行うと決定した場合には、前記第１の計算手段が計算した前記注目指標の座標位置と、前記検出手段が検出した各指標の座標位置の何れかとで、距離の近い座標位置の指標同士を対応付ける処理を行うことを特徴とする。
【００１４】
本発明の目的を達成するために、例えば本発明の識別方法は以下の構成を備える。
【００１５】
即ち、現実空間を撮像する撮像装置の位置姿勢計測に利用する指標の識別方法であって、
前記撮像装置の大まかな位置姿勢を計測する位置姿勢計測工程と、
前記撮像装置が指標を含む前記現実空間を撮像する撮像工程と、
前記撮像工程で得られた現実空間の画像中に含まれる指標の当該画像中の座標を求める第１の画像座標計算工程と、
前記位置姿勢計測工程で得た位置姿勢における、前記撮像装置による撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと指標の法線ベクトルとの間の関係とを基にして、指標の識別を行うことを特徴とする。
【００１６】
本発明の目的を達成するために、例えば本発明の識別方法は以下の構成を備える。
【００１７】
即ち、現実空間にある対象物体の位置姿勢計測に利用する指標の識別方法であって、
前記対象物体の大まかな位置姿勢を計測する位置姿勢計測工程と、
固定された撮像装置にて前記対象物体の撮像を行う撮像工程と、
前記撮像工程で得られた撮像画像中の指標の座標を求める第１の画像座標計算工程と、
前記位置姿勢計測工程で得た位置姿勢を基にして、前記撮像装置による撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと指標の法線ベクトルの間の関係とを基にして、指標の識別を行うことを特徴とする。
【００１８】
本発明の目的を達成するために、例えば本発明の識別方法は以下の構成を備える。
【００１９】
即ち、現実空間にある対象物体の位置姿勢計測に利用する指標の識別方法であって、
前記対象物体の大まかな位置姿勢を計測する第１の位置姿勢計測工程と、
前記対象物体を撮像する撮像装置の大まかな位置姿勢を計測する第２の位置姿勢計測工程と、
前記撮像装置にて前記対象物体の撮像を行う撮像工程と、
前記撮像工程で得られた撮像画像中の指標の座標を求める第１の画像座標計算工程と、
前記第１の位置姿勢計測工程と前記第２の位置姿勢計測工程とで得た撮像装置を基準とする対象物体の位置姿勢、あるいは、前記対象物体を基準とする前記撮像装置の位置姿勢を基にして、前記撮像装置の撮像画面中における指標の座標を求める第２の画像座標計算工程と、
前記第１の画像座標計算工程で求めた指標の座標と、前記第２の画像座標計算工程で求めた指標の座標と、前記第２の位置姿勢計測工程で得た前記撮像装置の視軸ベクトルと前記第１の位置姿勢計測工程で得た指標の法線ベクトルの間の関係とを基にして、指標の識別を行うことを特徴とする。
【発明の効果】
【００２０】
本発明の構成によって、画像から検出した指標が現実空間に配置した指標のうちのどの指標に対応するのかを正確に識別することができる。
【発明を実施するための最良の形態】
【００２１】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２２】
［第１の実施形態］
図１は、本実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。このシステムは、現実空間を撮像するカメラ１０１、カメラ１０１の位置姿勢を計測する３次元位置姿勢センサ１０２、本実施形態に係る情報処理装置として機能するコンピュータ１５０に大別される。
【００２３】
本実施形態に係るシステムは、現実空間に配置（この「配置」という文言はここでは意図的に配置されているもの、及び自然特徴として存在し、意図的に配置したものではないものの両方を含む）されている指標を含む現実空間の画像をカメラ１０１によって撮像した場合に、撮像画像から検出される指標の座標位置と、カメラ１０１の位置姿勢に基づいて指標が撮像画像上に位置すべき座標位置とで、同じ指標の座標位置同士の対応付けを行うことにより、撮像画像から検出した指標が、現実空間に配置されている指標のうちのどれにあたるのかを識別する処理を行う。
【００２４】
以下、図１に示すシステムを構成する各部についてより詳細に説明する。
【００２５】
カメラ１０１には３次元位置姿勢センサ１０２が取り付けられており、その取り付け位置は固定されている。３次元位置姿勢センサ１０２は、カメラ１０１の３次元位置姿勢（位置、姿勢共に３自由度）を計測するのであるが、計測するのはあくまで、センサ座標系におけるカメラ１０１の位置姿勢である。ここでセンサ座標系とは、例えば３次元位置姿勢センサ１０２が磁気センサである場合、この磁気を発生する発信器の位置を原点とし、この原点を通って互いに直交する３軸を夫々ｘ、ｙ、ｚ軸とする座標系を指す。従って後述するコンピュータ１５０にはカメラ１０１により撮像された現実空間の画像のデータと共に、３次元位置姿勢センサ１０２により計測されたセンサ座標系におけるカメラ１０１の位置姿勢を示すデータが入力されることになる。
【００２６】
次に、コンピュータ１５０を構成する各部について説明する。位置姿勢計測部１０３は、３次元位置姿勢センサ１０２を駆動・制御して、３次元位置姿勢センサ１０２にカメラ１０１のセンサ座標系における位置姿勢を計測させ、その計測結果（位置姿勢値）のデータを後段の指標座標投影計算部１０５に出力する処理を行う。
【００２７】
指標情報データ保持部１０４には、現実空間における各指標の世界座標系における座標位置のデータが予め保存されており、指標座標投影計算部１０５は、３次元位置姿勢センサ１０２により計測されたセンサ座標系におけるカメラ１０１の位置姿勢を示すデータに基づいて後述の変換処理を行い、各指標の世界座標系における座標位置をカメラ１０１によって撮像された画像（撮像画像）上に投影し、撮像画像上における各指標の座標値を求める処理を行う。
【００２８】
指標検出部１０６は、カメラ１０１により撮像され、入力された撮像画像から、この撮像画像に含まれる指標を検出し、撮像画像における座標位置を求める処理を行う。求めた座標位置のデータは後段の指標識別部１０７に出力する。
【００２９】
指標識別部１０７は、指標座標投影計算部１０５から出力された「撮像画像上に投影された各指標の座標位置」と、指標検出部１０６から出力された「撮像画像から検出した各指標の座標位置」と、指標情報データ保持部１０４が保持する「各指標の法線ベクトル」（詳細は後述）と、カメラ１０１の世界座標系における姿勢から得られる「カメラ１０１の視軸ベクトル」（詳細は後述）と、を用いて、撮像画像から検出した指標が、実際に配置された指標のうちのどの指標に対応するのかを求める。
【００３０】
ここで「各指標の法線ベクトル」とは、各指標が位置する面（曲面の場合もあるがその場合には接面の法線ベクトル）の法線ベクトルを指す。従って指標情報データ保持部１０４は、各指標について、世界座標系における座標位置のデータと法線ベクトルの成分を表すデータとをセットにして保持している。ここで法線ベクトルの成分の表現方法は特には限定しないが、法線ベクトルを単位ベクトルとして、ｘ軸方向成分、ｙ軸方向成分、ｚ軸方向成分で表現しても良いし、極座標系における表現方法を用いても良い。
【００３１】
図１３は、コンピュータ１５０の基本構成を示すブロック図である。１３０１はＣＰＵで、ＲＡＭ１３０２やＲＯＭ１３０３に記憶されているプログラムやデータを用いてコンピュータ１５０全体の制御を行うと共に、後述する本実施形態に係る指標識別処理を行う。
【００３２】
１３０２はＲＡＭで、外部記憶装置１３０７や記憶媒体ドライブ１３０８からロードされたプログラムやデータを記憶するエリアを備えると共に、ＣＰＵ１３０１が各処理を行うために使用するワークエリアも備える。
【００３３】
１３０３はＲＯＭで、ここにブートプログラムなどを格納する。
【００３４】
１３０４、１３０５は夫々キーボード、マウスで、ＣＰＵ１３０１に各指示を入力するために用いられるものである。
【００３５】
１３０６は表示部で、ＣＲＴや液晶画面などにより構成されており、画像や文字といった情報を表示するために用いられる。
【００３６】
１３０７は外部記憶装置で、ハードディスクドライブなどの大容量情報記憶装置として機能する装置であって、ここにＯＳや本実施形態に係る指標識別処理をＣＰＵ１３０１に実行させるためのプログラムやデータなどを保存させておくことができる。なお、これらのプログラムやデータは、ＣＰＵ１３０１の制御により、必要に応じてＲＡＭ１３０２に読み出されるものである。
【００３７】
１３０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに記憶されているプログラムやデータを外部記憶装置１３０７やＲＡＭ１３０２に読み出す処理を行う。また記憶媒体がＣＤ−ＲやＤＶＤ−ＲＡＭなどの書き込み可能なものである場合には、これに情報を書き込む処理も行う。
【００３８】
１３０９はインターフェース（Ｉ／Ｆ）で、図１に示したカメラ１０１、３次元位置姿勢センサ１０２をコンピュータ１５０に接続するためのもので、カメラ１０１により撮像された画像、３次元位置姿勢センサ１０２によって計測されたカメラ１０１のセンサ座標系における位置姿勢のデータはこのインターフェース１３０９を介してＲＡＭ１３０２に入力される。
【００３９】
１３１０は上述の各部を繋ぐ、バスである。
【００４０】
次に、本実施形態に係る指標識別処理について、同処理のフローチャートを示す図４を用いて、以下説明する。尚、同図のフローチャートに従ったプログラムは外部記憶装置１３０７や記憶媒体に格納されており、ＣＰＵ１３０１の制御によりＲＡＭ１３０２に読み出され（記憶媒体に格納されている場合には、記憶媒体ドライブ１３０８を制御してこの記憶媒体から読み出す）、ＣＰＵ１３０１がこれを実行することで、本実施形態に係る情報処理装置は後述の処理を実行することになる。従って以下の説明で登場する位置姿勢計測部１０３、指標座標投影計算部１０５、指標検出部１０６、指標識別部１０７は本実施形態では夫々プログラムにより実現されるものであるが、これらをハードウェアにより実現しても良いことは言うまでもない。
【００４１】
ステップＳ４０１では、３次元位置姿勢センサ１０２を制御して、カメラ１０１のセンサ座標系における位置姿勢を計測させ、その計測結果のデータを信号として指標座標投影計算部１０５に入力する。次にステップＳ４０２では、指標座標投影計算部１０５がステップＳ４０１で得られたカメラ１０１のセンサ座標系における位置姿勢のデータを用いて、ビューイング変換行列を求める。
【００４２】
ビューイング変換とは、カメラ１０１の視点位置を原点とし、撮像面をｘ−ｙ平面、視軸をｚ軸負へのベクトルとおいた３次元座標系をカメラ座標系とし、現実空間中の１点を原点とし、この原点から互いに直交する３つの軸をｘ軸、ｙ軸、ｚ軸とする座標系を世界座標系としたときに、この２つの座標系間の座標変換のことである。従ってビューイング変換行列とは、この２つの座標系間の座標変換を行うための行列である。よって、このビューイング変換行列を求めておけば、世界座標系上にある座標値をカメラ座標系の座標値に変換することが可能となる。また、このビューイング変換行列は換言すれば、世界座標系におけるカメラ１０１の位置姿勢を示すものでもある。
【００４３】
ここで、センサ座標系と世界座標系との間の関係は既知であるとすると（例えば、センサ座標系は世界座標系上に固定された関係にある）、センサ座標系上の位置姿勢は世界座標系上の位置姿勢に容易に変換できる。そのため、センサ座標系で得られているカメラの位置姿勢を基にして、ビューイング変換行列を生成することができる。
【００４４】
次に、ステップＳ４０３では、指標座標投影計算部１０５が、指標情報データ保持部１０４に予め保持されている世界座標系における各指標の位置を、ステップＳ４０２で求めたビューイング変換行列によってカメラ座標系における位置へと変換し、更に、カメラの透視投影変換計算を行うことによって撮像画像面への投影座標を計算する。即ち、ステップＳ４０３では、指標の世界座標系における位置と、求めたビューイング変換行列に従ったカメラ１０１の位置姿勢との関係に基づいて、各指標が撮像画像上に位置すべき座標位置を求める。
【００４５】
なお、カメラの透視投影変換は、カメラ１０１の焦点距離や主点（投影中心）位置によって一意に定まるものであり、このカメラ１０１の焦点距離や主点（投影中心）位置は予め測定し、データとして外部記憶装置１３０７や記憶媒体に記憶させておき、必要に応じてＲＡＭ１３０２に読み出されるものである。
【００４６】
このように、撮像画像上に指標を投影し、投影後の座標位置を求める処理については周知の技術であるので、これ以上の詳細な説明は省略する。
【００４７】
さらに、ステップＳ４０４では、指標座標投影計算部１０５が、位置姿勢計測部１０３より得られるカメラ１０１の姿勢計測値を基にして、カメラ１０１の視軸ベクトルを算出する。カメラ１０１の視軸ベクトルとは、カメラ座標系のＺ軸負の方向のことであり、換言すれば、世界座標系におけるカメラ１０１の姿勢成分がカメラ１０１の視軸ベクトルの成分である。従って、カメラ１０１の姿勢計測値をビューイング変換行列によって世界座標系におけるカメラ１０１の位置姿勢を求めることにより、容易に得ることができる。なお、この視軸ベクトルは単位ベクトルとして、ｘ軸方向成分、ｙ軸方向成分、ｚ軸方向成分で表現しても良いし、極座標系における表現方法を用いても良い。
【００４８】
また、ステップＳ４０１、Ｓ４０２、Ｓ４０３、Ｓ４０４の工程を行う一方で、ステップＳ４０５では、カメラ１０１によって現実空間の画像を撮像し、後段の指標検出部１０６に出力する。ステップＳ４０６では、指標検出部１０６は、この撮像画像に含まれている指標を検出し、検出した座標位置を求める処理を行う。撮像画像中の指標の座標位置の検出処理については、例えば、指標に特定色を配色しておき、撮像画像においてこの特定色の閉領域を検出し、検出した閉領域の重心位置をもって指標の座標位置とする方法や、予め現実空間を撮影して指標となる領域をテンプレートとして用意しておき、テンプレートマッチングを行う方法などがあり、本実施形態では撮像画像中の指標の座標位置を検出することが可能な方法であれば、何れの方法を適用しても良い。
【００４９】
以上のステップで、
・  指標を、撮像画像に投影した場合に、この撮像画像上における指標の座標位置
・  撮像画像から検出した指標の座標位置
・  カメラ１０１の視軸ベクトル
を求めることができた。
【００５０】
本実施形態で最終的に行いたいことは指標の識別を行うことであり、換言すれば、撮像画像から検出した指標が、現実空間に配置されている指標のうちのどれにあたるのかを判別することである（指標識別処理）。
【００５１】
この方法として従来では、カメラの世界座標系における位置姿勢に基づいて撮像画像に投影した指標の座標位置と、撮像画像から検出した指標の座標位置との間の距離を利用して、夫々の指標が対応するものであるか否かの判定を行っていたのは上述の通りであり、その方法では、上述の通り、図３に示すような条件の場合に誤判定を行ってしまう問題がある。
【００５２】
そこで本実施形態ではステップＳ４０７において、撮像画像に投影した指標の撮像画像上における指標の座標位置と、撮像画像から検出した指標の座標位置とに加えて、指標情報データ保持部１０４が保持する「各指標の法線ベクトルのデータ」と、ステップＳ４０４で得られたカメラ１０１の視軸ベクトルとを利用して、指標の判別を行う。
【００５３】
先ず、撮像画像に投影した指標のうち、指標識別処理の対象となる指標を選択する処理を行う。これは、カメラ１０１が指標のほぼ正面をとらえれているか否かを判定することにより行われる処理である。この処理についてより詳細に説明する。
【００５４】
先ず、注目指標の法線ベクトルとカメラ１０１の視軸ベクトルとが成す角度が所定値以上であるか否かを判定する。そしてこの角度が所定値以上である場合には、この注目指標を「後で行う指標識別処理の対象として用いるべき指標」であるということを示すために、この注目指標指標に対して設けられるフラグの値を１にする。一方、この角度が所定値以上でない場合には、この注目指標を「後で行う指標識別処理の対象として用いるべきでない指標」であるということを示すために、この注目指標に対して設けられるフラグの値を０にする。
【００５５】
例えば、指標をカメラ１０１が正面から捕らえていて、カメラ１０１に対して正対している場合には、この指標の法線ベクトルとカメラ１０１の視軸ベクトルとが成す角度は１８０度近く（完全に正対している場合は１８０度）となり、図３に示すような塔状物体の裏側に指標がある場合には、指標の法線ベクトルはカメラ１０１の視軸ベクトルに近い方向を示すこととなるため、２つのベクトルのなす角は小さくなる。
【００５６】
すなわち、この２つのベクトルのなす角が９０度以上であるか否かを利用することにより、指標の表側がカメラ１０１に向いているか、裏側がカメラ１０１に向いているのかを判定することができる。さらには、指標の表側がカメラ１０１に向いている場合であっても、指標の法線ベクトルとカメラ１０１の視軸ベクトルが垂直に近いような場合には、必ずしも指標が画像として正常に捉えられているとは限らないため、なす角の判定基準を９０度よりも大きくし（９０度＋α（α＞０））、単に指標の表側がカメラ１０１を向いているというだけではなく、より正対した姿勢の指標に関してのみ、対応付けを行うことも可能である。
【００５７】
このようにすることで、カメラ１０１から見て、物体の影などにより見えない指標を上記指標識別処理から除外することにより、間違った対応付けの発生を抑制することができる。
【００５８】
このようにして、撮像画像に投影した全ての指標について、上記角度計算、及び計算した角度と所定値との比較処理を行い、各指標について設けられたフラグの値にその比較結果を反映させることにより、「後で行う指標識別処理の対象として用いるべき指標」を得ることができる。
【００５９】
そして、上記処理によって「指標識別処理の対象として用いるべき指標」とされた指標（即ちフラグの値が１の指標）のみを撮像画像上に投影し、この投影座標位置と、撮像画像上から検出した指標の座標位置とを比較し、最も近い座標位置の指標同士を対応付ける処理を行う。このようにすることで、最も近い座標位置同士を対応付ける際に、夫々の指標は必ず可視可能な位置のものであるので、間違った対応付けの発生を抑制することができる。
【００６０】
ここで本実施形態では、指標の法線ベクトルとカメラ１０１の視軸ベクトルとが成す角度が所定値以上であるか否かに応じて、この指標を上記指標識別処理から除外するか否かを判定していたが、以下のようにして判定しても良い。
【００６１】
注目指標の法線ベクトルとカメラ１０１の視軸ベクトル（夫々のベクトルをｘ、ｙとし、更に夫々のベクトルの大きさを１に正規化したとする）が成す角度θの代わりに、ｃｏｓθを用いる。このｃｏｓθは、
ｃｏｓθ＝ｘ・ｙ      （ｘ・ｙはベクトルｘとベクトルｙとの内積を表す）
として求めることができる。そして、求めたｃｏｓθの値が例えば−１≦ｃｏｓθ≦Ａ（＜０）である場合には、即ち２つのベクトルが成す角度θが少なくとも（Ａ＝０）９０度以上であるから、ｃｏｓθがこの範囲内であれば、この注目指標を上記指標識別処理に適用するようにすればよい。このようにｃｏｓθを用いても、注目指標を上記指標識別処理から除外するか否かを判断することができる。
【００６２】
また、本実施形態では指標識別処理を行う際には先ず、各指標に対するフラグの値を決定する処理を行ったが、これに限定されるものではなく、注目指標が「後で行う指標識別処理の対象として用いるべき指標」と決定された場合には、この注目指標の投影位置と、その他のいくつかの「撮像画像から検出された指標の座標位置」とで距離の比較処理を行うというような、逐次的に距離の比較処理を行うようにしても良い。
【００６３】
［第２の実施形態］
第１の実施形態では、カメラ１０１に３次元位置姿勢センサ１０２を配置し、カメラ１０１が動的に動く状況にて、現実空間に固定された指標を撮像する場合を想定した実施形態であるが、本実施形態では、カメラ１０１を固定し、３次元位置姿勢センサ１０２および指標を配置した物体を動かす。尚、本実施形態について、以下説明する部分以外については第１の実施形態と同様である。
【００６４】
図６は本実施形態に係るシステムの模式図である。６０１は現実空間を撮像するカメラで、第１の実施形態におけるカメラ１０１と同様のものであるが、異なるのは、その世界座標系における位置姿勢が固定されていることである。６００は３次元位置姿勢センサ６０２、指標６０３，６０４を固定して取り付けた物体で、その位置姿勢は３次元位置姿勢センサ６０２により常に計測されている。
【００６５】
図５は、本実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。このシステムは、現実空間を撮像するカメラ５０１、物体６００の位置姿勢を計測する３次元位置姿勢センサ５０２、本実施形態に係る情報処理装置として機能するコンピュータ５５０に大別される。
【００６６】
カメラ５０１は第１の実施形態におけるカメラ１０１と同様のもので、現実空間の画像を撮像して後段の指標検出部５０６に出力する動作を行う。上述の通りカメラ５０１の世界座標系における位置姿勢は固定されているので、固定された位置姿勢のデータは予め測定しておき、指標情報データ保持部５０４に保持させておく。また、カメラ５０１の世界座標系における位置姿勢が固定されていると言うことは、上述のビューイング変換行列は予め求めておくことができるので、これを予め求めておき、求めた結果を指標情報データ保持部１０４に保持させておく。
【００６７】
３次元位置姿勢センサ５０２は上述の通り、物体６００に固定されて取り付けられたもので、物体６００の３次元位置姿勢（位置、姿勢共に３自由度）を計測するのであるが、計測するのは第１の実施形態と同様に、「センサ座標系における」物体６００の位置姿勢である。従って後述するコンピュータ５５０にはカメラ５０１により撮像された現実空間の画像のデータと共に、３次元位置姿勢センサ５０２により計測されたセンサ座標系における物体６００の位置姿勢を示すデータが入力されることになる。
【００６８】
次に、コンピュータ５５０を構成する各部について説明する。位置姿勢計測部５０３は、３次元位置姿勢センサ５０２を駆動・制御して、３次元位置姿勢センサ５０２に物体６００のセンサ座標系における位置姿勢を計測させ、その計測結果（位置姿勢値）のデータを後段の指標座標投影計算部５０５に出力する処理を行う。
【００６９】
指標情報データ保持部１０４には、現実空間における各指標の物体座標系（物体６００中の１点を原点とし、この原点から互いに直交する３つの軸をｘ軸、ｙ軸、ｚ軸とする座標系を物体座標系）における座標位置のデータ、及びカメラ５０１の世界座標系における位置姿勢のデータ、ビューイング変換行列のデータが予め保存されており、指標座標投影計算部１０５は、これらのデータに基づいて後述の変換処理を行い、各指標の世界座標系における座標位置をカメラ５０１によって撮像された画像（撮像画像）上に投影し、撮像画像上における各指標の座標値を求める処理を行う。
【００７０】
指標検出部５０６は、第１の実施形態の指標検出部１０６と同様の処理を行うものであって、カメラ５０１により撮像され、入力された撮像画像から、この撮像画像に含まれる指標を検出し、撮像画像における座標位置を求める処理を行う。求めた座標位置のデータは後段の指標識別部５０７に出力する。
【００７１】
指標識別部５０７は、指標座標投影計算部５０５から出力された「撮像画像上に投影された各指標の座標位置」と、指標検出部５０６から出力された「撮像画像から検出した各指標の座標位置」と、指標情報データ保持部５０４が保持する指標の法線ベクトルのデータを後述の変換処理によって変換した「世界座標系における成分を有する各指標の法線ベクトルのデータ」（詳細は後述）と、指標情報データ保持部１０４が保持するカメラ５０１の世界座標系における姿勢から得られる「カメラ５０１の視軸ベクトル」と、を用いて、撮像画像から検出した指標が、実際に配置された指標のうちのどの指標に対応するのかを求める。
【００７２】
以上が本実施形態に係る情報処理装置の機能構成であるが、基本構成については第１の実施形態と同じ、即ち、図１３に示したものと同じである。
【００７３】
次に、本実施形態に係る指標識別処理について、同処理のフローチャートを示す図７を用いて、以下説明する。尚、同図のフローチャートに従ったプログラムは外部記憶装置１３０７や記憶媒体に格納されており、ＣＰＵ１３０１の制御によりＲＡＭ１３０２に読み出され（記憶媒体に格納されている場合には、記憶媒体ドライブ１３０８を制御してこの記憶媒体から読み出す）、ＣＰＵ１３０１がこれを実行することで、本実施形態に係る情報処理装置は後述の処理を実行することになる。従って以下の説明で登場する位置姿勢計測部５０３、指標座標投影計算部５０５、指標検出部５０６、指標識別部５０７は本実施形態では夫々プログラムにより実現されるものであるが、これらをハードウェアにより実現しても良いことは言うまでもない。
【００７４】
ステップＳ７０１では、３次元位置姿勢センサ５０２を制御して、物体６００のセンサ座標系における位置姿勢を計測させ、その計測結果のデータを信号として指標座標投影計算部５０５に入力する。次にステップＳ７０２では、指標座標投影計算部５０５がステップＳ７０１で得られた物体６００のセンサ座標系における位置姿勢のデータを用いて、モデリング変換行列を求める。
【００７５】
モデリング変換とは、現実空間中の１点を原点としてこの原点から互いに直交する３つの軸をｘ軸、ｙ軸、ｚ軸とする座標系を世界座標系とし、物体６００中の１点を原点とし、この原点から互いに直交する３つの軸をｘ軸、ｙ軸、ｚ軸とする座標系を物体座標系としたときに、この２つの座標系間の座標変換のことである。従ってモデリング変換行列とは、この２つの座標系間の座標変換を行うための行列である。よって、このモデリング変換行列を求めておけば、物体座標系の座標値を世界座標系上にある座標値に変換することが可能となる。
【００７６】
次に、ステップＳ７０３では、指標座標投影計算部１０５が、指標情報データ保持部１０４に予め保持されている物体座標系における各指標の位置を、ステップＳ７０２で求めたモデリング変換行列によって世界座標系における位置へと変換し、更に、指標情報データ保持部１０４が保持するビューイング変換行列によるビューイング変換、及びカメラの透視投影変換計算を行うことによって、撮像画像面への投影座標を計算する。即ち、ステップＳ７０３では、カメラ５０１、物体６００の位置姿勢に基づいて各指標が撮像画像上に位置すべき座標位置を求める。
【００７７】
なお、カメラの透視投影変換は、カメラ５０１の焦点距離や主点（投影中心）位置によって一意に定まるものであり、このカメラ５０１の焦点距離や主点（投影中心）位置は予め測定し、データとして外部記憶装置１３０７や記憶媒体に記憶させておき、必要に応じてＲＡＭ１３０２に読み出されるものである。
【００７８】
このように、撮像画像上に指標を投影し、投影後の座標位置を求める処理については周知の技術であるので、これ以上の詳細な説明は省略する。
【００７９】
さらに、ステップＳ７０４では、指標座標投影計算部５０５が、ステップＳ７０２で求められたモデリング変換行列を用いて、指標情報データ保持部１０４が保持する物体座標系における成分を有する各指標の法線ベクトルを、世界座標系における成分を有する法線ベクトルに変換する。
【００８０】
また、ステップＳ７０１、Ｓ７０２、Ｓ７０３、Ｓ７０４の工程を行う一方で、ステップＳ７０５では、カメラ５０１によって現実空間の画像を撮像し、後段の指標検出部５０６に出力する。ステップＳ７０６では、指標検出部５０６は、この撮像画像に含まれている指標の座標位置を検出する処理を行う。撮像画像中の指標の座標位置の検出処理については第１の実施形態と同様の処理を行う。
【００８１】
以上のステップで、
・  指標を、撮像画像に投影した場合に、この撮像画像上における指標の座標位置
・  撮像画像から検出した指標の座標位置
・  世界座標系における成分を有する各指標の法線ベクトル
を求めることができた。また、カメラ１０１の視軸ベクトルについては、カメラ５０１の世界座標系における位置姿勢が固定であるために、この姿勢成分から容易に得ることができる。従ってこれら４つの情報を得ることができたので、後は第１の実施形態と同様の処理を行うことができる。
【００８２】
以上の説明により、本実施形態によって、カメラを固定し、３次元位置姿勢センサおよび指標を配置した物体を動かしても、指標識別処理を行うことができる。
【００８３】
［第３の実施形態］
第１の実施形態は、カメラに３次元位置姿勢センサを配置し、カメラが動的に動く状況にて、現実空間に固定された指標を撮像する場合を想定した実施形態であり、第２の実施形態は、カメラを固定し３次元位置姿勢センサおよび指標を配置した物体を動かす場合を想定した実施形態である。これらを組み合わせ、カメラにも対象物体にも３次元位置姿勢センサをそれぞれ固定し、物体に指標を配置しても良い。すなわち、カメラが動的に動き、かつ、物体も動的に動くような場合である。
【００８４】
この実施形態は、第２の実施形態を基にして以下の変更を加えればよい。即ち、第２の実施形態のステップＳ７０３で行っている処理として、カメラのビューイング変換行列は既知としているが、このビューイング変換をカメラに固定された３次元位置姿勢センサの計測値を基にして第１の実施形態で説明した如く求めればよい。
【００８５】
［第４の実施形態］
第１から第３までの実施形態では、いずれも、指標の法線ベクトルが明示的に指標情報データ保持部に記録されており、その法線ベクトルを利用する処理を行っている。しかし、利用する指標の種類によっては、法線ベクトルは必ずしも明示的に記録されている必要はない。
【００８６】
例えば、図８に示すように、黒い正方形の内部に白い正方形があるような指標を利用する場合、指標の頂点の座標位置（世界座標系における座標位置、もしくは世界座標系における座標位置に変換できるのであればその他の座標系における座標位置でも可）を記録しておけば、この指標に対する法線ベクトルを直接的に記録しておかなくても法線ベクトルを計算することができる。
【００８７】
これは、４頂点のなす平面の法線（直線であり向きは不定）が指標の法線ベクトルの含まれる直線であることを利用して、図１２に示すように４頂点の並びを利用して、その直線上での向きを決定すればよい。具体的な計算方法としては、図１２中の頂点１から頂点２へのベクトルと、頂点２から頂点３へのベクトルの外積ベクトルを計算する方法がある。すなわち、利用する指標が面的な拡がりをもつ図形である場合には、必ずしも法線ベクトルを明示的に記録しておく必要はない。このようにして、頂点情報などの明示的な法線情報ではない情報から法線ベクトルを計算し、得られた法線ベクトルを利用して指標の識別を行うことができる。
【００８８】
また、指標の法線ベクトルではなく、指標の位置姿勢を記録しておくことによって、指標の姿勢情報から法線ベクトルを計算することもできることもいうまでもない。
【００８９】
［第５の実施形態］
第１の実施形態に示した指標の識別結果を活用するカメラの位置姿勢推定方法の好適な実施形態を示す。
【００９０】
図１０は本実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。同図に示す機能構成を有するシステムは、上述の通り、第１の実施形態で説明した、撮像画像上で同じ指標同士を対応付ける処理を行った結果を用いて、ＨＭＤの位置姿勢を補正する処理を行うものである。また、同図に示したシステムは、ＨＭＤ１０００と、本実施形態に係る情報処理装置として機能するコンピュータ１０５０に大別される。
【００９１】
ＨＭＤ１０００は３次元位置姿勢センサ１００２、カメラ１００１、表示部１０１１により構成されており、これらは一体となってＨＭＤ本体１０００に取り付けられている、所謂ビデオシースルー型のＨＭＤである。３次元位置姿勢センサ１００２、カメラ１００１については基本的には第１の実施形態における３次元位置姿勢センサ１０２、カメラ１０１と同じものである。表示部１０１１は、後述するコンピュータ１０５０の画像合成部１０１０から出力された画像を表示するものである。
【００９２】
次に、コンピュータ１０５０を構成する各部について説明する。位置姿勢計測部１００３、指標情報データ保持部１００４，指標座標投影計算部１００５、指標検出部１００６、指標識別部１００７は夫々、第１の実施形態における（図１に示した）位置姿勢計測部１０３、指標情報データ保持部１０４，指標座標投影計算部１０５、指標検出部１０６、指標識別部１０７と同じ処理を行うので、その説明は省略する。
【００９３】
位置姿勢補正部１００８は、指標識別部１００７で対応付けられた２つの指標（一方は撮像画像から検出されたもの、他方は、撮像画像上に投影されたもの）の座標位置間の距離に基づいて、３次元位置姿勢センサ１００２が計測した結果に基づく、ＨＭＤ１０００の位置姿勢の計測値を補正する処理を行う。
【００９４】
画像生成部１００９は、位置姿勢補正部１００８で補正した位置姿勢を視点の位置姿勢として用い、この視点から見た仮想空間の画像を作成する。画像合成部１０１０は、カメラ１００１による撮像画像と、画像生成部１００９が生成した仮想空間の画像とを合成する処理を行う。その合成結果はＨＭＤ１０００の表示部１０１１に出力され、そこで表示される。
【００９５】
尚、本実施形態に係るコンピュータ１０５０の基本構成についても第１の実施形態と同様（即ち図１３に示す基本構成）とする。
【００９６】
次に、本実施形態に係るコンピュータ１０５０が行う、合成画像を表示部１０１１に出力するまでの処理について、同処理のフローチャートを示す図１１を用いて、以下説明する。尚、同図のフローチャートに従ったプログラムは外部記憶装置１３０７や記憶媒体に格納されており、ＣＰＵ１３０１の制御によりＲＡＭ１３０２に読み出され（記憶媒体に格納されている場合には、記憶媒体ドライブ１３０８を制御してこの記憶媒体から読み出す）、ＣＰＵ１３０１がこれを実行することで、本実施形態に係る情報処理装置は後述の処理を実行することになる。従って以下の説明で登場する位置姿勢計測部１００３、指標座標投影計算部１００５、指標検出部１００６、指標識別部１００７、位置姿勢補正部１００８、画像生成部１００９、画像合成部１０１０は本実施形態では夫々プログラムにより実現されるものであるが、これらをハードウェアにより実現しても良いことは言うまでもない。
【００９７】
ステップＳ１１０１では先ず、指標情報データ保持部１００４に指標データを読み込む。これは、例えば図９に示すようなテキストデータをファイルとして保存しておいた記憶装置から読み込む処理である。図９の９０１は指標の種類を表現しており、この例では色をもつ点状の指標を表しており、９０２にその座標値を９０３にその法線ベクトルを９０４にその色を記録してあることを意味する。このデータに示すように、指標情報データ保持部１００４は、指標の座標値と共にその法線ベクトルを情報として保持することとなる。
【００９８】
続いて、ステップＳ１１０２にて、上述した図４に示すステップＳ４０１〜ステップＳ４０７までの処理を行い、夫々対応する指標同士を対応付ける処理を行う。
【００９９】
ステップＳ１１０３では、ステップＳ１１０２で対応付けられた夫々の指標間の距離（ステップＳ４０３で得た投影座標値と、ステップＳ４０６で得た検出座標値との間の距離）に基づいて、位置姿勢補正部１００８は、ステップＳ４０２で得られたビューイング変換の補正を行う。
【０１００】
このビューイング変換の補正方法に関しては、ニュートン法などの繰り返し演算により誤差が最小となるようにする方法を用いてもよいし、指標間の誤差が最小となるように回転変換のみを修正するような方法であってもよい。
【０１０１】
ステップＳ１１０３ではビューイング変換行列を補正することを行っているのであるが、これは換言すれば、世界座標系におけるカメラ１０１の位置姿勢のデータを補正していることになる。このような、同じ指標で、ステップＳ４０３で得た投影座標値と、ステップＳ４０６で得た検出座標値との間の距離を最小にするように、ビューイング変換行列を修正する方法については周知の技術であるので、ここでの説明は省略する。
【０１０２】
次に、ステップＳ１１０４では、カメラ１０１により撮像された現実空間の画像を画像合成部１０１０に送る。次に、ステップＳ１１０５では、画像生成部１００９は、ステップＳ１１０３で修正されたビューイング変換行列を用いて、上述の通り、仮想空間の画像を生成し、画像合成部１０１０に送る。画像合成部１０１０には先に現実空間の画像が送られているので、後で送られた仮想空間の画像はこれに重ねられ、結果的に現実空間の画像と仮想空間の画像との合成画像が画像合成部１０１０にて生成されることになる。従って画像合成部１０１０はこの合成画像をＨＭＤ１０００の表示部１０１１に出力する。表示部１０１１はこの合成画像を表示する。
【０１０３】
ここで、このステップＳ１１０４〜ステップＳ１１０６までの処理は、得られたカメラのビューイング変換を有効に利用する例として現実空間に仮想空間もしくは仮想物体を融合する場合の工程を示しているのであって、他の用途にカメラのビューイング変換を利用してもよい。もちろん、ビューイング変換が求まっていれば、その逆変換を計算することにより、世界座標系におけるカメラの位置姿勢に変換することが容易にできるので、カメラの位置姿勢を用いる用途に利用することも可能であることはいうまでもない。
【０１０４】
その後、ステップＳ１１０７にて終了の判定を行い、終了しない場合には、処理をステップＳ１１０２に戻し、以降、ステップＳ１１０２〜ステップＳ１１０６までの処理を繰り返す。
【０１０５】
［第６の実施形態］
第５の実施形態は、第１の実施形態の指標識別方法をカメラの位置姿勢推定方法に利用した場合の実施形態であるが、第２の実施形態の指標識別方法、または第３の実施形態の指標識別方法を利用することにより、第５の実施形態と同様な工程で同様の目的が達成できるということはいうまでもない。
【０１０６】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０９】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１０】
【図１】本発明の第１の実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。
【図２】従来技術の問題点を説明するための、現実空間に配置される指標となるマーカ、３次元位置姿勢計測装置が固定されたカメラの形態を表す模式図である。
【図３】従来技術の問題点を説明するための、３次元位置姿勢センサの計測値を画面に投影した座標と、指標を画像から検出した座標とを表す模式図である。
【図４】本発明の第１の実施形態に係る指標識別処理のフローチャートである。
【図５】本発明の第２の実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。
【図６】本発明の第２の実施形態に係るシステムの模式図である。
【図７】本発明の第２の実施形態に係る指標識別処理のフローチャートである。
【図８】本発明の第４の実施形態における面的な拡がりをもつ図形である指標の一例を示す図である。
【図９】指標情報データを記録したファイルの内容を示す図である。
【図１０】本発明の第５の実施形態に係る情報処理装置を含むシステムの機能構成を示すブロック図である。
【図１１】本発明の第５の実施形態に係るコンピュータ１０５０が行う、合成画像を表示部１０１１に出力するまでの処理のフローチャートである。
【図１２】図８の指標の法線ベクトルの計算方法を説明する図である。
【図１３】コンピュータ１５０の基本構成を示すブロック図である。
【図１】
2005083826.tif 000003
【図２】
2005083826.tif 000004
【図３】
2005083826.tif 000005
【図４】
2005083826.tif 000006
【図５】
2005083826.tif 000007
【図６】
2005083826.tif 000008
【図７】
2005083826.tif 000009
【図８】
2005083826.tif 000010
【図９】
2005083826.tif 000011
【図１０】
2005083826.tif 000012
【図１１】
2005083826.tif 000013
【図１２】
2005083826.tif 000014
【図１３】
2005083826.tif 000015