JP2014167786A - 拡張現実のための自動基準フレーム較正 - Google Patents

拡張現実のための自動基準フレーム較正 Download PDF

Info

Publication number
JP2014167786A
JP2014167786A JP2013222976A JP2013222976A JP2014167786A JP 2014167786 A JP2014167786 A JP 2014167786A JP 2013222976 A JP2013222976 A JP 2013222976A JP 2013222976 A JP2013222976 A JP 2013222976A JP 2014167786 A JP2014167786 A JP 2014167786A
Authority
JP
Japan
Prior art keywords
virtual
camera
tracking system
reference frame
frame
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.)
Granted
Application number
JP2013222976A
Other languages
English (en)
Other versions
JP6223122B2 (ja
Inventor
r davies Paul
ポール アール. デイヴィーズ,
David K Lee
デーヴィッド ケー. リー,
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of JP2014167786A publication Critical patent/JP2014167786A/ja
Application granted granted Critical
Publication of JP6223122B2 publication Critical patent/JP6223122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】拡張現実感のために自動的に基準フレームを較正するための1つまたは複数のシステム、方法、ルーチン、および/または技法を提供する。
【解決手段】仮想オブジェクトおよび/またはカメラ102の基準フレームを自動的に較正することによって、拡張現実感(AR)システム100の較正を可能にすることができる。仮想オブジェクト112の基準フレームから追跡システム108に関連する座標フレームへの写像もしくは変換を決定し、かつ/または計算することができる。または、カメラレンズ基準フレームから追跡システム108によって決定されるカメラ全体の基準フレームへの写像もしくは変換を決定し、かつ/または計算することができる。これらの技法は、仮想コンテンツと実際のシーンの生のカメラビューとの間のすばやく正確な位置合せを提供するためにARシステム100を較正することができる。
【選択図】図1

Description

本開示は、拡張現実感に関し、より詳細には、拡張現実感のために自動的に基準フレームを較正するための1つまたは複数のシステム、方法、ルーチン、および/または技法に関する。
拡張現実感(AR)は、仮想オブジェクトまたは媒体を実世界のビューに重畳することによって、実世界のビューの知覚に、たとえば生ビデオフィードを増補しまたは追加する。拡張現実感は、実世界およびそのオブジェクトに関係する人工的情報またはシミュレートされた情報を実世界のビューに重ねることを可能にする。拡張現実感は、実世界のビューを人工的なビューまたはシミュレートされたビューに置換する仮想現実感(VR)に関連するが、これとは異なる。拡張現実感は、エンターテイメント、ビデオゲーム、スポーツ、およびセル電話機アプリケーションなどのアプリケーションで使用されている。
従来の手法および伝統的手法のさらなる限定および不利益は、そのようなシステムを本願の残りの部分に示され図面を参照する本発明のいくつかの態様と比較することにより、当業者に明白になるであろう。
本開示は、拡張現実感のために自動的に基準フレームを較正するための1つまたは複数のシステム、方法、ルーチン、および/または技法を説明するものである。1つまたは複数のシステム、方法、ルーチン、および/または技法は、たとえば仮想オブジェクトおよび/またはカメラの基準フレームを自動的に較正することによって、拡張現実感(AR)システムの単純ですばやい較正を可能にすることができる。
本開示の1つまたは複数の実施形態は、たとえば、少なくとも1つのプロセッサを有するデータ処理システムによって実行される、拡張現実感のための方法を説明するものである。この方法は、オブジェクト追跡システムに関連する追跡システム座標フレームを受信または確立することを含むことができる。追跡システム座標フレームは、実際の3D空間に位置合せされ得る。追跡システムは、実オブジェクトおよびカメラの実際の3D空間内の位置および方位を追跡することができる。この方法は、追跡システムから実オブジェクトの第1の実オブジェクト基準フレームを受信することを含むことができる。第1の実オブジェクト基準フレームは、追跡システム座標フレームに対する実オブジェクトの位置および方位を示すことができる。この方法は、実オブジェクトの第2の実オブジェクト基準フレームを決定することを含むことができる。第2の実オブジェクト基準フレームは、追跡システム座標フレームに対する実オブジェクトの位置および方位を示すことができる。この方法は、仮想オブジェクトの第1の仮想オブジェクト基準フレームを受信することを含むことができる。仮想オブジェクトは、実オブジェクトにならってモデリングされ得る。第1の仮想オブジェクト基準フレームは、追跡システム座標フレームに関係付けられないものとすることができる。この方法は、仮想オブジェクトの第2の仮想オブジェクト基準フレームを決定することを含むことができる。第2の仮想オブジェクト基準フレームは、追跡システム座標フレームに対する仮想オブジェクトの位置および方位を示すことができる。この方法は、第1の仮想オブジェクト基準フレームと追跡システム座標フレームとの間の仮想オブジェクト写像を決定することを含むことができる。この方法は、実際の3D空間のビュー、実オブジェクトのビュー、および1つまたは複数の重ねられる仮想アイテムを含む拡張されたシーンを表示することを含むことができる。仮想オブジェクト写像は、1つまたは複数の重ねられる仮想アイテムが実オブジェクトに位置合せされるように、拡張されたシーン内で1つまたは複数の仮想アイテムを配置するのに使用され得る。
本開示の1つまたは複数の実施形態は、たとえば少なくとも1つのプロセッサを有するデータ処理システムによって実行される、拡張現実感のための方法を説明するものである。この方法は、オブジェクト追跡システムに関連する追跡システム座標フレームを受信または確立することを含むことができる。追跡システム座標フレームは、実際の3D空間に位置合せされ得る。追跡システムは、実際の3D空間および印刷されたマーカーを取り込むカメラの実際の3D空間内の位置および方位を追跡することができる。この方法は、追跡システムからカメラのカメラ基準フレームを受信することを含むことができる。カメラ基準フレームは、追跡システム座標フレームに対するカメラの位置および方位を示すことができる。この方法は、印刷されたマーカーに関連する印刷されたマーカー座標フレームを受信または確立することを含むことができる。印刷されたマーカー座標フレームは、実際の3D空間に位置合せされ得る。印刷されたマーカー座標フレームは、追跡システム座標フレームに位置合せされ得る。この方法は、カメラのレンズのカメラレンズ基準フレームを決定することを含むことができる。カメラレンズ基準フレームは、印刷されたマーカー座標フレームに対するカメラの位置および方位を示すことができる。この方法は、カメラ基準フレームとカメラレンズ基準フレームとの間のカメラレンズ写像を決定することを含むことができる。この方法は、実際の3D空間のビューおよび1つまたは複数の仮想アイテムを含む拡張されたシーンを表示することを含むことができる。カメラレンズ写像は、拡張されたシーン内で1つまたは複数の仮想アイテムを変更するまたはひずませるために使用され得る。
本開示の1つまたは複数の実施形態は、システムを説明するものである。このシステムは、実オブジェクトを含む実際の3D空間のビューを取り込むカメラを含むことができる。このシステムは、実オブジェクトおよびカメラの実際の3D空間内の位置および方位を追跡する追跡システムを含むことができる。追跡システムは、追跡システムに関連する追跡システム座標フレームを確立するように構成され得、追跡システム座標フレームは、実際の3D空間に位置合せされ得る。このシステムは、カメラおよび追跡システムに結合されたコンピュータを含むことができ、コンピュータは、1つまたは複数のメモリユニットを含むことができる。コンピュータは、仮想モデラを有して構成され得る。仮想モデラは、追跡システムから、実オブジェクトの第1の実オブジェクト基準フレームを受信するように構成され得、第1の実オブジェクト基準フレームは、追跡システム座標フレームに対する実オブジェクトの位置および方位を示すことができる。仮想モデラは、実オブジェクトの第2の実オブジェクト基準フレームを計算するようにさらに構成され得、第2の実オブジェクト基準フレームは、追跡システム座標フレームに対する実オブジェクトの位置および方位を示すことができる。仮想モデラは、仮想オブジェクトの第1の仮想オブジェクト基準フレームを1つまたは複数のメモリユニットから受信するようにさらに構成され得、仮想オブジェクトは、実オブジェクトにならってモデリングされ得、第1の仮想オブジェクト基準フレームは、追跡システム座標フレームに関係付けられないものとすることができる。仮想モデラは、仮想オブジェクトの第2の仮想オブジェクト基準フレームを計算するようにさらに構成され得、第2の仮想オブジェクト基準フレームは、追跡システム座標フレームに対する仮想オブジェクトの位置および方位を示すことができる。仮想モデラは、第1の仮想オブジェクト基準フレームと追跡システム座標フレームとの間の仮想オブジェクト写像を計算するようにさらに構成され得る。仮想モデラは、実際の3D空間のビュー、実オブジェクトのビュー、および1つまたは複数の重ねられる仮想アイテムを含む拡張されたシーンを生成し、1つまたは複数のメモリユニットに格納するようにさらに構成され得る。仮想オブジェクト写像は、1つまたは複数の仮想アイテムが実オブジェクトに位置合せされるように拡張されたシーン内に1つまたは複数の重ねられる仮想アイテムを配置するのに使用され得る。
本開示の1つまたは複数の実施形態は、コンピュータコードを格納する1つまたは複数のメモリユニットと1つまたは複数のメモリユニットに結合された1つまたは複数のプロセッサユニットとを含むデータ処理システムを記述するものである。1つまたは複数のプロセッサユニットは、オブジェクト追跡システムに関連する追跡システム座標フレームを受信または確立するために1つまたは複数のメモリユニットに格納されたコンピュータコードを実行することができる。追跡システム座標フレームを、実際の3D空間に整列させることができる。追跡システムは、実際の3D空間および印刷されたマーカーを取り込むカメラの実際の3D空間内の位置および方位を追跡することができる。1つまたは複数のプロセッサユニットは、追跡システムからカメラのカメラ基準フレームを受信するために1つまたは複数のメモリユニット内に格納されたコンピュータコードを実行することができる。カメラ基準フレームは、追跡システム座標フレームに対するカメラの位置および方位を示すことができる。1つまたは複数のプロセッサユニットは、印刷されたマーカーに関連する印刷されたマーカー座標フレームを受信または確立するために1つまたは複数のメモリユニット内に格納されたコンピュータコードを実行することができる。印刷されたマーカー座標フレームは、実際の3D空間に位置合せされ得、印刷されたマーカー座標フレームは、追跡システム座標フレームに位置合せされ得る。1つまたは複数のプロセッサユニットは、カメラのレンズのカメラレンズ基準フレームを決定するために1つまたは複数のメモリユニット内に格納されたコンピュータコードを実行することができる。カメラレンズ基準フレームは、印刷されたマーカー座標フレームに対するカメラの位置および方位を示すことができる。1つまたは複数のプロセッサユニットは、カメラ基準フレームとカメラレンズ基準フレームとの間のカメラレンズ写像を決定するために1つまたは複数のメモリユニット内に格納されたコンピュータコードを実行することができる。1つまたは複数のプロセッサユニットは、実際の3D空間および1つまたは複数の仮想アイテムのビューを含む拡張されたシーンを表示するために1つまたは複数のメモリユニット内に格納されたコンピュータコードを実行することができる。カメラレンズ写像は、拡張されたシーン内で1つまたは複数の仮想アイテムを変更するまたはひずませるために使用され得る。
本開示の上記および他の利益、態様、および新規の特徴ならびにその図示された実施形態の詳細は、次の説明および図面からより十分に理解されるであろう。前述の概括的な説明が、単に例示的かつ説明的であるにすぎず、特許請求される開示について制限的ではないことを理解されたい。
複数の特徴および利益が次の開示で説明され、次の開示では、例として次の図面を使用して複数の実施形態を説明する。
本明細書で論じられる自動化された基準フレーム較正技法が本発明の1つまたは複数の実施形態による拡張現実感(AR)システムで有用であり得る、そのようなARシステムの例示的なデバイス、コンポーネント、ソフトウェア、および相互作用を示すブロック図である。 本開示の1つまたは複数の実施形態による、例示的な較正技法を示すブロック図である。 本開示の1つまたは複数の実施形態による、追跡システムによってさまざまな理由について使用されるツールまたはワンドを示す図である。 Aは、本開示の1つまたは複数の実施形態による、複数の追跡マーカーが実オブジェクトに貼り付けられるかその上に配置される例示的な実オブジェクトを示す図である。Bは、本開示の1つまたは複数の実施形態による、追跡システムが実オブジェクトの表現をどのように作成し、配置し得るのかを示す図である。 本開示の1つまたは複数の実施形態による、仮想モデリングソフトウェアが実オブジェクトに関する新しい基準フレームをどのように確立し得るのかを示す図である。 本開示の1つまたは複数の実施形態による、仮想モデリングソフトウェアが仮想オブジェクトに関して新しい基準フレームをどのように確立し得るのかを示す図である。 本開示の1つまたは複数の実施形態による、例示的な較正技法を示すブロック図である。 本開示の1つまたは複数の実施形態による、例示的なカメラおよびカメラフレームを示す図である。 本開示の1つまたは複数の実施形態による、追跡システムがカメラの表現をどのようにして作成し、配置し得るのかを示す図である。 本開示の1つまたは複数の実施形態による、一体化されたカメラを有する例示的なタブレットコンピュータを示す図である。 印刷されたマーカーが、カメラレンズの基準フレームの決定をどのようにして可能にし得るのかを示す図である。 印刷されたマーカーが、カメラレンズの基準フレームの決定をどのようにして可能にし得るのかを示す図である。 本開示の1つまたは複数の実施形態に従って作ることができる例示的な拡張されたシーンを示す図である。 本開示の1つまたは複数の実施形態に従って作ることができる例示的な拡張されたシーンを示す図である。 本開示の1つまたは複数の実施形態による、拡張現実感のための自動化された基準フレーム較正の方法の例示的なステップを示す流れ図である。 本開示の1つまたは複数の実施形態による、拡張現実感のための自動化された基準フレーム較正の方法の例示的なステップを示す流れ図である。 本開示の1つまたは複数の実施形態に従って使用可能な例示的なデータ処理システムを示すブロック図である。
さまざまなARシステムでは、追跡システムを、3D空間内でカメラおよびさまざまな実世界オブジェクトの位置および方位を追跡するのに使用することができる。たとえば、追跡システムは、カメラおよびカメラが見つつある/取り込みつつある機械類を追跡することができる。さまざまなARシステムは、カメラによって取り込まれた実世界シーン(さまざまな実世界オブジェクトを含む)と重ねられた仮想媒体および/または仮想オブジェクトとを含む拡張されたシーンを作成することを試みることができる。拡張されたシーンを作成するために、追跡システムは、仮想座標フレームを確立することができ、実世界オブジェクトの表現をこの座標フレーム内で追跡し、または「配置する」ことができる。さまざまなARシステムは、拡張されたシーンを作成するために、座標フレーム内にさまざまな仮想オブジェクト(たとえば、CADモデル/オブジェクト)を「配置」することを試みることができる。さまざまなオブジェクト/モデルは、それ自体のデフォルトのまたは任意の基準フレーム(たとえば、3D位置および方位)を有することができ、したがって、追跡システムの座標フレーム内に仮想オブジェクトを配置するために、追跡システムの座標フレームと仮想オブジェクト基準フレームとの間で写像または変換を決定しなければならない。さらに、カメラ(たとえば、実世界シーンを取り込むカメラ)が移動する場合に、ARシステムは、仮想オブジェクトのビューを変更することを試みることができる。これを正確に行うために、ARシステムは、カメラレンズの位置および方位を追跡することを必要とする場合がある。しかし、追跡システムは、カメラ全体の位置および方位を追跡することしかできない。さまざまなソフトウェアプログラム(たとえば、他の部分に関連する)を使用して、座標フレーム内のカメラレンズに関する基準フレームを決定することができるが、これらのレンズソフトウェアプログラムは、レンズソフトウェアプログラムによって確立される座標フレーム内でレンズを追跡する可能性がある。したがって、追跡システムの座標フレーム内にカメラレンズを配置するために、追跡システムの座標フレームとレンズ基準フレームとの間で写像または変換を反転しなければならない。これらの写像および/または変換(たとえば、仮想オブジェクトに関しておよび/またはカメラレンズに関して)を、ARシステム較正または基準フレームの較正と称する場合がある。
用語「座標フレーム」、「基準フレーム」、「参照フレーム」、および「ポーズ」が、本開示全体を通じて使用され、密接に関係する可能性があることを理解されたい。用語「座標フレーム」は、3D空間の3D表現を指すことができ、座標フレームは、3つの平面または軸(たとえば、X軸、Y軸、Z軸)と原点(たとえば、この3つの軸が交差する点)を含む。用語「基準フレーム」または「参照フレーム」は、たとえば座標フレーム内の、オブジェクトまたは点の3D場所および3D方位を指すことができる。オブジェクトの基準フレームは、オブジェクトの原点(たとえば、近似質量中心)とオブジェクトの方位(たとえば、オブジェクトに相対的に確立された3軸)とを含むことができる。用語「ポーズ」は、「位置および方位」の短縮形であり、3D空間内のオブジェクトの3D位置(たとえば、X座標、Y座標、Z座標)および3D方位(たとえば、ロール、ピッチ、ヨー)を指すことができる。
さまざまなARシステムは、手動プロセスまたは試行錯誤プロセスを介して、たとえば、追跡システム座標フレームに対する仮想モデルの基準フレームおよび/またはカメラレンズの基準フレームを近似することと、その後、近似がよい近似であるかどうかを決定するために拡張されたシーンをテストすることとによって、ARシステム較正を実行する。たとえば、技術者は、単純に、拡張されたシーン内の重ねられた仮想オブジェクトを見るだけで、それらがさまざまなカメラ場所および方位から正しい場所にあると思われるかどうかに関する決定を行うことができる。この手動較正プロセスは、12個のパラメータ、たとえば、仮想オブジェクトの6つのパラメータ(たとえば、X座標、Y座標、Z座標およびロール、ピッチ、ヨー)およびカメラレンズの6つのパラメータ(たとえば、X座標、Y座標、Z座標およびロール、ピッチ、ヨー)の操作を必要とする可能性がある。このプロセスは、高価であり、かつ/または時間集中型であり、たとえば、完了に長い時間(たとえば、8時間を超える)を要する可能性がある。手動較正プロセスが完了したときであっても、その手動較正プロセスが正確な分解能/較正をもたらさない場合がある。たとえば、あるカメラポーズから正しく配置されているように見える仮想オブジェクトが、異なるポーズからは正しく配置されて見えない可能性がある。仮想オブジェクトにおける配置の小さい誤差が、より大きい実世界オブジェクトにおいては大きい誤差につながる可能性がある。さらに、ARシステムが、新しい環境内でまたは新しい実オブジェクトもしくはカメラに関してセットアップされるたびに、ARシステムは、手動で較正されなければならない。
本開示は、拡張現実感に関する自動化された基準フレーム較正の1つまたは複数のシステム、方法、ルーチン、および/または技法を説明するものである。1つまたは複数のシステム、方法、ルーチン、および/または技法は、たとえば、仮想オブジェクトおよび/またはカメラの基準フレームを自動的に較正することによって、拡張現実感(AR)システムの単純ですばやい較正を可能にすることができる。1つまたは複数のシステム、方法、ルーチン、および/または技法は、新しい環境でのARシステムのまたは比較的短い時間(たとえば、15分未満)での新しい実際のオブジェクト(たとえば、機械類)のセットアップを可能にすることができ、実世界シーンへの重ねられる仮想コンテンツの正確な位置決めを可能にすることができる。仮想コンテンツの正確な位置決めは、ARシステムが正確なタスク、たとえば正確な場所での小さい孔のドリリングを実行するために技術者に指示するのに使用される場合に、クリティカルである可能性がある。1つまたは複数のシステム、方法、ルーチン、および/または技法は、さまざまな基準フレーム(たとえば、追跡システムの座標フレーム、仮想オブジェクトの基準フレーム、およびカメラレンズの基準フレーム)間の写像もしくは変換を決定し、かつ/または計算することができる。本開示は、2つの主要な較正ルーチンおよび/または較正技法を説明することができる。第1の較正ルーチンおよび/または較正技法は、仮想オブジェクト(たとえば、CADモデル)の基準フレームと追跡システムに関連する座標フレームとの間の写像もしくは変換を決定し、かつ/または計算することができる。第2の較正ルーチンおよび/または較正技法は、カメラ基準フレームと追跡システムによって決定されるカメラ全体の基準フレームとの間の写像もしくは変換を決定し、かつ/または計算することができる。これらのルーチンおよび/または技法は、仮想コンテンツと実際のシーンの生のカメラビューとの間のすばやく正確な位置合せを提供するためにARシステムを較正することができる。
図1に、本明細書で論じられる自動化された基準フレーム較正技法が本開示の1つまたは複数の実施形態による拡張現実感(AR)システム100で有用である可能性がある、そのようなARシステムの例示的なデバイス、コンポーネント、ソフトウェア、および相互作用を示すブロック図を示す。ARシステム100は、実世界シーンの生ビデオフィードを取り込み、かつ/またはストリーミングすることのできるカメラ102を含むことができる。実世界シーンは、1つまたは複数の実オブジェクト、たとえば実オブジェクト(RO)104を含むことができる。RO104は、さまざまなオブジェクトのうちの1つ、たとえば、工具、機械類、大型衛星、制御ボックス、制御パネル、またはさまざまな他のオブジェクト(物体)とすることができる。カメラ102は、コンピュータ106と通信しているものとすることができ、このコンピュータは、実世界シーンに関連してカメラから送信された情報(たとえば、生のストリーミングビデオ)および/もしくはカメラによって取り込まれたオブジェクトを解釈し、かつ/または処理することができる。
ARシステム100は、追跡システム108を含むことができる。追跡システム108は、実オブジェクト104およびカメラ102の「ポーズ」(3D空間内の位置および方位)を追跡することができ、この情報を(たとえば、リアルタイムで)コンピュータ(たとえば、コンピュータ106)または他のコンポーネントにストリーミングすることができる。追跡システム108は、さまざまなコンポーネント、たとえば、複数の追跡マーカー、追跡マーカーを感知するための複数の感知デバイス、および関連する追跡システムソフトウェアを実行することができるベースコンピューティングデバイスを含むことができる。一例では、各マーカーは、ある波長の光を反射するように設計された反射コーティングを有する小さい球(たとえば、10mm球)とすることができる。この例では、追跡システム108が3D空間内で、ある点および/またはオブジェクトの位置および/または方位を追跡できるように、マーカーを、実世界空間内のさまざまな箇所におよび/またはさまざまなオブジェクト上に配置することができる。たとえば、複数(たとえば、3つ以上)の追跡マーカーを実オブジェクト104上に配置することができ、複数(たとえば、3つ以上)の追跡マーカーをカメラ102上に配置することができる。
追跡システム108の感知デバイスは、追跡マーカーの3D空間内での場所を検出するように設計されたカメラとすることができる。たとえば、各カメラは、さまざまな追跡マーカー(たとえば、カメラ102上および実オブジェクト104上に配置された追跡マーカー)からの反射を検出するように設計された赤外線カメラとすることができる。さまざまな感知デバイス(たとえば、赤外線カメラ)を3D空間内のさまざまな場所に配置し、かつ/または取り付けることができ、たとえば、複数(たとえば、8つ以上)のカメラを部屋または実験室の壁に取り付け、たとえば、対象の3D空間がさまざまなカメラの視野範囲によって十分にカバーされるような配置で取り付けることができる。追跡システム108のさまざまな感知デバイスは、ベースコンピューティングシステムと通信しているものとすることができ(たとえば、イーサネット、またはWiFiなどのリアルタイム通信リンクによって)、ベースコンピューティングデバイスは、関連する追跡システムソフトウェアを実行することができる。追跡システムソフトウェアは、さまざまな感知デバイスからのデータを処理することができる。追跡システム108は、コンピュータ106と通信しているものとすることができる(たとえば、イーサネット、またはWiFなどのリアルタイム通信リンクによって)。コンピュータは、カメラ102と通信しているコンピュータとすることができる。いくつかの実施形態では、追跡システム108のベースコンピューティングデバイスは、コンピュータ106と同一のコンピューティングデバイスとすることができる。
いくつかの実施形態では、カメラ102を、コンピュータ106に一体化することができる。いくつかの例では、コンピュータ106は、モバイルデバイス、たとえば、タブレットコンピュータ、スマートホン、またはPDAなどとすることができる。一特定の例として、コンピュータ106は、一体化されたカメラを有するタブレットコンピュータ(一例に関して図8Cを参照されたい)とすることができる。一体化されたカメラを有するモバイルデバイスは、移動の柔軟性および自由度をユーザに提供することができる。たとえば、ユーザは、実オブジェクト(たとえば、実際の機械類)を含む拡張されたシーンを見ることができ、ユーザは、実オブジェクトの異なる部分および/または角度を見ながら、実オブジェクトの周囲を歩くことができる。さらに、ユーザは、ユーザがタスクを実行するのを助けるテーブルのスクリーン上の仮想コンテンツを見ることができ、たとえば、仮想コンテンツは、実オブジェクトにどのように取り組むべきかまたは実オブジェクトにどのように働きかけるべきかをユーザに指示することができる、指示、矢印、ハードウェア、またはツールなどを含むことができる。この例のタブレットコンピュータ(たとえば、コンピュータ106)は、仮想モデリングソフトウェア110を含むことができる。この例のタブレットコンピュータは、追跡システム108(たとえば、追跡システムのベースコンピューティングデバイス)と通信しているものとすることができる(たとえば、イーサネット、またはWiFiなどのリアルタイム通信リンクによって)。
コンピュータ106は、仮想モデリングソフトウェア110を含むことができる。仮想モデリングソフトウェアは、さまざまな仮想オブジェクト、たとえば、仮想オブジェクト(VO)112にアクセスし、またはこれをロードすることができる。仮想オブジェクト(たとえば、VO112)を、さまざまな既知の形の1つで作成し、設計して、仮想および/または計算機支援設計(CAD)のオブジェクトおよび/またはモデルを作成することができる。仮想/CADオブジェクト/モデルを、CADソフトウェア、たとえば、ベクトルベースのグラフィックスなどを使用してオブジェクト、たとえば、実世界オブジェクトにならってモデリングされたオブジェクトを描くソフトウェアを使用して、作成することができる。仮想/CADオブジェクト/モデルは、実世界オブジェクトのさまざまな3D特徴を詳細に考慮する3Dオブジェクトとすることができる。仮想オブジェクト112は、実オブジェクト104の仮想表現とすることができる。コンピュータ106は、実世界空間内の実オブジェクトを表す仮想オブジェクトの他に、さまざまな他の仮想オブジェクトにアクセスし、またはこれをロードすることができる。一例として、実オブジェクト104は、機械類とすることができ、仮想オブジェクト112は、同一の機械類の仮想表現とすることができる。さらに、他の仮想オブジェクトは、実世界の対応物を有しないものとすることができ、たとえば、仮想オブジェクトは、技術者が実オブジェクト104とどのように相互作用すべきかを示す仮説のねじ、工具、およびワイヤなどを表すことができる。
仮想モデリングソフトウェア110は、追跡システム108からデータ(たとえば、ストリーミングリアルタイムデータ)、たとえば、追跡システムによって確立された座標系、カメラ102の基準フレーム、および実オブジェクト104の基準フレームを受信することができる。仮想モデリングソフトウェア110は、本明細書で説明されるさまざまなルーチン、および技法などを実行して、拡張されたシーン(たとえば、拡張されたシーン114)、たとえば、仮想オブジェクトを用いて拡張され、かつ/またはこれを重ねられた、カメラ102によって取り込まれた実世界空間のリアルタイムビューを作成することができる。仮想モデリングソフトウェア110は、本明細書で説明されるさまざまな較正ルーチンおよび/または技法を実行して、仮想オブジェクトおよびカメラレンズの座標フレームおよび基準フレームを、追跡システムに関連する座標フレームに位置合せすることができる。較正が達成された後に、仮想モデリングソフトウェア110は、さまざまな仮想オブジェクトと生の実世界シーンとの間の相関および/または位置合せを維持することができる。コンピュータ106は、ユーザに拡張されたシーン114を表示できるディスプレイ116を含み、またはこれと通信しているものとすることができる。仮想モデリングソフトウェア110は、生のビデオフィード上に配置された仮想オブジェクトを示す拡張されたシーン114(ディスプレイ116上に表示される)を作ることができる。仮想モデリングソフトウェア110は、たとえば実オブジェクト104に対するカメラ102のポーズおよび/または実オブジェクト104のポーズに応じて、拡張されたシーン内の仮想オブジェクトを適当に変形する(たとえば、3D場所、3D方位、および/または3Dサイズを変更する)ことができる。たとえば、カメラ102が、実オブジェクト104から離れる場合に、拡張されたシーン内の1つまたは複数の仮想オブジェクトを縮小することができる。別の例として、カメラ102が実オブジェクト104に近づく場合に、1つまたは複数の仮想オブジェクトが拡大されるはずである。別の例として、カメラ102が、実オブジェクト104に対するある角度で移動する場合に、1つまたは複数の仮想オブジェクトが、それに応じて回転するはずである。
図2に、本開示の1つまたは複数の実施形態による、例示的な較正技法を示すブロック図を示す。より具体的には、図2は、仮想オブジェクト(たとえば、拡張されたシーンに追加される仮想オブジェクト)と追跡システムに関連する基準フレームとの間の写像または変換を較正しかつ/または較正するのに使用可能な自動化された基準フレーム較正技法を示す。図2に示されているように、追跡システム202(たとえば、図1の追跡システム108に類似する)は、たとえば技術者によって実行される追跡システムセットアップの一部として、座標フレーム204を確立することができる。追跡システムの座標フレームは、3つの軸(たとえば、X軸、Y軸、Z軸)および3つの軸が交差する原点を含むことができる。追跡システムは、実世界3D空間内の特定の点に座標フレームの原点「配置」し、または関連付けることができ、実世界3D空間に対して座標フレームを方位付けることができる。追跡システムは、ツールまたはワンド、たとえば図3に示されたワンド300に類似するワンドを使用して、座標フレームを確立することができる。図3を参照すると、ワンド300は、文字「T」に似たものとすることができ、第1の軸(たとえば、X軸)を指定することができる第1の延ばされた部材(たとえば、部材302)と第2の軸(たとえば、Z軸)を指定することができる第2の延ばされた部材(たとえば部材304)とを含むこができる。ワンド300は、第1の部材302/軸と第2の部材304/軸とが交差する点306に原点を指定することもできる。第3の想像上の軸(たとえば、Y軸)が、原点306を通って走ることができる。一例として、ワンド300を、部屋または実験室の床に配置することができ、追跡する機械は、ワンドおよび/またはワンドに取り付けられた追跡マーカー(たとえば、追跡マーカー308、310、312、314、316)を検出することによって、その座標フレームを確立することができる。追跡システムは、ワンド300によって指定される原点および軸に関連する仮想原点および3つの仮想軸を確立することができる。追跡システム座標系が確立された後に、追跡システムは、室内または実験室内の実オブジェクト(たとえば、3つ以上の追跡マーカーを備える)を追跡し、座標フレーム内でのそのオブジェクトのポーズを決定し、3つの軸に関するそのオブジェクトの方位を決定することができる。
再度図2を参照すると、追跡システム202は、実オブジェクトの基準フレーム206を決定することができる。言い替えると、追跡システム202は、実オブジェクトを追跡することができる。実オブジェクトは、たとえば、図1の実オブジェクト104に類似するものとすることができる。実オブジェクト(RO)は、さまざまなオブジェクトのうちの1つ、たとえば、工具、機械類、大型衛星、制御ボックス、制御パネル、またはさまざまな他のオブジェクト(物体)とすることができる。図4Aに、実オブジェクト400の例すなわち、ドリルシャープナツールを示す。追跡システムが実オブジェクト400を追跡する(すなわち、その基準フレームを決定する)ために、複数(たとえば、3つ以上)の追跡マーカー(たとえば、追跡マーカー402、404、406)を、実オブジェクト400に取り付けるかその上に配置することができる。正しい追跡のために、追跡マーカーは、実オブジェクト400上に正しく、たとえば、同一直線上ではなく非対称の配置で配置されなければならないものとすることができる。3つ以上の点は、それらが単一の直線上にある場合に、同一直線上にあると言われる。したがって、追跡マーカーの非同一直線上の配置は、追跡マーカーが、単一の直線上にあるのではなくなるように配置されることを意味する。正しい追跡のためには、少なくとも3つの非同一直線上の追跡マーカーを実オブジェクト上に配置することができる。たとえば、3つを超える追跡マーカーを実オブジェクト上に配置して、たとえば追跡マーカーのうちの1つのビューが遮られる場合の、計算の信頼性および/または正確さを改善することができる。
追跡システム(たとえば、複数の赤外線カメラを含む)は、追跡マーカーを検出し、追跡システムによって確立された座標フレーム内に実オブジェクトの表現を配置することができる。図4Bに、追跡システムが実オブジェクトの表現をどのように作成でき、配置できるのかの図を示す。追跡システムは、追跡マーカー(たとえば、追跡マーカー402、404、406、およびおそらく図4Aに示されていないさらなるマーカー)の場所を検出し、それぞれ追跡マーカーに関連する点(たとえば、点452、454、456、および458)を作成し、追跡システムの座標フレーム内に配置することができる。これらの点(たとえば、点452、454、456、および458)から、追跡システムは、実オブジェクトの表現の原点(たとえば、点460)および方位(点460を囲む立方体および方位線を参照されたい)を決定することができる。原点を、点452、454、456、および458の重心(たとえば、質量中心)を計算することによって決定することができる。方位を、追跡システムの座標系の方位に一致するように(またはその方位に関連して)セットすることができる。追跡システムが、実オブジェクト(RO)の基準フレーム(たとえば、追跡システム座標フレームに関連する原点/場所および方位)を決定した後に、追跡システムは、実オブジェクトのポーズに関する情報を仮想モデリングソフトウェアにストリーミングすることができる。実オブジェクトに関するストリーミングポーズ情報は、実オブジェクトが移動し、かつ/または回転する可能性があるときに、リアルタイムで更新することができる。
図2を再度参照すると、仮想モデリングソフトウェア210は、実オブジェクト(RO)の新しい基準フレーム212を確立することができる。仮想モデリングソフトウェア210は、たとえば図1の仮想モデリングソフトウェア110に類似するものとすることができる。仮想モデリングソフトウェア210は、追跡システムに関連する座標フレームと同一の座標フレームを使用することができる。新しいRO基準フレーム212は、実オブジェクトの異なる(RO基準フレーム206と比較したときに)基準点を指定することができ、異なる原点を決定し、かつ/または計算することができる。新しいRO基準フレームの確立は、仮想モデリングソフトウェアが、実オブジェクトに関連する仮想オブジェクト(たとえば、CADモデル)上の同一の(または非常に近い)基準点である実オブジェクト上の基準点を選択することを可能にすることができる。
図5に、仮想モデリングソフトウェアが実オブジェクト、たとえば実オブジェクト500に関する新しい基準フレームをどのように確立できるかの図を示す。複数の基準点(たとえば、点502、504、506)を、実オブジェクト500上に示すことができる。これらの基準点を、たとえば、技術者が工具またはワンド、たとえば図3のワンド300に似たワンドを使用することによって示すことができる。工具またはワンドを、追跡システムによって追跡可能とすることができ、たとえば、ワンドに取り付けられた追跡マーカー間のお互いに対する位置を、追跡システムによって決定し、正確な点収集を可能にすることができる。仮想モデリングソフトウェアは、追跡システムからの、ワンド位置に関するデータを使用して、実オブジェクト上の基準点を回復することができる。一例として、仮想モデリングソフトウェアは、ワンド上の点を「ポインタ」(たとえば、ワンドの延びる部材の先端)として認識することができる。技術者は、実オブジェクト上のさまざまな点(たとえば、点502、504、506)にポインタを接触させることができ、ワンドおよび追跡システムを介して、仮想モデリングソフトウェアは、これらの点を取り込むか記録し、追跡システムに関連する座標フレーム内に配置することができる。新しい基準フレームを決定するために、基準点は、実オブジェクト500上に正しく、たとえば非同一直線上の配置で配置されなければならないものとすることができる。少なくとも3つの非同一直線上の基準点を、実オブジェクト上に配置することができる。3つを超える基準点を実オブジェクト上に配置して、たとえば、計算の信頼性および/または正確さを改善することができる。これらの基準点(たとえば、点502、504、506)から、仮想モデリングソフトウェアは、実オブジェクトの原点(たとえば、点508)および方位(点508から延びる軸線を参照されたい)を決定することができる。原点を、点502、504、506の重心(たとえば、質量中心)を計算することによって決定することができる。方位を、点502、504、506によって作成される平面内で原点から延びる2つの軸(たとえば、X軸、Z軸)を配置することによって決定することができる。
図2を再度参照すると、新しいRO基準フレーム212が確立された後に、仮想モデリングソフトウェア210は、新しいRO基準フレーム212と追跡システムによって決定されたRO基準フレーム206との間の並進差および/または回転差を計算することができる。
図2を参照すると、仮想モデリングソフトウェア210は、さまざまな仮想オブジェクト、たとえば事前に設計されたCADモデルにアクセスし、またはこれをロードすることができる。仮想モデリングソフトウェア210は、追跡システムに関連する座標フレーム内に仮想オブジェクトを配置することができるが、ARシステムは、適切な配置が機能する前に較正される必要がある場合がある。仮想オブジェクト(たとえば、CADモデル)は、たとえば仮想オブジェクトが設計されたときに指定された、それ自体の仮想フレーム(たとえば、原点および3つの方位軸)を有することができる。仮想モデリングソフトウェアによって参照されるすべての仮想オブジェクトが、同一の基準フレーム(たとえば、VO基準フレーム214)を共有できる場合があり得る(たとえば、特定の環境に関して)。追跡システムに関連する座標フレーム内に仮想オブジェクトを配置するために、仮想モデリングソフトウェア210は、仮想オブジェクトのVO基準フレーム214と追跡システムに関連する座標フレーム204との間の写像または変換を決定することができる。ARシステムを較正する(たとえば、写像または変換を決定する)ために、仮想モデリングソフトウェア210は、ARシステムのカメラ(たとえば、図1のカメラ102)が取り込みつつある実オブジェクト(たとえば、図1の実オブジェクト104)に対応する仮想オブジェクト(たとえば、図1の仮想オブジェクト112)を使用することができる。この仮想オブジェクトは、VO基準フレーム214を有することができる。
仮想モデリングソフトウェア210は、実際の仮想オブジェクトの新しいVO基準フレーム216を確立することができる。仮想モデリングソフトウェア210は、追跡システムに関連する座標フレームと同一の座標フレームを使用することができる。新しいVO基準フレーム216は、VO基準フレーム214と比較したときに、異なる原点および方位を有することができる。新しいVO基準フレームの確立は、仮想モデリングソフトウェアが、対応する実オブジェクトに関して示された(上で説明したように)基準点と同一の(または非常に近い)基準点である仮想オブジェクト上の基準点を選択することを可能にすることができ、新しいRO基準フレーム212と新しいVO基準フレーム216との間の位置合せ(全般的に点218を参照されたい)を可能にすることができる。新しいRO基準フレーム212(実オブジェクトに関連する)と新しいVO基準フレーム216(仮想オブジェクトに関連する)との間の位置合せを、たとえば実オブジェクトと仮想オブジェクトとの両方の上で同一の基準点を選択することと、実オブジェクトと仮想オブジェクトとのそれぞれについて同一の原点および方位の計算を実行することとによって、達成することができる。
図6に、仮想モデリングソフトウェアが仮想オブジェクト、たとえば仮想オブジェクト600に関して新しいVO基準フレームをどのように確立できるのかの図を示す。較正のために、仮想オブジェクト600は、ARシステムのカメラが取り込みつつある関連する実オブジェクト、たとえば図5の実オブジェクト500にならってモデリングされた仮想オブジェクトとすることができることに留意されたい。複数の基準点(たとえば、点602、604、606)を、仮想オブジェクト600上で選択することができる。これらの基準点は、新しいRO基準フレームを作成するために選択され、示され、かつ/または記録された基準点に対応する(たとえば、同一の相対位置にあるものとする)ことができる(図5および関連する議論を参照されたい)。RO基準フレーム決定に関して、VO基準フレームを決定するための基準点を、非同一直線上の配置とすることができ、少なくとも3つの非同一直線上の基準点を、仮想オブジェクト上で選択することができる。これらの基準点(たとえば、点602、604、606)から、仮想モデリングソフトウェアは、仮想オブジェクトの原点(たとえば、点608)および方位(点608から延びる軸線を参照されたい)を決定することができる。原点を、点602、604、606の重心(たとえば、質量中心)を計算することによって決定することができる。仮想オブジェクトの方位を、点602、604、606によって作成される平面内で原点から延びる2つの軸(たとえば、X軸、Z軸)を配置することによって決定することができる。
図2を再度参照すると、新しいVO基準フレーム216が確立された後に、仮想モデリングソフトウェア210は、新しいVO基準フレーム216と仮想オブジェクトに関連するVO基準フレーム214との間の並進差および/または回転差を計算することができる。
上で説明したように、3D空間内で関連する実オブジェクトにならってモデリングされた仮想オブジェクトが、たとえば新しいRO基準フレーム212に位置合せされ得る新しいVO基準フレーム216を決定するために、ARシステムを較正するのに必要である可能性がある。しかし、較正が完了した後には、さまざまな他の仮想オブジェクトを、追跡システムに関連する座標フレーム内に配置する(たとえば、仮想モデリングソフトウェアによって)ことができることを理解されたい。図2を参照すると、この配置が機能する理由を理解することができる。追跡システムに関連する座標フレーム内に仮想オブジェクトを配置するために、写像または変換(たとえば、図2に示されたM4変換)を、仮想オブジェクト基準フレーム214(たとえば、原点および方位)と追跡システムに関連する座標フレーム204との間で決定しなければならない。M4変換は、較正処理が完了する前に既知ではない可能性がある。較正プロセスは、上で説明したように、M4変換に関係するさまざまな他の写像または変換を決定することができる。図2に示されているように、較正プロセスは、M1変換(すなわち、追跡システムがその座標フレーム内に追跡される実オブジェクトを配置する場合)、M2変換(すなわち、RO基準フレーム206と新しいRO基準フレーム212との間の並進差および回転差)、およびM3変換(すなわち、VO基準フレーム214と新しいVO基準フレーム216との間の並進差および回転差)を決定することができる。M1変換、M2変換、および3変換が知られた後には、M4変換を計算することができる。M4変換が知られた後には、さまざまな仮想オブジェクトを、追跡システムに関連する座標フレーム内に配置することができる。さらに、追跡システムからの情報(たとえば、実オブジェクトのポーズ)が仮想モデリングソフトウェアにストリーミングされるときに、M1変換(すなわち、3D空間内の実オブジェクトのポーズ)が変化する場合には、M4変換は、たとえばリアルタイムで、更新することができる。これに関して、仮想オブジェクトを、実世界シーンに重ねることができ、仮想オブジェクトの外見を、たとえばシーン内で関連する実オブジェクトが移動するときに、それ相応に変更することができる。
次では、図2に示された、M4変換を計算する1つの例示的な技法を説明する。図2に示されたさまざまな変換(M1、M2、M3、M4)を、それぞれ変換行列、たとえば3Dコンピュータグラフィックスで一般的に使用される4x4変換行列として表すことができる。M1変換を、下の式1に示された変換行列として表すことができる。M2変換を、下の式2に示された変換行列として表すことができる。M3変換を、下の式3に示された変換行列として表すことができる。
Figure 2014167786
Figure 2014167786
Figure 2014167786
各変換行列は、回転成分または方位成分(DCMすなわち「方向余弦行列」)と、並進成分または場所成分(v)とを含むことができる。たとえば、DCMは、M変換の回転行列を表し、vは、M変換の並進ベクトルを表す。回転成分(DCM)は、2つのオブジェクト間の方位の変化を表す3x3行列とすることができる。DCM成分は、3つの値すなわち、ロールの変化(たとえば、X軸回りの回転)、ピッチの変化(たとえば、Y軸回りの回転)、およびヨーの変化(たとえば、Z軸回りの回転)を表すことができる。この3つの値を、3x3DCM行列に展開して、4x4変換行列M内に正しく収めることができる。変換行列および行列乗算に精通した人であれば、他の行列によるある行列の乗算が所望の変換をもたらすように、変換行列に適当な形で投入しなければならないことを認めるであろう。並進成分(v)は、2つのオブジェクトの場所の変化(たとえば、オブジェクトの原点間の場所の変化)を表す1x3行列(すなわち、1つの垂直列内の3つの数)とすることができる。並進成分(v)は、3つの値すなわち、X軸に対する3D場所の変化、Y軸に対する3D場所の変化、およびZ軸に対する3D場所の変化を含むことができる。回転成分(DCM)および並進成分(v)が、変換行列(M)に加算され、最も下の行に「0001」をパディングされたときに(行列乗算が機能するようにするために)、変換行列が完成する。
その後、M4変換を、下の式4に示されているように計算することができ、下の式5に示されているM4変換がもたらされる。
Figure 2014167786
Figure 2014167786
いくつかの実施形態では、M4変換が計算された後に、M4変換は、同一のままになる。図2からわかるように、M4変換が計算された後には、M4変換は、仮想オブジェクト基準フレームからTSによって決定されたRO基準フレームへの変換を表すことができる。M4変換を使用して、さまざまな仮想オブジェクトを、たとえばTSによって決定されたRO基準フレームに関係するポーズを伴って配置された、追跡システムに関連する基準フレーム内に配置することができる。追跡システムからの情報(たとえば、実オブジェクトのポーズ)が仮想モデリングソフトウェアにストリーミングされるときに、M1変換(すなわち、3D空間内の実オブジェクトのポーズ)が変化する場合には、さまざまな仮想オブジェクトのポーズは、たとえばリアルタイムで、更新することができる。
図1を再度参照すると、カメラ102が移動するときにARシステムが仮想オブジェクトを正しく変形し、変更し、または位置合せできるようになる前に、カメラ102が較正される必要もある可能性がある。カメラ102の較正に関連する課題および解決策は、上で説明した追跡システムに関連する座標フレームに対する仮想オブジェクトの較正に類似するものとすることができる。仮想オブジェクトと実世界シーン(カメラ102によって取り込まれた)との間の正確な位置合せを達成するために、仮想モデリングソフトウェアは、カメラ本体全体だけではなく、カメラ102のレンズのポーズを追跡する必要がある可能性がある。カメラを較正するさまざまな方法は、カメラレンズに関連する6つのパラメータ(たとえば、X、Y、Z、ロール、ピッチ、ヨー)を手動で操作するのに長々しい試行錯誤プロセス(たとえば、数時間を要する)を用いた。これらの手動の方法を用いると、較正が完了した後であっても、カメラレンズの正確な配置は保証されない。
図7に、本開示の1つまたは複数の実施形態による、例示的な較正技法を示すブロック図を示す。より具体的には、図7は、追跡システムによって追跡されるカメラの基準フレームとカメラのレンズの基準フレームとの間の写像または変換を決定し、かつ/または較正するのに使用できる自動化された基準フレーム較正技法を示す。図7に示されているように、追跡システム702(たとえば、図1の追跡システム108に類似する)は、たとえば技術者によって実行される追跡システムセットアップ(上で詳細に説明した)の一部として、座標フレーム704を確立することができる。追跡システム702は、カメラの基準フレーム706を決定することができる。言い替えると、追跡システム702は、カメラを追跡することができる。カメラは、たとえば図1のカメラ102に類似するものとすることができる。カメラは、独立のカメラとすることができ、あるいは、コンピュータ、たとえば仮想モデリングソフトウェアを実行するコンピュータに組み込まれてもよい。図8Aに、例示的なカメラ800の図を示す。追跡システムがカメラ800を追跡する(すなわち、カメラ800の基準フレームを決定する)ために、複数(たとえば、3つ以上)の追跡マーカー(たとえば、追跡マーカー802、804、806)を、カメラ800に取り付けるかカメラ800上に配置することができる。いくつかの実施形態では、追跡マーカーを、カメラ本体自体に取り付けることができる。他の実施形態では、追跡マーカーを、図8Aの例に示されているように、カメラ800を含み、かつ/またはカメラ800を支持するフレーム801に取り付けることができる。正しい追跡のために、追跡マーカーを、カメラ800上に適当に、たとえば非同一直線上の配置で配置しなければならないものとすることができる。正しい追跡のために、少なくとも3つの非同一直線上の追跡マーカーをカメラ(またはカメラフレーム)上に配置することができる。たとえば、3つを超えるマーカーをカメラ上に配置して、たとえば追跡マーカーのうちの1つのビューが遮られる場合の、計算の信頼性および/または正確さを改善することができる。
追跡システム(たとえば、複数の赤外線カメラを含む)は、カメラ(またはカメラフレーム)の追跡マーカーを検出することができ、カメラの表現を作成し、追跡システムによって確立された座標フレーム内に配置することができる。図8Bに、追跡システムがカメラの表現をどのようにして作成でき、配置できるのかの図を示す。追跡システムは、追跡マーカー(たとえば、マーカー802、804、806、およびおそらくはさまざまな他のマーカー)の場所を検出することができ、それぞれが追跡マーカーに関連する点(たとえば、点852、854、856、およびおそらくはさまざまな他の点)を作成し、追跡システムの座標フレーム内に配置することができる。これらの点(たとえば、点852、854、856、およびおそらくはさまざまな他の点)から、追跡システムは、実オブジェクトの表現の原点(たとえば、点860)および方位(点860を囲む立方体および方位線を参照されたい)を決定することができる。原点を、点852、854、856、およびおそらくはさまざまな他の点の重心(たとえば、質量中心)を計算することによって決定することができる。方位を、追跡システムの座標系の方位と一致するように(またはその方位に関連して)セットすることができる。追跡システムが、カメラの基準フレーム(たとえば、追跡システム座標フレームに関連する原点/場所および方位)を決定した後に、追跡システムは、カメラのポーズに関する情報を仮想モデリングソフトウェアにストリーミングすることができる。カメラに関するストリーミングポーズ情報は、カメラが移動し、かつ/または回転する可能性があるときに、リアルタイムで更新することができる。
本開示のいくつかの実施形態では、カメラをコンピュータ、たとえば仮想モデリングソフトウェアを実行するコンピュータに組み込むことができる。1つの特定の例として、コンピュータは、一体化されたカメラを有するタブレットコンピュータとすることができる。図8Cに、一体化されたカメラを有する例示的なタブレットコンピュータ870の図を示す。たとえば、タブレットコンピュータ870の第1の側面874は、ユーザ872に面することができ、反対の第2の側面876は、ユーザ872から離れて面することができる。カメラを、カメラが実オブジェクト(たとえば、実オブジェクト880)を取り込むことができるように、第2の側面876に取り付けることができる。ARシステムが正しく較正される場合に、ユーザ872は、タブレットコンピュータ870のスクリーン上で、実世界シーン(実オブジェクト880のビュー881を含む)を見ることができる。このスクリーンは、実世界シーン/実オブジェクトの上に重ねられた仮想オブジェクト(たとえば、仮想オブジェクト882)をも表示することができる。追跡システムがカメラ(たとえば、タブレットコンピュータ870に組み込まれた)を追跡するために、複数の追跡マーカー(たとえば、追跡マーカー884、886、888)を、タブレットコンピュータ870上に取り付けることができる。その後、カメラの追跡を、上で説明した方法に類似する方法で行うことができる。
図7を再度参照すると、仮想モデリングソフトウェア710は、カメラのポーズ/基準フレームに関するストリーミング情報を追跡システム702から受信することができる。しかし、仮想モデリングソフトウェア710が、全体としてのカメラ本体(または、カメラフレームもしくはタブレットコンピュータ)ではなく、カメラのレンズの場所を追跡する必要がある場合がある。カメラレンズの基準フレームを決定するために、特殊な印刷されたマーカーおよび関連するソフトウェアを使用することができる。図9Aおよび図9Bに、印刷されたマーカーが、レンズの基準フレームの決定をどのようにして可能にすることができるのかの図を示す。図9Aに示されているように、カメラ902は、カメラの視野904内の実世界アイテムを取り込むか記録することができる。特殊な印刷されたマーカー906を、カメラの視野904内に配置することができる。印刷されたマーカー906を、カメラおよびARシステムを較正するのに使用するのみとすることができることを理解されたい。仮想モデリングソフトウェアがカメラのレンズを追跡できるようになった後に、仮想マーカー906を除去することができる。
ARシステムを較正するために、印刷されたマーカー906を、カメラの視野904内で部屋または実験室の3D空間内のどこか(たとえば、床上)に配置することができる。印刷されたマーカー906は、印刷されたマーカーに関する座標フレーム(たとえば、原点および方位)を示すことができるさまざまなマーキング(たとえば、マーキング908)を含むことができる。その後、カメラ902は、印刷されたマーカー906(さまざまなマーキングを含む)を取り込むことができ、この情報をコンピュータ910(たとえば、図1のコンピュータ106に類似する)にストリーミングすることができる。コンピュータ910は、仮想モデリングソフトウェアを含むコンピュータと同一のコンピュータとすることができる。コンピュータ910は、印刷されたマーカー906に関連するソフトウェア912を含むことができる。印刷されたマーカーソフトウェア912は、カメラ902から、カメラが印刷されたマーカー906をどのように「ポーズ」するのか、たとえば、印刷されたマーカーがカメラの視野内でどのように配置され、方位付けられて見えるのかを含む情報を受信することができる。印刷されたマーカーソフトウェア912は、その後、この情報を処理して、たとえばレンズが印刷されたマーカー906(およびさまざまなマーキング908)によって確立される座標フレーム内に配置されるときに、カメラ902のレンズに関する基準フレーム(たとえば、原点および方位)を決定することができる。一例として、図9Bを参照すると、較正のために、カメラ902および印刷されたマーカー906は、印刷されたマーカーによって確立される軸(たとえば、X、Y、Z)がカメラ、具体的にはカメラのレンズの垂直軸、水平軸、および深さ軸に位置合せされるように、お互いに相対的に方位付けられるものとすることができる。
図7を再度参照すると、仮想モデリングソフトウェアは、たとえば印刷されたマーカーによって確立された座標フレーム712に関係するときに、カメラレンズ基準フレーム714を決定する(たとえば、特殊な印刷されたマーカーに関係するソフトウェアを介して)ことができる。カメラレンズのポーズをさまざまな仮想オブジェクトのポーズに関係付けるために、仮想モデリングソフトウェアは、たとえばカメラレンズの基準フレーム714を、追跡システムによって追跡される全体としてのカメラの基準フレーム706に関係付けることによって、追跡システムに関連する座標フレーム内に配置することができる。しかし、仮想モデリングソフトウェア710は、たとえば印刷マーカーによって確立される座標フレーム712が追跡システムによって確立される座標フレーム704とは異なる可能性があるので、ARシステムが確立されるまで、全体としてのカメラの基準フレーム706にカメラレンズの基準フレーム714を関係付けることができない可能性がある。したがって、較正プロセスは、印刷されたマーカーによって確立される座標フレーム712と追跡システムによって確立される座標フレーム704とを位置合せする(全般的に番号716によって示される)ことを含むことができる。この位置合せは、追跡システム座標フレームの原点と同一の場所(たとえば、部屋または実験室の床上の3D空間内の同一の場所)に印刷されたマーカー(たとえば、印刷されたマーカーの原点)を配置することを含むことができる。この位置合せは、印刷されたマーカーの軸(たとえば、X、Y、Z)を、追跡システムの座標フレームの軸と位置合せすることをも含むことができる。これに関して、2つの座標フレームが位置合せされた後に、仮想モデリングソフトウェア710は、これらを同一の座標フレームとして扱うことができる。
カメラ全体としての基準フレーム706にカメラレンズの基準フレーム714を関係付けるために、仮想モデリングソフトウェア710は、写像または変換(たとえば、図7に示されたC3変換)を決定し/計算することができる。C3変換は、較正プロセスが完了する前に既知ではない可能性がある。較正プロセスは、上で説明したように、C3変換に関係するさまざまな他の写像または変換を決定することができる。図7に示されているように、較正プロセスは、C1変換(すなわち、追跡システムがその座標フレーム内に追跡されるカメラを配置する場合)およびC2変換(すなわち、印刷されたマーカー座標フレーム712と印刷されたマーカーに関連するソフトウェアによって決定された新しいカメラレンズ基準フレーム714との間の並進差および回転差)を決定することができる。C1変換およびC2変換が知られた後に、C3変換を計算することができる。C3変換が知られた後に、カメラを移動することができ、仮想モデリングソフトウェアは、印刷されたマーカーがもはやカメラの座標内に現れない場合であっても、追跡システムの座標フレーム内でカメラレンズを追跡することができる。追跡システムからの情報(たとえば、カメラのポーズ)が、仮想モデリングソフトウェアにストリーミングされるときに、C1変換(すなわち、3D空間内のカメラのポーズ)が変化する場合に、C3変換は、たとえばリアルタイムで、更新することができる。これに関して、仮想オブジェクトは、実世界シーンに重ねることができ、仮想オブジェクトの外見は、たとえばカメラが移動するときに、それ相応に変化することができる。
次で、図7に示されたC3変換を計算する1つの例示的な技法を説明する。図7に示されたさまざまな変換(C1、C2、C3)を、それぞれ、変換行列、たとえば3Dコンピュータグラフィックスで一般的に使用される4x4変換行列として表すことができる。C1変換を、下の式6に示された変換行列として表すことができる。C2変換を、下の式7に示された変換行列として表すことができる。
Figure 2014167786
Figure 2014167786
上で説明したM変換行列に似て、各C変換行列は、回転成分または方位成分(DCM)と並進成分または場所成分(v)とを含むことができる。その後、C3行列を、下の式8に示されているように計算することができ、下の式9に示されたC3変換がもたらされる。
Figure 2014167786
Figure 2014167786
その後、再度図7を参照すると、C3変換を使用して、たとえば追跡システムによって追跡されるカメラのポーズにカメラレンズのポーズを関係付けることによって、追跡システムに関連する座標フレーム内にカメラレンズを配置することができる。追跡システムからの情報(たとえば、カメラのポーズ)が、仮想モデリングソフトウェアにストリーミングされるときに、C1変換(すなわち、3D空間内のカメラのポーズ)が変化する場合に、C3変換は、たとえばリアルタイムで、更新することができる。動作時に、C3変換の更新は、次のように機能することができる。追跡システム702は、カメラのポーズの変化を検出することができる(追跡システムが、C1を更新する)。追跡システム702は、カメラの基準フレーム706情報(たとえば、変換行列の形の)を仮想モデリングソフトウェア710にストリーミングすることができる。仮想モデリングソフトウェアは、C3変換行列によってその基準フレームを乗算し/行列を変換して、C3変換を実行することができる。仮想モデリングソフトウェアは、その後、カメラの変化するポーズに基づいて追跡システムに関連する座標フレーム内でさまざまな仮想オブジェクトのポーズを更新することができる。
図1を再度参照すると、仮想モデリングソフトウェア110は、本明細書で説明されるさまざまなルーチン、および技法などを実行して、動的に拡張されたシーン(たとえば、拡張されたシーン114)、たとえば、動的に変更可能な仮想オブジェクトを用いて増補され、かつ/またはこれを重ねられたカメラ102によって取り込まれた実世界空間のリアルタイムビューを作成することができる。上で説明したようにARシステムの較正が達成された後に、仮想モデリングソフトウェア110は、さまざまな仮想オブジェクトと1つまたは複数の実オブジェクト(たとえば、実オブジェクト104)を含む生の実世界シーンとの間の相関および/または位置合せを動的に維持することができる。仮想モデリングソフトウェア110は、カメラ102がオブジェクト104の周囲で移動され、回転される場合であっても、また、実オブジェクト104が移動され回転される場合であっても、この位置合せを維持することができる。
仮想モデリングソフトウェア110は、生のビデオフィード上に配置された仮想オブジェクトを示す動的に拡張されたシーン114(たとえば、ディスプレイ116上に表示される)を作ることができる。仮想モデリングソフトウェア110は、たとえばカメラ102のポーズおよび/または実オブジェクト104のポーズに依存して、拡張されたシーン内で仮想オブジェクトを適切に変形する(たとえば、3D場所、3D方位、および/または3Dサイズを変更する)ことができる。たとえば、カメラ102が、実オブジェクト104から離れる場合には、拡張されたシーン内の1つまたは複数のオブジェクトが、縮小することができる。別の例として、カメラ102が、実オブジェクト104に近づく場合には、1つまたは複数の仮想オブジェクトが、拡大することができる。別の例として、カメラ102が、実オブジェクト104に対してある角度で移動する場合には、1つまたは複数の仮想オブジェクトが、それ相応に回転するはずである。拡張されたシーン114を、その拡張されたシーンがディスプレイ116上に表示される前に、メモリ(たとえば、揮発性メモリユニットまたは不揮発性メモリユニット)に格納する(たとえば、一時的に)ことができる。ディスプレイ116上に表示され、かつ/または拡張されたシーン114内で維持される拡張されたコンテンツまたは仮想コンテンツは、RAシステムを使用しつつあるユーザに有用である可能性がある。たとえば、ユーザは、仮想コンテンツと相互作用し、かつ/または拡張されたコンテンツから有益な情報を受け取ることができる。1つの特定の例として、仮想オブジェクト/コンテンツは、製造プロセス中に機械類に関する貴重な指示情報を技術者に提供することができる。
図10Aに、本開示の1つまたは複数の実施形態に従って作ることができる例示的な拡張されたシーンの図を示す。拡張されたシーンは、カメラによって取り込まれた実世界のシーン/環境、たとえば、テーブル1004およびテーブル上の実オブジェクト1006(たとえば、機械類)を有する部屋1002の一部を含むことができる。拡張されたシーンは、本明細書で説明されるARシステムによって追加された1つまたは複数の仮想オブジェクト、たとえば、実オブジェクト1006に関係する(たとえば、それに基づくCADモデルである)仮想オブジェクト1010を含むことができる。図10Aは、仮想オブジェクト1010の一部(たとえば、切取図)だけを示す。この切り取り図は、仮想オブジェクト1010が実オブジェクト1006にどのように位置合せされ得るのかを示すのを助けることができる。しかし、いくつかの実施形態で、仮想オブジェクト全体を、拡張されたシーン内に表示できることを理解されたい。カメラが移動する場合には、実世界シーンおよび仮想オブジェクトは、同様の形で移動することができる。実オブジェクトが移動する場合には、その実オブジェクトに関係するすべての仮想オブジェクトが、類似する形で移動することができる。図10Aの例示的な拡張されたシーンは、実オブジェクトにならってモデリングされた仮想オブジェクトをたとえばARシステムを較正するために実オブジェクトにどのように位置合せできるのかを示すための一例である。いくつかの例では、較正が完了した後に、実オブジェクトにならってモデリングされた仮想オブジェクトは、拡張されたシーン内に現れないものとすることができる。そうではなく、さまざまな他の仮想オブジェクト、たとえば、実オブジェクトに関係する工具、ハードウェア(たとえば、ねじ)、配線、および指示などが現れることができる。たとえば、これらの仮想オブジェクトは、機械類に関する貴重な指示情報、たとえば、アイテムを設置する方法またはタスクを実行する方法(たとえば、穴を空けるなど)に関する指示を技術者に提供することができる。
図10Bに、本開示の1つまたは複数の実施形態に従って作ることができる例示的な拡張されたシーンの図を示す。拡張されたシーンは、カメラによって取り込まれた実世界のシーン/環境、たとえば実オブジェクト1056(たとえば、パネル)を有する部屋1052の一部を含むことができる。拡張されたシーンは、本明細書で説明されるARシステムによって追加される1つまたは複数の仮想オブジェクト、たとえば、ボックスまたはユニットとすることができる仮想オブジェクト1060ならびにさまざまな関連するワイヤ、導管、および/またはワイヤハーネスを含むことができる。カメラが移動する場合には、実世界シーンおよび実オブジェクトは、類似する形で移動することができる。実オブジェクト1056が移動する(たとえば、パネル)場合には、この実オブジェクトに関係するすべての仮想オブジェクト(たとえば、仮想オブジェクト1060)が、類似する形で移動することができる。たとえば、図10Bの例示的な拡張されたシーンは、技術者に、パネル1056にユニット1060を設置する方法を示すことができる。
本開示のある種の実施形態を、拡張現実感に関する自動化された基準フレーム較正の1つまたは複数の方法に見出すことができる。本明細書で説明され、関連する図面に示されたさまざまな方法に関して、いくつかの実施形態で、説明されかつ/または図示される1つまたは複数のステップを、異なる順序で実行できることを理解されたい。さらに、いくつかの実施形態で、方法は、説明されかつ/または図示されるものより多数またはより少数のステップを含むことができる。
図11に、本開示の1つまたは複数の実施形態による、拡張現実感のための自動化された基準フレーム較正の方法の例示的なステップを示す流れ図1100を示す。より具体的には、図11は、仮想オブジェクト(たとえば、拡張されたシーンに追加される仮想オブジェクト)の基準フレームと追跡システムに関連する基準フレームとの間の写像または変換を決定し、かつ/または計算するのに使用できる自動化された基準フレーム較正の方法の例示的なステップを示す。ステップ1102では、追跡システムの座標系を、たとえば追跡システムのセットアッププロセス中に確立する。ステップ1104では、追跡システムが、実オブジェクト(RO)の基準フレームを追跡し、または決定することができる。追跡システムは、ステップ1104でM1変換をも決定することができる。追跡システムが実オブジェクトを追跡するために、実オブジェクトは、複数の追跡マーカーを備える必要がある可能性がある。
ステップ1106では、仮想モデリングソフトウェアが、たとえば複数の基準ポイントを示し(たとえば、ワンドを使用して)、原点を計算することによって、実オブジェクトの新しい基準フレームを決定することができる。ステップ1108では、仮想モデリングソフトウェアが、M2変換(たとえば、新しいRO基準フレームと追跡システムによって決定された実オブジェクトの基準フレームとの間のポーズの差)を計算することができる。ステップ1110では、仮想モデリングソフトウェアが、仮想オブジェクト(たとえば、実オブジェクトにならってモデリングされた仮想オブジェクト)にアクセスするかロードし、VOの基準フレームを決定することができる。ステップ1112では、仮想モデリングソフトウェアが、たとえば、新しいRO基準フレームを作成するために実オブジェクト上で示されたものと同一の基準点を仮想モデル上で示すことによって、新しいVO基準フレームを決定することができる。点の原点を計算することができる。ステップ1114では、仮想モデリングソフトウェアが、M3変換(たとえば、新しいVO基準フレームとオリジナルのVO基準フレームとの間の差)を計算することができる。ステップ1116では、仮想モデリングソフトウェアが、M4変換を計算することができる(たとえば、M1変換行列、M2変換行列、およびM3変換行列を一緒に乗算することによって)。
図12に、本開示の1つまたは複数の実施形態による、拡張現実感のための自動化された基準フレーム較正の方法の例示的なステップを示す流れ図1200を示す。より具体的には、図12は、追跡システムによって追跡されるカメラの基準フレームとカメラのレンズの基準フレームとの間の写像または変換を決定し、かつ/または計算するのに使用できる自動化された基準フレーム較正の方法の例示的なステップを示す。ステップ1202では、たとえば追跡システムのセットアッププロセス中に、追跡システムの座標系を確立する。ステップ1204では、追跡システムが、カメラの基準フレームを追跡しまたは決定することができる。追跡システムは、ステップ1204で、C1変換をも決定することができる。追跡システムがカメラを追跡するために、カメラ(または、カメラフレームもしくはタブレットコンピュータ)は、複数の追跡マーカーを備える必要がある可能性がある。ステップ1206で、印刷されたマーカーに関連する座標フレームを、たとえば印刷されたマーカーおよび関連するソフトウェアを使用することによって、確立することができる。印刷されたマーカーに関連する座標フレームを、追跡システムの座標フレームに位置合せすることができる。ステップ1208では、仮想モデリングシステムが(たとえば、印刷されたマーカーに関連するソフトウェアを介して)、たとえば印刷されたマーカーの座標フレームに相対的に、カメラレンズの基準フレームを決定することができる。ステップ1210では、仮想モデリングソフトウェアが、C2変換(たとえば、カメラレンズ基準フレームと印刷されたマーカー座標フレームとの間の差)を計算することができる。この計算を、(少なくとも部分的に)印刷されたマーカーに関連するソフトウェアによって実行することができる。ステップ1212では、仮想モデリングソフトウェアが、C3変換を計算することができる(たとえば、C2変換行列によってC1変換行列を除算することによって)。
本明細書で説明されるシステムおよび方法のいずれもが、少なくとも1つのプロセッサを有するデータ処理システム100によって実行される拡張現実感100のための方法を含む変形形態をも企図する。代替の方法は、追跡システム108に関連する追跡システム座標フレーム204を受信することまたは確立することを含むことができる。追跡システム座標フレーム204は、実際の3D空間に位置合せされ、実オブジェクト104またはカメラ102の実際の3D空間内の位置および方位を追跡する。この配置では、データ処理システム100は、追跡システム108から、実オブジェクト104の最初の実オブジェクト基準フレーム212をも受信することができる。最初の実オブジェクト基準フレーム212は、追跡システム座標フレーム204に対する実オブジェクト104の位置および方位を示す。
次に、データ処理システム100は、実オブジェクト104の第2の実オブジェクト基準フレーム212を決定し、ここで、第2の実オブジェクト基準フレーム212は、追跡システム座標フレーム204に対する実オブジェクト104の位置および方位を示す。その後、データ処理システム100は、仮想オブジェクト112の第1の仮想オブジェクト基準フレーム216を受信し、ここで、仮想オブジェクト112は、実オブジェクト104にならってモデリングされ、第1の仮想オブジェクト基準フレーム216は、追跡システム座標フレーム204に関係付けられない。
データ処理システム100は、仮想オブジェクト112の第2の仮想オブジェクト基準フレーム216をも決定し、ここで、第2の仮想オブジェクト基準フレーム216は、追跡システム座標フレーム204に対する仮想オブジェクト112の位置および方位を示す。仮想オブジェクト112写像も、第1の仮想オブジェクト基準フレーム216と追跡システム座標フレーム204との間で決定される。
拡張されたシーン114は、データ処理システム100によって表示され、実際の3D空間のビュー、実オブジェクト104のビュー、および1つまたは複数の重ねられた仮想アイテムを含む。ここで、仮想オブジェクト112写像は、1つまたは複数の仮想アイテムが実オブジェクト104に位置合せされるように、拡張されたシーン114内で1つまたは複数の重ねられる仮想アイテムを配置するのに使用される。
さらなるオプションの配置では、データ処理システム100は、第2の実オブジェクト基準フレーム212をも決定するように構成され、このデータ処理システムは、実オブジェクト104上の1つまたは複数の実オブジェクト非同一直線上点を受信しまたは検出することができる。3つ以上の実オブジェクト非同一直線上点の場所は、追跡システム座標フレーム204に相対的に定義される。実オブジェクト104原点は、3つ以上の実オブジェクト非同一直線上点の重心を計算することによって決定される。その後、実オブジェクト方位は、第1の実オブジェクト基準フレーム212の方位に相対的に決定される。第2の仮想オブジェクト基準フレーム216が、仮想オブジェクト112上の3つ以上の仮想オブジェクト非同一直線上点を受信するか示すことによって決定されることが好ましい可能性があり、ここで、3つ以上の仮想オブジェクト非同一直線上点の場所は、追跡システム座標フレーム204に相対的に定義される。その後、仮想オブジェクト原点が、3つ以上の仮想オブジェクト非同一直線上点の重心を計算することによって決定され、これは、さらに、仮想オブジェクト方位の決定を可能にすることができる。
説明された配置のいずれかに対するさらなる変更では、第2の実オブジェクト基準フレーム212と第2の仮想オブジェクト基準フレーム216とが位置合せされ、ここで、3つ以上の仮想オブジェクト非同一直線上点と3つ以上の実オブジェクト非同一直線上点が、追跡システム座標フレーム204に対してほぼ同一の場所に位置することになる。さらに、実オブジェクト104方位および仮想オブジェクト112方位は、追跡システム座標フレーム204に対する各方位とほぼ同一である。
さらなる他の構成では、仮想オブジェクト112写像の決定は、第1の実オブジェクト基準フレーム212を表す第1の変換行列の受信または決定を含むことができる。第1の実オブジェクト基準フレーム212と第2の実オブジェクト基準フレーム212との間の場所および方位の差を表す第2の変換行列を決定することもできる。さらに、第1の仮想オブジェクト基準フレーム216と第2の仮想オブジェクト基準フレーム216との間の場所および方位の差を表す第3の変換行列を決定することができる。仮想オブジェクト112写像を表す第4の変換行列を計算することもできる。ここで、第4の変換行列は、第1の仮想オブジェクト基準フレーム216と追跡システム座標フレーム204との間の場所および方位の差を表す。第4の変換行列は、第1の変換行列、第2の変換行列、および第3の変換行列の間の行列乗算を実行することによっても計算される。
別の配置では、拡張されたシーン114内に1つまたは複数の重ねられる仮想アイテムを配置するのに仮想オブジェクト112写像を使用することは、第1の重ねられる仮想アイテムについて第1の仮想アイテム基準フレーム216を受信することを含むことができる。この変形形態では、第1の仮想アイテム基準フレーム216は、追跡システム座標フレーム204に関係付けられない。仮想オブジェクト112写像を参照して、第1の仮想アイテム基準フレーム216を、追跡システム座標フレーム204に関係する変換された基準フレームに変換することができる。第1の重ねられる仮想アイテムを、変換基準フレームを使用して拡張されたシーン114内に配置することができる。
データ処理システム100を、さらに、実オブジェクト104の場所および方位に関するリアルタイム情報を追跡システム108から受信するように構成することができる。この変形形態では、仮想オブジェクト112写像は、リアルタイム情報に基づいて更新され、拡張されたシーン114は、1つまたは複数の仮想アイテムが実オブジェクト104に位置合せされたままになるように、1つまたは複数の重ねられる仮想オブジェクトの猪愛知を更新することによって更新される。
異なる示される実施形態の流れ図およびブロック図に示された例示的な方法およびルーチンを含む、本開示の方法、ルーチン、および技法は、データ処理システムが本明細書で開示される方法、ルーチン、および/または技法の一部またはすべてを行い、かつ/または実行するように適合されるようにプログラムされた1つまたは複数のデータ処理システムによって実行されるソフトウェアとして実施され得る。本明細書で参照されるブロック図または流れ図内の各ブロックまたは記号は、1つまたは複数のデータ処理システムによって指定された1つまたは複数の機能を実施する1つまたは複数の実行可能命令を含むコンピュータ使用可能コードまたはコンピュータ可読プログラムコードのモジュール、セグメント、または部分を表すことができる。本開示のいくつかの代替実施態様では、ブロック図または流れ図のブロックまたは記号に示された1つまたは複数の機能が、図面に示された順序から外れて発生し得る。たとえば、いくつかの場合に、連続する2つのブロックまたは記号を、実質的に同時に実行することができ、あるいは、ブロックが、時々、用いられる機能性に応じて逆の順序で実行され得る。コンピュータコードの一部または部分を、データ処理システムがコードを実行する前に、データ処理システムのメモリにロードすることができる。
図13に、本開示の1つまたは複数の実施形態に従って使用できる例示的なデータ処理システム1300のブロック図を示す。たとえば、図1をも瞬間的に参照すると、コンピュータ106は、図13のデータ処理システム1300に類似するデータ処理システムの形をとることができる。別の例として、追跡システム108に関係する追跡システムソフトウェアを、図13のデータ処理システム1300に類似するデータ処理システム上で実行することができる。図13を参照すると、データ処理システム1300は、本開示の方法、ルーチン、および/または解決策のうちの1つまたは複数を、部分的にまたは全体的にのいずれかで実行するのに使用することができる。本開示のいくつかの実施形態では、複数のデータ処理システムを使用して、本明細書で説明される方法、ルーチン、技法、および/または解決策を実施することができる。
図13の例では、データ処理システム1300は、コンポーネント、たとえばプロセッサユニット1304、メモリ1306、永続ストレージ1308、通信ユニット1310、入出力(I/O)ユニット1312、およびディスプレイ1314の間の通信を提供する通信ファブリック1302を含むことができる。バスシステムを使用して、通信ファブリック1302を実施することができ、バスシステムは、システムバスまたは入出力バスなどの1つまたは複数のバスからなるものとすることができる。バスシステムを、バスシステムに接続された異なるコンポーネントまたはデバイス間でのデータの転送を提供する任意の適切なタイプのアーキテクチャを使用して実施することができる。
プロセッサユニット1304は、データ処理システム1300に、たとえばメモリ1306にロードできる命令(たとえば、ソフトウェアプログラム)を実行するように働くことができる。プロセッサユニット1304は、特定の実施形態に応じて、1つまたは複数のプロセッサのセットとすることができ、あるいは、マルチプロセッサコアとすることができる。プロセッサユニット1304を、主プロセッサが単一チップ上に副プロセッサと共に存在する1つまたは複数の異種プロセッサシステムを使用して実施することができる。別の例示的な例として、プロセッサユニット1304は、同一タイプの複数のプロセッサを含む対称型マルチプロセッサシステムとすることができる。
メモリ1306は、たとえば、ランダムアクセスメモリまたは任意の他の適切な揮発性もしくは不揮発性のストレージデバイスとすることができる。メモリ1306は、キャッシュメモリの1つまたは複数の層を含むことができる。永続ストレージ1308は、特定の実施形態に応じて、さまざまな形をとることができる。たとえば、永続ストレージ1308は、1つまたは複数のコンポーネントまたはデバイスを含むことができる。たとえば、永続ストレージ1308は、ハードドライブ、ソリッドステートドライブ、フラッシュメモリ、または上記のある組合せとすることができる。
オペレーティングシステムの命令を、永続ストレージ1308上に配置することができる。1つの特定の実施形態では、オペレーティングシステムは、複数の既知のオペレーティングシステムのあるバージョンとすることができる。アプリケーションおよび/またはプログラムの命令をも、永続ストレージ1308上に配置することができる。これらの命令を、プロセッサユニット1304による実行のためにメモリ1306にロードすることができる。たとえば、本開示で説明される異なる実施形態の方法および/またはプロセスを、メモリ1306などのメモリにロードできるコンピュータ実施された命令を使用してプロセッサユニット1304によって実行することができる。これらの命令を、プロセッサユニット1304内のプロセッサによって読み取り、実行することができる、プログラムコード、コンピュータ使用可能コード、またはコンピュータ可読プログラムコードと称する。
ディスプレイ1314は、たとえばLCDまたはLEDスクリーンまたはモニタ、あるいは他のタイプのディスプレイを介して、ユーザに情報を表示する機構を提供する。本開示全体を通じて、用語「ディスプレイ」が、物理スクリーンなどの物理ディスプレイまたは物理デバイスのスクリーン上でユーザが見るイメージのいずれかを指すために柔軟な形で使用され得ることを理解されたい。入出力(I/O)ユニット1312は、データ処理システム1300に接続され得る他のデバイスを用いるデータの入力および出力を可能にする。入出力デバイスを、直接にまたは介在するI/Oコントーラを介してのいずれかでシステムに結合することができる。
通信ユニット1310は、たとえば1つまたは複数のネットワークを介して、他のデータ処理システムまたはデバイスとの通信を提供することができる。通信ユニット1310は、ネットワークインターフェースカードとすることができる。通信ユニット1310は、有線通信リンクおよび/または無線通信リンクの使用を介して通信を提供することができる。いくつかの実施形態では、通信ユニットは、さまざまな無線通信標準規格、たとえばWiFi標準規格、およびBluetooth標準規格などに従って通信するように設計され、かつ/または適合された回路網を含むことができる。
データ処理システム1300に関して図示された異なるコンポーネントは、異なる実施形態を実施できる形に対するアーキテクチャ的限定を提供することを意味するのではない。異なる図示の実施形態を、データ処理システム1300について図示されたコンポーネントに加えてまたはその代わりのコンポーネントを含むデータ処理システム内で実施することができる。図13に示された他のコンポーネントは、図示の例示的な例から変更することができる。
データ処理システム1300を、コンピュータコードを格納する1つまたは複数のメモリユニットおよび1つまたは複数のメモリ1306に結合された1つまたは複数のプロセッサユニット1304と共に配置することができ、ここで、1つまたは複数のプロセッサユニット1304は、1つまたは複数のメモリユニット1306に格納されたコンピュータコードを実行する。実行するコンピュータコードは、オブジェクト追跡システム108、202に関連する追跡システム座標フレーム204を受信または確立する。追跡システム座標フレーム204は、実際の3D空間に位置合せされ、追跡システム108は、実際の3D空間および印刷されたマーカー(906)を取り込むカメラ102の実際の3D空間内の位置および方位を追跡する。
追跡システム108は、カメラ102のカメラ基準フレームを受信し、このカメラ基準フレームは、追跡システム座標フレーム204に対するカメラ102の位置および方位を示す。やはり受信されまたは確立されるのは、印刷されたマーカーに関連する印刷されたマーカー座標フレーム204であり、印刷されたマーカー座標フレーム204は、実際の3D空間に位置合せされる。印刷されたマーカー座標フレーム204は、追跡システム座標フレーム204に位置合せされ、カメラレンズ基準フレームが、カメラ102のレンズについて決定される。カメラレンズ基準フレームは、印刷されたマーカー座標フレーム204に対するカメラ102レンズの位置および方位を示す。
カメラ102レンズ写像が、カメラ102基準フレームとカメラ102レンズ基準フレームとの間で決定され、拡張されたシーン114が、実際の3D空間および1つまたは複数の仮想アイテムのビューを含めて表示され、ここで、カメラ102レンズ写像が、拡張されたシーン114内の1つまたは複数の仮想アイテムを変更するまたはひずませるために使用される。
異なる有利な実施形態の説明は、例示および説明のために提示されたものであって、網羅的であることまたは諸実施形態を開示された形に限定することは意図されていない。多数の修正形態および変形形態が、当業者に明白になるであろう。さらなる異なる有利な実施形態は、他の有利な実施形態と比較して、異なる利点を提供することができる。選択された1つまたは複数の実施形態は、実用的応用例の実施形態の原理を最もよく説明するため、および特定の企図される使用に適するさまざまな変更を伴うさまざまな実施形態のために本開示を他の当業者が理解することを可能にするために選択され、説明されたものである。
100 拡張現実感(AR)システム
102 カメラ
104 実オブジェクト(RO)
106 コンピュータ
108 追跡システム
110 仮想モデリングソフトウェア
112 仮想オブジェクト(VO)
114 拡張されたシーン
116 ディスプレイ
202 追跡システム
204 座標フレーム
206 RO基準フレーム
210 仮想モデリングソフトウェア
212 実オブジェクト(RO)の新しい基準フレーム
214 VO基準フレーム
216 新しいVO基準フレーム
218 基準フレーム間の位置合せ
300 ワンド
302 第1の部材
304 第2の部材
306 原点
308 追跡マーカー
310 追跡マーカー
312 追跡マーカー
314 追跡マーカー
316 追跡マーカー
400 実オブジェクト
402 追跡マーカー
404 追跡マーカー
406 追跡マーカー
452 点
454 点
456 点
458 点
460 点
500 実オブジェクト
502 点
504 点
506 点
508 点
600 仮想オブジェクト
602 点
604 点
606 点
608 点
702 追跡システム
704 座標フレーム
706 カメラの基準フレーム
710 仮想モデリングソフトウェア
712 座標フレーム
714 カメラレンズ基準フレーム
716 座標フレーム間の位置合せ
800 カメラ
801 フレーム
802 追跡マーカー
804 追跡マーカー
806 追跡マーカー
852 点
854 点
856 点
860 点
870 タブレットコンピュータ
872 ユーザ
874 第1の側面
876 第2の側面
880 実オブジェクト
881 ビュー
882 仮想オブジェクト
884 追跡マーカー
886 追跡マーカー
888 追跡マーカー
902 カメラ
904 視野
906 特殊な印刷されたマーカー
908 マーキング
910 コンピュータ
912 ソフトウェア
1002 部屋
1004 テーブル
1006 実オブジェクト
1010 仮想オブジェクト
1052 部屋
1056 実オブジェクト
1060 仮想オブジェクト
1100 流れ図
1200 流れ図
1300 データ処理システム
1302 通信ファブリック
1304 プロセッサユニット
1306 メモリ
1308 永続ストレージ
1310 通信ユニット
1312 入出力(I/O)ユニット
1314 ディスプレイ

Claims (12)

  1. 少なくとも1つのプロセッサを有するデータ処理システム100によって実行される拡張現実感のための方法であって、
    オブジェクト追跡システム(108)に関連する追跡システム座標フレーム(204)を受信または確立することであって
    前記追跡システム座標フレーム(204)は実際の3D空間に位置合せされ、
    前記追跡システム(108)は、実際の3D空間および印刷されたマーカー(906)を取り込むカメラ(102)の実際の3D空間内の位置および方位を追跡する、
    受信または確立することと、
    前記追跡システム(108)から前記カメラ(102)のカメラ基準フレームを受信することであって、
    前記カメラ基準フレームは前記追跡システム座標フレーム(204)に対する前記カメラ(102)の位置および方位を示す、
    受信することと、
    前記印刷されたマーカー(906)に関連する印刷されたマーカー座標フレーム(204)を受信または確立することであって、
    前記印刷されたマーカー座標フレーム(204)は前記実際の3D空間に位置合せされ、
    前記印刷されたマーカー座標フレーム(204)は前記追跡システム(108)座標フレーム(204)に位置合せされる、
    受信または確立することと、
    前記カメラ(102)のレンズのカメラレンズ基準フレームを決定することであって、
    前記カメラレンズ基準フレームは、前記印刷されたマーカー座標フレーム(204)に対する前記カメラ(102)レンズの位置および方位を示す、
    決定することと、
    前記カメラ(102)基準フレームと前記カメラ(102)レンズ基準フレームとの間のカメラレンズ写像を決定することと、
    前記実際の3D空間および1つまたは複数の仮想アイテムのビューを含む拡張されたシーン(114)を表示することであって、
    前記カメラ(102)レンズ写像が、前記拡張されたシーン(114)内で前記1つまたは複数の仮想アイテムを変更するまたはひずませるために使用される、
    表示することと
    を含む方法。
  2. 前記カメラ(102)レンズ基準フレームを決定することは、前記印刷されたマーカー(906)に関連するソフトウェアプログラムによりカメラ(102)レンズ位置および方位情報を受信することを含む、請求項1に記載の方法。
  3. 前記印刷されたマーカー座標フレーム(204)を前記追跡システム座標フレーム(204)に位置合せすることは、
    前記印刷されたマーカー(906)に関連する原点が、前記追跡システム(108)に関連する原点とほぼ同一の前記3D空間内の場所に配置され、
    前記印刷されたマーカー(906)に関連する3つの軸が、前記追跡システム(108)に関連する3つの軸に前記3D空間内でほぼ位置合せされる
    ように、前記実際の3D空間内の場所および方位に前記印刷されたマーカー(906)を配置することを含む、請求項1に記載の方法。
  4. 前記カメラ(102)レンズ写像を決定することは、
    第1の実オブジェクト基準フレーム(212)を表す第1の変換行列を受信または決定することと、
    前記カメラ(102)レンズ基準フレームと前記印刷されたマーカー座標フレーム(204)との間の場所および方位の差を表す第2の変換行列を決定することと、
    前記カメラ(102)レンズ写像を表す第3の変換行列を計算することであって、
    前記第3の変換行列は、前記カメラ基準フレームと前記カメラレンズ基準フレームとの間の場所および方位の差を表し、
    前記第3の変換行列は、前記第1の変換行列と前記第2の変換行列との間または前記第2の変換行列と前記第1の変換行列との間のいずれかの行列除算を実行することによって計算される、
    計算することと
    を含む、請求項1に記載の方法。
  5. 前記拡張されたシーン(114)内で前記1つまたは複数の重ねられる仮想アイテムを変更するまたはひずませるために前記カメラ(102)レンズ写像を使用することは、
    第1の仮想アイテム基準フレーム(216)を使用して前記拡張されたシーン(114)内に第1の重ねられる仮想アイテムを配置することであって、
    前記第1の仮想アイテム基準フレーム(216)は前記追跡システム座標フレーム(204)に関係する、
    配置することと、
    前記カメラ(102)の前記場所および方位に関するリアルタイム情報を前記追跡システム(108)から受信することと、
    前記リアルタイム情報に基づいて、前記カメラ(102)レンズ基準フレームを更新するために、変換のために仮想オブジェクト(112)写像を参照することと、
    前記更新された前記カメラ(102)レンズ基準フレームに基づいて前記1つまたは複数の重ねられる仮想アイテムを変更するかひずませることによって前記拡張されたシーン(114)を更新することと
    を含む、請求項1に記載の方法。
  6. 前記拡張されたシーン(114)内の前記1つまたは複数の重ねられる仮想アイテムを変更するかひずませることは、前記カメラ(102)が前記3D空間内の実オブジェクト(104)から離れることに応答して、前記重ねられる仮想アイテムを縮小することを含む、請求項1に記載の方法。
  7. 前記拡張されたシーン(114)内の前記1つまたは複数の重ねられる仮想アイテムを変更するかひずませることは、前記カメラ(102)が前記3D空間内の実オブジェクト(104)に近づくことに応答して、前記重ねられる仮想アイテムを拡大することを含む、請求項1に記載の方法。
  8. 前記拡張されたシーン(114)内の前記1つまたは複数の重ねられる仮想アイテムを変更するかひずませることは、前記カメラ(102)が前記3D空間内の実オブジェクト(104)に対してある角度で移動することに応答して、前記重ねられる仮想アイテムを回転させることを含む、請求項1に記載の方法。
  9. 実オブジェクト(104)を含む実際の3D空間のビューを取り込むカメラ(102)と、
    前記実オブジェクト(104)および前記カメラ(102)の実際の3D空間内の位置および方位を追跡する追跡システム(108)であって、前記追跡システム(108)に関連する追跡システム座標フレーム(204)を確立するように構成され、前記追跡システム座標フレーム(204)は前記実際の3D空間に位置合せされている、追跡システム(108)と、
    前記カメラ(102)および前記追跡システム(108)に結合され、1つまたは複数のメモリユニットを有し、仮想モデラを有するように構成されたコンピュータ(106)であって、前記仮想モデラは、
    前記追跡システム(108)から、前記実オブジェクト(104)の第1の実オブジェクト基準フレームを受信するように構成され、前記第1の実オブジェクト基準フレーム(212)は前記追跡システム座標フレーム(204)に対する前記実オブジェクト(104)の位置および方位を示し、
    前記実オブジェクト(104)の第2の実オブジェクト基準フレーム(212)を計算するようにさらに構成され、前記第2の実オブジェクト基準フレーム(212)は、前記追跡システム座標フレーム(204)に対する前記実オブジェクトの位置および方位を示し、
    仮想オブジェクト(112)の第1の仮想オブジェクト基準フレーム(216)を前記1つまたは複数のメモリユニットから受信するように構成され、前記仮想オブジェクト(112)は前記実オブジェクト(104)にならってモデリングされ、前記第1の仮想オブジェクト基準フレーム(216)は前記追跡システム座標フレーム(204)に関係付けられず、
    前記仮想オブジェクト(112)の第2の仮想オブジェクト基準フレーム(216)を計算するようにさらに構成され、前記第2の仮想オブジェクト基準フレーム(216)は前記追跡システム座標フレーム(204)に対する前記仮想オブジェクト(112)の位置および方位を示し、
    前記第1の仮想オブジェクト基準フレーム(216)と前記追跡システム座標フレーム(204)との間の仮想オブジェクト(112)写像を計算するようにさらに構成され、かつ
    前記実際の3D空間のビュー、前記実オブジェクト(104)のビュー、および1つまたは複数の重ねられる仮想アイテムを含む拡張されたシーン(114)を生成し、前記1つまたは複数のメモリユニットに格納するようにさらに構成され、前記仮想オブジェクト(112)写像は、前記1つまたは複数の仮想アイテムが前記実オブジェクト(104)に位置合せされるように前記拡張されたシーン(114)内に前記1つまたは複数の重ねられる仮想アイテムを配置するのに使用される、
    コンピュータ(106)と
    を備えるシステム。
  10. 前記コンピュータ(106)に結合されたディスプレイをさらに備え、前記仮想モデラは前記拡張されたシーン(114)を前記ディスプレイに通信するようにさらに構成され、前記ディスプレイは前記拡張されたシーン(114)をユーザに示すように構成される、請求項9に記載のシステム。
  11. 前記拡張されたシーン(114)内に前記1つまたは複数の重ねられる仮想アイテムを配置するために前記仮想オブジェクト(112)写像を使用することは、
    第1の重ねられる仮想アイテムの第1の仮想アイテム基準フレーム(216)を受信することであって、
    前記第1の仮想アイテム基準フレーム(216)は前記追跡システム座標フレーム(204)に関係付けられない
    受信することと、
    前記第1の仮想アイテム基準フレーム(216)を前記追跡システム座標フレーム(204)に関係する変換された基準フレームに変換するために前記仮想オブジェクト(112)写像を参照することと、
    前記変換された基準フレームを使用して前記拡張されたシーン(114)内に前記第1の重ねられる仮想アイテムを配置することと
    を含む、請求項9に記載のシステム。
  12. 前記仮想モデラは、
    前記実オブジェクト(104)の前記場所および方位に関するリアルタイム情報を前記追跡システム(108)から受信し、
    前記リアルタイム情報に基づいて前記仮想オブジェクト(112)写像を更新し、かつ
    前記1つまたは複数の重ねられる仮想アイテムが前記実オブジェクトに位置合せされたままになるように、前記1つまたは複数の仮想アイテムの前記配置を更新することによって前記拡張されたシーン(114)を更新する
    ようにさらに構成される、請求項9に記載のシステム。
JP2013222976A 2012-10-31 2013-10-28 拡張現実のための自動基準フレーム較正 Active JP6223122B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/665,837 US9508146B2 (en) 2012-10-31 2012-10-31 Automated frame of reference calibration for augmented reality
US13/665,837 2012-10-31

Publications (2)

Publication Number Publication Date
JP2014167786A true JP2014167786A (ja) 2014-09-11
JP6223122B2 JP6223122B2 (ja) 2017-11-01

Family

ID=49518667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013222976A Active JP6223122B2 (ja) 2012-10-31 2013-10-28 拡張現実のための自動基準フレーム較正

Country Status (10)

Country Link
US (1) US9508146B2 (ja)
EP (1) EP2728548B1 (ja)
JP (1) JP6223122B2 (ja)
KR (1) KR102110123B1 (ja)
CN (1) CN103793936B (ja)
AU (1) AU2013224660B2 (ja)
BR (1) BR102013027358B1 (ja)
CA (1) CA2825834C (ja)
RU (1) RU2651239C9 (ja)
SG (1) SG2013068408A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087241A (ja) * 2017-11-09 2019-06-06 ザ・ボーイング・カンパニーThe Boeing Company 拡張現実プラットフォームにおいて、仮想コンテンツを物理環境と空間的に位置合わせするためのシステム、方法、及びツール
JP7470511B2 (ja) 2019-12-17 2024-04-18 荏原環境プラント株式会社 情報処理システム、情報処理方法、情報処理プログラム

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058693B2 (en) * 2012-12-21 2015-06-16 Dassault Systemes Americas Corp. Location correction of virtual objects
WO2014094880A1 (en) * 2012-12-21 2014-06-26 Metaio Gmbh Method for representing virtual information in a real environment
GB2585310B (en) * 2014-05-21 2021-03-31 Tangible Play Inc Virtualization of tangible interface objects
US20150348322A1 (en) * 2014-06-02 2015-12-03 Dell Products L.P. Dynamically Composited Information Handling System Augmented Reality at a Primary Display
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US10345272B2 (en) 2015-07-13 2019-07-09 The Boeing Company Automated calibration of non-destructive testing equipment
US9898869B2 (en) * 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
CN105491365A (zh) * 2015-11-25 2016-04-13 罗军 基于移动终端的图像处理方法、装置及系统
CN105469684A (zh) * 2015-11-26 2016-04-06 中国航空工业集团公司沈阳飞机设计研究所 一种适用于虚拟维修试验平台的模拟工具
CN108475118A (zh) * 2016-01-19 2018-08-31 泰科恩促进有限公司 增强现实的远程交互式系统及相关方法
DE102016205804A1 (de) * 2016-04-07 2017-10-12 Siemens Aktiengesellschaft Positionsbestimmungssystem
IL245339A (en) * 2016-04-21 2017-10-31 Rani Ben Yishai Method and system for verification of registration
US10008040B2 (en) * 2016-07-29 2018-06-26 OnePersonalization Limited Method and system for virtual shoes fitting
US10453232B2 (en) * 2016-08-29 2019-10-22 International Business Machines Corporation Product installation alignment assistance
KR102262812B1 (ko) * 2016-11-11 2021-06-09 텔레폰악티에볼라겟엘엠에릭슨(펍) 증강 현실 소프트웨어 애플리케이션을 지원
CN110140100B (zh) * 2017-01-02 2020-02-28 摩致实验室有限公司 三维增强现实对象用户界面功能
US10552981B2 (en) 2017-01-16 2020-02-04 Shapetrace Inc. Depth camera 3D pose estimation using 3D CAD models
CA3049894A1 (en) * 2017-02-03 2018-08-09 Benjamin Moore & Co. Autonomous system to assist consumers to select colors
CN106875493B (zh) * 2017-02-24 2018-03-09 广东电网有限责任公司教育培训评价中心 Ar眼镜中虚拟目标物的叠加方法
CN106878786B (zh) * 2017-03-07 2020-03-03 北京小米移动软件有限公司 Vr视频中弹幕的显示方法和装置
KR101941005B1 (ko) * 2017-04-05 2019-01-22 광주과학기술원 인카운터 타입 햅틱 시스템에서 임의의 툴에 대한 툴 캘리브레이션 방법
US10742940B2 (en) 2017-05-05 2020-08-11 VergeSense, Inc. Method for monitoring occupancy in a work area
US11044445B2 (en) 2017-05-05 2021-06-22 VergeSense, Inc. Method for monitoring occupancy in a work area
US10777018B2 (en) * 2017-05-17 2020-09-15 Bespoke, Inc. Systems and methods for determining the scale of human anatomy from images
CN108932051B (zh) * 2017-05-24 2022-12-16 腾讯科技(北京)有限公司 增强现实图像处理方法、装置及存储介质
US10643373B2 (en) 2017-06-19 2020-05-05 Apple Inc. Augmented reality interface for interacting with displayed maps
CN107564089B (zh) * 2017-08-10 2022-03-01 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备
CN108734786B (zh) * 2017-09-12 2021-07-27 武汉天际航信息科技股份有限公司 实景三维增强现实可视化系统及方法
EP3462411A1 (en) * 2017-09-27 2019-04-03 Arkite NV Configuration tool and method for a quality control system
US10777007B2 (en) 2017-09-29 2020-09-15 Apple Inc. Cooperative augmented reality map interface
US10567746B2 (en) * 2017-11-14 2020-02-18 Caterpillar Inc. Calibration jig
US11039084B2 (en) * 2017-11-14 2021-06-15 VergeSense, Inc. Method for commissioning a network of optical sensors across a floor space
US10235774B1 (en) 2017-11-14 2019-03-19 Caterpillar Inc. Method and system for calibration of an image capturing device mounted on a machine
FI129042B (en) 2017-12-15 2021-05-31 Oy Mapvision Ltd Computer vision system with a computer-generated virtual reference object
CN108235778B (zh) * 2018-01-09 2021-09-10 达闼机器人有限公司 基于云端计算的标定方法、装置、电子设备和计算机程序产品
NO20180179A1 (en) * 2018-02-02 2019-04-08 Kitron Asa Method and system for augmented reality assembly guidance
US11386572B2 (en) 2018-02-03 2022-07-12 The Johns Hopkins University Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display
CN108876900A (zh) * 2018-05-11 2018-11-23 重庆爱奇艺智能科技有限公司 一种与现实场景融合的虚拟目标投射方法和系统
US10977868B2 (en) * 2018-06-29 2021-04-13 Factualvr, Inc. Remote collaboration methods and systems
US10896546B2 (en) * 2018-07-11 2021-01-19 The Boeing Company Augmented reality system with an active portable anchor
US10839604B2 (en) * 2018-07-11 2020-11-17 The Boeing Company Augmented reality system with an active portable anchor
US10475250B1 (en) * 2018-08-30 2019-11-12 Houzz, Inc. Virtual item simulation using detected surfaces
DE112019004517T5 (de) * 2018-09-10 2021-06-02 Fanuc America Corporation Roboterkalibrierung für ar (augmented reality) und digitaler zwilling
CN109345560B (zh) * 2018-09-20 2021-02-19 网易(杭州)网络有限公司 增强现实设备的运动跟踪精度测试方法及装置
CN109348209B (zh) * 2018-10-11 2021-03-16 北京灵犀微光科技有限公司 增强现实显示装置和视觉标定方法
US10740987B2 (en) * 2018-10-12 2020-08-11 The Boeing Company Augmented reality system for visualizing nonconformance data for an object
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
CN112912937A (zh) * 2018-10-31 2021-06-04 米沃奇电动工具公司 空间感知工具系统
RU2713570C1 (ru) * 2018-12-20 2020-02-05 Анатолий Александрович Перепелица Способ формирования изображения дополненной реальности и робототехническая система для его осуществления
WO2020163218A1 (en) * 2019-02-04 2020-08-13 Beam Therapeutics Inc. Systems and methods for implemented mixed reality in laboratory automation
US10983672B2 (en) * 2019-02-12 2021-04-20 Caterpilar Inc. Augmented reality model alignment
RU2702495C1 (ru) * 2019-03-13 2019-10-08 Общество с ограниченной ответственностью "ТрансИнжКом" Способ и система сбора информации для устройства совмещенной реальности в режиме реального времени
CN109920064A (zh) * 2019-03-14 2019-06-21 烟台九田自动化科技有限公司 一种基于增强现实技术的模型空间位姿的精确调整方法
AU2020241843B2 (en) 2019-03-15 2023-09-28 VergeSense, Inc. Arrival detection for battery-powered optical sensors
CN110020649A (zh) * 2019-03-22 2019-07-16 联想(北京)有限公司 一种信息处理方法、装置、设备及存储介质
EP3946825A1 (en) * 2019-03-25 2022-02-09 ABB Schweiz AG Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
US11538574B2 (en) * 2019-04-04 2022-12-27 Centerline Biomedical, Inc. Registration of spatial tracking system with augmented reality display
CN110322484B (zh) * 2019-05-29 2023-09-08 武汉幻石佳德数码科技有限公司 多设备共享的增强现实虚拟空间的校准方法及系统
CA3090634A1 (en) * 2019-08-20 2021-02-20 Lune Rouge Divertissement Inc. Machine vision system and method
US11620808B2 (en) 2019-09-25 2023-04-04 VergeSense, Inc. Method for detecting human occupancy and activity in a work area
CN110782499B (zh) * 2019-10-23 2023-01-06 Oppo广东移动通信有限公司 一种增强现实设备的标定方法、标定装置及终端设备
KR102314782B1 (ko) 2019-10-28 2021-10-19 네이버랩스 주식회사 3차원 증강현실 표시 방법
KR102199772B1 (ko) * 2019-11-12 2021-01-07 네이버랩스 주식회사 3차원 모델 데이터 생성 방법
CN112836558A (zh) * 2019-11-25 2021-05-25 杭州海康机器人技术有限公司 机械臂末端调整方法、装置、系统、设备及介质
CN111127661B (zh) * 2019-12-17 2023-08-29 北京超图软件股份有限公司 一种数据处理方法、装置及电子设备
US11288792B2 (en) * 2020-02-19 2022-03-29 Palo Alto Research Center Incorporated Method and system for change detection using AR overlays
CN111432119B (zh) * 2020-03-27 2021-03-23 北京房江湖科技有限公司 图像拍摄方法、装置、计算机可读存储介质及电子设备
CN111162840B (zh) * 2020-04-02 2020-09-29 北京外号信息技术有限公司 用于设置光通信装置周围的虚拟对象的方法和系统
US11043039B1 (en) * 2020-04-22 2021-06-22 The Boeing Company 3D point cluster correlation for content alignment on augmented reality platforms
CN113674326B (zh) * 2020-05-14 2023-06-20 惟亚(上海)数字科技有限公司 一种基于增强现实的频域处理的跟踪方法
WO2021230884A1 (en) * 2020-05-15 2021-11-18 Zebra Technologies Corporation Calibration system and method for data capture system
US11557046B2 (en) * 2020-09-30 2023-01-17 Argyle Inc. Single-moment alignment of imprecise overlapping digital spatial datasets, maximizing local precision
KR102358950B1 (ko) * 2020-10-05 2022-02-07 홍준표 모바일 스캔 객체 모델 스케일링을 통한 증강현실 구현 장치 및 방법
KR20220059054A (ko) 2020-11-02 2022-05-10 한국전자통신연구원 특징점 지도 업데이트 기반의 증강현실 컨텐츠 제공 방법 및 이를 위한 장치
CN113112545B (zh) * 2021-04-15 2023-03-21 西安电子科技大学 基于计算机视觉的手持移动打印装置定位方法
CN113345105A (zh) * 2021-06-18 2021-09-03 北京爱奇艺科技有限公司 一种坐标系调整方法、装置、电子设备及存储介质
US11423576B1 (en) 2021-07-23 2022-08-23 Ford Global Technologies, Llc Infrastructure node localization with respect to alternative frame of reference
CN113920281A (zh) * 2021-10-11 2022-01-11 郭小川 一种虚拟现实环境中空间规划方法、系统及应用方法
KR102442637B1 (ko) 2021-11-23 2022-09-13 주식회사 버넥트 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
US11769293B2 (en) 2021-11-23 2023-09-26 Virnect Co., Ltd. Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR20230101463A (ko) 2021-12-29 2023-07-06 주식회사 버넥트 가상 뷰포인트 카메라를 활용하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체를 구현한 실물 객체에 가상 모델을 증강하는 방법
US11922691B2 (en) * 2022-04-20 2024-03-05 Adobe Inc. Augmented reality systems for comparing physical objects

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281504A (ja) * 2002-03-22 2003-10-03 Canon Inc 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
JP2005107970A (ja) * 2003-09-30 2005-04-21 Canon Inc 画像表示装置及び方法
JP2006012042A (ja) * 2004-06-29 2006-01-12 Canon Inc 画像生成方法及び装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020094189A1 (en) * 2000-07-26 2002-07-18 Nassir Navab Method and system for E-commerce video editing
RU54233U1 (ru) * 2006-01-17 2006-06-10 Общество с ограниченной ответственностью "СИМТЕХ" Система виртуального окружения
US20070236514A1 (en) * 2006-03-29 2007-10-11 Bracco Imaging Spa Methods and Apparatuses for Stereoscopic Image Guided Surgical Navigation
CN100470452C (zh) * 2006-07-07 2009-03-18 华为技术有限公司 一种实现三维增强现实的方法及系统
ATE452379T1 (de) * 2007-10-11 2010-01-15 Mvtec Software Gmbh System und verfahren zur 3d-objekterkennung
US7778794B2 (en) 2007-11-26 2010-08-17 The Boeing Company System and method for identifying an element of a structure in an engineered environment
US8482412B2 (en) 2008-10-16 2013-07-09 The Boeing Company Data interface process with RFID data reader glove
CN101520904B (zh) * 2009-03-24 2011-12-28 上海水晶石信息技术有限公司 带有现实环境估算的增强现实的方法及其系统
KR101335391B1 (ko) * 2010-04-12 2013-12-03 한국전자통신연구원 영상 합성 장치 및 그 방법
US8423318B1 (en) 2010-09-17 2013-04-16 The Boeing Company Object management system
US8525830B2 (en) 2010-09-17 2013-09-03 The Boeing Company Point cloud generation system
US9182487B2 (en) 2011-06-22 2015-11-10 The Boeing Company Advanced remote nondestructive inspection system and process
US9113050B2 (en) 2011-01-13 2015-08-18 The Boeing Company Augmented collaboration system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281504A (ja) * 2002-03-22 2003-10-03 Canon Inc 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
JP2005107970A (ja) * 2003-09-30 2005-04-21 Canon Inc 画像表示装置及び方法
JP2006012042A (ja) * 2004-06-29 2006-01-12 Canon Inc 画像生成方法及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087241A (ja) * 2017-11-09 2019-06-06 ザ・ボーイング・カンパニーThe Boeing Company 拡張現実プラットフォームにおいて、仮想コンテンツを物理環境と空間的に位置合わせするためのシステム、方法、及びツール
JP7336184B2 (ja) 2017-11-09 2023-08-31 ザ・ボーイング・カンパニー 拡張現実プラットフォームにおいて、仮想コンテンツを物理環境と空間的に位置合わせするためのシステム、方法、及びツール
JP7470511B2 (ja) 2019-12-17 2024-04-18 荏原環境プラント株式会社 情報処理システム、情報処理方法、情報処理プログラム

Also Published As

Publication number Publication date
US9508146B2 (en) 2016-11-29
CN103793936A (zh) 2014-05-14
AU2013224660A1 (en) 2014-05-15
CA2825834A1 (en) 2014-04-30
BR102013027358B1 (pt) 2022-03-29
RU2651239C2 (ru) 2018-04-18
CA2825834C (en) 2018-01-02
JP6223122B2 (ja) 2017-11-01
KR102110123B1 (ko) 2020-05-14
SG2013068408A (en) 2014-05-29
EP2728548A3 (en) 2017-11-08
EP2728548B1 (en) 2021-02-24
AU2013224660B2 (en) 2019-03-07
US20140118339A1 (en) 2014-05-01
RU2651239C9 (ru) 2018-08-22
CN103793936B (zh) 2018-12-14
RU2013148372A (ru) 2015-05-10
KR20140055975A (ko) 2014-05-09
BR102013027358A2 (pt) 2014-10-21
EP2728548A2 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
JP6223122B2 (ja) 拡張現実のための自動基準フレーム較正
US11704833B2 (en) Monocular vision tracking method, apparatus and non-transitory computer-readable storage medium
CN109584295B (zh) 对图像内目标物体进行自动标注的方法、装置及系统
US11100649B2 (en) Fiducial marker patterns, their automatic detection in images, and applications thereof
US10401844B2 (en) Simulator, simulation method, and simulation program
CN104781849B (zh) 单眼视觉同时定位与建图(slam)的快速初始化
JP2019087241A (ja) 拡張現実プラットフォームにおいて、仮想コンテンツを物理環境と空間的に位置合わせするためのシステム、方法、及びツール
CN107990899A (zh) 一种基于slam的定位方法和系统
JP4917603B2 (ja) 少なくとも1つの実在オブジェクトをモデル化した少なくとも1つの三次元仮想オブジェクトの基準デジタル化フレーム内におけるビデオキャプチャ手段の姿勢を判定する方法及び装置
US7711507B2 (en) Method and device for determining the relative position of a first object with respect to a second object, corresponding computer program and a computer-readable storage medium
CN104360729A (zh) 基于Kinect和Unity3D的多交互方法与装置
CN111427452B (zh) 控制器的追踪方法及vr系统
TW202238449A (zh) 室內定位系統及室內定位方法
CN109227531B (zh) 生成动作程序的编程装置以及程序生成方法
CN108346183B (zh) 一种用于ar基准定位的方法及系统
CN109389645A (zh) 相机自校准方法、系统、相机、机器人及云端服务器
KR102614102B1 (ko) 실물 객체에 대한 정밀한 추적을 위한 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171003

R150 Certificate of patent or registration of utility model

Ref document number: 6223122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250