(57)【要約】【課題】  仮想物体の操作時に物理的制約を付加し、簡単な装置で仮想物体の操作を補助する。【解決手段】  撮像部１０１０と、仮想物体を現実空間上の３次元位置に表示するために撮像部１０１０の位置及び姿勢を示す外部パラメータを取得する計測部１０２０と、仮想物体の操作を行うために位置姿勢とイベントとを入力する操作部１１００と、操作部１１００の位置姿勢の入力に対して物理的な拘束を加えて仮想物体の操作を補助する操作補助部２０６０と、操作補助部２０６０の位置及び姿勢を計測する操作補助部位置姿勢計測部１０９０と、撮像部１０１０によって得られた現実空間の映像と撮像部１０１０の位置及び姿勢から推定する仮想物体の映像とを合成する合成部１１２０と、合成部１１２０によって得られた画像を表示する表示部１０３０とを備え、操作部１１００による仮想物体の操作に際し、仮想物体に操作補助部２０６０を交差させ、物理的な制約を付加する。【選択図】  図２
2005165665.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間内に位置する仮想物体の操作を補助する操作補助装置であって、
前記仮想物体を現実空間上に重畳して表示するために現実空間の画像を撮像する撮像手段と、
前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測手段と、
前記仮想物体の操作を行うために、位置及び／又は姿勢とイベントとを入力する操作手段と、
前記操作手段の位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段と、
前記操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測手段と、
前記撮像手段によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成手段と、
前記合成手段によって得られた画像を表示する表示手段とを備え、
前記操作手段による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加することで前記仮想物体の操作を補助することを特徴とする仮想物体の操作補助装置。
【請求項２】
前記操作補助手段は、操作を行う操作者によって位置及び／又は姿勢とイベントとが入力されることを特徴とする請求項１に記載の仮想物体の操作補助装置。
【請求項３】
前記操作補助手段は、可動式の操作補助部支持手段に接続固定され、操作時に前記操作補助部が固定されるように設置されることを特徴とする請求項１又は２に記載の仮想物体の操作補助装置。
【請求項４】
前記操作補助手段は、可動式の操作補助部支持手段から前記操作者の操作状況に応じて取り外し可能なことを特徴とする請求項１〜３のいずれか１項に記載の仮想物体の操作補助装置。
【請求項５】
前記操作補助手段は、現実空間と仮想物体との位置関係に関して、前記操作者の視覚的認識が阻害されることのないように、光の透過性の高い素材を利用することを特徴とする請求項１〜４のいずれか１項に記載の仮想物体の操作補助装置。
【請求項６】
前記操作補助手段は、２次元平面の物理的拘束を提供することを目的とするため、平面形状であることを特徴とする請求項１〜５のいずれか１項に記載の仮想物体の操作補助装置。
【請求項７】
前記操作補助手段は、２次元平面上に線状の溝を設け、１次元の拘束操作を補助することを特徴とする請求項１〜６のいずれか１項に記載の仮想物体の操作補助装置。
【請求項８】
前記操作手段は、前記操作補助手段の位置姿勢と前記撮像手段で取得した画像上において前記操作手段の画像的な特徴を検出することにより得られた前記操作手段の２次元画像位置とを組み合わせて、３次元空間における前記操作手段の位置を検出することを特徴とする請求項１に記載の仮想物体の操作補助装置。
【請求項９】
前記操作補助手段は、Ｖ字型の棒の形状を適用することにより物理的に１次元の拘束操作を補助することを特徴とする請求項１〜５のいずれか１項に記載の仮想物体の操作補助装置。
【請求項１０】
前記操作補助手段は、前記仮想物体と交差させることによりできる交点又は、交線を直接選択し、操作可能なことを特徴とする請求項１〜９のいずれか１項に記載の仮想物体の操作補助装置。
【請求項１１】
３次元空間内に位置する仮想物体の操作を補助する操作補助方法であって、
前記仮想物体を現実空間上に重畳して表示するために撮像手段により現実空間の画像を撮像する撮像工程と、
前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測工程と、
前記仮想物体の操作を行うために、操作手段により位置及び／又は姿勢とイベントとを入力する操作工程と、
前記操作工程による位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測工程と、
前記撮像工程によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成工程と、
前記合成工程によって得られた画像を表示する表示工程とを有し、
前記操作補助工程では、前記操作工程による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加すること前記仮想物体の操作を補助することを特徴とする仮想物体の操作補助方法。
【請求項１２】
３次元空間内に位置する仮想物体の操作を補助するための処理をコンピュータに実行させるコンピュータプログラムであって、
前記仮想物体を現実空間上に重畳して表示するために撮像手段により現実空間の画像を撮像する撮像処理と、
前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測処理と、
前記仮想物体の操作を行うために、操作手段により位置及び／又は姿勢とイベントとを入力する操作処理と、
前記操作処理による位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測処理と、
前記撮像処理によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成処理と、
前記合成処理によって得られた画像を表示する表示処理とをコンピュータに実行させ、
前記操作補助処理では、前記操作処理による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加すること前記仮想物体の操作を補助することを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばコンピュータグラフィックスによる仮想画像を現実空間に融合させて観察者に提示する現実感提示システムにおいて、３次元空間内上での仮想物体のモデリング、配置等を行う場合に、仮想物体の操作を補助するのに好適な仮想物体の操作補助装置、方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、ＣＡＤデータ等の仮想的なモデルをデザインするためには、ＣＲＴモニタ等に３次元空間画像を２次元空間に投影し、擬似３次元空間において、マウス、キーボード等で物体の形状操作を行っていた。しかし、２次元空間への投影時に、３次元物体の情報が欠落してしまうため、３次元物体を直感的に認識することが難しい場合がある。この問題を解決するために、仮想現実感（Virtual Reality: VR）技術を用いて、３次元の物体を３次元空間上でモデリングを行うことが試みられている。３次元空間での入力装置として、マウス、キーボードの代わりに磁気センサ等の６自由度位置姿勢計測装置を備えた入力装置が用いられている。
【０００３】
しかし、入力装置を扱う人間の手と仮想空間における操作物体との相対位置が掴みにくいという問題から、近年では複合現実感（Mixed Reality:ＭＲ）技術を利用して、現実空間と仮想物体との位置関係が把握できる状態でモデリングを行う方法も考えられている。この複合現実感技術とは、現実空間上にＣＧ(Computer Graphics)等の非現実空間（仮想空間）画像を合成し、ユーザに提示する技術である。ユーザに提示する手段としては、ＨＭＤ（Head Mounted Display）等が用いられる。なお、複合現実感技術に関する情報は、例えば非特許文献１から得ることができる。
【０００４】
【非特許文献１】「H. Tamura, H. Yamamoto and A. Katayama: "Mixed reality:Future dreams seen at the border between real and virtual worlds," Computer Graphics and Applications, vol.21, no.6, pp.64-70, 2001.」
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複合現実感技術を用いて仮想物体のモデリングを行う場合に、６自由度位置姿勢計測装置を備えた入力装置のみで３次元位置及び姿勢を操作すると、一回の操作では意図した位置及び姿勢にならず、作業効率が悪い場合がある。例えば、仮想物体の部品を組み合わせて一つのモデルを構築する場合に、入力装置のみでは、一回で部品同士を正確に組み合わせることが難しく、必ず細かな位置及び姿勢の修正を加えながら組み上げていく必要がある。これは、本来部品が干渉するときに発生する反力がないため、人間の曖昧な距離感覚や運動感覚のみに頼っているためである。この現象は、人間が２次元平面の紙面上に、定規等の補助具なしで直線を引こうとしても、湾曲のない完璧な直線を描くことが難しい点に通ずる。人間の曖昧な感覚を補正するために、部品同士の干渉に応じてユーザの手等にワイヤー等で３次元の反力を与える装置を利用することも可能であるが、反力を生成する装置は複雑なものが多いため装置全体が大きくなり、また装置のコストもかかってしまう。
【０００６】
本発明は、これらの問題に鑑みてなされたものであり、仮想物体の操作時に物理的制約を付加し、簡単な装置で仮想物体の操作を補助することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の仮想物体の操作補助装置は、３次元空間内に位置する仮想物体の操作を補助する操作補助装置であって、前記仮想物体を現実空間上に重畳して表示するために現実空間の画像を撮像する撮像手段と、前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測手段と、前記仮想物体の操作を行うために、位置及び／又は姿勢とイベントとを入力する操作手段と、前記操作手段の位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段と、前記操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測手段と、前記撮像手段によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成手段と、前記合成手段によって得られた画像を表示する表示手段とを備え、前記操作手段による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加することで前記仮想物体の操作を補助する点に特徴を有する。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、操作を行う操作者によって位置及び／又は姿勢とイベントとが入力される点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、可動式の操作補助部支持手段に接続固定され、操作時に前記操作補助部が固定されるように設置される点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、可動式の操作補助部支持手段から前記操作者の操作状況に応じて取り外し可能な点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、前記操作補助手段は、現実空間と仮想物体との位置関係に関して、前記操作者の視覚的認識が阻害されることのないように、光の透過性の高い素材を利用する点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、２次元平面の物理的拘束を提供することを目的とするため、平面形状である点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、２次元平面上に線状の溝を設け、１次元の拘束操作を補助する点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作手段は、前記操作補助手段の位置姿勢と前記撮像手段で取得した画像上において前記操作手段の画像的な特徴を検出することにより得られた前記操作手段の２次元画像位置とを組み合わせて、３次元空間における前記操作手段の位置を検出する点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、Ｖ字型の棒の形状を適用することにより物理的に１次元の拘束操作を補助する点にある。
また、本発明の仮想物体の操作補助装置の他の特徴とするところは、前記操作補助手段は、前記仮想物体と交差させることによりできる交点又は、交線を直接選択し、操作可能な点にある。
本発明の仮想物体の操作補助方法は、３次元空間内に位置する仮想物体の操作を補助する操作補助方法であって、前記仮想物体を現実空間上に重畳して表示するために撮像手段により現実空間の画像を撮像する撮像工程と、前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測工程と、前記仮想物体の操作を行うために、操作手段により位置及び／又は姿勢とイベントとを入力する操作工程と、前記操作工程による位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測工程と、前記撮像工程によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成工程と、前記合成工程によって得られた画像を表示する表示工程とを有し、前記操作補助工程では、前記操作工程による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加すること前記仮想物体の操作を補助する点に特徴を有する。
本発明のコンピュータプログラムは、３次元空間内に位置する仮想物体の操作を補助するための処理をコンピュータに実行させるコンピュータプログラムであって、前記仮想物体を現実空間上に重畳して表示するために撮像手段により現実空間の画像を撮像する撮像処理と、前記仮想物体を現実空間上の３次元位置に表示するために前記撮像手段の位置及び姿勢を示す外部パラメータを取得する計測処理と、前記仮想物体の操作を行うために、操作手段により位置及び／又は姿勢とイベントとを入力する操作処理と、前記操作処理による位置及び／又は姿勢の入力に対して物理的な拘束を加えて前記仮想物体の操作を補助する操作補助手段の位置及び姿勢を計測するための操作補助手段位置姿勢計測処理と、前記撮像処理によって得られた現実空間の映像と前記撮像手段の位置及び姿勢から推定する仮想物体の映像とを合成する合成処理と、前記合成処理によって得られた画像を表示する表示処理とをコンピュータに実行させ、前記操作補助処理では、前記操作処理による前記仮想物体の操作に際し、前記仮想物体に前記操作補助手段を交差させ、物理的な制約を付加すること前記仮想物体の操作を補助する点に特徴を有する。
本発明のコンピュータ読み取り可能な記録媒体は、本発明のコンピュータプログラムを格納した点に特徴を有する。
【発明の効果】
【０００８】
本発明によれば、複合現実空間における仮想物体の操作時に操作補助手段を用いて物理的な制約を付加することにより、ユーザは従来の操作方法よりも正確に仮想物体の操作を行うことが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明を適用した好適な実施形態について説明する。従来、複合現実空間において、仮想物体を構成する頂点以外の物体上の点を正しくポインティングし、さらにその点を任意の方向に１ｃｍ平行移動させる等、正確に操作することが難しい場合があった。以下の実施形態においては、本発明を適用することで、ポインティング時に物理的拘束を与えることにより、正確に物体上の任意の点を指定でき、さらに選択した点の操作についても正確に入力することのできる仮想物体操作装置及び方法について述べる。
【００１０】
（第１の実施形態）
図１は本発明の複合現実空間における仮想物体の操作補助装置を適用した仮想物体操作装置の概略構成を示す図であり、図２は仮想物体操作装置の構成の模式図である。
＜構成＞
ＨＭＤ（Head Mounted Display）１０００には、撮像部１０１０、撮像部位置姿勢計測部１０２０、表示部１０３０が取り付けられて、互いに固定されている。なお、本実施形態では、図２に示すように、撮像部１０１０と表示部１０３０をＨＭＤ１０００内にそれぞれ２基搭載しており、ステレオで現実空間の撮像と複合現実空間の認識が可能である。
【００１１】
ユーザはＨＭＤ１０００を頭部に装着することで、表示部１０３０に映るステレオの複合現実空間画像（以下、ＭＲ画像とする）を見ることができる。本発明では、ステレオの撮像と表示を行うことに限定されるものではなく、少なくとも１つ以上の撮像部と表示部があれば適応可能である。さらに、本発明では、ＨＭＤ１０００を使用することに限定されるものではなく、撮像部１０１０と撮像部位置姿勢計測部１０２０が固定され、表示部１０３０がユーザが観察可能な状態であれば適応可能である。
【００１２】
撮像部位置姿勢計測部１０２０は、本実施形態においてPolhemus(ポヒマス)社のFASTRAKセンサを使用しており、図２に示すように、現実空間上に配置された磁界発生装置２０２０から発生した磁界を撮像部１０１０近傍に固定されている受信装置である撮像部位置姿勢計測部１０２０で受け、受けた磁界の変化をセンサコントローラ２０３０に送ることで撮像部位置姿勢を計測している。本発明においては、撮像部位置姿勢計測部１０２０は磁気センサに限られるものではなく、光学センサ、画像処理による撮像部位置姿勢推定等、撮像部１０１０の位置姿勢を計測できるものであれば適応可能である。
【００１３】
撮像画像の取得部１０４０は、撮像部１０１０において撮像された撮像画像を画像データとして保持する。
【００１４】
撮像部位置姿勢推定部１０５０では、撮像部位置姿勢計測部１０２０で得られた計測値を基に撮像部位置姿勢の推定を行う。この推定には、撮像画像の取得部１０４０に保持されている画像中から、３次元空間中での位置が既知である特徴点を用いて高精度に求める方法や、センサの誤差を推定して修正する方法等を適応してもよい。
【００１５】
操作部１１００は、仮想物体２０１０の操作を行うタイミングをユーザに指示させるイベント入力部１０６０と、操作部自体の位置姿勢を計測するための操作部位置姿勢計測部１０７０とから構成される。この操作部１１００は、本実施形態では、前述のFASTRAKセンサのスタイラスを使用する。スタイラスには、現実空間上の物体の３次元位置を指定する等のユーザインターフェースのためのボタンが１つ装備され、このボタンをイベント入力部１０６０として利用する。本発明においては、このようなボタン付きのポインティングデバイスに限られるものではなく、ワークステーション２０４０に付属するキーボード等の、イベントを入力することが可能なものであれば適応可能である。また、操作部位置姿勢計測部１０７０は、磁気式の計測装置に限られるものではなく、物体の位置姿勢操作が可能な装置であれば適応可能であり、例えば光学センサ、ジャイロと超音波センサの組み合わせによるものや、画像の特徴から位置姿勢を計測するものであっても適応可能である。
【００１６】
操作補助部２０６０は、仮想物体２０１０を操作する操作者、又は、操作者を補助するオペレータが仮想物体２０１０の配置状況に応じて位置姿勢を変更し、仮想物体２０１０の頂点操作やその他の操作の補助を行うための板状の物体であり、アーム２０５０により指示されている。なお、オペレータは、人であっても、自動的に判断し操作する装置であってもよい。
【００１７】
図６に操作補助部２０６０の模式図を示す。操作補助部２０６０は、現実空間上の仮想物体２０１０の位置関係の把握を妨げないために、現実空間を遮らないような、硬質で光の透過度が高い素材（透明プラスチック等）を用いることが好ましい。ただし、本発明は、操作補助部２０６０の光の透過度に依存するものではない。また、操作補助部２０６０の形状は、図２で判断できる矩形の形やサイズに限るものではなく、操作者が手で掴んで操作可能な形状であれば適応可能であり、例えば平面ではなく、お碗型等の形状を利用することにより、曲線的な操作を補助することも考えられる。また、アーム２０５０に必ず固定されている必要はなく、必要に応じて取り外して、操作者が手で保持するようにしてもよい。
【００１８】
具体的に、操作補助部２０６０は、図６に示すように、板状の表面に幅１ｍｍ程度の格子状の溝６０１０を設け、操作補助部２０６０上の直線操作においても、正確に操作可能にするのが望ましい。この場合、操作部１１００たるスタイラスの先端を溝６０１０に沿って移動させたり、一本の溝で始点と終点の２点をポインティングしたりすることで、直線に沿った３次元平行移動入力をすることが可能となる。また、等間隔（例えば１ｃｍ間隔）に並ぶ格子状の溝６０１０の交点をポインティングして、３次元平行移動入力を行うようにしてもよい。
【００１９】
なお、溝６０１０は、格子状の直線だけでなく、円形や、多角形や、設計部品の形状の切断面を示すような図形的な溝であってもよい。また、溝ではなく、視覚的に操作補助部２０６０上の表面に直線等の基準となる印を印刷したり、仮想的に操作をガイドするための情報（線情報、仮想物体の頂点位置情報、文字情報等形式は問わない）を重ねて描画したりしてもよい。さらに、溝６０１０を操作補助部２０６０の片面だけではなく、裏面と表面の両面に互いに異なる溝６０１０の形状を備え、用途に応じて切り替えて利用してもよい。さらに、溝６０１０は操作補助部２０６０の一面全てにある必要はなく、例えば、表面の左下４分の１の領域に設けられていてもよい。
【００２０】
操作補助部位置姿勢計測部１０９０は、操作補助部２０６０の位置姿勢を計測するための計測装置である。本実施形態においては、FASTRAKセンサを利用する。撮像部位置姿勢計測部１０２０、操作部位置姿勢計測部１０７０と同様に、磁気センサに限定されるものではなく、操作補助部２０６０の位置姿勢計測が可能な装置であれば適応可能である。特に、操作補助部２０６０を支えるアーム２０５０を備える場合は、アーム２０５０の回転角よって操作補助部２０６０の位置姿勢を計測する手法も適用可能である。
【００２１】
仮想物体配置形状記憶部１０８０は、仮想物体２０１０のシーン中の頂点の配置を記憶する。仮想物体２０１０のシーン中の頂点配置情報は、操作部１１００のイベント入力時や操作補助部位置姿勢計測部１０９０の位置姿勢の変化により変更が加えられる。
【００２２】
ここで、仮想物体配置形状記憶部１０８０の構成を示すブロック図を図３に示す。また、図３を説明するための模式図を図４に示す。まず、交点計算部３０２０は、操作補助部位置姿勢計測部１０９０の位置姿勢を受け、重なっている仮想物体２０１０との交点（図４においては、４０１０Ｆ、４０１０Ｇ、４０１０Ｈ、４０１０Ｉを指す）の３次元位置を計算する（図４（Ｂ）の状態）。ここで、交点とは、仮想物体として定義されている２頂点が結ぶ辺と操作補助部２０６０の３次元モデルの表の平面が交わる点を指す。なお、記憶部３０３０には、あらかじめ仮想物体２０１０と操作補助部２０６０の形状を表す３次元モデルが記録されているものとする。さらにこの操作補助部２０６０を表す３次元モデルは、操作補助部位置姿勢計測部１０９０の計測値を参照し、常に位置姿勢を同期しているものとする。また、仮想物体２０１０の頂点が操作補助部２０６０と接している場合は、頂点を交点とみなす。例えば本実施形態では、交点４０１０Ｇについては、仮想物体２０１０の頂点４０１０Ａと頂点４０１０Ｃの２点を結ぶ直線の式を下式（１）とし、操作補助部２０６０の表の平面を表す平面の式を下式（２）と定義する。ここで、式（１）を式（２）に代入して直線上のパラメータｔを求め、求めたｔを式（１）に代入することにより、交点の３次元位置（４０１０Ｇ）が求められる。なお、本発明は、この交点を求める式に限定されるものではなく、正しく仮想物体２０１０と操作補助部２０６０の交点が計算できる方法であれば適応可能である。
【００２３】
【数１】
2005165665.tif 000003
【００２４】
交点計算部３０２０で算出した交点情報は、仮想物体を構成するための頂点情報として、記憶部３０３０に記録される。また、記憶部３０３０では交点計算部３０２０で得た頂点座標値を用いて、仮想物体２０１０と操作補助部２０６０との交線４０２０を生成して格納し、仮想物体と同時に表示してもよい。
【００２５】
頂点選択部３０１０はイベント入力部１０６０の入力と操作部位置姿勢計測部１０７０の出力値に一番近い仮想物体２０１０の頂点を選択する。このとき、頂点選択部３０１０は記憶部３０３０内の頂点情報を参照して選択を行う。ここで、選択しようとする交点が画像上で表示され、さらに選択時にポイントする場合に物理的制約がかかるため、操作補助部２０６０より奥の点を直接選択することはなく、正確に任意の点を選択することができる。ここで、操作部位置姿勢計測部１０７０の出力値に一番近い頂点を必ずしも選択する必要はなく、操作者４０３０が状況に応じて頂点を選択できるようにしてもよい。また、頂点は、必ず１点を選択することに限定するものではなく、複数選択してもよい。この場合、選択された複数の頂点は、互いの相対位置姿勢を保ったまま、操作部１１００の３自由度又は６自由度の操作を受ける。もし、仮想物体２０１０を構成する全ての頂点が選択された場合は、仮想物体２０１０そのものが３自由度又は６自由度の操作を受けることと同等の操作になる。また、頂点は現在記憶部３０３０に登録されているものだけではなく、例えば、図４の４０１０Ｆと４０１０Ｇの間の交線上の点を新たに生成し、選択してもよい。また、交線を構成する２頂点を同時に選択し、交線自体を操作してもよい。
【００２６】
選択された頂点は次のイベント入力まで選択された状態を保持する。選択された頂点は、操作部位置姿勢計測部１０７０の位置姿勢の入力を参照し、自身の位置を記憶部３０３０に書き込む（図４（Ｃ）の状態）。このとき、操作部位置姿勢計測部１０７０の位置姿勢の入力をそのまま記憶してもよいし、必ず操作補助部２０６０の面上の位置となるように頂点位置姿勢を補正してもよい。また、記憶部３０３０に、操作時の頂点の位置情報だけではなく、姿勢情報も格納し、仮想物体２０１０の表面形状情報として記憶し、曲面を構成する情報の一部として利用してもよい。
【００２７】
仮想画像生成部１１１０は、撮像部位置姿勢推定部１０５０と仮想物体配置形状記憶部１０８０に基づいて仮想物体２０１０、交点計算部３０２０にて算出した交点（図４においては４０１０Ｆ、４０１０Ｇ、４０１０Ｈ、４０１０Ｉを指す）と交線４０２０等を表示座標系に２次元投影し、仮想画像を生成する。
【００２８】
画像合成部１１２０は、撮像画像の取得部１０４０と仮想画像生成部１１１０から得られる画像を合成する。基本的に、撮像画像の取得部１０４０で取得した画像の上に仮想画像生成部１１１０からの仮想画像を重畳する。ただし、合成時に、撮像画像の取得部１０４０から手の肌色の領域を抽出して、肌色領域部分にはＣＧ(Computer Graphics)を描画せず、手と仮想物体の位置関係の認識を補助する処理をしてもよい。
【００２９】
ＭＲ画像出力部１１３０では、合成された画像を表示部１０３０に転送する。ＨＭＤ１０００内にある表示部１０３０にはユーザの視点位置に対応した画像が表示される。ユーザはこの画像を見ることで複合現実空間を知覚でき、同時に複合現実空間上の仮想物体２０１０の操作も同時に行う。
【００３０】
なお、本実施形態においては、前述の撮像画像の取得部１０４０、撮像部位置姿勢推定部１０５０、仮想物体配置形状記憶部１０８０、仮想画像生成部１１１０、画像合成部１１２０、ＭＲ画像出力部１１３０を図２におけるワークステーション２０４０内に格納する。ワークステーション２０４０は、基本構成の機器の他に、撮像部の画像をキャプチャするために２系統のビデオキャプチャ装置と２系統の映像出力装置を備える。本発明においては、このようなワークステーションに限られるものではなく、前述の機能と同等の機能を持つ計算機であればよい。
【００３１】
＜処理の手順＞
本実施形態における処理の手順を図５のフローチャートを参照して説明する。図５で示すフローチャートは、ＭＲ画像を１枚描画するごとに繰り返し行われる処理である。
【００３２】
ステップＳ５０１０においては、撮像部１０１０にて撮像される画像を撮像画像の取得部１０４０に入力する。
【００３３】
ステップＳ５０２０においては、撮像部位置姿勢計測部１０２０の計測値を撮像部位置姿勢推定部１０５０に入力し、撮像部の位置姿勢を推定する。推定した位置姿勢を基に、世界座標系から撮像部座標系に座標系を変換する４行４列のビューイング変換行列Ｍcを生成する。
【００３４】
ステップＳ５０３０においては、操作補助部２０１０の位置姿勢を操作補助部位置姿勢計測部１０９０にて計測する。
【００３５】
ステップＳ５０４０においては、操作部１１００の位置姿勢を操作部位置姿勢計測部１０７０にて計測する。
【００３６】
ステップＳ５０５０においては、イベント入力部１０６０からの入力の有無を判定する。イベント入力があった場合はステップＳ５０６０に、イベント入力がない場合はステップＳ５０８０へ処理を移す。
【００３７】
ステップＳ５０６０においては、仮想物体配置形状記憶部１０８０内の記憶部３０３０を参照し、選択済みの頂点が存在するかを判定する。選択済みの頂点があったならば、本イベントは選択解除用のイベントだとみなし、ステップＳ５０７０において、頂点の選択を解除する。また、選択済みの頂点がない場合は、本イベントが頂点を選択するためのイベントであるとみなし、ステップＳ５０９０において、操作部１１００の有効範囲内にある仮想物体２０１０があるかどうかを判定する。仮想物体２０１０が存在しない場合は、イベントを無視して、ステップＳ５０１３０に処理を移す。もし、仮想物体２０１０が存在する場合は、ステップＳ５１００に処理を移し、範囲内の頂点のうち、操作部１１００にもっとも距離の近い頂点を選択する。
【００３８】
ステップＳ５０８０においては、ステップＳ５０６０と同様に、仮想物体配置形状記憶部１０８０内の記憶部３０３０を参照し、選択済みの頂点が存在するかを判定する。選択済みの頂点があったならば、ステップＳ５１２０に、選択済みの頂点がないならば、ステップＳ５１１０に処理を移す。ステップＳ５１２０においては、現在選択されている頂点が、操作部１１００によって操作されているものであるとみなし、記憶部３０３０の頂点位置を操作部位置姿勢計測部１０９０の出力値を利用して更新する。ステップＳ５１１０においては、操作補助部位置姿勢計測部１０９０と現在の仮想物体２０１０の状態から、交点計算部３０２０によって操作補助部２０６０と仮想物体２０１０の交点位置を計算し、記憶部３０３０の頂点位置を更新する。
【００３９】
ステップＳ５１３０においては、仮想画像生成部１１１０で、仮想物体配置形状記憶部１０８０に記憶されている仮想物体２０１０等をステップＳ５０２０によって得られたビューイング変換行列Ｍcによって変換し、さらに既知であるプロジェクション行列によって２次元投影を行う。
【００４０】
ステップＳ５１４０においては、ステップＳ５０２０で得られた撮像画像に、ステップＳ５１３０で得られた仮想画像を重畳してＭＲ画像出力部１１３０によって表示部１０３０に表示する。
【００４１】
（第２の実施形態）
本発明は、必ずしも、操作部１１００と操作補助部２０６０の位置姿勢がそれぞれ独立に計測されることに限定されるものではなく、操作補助部２０６０の位置姿勢を利用して操作部１１００の位置を計測する方法でも適応可能である。
【００４２】
図７は第２の実施形態の仮想物体操作装置の概略構成を示すブロック図である。図８は処理の手順を示すフローチャートである。図９は仮想物体の操作補助を行う場合の動作を説明するための模式図である。以下では第１の実施形態の構成との相違点のみを述べる。
【００４３】
本実施形態においては、操作補助部２０６０の上にイベント入力部１０６０を設ける。操作者４０３０は操作補助部２０６０を把持する手でイベント入力部を操作する。
【００４４】
本実施形態における操作部位置計測部７０１０においては、操作部１１００としてFASTRAKセンサのスタイラスを用いず、操作者４０３０の指で仮想物体２０１０を操作を行う。ただし、本実施形態では、操作部１１００の姿勢は計測しない。操作部１１００の位置は操作者４０３０の指の先端を画像的な特徴を持つマーカ９０２０から撮像部１０１０で撮像することにより計測する（図９（Ｃ）参照）。
【００４５】
本実施形態においては、赤いマーカ９０２０を用いて、撮像部１０１０が撮像した画像からラベリングを行う。まず、ラベリングを行うためには下式（３）により、赤色領域を求める。
Ｉs＝Ｒ／（（Ｇ＋Ｂ）／２）    ・・・（３）
【００４６】
上記（Ｒ，Ｇ，Ｂ）は、撮像画像中の注目画素値を表し、特徴量Ｉsが画素の赤らしさを表す。検出した特徴量Ｉsが一定画素数以上の領域を持つものを赤色マーカだとみなし、マーカ領域の重心を画像上のマーカの位置とする。本発明は、赤のマーカをラベリングすることに限定されるものではなく、画像上で操作部１１００が検出できる方法であれば適応可能である。例えば、サーモグラフィ画像を用いて手の領域を検出し、操作部１１００の画像上での位置を決定してもよい。
【００４７】
画像上におけるマーカ９０２０が決定すると、撮像部１０１０のレンズ中心３次元座標値と、撮像部１０１０の投影面９０１０の画像上の点９０２０'の３次元座標値を結ぶ直線９０３０の式を求める（式（１）と同様）。さらに、この直線９０３０と操作補助部２０６０の平面の式である式（２）との交点が操作部１１００の３次元位置となる。この交点の計算は、仮想物体２０１０と操作補助部２０６０の交点を求める式を用いる。
【００４８】
この実施形態における処理の手順を図８に示す。処理の手順は、第１の実施形態に対して、ステップＳ８０４０の操作部位置の計測が操作部位置計測部７０１０を利用して求めることが違うのみであり、その他の処理は同じである。この実施形態では、操作者４０３０が手に操作部１１００を持つ必要がないために、操作者４０３０の自由度が向上することが特長である。
【００４９】
（第３の実施形態）
本発明は、操作補助部２０６０が必ず平面の形状を持ち、操作者に２次元空間の拘束を提供することに限定されるものではなく、図１０に示すような操作補助部２０６０を用いて１次元空間の拘束を提供してもよい。
【００５０】
以下では、図１０で示す操作補助部２０６０を利用する場合の仮想物体操作補助装置について述べる。なお、以下では第１の実施形態との相違点のみを述べる。操作補助部２０６０は、図１０で示すようにＶ字型の棒形状のものを利用する。操作者は、Ｖ字型の溝の部分Ａ０１０に操作部１１００を当てることにより１次元空間相当の拘束を得られ、仮想物体２０１０の任意の方向への１次元の平行移動操作を正確に行うことが可能である。なお、操作者に対して、操作補助部２０６０の溝Ａ０１０付近に等間隔の目盛りを提示してもよい。また、アーム２０５０から操作補助部２０６０を取り外して仮想物体２０１０を操作してもよい。
【００５１】
仮想物体配置形状記憶部１０８０内の交点計算部３０２０は操作補助部２０６０と仮想物体２０１０の交点の３次元位置を計算する。本実施形態の操作補助部２０６０は、１次元空間の拘束に限定するため、操作補助部２０６０の溝Ａ０１０を現す直線と、仮想物体２０１０との交点を求める。仮想物体２０１０が３点以上の頂点を持つポリゴン形状である場合は、操作補助部の直線と、ポリゴン平面との交点の３次元位置を式（１）と式（２）を用いて計算する。仮想物体２０１０が直線や点の形状である場合は、それぞれ式から連立方程式を解いて、交点の３次元位置を求める。本発明は前述の交点の計算方法に限定されるものではなく、仮想物体２０１０と操作補助部２０６０との交点の３次元位置を算出できる方法であれば適応可能である。
【００５２】
（他の実施形態）
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図５及び図８のフローチャートのうち少なくとも一つのフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５５】
【図１】第１の実施形態の仮想物体操作装置の概略構成を示すブロック図である。
【図２】第１の実施形態の仮想物体操作装置の構成の模式図である。
【図３】仮想物体配置形状記憶部の構成を示すブロック図である。
【図４】第１の実施形態において仮想物体の操作補助を行っている様子を示す模式図である。
【図５】第１の実施形態における処理の手順を示すフローチャートである。
【図６】第１の実施形態における操作補助部の模式図である。
【図７】第２の実施形態の仮想物体操作装置の概略構成を示すブロック図である。
【図８】第２の実施形態における処理の手順を示すフローチャートである。
【図９】第２の実施形態において仮想物体の操作補助を行っている様子を示す模式図である。
【図１０】第３の実施形態における操作補助部の模式図である。
【符号の説明】
【００５６】
１０１０    撮像部
１０２０    撮像部位置姿勢計測部
１０３０    表示部
１０４０    撮像画像の取得部
１０５０    撮像部位置姿勢推定部
１０６０    イベント入力部
１０７０    操作部位置姿勢計測部
１０８０    仮想物体配置形状記憶部
１０９０    操作補助部位置姿勢計測部
１１００    操作部
１１１０    仮想画像生成部
１１２０    画像合成部
１１３０    ＭＲ画像出力部
２０１０    仮想物体
２０２０    磁界発生装置
２０３０    センサコントローラ
２０４０    ワークステーション
２０５０    アーム
２０６０    操作補助部
７０１０    操作部位置計測部
【図１】
2005165665.tif 000004
【図２】
2005165665.tif 000005
【図３】
2005165665.tif 000006
【図４】
2005165665.tif 000007
【図５】
2005165665.tif 000008
【図６】
2005165665.tif 000009
【図７】
2005165665.tif 000010
【図８】
2005165665.tif 000011
【図９】
2005165665.tif 000012
【図１０】
2005165665.tif 000013