JP7080946B2 - 位置認識機能を備えた視覚マーカ - Google Patents

位置認識機能を備えた視覚マーカ Download PDF

Info

Publication number
JP7080946B2
JP7080946B2 JP2020160425A JP2020160425A JP7080946B2 JP 7080946 B2 JP7080946 B2 JP 7080946B2 JP 2020160425 A JP2020160425 A JP 2020160425A JP 2020160425 A JP2020160425 A JP 2020160425A JP 7080946 B2 JP7080946 B2 JP 7080946B2
Authority
JP
Japan
Prior art keywords
visual marker
electronic device
location
mobile electronic
visual
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.)
Active
Application number
JP2020160425A
Other languages
English (en)
Other versions
JP2021056220A (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.)
Apple Inc
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of JP2021056220A publication Critical patent/JP2021056220A/ja
Application granted granted Critical
Publication of JP7080946B2 publication Critical patent/JP7080946B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • 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
    • 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/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Telephone Function (AREA)

Description

本開示は、概して、電子デバイスに関し、具体的には、視覚マーカの画像をキャプチャして、位置情報を特定、共有、又は管理する電子デバイスを含むシステム、方法、及びデバイスに関する。
(関連出願の相互参照)
本出願は、2019年9月27日に出願された米国特許仮出願第62/907,163号の利益を主張し、その全体が本明細書に組み込まれる。
今日、視覚マーカは、バーコード、クイックレスポンス(QR)コード、及び他の独自のコードベースシステムの形態で存在している。QRコード(登録商標)は、文字列又は他のペイロードなどのバイナリデータを符号化し、支払いを開始、ウェブサイトにリンク、位置ベースのエクスペリエンス若しくはコンテンツ連動のエクスペリエンスにリンク、又は他のウェブベースのエクスペリエンスを起動する。
本明細書に開示される様々な実装形態は、モバイル電子デバイスと視覚マーカ(例えば、位置情報サービスを含む視覚マーカ又は「位置認識機能を備えた」視覚マーカ)との間の相対位置(例えば、距離及び方向、又はオフセット)を判定するデバイス、システム、及び方法を含む。第1の実施例では、判定された相対位置及び視覚マーカの既知の位置又は記憶された位置を使用して、モバイル電子デバイスのローカルに判定された位置(例えば、自身のセンサ又は受信したグローバルポジショニングシステム(GPS)データを使用して判定した単独位置)よりも正確なモバイル電子デバイスの位置(例えば、地理空間座標、姿勢など)を判定する。
いくつかの実装形態では、プロセッサを有するモバイル電子デバイスにおいて、視覚マーカが物理的環境の画像内で検出される。いくつかの実装形態では、既知の所在場所を有する(例えば、アクセス可能なネットワーク上の位置に記憶された位置データを有する)視覚マーカが、モバイル電子デバイスによってキャプチャされた2D画像又は3D画像内で検出される。次いで、画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定する。いくつかの実装形態では、相対位置は、モバイル電子デバイスに対する視覚マーカの相対的な向きを判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、視覚慣性オドメトリ(VIO)又は自己所在場所推定と環境地図作成の同時実行(SLAM)又はPnP(Perspective-N-Point)技術)を使用して判定される。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。次いで、モバイル電子デバイスの現実世界での所在場所は、モバイル電子デバイスと視覚マーカとの間の相対位置、及び視覚マーカの既知の所在場所に基づいて判定される。視覚マーカの既知の所在場所は、視覚マーカの画像内にキャプチャされた一意識別情報に基づいてアクセスされる(例えば、クラウド内の)リモート位置情報サービスによって提供されてもよい。
本明細書に開示される様々な実装形態は、モバイル電子デバイスと視覚マーカとの間の相対位置(例えば、距離及び方向、又はオフセット)を判定するデバイス、システム、及び方法を含む。第2の実施例では、判定された相対位置がモバイル電子デバイス(例えば、GPS)の位置情報と共に使用されて、展開された視覚マーカ(例えば、視覚マーカの記憶された場所情報のクラウドソーシング)に関連付けられた記憶された場所情報を修正する。いくつかの実装形態では、展開された視覚マーカが、物理的構造(例えば、像又は野球スタジアム)上に恒久的に搭載される、又は別の方法で取り付け又は貼り付けられる。いくつかの実装形態では、視覚マーカが電子デバイスによってスキャンされると、視覚マーカの新たな所在場所(例えば、地理的位置)が判定される。新たな所在場所は、新たなスキャンからのデータを、視覚マーカの従来のスキャンからのデータと共に使用することによって判定されてもよい。例えば、新たなデータは、視覚マーカの記憶された場所情報の精度を高めるために、以前のデータと合成されるか、又は平均化されてもよい。いくつかの実装形態では、視覚マーカのクラウドソースによる所在場所は、視覚マーカを介してアクセス可能なリモート位置情報サービスによって維持される。
プロセッサを有するモバイル電子デバイスにおけるいくつかの実装形態では、視覚マーカが物理的環境の画像内で検出される。いくつかの実装形態では、視覚マーカは、モバイル電子デバイスから、2D画像又は3D画像で検出される。次いで、画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定する。いくつかの実装形態では、相対位置は、モバイル電子デバイス420に対する視覚マーカの相対的な向きを判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。いくつかの実装形態では、視覚マーカの所在場所は、モバイル電子デバイスの(例えば、GPSを介してローカルに判定された)所在場所に基づいて判定される。次いで、視覚マーカのローカルに判定された所在場所がリモート電子デバイスに提供され、リモート電子デバイスは、ローカルに判定された所在場所を使用して、視覚マーカのクラウドソースによる所在場所を更新する。
本明細書に開示される様々な実装形態は、モバイル電子デバイスと視覚マーカ(例えば、位置認識機能を備えた視覚マーカ)との間の相対位置(例えば、距離及び方向、又はオフセット)を判定するデバイス、システム、及び方法を含む。第3の実施例では、判定された相対位置及び視覚マーカの(例えば、クラウドソースによる)記憶された位置を使用して、モバイル電子デバイスによって物理的環境の画像内で検出されたオブジェクトの位置(例えば、地理空間座標)を判定する。いくつかの実装形態では、モバイル電子デバイスによって物理的環境の画像内で検出されたオブジェクトの位置は、視覚マーカの記憶された位置、モバイル電子デバイスの視覚マーカに対する相対位置、及びモバイル電子デバイスのオブジェクトに対する相対位置に基づいて判定される。一例では、オブジェクトは、モバイル電子デバイスによって視覚マーカが物理的環境の画像内で検出される前に、画像内で検出される(例えば、アップストリーム画像)。別の実施例では、オブジェクトは、モバイル電子デバイスによって視覚マーカが物理的環境の画像内で検出された後に、画像内で検出される(例えば、ダウンストリーム画像)。いくつかの実装形態では、視覚マーカの記憶された場所情報を使用して判定されたオブジェクトの位置は、オブジェクトのローカルに判定された位置(例えば、モバイル電子デバイスによって自身のセンサを使用して判定されたオブジェクトのスタンドアロン位置)よりも正確である。
プロセッサを有するモバイル電子デバイスにおけるいくつかの実装形態では、視覚マーカが物理的環境の第1の画像内で検出される。いくつかの実装形態では、視覚マーカは、モバイル電子デバイスから、2D画像又は3D画像で検出される。次いで、第1の画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置が判定される。次いで、モバイル電子デバイスと、物理的環境の第2の画像内に示されたオブジェクトとの間の相対位置が判定される。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。いくつかの実装形態では、相対位置は、モバイル電子デバイスに対する視覚マーカの相対的な向きを判定する。次いで、オブジェクトの所在場所が、モバイル電子デバイスと視覚マーカとの間の相対位置、及び視覚マーカの所在場所に基づいて判定される。いくつかの実装形態では、第1及び第2の画像は同じ画像であってもよく、又は人がモバイル電子デバイスを移動させるとき(例えば、モバイル電子デバイスの追跡された移動)に時間が隔てられた異なる画像であってもよい。
本明細書に開示される様々な実装形態は、プロセッサ(例えば、視覚マーカを介してアクセス可能なリモート電子デバイス又はサーバ)を有する電子デバイスにおける展開された視覚マーカの所在場所をクラウドソースするデバイス、システム、及び方法を含む。いくつかの実装形態では、電子デバイスによって受信された位置情報を(例えば、ユーザがモバイル電子デバイスを使用して展開された視覚マーカをスキャンするときに)使用して、視覚マーカのクラウドソースによる所在場所を更新する。いくつかの実装形態では、電子デバイスによって受信された追加の位置情報は、視覚マーカのクラウドソースによる所在場所の精度を精緻化する。いくつかの実装形態では、展開された視覚マーカに関連する追加の情報(例えば、サイズ)もまた、クラウドソースされる。
プロセッサを有する電子デバイスにおけるいくつかの実装形態では、ローカルに判定された視覚マーカの所在場所情報が、視覚マーカをスキャンするモバイル電子デバイスから受信される。いくつかの実装形態では、ローカルに判定された所在場所のそれぞれは、視覚マーカのそれぞれのスキャン時における、それぞれのモバイル電子デバイスの信号ベースの(例えば、衛星/GPSベースの、WiFiベースの、又はBluetooth(登録商標)ベースの)位置に基づいている。いくつかの実装形態では、視覚マーカの合成位置(例えば、クラウドソースによるもの、平均、加重平均、サブセットの合成、サブセットの時間ベースの平均など)は、複数のローカルに判定された所在場所に基づいて判定される。
いくつかの実装形態によれば、デバイスは、1つ以上のプロセッサと、非一時的メモリと、1つ以上のプログラムと、を含む。1つ以上のプログラムは、非一時的メモリに記憶され、1つ以上のプロセッサによって実行されるように構成されており、1つ以上のプログラムは、本明細書に記載の方法のいずれかを実行するか又は実行させる命令を含む。いくつかの実装形態によれば、非一時的コンピュータ可読記憶媒体は内部に命令を記憶しており、この命令は、デバイスの1つ以上のプロセッサによって実行されると、それに基づきデバイスは本明細書内で説明する方法のうちのいずれかの動作を実行又は実行させる。いくつかの実装形態によれば、デバイスは、1つ以上のプロセッサと、非一時的メモリと、本明細書に記載される方法のいずれかを実行する又は実行させる手段と、を含む。
本開示は、当業者によって理解され得るように、いくつかの例示的な実装形態の態様を参照することによって、より詳細な説明を有してもよく、そのいくつかは添付図面に示されている。
いくつかの実装形態に係る、例示的な動作環境のブロック図である。 いくつかの実装形態に係る、例示的なコントローラのブロック図である。 いくつかの実装形態に係る、例示的な電子デバイス(例えば、ヘッドマウントデバイス(HMD))のブロック図である。 いくつかの実装形態に係る、電子デバイスと視覚マーカとの間の相対位置を使用して判定された、電子デバイスの測位を示す図である。 いくつかの実装形態に係る、視覚マーカを含む物理的環境の画像を使用した、電子デバイスと視覚マーカとの間の相対位置を使用して判定された電子デバイスの測位を示す図である。 いくつかの実装形態に係る、複数の電子デバイスと視覚マーカとの間の相対位置を使用して判定された視覚マーカのクラウドソースによる測位を示す図である。 いくつかの実装形態に係る、電子デバイスと視覚マーカとの間の相対位置を使用し、かつ電子デバイスとオブジェクトとの間の相対位置を使用することによって、視覚マーカに基づいてオブジェクトの所在場所を判定することを示す図である。 いくつかの実装形態に係る、モバイルデバイスと視覚マーカとの間の相対位置を判定する例示的な方法を示すフローチャートである。 いくつかの実装形態に係る、モバイルデバイスと視覚マーカとの間の相対位置を判定する別の例示的な方法を示すフローチャートである。 いくつかの実装形態に係る、視覚マーカ、並びにモバイル電子デバイスの視覚マーカ及びオブジェクトに対する相対位置に基づいて、オブジェクトの所在場所を判定する例示的な方法を示すフローチャートである。 いくつかの実装形態に係る、視覚マーカ情報のクラウドソーシングの例示的な方法を示すフローチャートである。
慣行により、図面に示される様々な特徴は縮尺どおりに描かれていない場合がある。したがって、様々な特徴部の寸法は明確化のために、任意に拡大又は縮小されている場合がある。加えて、いくつかの図面は、所与のシステム、方法、又はデバイスの構成要素の全てを描いていない場合がある。最後に、本明細書及び図の全体を通して、同様の特徴を有することを示すために同様の参照番号が使用される場合がある。
図面に示される例示的な実装形態の十分な理解を提供するために、数多くの詳細が記載されている。しかしながら、図面は単に本開示のいくつかの例示的な態様を示すものであり、したがって、限定的であると考慮されるべきではない。当業者は、他の有効な態様又は変形が本明細書に記載される特定の詳細全ては含まないことを理解するであろう。さらに、本明細書に記載される例示的な実装形態のより適切な態様を不明瞭にしないよう、周知のシステム、方法、構成要素、デバイス及び回路は、網羅的に詳細を記載していない。図1~図3は、電子デバイスを含む例示的な実装形態を示しているが、他の実装では、腕時計及び他のウェアラブル電子デバイス、モバイルデバイス、ラップトップ、デスクトップ、ゲームデバイス、ヘッドマウントデバイス(HMD)、ホームオートメーションデバイス、並びに画像キャプチャデバイスを含むか又は使用する他のデバイスを含むことができ、また、これらに限定されない。
図1は、いくつかの実装形態に係る、例示的な動作環境100のブロック図である。関連する特徴が示されているが、当業者であれば、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないように簡潔化するために、様々な他の特徴が示されていないことを、本開示から理解するであろう。その目的のために、非限定的な例として、動作環境100は、その一方又は両方が物理的環境内にあり得る、コントローラ110及び電子デバイス120を含む。物理的環境とは、人々が電子システムの助けなしに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
いくつかの実装形態では、コントローラ110は、ユーザに対するコンピュータ生成現実(CGR)環境を、管理及び調整するように構成されている。いくつかの実装形態では、コントローラ110は、ソフトウェア、ファームウェア、又はハードウェアの好適な組み合わせを含む。コントローラ110については、図2を参照して以下より詳細に記載する。いくつかの実装形態では、コントローラ110は、物理的環境105に対してローカル又はリモートであるコンピューティングデバイスである。
一例では、コントローラ110は、物理的環境105内に所在するローカルサーバである。別の実施例では、コントローラ110は、物理的環境105の外側に所在するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実装形態では、コントローラ110は、1つ以上の有線又は無線通信チャネル144(例えば、BLUETOOTH(登録商標)、IEEE 802.11x、IEEE 802.16x、IEEE 802.3xなど)を介して、電子デバイス120と通信可能に結合される。
いくつかの実装形態では、コントローラ110及び電子デバイス120は、合わせて、CGR環境をユーザに提示するように構成されている。
いくつかの実装形態では、電子デバイス120は、CGR環境をユーザに提示するように構成されている。いくつかの実装形態では、電子デバイス120は、ソフトウェア、ファームウェア、又はハードウェアの適切な組み合わせを含む。電子デバイス120について、図3を参照して以下でより詳細に説明する。いくつかの実装形態では、コントローラ110の機能は、例えば、スタンドアロンユニットとして機能する電子デバイスの場合に、電子デバイス120によって提供されるか、又は電子デバイス120と組み合わされる。
いくつかの実装形態によれば、電子デバイス120は、ユーザが物理的環境105内にいる間、ユーザにCGR環境を提示する。CGR環境は、人々が電子システムを介して感知し、かつ/又は相互作用する、完全に又は部分的にシミュレーションされた環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応じて、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調整される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応じて、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調整は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。
人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知し、かつ/又はCGRオブジェクトと相互作用してもよい。例えば、人は、3D空間において点音源の知覚を提供する、3D又は空間的広がりを有するオーディオ環境を作り出すオーディオオブジェクトを感知し、かつ/又はそれと相互作用することができる。別の例では、オーディオオブジェクトは、コンピュータ生成オーディオを含め、又は含めずに、物理的環境から周囲音を選択的に組み込むオーディオ透過性を可能にすることができる。いくつかのCGR環境では、人は、オーディオオブジェクトのみを感知し、及び/又はそれと相互作用することができる。
CGRの例としては、仮想現実及び複合現実が挙げられる。仮想現実(VR)環境とは、1つ以上の感覚について、全面的にコンピュータ生成感覚入力に基づくように設計されたシミュレーション環境を指す。VR環境は、人が感知し、かつ/又は相互作用することができる仮想オブジェクトを備える。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人は、コンピュータ生成環境内に人が存在することのシミュレーションを通じて、かつ/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、かつ/又はそれと相互作用することができる。
コンピュータ生成感覚入力に全面的に基づくように設計されたVR環境とは対照的に、複合現実(MR)環境は、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上で、現実環境は、一方の端部における完全に物理的な環境と、他方の端部における仮想現実環境との間のどこかにあるが、両端部は含まない。
MR環境によっては、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境からの物理的物品又はその表現)と相互作用することを可能にするために、物理的環境に対する所在場所及び/又は向きを追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮することができる。
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。拡張現実(AR)環境は、1つ以上の仮想オブジェクトが物理的環境上又はその表現上に重ねられたシミュレーション環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の撮像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に見て、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の撮像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を変換して、撮像センサによってキャプチャされた遠近法とは異なる選択された遠近法(例えば、視点)による面付けを行うことができる。別の例として、物理的環境の表現は、その一部分をグラフィカルに変更(例えば、拡大)することによって変換されてもよく、それにより、変更された部分を元のキャプチャ画像を表すが非写実的であるバージョンとすることができる。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変換されてもよい。
拡張仮想(AV)環境は、物理的環境からの1つ以上の感覚入力を仮想環境又はコンピュータ生成環境が組み込むシミュレーション環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVパークには、仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の撮像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
多種多様の電子システムが存在することによって、人が様々なCGR環境を感知し、かつ/又はCGR環境と相互作用できるようになる。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
図2は、いくつかの実装形態に係る、コントローラ110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実装形態では、コントローラ110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)、THUNDERBOLT(登録商標)、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス204を含む。
いくつかの実装形態では、1つ以上の通信バス204は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路を含む。いくつかの実装形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像キャプチャデバイス又は他のセンサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
メモリ220は、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(CGRAM)、ダブルデータレートランダムアクセスメモリ(DDRRAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ220は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ220は、1つ以上の処理ユニット202からリモートに所在する1つ以上の記憶デバイスを任意選択的に含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ220、又はメモリ220の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム230及び位置モジュール240を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム230は、様々な基本システムサービスを処理するための手順及びハードウェア依存タスクを実行するための手順を含む。
いくつかの実装形態では、位置モジュール240は、位置情報を特定、共有、又は管理するように構成されている。いくつかの実装形態では、位置モジュール240は、視覚マーカ検出ユニット242、相対位置ユニット244、及び位置判定ユニット246を含む。視覚マーカ検出ユニット242は、物理的環境の画像内の視覚マーカを検出及び特定するように構成されている。相対位置ユニット244は、物理的環境の画像から、検出されたオブジェクト又は視覚マーカまでの相対位置を判定するように構成されている。位置判定ユニット246は、測位値(クラウドソースによる又は信号ベースの位置)及び判定された相対位置が与えられて、オブジェクトの計算された所在場所を判定するように構成されている。
位置モジュール240は、1人以上のユーザに対するCGR環境の一部として使用されることになる仮想コンテンツ(例えば、3Dコンテンツ)を提示するように構成されたCGRアプリケーションの一部として実装されてもよい。例えば、ユーザは、例えば、ハンドジェスチャ、音声コマンド、入力デバイス入力などを介した仮想コンテンツ所在場所に基づいて、ユーザが、CGR環境を選択、配置、移動、及び他の方法で提示することを可能にする、CGRベースのユーザインタフェースを見る、又は他の方法で体験することができる。
これらのモジュール及びユニットは、単一のデバイス(例えば、コントローラ110)上に存在するものとして示されているが、他の実装形態では、これらのモジュール及びユニットの任意の組み合わせが、別々のコンピューティングデバイス内に位置してもよいことを理解されたい。さらに、図2は、本明細書に記載される実装形態の構造概略ではなく、特定の実装形態に存在する様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図2に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実装形態において1つ以上の機能ブロックによって実装され得る。モジュールの実際の数並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実装形態において、特定の実装形態のために選択されたハードウェア、ソフトウェア又はファームウェアの特定の組み合わせに部分的に依存する。
図3は、いくつかの実装形態に係る、電子デバイス120の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的のため、非限定的な例として、いくつかの実装形態では、電子デバイス120は、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)デバイス及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、FIREWIRE(登録商標)、THUNDERBOLT(登録商標)、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、SPI、I2C、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のディスプレイ312、1つ以上の内向き又は外向き撮像センサシステム314、メモリ320、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス304を含む。
いくつかの実装形態では、1つ以上の通信バス304は、システム構成要素間の通信を相互接続し、制御する回路を含む。いくつかの実装形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などのうちの少なくとも1つを含む。
いくつかの実装形態では、1つ以上のディスプレイ312がユーザにCGR環境を提示するように構成されている。いくつかの実装形態では、1つ以上のディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、反射型液晶(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放出素子ディスプレイ(SED)、電界放出ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、微小電気機械システム(MEMS)、又は同様のディスプレイタイプに相当する。いくつかの実装形態では、1つ以上のディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。例えば、電子デバイス120は、単一のディスプレイを含む。別の例では、電子デバイス120は、ユーザの各眼用のディスプレイを含む。
メモリ320は、DRAM、CGRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性記憶デバイスなどの不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302からリモートに所在する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及びCGRモジュール340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム330は、様々な基本システムサービスを処理するための手順及びハードウェア依存タスクを実行するための手順を含む。
いくつかの実装形態では、位置モジュール340は、位置情報を特定、共有、又は管理するように構成されている。いくつかの実装形態では、位置モジュール340は、視覚マーカ検出ユニット342、相対位置ユニット344、及び位置判定ユニット346を含む。視覚マーカ検出ユニット342は、物理的環境の画像内の視覚マーカを検出及び特定するように構成されている。相対位置ユニット344は、物理的環境の画像から、検出されたオブジェクト又は視覚マーカまでの相対位置を判定するように構成されている。位置判定ユニット346は、測位値(クラウドソースによる又は信号ベースの位置)及び判定された相対位置が与えられて、オブジェクトの計算された所在場所を判定するように構成されている。
位置モジュール340は、1人以上のユーザに対するCGR環境の一部として使用されることになる仮想コンテンツ(例えば、3Dコンテンツ)を提示するように構成されたCGRアプリケーションの一部として実装されてもよい。例えば、ユーザは、例えば、ハンドジェスチャ、音声コマンド、入力デバイス入力などを介した仮想コンテンツ所在場所に基づいて、ユーザが、CGR環境を選択、配置、移動、及び他の方法で提示することを可能にする、CGRベースのユーザインタフェースを見る、又は他の方法で体験することができる。
さらに、図3は、本明細書に記載される実装形態の構造概略ではなく、特定の実装形態に存在する様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図3に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実装形態において1つ以上の機能ブロックによって実装され得る。モジュールの実際の数並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実装形態において、特定の実装形態のために選択されたハードウェア、ソフトウェア又はファームウェアの特定の組み合わせに部分的に依存する。
図4は、いくつかの実装形態に係る、電子デバイスと視覚マーカとの間の相対位置を使用して判定された、電子デバイスの測位を示す図である。図4に示されるように、視覚マーカ410は、既知の地理的位置に位置し、物理的環境405内の像430上に搭載される。図4では、物理的環境405は公園である。いくつかの実装形態では、電子デバイス420は、モバイル電子デバイスである。
図4に示されるように、いくつかの実装形態では、電子デバイス420は、物理的環境405の画像内の視覚マーカ410を検出する。いくつかの実装形態では、電子デバイス420は、物理的環境405の複数の画像内の視覚マーカ410を検出する。いくつかの実装形態では、画像(単数又は複数)は、電子デバイス420における2D画像又は3D画像である。
いくつかの実装形態では、現実世界のアイテムが物理的環境405内に存在し、電子デバイス420を使用して見ることができる。図5に示されるように、視覚マーカ410A及び像430Aは、物理的環境405内の視覚マーカ410及び像430の、CGR環境405Aにおける同時リアルタイム表現である。図5では、CGR環境405Aは、電子デバイス420のディスプレイ422に示されている。
様々な実装形態では、視覚マーカ410は、リモートベースのエクスペリエンス412にアクセスするために使用される、文字列(例えば、QRコード(登録商標))又は他のペイロードなどのバイナリデータを符号化する2Dオブジェクトである。いくつかの実装形態では、リモートベースのエクスペリエンス412へのリンクは、支払いを開始するリンク(例えば、認められた支払いエンドポイント)、ウェブサイトへのリンク(例えば、URL)、又はウェブベースのエクスペリエンスを起動するリンクを含む。いくつかの実装形態では、視覚マーカ410は、視覚マーカ410の作成者によって許可されている認められたリモートベースのエクスペリエンス412を起動する、又はエクスペリエンス412にリンクするためのみに使用される。
いくつかの実装形態では、リモートベースのエクスペリエンス412は、展開された視覚マーカ410の地理的位置を提供する位置情報サービスを含む。
図4及び図5に示されるように、電子デバイス420は、視覚マーカ410を含む物理的環境405の画像(例えば、CGR環境405A)(単数又は複数)に基づいて、電子デバイス420と視覚マーカ410との間の相対位置を判定することができる。いくつかの実装形態では、相対位置は、電子デバイス420に対する視覚マーカ410の相対的な向きを判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。いくつかの実装形態では、相対位置は、ステレオ画像処理(例えば、視差ベースの推定)に基づいて判定される。いくつかの実装形態では、相対位置は、電子デバイス420から視覚マーカ410までの距離又は方向を判定する。いくつかの実装形態では、相対位置は、電子デバイス420の姿勢に対する、検出された視覚マーカ410の姿勢(例えば、位置及び向き)を判定する。
いくつかの実装形態では、相対位置は、キャプチャされた画像内で検出された視覚マーカ410のサイズ又は縮尺を特定することによって、電子デバイス420において判定される。いくつかの実装形態では、電子デバイス420と検出された視覚マーカ410との間の距離は、視覚マーカ410のサイズに基づいて判定することができる。いくつかの実装形態では、視覚マーカ410のサイズ又は形状は、視覚マーカ410内に符号化でき、その後物理的環境405の画像から直接復号することができる。いくつかの実装形態では、視覚マーカ410のサイズ又は形状(例えば、パラメータ記述)は、視覚マーカ410を介してアクセス可能なリモート位置情報サービス(例えば、位置情報サービス650を参照)によって提供することができる。いくつかの実装形態では、視覚マーカ410のサイズ又は形状は、電子デバイス420によって予め設定され、既知である。いくつかの実装形態では、視覚マーカ410のサイズ又は形状は、電子デバイス420において、VIO、SLAM、RGB-D画像処理などを使用して判定される。
あるいは、電子デバイス420と検出された視覚マーカ410との間の距離は、物理的環境405内で視覚マーカ410を検出する、電子デバイス420における深度センサに基づいて判定することができる。いくつかの実装形態では、電子デバイス420における深度センサは、ステレオベースの深度推定を使用する。いくつかの実装形態では、電子デバイス420における深度センサは、深度のみのセンサ(例えば、飛行時間、構造化光)である。
いくつかの実装形態では、相対位置は、視覚マーカ410を含む物理的環境405のキャプチャされた画像内の、電子デバイス420から検出された視覚マーカ410までの方向を判定する。いくつかの実装形態では、いったん視覚マーカ410のサイズ又は形状が判定されると、(例えば、正方形若しくは長方形の視覚マーカの)4つの角、又は(例えば、円形視覚マーカの)円周を、画像内で特定することができる。いくつかの実装形態では、視覚マーカ410の実際の形状と、画像内の視覚マーカ410の検出された形状との間の歪みを特定又は補正することにより、電子デバイス420と物理的環境405内の検出された視覚マーカ410との間の方向を判定する。
いくつかの実装形態では、相対位置は、電子デバイス420におけるVIO、SLAMなどを使用して、電子デバイス420と検出された視覚マーカ410との間の距離及び方向(例えば、オフセット)を判定する。
図4及び図5に示されるように、いったん電子デバイス420と視覚マーカ410との間の相対位置が判定されると、電子デバイス420の計算された測位値を、その相対位置及び視覚マーカ410の測位値を使用して判定することができる。いくつかの実装形態では、視覚マーカ410の測位値は、視覚マーカ410を使用してアクセス可能なリモート位置情報サービスによって電子デバイスに提供される。いくつかの実装形態では、視覚マーカ410の測位値は、リモート電子デバイス内に記憶される。いくつかの実装形態では、視覚マーカ410の測位値は、クラウド内に記憶される。いくつかの実装形態では、視覚マーカ410の測位値は、視覚マーカ410内に符号化される。
いくつかの実装形態では、電子デバイス420の計算された測位値は、電子デバイス420のローカルに判定された位置よりも正確である。いくつかの実装形態では、電子デバイス420のローカルに判定される位置は、衛星ベースのシステム及び電子デバイス420上のセンサを使用して判定される。いくつかの実装形態では、電子デバイス420のローカルに判定される位置は、電子デバイス420上のGPSセンサを使用して判定される。
図6は、いくつかの実装形態に係る、複数の電子デバイスと視覚マーカとの間の相対位置を使用して判定された視覚マーカのクラウドソースによる測位を示す図である。図6に示されるように、視覚マーカ410は、既知又は未知の地理的位置に位置し、物理的環境405内の像430上に搭載されている。
図6に示されるように、いくつかの実装形態では、複数の電子デバイス420A、420B、420Cはそれぞれ、物理的環境405の1つ以上の画像内の視覚マーカ410を検出する。いくつかの実装形態では、画像(単数又は複数)は、電子デバイス420A、420B、420Cにおける2D画像又は3D画像である。
図6に示されるように、複数の電子デバイス420A、420B、420Cのそれぞれは、視覚マーカ410を含む物理的環境405の1つ以上の画像内で検出された、電子デバイス420A、420B、420Cと視覚マーカ410との間の相対位置を判定することができる。いくつかの実装形態では、相対位置は、電子デバイス420に対する視覚マーカ410の相対的な向きを判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。いくつかの実装形態では、相対位置は、電子デバイス420A、420B、420Cから視覚マーカ410までの距離又は方向を判定する。いくつかの実装形態では、相対位置は、電子デバイス420A、420B、420Cの姿勢(例えば、位置及び向き)に対する、検出された視覚マーカ410の姿勢(例えば、位置及び向き)を判定する。図6に示されるように、視覚マーカ410に対する相対位置(例えば、オフセット)は、図4及び図5に関して上述したように、電子デバイス420A、420B、420Cのそれぞれによって個別に判定することができる。
図6に示されるように、いったん電子デバイス420Aと視覚マーカ410との間の相対位置が判定されると、視覚マーカ410のローカルに判定される測位値は、その相対位置及び電子デバイス420Aのローカルに判定された位置(例えば、測位値)を使用して、電子デバイス420Aによって判定することができる。いくつかの実装形態では、電子デバイス420Aのローカルに判定される位置は、GPSセンサなどの電子デバイス420A上のセンサを使用して判定される。いくつかの実装形態では、ローカルに判定される位置は、視覚マーカ410のそれぞれのスキャン時における、電子デバイス420Aのローカル信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置を使用する。
いくつかの実装形態では、電子デバイス420Aによって判定された視覚マーカ410のローカルに判定される測位値は、視覚マーカ410を介してアクセス可能なリモート位置情報サービス650に提供される。いくつかの実装形態では、電子デバイス420Aによって判定された視覚マーカ410のローカルに判定される測位値は、視覚マーカ410を介してアクセス可能なリモートベースのエクスペリエンス412を使用して、視覚マーカ410のリモート位置情報サービス650に提供される。いくつかの実装形態では、電子デバイス420Aからの視覚マーカ410のローカルに判定される測位値は、リモート電子デバイス(例えば、クラウド)内の位置情報サービス650によって記憶される。いくつかの実装形態では、位置情報サービス650は、リモートベースのエクスペリエンス412の一部、又はそれと共同設置されている。
同様に、いったん電子デバイス420Bと視覚マーカ410との間の相対位置が判定されると、視覚マーカ410のローカルに判定される測位値は、その相対位置及び電子デバイス420Bのローカルに判定された位置(例えば、測位値)を使用して、電子デバイス420Bによって判定することができる。いくつかの実装形態では、ローカルに判定される位置は、視覚マーカ410のそれぞれのスキャン時における、電子デバイス420Bのローカル信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置を使用する。
同様に、いったん電子デバイス420Cと視覚マーカ410との間の相対位置が判定されると、視覚マーカ410のローカルに判定される測位値は、その相対位置及び電子デバイス420Cのローカルに判定される位置(例えば、測位)を使用して、電子デバイス420Cによって判定することができる。いくつかの実装形態では、ローカルに判定される位置は、視覚マーカ410のそれぞれのスキャン時における、電子デバイス420Cのローカル信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置を使用する。
位置情報サービス650において、視覚マーカ410の測位値は、視覚マーカ410をそれぞれスキャンする電子デバイス420A、420B、420Cなどの複数の電子デバイスからローカルに判定される測位値を使用して、修正又はクラウドソースすることができる。いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、1つの電子デバイスによって単一のローカルに判定された位置よりも正確である。
いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位は、視覚マーカ410をスキャンする電子デバイスから報告された、全てのローカルに判定された測位値の合成(例えば、平均)である。いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、視覚マーカ410をスキャンする電子デバイスから報告された、全てのローカルに判定された測位値のサブセットの重み付けされた合成である。いくつかの実装形態では、位置情報サービス650によって使用される重み付けされた合成は、報告している電子デバイスに関連付けられた信頼性係数に基づいている。いくつかの実装形態では、信頼性係数は、電子デバイスにおけるセンサアレイのタイプ(例えば、良好な深度センサがより高い信頼性を得る)、GPS粒度、視覚マーカまでの距離、照明などの1つ以上に基づいている。いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、観察の経過期間を考慮することができ、又はローカルに判定された異常値の測位値を無視することができる。いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、視覚マーカ(例えば、移動中の視覚マーカ)の移動を示唆する新たな場所における新たな観察のクラスタリングを特定するので、より古いローカルに判定された測位値、又は視覚マーカの以前の測位のローカルに判定された測位値は、廃棄されるべきである。いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、1メートル以下の精度である。
いくつかの実装形態では、位置情報サービス650によって判定された視覚マーカ410のクラウドソースによる測位値は、視覚マーカ410をスキャンする電子デバイス(例えば、電子デバイス420A、420B、420C...)からの何らの個人特定可能情報(PII)も使用又は追跡しない。いくつかの実装形態では、視覚マーカ410のローカルに判定された所在場所は、電子デバイスのPIIを何ら送信することなく、位置情報サービス650に送信される。いくつかの実装形態では、中間電子デバイス600は、電子デバイス(例えば、電子デバイス420A、420B、420C...)から情報(視覚マーカ410のローカルに判定された所在場所を含む)を受信し、電子デバイスから位置情報サービス650へ視覚マーカ410のローカルに判定された所在場所を転送する前に、すべてのPIIを除去する。いくつかの実装形態では、中間電子デバイス600は、位置情報サービス650(又はリモートベースのエクスペリエンス412)が電子デバイスのPII(特定すること又は所在場所情報)のいずれにもアクセスできないため、電子デバイス(例えば、電子デバイス420A、420B、420C...)のプライバシーを保護する。
いくつかの実装形態では、視覚マーカ410のサイズがクラウドソースされる。いくつかの実装形態では、視覚マーカ410をスキャンする電子デバイスのそれぞれは、視覚マーカ410のサイズを個別に又はローカルに判定し、視覚マーカ410のそのローカルに判定されたサイズを、リモートベースのエクスペリエンス412を介してアクセス可能なリモートのサイズ計算サービスに報告する。いくつかの実装形態では、位置情報サービス650はまた、視覚マーカ410のクラウドソースによるサイズの制御又は実装も行う。
図7は、いくつかの実装形態に係る、電子デバイスと視覚マーカとの間の相対位置を使用し、かつ電子デバイスとオブジェクトとの間の相対位置を使用することによって、視覚マーカに基づいてオブジェクトの所在場所を判定することを示す図である。図7に示されるように、視覚マーカ410は測位値を含み、物理的環境405の公園内の像430上に搭載されている。
図7に示されるように、いくつかの実装形態では、電子デバイス420Dは、物理的環境405の1つ以上の画像内の視覚マーカ410を検出する。いくつかの実装形態では、画像(単数又は複数)は、電子デバイス420Dにおける2D画像又は3D画像である。
図7に示されるように、電子デバイス420Dは、視覚マーカ410を含む物理的環境405の1つ以上の画像内で検出された、電子デバイス420Dと視覚マーカ410との間の相対位置を判定することができる。いくつかの実装形態では、相対位置は、電子デバイス420に対する視覚マーカ410の相対的な向きを判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。図7に示されるように、視覚マーカ410に対する相対位置(例えば、オフセット)は、図4及び図5に関して上述したように、電子デバイス420Dによって個別に判定することができる。
図7に示されるように、いったん電子デバイス420Dと視覚マーカ410との間の相対位置が判定されると、電子デバイス420Dの計算された測位値は、その相対位置及び視覚マーカ410の測位値を使用して判定することができる。視覚マーカ410の測位値は、視覚マーカ410を使用してアクセス可能なリモート位置情報サービス(例えば、所在場所サービス650)によって、電子デバイス420Dに提供される。いくつかの実装形態では、電子デバイス420Dに提供される視覚マーカ410の測位値は、リモート位置情報サービスによってクラウドソースされる。いくつかの実装形態では、電子デバイス420Dの計算された測位値は、視覚マーカ410の測位値の精度のために、電子デバイス420Dのローカルに判定された信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置よりも正確である。
図7に示されるように、電子デバイス420の経路760を、電子デバイス420Dの移動中に、視覚マーカ410の画像がキャプチャされた第1の位置から追跡することができる。いくつかの実装形態では、経路760は、電子デバイス420Dのセンサを使用して判定される。いくつかの実装形態では、経路760は、電子デバイス420Dにおける慣性センサ、VIO、SLAMなどを使用して判定される。
図7に示されるように、像430から台732までの経路760に沿って、電子デバイス420Dは、食品トラック770を通過し、物理的環境405内の食品トラック770の1つ以上の画像を取得する。いくつかの実装形態では、電子デバイス420Dは、食品トラック770を含む物理的環境405の1つ以上の画像内に示された、電子デバイス420Dと食品トラック770との間の相対位置を判定する。いくつかの実装形態では、図4及び図5に関して上述したように、食品トラック770に対する相対位置(例えば、オフセット)は、電子デバイス420Dによって個別に判定することができる。
いくつかの実装形態では、電子デバイス420Dは、視覚マーカ410の提供された測位値に基づく食品トラック770の測位値、電子デバイス420Dと視覚マーカ410との間の相対位置、電子デバイス420Dの経路760の追跡、及び電子デバイス420Dと食品トラック770との間の相対位置、を判定する。
図7に示されるように、経路760は、物理的環境405内のショッピングモール730の物理的地図を示す、台732上に搭載された視覚マーカ710で終了する。再度、電子デバイス420Dは、電子デバイス420Dと、視覚マーカ710を含む物理的環境405の1つ以上の画像内で検出された視覚マーカ710との間の相対位置を判定することができる。いくつかの実装形態では、図4及び図5に関して上述したように、視覚マーカ710に対する相対位置(例えば、オフセット)は、電子デバイス420Dによって個別に判定することができる。
いくつかの実装形態では、いったん電子デバイス420Dと視覚マーカ710との間の相対位置が判定されると、電子デバイス420Dの第2の計算された測位値は、その相対位置及び視覚マーカ710の測位値を使用して判定することができる。視覚マーカ710の測位値は、視覚マーカ710を使用してアクセス可能なリモート位置情報サービス(例えば、位置情報サービス650)によって、電子デバイス420Dに提供される。いくつかの実装形態では、電子デバイス420Dに提供される視覚マーカ710の測位値は、リモート位置情報サービスによってクラウドソースされる。いくつかの実装形態では、電子デバイス420Dの第2の計算された測位値は、視覚マーカ710の測位の精度のために、電子デバイス420Dのローカルに判定された信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置よりも正確である。
いくつかの実装形態では、電子デバイス420Dの第2の計算された測位値の精度により、CGRによる物理的環境405との相互作用が可能である。例えば、いったん電子デバイス420Dが視覚マーカ710をスキャンし、電子デバイス420Dの第2の計算された測位値を判定すると、ショッピングモール730のフロアに対する方向を示すCGRの足跡は、電子デバイス420Dのユーザを、台732からショッピングモール730内の選択された店舗734に案内することができる。
いくつかの実装形態では、電子デバイス420Dは、視覚マーカ710の提供された測位値と、電子デバイス420Dと視覚マーカ710との間の相対位置と、電子デバイス420Dによる経路760の追跡と、視覚マーカ710によって提供された新たに判定された測位値を使用して、食品トラック770が観察された経路760に沿った場所の測位値を更新することによる、電子デバイス420Dと食品トラック770との間の相対位置と、に基づいて食品トラック770の測位値を更新する。
いくつかの実装形態では、電子デバイス420Dは、視覚マーカ410、710、及びそれらの測位値のリストのローカル地図を記憶する。いくつかの実装形態では、位置情報サービス650は、視覚マーカ410、710、及びそれらの測位値の地図又はリストを記憶する。いくつかの実装形態では、位置情報サービス650は、互いの又は全体の所定の距離内の、視覚マーカ及びそれらの測位値の地図又はリストを記憶する。いくつかの実装形態では、電子デバイス420によって照会されると、位置情報サービス650は、所定の距離内の、又は特定の被写体(例えば、歴史的建造物)に関連する、視覚マーカ及びそれらの測位値の地図又はリストを提供する。
図7に示されるように、物理的環境405内における電子デバイス420Dによる、視覚マーカ410の視覚的検出、食品トラック770の視覚的検出、及び視覚マーカ710の視覚的検出は、時間的に分離された異なる画像(例えば、1つ以上の画像)内にある。いくつかの実装形態では、電子デバイス420Dによる、視覚マーカ410の視覚的検出及び食品トラック770の視覚的検出は、同じ画像(例えば、1つ以上の画像)内にあり得る。いくつかの実装形態では、電子デバイス420Dによる、食品トラック770の視覚的検出及び視覚マーカ710の視覚的検出は、同じ画像(例えば、1つ以上の画像)内にあり得る。いくつかの実装形態では、電子デバイス420Dによる、視覚マーカ410の視覚的検出、食品トラック770の視覚的検出、及び視覚マーカ710の視覚的検出は、同じ画像(例えば、1つ以上の画像)内にあり得る。
いくつかの実装形態では、視覚マーカは、移動できるオブジェクト上に搭載される。例えば、視覚マーカは、それらの所在場所が繰り返し移動する、周期的に移動する、又は日々移動する食品トラック上に搭載することができる。あるいは、食品トラックは、朝食、昼食、及び夕食のために異なる所在場所に移動することができる。いくつかの実装形態では、視覚マーカに関連付けられたメタデータは、視覚マーカを移動中の視覚マーカとして特定し、移動中の視覚マーカに関連付けられた測位は、時間閾値又は位置変化閾値に基づいて更新される(例えば、古い観察位置は破棄又は重み付けを減らし、視覚マーカが移動したことを示唆する観察場所の大きな差異がある場合には以前の観察値を破棄又は重み付けを減らすなど)。いくつかの実装形態では、移動中の視覚マーカの変更され得る測位は、それぞれクラウドソースされる。いくつかの実装形態では、視覚マーカ又は移動中の視覚マーカに関連付けられたメタデータは、リモート位置情報サービス(例えば、位置情報サービス650)において維持される。
いくつかの実装形態では、視覚マーカに関連付けられたメタデータは、リモートベースのエクスペリエンス412、又はリモート位置情報サービス650において維持される。いくつかの実装形態では、視覚マーカに関連付けられたメタデータは、リモートベースのエクスペリエンス412に関連する情報を含む。いくつかの実装形態では、視覚マーカに関連付けられたメタデータは、物理的な場所において展開された視覚マーカがいつ又はどのように有効かに関するパラメータを定義する。例えば、レストランにおける視覚マーカに関連付けられたメタデータは、交互に、レストランがオープンしている時(例えば、午前8時~午後6時)にはレストランのメニューを示すウェブベースのエクスペリエンスを起動し、レストランがクローズしている時には営業時間のみを示すウェブベースのエクスペリエンスを起動することができる。
図4~図7に示されるように、いくつかの実装形態では、物理的環境405の画像は、電子デバイス420上のセンサ(例えば、カメラ)を使用して取得される。いくつかの実装形態では、センサは、RGBカメラ、ステレオカメラ、深度センサ(例えば、飛行時間、構造化光)、RGB-Dカメラ、1つ以上の2Dカメラ、赤外線カメラなどであり得る。いくつかの実装形態では、カラー画像を使用することができる。あるいは、いくつかの実装形態では、グレースケール画像を使用することができる。
図4~図7は、電子デバイス420を示す。電子デバイス420は、コントローラ110及び電子デバイス120の一方又は両方の、一部又は全ての特徴を含むことができる。
図8は、いくつかの実装形態に係る、モバイルデバイスと視覚マーカとの間の相対位置を判定する例示的な方法を示すフローチャートである。いくつかの実装形態では、方法800は、デバイス(例えば、図1~図3のコントローラ100又は電子デバイス120)によって実行される。方法800は、電子デバイスを使用して、又は互いに通信する複数のデバイスによって、CGR環境に対して実行することができる。いくつかの実装形態では、方法800は、処理ロジックによって実行され、処理ロジックは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。いくつかの実装形態では、方法800は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
ブロック810において、方法800は、物理的環境の画像内で視覚マーカを検出する。いくつかの実装形態では、既知の所在場所を有する視覚マーカは、モバイル電子デバイスの2D画像又は3D画像内で検出される。
ブロック820において、方法800は、画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)、又はPNP技術を使用して判定される。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。いくつかの実装形態では、距離は、視覚マーカの記憶又は符号化されたサイズ、及び画像内の視覚マーカのサイズを使用することに基づいてもよい。いくつかの実装形態では、距離は、RGB-D画像処理に基づいてもよい。いくつかの実装形態では、距離は、SLAM画像処理に基づいてもよい。いくつかの実装形態では、距離は、ステレオ画像処理(例えば、視差ベースの推定)に基づいてもよい。いくつかの実装形態では、方向は、モバイル電子デバイスのセンサ(例えば、カメラ)の方向を判定するためのセンサを使用することに基づいてもよい。いくつかの実装形態では、方向は、視覚マーカの記憶又は符号化された2D形状(例えば、形状のパラメータ記述)、及び画像内の視覚マーカの形状を使用することに基づいてもよい。ブロック820におけるいくつかの実装形態では、方法800は、モバイル電子デバイスに対する視覚マーカの相対的な向きを判定する。
ブロック830において、方法800は、モバイル電子デバイスと視覚マーカとの間の相対位置、及び展開された視覚マーカの所在場所に基づいて、モバイル電子デバイスの所在場所を判定する。いくつかの実装形態では、展開された視覚マーカは、物理的環境内において展開された視覚マーカの測位値を提供する位置情報サービスを含む。視覚マーカの所在場所は、クラウド内に記憶されてもよく、視覚マーカに符号化されてもよく、又は視覚マーカをスキャンするとアクセス可能な位置情報サービスによって提供されてもよい。
ブロック830におけるいくつかの実装形態では、判定された相対位置及び視覚マーカの記憶された位置又は提供された測位が使用されて、モバイル電子デバイスのローカルに判定された位置(例えば、GPS又はその自身のセンサを使用するスタンドアロン位置)よりも正確であり得るモバイル電子デバイスの位置(例えば、地理空間座標、姿勢など)を判定する。
ブロック810におけるいくつかの実装形態では、物理的環境の画像は、プロセッサを有するモバイル電子デバイス(例えば、HMD)上のセンサ(例えば、カメラ)を使用して取得される。いくつかの実装形態では、画像は2D画像又は3D画像である。いくつかの実装形態では、センサは、RGBカメラ、深度センサ、RGB-Dカメラ、1つ以上の2Dカメラ、赤外カメラなど、であり得る。いくつかの実装形態では、センサの組み合わせが使用される。いくつかの実装形態では、センサは、物理的環境を表すCGR環境を生成するために使用される。いくつかの実装形態では、CGR環境は、モバイル電子デバイスにおいてVIO又はSLAM位置追跡などを使用して生成される。いくつかの実装形態では、カラー画像を使用することができる。あるいは、いくつかの実装形態では、グレースケール画像を使用することができる。
図9は、いくつかの実装形態に係る、モバイルデバイスと視覚マーカとの間の相対位置を判定する例示的な方法を示すフローチャートである。いくつかの実装形態では、方法900は、デバイス(例えば、図1~図3のコントローラ100又は電子デバイス120)によって実行される。方法900は、電子デバイスを使用して、又は互いに通信する複数のデバイスによって、CGR環境に対して実行することができる。いくつかの実装形態では、方法900は、処理ロジックによって実行され、処理ロジックは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。いくつかの実装形態では、方法900は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
ブロック910において、方法900は、物理的環境の画像内の視覚マーカを検出する。いくつかの実装形態では、既知又は未知の所在場所を有する視覚マーカは、モバイル電子デバイスの2D画像又は3D画像内で検出される。
ブロック910におけるいくつかの実装形態では、物理的環境の画像は、プロセッサを有するモバイル電子デバイス(例えば、スマートフォン)上のセンサ(例えば、カメラ)を使用して取得される(ブロック810を参照)。
ブロック920において、方法900は、画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)又はPNP技術を使用して判定される(ブロック820を参照)。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。
ブロック930において、方法900は、モバイル電子デバイスと視覚マーカとの間の相対位置、及びモバイル電子デバイスの(例えば、GPSを介してローカルに判定された)所在場所に基づいて、視覚マーカのローカルに判定された所在場所を判定する。いくつかの実装形態では、視覚マーカのローカルに判定された所在場所は、視覚マーカのそれぞれのスキャン時における、モバイル電子デバイスの信号ベース(例えば、衛星/GPSベース、WiFiベース、又はBluetooth(登録商標)ベース)の位置を使用して、モバイル電子デバイスにおいて判定される。
ブロック940において、方法900は、視覚マーカのローカルに判定された所在場所をリモート電子デバイスに提供する。いくつかの実装形態では、リモート電子デバイスは、ローカルに判定された所在場所を使用して、視覚マーカのクラウドソースによる所在場所を更新する。いくつかの実装形態では、リモート電子デバイスは、視覚マーカのクラウドソースによる所在場所をリモート電子デバイスに記憶する。いくつかの実装形態では、リモート電子デバイスは、視覚マーカのクラウドソースによる所在場所をクラウド内に記憶する。いくつかの実装形態では、リモート電子デバイスは、視覚マーカを使用してアクセス可能である。
いくつかの実装形態では、モバイル電子デバイスは、視覚マーカのローカルに判定された所在場所をリモート電子デバイスに提供して、視覚マーカのクラウドソースによる所在場所の精度を高める。いくつかの実装形態では、電子デバイスは、視覚マーカの新たにローカルに判定された所在場所(例えば、地理的位置)を計算し、他のモバイル電子デバイスによって提供された他のローカルに判定された所在場所と共に使用(例えば、合成又は平均)して、視覚マーカのクラウドソースによる所在場所の精度を高める。
図10は、いくつかの実装形態に係る、視覚マーカ、並びにモバイル電子デバイスの視覚マーカ及びオブジェクトに対する相対位置に基づいて、オブジェクトの所在場所を判定する例示的な方法を示すフローチャートである。いくつかの実装形態では、方法1000は、デバイス(例えば、図1~図3のコントローラ100又は電子デバイス120)によって実行される。方法1000は、電子デバイスを使用して、又は互いに通信する複数のデバイスによって、CGR環境に対して実行することができる。いくつかの実装形態では、方法1000は、処理ロジックによって実行され、処理ロジックは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。いくつかの実装形態では、方法1000は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
ブロック1010において、方法1000は、物理的環境の第1の画像内において視覚マーカを検出する。いくつかの実装形態では、既知の所在場所を有する視覚マーカは、モバイル電子デバイスの2D画像又は3D画像内で検出される。
ブロック1010におけるいくつかの実装形態では、物理的環境の第1の画像は、プロセッサを有するモバイル電子デバイス(例えば、スマートフォン)上のセンサ(例えば、カメラ)を使用して取得される(ブロック810を参照)。
ブロック1020において、方法1000は、第1の画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定する。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)又はPNP技術を使用して判定される(ブロック820を参照)。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。
ブロック1030において、方法1000は、モバイル電子デバイスと、物理的環境の第2の画像内に示されたオブジェクトとの間の相対位置を判定する。ブロック1030におけるいくつかの実装形態では、モバイル電子デバイスとオブジェクトとの間の相対位置は、第2の画像に基づいて判定される。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)又はPNP技術を使用して判定される(ブロック820を参照)。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。
ブロック1030におけるいくつかの実装形態では、物理的環境の第2の画像は、プロセッサを有するモバイル電子デバイス(例えば、スマートフォン)上のセンサ(例えば、カメラ)を使用して取得される(ブロック810を参照)。
ブロック1040において、方法1000は、モバイル電子デバイスと視覚マーカとの間の相対位置、モバイル電子デバイスとオブジェクトとの間の相対位置、及び視覚マーカの所在場所に基づいて、オブジェクトの所在場所を判定する。
いくつかの実装形態では、オブジェクトは、モバイル電子デバイスによって視覚マーカが物理的環境の画像内で検出される前に、第2の画像内で検出される(例えば、アップストリーム画像)。いくつかの実装形態では、オブジェクトは、モバイル電子デバイスによって視覚マーカが物理的環境の画像内で検出された後に、第2の画像内で検出される(例えば、ダウンストリーム画像)。いくつかの実装形態では、モバイル電子デバイスによって第2の画像内で検出されたオブジェクトは、モバイル電子デバイスによる第2の画像のキャプチャと物理的環境の画像のキャプチャとの間で判定された、更新されたモバイル電子デバイス所在場所に関する情報を使用して更新される。いくつかの実装形態では、モバイル電子デバイスによって第2の画像内で検出されたオブジェクトは、追加の視覚マーカ(例えば、視覚マーカ710)を使用して判定された、新たに判定された測位値を使用して更新される。いくつかの実装形態では、視覚マーカの所在場所は、視覚マーカを使用してアクセス可能なクラウドソースによる所在場所である。いくつかの実装形態では、モバイル電子デバイスによって物理的環境の第2の画像内で検出されたオブジェクトの視覚マーカの支援による位置は、オブジェクトのローカルに判定された位置(例えば、GPS又は自身のセンサを使用してモバイル電子デバイスによって判定されたオブジェクトのスタンドアロン位置)よりも正確である。
いくつかの実装形態では、第1の画像及び第2の画像は、同じ画像であってもよい。いくつかの実装形態では、第1の画像及び第2の画像は、人がモバイル電子デバイスを移動させるとき(例えば、モバイル電子デバイスの追跡された移動時)に時間的に分離された異なる画像である。
図11は、いくつかの実装形態に係る、視覚マーカ情報をクラウドソーシングする例示的な方法を示すフローチャートである。いくつかの実装形態では、方法1100は、デバイス(例えば、図1~図3のコントローラ110又は電子デバイス120)によって実行される。方法1100は、電子デバイスを使用して、又は互いに通信する複数のデバイスによって、CGR環境に対して実行することができる。いくつかの実装形態では、方法1100は、処理ロジックによって実行され、処理ロジックは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。いくつかの実装形態では、方法1100は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。
ブロック1110において、方法1100は、視覚マーカをスキャンするモバイル電子デバイスから受信した視覚マーカのローカルに判定された所在場所を受信する。いくつかの実装形態では、ローカルに判定された所在場所のそれぞれは、視覚マーカのそれぞれのスキャン時における、それぞれのモバイル電子デバイスの信号ベースの(例えば、衛星/GPSベースの、WiFiベースの、又はBluetooth(登録商標)ベースの)位置に基づいている。
ブロック1120において、方法1100は、複数のローカルに判定された所在場所に基づいて、視覚マーカの合成所在場所を判定する。いくつかの実装形態では、合成位置は、複数のローカルに判定された所在場所の、クラウドソースによるもの、平均、加重平均、サブセットの合成、サブセットの時間ベースの平均などである。
いくつかの実装形態では、受信されたローカルに判定された所在場所は、視覚マーカの合成した又はクラウドソースによる所在場所の精度を精緻化する。いくつかの実装形態では、(例えば、ますます多くのユーザが視覚マーカをスキャンするときに)ローカルに判定された追加の位置情報を受信することを使用して、視覚マーカの合成された位置を更新することができる。
いくつかの実装形態では、方法1100は、視覚マーカを使用してアクセス可能なプロセッサを有するリモート電子デバイスによって実行される。いくつかの実装形態では、プロセッサを有するリモート電子デバイスは、モバイル電子デバイスで視覚マーカをスキャンすることによってアクセスされる。
ブロック1110におけるいくつかの実装形態では、視覚マーカのそれぞれのスキャンは、物理的環境内の視覚マーカを示している画像を含む。いくつかの実装形態では、画像(例えば、2D又は3D)は、プロセッサを有するモバイル電子デバイス(例えば、スマートフォン)上のセンサ(例えば、カメラ)を使用して取得される(ブロック810を参照)。ブロック1110におけるいくつかの実装形態では、それぞれのスキャンは、画像に基づいて、モバイル電子デバイスと視覚マーカとの間の相対位置を判定するために使用される。いくつかの実装形態では、相対位置は、コンピュータビジョン技術(例えば、VIO若しくはSLAM)又はPNP技術を使用して判定される(ブロック820を参照)。いくつかの実装形態では、相対位置は、モバイル電子デバイスから視覚マーカまでの距離又は方向を判定する。
いくつかの実装形態では、視覚マーカのサイズは、クラウドソースされる。いくつかの実装形態では、受信されたローカルに判定された所在場所のそれぞれは、視覚マーカのローカルに判定されたサイズを含む。いくつかの実装形態では、受信されたローカルに判定された所在場所のうちの少なくとも1つは、視覚マーカのローカルに判定されたサイズを含む。
いくつかの実装形態では、システムは、非一時的コンピュータ可読記憶媒体と、非一時的コンピュータ可読記憶媒体に結合された1つ以上のプロセッサと、を含み、この非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサ上で実行されると、本明細書に開示される例示的な方法をシステムに実行させるプログラム命令を含む。いくつかの実装形態では、非一時的コンピュータ可読記憶媒体は、コンピュータ上でコンピュータ実行可能なプログラム命令を記憶して、本明細書に開示される例示的な方法を含む動作を実行する。
請求項記載対象の完全な理解を提供するために、多数の具体的な詳細が本明細書に記載されている。しかしながら、当業者であれば、請求項記載対象は、これらの具体的な詳細を伴わずに実施され得ることを理解するであろう。他の例において、当業者によって既知である方法、装置又はシステムは、請求項記載対象を不明瞭にしないように、詳細に記載されていない。
特に明記しない限り、本明細書の説明全体を通して、「処理する」、「計算する(computing)」、「計算する(calculating)」、「判定する」、及び「特定する」などの用語を利用することは、コンピューティングデバイスのアクション又はプロセスを指すことが理解される。コンピューティングデバイスとは、メモリ、レジスタ若しくは他の情報記憶デバイス、送信デバイス又はコンピューティングプラットフォームの表示デバイス範囲内にある物理電子量又は磁気量として表されるデータを操作するか又は変換する、1つ以上のコンピュータ又は類似の電子コンピューティングデバイス(単数又は複数)などである。
本明細書で論じられるシステム(単数又は複数)は、いかなる特定のハードウェアアーキテクチャ又は構成にも限定されない。コンピューティングデバイスは、1つ以上の入力が条件づけられた結果を提供する、任意の好適な構成要素の配置を含み得る。好適なコンピューティングデバイスは、汎用計算装置から本対象の1つ以上の実装形態を実装する専用計算装置まで、コンピューティングシステムをプログラミングするか又は構成するよう記憶されたソフトウェアにアクセスする汎用マイクロプロセッサベースのコンピュータシステムを含む。任意の好適なプログラミング、スクリプティング又は他のタイプの言語若しくは言語の組み合わせを使用して、本明細書に含まれる教示をソフトウェア内に実装して、コンピューティングデバイスのプログラミング又は構成に使用してもよい。
本明細書に開示される方法の実装形態は、このようなコンピューティングデバイスの動作において実行されてもよい。上述の例で提示されているブロックの順序は変更可能であり、例えば、ブロックを並べ替えるか、結合するか又はサブブロックに分割することができる。特定のブロック又はプロセスは、並行して実行することができる。
本明細書の「ように適合される」又は「ように構成される」の使用は、追加のタスク若しくはステップを実行するように適合するか又は構成されるデバイスを排除しない、限定されず、かつ包括的な言語を意味する。更に、「に基づく」の使用は、1つ以上の列挙された条件又は値「に基づく」プロセス、ステップ、計算又は他のアクションが、実際には、列挙された条件又は値を超える追加の条件又は値に基づいてもよいという点で、限定されずかつ包括的であることを意味する。本明細書に含まれる見出し、リスト及び番号付けは、説明を容易にするためのものであり、限定することを意図するものではない。
本明細書では、様々なオブジェクトを説明するために「第1の」、「第2の」などの用語が使用される場合があるが、これらのオブジェクトは、これらの用語によって限定されるべきではないことも理解されたい。これらの用語は、あるオブジェクトを別のオブジェクトと区別するためにのみ使用される。例えば、「第1ノード」の全ての出現について一貫して名前が変更され、「第2ノード」のすべての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第1ノードは第2ノードと呼ぶことができ、同様に、第2ノードは第1ノードと呼ぶことができる。第1のノードと第2のノードは両方ともノードであるが、それらは同じノードではない。
本明細書で使用される用語は、特定の実装形態を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実装形態の説明及び添付の特許請求の範囲で使用されるとき、単数形の「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形も含むことを意図している。また、本明細書で使用されるとき、用語「又は」は、関連する列挙された事項のうちの1つ以上の一切の可能な組み合わせを指し、かつこれを含むことを理解されたい。用語「comprises(を備える)」又は「comprising(を備えている)」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、オブジェクト、又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、オブジェクト、構成要素、若しくはそれらのグループの存在又は追加を除外しないことを更に理解されたい。
本明細書で使用されるときには、用語「if」は、文脈に応じて、「時」又は「際に」又は、先に述べた条件が正しいとの「判定に応じて」又は「判定に従って」、「検出に応じて」を意味するものと解釈できる。同様に、「[先に述べた条件が正しい]と判定される場合」又は「[先に述べた条件が正しい]場合」、又は「[先に述べた条件が正しい]時」というフレーズは、先に述べた条件が正しいとの「判定に際して」又は「判定に応じて」又は「判定に従って」又は「検出した際に」又は「検出に応じて」ということを意味するものと解釈できる。
本発明の前述の説明及び要約は、全ての点で実例及び例示的であるが、限定的ではないとして理解されるべきであり、本明細書に開示される本発明の範囲は、例示的な実装形態の詳細な説明のみからではなく、特許法によって許可される全幅に従って判定されるべきであることを理解されたい。本明細書に示され、説明される実装形態は、本発明の原理を単に例示するものにすぎず、本発明の範囲及び趣旨から逸脱することなく、当業者によって様々な修正が実施され得ることを理解されたい。

Claims (20)

  1. 方法であって、
    プロセッサを有するモバイル電子デバイスにおいて、
    物理的環境の画像内に示された視覚マーカを検出することと、
    前記画像に基づいて、前記モバイル電子デバイスと前記視覚マーカとの間の相対位置を判定することと、
    前記モバイル電子デバイスと前記視覚マーカとの間の前記相対位置、及び前記モバイル電子デバイスの所在場所に基づいて、前記視覚マーカのローカルに判定された所在場所を判定することと、
    前記視覚マーカのローカルに判定された所在場所を、リモート電子デバイスに提供することと、を含み、
    前記リモート電子デバイスは、前記視覚マーカのローカルに判定された所在場所、及び他のモバイル電子デバイスによって提供された前記視覚マーカの他のローカルに判定された所在場所を使用して、クラウドソースによる所在場所を更新する、方法。
  2. 前記相対位置を判定することは、前記視覚マーカの記憶されたサイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することを含む、請求項1に記載の方法。
  3. 前記相対位置を判定することは、前記視覚マーカ内に符号化された前記視覚マーカのサイズを復号することと、前記視覚マーカ内に符号化された前記視覚マーカの前記サイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することを含む、請求項1に記載の方法。
  4. 前記相対位置を判定することは、前記視覚マーカの絶対サイズを判定するために、複数の画像内に示された前記視覚マーカの相対サイズを使用して、前記視覚マーカのサイズを判定することと、前記視覚マーカの前記絶対サイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することと、を含む、請求項1に記載の方法。
  5. 前記相対位置を判定することは、赤-緑-青深度(RGB-D)カメラ画像、ステレオベースの深度推定、深度のみのセンサ、又は自己位置推定と環境地図作成の同時実行(SLAM)技術を使用して、前記視覚マーカの深度を判定することを含む、請求項1~4のいずれか一項に記載の方法。
  6. 前記相対位置を判定することは、前記モバイル電子デバイスのセンサを使用して、前記モバイル電子デバイスから前記視覚マーカまでの相対位置及び向きを判定することを含む、請求項1~5のいずれか一項に記載の方法。
  7. 前記相対位置を判定することは、記憶された2次元(2D)形状、又は前記視覚マーカの前記形状の記憶されたパラメータ記述、及び前記画像内の前記視覚マーカの形状を使用して、前記モバイル電子デバイスから前記視覚マーカまでの方向を判定することを含む、請求項1~5のいずれか一項に記載の方法。
  8. 前記視覚マーカに基づいて、前記視覚マーカの前記所在場所をリモートデバイスから要求することと、前記視覚マーカの所在場所を特定する3次元(3D)座標を前記リモートデバイスから受信することと、を更に含む、請求項1~7のいずれか一項に記載の方法。
  9. 前記視覚マーカの所在場所に基づく前記モバイル電子デバイスの判定された所在場所は、衛星ベースの又はWi-Fiベースの位置情報を使用して判定された前記モバイル電子デバイスの位置よりも正確である、請求項1~8のいずれか一項に記載の方法。
  10. 前記モバイル電子デバイスの前記所在場所、又は前記モバイル電子デバイスと前記視覚マーカとの間の前記相対位置に基づいて、コンピュータ生成現実(CGR)環境における仮想コンテンツを提供することを更に含む、請求項1~9のいずれか一項に記載の方法。
  11. 前記視覚マーカが前記物理的環境内の前記所在場所に位置した又は位置することになると判定することと、
    前記視覚マーカの前記所在場所を、別のデバイス上に記憶する又は前記視覚マーカ内に符号化することと、によって、前記視覚マーカを初期化すること
    を更に含む、請求項1~10のいずれか一項に記載の方法。
  12. 前記モバイル電子デバイスは、複数の視覚マーカの所在場所を特定する地図を記憶する、請求項1~11のいずれか一項に記載の方法。
  13. 前記視覚マーカに関連付けられたメタデータが、前記視覚マーカを移動中の視覚マーカとして特定し、前記移動中の視覚マーカの前記所在場所は、時間閾値又は位置変化閾値に基づいて更新される、請求項1~12のいずれか一項に記載の方法。
  14. 前記メタデータは第2の電子デバイス上に記憶され、前記視覚マーカを復号することによって開始された全ての要求が、前記第2の電子デバイスに送信される、請求項13に記載の方法。
  15. ブジェクトに対する前記モバイル電子デバイスの相対位置を判定することに基づいて、前記画像内に示された前記オブジェクトの所在場所を判定することを更に含む、請求項1~14のいずれか一項に記載の方法。
  16. システムであって、
    非一時的コンピュータ可読記憶媒体と、
    前記非一時的コンピュータ可読記憶媒体に結合された1つ以上のプロセッサと、を備え、前記非一時的コンピュータ可読記憶媒体はプログラム命令を含み、前記命令は、前記1つ以上のプロセッサ上で実行されると、前記システムに、
    物理的環境の画像内に示された視覚マーカを検出することと、
    前記画像に基づいて、モバイル電子デバイスと前記視覚マーカとの間の相対位置を判定することと、
    前記モバイル電子デバイスと前記視覚マーカとの間の前記相対位置、及び前記モバイル電子デバイスの所在場所に基づいて、前記視覚マーカのローカルに判定された所在場所を判定することと、
    前記視覚マーカのローカルに判定された所在場所を、リモート電子デバイスに提供することと、を含む動作を実行させ
    前記リモート電子デバイスは、前記視覚マーカのローカルに判定された所在場所、及び他のモバイル電子デバイスによって提供された前記視覚マーカの他のローカルに判定された所在場所を使用して、クラウドソースによる所在場所を更新する、システム。
  17. 前記相対位置を判定することは、前記視覚マーカの記憶されたサイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することを含む、請求項16に記載のシステム。
  18. 前記相対位置を判定することは、前記視覚マーカ内に符号化された前記視覚マーカのサイズを復号することと、前記視覚マーカ内に符号化された前記視覚マーカの前記サイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することを含む、請求項16に記載のシステム。
  19. 前記相対位置を判定することは、前記視覚マーカの絶対サイズを判定するために、複数の画像内に示された前記視覚マーカの相対サイズを使用して、前記視覚マーカのサイズを判定することと、前記視覚マーカの前記絶対サイズ及び前記画像内に示された前記視覚マーカのサイズを使用して、前記モバイル電子デバイスから前記視覚マーカまでの距離を判定することと、を含む、請求項16に記載のシステム。
  20. 非一時的コンピュータ可読記憶媒体であって、プロセッサを有するモバイル電子デバイスにおいて、
    物理的環境の画像内に示された視覚マーカを検出することと、
    前記画像に基づいて、前記モバイル電子デバイスと前記視覚マーカとの間の相対位置を判定することと、
    前記モバイル電子デバイスと前記視覚マーカとの間の前記相対位置、及び前記モバイル電子デバイスの所在場所に基づいて、前記視覚マーカのローカルに判定された所在場所を判定することと、
    前記視覚マーカのローカルに判定された所在場所を、リモート電子デバイスに提供することと、を含む動作を実行するための、コンピュータ実行可能なプログラム命令をコンピュータ上に記憶し、
    前記リモート電子デバイスは、前記視覚マーカのローカルに判定された所在場所、及び他のモバイル電子デバイスによって提供された前記視覚マーカの他のローカルに判定された所在場所を使用して、クラウドソースによる所在場所を更新する、非一時的コンピュータ可読記憶媒体。
JP2020160425A 2019-09-27 2020-09-25 位置認識機能を備えた視覚マーカ Active JP7080946B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962907163P 2019-09-27 2019-09-27
US62/907,163 2019-09-27

Publications (2)

Publication Number Publication Date
JP2021056220A JP2021056220A (ja) 2021-04-08
JP7080946B2 true JP7080946B2 (ja) 2022-06-06

Family

ID=72615748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020160425A Active JP7080946B2 (ja) 2019-09-27 2020-09-25 位置認識機能を備えた視覚マーカ

Country Status (5)

Country Link
US (1) US20210097714A1 (ja)
EP (1) EP3798986A1 (ja)
JP (1) JP7080946B2 (ja)
KR (2) KR20210037584A (ja)
CN (1) CN112580375A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7108871B2 (ja) * 2020-03-30 2022-07-29 パナソニックIpマネジメント株式会社 情報表示システム
US11383156B1 (en) 2020-12-29 2022-07-12 Snap Inc. Multi-user AR experience with offline synchronization
US11842444B2 (en) * 2021-06-02 2023-12-12 Streem, Llc Visualization of camera location in a real-time synchronized 3D mesh
CN113705517A (zh) * 2021-09-03 2021-11-26 杨宏伟 识别带有视觉标识的第二车辆的方法、车辆自动驾驶方法
WO2024019807A1 (en) * 2022-07-18 2024-01-25 Nant Holdings Ip, Llc Determining a camera control point for virtual production

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309530A (ja) 2007-06-12 2008-12-25 National Institute Of Information & Communication Technology 位置検出装置、それにおける位置の検出をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013207344A (ja) 2012-03-27 2013-10-07 Nikon Corp 検出装置、撮像装置、及びプログラム
JP2015153046A (ja) 2014-02-12 2015-08-24 株式会社リコー 画像処理装置、画像処理方法およびプログラム
US20160321530A1 (en) 2012-07-18 2016-11-03 The Boeing Company Method for Tracking a Device in a Landmark-Based Reference System
JP2017219389A (ja) 2016-06-06 2017-12-14 地方独立行政法人東京都立産業技術研究センター 物体追跡装置、物体追跡方法、及び物体追跡プログラム
JP2018530797A (ja) 2015-07-07 2018-10-18 グーグル エルエルシー 仮想現実においてハンドヘルド電子装置を追跡するためのシステム
JP2019163172A (ja) 2017-02-10 2019-09-26 日鉄ソリューションズ株式会社 システム、情報処理装置、情報処理方法、プログラム及び記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3976900B2 (ja) * 1998-07-23 2007-09-19 キヤノン株式会社 視点位置姿勢の決定方法及びカメラ装置
US7403120B2 (en) * 2004-09-29 2008-07-22 Symbol Technologies, Inc. Reverse infrastructure location system and method
US8938257B2 (en) * 2011-08-19 2015-01-20 Qualcomm, Incorporated Logo detection for indoor positioning
US9702707B2 (en) * 2011-12-22 2017-07-11 AppLabz, LLC Systems, methods, and apparatus for providing indoor navigation using optical floor sensors
US9513127B2 (en) * 2011-12-22 2016-12-06 AppLabz, LLC Systems, methods, and apparatus for providing indoor navigation
KR20140036543A (ko) * 2012-09-17 2014-03-26 서세원 마커와 스마트기기를 이용한 실내 위치확인시스템 및 방법
US8752758B1 (en) * 2013-03-15 2014-06-17 Mettler-Toledo, LLC Use of scannable 2-D bar codes to provide context-sensitive information for a weighing device
US20160021233A1 (en) * 2014-07-15 2016-01-21 Amx, Llc Quick code scheduling for mobile devices
US10915161B2 (en) * 2014-12-11 2021-02-09 Intel Corporation Facilitating dynamic non-visual markers for augmented reality on computing devices
US11461936B2 (en) * 2015-03-17 2022-10-04 Raytrx, Llc Wearable image manipulation and control system with micro-displays and augmentation of vision and sensing in augmented reality glasses
US10482441B1 (en) * 2015-04-06 2019-11-19 United Services Automobile Association (Usaa) Systematic crowdsourcing of geolocation data
CN109556616A (zh) * 2018-11-09 2019-04-02 同济大学 一种基于视觉标记的自动建图机器人建图修整方法
US10793357B2 (en) * 2019-01-30 2020-10-06 Locus Robotics Corp. Robot dwell time minimization in warehouse order fulfillment operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309530A (ja) 2007-06-12 2008-12-25 National Institute Of Information & Communication Technology 位置検出装置、それにおける位置の検出をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013207344A (ja) 2012-03-27 2013-10-07 Nikon Corp 検出装置、撮像装置、及びプログラム
US20160321530A1 (en) 2012-07-18 2016-11-03 The Boeing Company Method for Tracking a Device in a Landmark-Based Reference System
JP2015153046A (ja) 2014-02-12 2015-08-24 株式会社リコー 画像処理装置、画像処理方法およびプログラム
JP2018530797A (ja) 2015-07-07 2018-10-18 グーグル エルエルシー 仮想現実においてハンドヘルド電子装置を追跡するためのシステム
JP2017219389A (ja) 2016-06-06 2017-12-14 地方独立行政法人東京都立産業技術研究センター 物体追跡装置、物体追跡方法、及び物体追跡プログラム
JP2019163172A (ja) 2017-02-10 2019-09-26 日鉄ソリューションズ株式会社 システム、情報処理装置、情報処理方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
EP3798986A1 (en) 2021-03-31
JP2021056220A (ja) 2021-04-08
KR20240063095A (ko) 2024-05-10
KR20210037584A (ko) 2021-04-06
US20210097714A1 (en) 2021-04-01
CN112580375A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
JP7080946B2 (ja) 位置認識機能を備えた視覚マーカ
CN110954083B (zh) 移动设备的定位
US10338392B2 (en) Identification of augmented reality image display position
CN107850779B (zh) 虚拟位置定位锚
US10055888B2 (en) Producing and consuming metadata within multi-dimensional data
CN105981076B (zh) 合成增强现实环境的构造
US11132546B2 (en) Plane detection using semantic segmentation
CN110633617B (zh) 使用语义分割的平面检测
CN111602104A (zh) 用于与所识别的对象相关联地呈现合成现实内容的方法和设备
US20240054734A1 (en) Method and device for presenting an audio and synthesized reality experience
US20240221328A1 (en) Method and Device for Sketch-Based Placement of Virtual Objects
EP3788461A1 (en) Sharing geo-located information
US11302067B2 (en) Systems and method for realistic augmented reality (AR) lighting effects
US11430198B1 (en) Method and device for orientation-based view switching
US11804014B1 (en) Context-based application placement
US11468611B1 (en) Method and device for supplementing a virtual environment
US11763558B1 (en) Visualization of existing photo or video content
CN112639889A (zh) 内容事件映射
US11308716B1 (en) Tailoring a computer-generated reality experience based on a recognized object
US11386653B2 (en) Method and device for generating a synthesized reality reconstruction of flat video content
US20240013487A1 (en) Method and device for generating a synthesized reality reconstruction of flat video content
US20220012951A1 (en) Generating Adapted Virtual Content to Spatial Characteristics of a Physical Setting
US10964056B1 (en) Dense-based object tracking using multiple reference images
US20220366656A1 (en) Method and Device for Generating a Map from a Photo Set
JP7400810B2 (ja) 情報処理装置、情報処理方法、及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220525

R150 Certificate of patent or registration of utility model

Ref document number: 7080946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150