Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3944019B2 - 情報処理装置および方法 - Google Patents
[go: Go Back, main page]

JP3944019B2 - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP3944019B2
JP3944019B2 JP2002223282A JP2002223282A JP3944019B2 JP 3944019 B2 JP3944019 B2 JP 3944019B2 JP 2002223282 A JP2002223282 A JP 2002223282A JP 2002223282 A JP2002223282 A JP 2002223282A JP 3944019 B2 JP3944019 B2 JP 3944019B2
Authority
JP
Japan
Prior art keywords
virtual object
shape
constraint
unit
orientation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002223282A
Other languages
English (en)
Other versions
JP2004062758A (ja
Inventor
和樹 武本
晋二 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002223282A priority Critical patent/JP3944019B2/ja
Priority to US10/615,941 priority patent/US7663649B2/en
Publication of JP2004062758A publication Critical patent/JP2004062758A/ja
Application granted granted Critical
Publication of JP3944019B2 publication Critical patent/JP3944019B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

【0001】
【発明の属する技術分野】
複合現実空間における仮想物体を操作するものに関する。
【0002】
【従来の技術】
6自由度操作が可能な操作デバイスを用いて仮想物体を操作する場合に、限られた物理法則を使用することで、ユーザの操作を意図する操作になるように補助する方法がある。例えば、ある仮想空間の平面上に配置された仮想物体を同平面上の異なる位置に移動しようとした場合、ユーザからの入力である6自由度の操作をそのまま反映させて仮想物体を移動するのではなく、重力、衝突を模して仮想物体を平面に沿って2次元平面上を移動する方がユーザにとっては直感的な操作となる。また同様に、平面上で回転操作をする場合には、平行移動成分や3軸の回転を同時に操作させるよりも、平面に垂直な法線を軸とする1軸の回転に制限することで、ユーザの意図した操作を実現できる。ここで、1つの平面によって仮想物体の操作に制約を与える平面を拘束平面、また、複数の平面から構成される拘束平面の集合体を拘束形状と呼ぶ。
【0003】
【発明が解決しようとする課題】
従来は、前述のような拘束形状を仮想空間上における仮想の物体をあらかじめモデリングして入力することで、そのモデルを拘束形状として用いてきた。この方法を仮想空間上で実現する場合は、単一の空間において仮想物体と拘束形状が表現されているため、拘束形状を設定することは容易であった。一方で、複合現実空間を実現する上では、現実空間と仮想空間との2空間の正確な位置合わせを行うことが重要な要素となるため、拘束形状を現実空間に対応させるためには、現実空間上の正確な数式モデル表現又は形状モデル表現が必要となる。なぜならば、拘束形状に設定するモデルは、ユーザが目分量で設定するものではなく、現実空間の形状に対応したモデルでなければならないからである。もし、現実空間の一平面と一致していない平面の数式モデルを拘束平面として利用し、仮想物体を操作した場合には、仮想物体が現実空間の平面から浮いていたり、平面よりも下に移動したりするなどの、仮想空間と現実空間の空間的な不連続性が生じる。この不連続性をユーザが体験した場合は、現実空間に存在する物体が仮想物体に影響を与えないことに違和感を受け、直感的に操作ができない場合がある。しかしながら、現実空間上の拘束形状の正確なモデル化は、幾何学的に正確な形状の入力や実現する環境の誤差(センサ計測誤差、センサの配置に対する誤差など)をも考慮しなければならないため、困難であった。
【0004】
このように、仮想物体の操作に現実空間に存在する物体の影響を与えることで補助する方法を実現するためには、あらかじめ正確な数式モデル、形状モデルを用意する必要があり、さらにモデルを用意している場所でしかこの操作方法を用いることができなかった。
【0005】
本発明は、これらの問題を鑑みて発明されたものであり、拘束形状を複合現実感上で動的に作成できるようにし、あらかじめ拘束形状が登録されていない場所においても、間単に拘束形状を用いて仮想物体を操作できるようにすることを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するために本発明は以下の構成を有する。
【0007】
本願発明の請求項1に記載の発明は、3次元空間内に位置する仮想物体の位置および姿勢に関する操作を補助する情報処理装置であって、前記仮想物体を重畳するための現実空間の画像を撮像する撮像手段と、前記撮像された画像に前記仮想物体を合成する合成手段と、前記仮想物体の位置および姿勢の移動を行うために、現実空間においてユーザにより移動可能な操作手段と、前記ユーザが前記操作手段現実空間において移動することにより指示した複数の位置のそれぞれの3次元位置を得て、前記仮想物体の位置および姿勢の移動拘束する拘束形状を求める補助手段とを有し、前記仮想物体の位置および姿勢は、前記補助手段によって求められた拘束形状に基づく拘束条件のもとに、前記ユーザの前記操作手段の移動に基づいて移動されることを特徴とする。
【0008】
本願発明の請求項4に記載の発明は、3次元空間内に位置する仮想物体の位置および姿勢に関する操作を行う情報処理方法であって、現実空間において移動可能な操作手段を用いて、ユーザにより現実空間において指示された複数の位置のそれぞれの3次元位置を入力手段で入力する入力ステップと、前記入力ステップにより入力された前記複数の位置のそれぞれの3次元位置を用いて、生成手段により拘束形状を生成する生成ステップと、撮像手段により現実空間を撮像する撮像ステップと、前記撮像手段の位置および姿勢を取得する計測ステップと、前記撮像手段によって得られた現実空間の映像と、該撮像手段の位置および姿勢から推定される仮想物体の映像とを合成する合成ステップと、前記仮想物体の位置および姿勢の移動を、前記ユーザによる前記操作手段の移動に基づき行う操作ステップと、前記操作ステップにおいて前記仮想物体の位置および姿勢を移動するときに、前記拘束形状を拘束条件として前記仮想物体の位置および姿勢を変更する変更ステップとを有することを特徴とする。
【0010】
【発明の実施の形態】
(実施形態1)
<1.構成>
以下、添付図面を参照して、本発明を適用した好適な実施形態に従って詳細に説明する。
【0011】
図1は本発明の複合現実空間における仮想物体の操作補助装置を適用した実施形態における概略構成を示す。図2は本実施形態における装置の構成の模式図である。
【0012】
HMD1000には、撮像部1010、撮像部位置姿勢計測部1020、表示部1030が取り付けられ互いに固定されている。なお、本実施形態では図2に示すように、撮像部1010と表示部1030をHMD内にそれぞれ2基搭載しており、ステレオで現実空間の撮像と複合現実空間の認識が可能である。ユーザはこのHMD1000を頭部に装着することで、表示部1030に映るステレオの複合現実空間画像(以下、MR画像とする)を見ることができる。本発明では、ステレオの撮像と表示を行うことに限定するものではなく、少なくとも1つ以上の撮像部と表示部があれば適応可能である。さらに、本発明では、HMD1000を使用することに限定するものではなく、撮像部と撮像部位置姿勢計測部1020が固定され、表示部1030をユーザが見える状態にある方法であれば、適応可能である。
【0013】
撮像部位置姿勢計測部1020は、本実施形態においてPolhemus社の3D SPACE FASTRAKセンサを使用しており、図2に示すように、現実空間上に配置された磁界発生装置2020から発生した磁界を撮像部に固定されている受信装置である撮像部位置姿勢計測部1020で受け、受けた磁界の変化をセンサコントローラ2030に送ることで撮像部位置姿勢を計測している。本発明においては、この撮像部位置姿勢計測部は、磁気センサに限るものではなく、光学センサ、画像処理による撮像部位置姿勢推定など、撮像部の位置姿勢を計測できるものであれば適応可能である。
【0014】
撮像画像の取得部1040は、撮像部1010において撮像された撮像画像を画像データとして保持する。
【0015】
撮像部位置姿勢推定部1050では、撮像部位置姿勢計測部1020で得られた計測値を基に撮像部位置姿勢の推定を行う。この推定には、撮像画像の取得部1040に保持されている画像中から、3次元空間中での位置が既知である特徴点を用いて高精度に求める方法や、センサの誤差を推定して修正する方法などを適応してもよい。
【0016】
拘束形状入力部1060は、現実空間上にある拘束平面2000の3次元位置を取得し、拘束形状生成部1080に入力する。本実施形態では、Polhemus社の3D SPACE FASTRAKセンサのスタイラスを使用する。このスタイラスには、現実空間上の物体の3次元位置を指定するなどのユーザインターフェースのためのボタン(不図示)が1つ装備されている。本発明においては、このような3次元ポインティングデバイスに限るものではなく、現実空間の画像特徴をステレオカメラで撮像して物体の形状を求めるような方法など、現実空間の拘束形状を正確にモデル化できるものであれば適応可能である。
【0017】
拘束形状生成部1080においては、入力された拘束平面を今までに蓄積していた拘束形状と合成し記憶する。図3はこの拘束形状生成部1080の内部の構成を示すブロック図である。拘束平面生成部3000においては、入力された現実空間上の3次元位置から平面の数式モデル、又は形状モデルを生成し、拘束平面とする。生成された拘束形状は、拘束形状記憶部において記憶される。
【0018】
仮想物体操作部1090は、仮想物体2010の6自由度操作を行うものである。本実施形態においては拘束形状入力部1060のスタイラスを併用する。本発明においては、スタイラスを併用する方法に限るものではなく、仮想物体操作部1090として、もう1台のFASTRAKセンサを用意してスタイラスを用いる方法でもよい。さらにFASTRAKセンサではなく、他の光学センサや2次元で操作するマウスなどを用いてもよい。
【0019】
仮想物体配置形状記憶部1070は、仮想物体2010の形状及びシーン中の配置を記憶する。記憶されている仮想物体2010は操作補助部1100に転送され、拘束形状2000の干渉と仮想物体操作1090によって入力された操作に従って操作補助部1100内の仮想物体2010の配置、又は形状が変更される。
【0020】
操作補助部1100は、拘束形状生成部1080、仮想物体配置形状記憶部1070の情報から操作制約を生成し、仮想物体操作部1090から入力される操作に対して制約を行う。図4は操作補助部1100の構成を示すブロック図である。距離判定部4000では、仮想物体配置形状記憶部1070に格納されている操作対象の仮想物体2010と拘束形状生成部1080に格納されている拘束形状2000との距離を比較する。操作拘束生成部4010は、距離判定部によって求められた距離と拘束形状に従って、対象仮想物体に対する操作制限を生成する。操作決定部4020では仮想物体操作部1090の操作入力と、操作拘束生成部4010にて生成された操作制限から最終的な操作を決定し、仮想物体に対して操作を行い、結果の仮想物体位置姿勢を仮想物体配置形状記憶部1070に記憶する。
【0021】
仮想画像生成部1110は、撮像部位置姿勢推定部1050と仮想物体配置形状記憶部1070に基づいて仮想物体2010を表示座標系に2次元投影し、仮想画像を生成する。
【0022】
画像合成部1120は、撮像画像の取得部1040と仮想画像生成部1110から得られる画像を合成する。
【0023】
MR画像出力部1130では、合成された画像を表示部1030に転送する。
【0024】
HMD1000内にある表示部1030にはユーザの視点位置に対応した画像が表示される。ユーザはこの画像を見ることで複合現実空間を知覚でき、同時に複合現実空間上の仮想物体2010の操作も同時に行う。
【0025】
なお、本実施形態においては、前述の撮像画像の取得部1040、撮像部位置姿勢推定部1050、仮想物体配置形状記憶部1070、拘束形状生成部1080、操作補助部1100、仮想画像生成部1110、画像合成部1120、MR画像出力部1130を図2におけるワークステーション2040内に格納する。ワークステーション2040は、基本構成の機器の他に、撮像部の画像をキャプチャするために2系統のビデオキャプチャ装置と2系統の映像出力装置を備える。本発明においては、このようなワークステーションに限るものではなく、前述の機能と同等の機能を持つ計算機であればよい。
【0026】
<2.処理の手順>
この実施形態における処理の手順を図5のフローチャートを参照して説明する。
【0027】
ステップS5000において撮像部1010にて撮像される画像を撮像画像の取得部1040に入力する。
【0028】
ステップS5010において、撮像部位置姿勢計測部の計測値を撮像部位置姿勢推定部に入力し、撮像部の位置姿勢を推定する。推定した位置姿勢を基に、世界座標系から撮像部座標系に座標系を変換する4行4列のビューイング変換行列Mを生成する。
【0029】
ステップS5020において、拘束形状を入力するか仮想物体の操作をするかの選択をユーザの拘束形状入力部1060のボタン操作によって判定する。本発明においては、この操作をスタイラスのボタン操作によって選択させる方法に限るものではなく、マウスやキーボードなどの他の入力装置を用いて選択をさせる方法でも適応可能である。
【0030】
ステップS5020において、拘束形状を入力するモードが選択された場合は、ステップS5030に移る。また、仮想物体の操作をするモードが選択された場合は、ステップS5040に移る。
【0031】
ステップS5030において、拘束形状入力部1060から現実空間上の物体の点を入力して拘束形状を生成する。図10は現実空間上の拘束形状を入力する様子を示す模式図である。ステップS5030についての詳細は後述する。
【0032】
ステップS5040において、仮想物体操作部1090から仮想物体2010の操作入力を受ける。この操作入力における仮想物体操作部1090の位置姿勢の変化分を記憶しておく。
【0033】
ステップS5050において、操作補助部1100に入力された拘束形状2000と操作によって更新された仮想物体2010の位置を比較し、距離があらかじめ定めている閾値よりも小さい場合は、拘束形状の制限を受けることになるのでステップS5060に移る。閾値よりも大きい場合は、拘束形状の制限を受けずに操作可能となるのでステップS5070に移る。ここで、現在仮想物体2010がある拘束平面2000A(不図示)から拘束を受けて平行移動変換、または回転変換が行われた場合において、変換後の仮想物体が別の拘束平面2000B(不図示)とまたがる場合には、仮想物体2010の重心位置と拘束平面2000の重心位置との距離が近い方の拘束を受ける。
【0034】
ステップS5060においては、拘束形状2000に基づいて、仮想物体2010の操作を補正する。詳細は後述する。
【0035】
ステップS5070においては、仮想物体の操作結果に応じて仮想物体配置形状記憶部1070内の仮想物体の状態を更新する。
【0036】
ステップS5080においては、仮想物体配置形状記憶部1050の仮想物体2010をステップS5010によって得られたビューイング変換行列Mによって変換し、さらに既知であるプロジェクション行列によって2次元投影を行う。
【0037】
ステップS5090においては、ステップS5000で得られた撮像画像に、ステップS5080で得られた仮想画像を重畳してMR画像出力部1130によって表示部1030に表示する。
【0038】
<2.1 拘束形状の生成処理手順の詳細>
図6はステップS5030の拘束形状の生成に関する詳細な処理手順を示すフローチャートである。ステップS6000では、入力した点から数式モデルを生成するか、形状モデルを生成するかをユーザのスタイラスのボタン操作により選択させる。本発明においては、この操作をスタイラスのボタン操作によって選択させる方法に限るものではなく、マウスやキーボードなどの他の入力装置を用いて選択をさせる方法でも適応可能である。数式モデルを生成するモードが選ばれた場合は、ステップS6010に移行する。
【0039】
ステップS6010においては、入力される現実空間上の物体のデータに基づいて数式モデルが生成される。詳細な処理手順は後述する。生成された数式モデルのパラメータはステップS6050において拘束形状記憶部3010に追加される。
【0040】
ステップS6020においては、拘束形状入力部1060から拘束形状として登録する現実空間の物体上の点(3次元位置)を受ける。図10における点a020が拘束形状となる物体上の点を示している。
【0041】
ステップS6030においては、ステップS6020によって入力された点が合計3点未満であれば、ステップS6020に戻り、点の入力を待つ。現実空間上の3点入力された場合は、ステップS6040に移る。
【0042】
ステップS6040においては、入力された3点から3次元空間中で三角形パッチ(図10のa020が囲む三角形のパッチ)を生成する。図10のように現実空間上の六角柱を拘束形状として入力するのであれば、図10のように六角柱の頂点を入力して表面に三角形パッチを生成するする。このとき、入力する3点は六角柱の表面を三角形で区切るように分割する。ここで、入力した点と作成した三角形パッチをユーザが拘束平面の入力を確認できるように、仮想の点とパッチに対応する半透明のポリゴンを入力操作に伴い生成し、描画してもよい。
【0043】
ステップS6050においては、生成された数式モデル、又は形状モデルを拘束形状記憶部3010に追加する。
【0044】
<2.2 数式モデルの生成処理手順の詳細>
図7はステップS6010の拘束形状の数式モデル生成に関する詳細な処理手順を示すフローチャートである。本実施形態においては、拘束形状の数式モデルの生成モジュールとして4点以上の点群から最小二乗近似を用いて平面の数式モデルを生成する方法を用意する。
【0045】
まず、形状モデルに適している拘束平面と、数式モデルに適している拘束平面について説明する。形状モデルについては、ユーザが持つ拘束形状入力部1060によって計測できる距離内に拘束平面の頂点を含む物体に対して適用することが望ましい。このように形状モデルで入力した拘束平面を組み合わせて、より複雑な拘束形状を生成することができる。一方で、数式モデルは、拘束形状入力部1060によって計測できる範囲に対して、全体の形状が大きいものに対して適応することが望ましい。これは、地面のように、入力すべき頂点が遠方にあり入力が不可能である領域についても、拘束形状入力部1060によって計測できる範囲内の拘束平面に設定する同一平面上において4点以上の入力を行うだけで、拘束平面を設定することができるからである。この場合、この拘束平面の数式モデルは無限平面を表すモデルとなる。
【0046】
次に、最小二乗近似による無限平面の数式モデルの生成方法について説明する。平面の式をax+by+cz=1とし、これをベクトル演算で表現すると、
【0047】
【外1】
Figure 0003944019
となる。求める平面上に存在する点は式(1)が成り立つ。これにより入力したn個の点群がすべて平面上にあると仮定すると、
【0048】
【外2】
Figure 0003944019
が成り立つ。ここで、この式を
p・X=d 式(3)
とおく。この式(3)のXの一般化逆行列を求めることで平面の数式モデルのパラメータであるp(a,b,c)が求められる。ここで、式(3)のXの一般化逆行列をXとすると
=X・(X・X−1 式(4)
となり、
p=d・X=d・X・(X・X−1 式(5)
この式(5)によって、入力点群から平面の数式モデルのパラメータp(a,b,c)が求められる。
【0049】
以上のことを踏まえて、図7のフローチャートを用いて、数式モデルの生成処理手順を説明する。
【0050】
ステップS7000においては、拘束形状入力部1060から拘束形状として登録する現実空間の平面2000上の点を受ける。図10の点a010が入力する点を示している。
【0051】
次にステップS7010においては、ステップS7000において入力された点が4点以上である場合はステップS7020に移る。入力点が4点未満であった場合には、ステップS7000に戻って点が入力されるまで待つ。
【0052】
ステップS7020においては、ユーザによる点群の入力終了命令があるまでステップS7000に戻って点の入力を行う。終了命令があった場合はステップS7030に移る。
【0053】
ステップS7030においては、入力された点群を式(5)のXの行列に設定し、式(5)の計算結果から平面の数式モデルのパラメータpを求める。ここで得られたパラメータpを式(1)に代入することにより平面の数式が得られる。
【0054】
本発明においては、この平面の数式モデルだけを備えることに限るものではなく、様々な形状を数式モデル化できる方法においても適応可能である。さらに数式モデル化のモジュールの種類を1つ、又は複数用意する方法、形状モデルの頂点を入力として数式モデルに変換する方法であっても適応可能である。
【0055】
<2.3 仮想物体の操作に対する拘束処理の手順の詳細>
図8はステップS5060の拘束形状の操作に関する詳細な処理手順を示すフローチャートである。ここで、仮想物体2010を操作する場合は、仮想物体操作部1090をユーザが手に持ち、仮想物体に仮想物体操作部1090を空間的に接触させ、仮想物体操作部1090が備えるボタン(不図示)を押すことによって、以後、仮想物体2010を仮想物体操作部1090の変化量と位置姿勢の変化量とを同期させることにより仮想物体の6自由度操作するものとする。また、仮想物体操作部1090が備えるボタンを離すことによって、この同期が解除されるものとする。この場合、ユーザは仮想物体を仮想物体操作部1090によって「つかむ」という感覚が得られる。
【0056】
ステップS8000においては、ステップS5040で行われた仮想物体の操作によって、仮想物体2010が拘束形状2000に接触、又は内部に侵入した場合はステップS8010に移る。それ以外の場合は、ステップS8020に移る。
【0057】
ステップS8010においては、拘束形状と仮想物体の位置に基づいて仮想物体の位置姿勢を補正する。この補正方法について、図9の仮想物体2010Xが拘束形状2000内に侵入している様子を示す模式図を用いて説明する。
【0058】
図中の9010A、9010B、9010Cは拘束形状2000内に侵入している仮想物体2010Xの三角形ポリゴンの頂点を示す。ステップS8010では、9000A、9000Bが示す補正変換により、拘束平面2000上に接するような図中の点9020の場所に移動させ、補正する。補正変換9000は、変換前の仮想物体2010Xが、仮想物体の重心位置から最短距離にある拘束形状2000に仮想物体の頂点9020のうち1つ以上の頂点が接するように配置する。
【0059】
まず、変換前の頂点9010の中で、拘束形状2000に侵入していて、かつ、拘束形状2000から一番離れている点9010Aを選ぶ。次に、選択した点9010Aを通り仮想物体2010が拘束平面2000に侵入した方向の逆方向の直線が拘束平面2000と交わる点9020Aを求める。次に、仮想物体2010Xを9010Aから9020Aに移動させる変換9000Aにより平行移動する。次に、移動後の仮想物体の三角形ポリゴンを構成する他方の頂点9010B’、9010C’のうち拘束平面2000との距離が閾値9040よりも内側にある9010C’を選択し、9020Aを回転中心として、9010C’が拘束平面2000に接するような回転変換9000Bを仮想物体2010Yにかける。もし、9010B’も閾値内に入るのであれば、9010C’と9010B’がそれぞれ拘束平面2000に接するような回転変換を仮想物体2010Yにかける。この閾値9040は、あらかじめユーザが登録してもよいし、ユーザが状況に応じて動的に決定してもよい。このようにして、拘束平面2000に接するように補正変換を行ったあとにステップS8020に移行する。
【0060】
ステップS8020では、仮想物体2010の受ける操作について拘束を加える。
【0061】
この拘束は、仮想物体の操作に対して、拘束平面の法線を軸とした回転と、拘束平面に平行な平行移動しか許さないものである。もし、仮想物体の操作によって、拘束平面に平行でない平行移動成分t(t,t,tが行われた場合は、平行移動成分のうち、拘束平面に平行でない成分を消去することにより、拘束の影響を与える。例えば、世界座標系で定義された平行移動変換を拘束平面上にXZ平面があるローカル座標系に変換行列TWLによって変換し、変換された平行移動成分のY成分に0を設定する。そして、変更を受けた平行移動成分を世界座標系からローカル座標系への逆変換行列(TWL−1によって変換することで、拘束平面上を移動する平行移動成分t’(t’,t’,t’が生成される。式(6)はこの計算式を表す。
【0062】
【外3】
Figure 0003944019
【0063】
この拘束は操作決定部4020の内部に格納される。操作決定部4020は再び、仮想物体が他の拘束平面2000内に侵入し、ターゲットとなる拘束平面が変更されるまでは仮想物体に対して同じ拘束を与える。
【0064】
この拘束が仮想物体2010の操作に加えられることにより、ユーザは、仮想物体の操作に対して拘束形状との接触、重力を視覚的に感じることになり、仮想物体2010の操作を直感的に行うことができる。
【0065】
<変形例1>
実施形態のステップS6010における数式モデル生成モジュールにおいては、点を入力することにより平面の数式モデルを算出していたが、本発明は、この方法に限るものではなく、2つの方向ベクトルを入力する方法により平面の数式モデルを算出することも可能である。図11は2つの方向ベクトルを利用した数式モデル生成モジュールS6010のフローチャートを表し、図12はこの数式モデル生成方法の様子を示す模式図である。この例を図11のフローチャートに従って説明する。
【0066】
まず、ステップSb000において、拘束平面2000に平行な直線を拘束形状入力部1060によって入力する。ここで拘束形状入力部1060は、図12のように、現実物体上の拘束平面2000と平行になるように置かなければならない。ここで拘束形状入力部1060の姿勢を図12に示すようにc0で定義すると、c0のX軸方向Aが拘束平面2000と平行になる。
【0067】
次に、ステップSb010において、方向ベクトルが2つ以上入力されるまでステップSb000に戻り、入力処理を続ける。ここで、図12のように、拘束形状入力部1060’の姿勢c0’のX軸方向Bを入力することで、ステップSb020に移る。
【0068】
次に、ステップSb202において、方向Aと方向Bの外積を計算することにより、2つの方向ベクトルを含む平面の法線を得られる。この2つの方向ベクトルが拘束平面2000と平行であることから、A×Bを法線とする平面も同じく、拘束平面2000に平行である。ここで、計測点と計測点から拘束平面2000へ垂線を降ろした点Pを通り、A×Bを法線とする平面が拘束平面となる。ここで、平面の式を
ax+by+cz+d=0 式(7)
とおくと、A×Bが法線であるので求められた法線ベクトルの各要素が(a、b、c)に対応することになる。これにより、法線の各要素の値と点Pを式(7)に代入することで定数dが得られる。これにより、拘束平面2000の数式が求められる。
【0069】
<変形例2>
実施形態で生成した拘束平面を用いて、複合現実空間における仮想物体の操作を補助する方法の変形例を説明する。この仮想物体の操作方法を図13、図14の模式図を用いて説明する。この操作方法の例における機器の構成は、先に述べた実施形態の構成と同じである。図13は、仮想物体を操作している状態の俯瞰図を表しており、図14は、ユーザが見ているMR画像を表している。この方法を用いることにより、ユーザが持つ仮想物体操作部1090が届く範囲よりも遠方にある仮想物体を直感的に操作することが可能である。
【0070】
まず、あらかじめ設定してある拘束平面2000上に仮想物体2010を配置する。この仮想物体2010は仮想物体操作部1090によって操作するが、仮想物体操作部1090は仮想物体2010に3次元的に接する必要は無く、ユーザが見るMR画像の奥行きを無視した2次元空間上で接触し、かつ仮想物体操作部1090に備えられたボタン(不図示)を押している場合に、画面上における仮想物体操作部1090の2次元位置d020と仮想物体2010の2次元位置が同期するような操作が仮想物体に対して行われる。ボタンを離した場合には、仮想物体2010と仮想物体操作部1090とは同期しなくなり、仮想物体の平行移動は終了する。この場合、ユーザが仮想物体操作部1090を6自由度操作しても、仮想物体2010に与えられる操作は拘束平面上の平行移動だけに拘束される。
【0071】
仮想物体操作部1090と仮想物体2010のMR画像上での接触を検出するためには、双方のMR画像上での2次元位置が必要となる。この2次元位置(P’,P’は、世界座標系上での双方の3次元位置(P,P,P(図13のd010、d030)を撮像部位置姿勢計測部1020によって求められた撮像部1010の位置姿勢から4x4の同次座標変換行列であるビューイング変換行列Mによってカメラ座標系に変換され、既知である4x3の同次座標変換行列であるプロジェクション行列Mによって画像座標系に2次元投影されることにより求められる。式(8)はこの計算式を表す。
【0072】
【外4】
Figure 0003944019
【0073】
さらに、2次元空間での平行移動を拘束平面と平行な3次元空間における平行移動に変換するためには、仮想物体操作部1090の2次元平面における始点d020と終点d020’を求め、それぞれをカメラ座標系の原点d040からカメラ座標系(3次元空間)における投影された2次元位置(d020、d020’)を通る直線と、カメラ座標系上の拘束平面2000との交点(d030、d030’)を求める。次に、拘束平面上における始点d030から終点d030’に向かうベクトルを平行移動量d050とし、この平行移動量d050をモデルビュー行列の逆行列M −1によって世界座標系における座標変換を行う。このようにして得られた世界座標系での平行移動量を用いて、仮想物体を移動させることで、MR画像上で仮想物体操作部1090と仮想物体2010が同期して操作することが可能となる。
【0074】
(他の実施形態)
前述した実施の形態の機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記実施の形態の機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)を格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【0075】
この場合、前記ソフトウエアのプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【0076】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピー(R)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることが出来る。
【0077】
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0078】
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【0079】
【発明の効果】
以上説明したように、本発明によれば、複合現実空間における仮想物体の操作方法を補助することにより、ユーザは従来の操作方法よりも直感的に仮想物体の操作を行うことが可能となる。
【図面の簡単な説明】
【図1】複合現実空間における仮想物体の操作補助装置を適用した実施形態における概略構成を示すブロック図である。
【図2】実施形態1における装置の構成を示す模式図である。
【図3】拘束形状生成部1080の内部の構成を示すブロック図である。
【図4】図4は操作補助部1100の構成を示すブロック図である。
【図5】実施形態1における処理の手順を示すフローチャートである。
【図6】ステップS5030の拘束形状の生成に関する詳細な処理手順を示すフローチャートである。
【図7】ステップS6010の拘束形状の数式モデル生成に関する詳細な処理手順を示すフローチャートである。
【図8】ステップS5060の拘束形状の数式モデル生成に関する詳細な処理手順を示すフローチャートである。
【図9】仮想物体2010Xが拘束形状2000Aに侵入している様子を示す模式図である。
【図10】現実空間上の拘束形状を入力する様子を示す模式図である。
【図11】変形例1における拘束形状の数式モデル生成に関する詳細な処理手順を示すフローチャートである。
【図12】変形例1における拘束形状の数式モデル生成方法の様子を示す模式図である。
【図13】仮想物体を操作している状態を左後方から見た俯瞰図を示す。
【図14】ユーザが見ている撮像部1010で撮像した画像と仮想画像を合成したMR画像の模式図を示す。

Claims (6)

  1. 3次元空間内に位置する仮想物体の位置および姿勢に関する操作を補助する情報処理装置であって、
    前記仮想物体を重畳するための現実空間の画像を撮像する撮像手段と、
    前記撮像された画像に前記仮想物体を合成する合成手段と、
    前記仮想物体の位置および姿勢の移動を行うために、現実空間においてユーザにより移動可能な操作手段と、
    前記ユーザが前記操作手段現実空間において移動することにより指示した複数の位置のそれぞれの3次元位置を得て、前記仮想物体の位置および姿勢の移動拘束する拘束形状を求める補助手段とを有し、
    前記仮想物体の位置および姿勢は、前記補助手段によって求められた拘束形状に基づく拘束条件のもとに、前記ユーザの前記操作手段の移動に基づいて移動されることを特徴とする情報処理装置。
  2. 前記拘束形状は、前記現実空間において指示された複数の位置のそれぞれの3次元位置を、頂点または構成要素とする面から構成される形状であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記操作手段を用いた、前記仮想物体の位置および姿勢の移動は、前記拘束形状に沿った平行移動、または拘束形状と前記仮想物体が接する面における法線を軸とする回転移動であることを特徴とする請求項1または2のいずれかに記載の情報処理装置。
  4. 3次元空間内に位置する仮想物体の位置および姿勢に関する操作を行う情報処理方法であって、
    現実空間において移動可能な操作手段を用いて、ユーザにより現実空間において指示された複数の位置のそれぞれの3次元位置を入力手段で入力する入力ステップと、
    前記入力ステップにより入力された前記複数の位置のそれぞれの3次元位置を用いて、生成手段により拘束形状を生成する生成ステップと、
    撮像手段により現実空間を撮像する撮像ステップと、
    前記撮像手段の位置および姿勢を取得する計測ステップと、
    前記撮像手段によって得られた現実空間の映像と、該撮像手段の位置および姿勢から推定される仮想物体の映像とを合成する合成ステップと、
    前記仮想物体の位置および姿勢の移動を、前記ユーザによる前記操作手段の移動に基づき行う操作ステップと、
    前記操作ステップにおいて前記仮想物体の位置および姿勢を移動するときに、前記拘束形状を拘束条件として前記仮想物体の位置および姿勢を変更する変更ステップとを有することを特徴とする情報処理方法。
  5. 請求項4に記載の情報処理方法をコンピュータ装置に実行させることを特徴とするコンピュータプログラム。
  6. 請求項5に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ装置読みとり可能な記憶媒体。
JP2002223282A 2002-07-31 2002-07-31 情報処理装置および方法 Expired - Fee Related JP3944019B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002223282A JP3944019B2 (ja) 2002-07-31 2002-07-31 情報処理装置および方法
US10/615,941 US7663649B2 (en) 2002-07-31 2003-07-10 Information processing device and method for aiding control operations relating to controlling the position and orientation of a virtual object and method for changing the positioning and orientation of a virtual object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002223282A JP3944019B2 (ja) 2002-07-31 2002-07-31 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP2004062758A JP2004062758A (ja) 2004-02-26
JP3944019B2 true JP3944019B2 (ja) 2007-07-11

Family

ID=31184959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002223282A Expired - Fee Related JP3944019B2 (ja) 2002-07-31 2002-07-31 情報処理装置および方法

Country Status (2)

Country Link
US (1) US7663649B2 (ja)
JP (1) JP3944019B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9007399B2 (en) 2010-08-31 2015-04-14 Canon Kabushiki Kaisha Information processing apparatus and method for generating image of virtual space

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4393169B2 (ja) * 2003-12-04 2010-01-06 キヤノン株式会社 複合現実感提示方法および装置
JP4522129B2 (ja) * 2004-03-31 2010-08-11 キヤノン株式会社 画像処理方法および画像処理装置
JP4522140B2 (ja) * 2004-05-14 2010-08-11 キヤノン株式会社 指標配置情報推定方法および情報処理装置
CN100345164C (zh) * 2004-05-14 2007-10-24 腾讯科技(深圳)有限公司 一种动态虚拟形象的合成方法
JP4687957B2 (ja) * 2005-03-29 2011-05-25 マツダ株式会社 車両企画支援システム
JP4738870B2 (ja) * 2005-04-08 2011-08-03 キヤノン株式会社 情報処理方法、情報処理装置および遠隔複合現実感共有装置
JP4847192B2 (ja) * 2006-04-14 2011-12-28 キヤノン株式会社 画像処理システム、画像処理装置、撮像装置、及びそれらの制御方法
US20070281106A1 (en) * 2006-05-30 2007-12-06 Applied Materials, Inc. Process chamber for dielectric gapfill
JP4901539B2 (ja) * 2007-03-07 2012-03-21 株式会社東芝 立体映像表示システム
JP4926826B2 (ja) * 2007-05-25 2012-05-09 キヤノン株式会社 情報処理方法および情報処理装置
WO2010085822A2 (en) * 2009-01-26 2010-07-29 Shotspotter, Inc. Systems and methods with improved three-dimensional source location processing including constraint of location solutions to a two-dimensional plane
EP2405393B1 (en) * 2009-03-04 2021-07-28 Nec Corporation Device, method and program for creating information for object position estimation
US20100309197A1 (en) * 2009-06-08 2010-12-09 Nvidia Corporation Interaction of stereoscopic objects with physical objects in viewing area
JP5374287B2 (ja) * 2009-09-15 2013-12-25 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
US8400471B2 (en) * 2010-03-08 2013-03-19 Empire Technology Development, Llc Interpretation of constrained objects in augmented reality
JP5496008B2 (ja) * 2010-08-06 2014-05-21 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP5769392B2 (ja) * 2010-08-26 2015-08-26 キヤノン株式会社 情報処理装置およびその方法
JP5652097B2 (ja) * 2010-10-01 2015-01-14 ソニー株式会社 画像処理装置、プログラム及び画像処理方法
JP5724543B2 (ja) * 2011-03-31 2015-05-27 ソニー株式会社 端末装置、オブジェクト制御方法及びプログラム
CN103108197A (zh) 2011-11-14 2013-05-15 辉达公司 一种用于3d视频无线显示的优先级压缩方法和系统
US9829715B2 (en) 2012-01-23 2017-11-28 Nvidia Corporation Eyewear device for transmitting signal and communication method thereof
EP2814000B1 (en) 2012-02-10 2019-07-03 Sony Corporation Image processing apparatus, image processing method, and program
JP5966510B2 (ja) * 2012-03-29 2016-08-10 ソニー株式会社 情報処理システム
US9135735B2 (en) 2012-06-26 2015-09-15 Qualcomm Incorporated Transitioning 3D space information to screen aligned information for video see through augmented reality
US9578224B2 (en) 2012-09-10 2017-02-21 Nvidia Corporation System and method for enhanced monoimaging
JP2014191718A (ja) * 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
JP6349307B2 (ja) 2013-04-24 2018-06-27 川崎重工業株式会社 ワーク加工作業支援システムおよびワーク加工方法
JP6138566B2 (ja) * 2013-04-24 2017-05-31 川崎重工業株式会社 部品取付作業支援システムおよび部品取付方法
JP6263917B2 (ja) * 2013-09-17 2018-01-24 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US10935788B2 (en) 2014-01-24 2021-03-02 Nvidia Corporation Hybrid virtual 3D rendering approach to stereovision
JP6417797B2 (ja) * 2014-09-03 2018-11-07 株式会社リコー 情報端末装置、情報処理方法、システムおよびプログラム
CN105608730A (zh) * 2014-10-28 2016-05-25 富泰华工业(深圳)有限公司 点云画笔选取系统及方法
JP6540108B2 (ja) * 2015-03-09 2019-07-10 富士通株式会社 画像生成方法、システム、装置、及び端末
CN105354820B (zh) * 2015-09-30 2018-05-22 深圳多新哆技术有限责任公司 调整虚拟现实图像的方法及装置
CN105224084B (zh) * 2015-09-30 2018-04-24 深圳多新哆技术有限责任公司 确定虚拟物件在虚拟空间中位置的方法及装置
US9906981B2 (en) 2016-02-25 2018-02-27 Nvidia Corporation Method and system for dynamic regulation and control of Wi-Fi scans
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
US10902680B2 (en) * 2018-04-03 2021-01-26 Saeed Eslami Augmented reality application system and method
EP3640767B1 (de) * 2018-10-17 2024-09-11 Siemens Schweiz AG Verfahren zum bestimmen mindestens eines bereichs in mindestens einem eingabemodell für mindestens ein zu platzierendes element
CN111901518B (zh) * 2020-06-23 2022-05-17 维沃移动通信有限公司 显示方法、装置和电子设备
JPWO2024262380A1 (ja) * 2023-06-22 2024-12-26

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552722B1 (en) * 1998-07-17 2003-04-22 Sensable Technologies, Inc. Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US6421048B1 (en) * 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
US7084887B1 (en) * 1999-06-11 2006-08-01 Canon Kabushiki Kaisha Marker layout method, mixed reality apparatus, and mixed reality space image generation method
EP1373967A2 (en) * 2000-06-06 2004-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. The extended virtual table: an optical extension for table-like projection systems
US7176936B2 (en) * 2001-03-27 2007-02-13 Siemens Corporate Research, Inc. Augmented reality guided instrument positioning with modulated guiding graphics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9007399B2 (en) 2010-08-31 2015-04-14 Canon Kabushiki Kaisha Information processing apparatus and method for generating image of virtual space

Also Published As

Publication number Publication date
JP2004062758A (ja) 2004-02-26
US20040021664A1 (en) 2004-02-05
US7663649B2 (en) 2010-02-16

Similar Documents

Publication Publication Date Title
JP3944019B2 (ja) 情報処理装置および方法
JP4708752B2 (ja) 情報処理方法および装置
JP5709440B2 (ja) 情報処理装置、情報処理方法
JP4533087B2 (ja) 画像処理方法、画像処理装置
CN101164084B (zh) 图像处理方法和图像处理设备
JP5472056B2 (ja) 表示システム、表示処理装置、表示方法、および表示プログラム
US7123214B2 (en) Information processing method and apparatus
CN102449577A (zh) 虚拟桌面坐标变换
JP7182976B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20150085797A (ko) 정보처리장치 및 정보처리방법
JP7451084B2 (ja) 情報処理装置および情報処理方法
JP2019008623A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP4677281B2 (ja) 画像処理方法、画像処理装置
JP6503098B1 (ja) 画像処理装置、画像処理プログラム及び画像処理方法
JP2009087161A (ja) 画像処理装置、画像処理方法
JP2005107972A (ja) 複合現実感提示方法、複合現実感提示装置
JP6581348B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006085375A (ja) 画像処理方法、画像処理装置
JP7401245B2 (ja) 画像合成装置、画像合成装置の制御方法およびプログラム
JP2005165665A (ja) 仮想物体の操作補助装置、方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP7760355B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2005251118A (ja) 画像処理方法、画像処理装置
JP2021058979A (ja) ロボットアーム試験装置
CN113961068B (zh) 一种基于增强现实头盔的近距离实物眼动交互方法
JP4689344B2 (ja) 情報処理方法、情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees