(57)【要約】【課題】  位置姿勢センサの計測範囲を可視化すること。【解決手段】  予め位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを用意しておく。そして、位置姿勢センサが配置された現実空間の実写画像に、位置合わせされた仮想物体の画像として、位置姿勢センサの計測範囲を重畳合成した合成画像を生成する。この合成画像を表示することで、位置姿勢センサの計測範囲を視認することが可能となる。【選択図】  図３
2006072903.tif 000002
【特許請求の範囲】
【請求項１】
実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成方法において、
位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、
前記位置姿勢センサの位置情報を取得するセンサ位置情報取得工程と、
前記位置姿勢センサの位置情報と、前記３次元コンピュータグラフィクスモデルとを用い、前記所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成工程と、
前記実写画像と前記コンピュータグラフィクス画像とを合成する画像合成工程とを有することを特徴とする画像合成方法。
【請求項２】
前記センサ位置情報取得工程が、前記実写画像に含まれる、前記位置姿勢センサに取り付けられたマーカの画像と、予め記憶された前記マーカの位置情報とを用いて前記センサの位置情報を取得することを特徴とする請求項１記載の画像合成方法。
【請求項３】
前記センサ位置情報取得工程は、
前記実写画像からマーカを検出し、
前記検出されたマーカに基づき、前記マーカが定義されているマーカ座標系と前記実写画像が定義されるカメラ座標系との位置関係に応じた変換条件を作成し、
前記ＣＧ画像生成工程は、
前記変換条件に基づき、前記３次元コンピュータグラフィックスモデルから前記コンピュータグラフィックス画像を生成することを特徴とする請求項１記載の画像合成方法。
【請求項４】
所定の測定範囲を有する位置姿勢センサによって測定した位置姿勢情報を用い、実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成方法において、
前記所定の計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、
前記位置姿勢センサにより、前記実写画像を撮像するカメラの位置姿勢情報を取得するカメラ位置姿勢情報取得工程と、
前記カメラ位置姿勢情報と、前記３次元コンピュータグラフィクスモデルとを用い、前記所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成工程と、
前記実写画像と前記コンピュータグラフィクス画像とを合成する画像合成工程とを有することを特徴とする画像合成方法。
【請求項５】
観察者が装着する頭部装着型表示装置に設けられたカメラで撮影した実写画像に、予め用意した仮想物体の３次元コンピュータグラフィクスモデルと前記カメラの位置姿勢情報とを用いて生成した前記仮想物体の画像を合成し、合成画像を前記頭部装着型表示装置に表示する画像合成方法において、
前記観察者が存在する空間中に配置された位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、
前記計測範囲を前記仮想物体の画像として生成する画像生成工程を有することを特徴とする画像合成方法。
【請求項６】
実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成装置において、
位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する手段と、
前記位置姿勢センサの位置情報を取得するセンサ位置情報取得手段と、
前記位置姿勢センサの位置情報と、前記３次元コンピュータグラフィクスモデルとを用い、前記所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成手段と、
前記実写画像と前記コンピュータグラフィクス画像とを合成する画像合成手段とを有することを特徴とする画像合成装置。
【請求項７】
所定の測定範囲を有する位置姿勢センサによって測定した位置姿勢情報を用い、実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成装置において、
前記所定の計測範囲を表す３次元コンピュータグラフィクスモデルを設定する手段と、
前記位置姿勢センサにより、前記実写画像を撮像するカメラの位置姿勢情報を取得するカメラ位置姿勢情報取得手段と、
前記カメラ位置姿勢情報と、前記３次元コンピュータグラフィクスモデルとを用い、前記所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成手段と、
前記実写画像と前記コンピュータグラフィクス画像とを合成する画像合成手段とを有することを特徴とする画像合成装置。
【請求項８】
観察者が装着する頭部装着型表示装置に設けられたカメラで撮影した実写画像に、予め用意した仮想物体の３次元コンピュータグラフィクスモデルと前記カメラの位置姿勢情報とを用いて生成した前記仮想物体の画像を合成し、合成画像を前記頭部装着型表示装置に表示する画像合成装置において、
前記観察者が存在する空間中に配置された位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定手段と、
前記計測範囲を前記仮想物体の画像として生成する画像生成手段を有することを特徴とする画像合成装置。
【請求項９】
請求項１乃至請求項５のいずれか１項に記載の画像合成方法をコンピュータに実行させるプログラム。
【請求項１０】
請求項９記載のプログラムを格納するコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実世界の画像にコンピュータにより生成された画像（ＣＧ：Computer Graphics）を位置合わせして重畳する画像合成技術に関する。
【背景技術】
【０００２】
実写画像を背景とし、その上にコンピュータグラフィックス（以下、ＣＧ）で生成した仮想物体の画像を位置合わせして重畳表示することにより、観察者に対して、あたかも現実空間中に仮想物体が存在するかのように体感させる複合現実感(Mixed Reality: MR)技術がある（例えば特許文献１参照）。
【０００３】
ＭＲ技術の応用例としては、例えば、患者の体表面の実写画像に、内蔵のＣＧを位置合わせして重畳表示することで、体内を透視しているように医師に提示する医療補助の用途や、工場において製品の実写画像にその組み立て手順をＣＧで重畳表示することで、組み立て作業を補助する用途や、現実の風景の画像に地名や名称などをＣＧで重畳表示する案内用途など、様々なものがある。
【０００４】
なお、ＣＧを重畳する背景は必ずしも撮影された画像である必要はなく、観察者の視線上に配置された半透明表示部材（ハーフミラーなど）にＣＧのみを表示することによっても同様の効果が実現される。このような方式を光学シースルー方式と呼ぶ。一方、実写画像を背景に用いる方式をビデオシースルー方式と呼ぶ。
【０００５】
【特許文献１】特開平１１−８４３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
複合現実感を違和感なく観察者に体感させるためには、背景となる現実空間と、そこに重畳するＣＧとの位置合わせ精度が重要となる。そのため、通常は観察者の視点位置及び姿勢を計測し、計測した視点位置及び姿勢と、仮想物体の３次元モデルとを用いてＣＧを生成することにより、違和感の少ないＣＧの重畳を実現している。
【０００７】
観察者の視点位置姿勢は６自由度を有する情報であるため、その測定に用いられるセンサ（位置姿勢センサ）として利用できるものは限られており、一般に磁気センサ、光学センサ、画像センサが用いられている。
【０００８】
しかしながら、磁気センサや画像センサをはじめ、位置姿勢測定用のセンサは、予め設定された計測範囲を持ち、その計測範囲の中でしか位置姿勢を計測することができない。そのため、センサの配置によって観察者の行動できる範囲が限定されてしまう。
【０００９】
従って、現場にセンサを設置する際、どのようにセンサを配置するかが大きな課題となる。しかし、センサが用いる磁気や光といった情報は視覚的に捉えることができないため、センサの計測範囲は目視できず、結局のところ経験による勘に頼ってセンサを配置するしかなかった。しかし、勘に頼ったセンサの配置では、計画した計測範囲を確保できない場合があり、その場合には再度センサの設置調整を行う必要があるため、非効率であった。
【００１０】
本発明はこのような従来技術の課題に鑑みなされたものであり、センサの計測範囲を可視化することで、位置姿勢センサを適切かつ効率よく配置可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的を達成するため、本発明によれば、実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成方法において、位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、位置姿勢センサの位置情報を取得するセンサ位置情報取得工程と、位置姿勢センサの位置情報と、３次元コンピュータグラフィクスモデルとを用い、所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成工程と、実写画像とコンピュータグラフィクス画像とを合成する画像合成工程とを有することを特徴とする。
【００１２】
また、上述の目的は、所定の測定範囲を有する位置姿勢センサによって測定した位置姿勢情報を用い、実写画像にコンピュータグラフィクス画像を位置合わせして合成する画像合成方法において、所定の計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、位置姿勢センサにより、実写画像を撮像するカメラの位置姿勢情報を取得するカメラ位置姿勢情報取得工程と、カメラ位置姿勢情報と、３次元コンピュータグラフィクスモデルとを用い、所定の計測範囲を表すコンピュータグラフィックス画像を生成するＣＧ画像生成工程と、実写画像とコンピュータグラフィクス画像とを合成する画像合成工程とを有することを特徴とする本発明による画像合成方法によっても達成される。
【００１３】
さらに、上述の目的は、観察者が装着する頭部装着型表示装置に設けられたカメラで撮影した実写画像に、予め用意した仮想物体の３次元コンピュータグラフィクスモデルとカメラの位置姿勢情報とを用いて生成した仮想物体の画像を合成し、合成画像を頭部装着型表示装置に表示する画像合成方法において、観察者が存在する空間中に配置された位置姿勢センサの計測範囲を表す３次元コンピュータグラフィクスモデルを設定する設定工程と、計測範囲を仮想物体の画像として生成する画像生成工程を有することを特徴とする画像合成方法によっても達成される。
【００１４】
さらに、上述の目的は、本発明の画像合成方法をコンピュータに実行させるプログラム及びこのプログラムを格納したコンピュータ読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１５】
以上の構成により、本発明によれば、センサの目に見えない計測範囲を可視化することが可能となり、センサを適切かつ効率よく配置することが可能となる。
【発明を実施するための最良の形態】
【００１６】
〈第１の実施形態〉
以下、添付図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
第１の実施形態に係る画像合成装置の一例は、センサに取り付けたマーカに基づいてセンサの位置情報を取得し、その位置にセンサの計測範囲を３次元ＣＧのモデルデータを用いて重畳表示することによりセンサの計測範囲を可視化するものである。なお、計測範囲を可視化するための３次元ＣＧのモデルデータは、センサの仕様による計測範囲に対応したモデルデータであっても良いし、経験によって得られる計測範囲でも良い。また、モデルデータの表示方法も特に制限はなく、そのまま出力しても良いし、透明度の設定を行って表示するなどしても良い。
【００１７】
（画像合成装置の構成）
図１は、本実施形態における画像合成装置の構成例を示すブロック図である。また、図２は図１の画像合成装置を複合現実感アプリケーションに適用した場合の具体的な機器配置と、観察者が体感する複合現実感を模式的に示す図である。
【００１８】
図１において、小型のビデオカメラ１０１は現実空間を撮影する。ビデオカメラ１０１は、図２に示すように頭部搭載型画像表示装置（Head Mounted Display、以下ＨＭＤという）１０８の、観察者２０１の両目に近い部分に、それぞれ観察者の視線と一致する向きに固定されている。なお、右目用、左目用のビデオカメラ１０１を用いる代わりに、単眼のビデオカメラを用いたり、観察者が手で保持するタイプの表示装置（Hand Held Display、以下ＨＨＤという）にビデオカメラを取り付けても良い。
【００１９】
なお、以下では、説明及び理解を簡単にするため、右目用ビデオカメラと左目用ビデオカメラが撮影した一対の画像に対してそれぞれ行われる処理であっても、１つの画像に対する処理として説明することがある。しかし、一対のビデオカメラ（複眼カメラ）を用いる場合には、各ビデオカメラが撮影した画像についてそれぞれ同様の処理が行われ、一対の合成画像が生成され、例えばＨＭＤが有する右目用表示装置、左目用表示装置に独立して表示される。
【００２０】
例えばビデオキャプチャボードである画像入力部１０２は、ビデオカメラ１０１より撮影された映像（画像）を入力する。図２では観察者が現実物体である机の上を見ているものとする。ビデオカメラ１０１で撮影された画像の信号は、画像入力部１０２によって処理され、ディジタル画像データとして画像合成部１０７及びマーカ検出部１０３に供給される。
【００２１】
マーカ検出部１０３は画像入力部１０２から供給される画像から、図２に示す２次元マーカ２０５を検出する。２次元マーカは、現実空間上の絶対位置が既知の、画像から抽出可能な特徴（色、形、パターンなど）を有する指標である。従って、マーカ検出部１０３は、２次元マーカ２０５の有する特徴に合致する領域を画像中から探索することにより２次元マーカ２０５を検出する。
【００２２】
視点位置姿勢算出部１０４は、マーカ検出部１０３が検出したマーカ情報（画像中の位置やマーカ２０５の向き、面積など）と、マーカ２０５の特徴点のマーカ座標系における位置及びビデオカメラ１０１のカメラパラメータなどを用いて、観察者の頭部２０２に装着されたＨＭＤ１０８の３次元位置、姿勢を算出する。視点位置姿勢算出部１０４の処理の詳細については後述する。
【００２３】
画像生成部１０５は、例えばハードディスクドライブである仮想空間データベース１０６に登録されている３次元ＣＧモデルデータを視点位置姿勢算出部１０４で算出したＨＭＤ１０８の位置姿勢データを元に、観察者の視点から観察されるべきＣＧ画像の生成を行う。生成したＣＧ画像は画像合成部１０７へ供給する。画像生成部１０５におけるＣＧ画像の生成においては、仮想空間データベース１０６に含まれるＣＧモデルの幾何情報、色やテクスチャなどの属性情報、および照明情報が用いられる。なお、３次元ＣＧ画像の生成は既知の技術であるのでその詳細についての説明は省略する。
【００２４】
画像合成部１０７は、画像入力部１０２からの実写画像と、画像生成部１０５からのＣＧ画像（仮想物体２０６の画像）とを合成し、ＨＭＤ１０８に出力する。ＨＭＤ１０８に表示された合成画像を観察者が見ると、机２０４の上に仮想物体２０６があるかのように見える。
【００２５】
なお、このような画像合成装置のうち、ビデオカメラ１０１を除く機能ブロックについては、ビデオキャプチャボードを装着した汎用コンピュータ装置によって実現することが可能である。従って、以下に説明する画像合成装置内の処理は、少なくともその一部をＣＰＵが制御プログラムを実行することによってソフトウェア的に実現することが可能である。
【００２６】
（センサ計測範囲の可視化）
本実施形態においては、上で説明した画像合成装置を用いて、位置姿勢センサの計測範囲を可視化することを特徴とする。
図３は本実施形態における位置姿勢センサの計測範囲可視化を模式的に示す図である。
観察者２０１は例えばＨＭＤ１０８に取り付けられたビデオカメラ１０１により、一対のセンサ３０１に取り付けた２次元マーカ２０５を撮像する。そして、予め用意したセンサ３０１の計測範囲の３次元モデルデータを仮想空間データベース１０６より読み出し、センサ３０１の計測範囲を表すＣＧ画像を視点位置姿勢算出部１０４が算出する観察者の視点位置姿勢に基づいて生成する。このＣＧ画像をカメラ１０１で撮影した実写画像と合成してＨＭＤ１０８に表示することで、観察者にセンサ３０１の計測範囲を提示する。
【００２７】
なお、上述したように、センサの計測範囲を表す３次元モデルデータには、センサの仕様上の計測範囲を用いても良いし、経験による計測範囲を用いてもよい。また、ワイヤーフレーム表示、面のある立体として表示、不透明物体として表示、透明度を有する物体として表示など、任意の表示方法を採用することができる。また、センサが複数存在する場合には、個々のセンサの計測範囲が識別できるよう、色などの視覚的に識別可能な属性を異ならせて表示することも可能である。また、２つのセンサの各々のみが計測可能な範囲を赤と青で、重複する計測範囲は紫で表示するようにするなど、計測範囲の重なりを把握しやすくなるように表示することも可能である。
【００２８】
また、本実施形態において、２次元マーカ２０５は、白色カード上に書かれた黒色正方形であり、黒色正方形によるパターンをマーカ毎に異ならせることで、マーカの識別を容易にしている。マーカの詳細についても後述する。
【００２９】
（センサの計測範囲の３次元モデルの作成方法）
本実施形態において用いることができる、センサの計測範囲の３次元モデルの作成方法としては、様々な方法が考えられる。
まず、センサの仕様に基づき計測範囲の３次元モデルを作成する方法を説明する。
位置姿勢センサが光学センサの場合は、図９に示されるような対象機種の仕様に基づき、計測範囲の寸法をコンピュータグラフィックのモデリングソフト上で入力することで、センサの計測範囲の３次元モデルを作成することができる。
また、磁気センサの場合は、対象機種の仕様に記載されている計測範囲の距離を半径とする半球をコンピュータグラフィックのモデリングソフトで作成することにより、センサの計測範囲の３次元モデルを作成することができる。
【００３０】
次に、経験に基づき位置姿勢センサの計測範囲の３次元モデルを作成する方法を説明する。
センサの計測範囲外に出たときにセンサから「センサの計測範囲外」という旨のデータが送られてくる場合は、その直前の座標（Ｘ，Ｙ，Ｚ）データを複数取得、格納し、格納した座標点を頂点としたポリゴンを生成することで、計測範囲をモデリングすることができる。格納した頂点からポリゴンを生成する方法としては、Marching Cubes法「Lorensen,W.E and Cline H.E, Marching Cubes: A High Resolution 3D Surface Construction Algorithm,ACM computer Graphics,21(3),1987.」などが知られている。
「センサの計測範囲外」という旨のデータが送られてこない場合は、オペレータが予め体験し、その体験結果から計測範囲を示す３次元データを作成する。例えば、磁気センサでは、計測結果から半球の半径を設定し、半球の３次元モデルを作成する。
【００３１】
（視点位置姿勢算出部１０４）
ここで、本実施形態に係る画像合成装置において重要な機能を果たす視点位置姿勢算出部１０４の動作について詳細に説明する。視点位置姿勢算出部１０４の基本的な動作は座標変換である。
【００３２】
図４は本実施形態の画像合成装置が取り扱う座標系を示している。
本実施形態において、仮想物体２０６はマーカ座標系４０１の上で表現される。
撮影画像中のマーカ位置およびマーカ座標系におけるマーカ位置の関係に基づき、マーカ座標系からカメラ座標系への変換行列Ｔｃｍを動的に求める。そして、予め求められている、カメラ座標系からＨＭＤスクリーン座標系への変換行列Ｔｓｃと、変換行列Ｔｃｍとに基づき、マーカ座標系で定義されているセンサの計測範囲の３次元モデルを変換することにより、仮想物体２０６をＨＭＤスクリーン上に表示する。
【００３３】
以下に、変換行列の算出方法を具体的に説明する。
図３の実施形態では、配置する２台のセンサの夫々に対してマーカを取り付け、各センサの計測範囲の３次元モデルを独立に管理している。したがって、本実施形態では、以下に示す変換行列の算出を、各マーカに対して行う。
カメラ座標系４０２は焦点位置を原点、画像平面に垂直な方向をＺ軸、画像のｘ，ｙ軸に平行な方向を各Ｘ，Ｙ軸とする。
マーカ座標系４０１で表現された任意の点（Ｘｍ，Ｙｍ，Ｚｍ）は、回転移動と平行移動の組合せでカメラ座標系４０２上の点に変換可能であり、カメラ座標系４０２では（Ｘｃ，Ｙｃ，Ｚｃ）と表記する。
【００３４】
透視変換モデルによって投影される画像平面を理想スクリーン座標系４０３と呼ぶ。カメラ座標系４０２における点（Ｘｃ，Ｙｃ，Ｚｃ）は理想スクリーン座標系４０３において（ｘｃ，ｙｃ）に写るものとする。
また、複合現実感システムにおいては広範囲における位置計測が要求され、そのためにビデオカメラ１０１には広角レンズが用いられる。そのため、撮影した画像には樽型歪みが発生する。
【００３５】
そこで、理想スクリーン座標系４０３から画像歪み変換関数４０４によって変換された座標系を観測スクリーン座標系４０５とし、実際にビデオカメラ１０１から取り込まれた画像データを観測スクリーン座標系４０５で表現し、その座標値を（ｘｄ，ｙｄ）で表す。
【００３６】
ＨＭＤ１０８と観察者の目は理想的な透視変換モデルで表現できる。ＨＭＤ１０８の画像表示面をＨＭＤスクリーン座標系４０６と呼び、その上の座標値を（ｘｓ，ｙｓ）で表す。このＨＭＤスクリーン座標系４０６に対し同一方向にＸ，Ｙ軸を持ち、垂直な方向にＺ軸を有する、目の焦点位置を原点とする座標系を視点座標系４０７と呼び、その座標値は（Ｘｅ，Ｙｅ，Ｚｅ）で表す。
【００３７】
この視点座標系４０７の設定においては、視線方向をＺ軸にした方が考えやすいが、ＨＭＤスクリーン座標系４０６との間に透視変換モデルを成立させるためには、そのスクリーンとの相対的な関係によって規定されるような座標系設定が重要となる。また、視点座標系４０７及びＨＭＤスクリーン座標系４０６は左右各々の目に対して設定する必要があるが、ここでは説明の簡素化のために両眼に共通した座標系として説明する。
【００３８】
次に、視点位置姿勢算出部１０４における処理の概要を、図５に示すフローチャートを用いて説明する。
Ｓ５０１の前処理では、入力された実写画像に対して、固定閾値による２値化、連結領域ごとの面積・外接長方形計算を行う。本実施形態においては、これらの処理を１パスで行うアルゴリズムを用いることで高速化を図っている。
【００３９】
Ｓ５０２のマーカ抽出では、Ｓ５０１で検出された連結領域から、面積値によって巨大領域と微少領域を除外し、さらに連結領域に外接する長方形情報から、画像境界に接する連結領域も除外する。
残された連結領域に対して輪郭線追跡を行い、輪郭線上の画素位置をすべて記憶する。
【００４０】
輪郭線データに対して折れ線近似を行い、４本の線分によって十分な精度で近似できた連結領域をマーカ候補とする。そして、マーカ候補領域の４つの折れ点（頂点）の座標値を記憶しておく。
【００４１】
図６は、本実施形態に適用可能な次元マーカの例を示す。
２次元マーカは、黒い枠の中に識別用のパターン５０１が設けられた正方形マーカである。なお、本実施形態ではテンプレートマッチングによりマーカ識別を行っているため、中央部の識別用パターンはマーカの方向性（上下左右）が認識できる任意のシンボルを用いることができる。
【００４２】
そして、Ｓ５０３のマーカ識別では、実写画像と予め登録したパターンとのテンプレートマッチングによりマーカを検出及び識別する。
このテンプレートマッチングを行うためには、画像の正規化を行う必要がある。
【００４３】
まず、透視変換モデルによって、マーカをマーカ座標系４０１から理想スクリーン座標系４０３に投影する。
式１は、マーカ座標系４０１のＸｍ−Ｙｍ平面内の点（Ｘｍ，Ｙｍ，０）を、透視変換モデル行列Ｃによって理想スクリーン座標系４０３上の点（ｘｃ，ｙｃ）に変換する変換式である。
【００４４】
【数１】
2006072903.tif 000003
【００４５】
マーカの物理的な大きさ（図６における一辺の長さＬ（ｍｍ））は既知なので、その情報と画像から検出したマーカ候補領域の４頂点の座標値とを用いて、連立方程式を解くと透視変換モデル行列Ｃの値を求めることができる。従って、マーカ内部のパターンはこの式によって正規化できる。
【００４６】
具体的には、マーカ内部のパターン領域を縦横６４ｘ６４の領域に分割し、各領域に対応する画素値を入力画像から抜き出し、６４ｘ６４画素のパターン画像を得る。これを１６ｘ１６画素の画像に縮小し、テンプレートマッチングに使用する。
【００４７】
また、テンプレートマッチングに用いるテンプレートは、マーカの回転に対処するために、０度、９０度、１８０度、２７０度に回転した状態のものを各１枚、合計４枚作成しておく。
【００４８】
式２は、４枚のテンプレート画像と入力画像間の類似度を計算する式である。
【００４９】
【数２】
2006072903.tif 000004
【００５０】
式２において、ｘｉは１６ｘ１６の縮小画像（画像ベクトル）のｉ番目の要素を示す。ｘ〜は要素の平均値で、Ｎは次元数（この場合は２５５となる）。ｘ（ｌ）はｌ番目（ｌ＝１、２、３、４）のテンプレート画像（画像ベクトル）を意味し、ｘｉ（ｌ）はｌ番目のテンプレート画像のｉ番目の画素を意味する。そして、式２は明るさの正規化された２つの画像ベクトルの余弦を求める式に相当する。
そして、縮小画像との類似度ｓが最大値となるテンプレートの種類と向きを、マーカの種類及び方向と見なす。
【００５１】
続いて、Ｓ５０４の頂点の位置検出では、マーカの各辺に対応する輪郭線データに最小２乗法で直線当てはめを行い、それら直線の交点を頂点座標値とする。
【００５２】
【数３】
2006072903.tif 000005
【００５３】
この直線当てはめの際、式３の歪み関数による変換を行い、理想スクリーン座標系４０３における頂点座標値を求める。
ここで、（ｘｃ，ｙｃ）は理想スクリーン座標系４０３における座標値、（ｘｄ，ｙｄ）は観測スクリーン座標系４０５における座標値である。
【００５４】
また、ｐは歪み率、（ｘｃ０，ｙｃ０）は歪み中心座標値で、この３パラメータはカメラキャリブレーションによって予め算出しておく。
【００５５】
観測された正方形マーカ画像には広角レンズの影響で樽型歪みが生じているため、マーカの辺は曲線として観測されるが、観測スクリーン座標系４０５から理想スクリーン座標系４０３への変換式３により樽型歪みが補正され、辺は直線として取り扱うことができる。
【００５６】
最後に、Ｓ５０５の後処理では、マーカの誤検出の抑制を行う。具体的には、処理中に過去のマーカの検出位置とその大きさを記憶しておき、検出されたマーカの位置・大きさが記憶されている値に類似している場合には、同一マーカと見なす。類似度が所定値よりも低い場合には異なるマーカもしくは誤検出と判断する。これにより、マーカのパターン識別誤りを抑制することが可能である。
【００５７】
次に、マーカの３次元位置推定処理に関して説明する。
まず、マーカ座標系４０１からカメラ座標系４０２への変換行列Ｔｃｍ  の推定を行う。
この変換行列は、回転移動成分Ｒと平行移動成分Ｔからなる。理想スクリーン座標系４０３とカメラ座標系４０２の間は透視変換モデルで変換でき、その具体的な変換行列Ｐは事前にキャリブレーションにより算出することができる。この透視変換モデルの算出は一般的に利用されている技術であるため、ここでは、その具体的な算出方法の説明は省略する。
【００５８】
以下の式４、５はこれらの座標系の関係を示したものである。
【００５９】
【数４】
2006072903.tif 000006
【数５】
2006072903.tif 000007
【００６０】
式１は、マーカ座標系４０１のＸｍ−Ｙｍ平面内座標値（２次元座標値）と理想スクリーン座標系４０３の関係式であったが、式４及び５は、マーカ座標系４０１の３次元座標値とカメラ座標系４０２の関係式である。
【００６１】
マーカ座標系４０１におけるマーカの４頂点の座標値は図６に示すように設定されており、これらに対応する理想スクリーン座標系４０３における座標値もこれまでの処理で得られている。
【００６２】
図７は式４及び式５より変換行列Ｔｃｍを算出する際の手順を示したフローチャートである。
Ｓ７０１では、回転移動成分Ｒの推定を行う。
【００６３】
理想スクリーン座標系４０３におけるマーカの頂点位置から向かい合う２辺の直線の方程式が得られる（式６）。
そして、式５の（ｘｃ，ｙｃ）をこれに代入すると、式７が得られる。
【００６４】
【数６】
2006072903.tif 000008
【００６５】
式７は、カメラ座標系４０２によって表現される３次元空間中の平面の方程式であり、３次元空間中のマーカの辺がこの平面内に存在することを意味する。マーカの向かい合う２辺は平行なのでその方向ベクトルは一致し、式７の２平面の面内方向となる。つまり、式７の２平面の各法線ベクトルの外積として計算されるベクトルが、平行２辺のカメラ座標系４０３における方向ベクトルとなる。
【００６６】
この計算を２組の平行２辺に対して行うことで、マーカの隣り合う２辺の方向ベクトルＵ１，Ｕ２を求めることができる。本実施形態で用いるマーカは正方形であるので、理想的には、この２つのベクトルは直交するが、計測誤差により実際には直交しない。そこで、計測された２つの方向ベクトルに対し、それらを含む平面内で直交する２つの単位ベクトルＶ１，Ｖ２を計算し、これをＵ１，Ｕ２の代わりに用いる。
【００６７】
またこのＶ１，Ｖ２の外積を計算することでマーカ平面に垂直な方向の単位ベクトルＶ３も得られる。このとき、［Ｖ１ｔ，Ｖ３ｔ，Ｖ３ｔ］が、マーカ座標系４０１からカメラ座標系４０２への回転変換成分Ｒとなる。
【００６８】
ただし、前述のテンプレートマッチングの結果から、２つの方向ベクトルとマーカ座標系４０１のＸ軸Ｙ軸の対応関係および正逆方向を判定しておく必要がある。マーカ座標系４０１のＺ軸はマーカ平面下向きに設定しているので、カメラ座標系４０２の原点から理想スクリーン座標系４０３でのマーカ対角線交点を向く方向ベクトルとの内積が正になる方向に設定する。
【００６９】
Ｓ７０２では、平行移動成分Ｔの推定を行う。
式４及び式５を結合し、マーカ４頂点のマーカ座標系４０１での座標値、理想スクリーン座標系４０３での座標値を代入すると、Ｔ１，Ｔ２，Ｔ３に関する１次方程式が８個得られる。行列Ｐ，Ｒが既知なので、これらの式からＴ１，Ｔ２，Ｔ３を計算できる。
最後にＳ７０３では、変換行列Ｔｃｍの修正を行う。
【００７０】
Ｓ７０２までの計算でＴｃｍが一応求まるが、回転行列Ｒの計算においてしばしば大きな誤差を伴う。そこで、再度、画像情報を利用し回転行列Ｒの修正を行う。式４において回転行列は９個のパラメータＲ１１〜Ｒ３３で表現されているが、これを３つの回転角（ａ：Ｚｍ軸の傾斜方向、ｂ：Ｚｍ軸の傾斜角度、ｃ：Ｘｍ−Ｙｍ平面のＺｍ軸周りの回転角）で表現する。
【００７１】
これはＺＹＺオイラー角表現を修正したものである。通常のオイラー角表現ではベクトルの微少変動が回転角に大きな変化を及ぼす場合があるが、この表現ではそのような影響が小さい。
式８は回転行列を回転角で表した式である。
【００７２】
【数７】
2006072903.tif 000009
【００７３】
この式より（式９）が導出でき、回転行列Ｒから各回転角ａ〜ｃを求めることができる。
【００７４】
【数８】
2006072903.tif 000010
【００７５】
そこで、これまでに求めたＴｃｍを用いて、マーカ４頂点の座標値を式４，式５に代入することで、その理想スクリーン座標系４０３における座標値を計算できる。この計算値と実際に画像処理によって求められた値の誤差の２乗和が少なくなるようにａ，ｂ，ｃの値を修正する。具体的には、山登り法を用いて１０回の繰り返し処理により新たな回転行列Ｒを求める。さらにＳ７０２の処理を再度適用し平行移動成分Ｔも更新する。
【００７６】
カメラ座標系４０３からＨＭＤスクリーン座標系４０６への変換行列Ｔｓｃを公知のキャリブレーション方法などによって予め算出しておく。算出した変換行列は、カメラ座標系４０３からＨＭＤスクリーン座標系４０６への射影行列として使用する。
【００７７】
このようにして、視点位置姿勢算出部１０４は、逐次観測によって得られるマーカ座標系４０１からカメラ座標系４０２への変換行列Ｔｃｍと、変換行列Ｔｓｃを用いて、マーカ座標系４０１で表現された３次元ＣＧモデルデータをＨＭＤスクリーン座標４０６に投影する変換行列を求め、視点位置姿勢情報として画像生成部１０５に出力する。
【００７８】
画像合成部１０５はこの変換行列を用いてＣＧ画像を生成することで、ＨＭＤスクリーン座標系４０６に正しく投影されたＣＧ画像生成することができ、実写画像とＣＧ画像とが正しく位置合わせされた合成画像が生成できる。その結果、観察者はマーカ座標系を基準に表現された仮想物体を実世界のマーカ位置に存在する物体であるかのように見ることができる。
【００７９】
上述した仮想物体の３次元ＣＧモデルデータとして、センサ３０１の計測範囲を表す３次元ＣＧモデルデータを予め用意しておき、２次元マーカを貼り付けたセンサ３０１をビデオカメラ１０１で逐次観測し、上述の処理によって現実空間と位置合わせして表示することにより、観察者は計測範囲を確認しながら作業することができる。
【００８０】
なお、センサの計測範囲を表すＣＧ画像は、常時生成、表示することも可能であるが、本来の複合現実感アプリケーションの体感の邪魔になる場合も考えられる。従って、例えば観察者が操作するスイッチのオン、オフに応じて動的に表示あり、無しを切り替え可能に構成することや、表示透明度を変更可能にして、必要な場合には透明度を下げ、不要な場合には透明度を上げて表示するように構成することも可能である。
【００８１】
また、本実施形態では、計測範囲を可視化したいセンサに直接２次元マーカを貼り付け、計測範囲の可視化を行ったが、例えばセンサのレイアウトを検討する場合などは、本物のセンサを用いる必要は無い。むしろ、センサが大型又は重い場合などは、配置の検討時には移動の容易な別のもの、例えばラケットや杖の先といった場所に２次元マーカを貼り付けておき、計測範囲を可視化しながらセンサの配置を検討し、決定後に実際のマーカを設置する方が作業効率が向上する。
また、本実施形態では、各センサに1つの２次元マーカを使用したが、マーカ間の位置関係が予め定義されている場合は、1つのセンサに対して複数の点マーカを使用することができる。また、同様に複数の２次元マーカを使用することもできる。
【００８２】
以上説明したように、本実施形態によれば、複合現実感技術を用い、センサの計測範囲を仮想物体として可視化することにより、センサの設置位置をすみやかに、かつ適切に、勘に頼ることなく決定することができる。
また、複合現実感アプリケーションの実行中に、観察者がセンサの計測範囲を把握することを可能とし、正しい範囲内で移動することを可能とする。
【００８３】
〈第２の実施形態〉
第２の実施形態に係る画像合成装置は、位置姿勢センサの設置後、実際に設置した位置姿勢センサの計測値から観察者の頭部の世界座標系における位置姿勢情報を取得し、予め用意した世界座標系で定義されている、センサの計測範囲を表す３次元ＣＧモデルデータを観察者の視線近傍に配置したカメラから得られる実写画像に重畳表示することによって位置姿勢センサの計測範囲を可視化するものである。
本実施形態では、ユーザの世界座標系における位置姿勢をセンサの出力値にから求めることができる。よって、センサの計測範囲を表す３次元ＣＧモデルデータを、世界座標系で管理している。  なお、本実施形態においても、第１の実施形態と同様、計測範囲を可視化するための３次元ＣＧのモデルデータは、仕様による計測範囲であっても良いし、経験によって得られる計測範囲でも良い。また、モデルデータの表示方法も任意である。
【００８４】
第２の実施形態に係る画像合成装置の構成例を図１０に示す。なお、図１０において図１と同一の構成には同一の番号を付与し、説明を省略する。
１００１は、ユーザの視点位置姿勢を検出する位置姿勢センサである。１００２は位置姿勢センサ１００１の出力に基づき世界座標系をＨＭＤスクリーン座標系４０６へ変換する変換行列を算出する視点位置姿勢算出部である。画像生成部１０５は、視点位置姿勢算出部１０２で算出された変換行列を用いて、仮想空間データベース１００３に格納されている世界座標系で定義されている３次元モデルに基づく仮想物体画像を生成する。
ただし、複合現実感技術の分野では周知であるように、位置姿勢センサの出力値をマーカから得られる情報によって補正することも可能である。
【００８５】
図８は本実施形態の画像合成装置によって実現されるセンサ計測範囲の表示を模式的に表す図である。
位置姿勢センサ１００１で観察者２０１の視点位置姿勢を検出する。そして、予め用意したセンサ１００１の計測範囲を表す３次元ＣＧモデルデータ（本実施形態では世界座標系で記述）と観察者２０１に提示するためのＣＧオブジェクト８０１の３次元ＣＧモデルデータとを仮想空間データベース１００３より読み出し、位置姿勢センサ１００１が測定した観察者の視点位置姿勢と、視点位置姿勢算出部１００２からの変換行列とから、ＨＭＤ１０８のスクリーン座標系４０６へ投影された３次元ＣＧ画像を生成する。画像合成部１０７は画像入力部１０２からの実写画像に画像生成部１０５からのＣＧ画像を合成し、ＨＭＤ１０８に表示させる。このようにして、観察者にセンサ１００１の計測範囲を視認させることができる。
【００８６】
ここで、単純にセンサの計測範囲を半透明３次元ＣＧ画像により観察者２０１に提示すると、観察者２０１は計測範囲内において、計測範囲を表すＣＧ画像の中に閉じ込められているような感覚を受けることとなる。さらに、複合現実感アプリケーションにおいて本来視認させるべき目的のＣＧオブジェクトにセンサの計測範囲を表すＣＧ画像が重なって描画され、描画品質を劣化させたり、ＣＧオブジェクトの視認を妨げる原因になってしまうことがある。
【００８７】
本実施形態においては、実空間においてセンサがどこまで計測可能であるのかを観察者２０１が把握可能であればよい。したがって、計測範囲を表すＣＧ画像を常時描画する必要は必ずしもない。例えば、観察者２０１が計測範囲の境界線に近付いたときに、計測範囲を示す３次元オブジェクトの半透明度を調整して表示することにより、観察者２０１に計測範囲の限界に近づいていることを知らせるようにしてもよい。
【００８８】
このような表示方法を適用することで、観察者２０１の位置姿勢が正常に取得できている位置（すなわち、センサの計測範囲の十分内側に観察者が存在する状態）では、計測範囲を表すＣＧ画像を表示せず、計測範囲の境界に近付くにしたがって、観察者２０１に明示的に計測範囲の境界を示す方法を実現することができる。
【００８９】
以上説明したように、本実施形態によっても、センサの計測範囲を仮想物体として可視化することにより、センサの設置位置をすみやかに、かつ適切に、勘に頼ることなく決定することができる。
また、複合現実感アプリケーションの実行中に、観察者がセンサの計測範囲を把握することを可能とし、正しい範囲内で移動することを可能とする。
【００９０】
（他の実施形態）
上述の実施形態においては、いずれも観察者にセンサの計測範囲を提示するものであった。しかしながら、画像合成装置のオペレータに対して可視化したセンサの計測範囲を提示することも可能である。オペレータが観察者の作業をモニタリングする場合、オペレータ用の操作画面にセンサの計測範囲を可視化することによって、オペレータは観察者とセンサ計測範囲との位置関係を把握することができるため、観察者を適切内位置に誘導することが可能となる。
また、図８に示すようなＣＧオブジェクトを動的に観察者に提示させる場合、観察者にとって最も見易い位置に配置させることが可能となる。
【００９１】
このように、オペレータに対してセンサ計測範囲を提示する場合には、図８に示すように、第３者視点位置姿勢を用いて画像生成部１０５で観察者（３次元ＣＧモデルを登録しておく）及びセンサの計測範囲をＣＧ画像として生成し、図示しないオペレータ用表示装置に提示することができる。あるいは、俯瞰図のように上方から複合現実空間を模式的に表すような画像であっても良い。
【００９２】
なお、現実空間上に配置される位置姿勢センサの計測範囲を仮想物体としてコンピュータグラフィクスにより描画し、現実空間を撮像した実写画像に位置合わせして合成することにより位置姿勢センサの計測範囲を可視化することができれば、上述した実施形態以外の任意の構成の画像合成装置に本発明を適用することができる。
【００９３】
また、上述した画像合成装置と同等の機能を複数の機器から構成されるシステムによって実現しても良い。
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００９４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００９５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００９７】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００９８】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００９９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１００】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１の実施形態に係る画像合成装置の構成例を示すブロック図である。
【図２】図１の画像合成装置を複合現実感アプリケーションに適用した場合の具体的な機器配置と、観察者が体感する複合現実感を模式的に示す図である。
【図３】本実施形態における位置姿勢センサの計測範囲可視化を模式的に示す図である。
【図４】本実施形態の画像合成装置が取り扱う座標系を示す図である。
【図５】本実施形態の画像合成装置における視点位置姿勢算出処理の概要を説明するフローチャート。
【図６】本実施形態で用いることのできる２次元マーカの例を示す図である。
【図７】変換行列Ｔｍを算出する手順を説明するフローチャートである。
【図８】第２の実施形態の画像合成装置によって実現されるセンサ計測範囲の表示を模式的に表す図である。
【図９】センサ計測範囲の仕様例を模式的に表す図である。
【図１０】本発明の第２の実施形態に係る画像合成装置の構成例を示すブロック図である。
【図１】
2006072903.tif 000011
【図２】
2006072903.tif 000012
【図３】
2006072903.tif 000013
【図４】
2006072903.tif 000014
【図５】
2006072903.tif 000015
【図６】
2006072903.tif 000016
【図７】
2006072903.tif 000017
【図８】
2006072903.tif 000018
【図９】
2006072903.tif 000019
【図１０】
2006072903.tif 000020