JP4356983B2 - 画像処理方法、画像処理装置 - Google Patents

画像処理方法、画像処理装置 Download PDF

Info

Publication number
JP4356983B2
JP4356983B2 JP2004033728A JP2004033728A JP4356983B2 JP 4356983 B2 JP4356983 B2 JP 4356983B2 JP 2004033728 A JP2004033728 A JP 2004033728A JP 2004033728 A JP2004033728 A JP 2004033728A JP 4356983 B2 JP4356983 B2 JP 4356983B2
Authority
JP
Japan
Prior art keywords
virtual
real
image
space
stylus
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
JP2004033728A
Other languages
English (en)
Other versions
JP2005227876A (ja
JP2005227876A5 (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 JP2004033728A priority Critical patent/JP4356983B2/ja
Priority to US11/044,555 priority patent/US20050174361A1/en
Publication of JP2005227876A publication Critical patent/JP2005227876A/ja
Publication of JP2005227876A5 publication Critical patent/JP2005227876A5/ja
Application granted granted Critical
Publication of JP4356983B2 publication Critical patent/JP4356983B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Description

本発明は、現実空間に、仮想空間の画像を重畳させて表示する為の技術に関するものである。
現実空間と仮想空間とを違和感なく自然に結合する複合現実感(MR:Mixed Reality)の技術を応用した装置が盛んに提案されている。これらの複合現実感提示装置は、カメラなどの撮像装置によって撮影した現実空間の画像に対し、コンピュータグラフィックス(CG:Computer Graphics)で描画した仮想空間の画像を結合し、ヘッドマウントディスプレイ(HMD:Head−Mounted Display)などの表示装置に表示することで、現実空間と仮想空間とが融合された複合現実空間を複合現実感装置のユーザに提示している。
また近年、3次元CAD(Computer Aided Design)やラピッド・プロトタイピング技術の発達により、コンピュータ上のCADで作成した形状モデルデータから、実物のモックアップを比較的短時間で、自動的に作成できるようになっている。
しかし、ラピッド・プロトタイピング造形装置で作成した現実のモックアップモデル(以下、現実モデルと表記する)は、形状こそCADで作成した形状モデル(以下、仮想モデルと表記する)と同一であるが、材質については、造形に用いる素材に制約される。そのため、この現実モデルでは、色や質感、模様などの特性については、仮想モデルを反映していない。そこで、複合現実感装置を用いて、現実モデルを作成した元の仮想モデルをCGで描画し、現実モデルに重畳してユーザに表示することによって、仮想モデルの色や質感、模様などの特性を現実モデルに反映させることができる。
このような複合現実感装置において要求されるのは、仮想空間に表示する仮想モデルを、現実空間中に存在する現実モデルに正確に一致させた状態で表示することである。この場合、CADで作成した仮想モデルから現実モデルが作成されるため、形状・大きさについては両モデルは同一であると言える。しかし、複合現実空間で両モデルを一致させるためには、現実空間と仮想空間との整合を正確に行うことに加え、現実モデルが存在する現実空間中での位置・姿勢と、仮想モデルを配置する仮想空間中での位置・姿勢とを正確に一致させなければならない。すなわち、まず、現実空間の座標系と仮想空間の座標系を完全に一致させ、その後に、現実モデルと仮想モデルが存在する座標を一致させる必要がある。
前者については、従来から多くの取り組みが行われており、特許文献1,2などが示している方法で、現実空間と仮想空間とを正確に整合させるための位置合わせを実現することができる。
後者については、従来、現実モデルの位置・姿勢をあらかじめ何らかの方法で測定し、仮想モデルを配置する位置・姿勢にもその測定値を設定することが行われてきた。
現実モデルの位置・姿勢を測定する方法には、3次元位置姿勢センサなどの計測装置を用いる方法や、現実モデルに3次元位置が既知であるマーカを複数貼り、カメラなどの撮像装置で現実モデルを撮影した画像から、画像処理によりマーカを抽出して、マーカが抽出されたマーカの画像座標と3次元位置との対応から現実モデルの位置・姿勢を算出する方法が知られている。
特開2002−229730号公報 特開2003−269913号公報
しかし、上記いずれの方法においても、測定した現実モデルの位置・姿勢をそのまま仮想モデルに適用するだけでは、現実モデルと仮想モデルとを厳密に一致させることは困難である。計測装置を用いる方法では、仮想モデルの表面上のある1点について、対応する現実モデルの点の位置を正確に測定しなければならない。しかし、仮想モデル上の点に対応する現実モデルの点を見つけることは難しい。
また、画像処理による方法では、まず、画像処理で抽出可能なマーカを用意し、貼ったマーカの3次元位置を正確に測定しなければならない。この3次元位置の精度が、最終的に算出する位置・姿勢の精度に大きく影響する。また、マーカの抽出精度も照明環境などに大きく左右される。
また、現実モデルにセンサを設置することが不可能であったり、マーカを貼り付けることが許されないような場合、現実モデルの位置・姿勢を正確に測定することはほぼ不可能である。
現実モデルの位置・姿勢を直接測定することが困難である場合には、逆に、仮想モデルの位置・姿勢をあらかじめ規定しておき、その位置・姿勢に現実モデルを設置する方法が採られる。しかし、この方法においても、配置した現実モデルの位置・姿勢に誤差が生じることが多い。そのため、現実モデルを大まかに配置した後で、仮想モデルの位置・姿勢を微調整することによって、最終的に現実モデルと仮想モデルを一致させる方法も考えられる。
しかし、一般的な複合現実感システムでは、仮想空間の画像は、現実空間の画像の上に重畳して表示される。そのため、システムのユーザには、常に現実モデルの手前に仮想モデルが存在するように観測され、現実モデルと仮想モデルとの間の位置関係を把握することは困難である。とりわけ、仮想モデルの位置・姿勢を微調整するためには、両者の正確な位置関係を把握する必要があるため、大きな障害となっていた。
本発明は以上の問題に鑑みてなされたものであり、複合現実感装置において、形状・大きさが同一である現実モデルと仮想モデルとを正確に一致させる為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
すなわち、現実空間に、仮想空間の画像を重畳させて表示する画像処理装置が行う画像処理方法であって、
検出手段が、前記現実空間で、ユーザがスタイラスを操作することにより指示した前記現実空間における現実物体の表面位置を検出する検出工程と、
変換手段が、前記検出工程で検出した前記表面位置を、対応する前記仮想空間内の位置に変換する変換工程と、
配置手段が、前記変換工程で変換された前記仮想空間内の位置に、仮想指標を配置する配置工程と、
制御手段が、前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に、前記検出工程、前記変換工程、前記配置工程を実行する制御工程と、
前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に前記制御工程で前記検出工程、前記変換工程、前記配置工程を実行して配置した複数の仮想指標を含む仮想空間の画像を、前記現実空間に重畳させて表示手段が表示する表示工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
すなわち、現実空間に、仮想空間の画像を重畳させて表示する画像処理装置であって、
前記現実空間で、ユーザがスタイラスを操作することにより指示した前記現実空間における現実物体の表面位置を検出する検出手段と、
前記検出手段で検出した前記表面位置を、対応する前記仮想空間内の位置に変換する変換手段と、
前記変換手段で変換された前記仮想空間内の位置に、仮想指標を配置する配置手段と、
前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に、前記検出手段、前記変換手段、前記配置手段を動作させる制御手段と、
前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に前記制御手段で前記検出手段、前記変換手段、前記配置手段を動作させて配置した複数の仮想指標を含む仮想空間の画像を、前記現実空間に重畳させて表示する表示手段と
を備えることを特徴とする。
本発明の構成により、形状・大きさが同一である現実モデルと仮想モデルとを正確に一致させる為の技術を提供することができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係る複合現実感提示システムの基本構成を示すブロック図である。
図1において、演算処理部100は、PC(パーソナルコンピュータ)やWS(ワークステーション)などのコンピュータにより構成されている。演算処理部100はその内部にCPU101、RAM102、画像出力装置103、システムバス104、ディスク装置105、入力装置106、画像入力装置107を備える。
CPU101は、RAM102にロードされたプログラムやデータを用いて演算装置100全体の制御を行うとともに、複合現実空間の画像を生成して提示するための各処理等を行う。CPU101はシステムバス104に接続され、RAM102、画像出力装置103、ディスク装置105、入力装置106、画像入力装置107と相互に通信することが可能である。
RAM102は、メモリ等の主記憶装置によって実現される。RAM102は、システムバス104を介して、ディスク装置105からロードされたプログラムやデータ、プログラムの制御情報、画像入力装置107から入力した現実空間の画像データ等を格納するためのエリアを備えるとともに、CPU101が各種の処理を行う際に必要とするワークエリアを備える。
RAM102に入力されるデータには例えば、仮想空間における仮想物体(CGモデル)やその配置等に係る仮想空間データ、センサ計測値、センサ較正データ等がある。仮想空間データには、仮想空間中に配置する仮想物体や後述の仮想指標の画像に関するデータ、またその配置に関するデータ等が含まれる。
画像出力装置103は、グラフィックスカードなどの機器によって実現される。一般的に、画像出力装置103は図示しないグラフィックスメモリを保持している。CPU101によってプログラムを実行することで生成された画像情報は、システムバス104を介して、画像出力装置103が保持するグラフィックスメモリに書き込まれる。画像出力装置103は、グラフィックスメモリに書き込まれた画像情報を適切な画像信号に変換して表示装置201に送出する。グラフィックスメモリは必ずしも画像出力装置103が保持する必要はなく、RAM102内の一部のエリアによってグラフィックスメモリの機能を実現してもよい。
システムバス104は、演算処理部100を構成する各機器が接続され、各機器が相互に通信するための通信路である。
ディスク装置105は、ハードディスク等の補助記憶装置によって実現される。ディスク装置105は、CPU101に各種の処理を実行させるためのプログラムやデータ、プログラムの制御情報、仮想空間データ、センサ較正データなどを保持しており、これらは必要に応じてCPU101の制御により、RAM102にロードされる。
入力装置106は、各種インタフェース機器によって実現される。すなわち演算処理部100に接続された機器からの信号をデータとして入力し、システムバス104を介して、CPU101やRAM102に入力する。また、入力装置106はキーボードやマウスなどの機器を備え、CPU101に対するユーザからの各種の指示を受け付ける。
画像入力装置107は、キャプチャカードなどの機器によって実現される。すなわち撮像装置302から送出される現実空間の画像を入力し、システムバス104を介して、RAM102に画像データを書き込む。なお、後述する頭部装着部200が光学シースルー方式のものである場合(撮像装置202が備わっていない場合)には、画像入力装置107は具備しなくてもよい。
頭部装着部200は、所謂HMD本体であって、周知の通り、複合現実空間を体感するユーザの頭部に装着するためのもので、その装着の際、表示装置201がユーザの眼前に位置するように装着する。頭部装着部200は表示装置201、撮像装置202、センサ301から構成される。本実施形態では、頭部装着部200を構成する装置をユーザが装着しているが、ユーザが複合現実空間を体験できる形態であれば、頭部装着部200は必ずしもユーザが装着する必要はない。
表示装置201は、ビデオシースルー型HMDに備わっているディスプレイに相当するもので、画像出力装置103から送出される画像信号に従った画像を表示する。上述の通り、表示装置201は頭部装着部200を頭部に装着したユーザの眼前に位置しているので、この表示装置201に画像を表示することで、この画像をユーザに提供することができる。
なお、ユーザに画像を提供するためにはこれ以外にも考えられ、例えば演算処理部100に据え置き型の表示装置を接続し、この表示装置に画像出力装置103から送出される画像信号を出力させ、ユーザにこの画像信号に従った画像を見せるようにしても良い。
撮像装置202は、CCDカメラなどの1つ以上の撮像装置によって実現される。撮像装置202はユーザの視点(例えば目)から見た現実空間の画像を撮像するために用いられる。そのため、撮像装置202はユーザの視点の位置に近い場所に装着することが望ましいが、ユーザの視点から見た画像が取得できる手段であれば、これに限定されない。撮像装置202が撮像した現実空間の画像は画像信号として画像入力装置107に送出される。なお、表示装置201に光学シースルー型の表示装置を用いる場合には、ユーザは表示装置201を透過する現実空間を直接観察することになるため、撮像装置202は具備しなくてもよい。
センサ301は6自由度の位置姿勢計測装置として機能するものであり、ユーザの視点の位置姿勢を計測するためのものである。センサ301はセンサ制御装置303による制御に基づいて計測処理を行う。センサ301は計測した結果をセンサ制御装置303に信号として出力する。センサ制御装置303は受けた信号に基づいて、計測した結果を数値データとして演算処理部100の入力装置106に出力する。
スタイラス302は、ペンに似た形状をしたセンサであり、ユーザが手に持って使用する。図2はスタイラス302の形状および構成を示す図である。スタイラス302は、センサ制御装置303の制御により、先端部305の位置姿勢を計測し、その計測結果を信号としてセンサ制御装置303に送出する。以下では先端部305の位置姿勢をスタイラス302の位置姿勢と表記する。
また、スタイラス302には押しボタンスイッチ304が1つ以上取り付けられている。押しボタンスイッチ304が押下されたときには、押下されたことを示す信号がセンサ制御装置303へ送出される。なお、複数のスイッチ304が1つのスタイラス302に備わっている場合には、どのボタンが押下されたのかを示す信号がスタイラス302からセンサ制御装置303に送出される。
センサ制御装置303は、センサ301、スタイラス302に制御命令を送出し、また、センサ301、スタイラス302から位置姿勢の計測値や押しボタンスイッチ304の押下に係る情報を取得する。取得した情報は入力装置106に送出する。
本実施形態では、頭部装着部200を頭部に装着しているユーザはスタイラス302を手に持ち、スタイラス302で現実モデルの表面に触れるようにして用いる。ここで現実モデルとは、現実空間に実在する物体のことである。
図3はスタイラス302で現実モデルの表面に触れる様子を示した図である。ここで、現実モデル401はその形状がすでにモデリングされており、現実モデル401と同一形状かつ同一サイズの仮想モデルが得られている。図4は現実モデル401をモデリングすることで得られる仮想モデル402を、現実モデル401と並べて示した図である。
同一形状かつ同一サイズの現実モデル401と仮想モデル402を用意する方法としては、例えば、CADツールなどで仮想モデル402のモデリングを行った後、ラピッド・プロトタイピング造形装置などを用いることによって、仮想モデル402から現実モデル401を作成する方法がある。また、現実に存在する現実モデル401を3次元物体モデリング装置などで計測し、現実モデル401から仮想モデル402を作成する方法がある。
いずれにせよ、このような仮想モデルのデータは、上記仮想空間データに含められてディスク装置105に保存されており、必要に応じてRAM102にロードされている。
以上の構成を備える、本実施形態に係るシステムの基本的な動作について説明する。以下の処理を開始する前段では先ず、現実空間と仮想空間とを整合させる必要がある。そのためには、システムを起動する前にあらかじめ較正を行い、センサ較正情報を求めておく必要がある。求めるセンサ較正情報は、現実空間座標系と仮想空間座標系との間の3次元座標変換、及びユーザの視点位置姿勢とセンサ301が計測する位置姿勢との間の3次元座標変換である。このような較正情報は予め求めておき、RAM102に記憶させておく。
なお、特開2002−229730号公報、特開2003−269913号公報には、これらの変換パラメータを求め、センサ較正を行う方法について説明されている。本実施形態においても従来と同様にして、較正情報を用いて、センサ301から得られる位置姿勢情報をユーザの視点の位置姿勢に変換したり、仮想空間における位置姿勢を現実空間における位置姿勢に変換したりする。
システムが起動すると、撮像装置202は現実空間の動画像を撮像し、撮像した動画像を構成する各フレームのデータは演算処理部100の画像入力装置107を介してRAM102に入力される。
一方、センサ301により計測された結果はセンサ制御装置303により演算処理部100の入力装置107を介してRAM102に入力されるので、CPU101はこの結果から上記較正情報を用いた周知の計算によりユーザの視点位置姿勢を求め、求めた視点位置姿勢に応じて見える仮想空間の画像を周知の技術により生成する。なお、RAM102には仮想空間を描画するためのデータが予めロードされているので、仮想空間の画像を生成する際には、このデータが用いられる。なお、所定の視点から見える仮想空間の画像を生成する処理については周知の技術であるので、ここでの説明は省略する。
このような処理により生成される仮想空間の画像は、先にRAM102に入力された現実空間の画像上にレンダリングする。これにより、RAM102上には現実空間の画像に仮想空間の画像を重畳させた画像(複合現実空間画像)が生成される。
そしてCPU101はこの複合現実空間画像を画像出力装置103を介して頭部装着部200の表示装置201に出力する。これにより、頭部装着部200を頭部に装着するユーザの眼前には複合現実空間画像が表示されるので、このユーザは複合現実空間を体感することができる。
本実施形態では、現実空間の画像には現実モデル401、スタイラス302が含まれており、仮想空間の画像には仮想モデル402、後述のスタイラス仮想指標が含まれている。このような現実空間の画像にこのような仮想空間の画像を重畳させた複合現実空間画像が表示装置201に表示される。図5は表示装置201に表示される複合現実空間画像の一例を示す図である。
図5において、スタイラス仮想指標403は、スタイラス302の先端部305の位置に重畳して描画されるCGであり、先端部305の位置姿勢を示している。先端部305の位置姿勢は、スタイラス302により計測されたものを上記較正情報でもって変換したものである。従ってスタイラス仮想指標403は、スタイラス302により計測された位置に、スタイラス302により計測された姿勢でもって配置されることになる。
ここで、現実空間と仮想空間とが正確に整合している状態では、先端部305の位置とスタイラス仮想指標403の位置とは正確に一致する。よって、できるだけ先端部305に近い位置にスタイラス仮想指標403を配置させるために、現実空間と仮想空間を整合させる、すなわち、上述の通り、上記較正情報を求めておく必要がある。
一般的な複合現実感システムでは、CGは常に現実空間の画像上に表示されるため、先端部305が仮想モデル402に遮蔽されて観測できないような場合が生じるが、以上の処理により、ユーザは、スタイラス仮想指標403によって、先端部305の位置を把握することができる。
図5ではスタイラス仮想指標403は三角形の形状をしているが、先端部305の位置姿勢を表現できる形状であれば、いかなる形状でもよい。例えば、スタイラス302の姿勢を用いて、先端部305からスタイラス302の軸方向に仮想の光線を出すことで、先端部305と仮想モデル402との位置関係を把握しやすくしてもよい。この場合には、仮想の光線がスタイラス仮想指標403となる。
ユーザは手に持っているスタイラス302の先端部305が現実モデル401の表面に触れたときに、押しボタンスイッチ304を押すことができる。ここで、ユーザが押しボタンスイッチ304を押すと、スタイラス302からセンサ制御装置303を介して「押しボタンスイッチ304が押下された旨を示す信号」が入力装置107に送出されるので、CPU101はこの信号を検知すると、検知時にスタイラス302から得られた位置を上記較正情報を用いて仮想空間中の位置に変換し、変換した位置にマーカとしての仮想指標を配置する。この配置位置は換言すれば、スイッチ304が押下されたときのスタイラス仮想指標403が配置されている位置に相当する。
なお、スタイラス302の先端部305に圧電素子などの圧力センサを設け、この圧力センサが先端部305が現実モデル401の表面に接触したことを検知し、その旨の信号をセンサ制御装置303を介してCPU101に通知し、CPU101がこの通知を受けると上記マーカを表示させるようにしてもよい。この場合、押しボタンスイッチ304は不要となる。
このように、先端部305が現実モデル401の表面に接触したことをCPU101に通知する手段については様々な形態が考えられ、特に限定するものではない。
図6は図5に示した画面においてマーカが表示された場合の画面の表示例を示す図である。マーカ404は先端部305が現実モデル401の表面に触れたときに表示されるため、マーカ404は常に現実モデル401の表面上に存在する。すなわち、マーカ404は、仮想空間において、現実モデル401の表面の位置を示している。このマーカ404を適当な間隔で数多く取ることによって、仮想空間上で現実モデル401の形状を把握することができる。
図7はマーカ404を数多く配置した場合の複合現実空間画像を示す図である。
一般的な複合現実感システムでは、CGは常に現実空間の画像上に表示されるため、仮想モデル402が現実モデル401に遮蔽されて観測できないような場合が生じる。とりわけ、現実モデル401と仮想モデル402との大まかな位置合わせがなされている状態から、さらに微調整を行うような場合に、仮想モデル402が現実モデル401に遮蔽されて観測できないようでは、現実モデル401と仮想モデル402との位置関係を把握することは困難である。
しかし、以上の処理により、スタイラス302が接触した現実モデル401の表面位置に対応する仮想空間中の位置には、マーカが表示され、且つこのマーカは仮想物体であるので現実物体に隠蔽されることなくユーザに提示することができる。
図8は、以上説明した、本実施形態に係るシステムが行う、複合現実空間画像を生成して表示させるための処理のフローチャートである。なお、同図のフローチャートに従ったプログラムは、ディスク装置105内に保存されており、CPU101の制御によってRAM102にロードされる。そしてCPU101がこのプログラムを実行することで、本実施形態に係る演算処理部100は、以下説明する各種の処理を実行する。
まず、ステップS1010では、システムの起動するために必要な初期化を行う。必要な初期化には、構成機器の初期化処理、仮想空間データやセンサ較正情報など以下の処理で用いられるデータ群をディスク装置105からRAM102に読み出す処理が含まれる。
次に、ステップS1020からステップS1060までの処理については、複合現実空間画像を生成する為に必要な一連の処理過程であり、ステップS1020からステップS1060までの処理をまとめてフレームと呼ぶ。フレームに対する処理を1回実施するとき、これを1フレームと呼ぶ。すなわち、ステップS1020からステップS1060までの処理を1回実行することを「1フレーム」と呼ぶ。なお、フレーム内の処理の一部について、以下の条件が満たされる限りにおいては、フレーム内の処理の順序を変更してもよい。
すなわち、ステップS1040の処理はステップS1030の処理の後に行われなければならない。ステップS1050の処理はステップS1020の処理の後に行われなければならない。ステップS1060の処理はステップS1050の処理の後に行われなければならない。ステップS1060の処理はステップS1040の処理の後に行われなければならない。
ステップS1020では、画像入力装置107が、撮像装置202が撮影した現実空間の画像(実写画像)を入力し、RAM102に書き込む。この現実空間の画像は上述の通り、ユーザの視点から見える現実空間の画像である。
ステップS1030では、入力装置106は、センサ計測部300が出力した計測値を取得する。CPU101は、取得した計測値を、上記較正情報を用いて、ユーザの視点の位置姿勢に変換し、RAM102に書き込む。また、スタイラス302の計測値も取得し、上記較正情報を用いて適切な位置姿勢に変換し、RAM102に書き込む。
また、ステップS1030では、ユーザからの操作情報についても入力装置107に入力し、RAM102に書き込む。ここでいう操作情報とは、スタイラス302の押しボタンスイッチ304が押されたか否かを示す情報、入力装置106が備えるキーボード、マウス等の入力機器に対する入力情報である。
更にステップS1030では、CPU101は上記操作情報を解釈する。例えば、キーボードのある特定のキーについて、「仮想空間に係るデータをディスク装置105に保存する」、「仮想モデル402をX軸正方向に0.1移動させる」などのように、あらかじめ規定の機能を割り当てておき、ユーザが該当するキーを押下したときに、CPU101は割り当てられた機能を以降の処理で実行すると解釈する。
次に、ステップS1040では、ステップS1030で解釈した内容に基づいて仮想空間を更新する。仮想空間の更新には、以下の処理が含まれる。
ステップS1030において、押しボタンスイッチ304が押されたと判断された場合には、CPU101は、マーカ404を、このときにスタイラス302により計測された位置を上記較正情報を用いて変換した仮想空間中の位置に配置する。当然、これによりRAM102に保持している仮想空間の状態は更新される。
一方、ステップS1030において、「仮想モデル402の位置姿勢の変更」に該当する操作が行われたと判断された場合には、CPU101は、仮想空間データに含まれる仮想モデル402の位置姿勢のデータを、変更指示に従って変更する。当然、これによりRAM102に保持している仮想空間の状態は更新される。
また、ステップS1030において、「仮想空間の保存」に該当する操作が行われたと判断された場合には、CPU101は、RAM102上に保持している仮想空間データをディスク装置105に出力する。
このように、ステップS1040では、ステップS1030で入力された各種の情報に応じて仮想空間の状態を変更したり、そのデータを保存したりするが、ステップS1040における更新処理はこれのみに基づくものではなく、その他にも例えば、動的に仮想空間中の仮想物体がその位置や姿勢を変更する場合(当然、そのためのプログラムがRAM102にロードされており、CPU101がこれを実行することによりなされる)にも、仮想空間の状態は更新される。
以上のようにして更新された仮想空間に係るデータはRAM102に一時的に記憶されている。
図8に戻って、次にステップS1050では、ステップS1020でRAM102に書き込んだ現実空間の画像はCPU101により読み出され、画像出力装置103(のグラフィックスメモリ)に出力され、そこで格納される。なお、表示装置201に光学シースルー型の表示装置を用いる場合には、ステップS1050の処理は行わなくてもよい。
次に、ステップS1060では、CPU101は、ステップS1030で取得された計測値およびステップS1050において更新した仮想空間データを用いて、周知の技術により、ユーザの視点位置姿勢に応じて見える仮想空間の画像をRAM102上にレンダリングし、レンダリング後、レンダリング済みの画像を画像出力装置103(のグラフィックスメモリ)に出力する。
レンダリングされた仮想空間の画像には当然、上記スタイラス仮想指標403のCG、及びマーカ404も含まれているのであるが、スタイラス仮想指標403をレンダリングする際には、仮想空間画像上で、先端部305の位置姿勢に応じた位置姿勢でもってレンダリングする。
マーカ404のレンダリングについては、他の仮想物体のレンダリングと同様であって、仮想空間中に配置したマーカをユーザの視点位置姿勢でもって見える画像をレンダリングすることによりなされる。
このようにして仮想空間の画像は画像出力装置103のレンダリングメモリに出力されるのであるが、このレンダリングメモリには先にステップS1050で、現実空間の画像が格納されているので、仮想空間の画像はこの現実空間の画像上にレンダリングされる。従って結果としてレンダリングメモリには、現実空間に仮想空間の画像が重畳された画像、すなわち、複合現実空間の画像が生成される。
そしてステップS1060では更に、CPU101の制御により、画像出力装置103のレンダリングメモリに生成された複合現実空間の画像を頭部装着部200の表示装置201に出力する処理を行う。なお、表示装置201に光学シースルー型の表示装置を用いる場合には、ステップS1050において現実空間の画像の画像出力装置103のレンダリングメモリへの出力処理は行っていないので、画像出力装置103は仮想空間の画像のみを表示装置201に出力する。
これにより、ユーザの眼前に位置する表示装置201には、図5〜7に示す如く、現実空間に仮想空間の画像が重畳されており、且つこの画像上の、スタイラス302が現実物体と接触した位置にはマーカ404が表示されているので、ユーザは複合現実空間を体感できるとともに、現実物体の形状やサイズなど、現実物体に係る視覚的情報が現実モデル401による隠蔽なしに確認することができる。
そして以上のステップS1010からステップS1060までの処理を終了する旨の指示が入力装置107から入力されたことをCPU101が検知しない限りは、処理をステップS1070からステップS1020に戻し、以降の処理を繰り返す。
通常、1フレームの処理は数ミリ秒から数100ミリ秒程度以内に行われる。ユーザが自身の視点の位置姿勢を変更する、押しボタンスイッチ302を押す、仮想モデル402の位置姿勢を変更する、などの操作を行った場合、その操作は即時実行され、実行結果は表示装置201にリアルタイムで反映される。
そのため、仮想モデル402の位置姿勢を決定するときにも、ユーザは実際に仮想モデル402の位置姿勢の値を変化させ、その結果を確認しながら、現実モデル401の位置姿勢に近づけるように、繰り返し調整を行うことができる。
なお、本実施形態では、現実モデル401の形状を現実モデル401に隠蔽されることなくユーザに把握させるために、マーカ404を表示することが1つの特徴であるため、場合によっては仮想モデル402の表示は行わないようにしても良い。その場合、仮想モデル402の位置姿勢を微調整する際に、ユーザは入力装置107を用いてCPU101に指示を入力し、仮想モデル402を表示させる。
[第2実施形態]
本実施形態に係るシステムの構成については第1の実施形態と同じ、すなわち、図1に示した構成を備えるが、スタイラス302については、本実施形態ではスイッチ304に加え、先端部305に圧電素子などの圧力センサを設けている。すなわち本実施形態に係るスタイラス302は、先端部305が現実モデル401の表面に接触したか否かを信号でもってCPU101に通知することができる。
本実施形態では、ユーザは、スタイラス302を用いて、仮想モデル402の位置姿勢を変化させ、仮想モデル402を現実モデル401に一致させるように調整することができる。なお、本実施形態に係る演算処理部100のCPU101が実行する処理のフローチャートは図8に示したフローチャートに従ったものであるが、スタイラス302の先端部305が現実モデル401の表面に触れたときに(スタイラス302から(より具体的には圧力センサから)、先端部305が現実モデル401の表面に接触したことを示す信号がCPU101に通知され、CPU101がこれを検知したときに)、ユーザが押しボタンスイッチ304を押すと、ステップS1040において、以下の処理が行われる点が第1の実施形態とは異なる。
まず、ステップS1030において取得されるスタイラス302の先端部305の位置と仮想モデル402の形状データを参照し、仮想モデル402を構成する面の中で、先端部305の位置との距離が最小になる面を選ぶ。例えば仮想モデル402がポリゴンなどの面でもって形成されている場合には、先端部305との距離が最も小さいポリゴンを選択すれば良い。なお、面に相当するのはポリゴンに限定するものではなく、仮想モデル402を構成する所定サイズの要素であればよい。
以下では、先端部305を表す点をP、先端部305との距離が最小となる面をS、PとSの距離をdとして表記する。
次に、仮想モデル402の位置を、距離dが0になるように(距離dを減少させる方向に)、ある特定の軸Aに沿って移動させる。この軸Aは、ステップS1030において取得されるスタイラス302の姿勢を方向ベクトルとする直線とする。
図9は仮想モデル402を軸Aに沿って移動させる様子を示す図である。なお、本実施形態では、スタイラス302の方向を軸Aとして定めたが、面Sの法線を軸Aと定めてもよい。その場合、仮想モデル402を構成する各面の法線は、仮想空間データ中の、この仮想モデル402を描画するためのデータの一部として含められているので、このデータを参照することで、面Sの法線は取得可能である。
以上の処理により、ユーザがスタイラス302の先端部305を現実物体401の表面上に接触させた状態でスイッチ304を押下すると、仮想モデル402が上記軸Aに沿って移動し、現実モデル401と点Pにおいて接触する。
この処理によって仮想モデル402の位置が現実モデル401と一致しない場合は、ユーザは、また別の点Pをスタイラス302で触れ、押しボタンスイッチ304を押す。このように複数のフレームで点Pを定め、同様の処理を繰り返し行うことにより、仮想モデル402の位置を位置現実モデル401に近づけてゆくことができる。
図10〜図13には、このようにして仮想モデル402の位置を現実モデル401に近づけてゆく様子が示されている。図10〜図13の中で、灰色で示される立方体が現実モデル401、波線で示される立方体が仮想モデル402である。図中の星印が点Pを示す。
図10では、現実モデル401の右側面の星印を点Pと定め、仮想モデル402を右方向に移動させている様子を示している。図11は仮想モデル402を右方向に移動させた結果について示している。
図12では、現実モデル401の上面の星印を点Pと定め、仮想モデル402を下方向に移動させている様子を示している。図13は仮想モデル402を下方向に移動させ、仮想モデル402の位置が現実モデル401に一致した結果について示している。
スタイラス302の先端部305が現実モデル401の表面に触れていないときに(スタイラス302から(より具体的には圧力センサから)、先端部305が現実モデル401の表面に接触していないことを示す信号がCPU101に通知され、CPU101がこれを検知したときに)、ユーザが押しボタンスイッチ304を押すと、スタイラス302の先端部305の現在の姿勢と1つ前のフレームでの姿勢との差分を計算し、その差分を仮想モデル402の姿勢に加算し、姿勢を変更する。
これにより、ユーザが、スタイラス302の先端部305が現実モデル401の表面に触れていない状態で押しボタンスイッチ304を押しながら、スタイラス302の姿勢を変えることによって、その姿勢の変化量は仮想モデル402に反映される。押しボタンスイッチ304を離すと、仮想モデル402の姿勢は、押しボタンスイッチ304を離したときの姿勢に固定される。
すなわち、ユーザは、スタイラス302の先端部305が現実モデル401の表面に触れている状態で、押しボタンスイッチ304を押すことによって、仮想モデル402の位置を調整することができる。また、スタイラス302の先端部305が現実モデル401の表面に触れていない状態で、押しボタンスイッチ304を押し、スタイラス302の姿勢を変更することで、仮想モデル402の姿勢を調整することができる。
[第3実施形態]
本実施形態では、第2の実施形態とは異なる方法でもって仮想モデル402の位置姿勢を変化させ、仮想モデル402を現実モデル401に一致させるように調整する。なお、本実施形態に係るシステムの構成については第2の実施形態と同じであり、且つ本実施形態に係る演算処理部100のCPU101が実行する処理のフローチャートは図8に示したフローチャートに従ったものであるが、スタイラス302の先端部305が現実モデル401の表面に触れたときに(スタイラス302から(より具体的には圧力センサから)、先端部305が現実モデル401の表面に接触したことを示す信号がCPU101に通知され、CPU101がこれを検知したときに)、ユーザが押しボタンスイッチ304を押すと、ステップS1040において、以下の処理が行われる点が第2の実施形態とは異なる。
まず、ステップS1030において取得されるスタイラス302の先端部305の位置と仮想モデル402の形状データを参照し、仮想モデル402を構成する面の中で、先端部305の位置との距離が最小になる面を選ぶ。例えば仮想モデル402がポリゴンなどの面でもって形成されている場合には、先端部305との距離が最も小さいポリゴンを選択すれば良い。なお、面に相当するのはポリゴンに限定するものではなく、仮想モデル402を構成する所定サイズの要素であればよい。
以下では、先端部305を表す点をP、先端部305との距離が最小となる面をS、PとSの距離をdとして表記する。
次に、仮想モデル402の位置を、距離dが0になるように(距離dを減少させる方向に)、ある特定の1点Qを支点として、あるいは特定の2点Q、Rを結ぶ線分を軸として回転させる。この特定の点Q、Rは、ユーザがスタイラス302で任意の点を指し示すことで設定してもよいし、過去のフレームで設定した点Pを設定してもよい。
図14は、現実モデル401の右側面の星印を点P、現実モデル401の左下頂点の星印を点Q(この点において、現実モデル401と仮想モデル402とは一致している)と定め、仮想モデル402を点Qを支点として回転させている様子を示す図である。
その他の処理については、第2の実施形態と同じである。
[第4実施形態]
本実施形態では、上記実施形態とは異なる方法でもって、仮想モデル402の位置姿勢を変化させ、仮想モデル402を現実モデル401に一致させるように調整する。より具体的にはユーザは、仮想モデル402上の定められた複数の点(特徴点と呼ぶ)を現実モデル401上の対応する点に、定められた順序でスタイラス302で触れることによって、特徴点の対応づけを行い、仮想モデル402を現実モデル401に自動的に一致させることができる。
なお、本実施形態に係るシステムの構成については第2の実施形態と同じであり、且つ本実施形態に係る演算処理部100のCPU101が実行する処理のフローチャートは、図8のフローチャートにおいて、ステップS1030からステップS1050の処理を、図15に示すフローチャートに置き換えたものである。
図15は、本実施形態に係るシステムが行う、複合現実空間画像を生成して表示させるための処理のフローチャートにおいて、仮想モデル402の位置姿勢を変化させ、仮想モデル402を現実モデル401に一致させるように調整する為の処理部分を抜粋したものである。
まず、システムの起動に先立ち、仮想モデル402を作成する段階で、仮想モデル402の表面上に特徴点を4点以上設定する。ただし、全ての特徴点が同一平面上に存在してはならない。これらの特徴点は、ユーザが、現実モデル401上の対応する特徴点を、スタイラス302で触れ、対応づけを行うことになる。そのため、辺の隅や突起、窪みなど、現実モデル401上で識別が容易である点を選択することが望ましい。
また、ユーザが特徴点の対応づけを行う順序についても、仮想モデル402を作成する段階で指定する。これらの特徴点に係るデータは、ディスク装置105に保存しておく。特徴点に係るデータは、特徴点の3次元座標または仮想モデル402を構成するポリゴンの頂点IDと、対応づけの順序との組から構成され、この組が特徴点数だけ記述されている。
ステップS1030において、ユーザから「特徴点対応づけ」に該当する操作が行われた場合には、これまでに登録された特徴点のデータを破棄し、特徴点登録モードに移行する。
ステップS1031では、特徴点登録モードに移行している場合には、ステップS1032に進む。そうでない場合には、ステップS1040に進む。
ステップS1032では、これまでに登録された特徴点の数を調べ、規定値よりも少ない場合には、ステップS1033に進む。そうでない場合には、ステップS1034に進む。
ステップS1033では、ステップS1030において、押しボタンスイッチ304が押されている場合には、取得された先端部305の位置を特徴点として登録する。スイッチ304が押下されたときの位置を得る処理については上記実施形態と同じである。
また、特徴点の登録処理は、先端部305に圧電素子などの圧力センサを設け、先端部305が現実モデル401の表面に接触したことを検知して、押しボタンスイッチ302が押され、CPU101がこれを検知した場合に行うとしても良い。押しボタンスイッチ302が押されていない場合には、ステップS1033では何もせず、ステップS1040に進む。
ステップS1034では、登録された特徴点から、仮想モデル402の位置姿勢を算出する。仮想モデル402の位置姿勢の算出は、例えば以下のようにして行う。
仮想モデル402上で定めた特徴点をPとし、座標をp=(X、Y、Z、1)と表現する。また、先端部305によってPの座標を計測したときの計測値をq=(x、y、z、1)とする。また、pを特徴点数だけ並べた行列をP=(p、p、、、、p)とする。ここでnは特徴点数であり、n≧4である。また同様に、Q=(q、q、、、、q)とする。
このとき、PとQの関係をQ=MPと記述できる。ここでMは4行4列の行列であり、点pをqに変換する3次元座標変換を表す。すなわち、仮想モデル402に対してMで表される変換を適用することで、現実モデル401に一致させることができる。このMは以下の式から求めることができる。
M=Q(PP)−1
ここで(PP)−1はPの疑似逆行列を表す。
ステップS1035では、特徴点登録モードを解除し、ステップS1050に進む。
[第5実施形態]
第5実施形態では、仮想モデル402の位置姿勢を調整するモードと、仮想モデル402の位置姿勢を調整しないモードとを随時切り替えることができる。本実施形態においても図8に示したフローチャートに従った処理を行うのであるが、ステップS1030において、ユーザから「仮想モデル402の位置姿勢調整モード移行」に該当する操作が行われた場合に次に行うべき処理は、第1乃至4の実施形態と同じである。
一方、ステップS1030において、ユーザから「仮想モデル402の位置姿勢非調整モード移行」に該当する操作が行われた場合は、ステップS1040において、押しボタンスイッチ304が押されていても、仮想指標404の登録を行わない。さらに、ステップS1060において、スタイラス仮想指標403、仮想指標404の描画を行わない。また、第2乃至4の実施形態の処理は行わない。
すなわち本実施形態では、通常の複合現実感の処理と、仮想モデル402の調整処理とを、同一の複合現実感装置内で切り替えて使用することができる。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係る複合現実感提示システムの基本構成を示すブロック図である。 スタイラス302の形状および構成を示す図である。 スタイラス302で現実モデルの表面に触れる様子を示した図である。 現実モデル401をモデリングすることで得られる仮想モデル402を、現実モデル401と並べて示した図である。 表示装置201に表示される複合現実空間画像の一例を示す図である。 図5に示した画面においてマーカが表示された場合の画面の表示例を示す図である。 マーカ404を数多く配置した場合の複合現実空間画像を示す図である。 本発明の第1の実施形態に係るシステムが行う、複合現実空間画像を生成して表示させるための処理のフローチャートである。 仮想モデル402を軸Aに沿って移動させる様子を示す図である。 現実モデル401の右側面の星印を点Pと定め、仮想モデル402を右方向に移動させている様子を示す図である。 仮想モデル402を右方向に移動させた結果を示す図である。 現実モデル401の上面の星印を点Pと定め、仮想モデル402を下方向に移動させている様子を示す図である。 仮想モデル402を下方向に移動させ、仮想モデル402の位置が現実モデル401に一致した結果を示す図である。 現実モデル401の右側面の星印を点P、現実モデル401の左下頂点の星印を点Qと定め、仮想モデル402を点Qを支点として回転させている様子を示す図である。 本発明の第4の実施形態に係るシステムが行う、複合現実空間画像を生成して表示させるための処理のフローチャートにおいて、仮想モデル402の位置姿勢を変化させ、仮想モデル402を現実モデル401に一致させるように調整する為の処理部分を抜粋したものである。

Claims (7)

  1. 現実空間に、仮想空間の画像を重畳させて表示する画像処理装置が行う画像処理方法であって、
    検出手段が、前記現実空間で、ユーザがスタイラスを操作することにより指示した前記現実空間における現実物体の表面位置を検出する検出工程と、
    変換手段が、前記検出工程で検出した前記表面位置を、対応する前記仮想空間内の位置に変換する変換工程と、
    配置手段が、前記変換工程で変換された前記仮想空間内の位置に、仮想指標を配置する配置工程と、
    制御手段が、前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に、前記検出工程、前記変換工程、前記配置工程を実行する制御工程と、
    前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に前記制御工程で前記検出工程、前記変換工程、前記配置工程を実行して配置した複数の仮想指標を含む仮想空間の画像を、前記現実空間に重畳させて表示手段が表示する表示工程と
    を備えることを特徴とする画像処理方法。
  2. 前記仮想空間の画像は、前記現実空間に含まれる現実物体の形状に対応する仮想物体の画像を含むことを特徴とする請求項1に記載の画像処理方法。
  3. 前記検出工程では更に、前記スタイラスの姿勢を検出し、
    前記仮想物体を、前記検出工程で検出された姿勢に基づく方向ベクトルに沿って、前記指示された位置と前記仮想物体の位置との距離が減少する方向に移動させる移動工程を、更に備えることを特徴とする請求項2に記載の画像処理方法。
  4. 前記仮想物体を、指示された1点を支点として、もしくは2点を結ぶ線分を軸として、指示された位置と前記仮想物体の位置との距離が減少する方向へ回転させる回転工程を、更に備えることを特徴とする請求項2に記載の画像処理方法。
  5. 現実空間に、仮想空間の画像を重畳させて表示する画像処理装置であって、
    前記現実空間で、ユーザがスタイラスを操作することにより指示した前記現実空間における現実物体の表面位置を検出する検出手段と、
    前記検出手段で検出した前記表面位置を、対応する前記仮想空間内の位置に変換する変換手段と、
    前記変換手段で変換された前記仮想空間内の位置に、仮想指標を配置する配置手段と、
    前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に、前記検出手段、前記変換手段、前記配置手段を動作させる制御手段と、
    前記ユーザが前記スタイラスを操作して前記現実物体の表面位置の指示を行う毎に前記制御手段で前記検出手段、前記変換手段、前記配置手段を動作させて配置した複数の仮想指標を含む仮想空間の画像を、前記現実空間に重畳させて表示する表示手段と
    を備えることを特徴とする画像処理装置。
  6. コンピュータを、請求項5に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
  7. 請求項6に記載のコンピュータプログラムが格納されたコンピュータ可読記憶媒体。
JP2004033728A 2004-02-10 2004-02-10 画像処理方法、画像処理装置 Expired - Fee Related JP4356983B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004033728A JP4356983B2 (ja) 2004-02-10 2004-02-10 画像処理方法、画像処理装置
US11/044,555 US20050174361A1 (en) 2004-02-10 2005-01-28 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004033728A JP4356983B2 (ja) 2004-02-10 2004-02-10 画像処理方法、画像処理装置

Publications (3)

Publication Number Publication Date
JP2005227876A JP2005227876A (ja) 2005-08-25
JP2005227876A5 JP2005227876A5 (ja) 2007-03-15
JP4356983B2 true JP4356983B2 (ja) 2009-11-04

Family

ID=34824262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004033728A Expired - Fee Related JP4356983B2 (ja) 2004-02-10 2004-02-10 画像処理方法、画像処理装置

Country Status (2)

Country Link
US (1) US20050174361A1 (ja)
JP (1) JP4356983B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4115188B2 (ja) * 2002-07-19 2008-07-09 キヤノン株式会社 仮想空間描画表示装置
JP4401728B2 (ja) * 2003-09-30 2010-01-20 キヤノン株式会社 複合現実空間画像生成方法及び複合現実感システム
JP4677273B2 (ja) * 2004-06-29 2011-04-27 キヤノン株式会社 情報処理方法および情報処理装置
JP4795091B2 (ja) * 2006-04-21 2011-10-19 キヤノン株式会社 情報処理方法および装置
FR2901049B1 (fr) * 2006-05-12 2008-11-21 Techviz Soc Par Actions Simpli Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese
DE102007033486B4 (de) * 2007-07-18 2010-06-17 Metaio Gmbh Verfahren und System zur Vermischung eines virtuellen Datenmodells mit einem von einer Kamera oder einer Darstellungsvorrichtung generierten Abbild
US8090561B1 (en) 2008-08-14 2012-01-03 Jai Shin System and method for in situ display of a virtual wheel on a wheeled vehicle
JP5402293B2 (ja) * 2009-06-22 2014-01-29 ソニー株式会社 頭部装着型ディスプレイ、及び、頭部装着型ディスプレイにおける画像表示方法
US8947455B2 (en) 2010-02-22 2015-02-03 Nike, Inc. Augmented reality design system
JP5741160B2 (ja) * 2011-04-08 2015-07-01 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US9292184B2 (en) * 2011-11-18 2016-03-22 Zspace, Inc. Indirect 3D scene positioning control
WO2013074989A1 (en) * 2011-11-18 2013-05-23 Infinite Z, Inc. Pre-button event stylus position
US20130141419A1 (en) * 2011-12-01 2013-06-06 Brian Mount Augmented reality with realistic occlusion
JP5915996B2 (ja) * 2012-06-20 2016-05-11 清水建設株式会社 合成画像表示システム及びその方法
US9330502B2 (en) * 2012-09-12 2016-05-03 Eidgenoessische Technische Hochschule Zurich (Eth Zurich) Mixed reality simulation methods and systems
US10241638B2 (en) * 2012-11-02 2019-03-26 Atheer, Inc. Method and apparatus for a three dimensional interface
US9058693B2 (en) * 2012-12-21 2015-06-16 Dassault Systemes Americas Corp. Location correction of virtual objects
WO2014175324A1 (ja) * 2013-04-24 2014-10-30 川崎重工業株式会社 ワーク加工作業支援システムおよびワーク加工方法
US20150062123A1 (en) * 2013-08-30 2015-03-05 Ngrain (Canada) Corporation Augmented reality (ar) annotation computer system and computer-readable medium and method for creating an annotated 3d graphics model
US10705595B2 (en) 2015-08-06 2020-07-07 Pcms Holdings, Inc. Methods and systems for providing haptic feedback for virtual 3D objects
JP6765823B2 (ja) * 2016-02-23 2020-10-07 キヤノン株式会社 情報処理装置、情報処理方法、情報処理システム、及びプログラム
JP6819333B2 (ja) * 2017-02-07 2021-01-27 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
CN110945365A (zh) * 2017-06-16 2020-03-31 特克特朗尼克公司 与增强现实相关联的测试和测量设备、系统和方法
US11023109B2 (en) * 2017-06-30 2021-06-01 Microsoft Techniogy Licensing, LLC Annotation using a multi-device mixed interactivity system
JP7160183B2 (ja) * 2019-03-28 2022-10-25 日本電気株式会社 情報処理装置、表示システム、表示方法、及びプログラム
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
KR102528353B1 (ko) * 2020-11-23 2023-05-03 부산대학교 산학협력단 가상마커를 이용한 확장 된 3d 데이터 기반의 공간기저벡터 정밀도 보정 장치 및 이를 이용한 공간기저벡터 정밀도 보정 방법
WO2022264519A1 (ja) * 2021-06-14 2022-12-22 ソニーグループ株式会社 情報処理装置、情報処理方法及びコンピュータプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084979A (en) * 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US6281651B1 (en) * 1997-11-03 2001-08-28 Immersion Corporation Haptic pointing devices
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
JP3957468B2 (ja) * 2000-03-31 2007-08-15 日立造船株式会社 複合現実感実現システム
US7155673B2 (en) * 2001-02-01 2006-12-26 Ford Global Technologies, Llc System and method of interactive evaluation of a geometric model
US6584339B2 (en) * 2001-06-27 2003-06-24 Vanderbilt University Method and apparatus for collecting and processing physical space data for use while performing image-guided surgery
US20030014212A1 (en) * 2001-07-12 2003-01-16 Ralston Stuart E. Augmented vision system using wireless communications
US7068274B2 (en) * 2001-08-15 2006-06-27 Mitsubishi Electric Research Laboratories, Inc. System and method for animating real objects with projected images
US7190378B2 (en) * 2001-08-16 2007-03-13 Siemens Corporate Research, Inc. User interface for augmented and virtual reality systems
US7379077B2 (en) * 2001-08-23 2008-05-27 Siemens Corporate Research, Inc. Augmented and virtual reality guided instrument positioning using along-the-line-of-sight alignment
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US7391424B2 (en) * 2003-08-15 2008-06-24 Werner Gerhard Lonsing Method and apparatus for producing composite images which contain virtual objects

Also Published As

Publication number Publication date
JP2005227876A (ja) 2005-08-25
US20050174361A1 (en) 2005-08-11

Similar Documents

Publication Publication Date Title
JP4356983B2 (ja) 画像処理方法、画像処理装置
JP4795091B2 (ja) 情報処理方法および装置
JP4533087B2 (ja) 画像処理方法、画像処理装置
US7834893B2 (en) Mixed-reality presentation system and control method therefor
CN102317892B (zh) 控制信息输入装置的方法、信息输入装置、程序和信息存储介质
JP5709440B2 (ja) 情報処理装置、情報処理方法
JP4677281B2 (ja) 画像処理方法、画像処理装置
US20080030461A1 (en) Mixed reality presentation apparatus and control method thereof, and program
JP2006506737A (ja) 身体中心的な仮想対話型装置および方法
CN105074617A (zh) 三维用户界面装置和三维操作处理方法
JP2006048639A (ja) 情報処理方法および情報処理装置
JP2007004713A (ja) 画像処理方法、画像処理装置
JPH08314621A (ja) 画像生成方法及び装置
US20230267667A1 (en) Immersive analysis environment for human motion data
JP2009087161A (ja) 画像処理装置、画像処理方法
JP2006343954A (ja) 画像処理方法、画像処理装置
CN114167997B (zh) 一种模型显示方法、装置、设备和存储介质
JP2006215750A (ja) 画像処理方法、画像処理装置
US20040243538A1 (en) Interaction with a three-dimensional computer model
JP2019045997A (ja) 情報処理装置及びその方法、プログラム
JP2002098520A (ja) コンピュータを利用したリアルタイムモニター式三次元測定システム
JP2007293412A (ja) 情報処理方法および装置
JP4636908B2 (ja) 画像処理装置、画像処理方法
JP2007213437A (ja) 情報処理方法、情報処理装置
US20200042157A1 (en) Tablet computing device with display dock

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090707

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: 20090731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090803

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees