JP2023511332A - Augmented reality map curation - Google Patents

Augmented reality map curation Download PDF

Info

Publication number
JP2023511332A
JP2023511332A JP2022543679A JP2022543679A JP2023511332A JP 2023511332 A JP2023511332 A JP 2023511332A JP 2022543679 A JP2022543679 A JP 2022543679A JP 2022543679 A JP2022543679 A JP 2022543679A JP 2023511332 A JP2023511332 A JP 2023511332A
Authority
JP
Japan
Prior art keywords
cell
map
user
quality
score
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
JP2022543679A
Other languages
Japanese (ja)
Other versions
JPWO2021154558A5 (en
JP7490784B2 (en
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.)
Magic Leap Inc
Original Assignee
Magic Leap 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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2023511332A publication Critical patent/JP2023511332A/en
Publication of JPWO2021154558A5 publication Critical patent/JPWO2021154558A5/ja
Application granted granted Critical
Publication of JP7490784B2 publication Critical patent/JP7490784B2/en
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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • 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
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

拡張現実デバイスは、APIインターフェースを介して、マップサーバと通信し、規準マップの中に実装され得る、マッピングデータを提供してもよく、また、マップデータをマップサーバから受信してもよい。環境の複数のセルに関する品質インジケータを含む、マップ品質の可視化が、ARデバイスを通して見える現在の実世界環境に対するオーバーレイとして、ユーザに提供されてもよい。これらの可視化は、例えば、マップ品質ミニマップおよび/またはマップ品質オーバーレイを含んでもよい。可視化は、マップをより効率的に更新し、それによって、マップ品質およびマップの中でのユーザの位置特定を改良することを可能にする、ガイドをユーザに提供する。Augmented reality devices may communicate with a map server via an API interface to provide mapping data, and may receive map data from a map server, which may be implemented in a reference map. A map quality visualization, including quality indicators for multiple cells of the environment, may be provided to the user as an overlay to the current real-world environment seen through the AR device. These visualizations may include, for example, map quality minimaps and/or map quality overlays. The visualization provides a guide to the user that allows the map to be updated more efficiently, thereby improving the map quality and the user's positioning within the map.

Description

本開示は、複合現実を含む、仮想現実および拡張現実の結像および可視化システムに関し、より具体的には、仮想コンテンツを表示し、それと相互作用するためのシステムおよび方法に関する。 TECHNICAL FIELD This disclosure relates to virtual and augmented reality imaging and visualization systems, including mixed reality, and more particularly to systems and methods for displaying and interacting with virtual content.

現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」、「拡張現実」、および「複合現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像が、現実であるように見える、またはそのように知覚され得る様式でユーザに提示される。仮想現実(VR)シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透明性を伴わずに、コンピュータ生成された画像情報の提示を伴う。拡張現実(AR)シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実(MR)は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用し得る、拡張現実のタイプである。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。 Modern computing and display technologies are facilitating the development of systems for so-called "virtual reality," "augmented reality," and "mixed reality" experiences, in which digitally reproduced images are real. presented to the user in a manner that appears or can be perceived as such. Virtual reality (VR) scenarios typically involve the presentation of computer-generated image information without transparency to other actual, real-world visual inputs. Augmented Reality (AR) scenarios typically involve the presentation of digital or virtual image information as an extension to the visualization of the real world around the user. Mixed reality (MR) is a type of augmented reality in which physical and virtual objects can coexist and interact in real time. The systems and methods disclosed herein address various challenges associated with VR, AR, and MR technologies.

本明細書に説明される主題の1つまたはそれを上回る実装の詳細は、付随の図面および下記の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本説明または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。 Implementation details of one or more of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will be apparent from the description, drawings, and claims. Neither this description nor the following detailed description is intended to define or limit the scope of the inventive subject matter.

拡張現実デバイスは、APIインターフェースを介して、マップサーバと通信し、規準マップの中に実装され得る、マッピングデータを提供してもよく、また、マップデータをマップサーバから受信してもよい。環境の複数のセルに関する品質インジケータを含む、マップ品質の可視化が、ARデバイスを通して見える現在の実世界環境に対するオーバーレイとして、ユーザに提供されてもよい。これらの可視化は、例えば、マップ品質ミニマップおよび/またはマップ品質オーバーレイを含んでもよい。可視化は、マップをより効率的に更新し、それによって、マップ品質およびマップの中でのユーザの位置特定を改良することを可能にする、ガイドをユーザに提供する。 Augmented reality devices may communicate with a map server via an API interface to provide mapping data, and may receive map data from a map server, which may be implemented in a reference map. A map quality visualization, including quality indicators for multiple cells of the environment, may be provided to the user as an overlay to the current real-world environment seen through the AR device. These visualizations may include, for example, map quality minimaps and/or map quality overlays. The visualization provides a guide to the user that allows the map to be updated more efficiently, thereby improving the map quality and the user's positioning within the map.

図1は、AR/VR/MR場面を提供するように構成され得る、ARデバイスの実施例を図示する。FIG. 1 illustrates an example of an AR device that can be configured to provide AR/VR/MR scenes.

図2は、AR環境の実施例のブロック図である。FIG. 2 is a block diagram of an embodiment of an AR environment.

図3は、複数のユーザとマップサーバとの間のデータフローの実施例を図示する、ブロック図である。FIG. 3 is a block diagram illustrating an example of data flow between multiple users and a map server.

図4は、マップ作成プロセスの一実施形態を図示する、フローチャートである。FIG. 4 is a flow chart illustrating one embodiment of the map creation process.

図5Aは、開発者またはユーザによって実施され得るようなマップをキュレートするためのプロセスの一実施形態を図示する、フローチャートである。FIG. 5A is a flowchart illustrating one embodiment of a process for curating maps as may be implemented by a developer or user.

図5Bは、マップキュレーションツールの始動に応じて提供され得る、例示的ユーザインターフェースを図示する。FIG. 5B illustrates an exemplary user interface that may be provided upon activation of the map curation tool.

図5Cは、ユーザが環境全体を通して移動するにつれて、マップ品質ミニマップが容易にアクセス可能であるように、コントローラUIによって表される、コントローラの移動に追従するように構成され得る、例示的マップ品質ミニマップを図示する。FIG. 5C shows an exemplary map quality map represented by the controller UI, which can be configured to follow the controller's movement, such that as the user moves throughout the environment, the map quality minimap is easily accessible. Illustrate the minimap.

図5C1は、コントローラUIおよび関連付けられるマップ情報の別の図を図示する。FIG. 5C1 illustrates another view of the controller UI and associated map information.

図5C2は、例示的ミニマップの上面図である。FIG. 5C2 is a top view of an exemplary minimap.

図5Dは、環境のセル内のマップ品質の色インジケータを伴う、環境の実際の実世界エリアにオーバーレイする、例示的マップ品質オーバーレイを図示する。FIG. 5D illustrates an exemplary map quality overlay overlaying the actual real-world area of the environment with color indicators of map quality within cells of the environment.

図5E、5F、および5Gは、ウェイポイントガイドアニメーションを含む、例示的ユーザインターフェースである。Figures 5E, 5F, and 5G are exemplary user interfaces including waypoint guide animations. 図5E、5F、および5Gは、ウェイポイントガイドアニメーションを含む、例示的ユーザインターフェースである。Figures 5E, 5F, and 5G are exemplary user interfaces including waypoint guide animations. 図5E、5F、および5Gは、ウェイポイントガイドアニメーションを含む、例示的ユーザインターフェースである。Figures 5E, 5F, and 5G are exemplary user interfaces including waypoint guide animations.

図6は、マップ品質インジケータに対する更新を決定するためのプロセスの一実施形態を図示する、フローチャートである。FIG. 6 is a flow chart illustrating one embodiment of a process for determining updates to map quality indicators.

図7Aは、セル品質スコアを決定するプロセスの一実施形態を図示する、フローチャートである。Figure 7A is a flow chart illustrating one embodiment of a process for determining a cell quality score.

図7Bは、例示的セルを図示する。FIG. 7B illustrates an exemplary cell.

図7Cは、図7Bの同一の例示的セルを図示し、ここでは、複数の画像がセルの対応する視認方向象限上に重畳されている。FIG. 7C illustrates the same exemplary cell of FIG. 7B, with multiple images superimposed on the corresponding viewing direction quadrants of the cell.

図8は、ミニマップの例示的ユーザインターフェースである。FIG. 8 is an exemplary user interface for the minimap.

図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. . 図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. . 図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. . 図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. . 図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. .

図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実装を図示するために提供され、本開示の範囲を限定することを意図するものではない。 Throughout the drawings, reference numbers may be reused to indicate correspondence between referenced elements. The drawings are provided to illustrate example implementations described herein and are not intended to limit the scope of the disclosure.

詳細な説明
本開示の実施形態は、仮想または拡張現実相互作用を促進するためのデバイス、システム、および方法を対象とする。一例示的実施形態として、1つまたはそれを上回るユーザ入力デバイスが、VR、AR、またはMRセッションにおいて相互作用するために使用されてもよい。そのようなセッションは、仮想要素またはオブジェクトを3次元空間内に含んでもよい。1つまたはそれを上回るユーザ入力デバイスはさらに、ARまたはMRセッションにおける、仮想オブジェクト、実オブジェクト、または虚空上でのアクションの中でもとりわけ、指差す、選択する、注釈を付ける、および描画するために使用されてもよい。読解および理解を容易にするために、本明細書で議論されるあるシステムおよび方法は、拡張現実環境および「ARデバイス」または「ARシステム」等の他の「拡張現実」または「AR」コンポーネントを指す。「拡張現実」または「AR」のこれらの説明は、「複合現実」、「仮想現実」、「VR」、「MR」、および同等物を、それらの「現実環境」のそれぞれもまた具体的に述べられた場合と同様に、含むように解釈されるべきである。
概要
DETAILED DESCRIPTION Embodiments of the present disclosure are directed to devices, systems, and methods for facilitating virtual or augmented reality interactions. As one exemplary embodiment, one or more user input devices may be used to interact in a VR, AR, or MR session. Such sessions may include virtual elements or objects in three-dimensional space. The one or more user input devices are further used for pointing, selecting, annotating, and drawing, among other actions on virtual objects, real objects, or the void in an AR or MR session. may be For ease of reading and understanding, certain systems and methods discussed herein refer to augmented reality environments and other “augmented reality” or “AR” components such as “AR devices” or “AR systems”. Point. These descriptions of "augmented reality" or "AR" specifically refer to "mixed reality,""virtualreality,""VR,""MR," and equivalents, and each of those "real environments" also specifically It should be construed to include the same as stated.
overview

本明細書で議論されるシステムおよび方法の理解を促進するために、いくつかの用語が、下記に説明される。下記に説明される用語および本明細書で使用される他の用語は、提供される説明、用語の通常および慣例的意味、および/または個別の用語に関する任意の他の含意される意味を含むと解釈されるべきであって、そのような解釈は、用語のコンテキストと一致する。したがって、下記の説明は、これらの用語の意味を限定するものではなく、例示的説明のみを提供する。 To facilitate understanding of the systems and methods discussed herein, some terms are explained below. The terms set forth below and other terms used herein are intended to include the description provided, the ordinary and customary meaning of the term, and/or any other implied meaning associated with the individual term. should be construed and such interpretation is consistent with the context of the term. Accordingly, the following discussion does not limit the meaning of these terms, but provides exemplary explanations only.

規準マップ:複数のARおよび非AR(例えば、スマートフォン)デバイスによって使用可能であり得る、マップ。規準マップは、デバイス間で持続座標フレーム(PCF)の共通セットを同期させ、それによって、マルチユーザ体験を有効にし得る。いくつかの実施形態では、規準マップは、1人またはそれを上回るユーザによって、経時的に動的に更新され得、実世界のデジタル複製を表し得る。 Normative Map: A map that may be usable by multiple AR and non-AR (eg, smart phone) devices. A reference map may synchronize a common set of Persistent Coordinate Frames (PCFs) across devices, thereby enabling a multi-user experience. In some embodiments, the reference map may be dynamically updated over time by one or more users and may represent a digital replica of the real world.

追跡マップ:概して、特定のARまたは非ARデバイスによって使用される、ローカルマップであるが、追跡マップは、複数のユーザ間で共有され得(例えば、共通場所において)、複数のユーザに利用可能である、規準マップを生成および/または更新するために使用されてもよい。 Tracking map: generally a local map used by a particular AR or non-AR device, but a tracking map can be shared (e.g., at a common location) and available to multiple users It may be used to generate and/or update certain reference maps.

位置特定:センサ入力(例えば、ヘッドセットの前方に向いたカメラからの画像)と対応するマップデータが合致することに基づく、マップ内の場所の決定。例えば、ARシステムは、カメラからの画像を処理し、画像内の特徴がマップ内のある特徴と合致するかどうかを決定してもよい。合致が、見出される場合、ARシステムは、次いで、合致される特徴に基づいて、ユーザの位置および配向を決定し得る。 Localization: Determination of a location within a map based on matching sensor input (eg, images from a front-facing camera of a headset) with corresponding map data. For example, an AR system may process an image from a camera and determine whether features in the image match certain features in the map. If a match is found, the AR system can then determine the user's position and orientation based on the matched features.

セル品質サブスコア:ユーザを決定されたセルの中で位置特定するために使用可能である、特定の視認方向と関連付けられる、マップデータの量を示す。 Cell Quality Subscore: Indicates the amount of map data associated with a particular viewing direction that can be used to locate a user within a determined cell.

セル飽和インジケータ:ユーザが、少なくとも閾値期間にわたって、決定されたセル内に位置付けられていたかどうかを示す。 Cell Saturation Indicator: Indicates whether the user has been located within the determined cell for at least a threshold period of time.

セルスコア:セルの中の位置特定の尤度を示し、これは、セル品質サブスコアおよびセル飽和インジケータに基づいて決定されてもよい。 Cell Score: Indicates the likelihood of location within a cell, which may be determined based on the Cell Quality Subscore and the Cell Saturation Indicator.

アプリケーションプログラミングインターフェース(APIs):APIは、概して、2つのデバイスが、別様に可能であり得るものより直接的様式において、相互間で情報を交換することを可能にする、定義された通信チャネル、プロトコル、設定等である。いくつかの実施形態では、API登録モジュールが、トークンを、そのような直接通信を認可する、個々のデバイスに発行することによって、特定のコンピューティングデバイス(例えば、情報を受信、処理、記憶し、個々のデバイスに提供する、中央サーバ)との通信のために、個々のデバイス(例えば、ARデバイス、コンピューティングデバイス、モノのインターネットデバイス、センサ等)を登録するように構成されてもよい。したがって、コンピューティングシステムは、APIを介して、複数のデバイスとセキュアかつ直接的通信チャネルを確立し得る。
例示的ARシステム
Application Programming Interfaces (APIs): APIs are generally defined communication channels that allow two devices to exchange information between each other in a more direct manner than might otherwise be possible; protocol, settings, and so on. In some embodiments, the API registration module issues tokens to individual devices that authorize such direct communication, thereby allowing specific computing devices (e.g., receiving, processing, storing, It may be configured to register individual devices (eg, AR devices, computing devices, Internet of Things devices, sensors, etc.) for communication with a central server that provides individual devices. Thus, a computing system can establish secure and direct communication channels with multiple devices via APIs.
Exemplary AR system

図1を参照して下記に議論される実施例等のARデバイス(本明細書では、拡張現実(AR)システムとも称される)は、仮想オブジェクトの2Dまたは3D画像をユーザに提示するように構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。本開示の目的のために、用語「AR」は、用語「MR」または「VR」と同義的に使用される。 An AR device (also referred to herein as an Augmented Reality (AR) system), such as the example discussed below with reference to FIG. can be configured. Images may be still images, frames of video, or videos, in combination or the like. For the purposes of this disclosure, the term "AR" is used synonymously with the terms "MR" or "VR."

図1は、ARデバイス100の実施例を図示し、これは、AR/VR/MR場面を提供するように構成されることができる。ARデバイス100はまた、ARシステム100とも称され得る。ARデバイス100は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ210(また、本明細書では、装着者または視認者とも称され得る)によって装着可能である、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。 FIG. 1 illustrates an example of an AR device 100, which can be configured to provide AR/VR/MR scenes. AR device 100 may also be referred to as AR system 100 . AR device 100 includes a display 220 and various mechanical and electronic modules and systems to support the functionality of display 220 . Display 220 may be coupled to frame 230 that is wearable by user 210 (which may also be referred to herein as a wearer or viewer). The display 220 can be positioned in front of the user's 210 eyes. The display 220 can present AR/VR/MR content to the user. Display 220 may comprise a head mounted display (HMD) that is worn on the user's head.

いくつかの実装では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実装では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する)。ディスプレイ220は、環境からオーディオストリームを検出し、および/または周囲音を捕捉するために、オーディオセンサ(例えば、マイクロホン)を含むことができる。いくつかの実装では、示されない1つまたはそれを上回る他のオーディオセンサが、ステレオ音受信を提供するために位置付けられることができる。ステレオ音受信は、音源の場所を決定するために使用されることができる。ARデバイス100は、音声または発話認識をオーディオストリームに実施することができる。 In some implementations, speaker 240 is coupled to frame 230 and positioned adjacent the user's ear canal (in some implementations, another speaker, not shown, is positioned adjacent the user's other ear canal). , providing stereo/shapeable sound control). Display 220 may include an audio sensor (eg, a microphone) to detect audio streams from the environment and/or capture ambient sounds. In some implementations, one or more other audio sensors not shown may be positioned to provide stereo sound reception. Stereo sound reception can be used to determine the location of the sound source. The AR device 100 can perform voice or speech recognition on audio streams.

ARデバイス100は、ユーザの周囲の環境内の世界を観察する、外向きに向いた結像システムを含むことができる。ARデバイス100はまた、ユーザの眼移動を追跡することができる、内向きに向いた結像システムを含むことができる。内向きに向いた結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡し得る。内向きに向いた結像システムは、フレーム230に取り付けられてもよく、内向きに向いた結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径または配向、眼の移動、または眼姿勢を決定し得る、処理モジュール260および/または270と電気通信してもよい。内向きに向いた結像システムは、1つまたはそれを上回るカメラまたは他の結像デバイスを含んでもよい。例えば、少なくとも1つのカメラは、各眼を結像するために使用されてもよい。カメラによって入手された画像は、眼毎に、別個に、瞳孔サイズまたは眼姿勢を決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために使用されてもよい。 AR device 100 may include an outward-facing imaging system that observes the world within the user's surrounding environment. The AR device 100 can also include an inward-facing imaging system that can track the user's eye movements. An inward-facing imaging system can track either one eye movement or both eye movement. The inward-facing imaging system may be mounted on frame 230 and processes the image information obtained by the inward-facing imaging system to, for example, determine the pupil diameter or orientation of the user's 210 eye, eye may be in electrical communication with processing modules 260 and/or 270, which may determine movement of the eye, or eye pose. An inward-facing imaging system may include one or more cameras or other imaging devices. For example, at least one camera may be used to image each eye. The images obtained by the camera determine the pupil size or eye pose for each eye separately, thereby allowing the presentation of image information to each eye to be dynamically adjusted for that eye. may be used to

実施例として、ARデバイス100は、外向きに向いた結像システムまたは内向きに向いた結像システムを使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレーム、またはビデオであってもよい。 As an example, the AR device 100 can use an outward-facing imaging system or an inward-facing imaging system to obtain an image of the user's pose. An image may be a still image, a frame of video, or a video.

ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合されることができる(250)。 The display 220 may be fixedly attached to the frame 230, fixedly attached to a helmet or hat worn by the user, built into headphones, or otherwise removed by the user 210, such as by wired leads or a wireless connection. It can be operatively coupled 250 to a local data processing module 260, which can be mounted in a variety of configurations, such as being operably mounted (eg, in a rucksack configuration, in a belt-tied configuration).

ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および/または記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(例えば、内向きに向いた結像システムまたは外向きに向いた結像システム内のカメラ)、オーディオセンサ(例えば、マイクロホン)、慣性測定ユニット(IMU)、加速度計、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、またはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、または、b)可能性として処理または読出後にディスプレイ220への通過のために、遠隔処理モジュール270または遠隔データリポジトリ280を使用して入手または処理されるデータを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264を遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール270および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。 Local processing and data module 260 may comprise a hardware processor and digital memory, such as non-volatile memory (eg, flash memory), both of which may be used to assist in processing, caching, and/or storing data. can be utilized. The data may include a) image capture devices (e.g., cameras in an inward-facing imaging system or outward-facing imaging systems), audio sensors (e.g., microphones), inertial measurement units (IMUs), accelerometers , compass, global positioning system (GPS) unit, wireless device, or gyroscope (eg, which may be operatively coupled to frame 230 or otherwise attached to user 210). or b) may include data obtained or processed using remote processing module 270 or remote data repository 280, possibly for processing or retrieval and subsequent passage to display 220. Local processing and data module 260 connects communication links 262 or 264 to remote processing module 270, such as via wired or wireless communication links, such that these remote modules are available as resources to local processing and data module 260. or may be operably coupled to remote data repository 280 . Additionally, remote processing module 270 and remote data repository 280 may be operatively coupled to each other.

いくつかの実装では、遠隔処理モジュール270は、データまたは画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサを備えてもよい。いくつかの実装では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実装では、全てのデータが、記憶され、全ての算出(例えば、本明細書で議論される、ARプロセス)が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にすることができる。他の実装では、本明細書で議論される、あるARプロセスの算出のいくつかまたは全ては、ネットワーク接続サーバ等、遠隔で実施される。 In some implementations, remote processing module 270 may comprise one or more processors configured to analyze and process data or image information. In some implementations, remote data repository 280 may comprise a digital data storage facility, which may be available through the Internet or other networking configuration in a "cloud" resource configuration. In some implementations, all data is stored and all computations (e.g., AR processes discussed herein) are performed in local processing and data modules, fully autonomous from remote modules. can enable the use of In other implementations, some or all of the calculations of certain AR processes discussed herein are performed remotely, such as on a network attached server.

ARデバイスは、GPSおよび遠隔コンピューティングシステム(例えば、遠隔処理モジュール270、別のユーザのARデバイス等)によって入手されたデータを組み合わせてもよく、これは、ユーザの環境についてのさらなる情報を提供することができる。一実施例として、ARデバイスは、GPSデータに基づいて、ユーザの場所を決定し、ユーザの場所と関連付けられる仮想オブジェクトを含む、世界マップ(複数のユーザによって共有され得る)を読み出すことができる。 The AR device may combine GPS and data obtained by a remote computing system (e.g., remote processing module 270, another user's AR device, etc.), which provides further information about the user's environment. be able to. As an example, an AR device can determine a user's location based on GPS data and retrieve a world map (which can be shared by multiple users) that includes virtual objects associated with the user's location.

多くの実装では、ARデバイスは、上記に説明されるARデバイスのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ARデバイスは、例えば、1つまたはそれを上回る触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力またはテクスチャの触覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ(例えば、ドラゴン)の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。 In many implementations, an AR device may include other components in addition to or as an alternative to the AR device components described above. AR devices may include, for example, one or more tactile devices or components. A tactile device or component may be operable to provide a sense of touch to a user. For example, a tactile device or component may provide a haptic sensation of pressure or texture when touching virtual content (eg, virtual objects, virtual tools, other virtual structures). The sense of touch may reproduce the sensation of a physical object represented by a virtual object, or may reproduce the sensation of an imaginary object or character (eg, a dragon) represented by virtual content. In some implementations, tactile devices or components may be worn by a user (eg, user wearable gloves). In some implementations, the tactile device or component may be held by the user.

ARデバイスは、例えば、ユーザによって操作可能であって、ARデバイスへの入力またはそれとの相互作用を可能にする、1つまたはそれを上回る物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、無生物オブジェクト、例えば、金属またはプラスチック片、壁、テーブルの表面の形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ARデバイスは、ユーザにトーテムの1つまたはそれを上回る表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ARデバイスは、トーテムの1つまたはそれを上回る表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ARデバイスは、トーテムとしての役割を果たす、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、いずれの物理的キーまたはトラックパッドまたはセンサも有していない。しかしながら、ARデバイスは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実装であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ARデバイスまたは他のユーザと相互作用してもよい。 An AR device may include, for example, one or more physical objects that are manipulable by a user to allow input to or interaction with the AR device. These physical objects may be referred to herein as totems. Some totems may take the form of inanimate objects such as metal or plastic pieces, walls, table surfaces. In some implementations, the totem may not actually have any physical input structure (eg, keys, triggers, joysticks, trackballs, rocker switches). Alternatively, the totem may simply provide a physical surface, and the AR device may render the user interface so that it appears to the user to be on one or more surfaces of the totem. . For example, an AR device may render images of computer keyboards and trackpads to appear to reside on one or more surfaces of the totem. For example, an AR device may render a virtual computer keyboard and virtual trackpad to appear visible on the surface of a thin rectangular plate of aluminum that acts as a totem. The rectangular plate itself does not have any physical keys or trackpads or sensors. However, AR devices may detect user manipulations or interactions or touches with the rectangular plate as selections or inputs made via a virtual keyboard or virtual trackpad. User input devices 466 (shown in FIG. 4) may include a trackpad, touchpad, trigger, joystick, trackball, rocker or virtual switch, mouse, keyboard, multi-degree-of-freedom controller, or another physical input device. , may be a totem implementation. Alone or in combination with postures, users may use totems to interact with AR devices or other users.

本開示のARデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。 Examples of tactile devices and totems that can be used with the AR devices, HMDs, and display systems of the present disclosure are described in US Patent Publication No. 2015/0016777, which is incorporated herein by reference in its entirety. be done.

図1を参照して上記に描写および/または説明される例示的コンポーネントは、例証目的のためだけのものである。複数のセンサおよび他の機能的モジュールは、例証および説明を容易にするために、ともに示される。いくつかの実装は、これらのセンサまたはモジュールの1つのみまたはサブセットを含んでもよい。さらに、これらのコンポーネントの場所は、図1に描写される位置に限定されない。いくつかのコンポーネントは、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、またはヘルメットコンポーネント等の他のコンポーネントに搭載される、またはその中に格納されてもよい。
ユーザの環境をマッピングする実施例
The exemplary components depicted and/or described above with reference to FIG. 1 are for illustration purposes only. Multiple sensors and other functional modules are shown together for ease of illustration and explanation. Some implementations may include only one or a subset of these sensors or modules. Furthermore, the locations of these components are not limited to the locations depicted in FIG. Some components may be mounted on or housed within other components, such as belt-mounted components, handheld components, or helmet components.
An example of mapping the user's environment

図2は、AR環境200の実施例のブロック図である。AR環境200は、入力(例えば、ARデバイスからの視覚的入力202、室内カメラ等の定常入力204、種々のセンサからの感覚入力206、ジェスチャ、トーテム、眼追跡、ARデバイスからのユーザ入力等)を1つまたはそれを上回るユーザARデバイス(例えば、ARデバイス100)または定常室内システム(例えば、室内カメラ等)から受信するように構成されてもよい。ARデバイスは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに向いた結像システム、外向きに向いた結像システム等)を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。本情報はさらに、異なる視点からの画像または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。カメラ(室内カメラおよび/または外向きに向いた結像システムのカメラ等)によって入手された画像データは、マッピング点のセットに低減されてもよい。 FIG. 2 is a block diagram of an example AR environment 200 . The AR environment 200 accepts inputs (e.g., visual input 202 from AR devices, stationary inputs 204 such as room cameras, sensory inputs 206 from various sensors, gestures, totems, eye tracking, user input from AR devices, etc.). from one or more user AR devices (eg, AR device 100) or stationary indoor systems (eg, indoor cameras, etc.). AR devices use a variety of sensors (e.g., accelerometers, gyroscopes, temperature sensors, motion sensors, depth sensors, GPS sensors, inward-facing imaging systems, outward-facing imaging systems, etc.). can determine the location and various other attributes of the user's environment. This information may be further supplemented with information from stationary cameras in the room, which may provide images from different viewpoints or different cues. Image data obtained by a camera (such as an indoor camera and/or an outward-facing imaging system camera) may be reduced to a set of mapping points.

1つまたはそれを上回るオブジェクト認識装置208が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース212を用いて、意味論情報をオブジェクトに結び付けることができる。マップデータベース212は、経時的に収集された種々の点およびその対応するオブジェクトを備えてもよい。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して相互に接続され、クラウドにアクセスすることができる。 One or more object recognizers 208 crawl through the received data (e.g., set of points), recognize or map the points, tag the images, and use the map database 212 to extract semantic information. can be attached to an object. The map database 212 may comprise various points and their corresponding objects collected over time. Various devices and map databases can be interconnected through a network (eg, LAN, WAN, etc.) to access the cloud.

本情報およびマップデータベース内の点集合に基づいて、オブジェクト認識装置208a-208nは、環境内のオブジェクトを認識してもよい。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ドキュメント(例えば、本明細書におけるセキュリティ実施例において説明されるような旅券、運転免許証、パスポート)、ユーザの環境内の他のオブジェクト等を認識することができる。1つまたはそれを上回るオブジェクト認識装置が、ある特性を伴うオブジェクトのために特殊化されてもよい。例えば、オブジェクト認識装置208aは、顔を認識するために使用されてもよい一方、別のオブジェクト認識装置は、ドキュメントを認識するために使用されてもよい。 Based on this information and the point sets in the map database, object recognizers 208a-208n may recognize objects in the environment. For example, an object recognizer can identify faces, people, windows, walls, user input devices, televisions, documents (eg, passports, driver's licenses, passports as described in the security embodiments herein), the user's environment. Other objects, etc. within can be recognized. One or more object recognizers may be specialized for objects with certain properties. For example, object recognizer 208a may be used to recognize faces, while another object recognizer may be used to recognize documents.

オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ARデバイスは、外向きに向いた結像システムによって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識(例えば、人物またはドキュメント)、オブジェクト姿勢推定、顔認識(例えば、環境内の人物またはドキュメント上の画像から)、学習、インデックス化、運動推定、または画像分析(例えば、写真、署名、識別情報、旅行情報等のドキュメント内の印を識別する)等を実施することができる。1つまたはそれを上回るコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。 Object recognition may be performed using various computer vision techniques. For example, AR devices analyze images obtained by outward-facing imaging systems to provide scene reconstruction, event detection, video tracking, object recognition (e.g., people or documents), object pose estimation, facial recognition ( (e.g., from images on documents or people in the environment), learning, indexing, motion estimation, or image analysis (e.g., identifying indicia in documents such as photographs, signatures, identification information, travel information, etc.) can do. One or more computer vision algorithms may be used to perform these tasks. Non-limiting examples of computer vision algorithms are Scale Invariant Feature Transform (SIFT), Speed Up Robust Features (SURF), Oriented FAST and Rotation Brief (ORB), Binary Robust Invariant Scalable Keypoints (BRISK), Fast Retina Keypoints (FREAK), Viola-Jones algorithm, Eigenfaces approach, Lucas-Kanade algorithm, Horn-Schunk algorithm, Mean-shift algorithm, Visual simultaneous localization and mapping (vSLAM) techniques, Sequential Bayesian estimators (e.g. Kalman filter, Extended Kalman filter) etc.), bundle adjustment, adaptive thresholding (and other thresholding techniques), iterative nearest neighbors (ICP), semi-global matching (SGM), semi-global block matching (SGBM), feature point histograms, various machine learning algorithms ( For example, support vector machines, k-nearest neighbor algorithms, naive Bayes, neural networks (including convolutional or deep neural networks), or other supervised/unsupervised models, etc.).

オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Gneralization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実装では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ARデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実装では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。 Object recognition can additionally or alternatively be performed by various machine learning algorithms. Once trained, machine learning algorithms can be stored by the HMD. Some examples of machine learning algorithms can include supervised or unsupervised machine learning algorithms, regression algorithms (e.g., ordinary least squares regression, etc.), instance-based algorithms (e.g., learning vector quantization etc.), decision tree algorithms (e.g., classification and regression trees, etc.), Bayesian algorithms (e.g., naive Bayes, etc.), clustering algorithms (e.g., k-means clustering, etc.), association rule learning algorithms (e.g., a priori algorithms, etc.), Artificial neural network algorithms (e.g., Perceptron, etc.), deep learning algorithms (e.g., Deep Boltzmann Machine, i.e., deep neural networks, etc.), dimensionality reduction algorithms (e.g., principal component analysis, etc.), ensemble algorithms (e.g., Stacked Gneralization, etc.) , and/or other machine learning algorithms. In some implementations, individual models can be customized for individual datasets. For example, an AR device can generate or store a base model. The base model is used as a starting point and includes data types (e.g. a particular user in a telepresence session), datasets (e.g. a set of additional images acquired of a user in a telepresence session), conditional situations , or additional models specific to other variations may be generated. In some implementations, wearable HMDs can be configured to utilize multiple techniques to generate models for analysis of aggregated data. Other techniques may include using predefined thresholds or data values.

マップデータベース内の本情報および点の集合に基づいて、オブジェクト認識装置208a-208nは、オブジェクトを認識し、オブジェクトを意味論情報で補完し、生命をオブジェクトに与えてもよい。例えば、オブジェクト認識装置が、点のセットがドアであることを認識する場合、システムは、いくつかの意味論情報を結び付けてもよい(例えば、ドアは、ヒンジを有し、ヒンジを中心として90度移動を有する)。オブジェクト認識装置が、点のセットが鏡であることを認識する場合、システムは、鏡が、部屋内のオブジェクトの画像を反射させ得る、反射表面を有するという意味論情報を結び付けてもよい。意味論情報は、本明細書に説明されるように、オブジェクトのアフォーダンスを含むことができる。例えば、意味論情報は、オブジェクトの法線を含んでもよい。システムは、ベクトルを割り当てることができ、その方向は、オブジェクトの法線を示す。経時的に、マップデータベースは、システム(ローカルで常駐し得る、または無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて成長する。いったんオブジェクトが認識されると、情報は、1つまたはそれを上回るARデバイスに伝送されてもよい。例えば、AR環境200は、Californiaで起こっている場面についての情報を含んでもよい。環境200は、New Yorkにおける1人またはそれを上回るユーザに伝送されてもよい。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境200はまた、場所特定目的のために、トポロジマップを使用してもよい。
例示的マップAPI設定
Based on this information and the set of points in the map database, the object recognizers 208a-208n may recognize the object, augment the object with semantic information, and give life to the object. For example, if an object recognizer recognizes that a set of points is a door, the system may associate some semantic information (eg, a door has a hinge and 90 degrees centered on the hinge). degree shift). If the object recognizer recognizes that the set of points is a mirror, the system may associate the semantic information that the mirror has a reflective surface that can reflect images of objects in the room. Semantic information can include affordances of objects, as described herein. For example, semantic information may include normals of objects. The system can assign a vector whose direction indicates the normal of the object. Over time, the map database grows as the system (which may be locally resident or accessible through a wireless network) accumulates more data from around the world. Once the object is recognized, the information may be transmitted to one or more AR devices. For example, AR environment 200 may include information about scenes taking place in California. Environment 200 may be transmitted to one or more users in New York. Based on the data received from the FOV camera and other inputs, the object recognizer and other software components are configured so that the scene can be accurately "passed" to a second user who may be in a different part of the world. Points collected from different images can be mapped, objects can be recognized, and so on. The environment 200 may also use topology maps for localization purposes.
Exemplary Map API Settings

図3は、複数のユーザとマップサーバ310(「クラウドサーバ」または単に「クラウド」とも称される)との間の例示的データフローを図示する、ブロック図である。本実施例では、APIインターフェース330は、ユーザ302、304とマップサーバ310との間のより直接的かつ効率的通信を可能にするために実装される。いくつかの実施形態では、マップサーバ310は、遠隔処理およびデータモジュール260(図1)の一部であってもよい、またはマップサーバ310は、複数のユーザにアクセス可能である、別個のクラウドサーバであってもよい。 FIG. 3 is a block diagram illustrating an exemplary data flow between multiple users and a map server 310 (also referred to as a "cloud server" or simply "the cloud"). In this example, API interface 330 is implemented to enable more direct and efficient communication between users 302 , 304 and map server 310 . In some embodiments, map server 310 may be part of remote processing and data module 260 (FIG. 1), or map server 310 is a separate cloud server accessible to multiple users. may be

図3の実施例に示されるように、開発者302は、マップサーバ310と通信し、規準マップ320の中に実装され得る、マッピングデータを提供してもよく、また、開発者302に表示され、および/または付加的マッピングデータを入手する際に開発者をガイドするために使用され得る、APIインターフェース330を介して、マップデータをマップサーバ310から受信してもよい。同様に、ARデバイスを購入する、消費者等のユーザ304もまた、APIインターフェース330を介して、マップサーバ310とインターフェースをとり、付加的マップデータをマップサーバ310に提供することと、マップデータをマップサーバ310から受信することとの両方を行ってもよい。 As shown in the example of FIG. 3 , developer 302 may communicate with map server 310 to provide mapping data, which may be implemented in canonical map 320 and displayed to developer 302 . , and/or may be received from map server 310 via API interface 330, which may be used to guide developers in obtaining additional mapping data. Similarly, a user 304, such as a consumer, who purchases an AR device also interfaces with map server 310 via API interface 330 to provide additional map data to map server 310; It may both receive from map server 310 .

図3の実施例では、マップサーバ310はまた、画像記憶装置322を含み、これは、規準マップ320の関連付けられる部分とリンクされる、種々のソース(例えば、ARデバイス)から入手された画像を含んでもよい。 In the FIG. 3 embodiment, map server 310 also includes image store 322, which stores images obtained from various sources (eg, AR devices) that are linked with associated portions of reference map 320. may contain.

いくつかの実施形態では、マップサーバ310は、マップデータの品質に関して、複数のエンティティ(例えば、複数のユーザ)からのマップデータを評価し、次いで、高品質マップデータと規準マップ内の任意の既存のマップデータをマージする(例えば、追跡マップを規準マップにプロモートする)ように構成される。例えば、複数のユーザが、共通環境内に存在し、画像をマップサーバ310に伝送してもよい。いくつかの実施形態では、複数のユーザからのマップデータの統合が、ユーザのそれぞれが増加されたマップ品質から利益を享受し得るように、リアルタイムで実施される。いくつかの実施形態では、マップ品質は、ARデバイスによって取得される画像に基づいて、各ARデバイス内で別個に更新され、周期的ベースで(例えば、毎晩)、規準マップの一部として、他のユーザの画像データとマージされる。したがって、各ARデバイスは、直ちに、改良された品質マップを、後に、マップサーバが他のユーザからのマップデータを統合するにつれて、潜在的にさらにより高い品質のマップを利用し得る。
例示的マップ作成プロセス
In some embodiments, the map server 310 evaluates map data from multiple entities (e.g., multiple users) for map data quality and then compares the high quality map data with any existing maps in the reference map. map data (eg, promote a tracking map to a reference map). For example, multiple users may exist in a common environment and transmit images to map server 310 . In some embodiments, the integration of map data from multiple users is performed in real-time so that each of the users can benefit from increased map quality. In some embodiments, the map quality is updated separately within each AR device based on the images acquired by the AR device, and on a periodic basis (e.g., nightly), as part of the reference map, and other user's image data. Thus, each AR device can utilize improved quality maps immediately, and later, potentially even higher quality maps, as the map server integrates map data from other users.
Illustrative Map Creation Process

開発者302またはユーザ304等のユーザは、ユーザが、以前に、その現在の環境と相互作用または訪問していない、以前に、その現在の環境を走査していない、またはARシステムが、ユーザの環境を認識することに失敗している等の場合、環境のマップを作成してもよい。図4は、マップ作成プロセス400の例示的フローチャートを図示する。いくつかの実施形態では、ユーザが、既存のマップの中で再位置特定されることが可能である場合でも、図4に類似するプロセスは、現在のマップを改良するために実装されてもよい(例えば、下記に議論されるように、ブロック422において、付加的データを伝送することによって)。加えて、ユーザが、マップを改良するために、ユーザがデータを集めることに役立つように設計される、没入型のフロー内に存在しない場合でも、ARデバイスは、例えば、規準マップを更新するために使用され得る、クラウドへのマッピングデータの背景伝送を提供するように、依然として、図4のプロセスのいくつかまたは全てを実施してもよい。 A user, such as developer 302 or user 304, has not previously interacted with or visited its current environment, has not previously scanned its current environment, or the AR system If you are failing to recognize the environment, you may create a map of the environment. FIG. 4 illustrates an exemplary flow chart of map creation process 400 . In some embodiments, a process similar to FIG. 4 may be implemented to refine the current map, even though the user may be relocated within an existing map. (eg, by transmitting additional data at block 422, as discussed below). Additionally, even if the user is not in an immersive flow designed to help the user gather data to improve the map, the AR device can, for example, update the reference map. Some or all of the processes of FIG. 4 may still be implemented to provide background transmission of mapping data to the cloud, which may be used for

マッピング開始ブロック410では、ARシステムはユーザの環境の走査またはマッピングを開始すべきかどうかを決定することができる。例えば、ARシステムは、開始条件が環境の走査を開始するために満たされるかどうかを決定することができる。いくつかの実施例では、開始条件は、システムが新しいおよび/または知らない場所の中へのユーザの移動を検出すること、1つまたはそれを上回るセンサからの入力、および/またはユーザ入力を含むことができる。ユーザ入力は、1つまたはそれを上回るプロンプトに対する肯定または否定応答を含むことができる。1つまたはそれを上回るプロンプトは、ユーザが新しいユーザまたは既存のユーザであるかどうか、ユーザがマップを作成するためにその環境を以前に走査しているかどうか、またはプロンプトを開始するために使用されるプログラムのタイプ等の任意の数のARシステム条件に基づいて、異なり得る。別の実施例として、開発者302は、ユーザ304と異なる様式において、マッピングワークフローに入り得る。例えば、開発者302は、開発者302が、環境を探索し、環境のマップを構築するために使用可能なセンサデータを集めることを可能にするように、開発者によって開発されたソフトウェアアプリケーションと関連付けられる、新しい環境のマッピングプロセスを開始してもよい。 At the start mapping block 410, the AR system can decide whether to start scanning or mapping the user's environment. For example, the AR system can determine if a start condition is met to begin scanning the environment. In some examples, the start conditions include detecting user movement into a location new and/or unknown to the system, input from one or more sensors, and/or user input. be able to. User input may include affirmative or negative responses to one or more prompts. One or more prompts are used to initiate prompts, whether the user is a new or existing user, whether the user has previously traversed the environment to create a map, or It can differ based on any number of AR system requirements, such as the type of program being used. As another example, developer 302 may enter the mapping workflow in a different manner than user 304 . For example, the developer 302 may associate software applications developed by the developer to enable the developer 302 to explore the environment and gather sensor data that can be used to build maps of the environment. may initiate a new environment mapping process.

いくつかの実施形態では、ユーザが、図4のブロック410等を介して、マッピングプロセスに入ると、ウェルカムユーザインターフェースが、提示されてもよい。ウェルカムインターフェースは、ユーザに、ユーザの環境を走査または走査し続けるようにプロンプトする、ダイアログを含むことができる。いくつかの実施例では、ウェルカムインターフェースは、ユーザ入力を受信することができ、ARシステムは、そのユーザ入力に基づいて、走査を開始する、または開始しないことができる。加えて、または代替として、ARシステムは、ユーザ入力に基づいて、ユーザを別のプロンプトに移動させてもよい。 In some embodiments, a welcome user interface may be presented when the user enters the mapping process, such as via block 410 of FIG. The welcome interface may include a dialog that prompts the user to scan or continue scanning the user's environment. In some examples, the welcome interface may receive user input, and the AR system may or may not start scanning based on the user input. Additionally or alternatively, the AR system may move the user to another prompt based on user input.

走査ブロック412では、ARシステムは、走査プロセスを開始することができ、これは、それに関して付加的画像が取得されるべき、環境内のエリアのガイドをユーザに提供することを含んでもよい。いくつかの実施形態では、走査プロセスは、ゲーム化された要素を有し、ユーザが、その環境を動き回り、その空間内のデータを収集するように指示することに役立つ、プロセスであってもよい。例えば、ARシステムは、1つまたはそれを上回るグラフィック(ウェイポイントとも称される)を生成し、ユーザの環境の周囲に表示し、ユーザに、終了基準が満たされるまで、グラフィックと相互作用するように指示してもよい。本明細書で使用されるように、ウェイポイントは、マップ内の特定の場所および/またはマップ内の特定の場所のグラフィック(または他のインジケーション)を指し得る。したがって、ウェイポイントは、マップ内の特定の場所をマークし、および/またはユーザにウェイポイント場所に向かうように指示する、グラフィックを含んでもよい。ユーザと1つまたはそれを上回るグラフィックの相互作用の間、ARシステムは、ユーザの環境についてのデータを収集してもよい。 At scanning block 412, the AR system may begin a scanning process, which may include providing the user with a guide of areas in the environment for which additional images should be acquired. In some embodiments, the scanning process may be a process that has a gamified component that helps the user direct movement around the environment and collect data within the space. . For example, an AR system generates one or more graphics (also called waypoints), displays them around the user's environment, and prompts the user to interact with the graphics until an exit criterion is met. may be instructed to As used herein, a waypoint may refer to a particular location within a map and/or a graphic (or other indication) of a particular location within a map. Thus, a waypoint may include a graphic that marks a particular location within the map and/or directs the user to the waypoint location. During the user's interaction with one or more graphics, the AR system may collect data about the user's environment.

いくつかの実施例では、ARシステムは、マップ認識ブロック414において、ユーザの環境が、既知である、または認識されるかどうかをチェックし得る。ARシステムは、走査ブロック412の間または後、本チェックを実施してもよい。例えば、ARシステムは、ブロック412において、走査プロセスを実施してもよく、ARシステムは、走査プロセスの間、インターバルを空けて、ユーザの環境が既知の環境に合致するかどうかをチェックしてもよい(例えば、ARシステムは、ユーザの現在の環境に見出される1つまたはそれを上回るPCFとユーザの保存されたマップ内の1つまたはそれを上回るPCFを合致させることができる)。マップが、ARシステムによって認識される場合、ARシステムは、ブロック424においてランドスケープに入る前に、ブロック420において、認識されたマップと関連付けられるARコンテンツを復元することができる。マップが、ARシステムによって認識されない場合、本システムは、ブロック416において、マップ品質をチェックすることができる。 In some embodiments, the AR system may check whether the user's environment is known or known at map recognition block 414 . The AR system may perform this check during or after scan block 412 . For example, the AR system may perform a scanning process at block 412, and the AR system may check at intervals during the scanning process whether the user's environment matches the known environment. Good (eg, the AR system can match one or more PCFs found in the user's current environment with one or more PCFs in the user's saved map). If the map is recognized by the AR system, the AR system may restore AR content associated with the recognized map at block 420 before entering the landscape at block 424 . If the map is not recognized by the AR system, the system can check map quality at block 416 .

マップ品質ブロック416では、ARシステムは、走査ブロック412の間に収集されたデータに基づいて生成された(および/または仮想世界マップ内に記憶されるデータと組み合わせられた)マップが、現在および/または将来的使用の際に、高品質ユーザ体験を提供するために十分に高い品質であるかどうかをチェックすることができる。品質基準は、キーフレーム、PCF、またはユーザの環境内のメッシュまたは他のマップ特性と関連付けられる他のデータの数等、マップ品質を査定するための任意の好適な基準であることができる。例えば、ARシステムは、ユーザの空間を将来的走査において識別可能にするために十分なPCFが、収集されたデータに基づいて見出または生成されたかどうかを決定してもよい。PCFの数は、ユーザの環境内の1つ、2つ、3つ、または5つのPCF等の好適な数であってもよい。しかしながら、他の数もまた、可能性として考えられ得る。例えば、特定の環境のために必要なPCFの数は、集められた走査データおよび/または環境と以前に関連付けられたマップデータの分析等に基づいて、ARシステムによって動的に決定されてもよい。いったんARシステムが、マップが品質閾値を超えることを決定すると、ARシステムは、ブロック422において、収集されたデータを使用して、マップを保存してもよい。マップ品質決定のさらなる議論および実施例は、下記に提供される。 In map quality block 416, the AR system determines that the map generated based on the data collected during scan block 412 (and/or combined with data stored within the virtual world map) is current and/or Or for future use, it can be checked if the quality is high enough to provide a high quality user experience. The quality metric can be any suitable criterion for assessing map quality, such as the number of keyframes, PCFs, or other data associated with meshes or other map characteristics in the user's environment. For example, the AR system may determine whether sufficient PCFs have been found or generated based on the collected data to make the user's space identifiable in future scans. The number of PCFs may be any suitable number, such as 1, 2, 3, or 5 PCFs in the user's environment. However, other numbers are also possible. For example, the number of PCFs required for a particular environment may be dynamically determined by the AR system, such as based on analysis of collected scan data and/or map data previously associated with the environment. . Once the AR system determines that the map exceeds the quality threshold, the AR system may use the collected data to save the map at block 422 . Further discussion and examples of map quality determination are provided below.

保存ブロック422では、ARシステムは、ユーザまたは第三者による読出のために、マップを遠隔またはローカルメモリに保存してもよい。例えば、ユーザ304(図3)のARシステムは、ユーザ304のARシステムから取得されたマップデータを、APIインターフェース330を介して、マップサーバ310に伝送してもよい。加えて、または代替として、本システムは、ユーザに、名称または地球物理的場所等、マップとともにメタデータとして記憶されるべき、マップと関連付けられる他の情報を入力するようにプロンプトしてもよい。 At save block 422, the AR system may save the map to remote or local memory for retrieval by a user or third party. For example, the AR system of user 304 (FIG. 3) may transmit map data obtained from the AR system of user 304 to map server 310 via API interface 330 . Additionally or alternatively, the system may prompt the user to enter other information associated with the map, such as a name or geophysical location, to be stored as metadata with the map.

マップ品質が、高品質ユーザ体験を提供するために十分ではない場合、ARシステムは、決定ブロック418において、ユーザが、ユーザの環境を走査またはマッピングし続けることを所望するかどうかを決定することができる。例えば、ARシステムは、ユーザに、走査プロセスの走査を継続または停止するようにプロンプトすることができる。ARシステムは、プロンプトに対する応答として、ユーザ入力を受信し、ブロック412において、環境の走査を継続する、またはブロック424において、ランドスケープに入ってもよい。 If the map quality is not sufficient to provide a high quality user experience, the AR system may determine at decision block 418 whether the user wishes to continue scanning or mapping the user's environment. can. For example, the AR system can prompt the user to continue or stop scanning the scanning process. The AR system may receive user input in response to the prompt to continue scanning the environment at block 412 or enter the landscape at block 424 .

加えて、または代替として、ARシステムは、任意の時点で、マップ作成プロセス400を停止し、ブロック424において、ランドスケープに入ることができる。例えば、ユーザは、ブロック412における走査プロセスの間、終了またはスキップコマンドを入力することができる。ARシステムは、次いで、ブロック412において、走査プロセスを中止する、またはブロック424において、ランドスケープに入ることができる。
例示的マップキュレーション
Additionally or alternatively, the AR system can stop the map creation process 400 and enter the landscape at block 424 at any time. For example, the user can enter an exit or skip command during the scanning process at block 412 . The AR system can then abort the scanning process at block 412 or enter the landscape at block 424 .
Exemplary map curation

図5Aは、開発者302またはユーザ304によって実施され得るようなマップをキュレートするためのプロセスの一実施形態を図示する、フローチャートである。一般に、マップキュレーションプロセスは、本明細書に議論されるように、マップの品質を改良するために、センサデータ(例えば、マッピングされるべき環境内の画像データ)の収集を最適化する、ワークフローおよびガイドをユーザに提供する。いくつかの実施形態では、ユーザ(例えば、開発者302または消費者ユーザ304のいずれか)間の通信は、図3に図示されるようなAPI通信チャネルを介して生じてもよい。下記にさらに議論されるように、リアルタイムマップ品質データが、マップキュレーションプロセスの一部として、計算され、ユーザに提供されてもよい。例えば、ユーザを、現時点で低マップ品質を有する、環境のエリア(例えば、マッピングされるべき実世界空間)にガイドする、マップ可視化が、ARデバイス内に表示されてもよい。マップ品質における改良は、ユーザのためのより現実的かつ再現可能体験を提供する。例えば、マップの品質が、増加するにつれて、実世界と結び付けられる、デジタルコンテンツは、特定のユーザのセッション間または複数のユーザ間により良好に存続される。より高い品質マップを有する、別の可能性として考えられる利益は、そのエリアに進入する、エンドユーザが、より迅速に、より高い確率を伴って、かつマップ品質が改良されたエリア内の具体的場所に応じて、より多くの観点から、マップの中で位置特定され得ることである。 FIG. 5A is a flowchart illustrating one embodiment of a process for curating maps as may be performed by developer 302 or user 304 . In general, the map curation process optimizes the collection of sensor data (e.g., image data within the environment to be mapped) to improve map quality, as discussed herein. and guides to users. In some embodiments, communication between users (eg, either developer 302 or consumer user 304) may occur via API communication channels as illustrated in FIG. As discussed further below, real-time map quality data may be calculated and provided to users as part of the map curation process. For example, a map visualization may be displayed within the AR device that guides the user to areas of the environment (eg, real-world space to be mapped) that currently have low map quality. Improvements in map quality provide a more realistic and reproducible experience for users. For example, as the quality of maps increases, digital content associated with the real world better survives between sessions of a particular user or between multiple users. Another potential benefit of having a higher quality map is that end-users entering the area will be more quickly, with a higher probability, and more likely to find specifics within the area with improved map quality. Depending on the location, it can be located in the map from more perspectives.

一実施形態では、ガイド付き設定またはマップ作成モードのいずれかの選択を可能にする、ウェルカム画面が、開発者に提供されてもよい。例えば、図5Bはマップキュレーションツールの始動に応じて提供され得る、例示的ユーザインターフェースを図示する。マップ作成または改良モード(例えば、図5Bのユーザインターフェース内の「マップ作成」ボタン、または環境と関連付けられる少なくともいくつかのマップデータがすでにクラウドまたはいずれかの場所内に記憶されている、実施形態では、「改良」ボタン)の選択に応じて、マップ品質の可視化が、ARデバイスを通して見える現在の実世界環境に対するオーバーレイとして、ユーザに提供されてもよい。これらの可視化は、例えば、マップ品質ミニマップおよび/またはマップ品質オーバーレイを含んでもよい。メッシュ、PCF、および同等物等、マップをさらに展開する際に使用可能であり得る、付加的視覚的コンポーネントも、表示されてもよい。いくつかの実施形態では、マップ作成モードが、最初に、マップを構築するために入られるが、マップ作成(または改良)モードもまた、ユーザが、すでに既存のマップ(例えば、非常にわずかな既存のマップデータを有し得る)を改良するためのデータを提供するとき、選択されてもよい。下記にさらに議論されるように、新しいマップデータは、任意の既存のクラウド/規準マップとマージされてもよい。 In one embodiment, a welcome screen may be provided to the developer that allows selection of either guided setup or map creation mode. For example, FIG. 5B illustrates an exemplary user interface that may be provided upon activation of the map curation tool. Map creation or refinement mode (e.g., the "Create Map" button in the user interface of FIG. 5B, or in embodiments where at least some map data associated with the environment is already stored in the cloud or elsewhere , “Refine” button), a map-quality visualization may be provided to the user as an overlay to the current real-world environment seen through the AR device. These visualizations may include, for example, map quality minimaps and/or map quality overlays. Additional visual components, such as meshes, PCFs, and the like, which may be available in further developing the map, may also be displayed. In some embodiments, the map creation mode is first entered to build a map, but the map creation (or refinement) mode is also used when the user already has an existing map (e.g., very few existing maps). map data). As discussed further below, new map data may be merged with any existing cloud/reference map.

図5Cは、例示的マップ品質ミニマップ502を図示し、これは、ユーザが環境全体を通して移動するにつれて、マップ品質ミニマップが容易にアクセス可能であるように、コントローラUI504によって表される、コントローラ(例えば、ユーザによって動作されるハンドヘルドトーテム)の移動に追従するように構成されてもよい。いくつかの実施形態では、ユーザの手またはスプーン等の任意のユーザ入力デバイスまたはオブジェクトが、コントローラの代わりに使用されてもよく、その独自の関連付けられるUIを有してもよい。一般に、マップ品質ミニマップ502は、ユーザアイコン501を可視化の中心に伴う、ユーザの現在の位置と、ユーザアイコン501の周囲の複数のセル毎の品質インジケータとを示す。いくつかの実装では、ミニマップ502は、「Content Movement and Interaction Using a Single Controller」と題され、2020年1月24日に出願された、関連米国特許出願第62/965708号(弁理士整理番号第MLEAP.298PR/ML-1007USPRV号)(あらゆる目的のために、参照することによってその全体として本明細書に組み込まれる)にさらに詳細に議論される様式等において、それをコントローラの位置に追従させる、「遅延」追従特性を有してもよい。いくつかの実施形態では、ミニマップ502は、ユーザが北に向いたままであるように、自動的に回転してもよく、例えば、ミニマップは、ユーザが向いている場所に応じて、回転/偏移する。ユーザはまた、ミニマップの中心におけるユーザアイコン501の配向が、回転する一方、ミニマップの配向が、変化されないように、ミニマップを「北が上の」配向に維持するためのオプションを有してもよい。いくつかの実施形態では、ミニマップは、ユーザの現在の頭部姿勢等に基づいて、ユーザに向かって上に傾斜されてもよい。コントローラUIが可視化内に含まれる(例えば、図5CのコントローラUI504)、実施形態では、UIは、ユーザに向かった上向きの所定の調節可能傾斜(例えば、10、20、または30度傾斜)等において、ユーザによる容易な視認のために配向されてもよい。 FIG. 5C illustrates an exemplary map quality minimap 502, represented by controller UI 504, such that the map quality minimap is easily accessible as the user moves through the environment. For example, it may be configured to follow the movement of a handheld totem operated by a user. In some embodiments, any user input device or object, such as a user's hand or spoon, may be used in place of the controller and have its own associated UI. In general, the map quality minimap 502 shows the user's current location, with the user icon 501 at the center of the visualization, and a plurality of cell-by-cell quality indicators around the user icon 501 . In some implementations, the mini-map 502 is referenced in related U.S. Patent Application No. 62/965,708 (Attorney Docket No. MLEAP.298PR/ML-1007USPRV) (incorporated herein by reference in its entirety for all purposes) to follow the position of the controller. , may have a “delayed” tracking property. In some embodiments, the minimap 502 may automatically rotate so that the user remains facing north, e.g., the minimap rotates/rotates depending on where the user is facing. deviate. The user also has the option to keep the minimap in a "north up" orientation so that the orientation of the user icon 501 at the center of the minimap is rotated while the orientation of the minimap is not changed. may In some embodiments, the mini-map may be tilted up toward the user, such as based on the user's current head pose. In embodiments where a controller UI is included in the visualization (e.g., controller UI 504 in FIG. 5C), the UI is directed upward toward the user, such as at a predetermined adjustable tilt (e.g., 10, 20, or 30 degree tilt). , may be oriented for easy viewing by the user.

図5Cの実施例では、付加的マップ情報503が、コントローラUI504と関連付けて表示される。例えば、マップが「ライブ」または「固定」であるかどうかを示す、マップステータスが、表示されてもよい。いくつかの実施形態では、開発者は、マップまたはマップの一部をさらなる更新から固定する(またはロックする)ためのオプションを提供される。例えば、ユーザは、トリガの長押し(例えば、2秒またはそれを上回る)または他の指定された入力を提供し、マップを固定または固定解除してもよい。 In the example of FIG. 5C, additional map information 503 is displayed in association with controller UI 504 . For example, a map status may be displayed, indicating whether the map is "live" or "fixed." In some embodiments, developers are provided options to pin (or lock) maps or portions of maps from further updates. For example, the user may provide a long press of the trigger (eg, 2 seconds or more) or other specified input to freeze or unpin the map.

全体的マップ品質インジケータ506もまた、ユーザに表示されてもよく、これは、色(または他の実施形態では、他の可視化効果)を使用して、マップが、現在、低品質(例えば、赤色)、平均品質(例えば、黄色)、または高品質(例えば、緑色)であるかどうかを示してもよい。付加的マップ情報503はまた、付加的マッピングに進む、またはマップキュレーションプロセスを終了する方法に関するヒントまたはヘルプを含んでもよい。図5C1は、コントローラUI504および関連付けられるマップ情報503の別の図を図示する。本実施例では、全体的マップ品質インジケータ506は、マッピングヒント情報507よりコントローラ504から遠く離れるように、3次元Z位置に表示される。 An overall map quality indicator 506 may also be displayed to the user, which uses color (or in other embodiments, other visualization effects) to indicate that the map is currently of low quality (e.g., red ), average quality (eg yellow), or high quality (eg green). Additional map information 503 may also include hints or help on how to proceed with additional mappings or finish the map curation process. FIG. 5C1 illustrates another view of the controller UI 504 and associated map information 503. FIG. In this example, overall map quality indicator 506 is displayed at a 3D Z position, farther away from controller 504 than mapping hint information 507 .

図5C2は、例示的ミニマップ502の上面図である。本実施例では、ミニマップ502は、ユーザの現在の位置を中心としたマップ(例えば、規準および/または追跡マップ)の定義された半径を含む。本実施例では、マップの各セルは、27×27mmセルによって表され、ミニマップの半径は、145mmである。これらの例示的寸法を用いることで、ミニマップは、中心セルから北、南、西、および東方向に4~5つのセルに関するセル品質インジケータを含む。本実施例では、ミニマップは、図5C2の実施例では、115mm等の外側半径から特定の距離に開始して、フェードアウトする。他の実施形態では、セルおよびミニマップに関する他の寸法も、静的または動的(例えば、ユーザによって調節可能)かどうかにかかわらず、使用されてもよく、および/またはミニマップのコンポーネントの他の可視化も、使用されてもよい。 FIG. 5C2 is a top view of an exemplary minimap 502. FIG. In this example, mini-map 502 includes a defined radius of the map (eg, reference and/or tracking maps) centered on the user's current location. In this example, each cell of the map is represented by a 27×27 mm cell and the radius of the minimap is 145 mm. Using these exemplary dimensions, the mini-map contains cell quality indicators for 4-5 cells north, south, west, and east from the central cell. In this example, the mini-map fades out starting at a certain distance from the outer radius, such as 115 mm in the example of FIG. 5C2. In other embodiments, other dimensions for the cells and minimap, whether static or dynamic (eg, adjustable by the user), may also be used and/or other dimensions for the minimap's components. visualization may also be used.

図5Dは、環境のセル内のマップ品質の色インジケータとともに、環境の実際の実世界エリアにオーバーレイする、例示的マップ品質オーバーレイ506を図示する。図5Dに示されるように、マップ品質ミニマップ505は、マップ品質オーバーレイ506と併せて表示される。したがって、実施形態に応じて、マップ品質ミニマップおよび/またはマップ品質オーバーレイの一方または両方が、マップキュレーションプロセスの一部として、ユーザに表示されてもよい。 FIG. 5D illustrates an exemplary map quality overlay 506 overlaying the actual real-world area of the environment along with color indicators of map quality within cells of the environment. A map quality minimap 505 is displayed in conjunction with a map quality overlay 506, as shown in FIG. 5D. Thus, depending on the embodiment, one or both of the map quality minimap and/or the map quality overlay may be displayed to the user as part of the map curation process.

図5Bを再び参照すると、ユーザは、ガイド付き設定オプション(例えば、図5Bのユーザインターフェース内の「ガイド付き設定」ボタン)を選定し、環境をマッピングする際に付加的ガイドを提供してもよい。一例示的実装では、ガイド付き設定は、ユーザに、ゲーム化されたアニメーションを使用して等、ウェイポイントインジケータを提供し、ユーザに、付加的画像が必要とされる、マップのエリアを指示する。これらの付加的ガイド特徴は、マップ品質可視化と併せて、またはそれから独立して、提供されてもよい。図5E、5F、および5Gは、ウェイポイントガイドアニメーションを含む、例示的ユーザインターフェースである。「Mapping and Localization of a Passable World」と題され、2019年11月18日に出願された、関連米国特許出願第62/937,056号(第MLEAP.285PR号)は、ウェイポイントガイドに関するさらなる詳細を提供し、あらゆる目的のために、参照することによってその全体として本明細書に組み込まれる。 Referring again to FIG. 5B, the user may select a guided setup option (eg, the “Guided Setup” button in the user interface of FIG. 5B) to provide additional guidance in mapping the environment. . In one exemplary implementation, guided setup provides the user with waypoint indicators, such as using gamified animations, to direct the user to areas of the map where additional images are needed. . These additional guiding features may be provided in conjunction with or independent of map quality visualization. Figures 5E, 5F, and 5G are exemplary user interfaces including waypoint guide animations. Related U.S. Patent Application No. 62/937,056, entitled "Mapping and Localization of a Passable World" (No. and is incorporated herein by reference in its entirety for all purposes.

図5Aに戻ると、いくつかの実施形態では、ソフトウェア開発者302(図3)が、環境(例えば、マッピングされるべき実世界空間)と関連付けられる、初期マップデータを収集する等のために、図5Aの方法のいくつかまたは全てを実施してもよい。いくつかの実施形態では、1人またはそれを上回る他のユーザ304が、規準マップを更新し、マップの品質を改良するために使用され得る、付加的マップデータを提供する等のために、図5Aの方法のいくつかまたは全て(例えば、フローチャートの「環境の後続走査」部分)を実施してもよい。 Returning to FIG. 5A, in some embodiments, software developer 302 (FIG. 3), to collect initial map data, etc., associated with the environment (eg, the real-world space to be mapped): Some or all of the methods of FIG. 5A may be implemented. In some embodiments, one or more other users 304 update the reference map, provide additional map data that can be used to improve the quality of the map, etc. Some or all of the methods of 5A (eg, the “subsequent scanning of the environment” portion of the flowchart) may be implemented.

ブロック510から開始して、マッピングされるべき環境の初期走査が、入手されてもよい。例えば、開発者(または他のユーザ)が、ARデバイスを使用して、規準マップ内に任意のデータをまだ有していない、オフィス空間等、環境またはエリアの画像データを入手してもよい。いくつかの実装では、開発者は、1つまたはそれを上回るLIDARセンサ等を使用して、マップデータを他のソースから取得してもよい(手動で環境のまわりを移動され得る、または自動的に、例えば、ロボット制御で、環境全体を通して移動されるかどうかにかかわらず)。いくつかの実施形態では、開発者は、環境を歩き回り、環境のメッシュを作成するために使用可能である、画像および/または他のセンサデータを入手してもよい。開発者が、マッピングされるべき環境のまわりを移動するにつれて、ARシステムは、ユーザの移動経路に沿って、1つまたはそれを上回る追跡マップに処理され得る、画像データを入手する。本明細書で使用されるように、追跡マップは、概して、特定のARシステムによって使用される、ローカルマップを指すが、追跡マップは、複数のユーザ間で共有されてもよく(例えば、共通場所において)、下記にさらに議論されるように、複数のユーザに利用可能である、規準マップを生成および/または更新するために使用されてもよい。 Starting at block 510, an initial scan of the environment to be mapped may be obtained. For example, a developer (or other user) may use an AR device to obtain image data of an environment or area, such as an office space, that does not already have any data in the reference map. In some implementations, developers may obtain map data from other sources, such as using one or more LIDAR sensors (which may be manually moved around the environment or automatically (whether or not it is moved through the environment, e.g., robotically controlled). In some embodiments, the developer may walk around the environment and obtain images and/or other sensor data that can be used to create a mesh of the environment. As the developer moves around the environment to be mapped, the AR system obtains image data along the user's movement path that can be processed into one or more tracking maps. As used herein, tracking maps generally refer to local maps used by a particular AR system, although tracking maps may be shared among multiple users (e.g., common location ), may be used to generate and/or update reference maps that are available to multiple users, as discussed further below.

ブロック520に移行すると、ブロック510において入手されたマップデータは、マップサーバ310(図3)等のサーバにアップロードされ、そこで、規準マップ内への含有のために処理され得る。例えば、サーバは、マップデータを無数のエンティティから受信し、マップデータを処理し、最も信頼性があるマップデータを決定し、規準マップの中にマージしてもよい。 Moving to block 520, the map data obtained at block 510 may be uploaded to a server, such as map server 310 (FIG. 3), where it may be processed for inclusion within the reference map. For example, a server may receive map data from a myriad of entities, process the map data, determine the most authoritative map data, and merge them into a canonical map.

次に、ブロック530では、マップデータは、マップサーバ310(図3)と関連付けられる規準マップ320として記憶され得るように、ともにスティッチングおよび/またはマージされ、規準マップを生成または更新する。したがって、規準マップは、追跡マップとして生じ得る。規準マップは、規準マップにアクセスするデバイスが、いったんそのローカル座標系と規準マップの座標系との間の変換が実施されると、規準マップ内の情報を使用して、デバイスの周囲の物理的世界内の規準マップに表されるオブジェクトの場所を決定し得るように、存続されてもよい。したがって、いくつかの実施形態では、ARデバイスから受信された追跡マップデータは、環境に関する初期規準マップを生成するために使用されてもよい。データスティッチングおよびマージは、マップの品質を改良するために、画像の重複部分およびそのような画像内の共通基準点を識別してもよい。下記に議論されるように、後続マップデータは、次いで、規準マップの中に統合されてもよく、付加的マップデータは、マップの品質を改良し得る。 Next, at block 530, the map data are stitched and/or merged together to generate or update the reference map so that it can be stored as the reference map 320 associated with the map server 310 (FIG. 3). Therefore, the reference map can occur as a tracking map. The reference map allows a device accessing the reference map to use the information in the reference map to map the physical surroundings of the device once a transformation between its local coordinate system and the coordinate system of the reference map has been performed. It may be persisted so that the location of objects represented on the reference map within the world can be determined. Thus, in some embodiments, tracking map data received from an AR device may be used to generate an initial reference map of the environment. Data stitching and merging may identify overlapping portions of images and common reference points within such images to improve map quality. Subsequent map data may then be integrated into the reference map, and additional map data may improve the quality of the map, as discussed below.

規準マップ、追跡マップ、および/または他のマップは、個別のマップを作成するために処理されたデータによって表される、物理的世界の一部についての情報を提供し得る。例えば、マップは、対応する物理的世界内の物理的オブジェクトの間取図を提供してもよい。いくつかの実施形態では、マップ点は、物理的オブジェクトまたは物理的オブジェクトの特徴と関連付けられ得る(例えば、物理的オブジェクトが、複数の特徴を含む場合)。例えば、テーブルの各角は、マップ上の別個の点(例えば、テーブルの4つの角と関連付けられる、4つのマップ点)によって表される、別個の特徴であり得る。特徴は、拡張現実システム内のARデバイスのセンサを用いて入手され得るような画像を処理することから導出されてもよい。 Reference maps, tracking maps, and/or other maps may provide information about the portion of the physical world represented by the data processed to create the individual maps. For example, a map may provide a floor plan of physical objects in the corresponding physical world. In some embodiments, a map point may be associated with a physical object or a feature of a physical object (eg, if the physical object includes multiple features). For example, each corner of the table can be a separate feature represented by a separate point on the map (eg, four map points associated with the four corners of the table). Features may be derived from processing images such as may be obtained with the sensors of an AR device within an augmented reality system.

ブロック540に継続すると、ユーザが、次いで、マップサーバ310(図3)とのAPI通信等を介して、ブロック530において生成された規準マップにアクセスしてもよい。ユーザは、開発者または任意の他のユーザであってもよい。ブロック550では、ユーザは、ユーザを環境内で位置特定するために、環境の付加的画像を取得する。例えば、ユーザのARデバイスが、アクティブ化されると、1つまたはそれを上回るカメラからの画像が、取得され、マップ内のユーザの場所を決定するために使用されてもよい。位置特定が、直ちに、生じない場合、ユーザは、規準マップ内の位置特定が生じるまで、環境のまわりを移動し、付加的画像を取得してもよい。 Continuing at block 540, the user may then access the reference map generated at block 530, such as via API communication with map server 310 (FIG. 3). A user may be a developer or any other user. At block 550, the user acquires additional images of the environment to locate the user within the environment. For example, when a user's AR device is activated, images from one or more cameras may be acquired and used to determine the user's location within the map. If localization does not occur immediately, the user may move around the environment and acquire additional images until localization within the reference map occurs.

次に、ブロック570では、1つまたはそれを上回るマップ品質インジケータが、ユーザがさらに環境のまわりを移動するにつれて、動的に生成され、マップ品質の視覚的インジケータが、ユーザに提供される。有利なこととして、そのようなインジケータは、ユーザによって、付加的画像が最大品質改良を提供し得る、マップのエリアにより効率的に移動するために使用可能である。 Next, at block 570, one or more map quality indicators are dynamically generated to provide a visual indicator of map quality to the user as the user moves further around the environment. Advantageously, such an indicator can be used by the user to more efficiently navigate to areas of the map where additional images can provide the greatest quality improvement.

最後に、ブロック580では、ARシステムによって入手された付加的画像が、マップサーバ310に提供され、そこで、それらは、分析され、規準マップを更新するために使用され得る。したがって、上記のマップ品質相互作用と併せて、規準マップを更新する際に有用である、付加的マップデータを取得するステップが、より効率的に実施されることができる。 Finally, at block 580 the additional images obtained by the AR system are provided to the map server 310 where they can be analyzed and used to update the reference map. Therefore, in conjunction with the map quality interaction described above, obtaining additional map data useful in updating the reference map can be performed more efficiently.

いくつかの実施形態では、ユーザが、図5Aのプロセスを通して、ARデバイスと相互作用するにつれて、マッピングされた環境のメッシュが、表示および更新されてもよい。いくつかの実施形態では、メッシュは、低品質であって、それに関して付加的画像がマップの品質(対応して、マップのその部分の中での位置特定効率)を改良する際に有用であろう、マップの部分を示す。他の実施形態では、メッシュは、図5Aのマップキュレーションプロセスのいくつかまたは全ての間、ユーザに表示されなくてもよい。 In some embodiments, the mesh of the mapped environment may be displayed and updated as the user interacts with the AR device through the process of FIG. 5A. In some embodiments, the mesh is of low quality for which additional images are useful in improving the quality of the map (and correspondingly the localization efficiency within that portion of the map). Wax indicates a portion of the map. In other embodiments, the mesh may not be displayed to the user during some or all of the map curation process of FIG. 5A.

図6は、マップ品質インジケータに対する更新を決定するためのプロセスの一実施形態を図示する、フローチャートである。いくつかの実装では、ARデバイスのユーザは、追跡マップ、規準マップ、および/またはマップのある組み合わせであり得る、位置特定マップを使用して、ユーザの現在の環境を参照して位置特定される。次いで、ARデバイスのカメラシステムから取得されるリアルタイム画像(例えば、最も直近で捕捉されたもののうちの1つまたはそれを上回るもの)が、マップ内のユーザの場所を決定するための試みにおいて、位置特定マップに対して比較されてもよい。位置特定の成功は、位置特定マップの品質に依存する。したがって、位置特定のためのマップを使用することに関する成功の尤度を示す、マップ品質のメトリックが、有利であり得る。下記にさらに詳細に議論されるように、マップ品質メトリックは、基準点の全体的量および/または画像間の基準点の同時可視性等、異なる画像内で捕捉された基準点に基づいて決定されてもよい。基準点は、角、縁等等の着目特徴を表す、マップ点であってもよく、着目特徴は、位置特定目的のために環境内のオブジェクトを識別するために使用されてもよい。 FIG. 6 is a flow chart illustrating one embodiment of a process for determining updates to map quality indicators. In some implementations, a user of an AR device is located with reference to the user's current environment using a location map, which can be a tracking map, a reference map, and/or some combination of maps. . Real-time images acquired from the AR device's camera system (e.g., one or more of the most recently captured) are then used to determine the location of the user in an attempt to determine the user's location within the map. It may be compared against a specific map. Successful localization depends on the quality of the localization map. Therefore, a map quality metric that indicates the likelihood of success for using a map for localization may be advantageous. As discussed in more detail below, the map quality metric is determined based on fiducial points captured in different images, such as the overall amount of fiducial points and/or the simultaneous visibility of fiducial points between images. may The reference points may be map points representing features of interest, such as corners, edges, etc., which may be used to identify objects in the environment for localization purposes.

図6の実施例では、マップは、グリッドパターン等において、複数のセルにセグメント化され、セルはそれぞれ、1つまたはそれを上回る品質インジケータを決定するようにスコア化される。いくつかの実施形態では、マップと関連付けられるセルのグリッドは、姿勢グリッドブロック(またはPGB)と称され得る。有利なこととして、セル品質スコアは、例えば、ユーザが環境のまわりを移動するにつれて、動的に生成され、現在のセルに関するマップ品質に対する改良および/または付加的マップデータから利益を享受し得る、近隣のセルのインジケーションのリアルタイムフィードバックをユーザに提供し得る。 In the example of FIG. 6, the map is segmented into a plurality of cells, such as in a grid pattern, and each cell is scored to determine one or more quality indicators. In some embodiments, a grid of cells associated with a map may be referred to as a pose grid block (or PGB). Advantageously, the cell quality score is dynamically generated, e.g., as the user moves around the environment, and may benefit from improvements to map quality and/or additional map data for the current cell. Real-time feedback of neighboring cell indications may be provided to the user.

ブロック610から開始して、マップは、それぞれ、実世界環境の定義されたエリアと関連付けられる、複数のセルにセグメント化される。実装に応じて、マップは、位置特定時に(マップサーバ310から)ARシステムに伝送され得るような、その中でユーザが位置特定される、環境と関連付けられる、規準マップのいくつかまたは全てであってもよい。例えば、セルはそれぞれ、実世界環境の4m×4m、2m×2m、1m×1m、または任意の他のサイズまたは形状の所定のエリアと関連付けられ得る。 Beginning at block 610, the map is segmented into multiple cells, each associated with a defined area of the real-world environment. Depending on the implementation, the map may be some or all of the reference maps associated with the environment in which the user is located, such that it may be transmitted (from the map server 310) to the AR system during localization. may For example, each cell may be associated with a predetermined area of 4m×4m, 2m×2m, 1m×1m, or any other size or shape of the real-world environment.

ブロック620に移行して、その中にユーザが現在位置する、セルが、本明細書のいずれか場所で議論される位置特定技法等に基づいて、決定される。 Moving to block 620, the cell in which the user is currently located is determined, such as based on location techniques discussed elsewhere herein.

次に、ブロック630では、セル品質スコアが、その中にユーザが現在位置する、セルに関して決定される(例えば、ブロック620において決定されるように)。一実施形態では、0~1の範囲内のセル品質サブスコアが、セルの複数の視認方向毎に決定される。セル品質スコアは、次いで、サブスコアを平均すること等によって、サブスコアに基づいて決定されてもよい。例えば、4つの視認方向に分割される、セルは、0~1の範囲(または他の範囲)内の対応する4つのセル品質サブスコアを有してもよい。4つのサブスコア(例えば、0.5、0.6、0.7、0.25)は、平均され、セル品質スコアを取得してもよく、例えば、(0.5+0.6+0.7+0.25)/4は、0.5125のセル品質スコアをもたらす。他の実装では、他のスコア範囲が、使用されてもよく、全体的セル品質スコアは、異なるように計算されてもよい。例えば、いくつかの実施形態では、セル品質スコアは、周囲セルによって影響される。例えば、現在のセルに対して北、南、西、および東方向におけるセルのセル品質スコアが、加重を周囲セル品質スコアのそれぞれに関連付けること等によって、現在のセル品質スコアを計算する際に使用されてもよい。他の実施形態では、セルは、他の様式においてスコア化されてもよい。スコア化方法論のさらなる実施例は、セル品質スコアを決定する例示的方法を図示する、フローチャートである、図7Aを参照してさらに詳細に説明される。図7Aに進むと、ブロック710では、ARシステムおよび/またはマップサーバ310(図3)が、現在のセル(例えば、ユーザが現在位置付けられている、2m×2mエリア)と関連付けられる画像を決定する。画像は、追跡マップの一部として等、ローカルで記憶されてもよく、および/または規準マップ内の現在のセルと関連付けられる画像に関する要求に応答して、クラウドから(例えば、図3のマップサーバ310から)取得されてもよい。 Next, at block 630, a cell quality score is determined for the cell in which the user is currently located (eg, as determined at block 620). In one embodiment, a cell quality subscore in the range of 0 to 1 is determined for each of multiple viewing directions of the cell. A cell quality score may then be determined based on the subscores, such as by averaging the subscores. For example, a cell that is divided into four viewing directions may have four corresponding cell quality subscores in the range 0-1 (or other range). The four subscores (e.g. 0.5, 0.6, 0.7, 0.25) may be averaged to obtain a cell quality score, e.g. (0.5+0.6+0.7+0.25) /4 yields a cell quality score of 0.5125. In other implementations, other score ranges may be used and the overall cell quality score may be calculated differently. For example, in some embodiments the cell quality score is influenced by surrounding cells. For example, the cell quality scores of the cell in directions north, south, west, and east of the current cell are used in calculating the current cell quality score, such as by associating a weight to each of the surrounding cell quality scores. may be In other embodiments, cells may be scored in other manners. A further example of a scoring methodology is described in further detail with reference to FIG. 7A, which is a flowchart illustrating an exemplary method of determining cell quality scores. Proceeding to FIG. 7A, at block 710, the AR system and/or map server 310 (FIG. 3) determines an image associated with the current cell (eg, the 2m×2m area in which the user is currently located). . The image may be stored locally, such as as part of the tracking map, and/or from the cloud (e.g., the map server of FIG. 3) in response to a request for an image associated with the current cell in the reference map. 310).

ブロック720に移行すると、ブロック710内で識別された画像は、セルの視認方向および/またはある他のセグメント化に基づいてグループされる。例えば、画像はそれぞれ、4つの視認方向(例えば、北、南、東、および西、または上、下、左、および右)のうちの1つと関連付けられ得る。他の実施形態では、他の量および配向の視認方向も、使用されてもよい。図7Bの実施例では、例示的セル749が、図示される。例示的セル749は、4つの象限または視認方向を含み、ユーザ742は、セルの中心に位置付けられる。 Moving to block 720, the images identified in block 710 are grouped based on cell viewing direction and/or some other segmentation. For example, each image may be associated with one of four viewing directions (eg, north, south, east, and west, or up, down, left, and right). Other amounts and orientations of viewing direction may also be used in other embodiments. In the example of FIG. 7B, an exemplary cell 749 is illustrated. Exemplary cell 749 includes four quadrants or viewing directions, with user 742 positioned in the center of the cell.

図7Cは、同一セル749を図示し、ここでは、複数の画像750A-750Eが、そこから画像が(例えば、セル内の別のユーザまたは現在のユーザによって)入手された、セル749内に重畳され、位置付けられる。画像アイコン750A-750Eはまた、そこから画像が入手された、視認方向を示し、視認方向は、アイコン750のより狭い側からより広い側に向かって(かつそれを越えて)指す。したがって、本実施例では、画像750A、750B、および750Cは、セル749内の東向き視認方向からのコンテンツ、例えば、真東方向の両側上のある所定の角度の範囲内等、概して、東向きに見ている、セル749内の結像デバイスから入手された画像を含む。例えば、北が、ゼロ度であって、南が、180度であって、東が、90度である場合、東向き視認方向と関連付けられる、視認方向の範囲は、(90-X)~(90+X)として定義されてもよく、Xは、45以下である。類似視認方向範囲が、同一X値を用いて、北、南、および西に関して決定されてもよい。しかしながら、いくつかの実装では、Xは、2つの方向間の視野角から撮影されている、いくつかの画像が、画像の2つのグループ内に含まれ得るように、45を上回る、例えば、60であってもよい。例えば、重複視認方向エリアを伴う、ある実施形態では、北東の視野角から撮影される画像が、北(740N)および東(740E)画像グループの両方内に含まれてもよい。いくつかの実施形態では、他の数のグループ(例えば、2、3、10等)および/または他のX値(1、10、80等)も、使用されてもよい。 FIG. 7C illustrates the same cell 749, where multiple images 750A-750E are superimposed within the cell 749 from which the images were obtained (eg, by another user or the current user in the cell). and positioned. Image icons 750A-750E also indicate the viewing direction from which the image was obtained, which points from the narrower side of icon 750 toward (and beyond) the wider side. Thus, in the present example, images 750A, 750B, and 750C show content from an east viewing direction within cell 749, e.g. contains the image obtained from the imaging device in cell 749, looking at . For example, if north is zero degrees, south is 180 degrees, and east is 90 degrees, the range of viewing directions associated with the east viewing direction is (90-X) to ( 90+X), where X is 45 or less. Similar viewing direction ranges may be determined for North, South, and West using the same X value. However, in some implementations, X is greater than 45, e.g., 60, so that some images taken from viewing angles between the two directions can be included within the two groups of images. may be For example, in some embodiments with overlapping viewing direction areas, images taken from northeast viewing angles may be included in both the north (740N) and east (740E) image groups. In some embodiments, other number groups (eg, 2, 3, 10, etc.) and/or other X values (1, 10, 80, etc.) may also be used.

図7Cをさらに参照すると、画像750Eは、南向き視認方向からのコンテンツを含み、画像750Dは、西向き視認方向からのコンテンツを含む。したがって、これらの例示的画像をカテゴリ化した後、3つの画像は、東向き視認方向(セル749のグループ740Eと関連付けられる)と関連付けられ、1つの画像は、西向きグループ(740W)および南向きグループ(740S)のそれぞれと関連付けられ、いずれの画像も、北向きグループ(740N)と関連付けられない。 Still referring to FIG. 7C, image 750E includes content from a south viewing direction and image 750D includes content from a west viewing direction. Thus, after categorizing these exemplary images, three images are associated with the east viewing direction (associated with group 740E in cell 749), one image is associated with the west facing group (740W) and the south facing group (740S) and none of the images are associated with the north facing group (740N).

画像の視認方向およびその対応する視認方向グループを決定するステップは、セル内のユーザの特定の場所に依存せず、画像は、セル749内の任意の位置から取得されたものであってもよい。 Determining the viewing direction of the image and its corresponding viewing direction group does not depend on the particular location of the user within the cell, the image may have been taken from any location within the cell 749. .

図7Aに戻ると、ブロック730では、画像スコアが、画像毎に決定される。例えば、画像スコアは、画像内に含まれる基準点の量に基づいてもよい。いくつかの実施形態では、画像スコア化は、ブロック710に先立って等、プロセスの早い段階で実施されてもよい。例えば、画像は、それらがARシステムおよび/またはクラウドサーバによって受信されるにつれて、スコア化されてもよい。いくつかの実施形態では、画像スコアは、マップと関連付けられる任意の画像内の基準点の最高量等を基準として、正規化される。例えば、マップと関連付けられる任意の画像内の最大基準点が、10である場合、2つの基準点を伴う画像は、0.20の画像スコアに正規化されてもよく、7つの基準点を伴う画像は、0.70の画像スコアに正規化されてもよい。正規化された画像スコアの使用は、画像内の基準点の未加工量のみの使用よりもより包括的な全体的マップ品質のビューを提供し得る。 Returning to Figure 7A, at block 730, an image score is determined for each image. For example, the image score may be based on the amount of reference points contained within the image. In some embodiments, image scoring may be performed early in the process, such as prior to block 710 . For example, images may be scored as they are received by the AR system and/or cloud server. In some embodiments, image scores are normalized, such as by the highest amount of reference points in any image associated with the map. For example, if the maximum fiducial point in any image associated with the map is 10, then an image with two fiducial points may be normalized to an image score of 0.20, with seven fiducial points. Images may be normalized to an image score of 0.70. Using normalized image scores may provide a more comprehensive global map-quality view than using only the raw amount of fiducials in the image.

画像のスコア化および視認方向に基づく画像のグループ化のさらなる説明は、「Methods and Apparatuses For Determining and /or Evaluating Localizing Maps Of Image Display Devices」と題された、米国特許出願第_______号(弁理士整理番号第ML-0750US号)(あらゆる目的のために、参照することによってその全体として本明細書に組み込まれる)に見出され得る。 Further discussion of image scoring and grouping of images based on viewing direction is provided in U.S. Patent Application Serial No. No. ML-0750US), incorporated herein by reference in its entirety for all purposes.

次に、ブロック740では、視認方向毎に、セル品質サブスコアが、特定の視認方向と関連付けられる画像の画像スコア等に基づいて、生成されてもよい。したがって、実施例7Cを参照すると、9つのセル品質サブスコアが、画像750A-750Cのそれぞれ内の3つの基準点の識別に基づいて、視認方向グループ740Eに関して計算されてもよい(例えば、3+3+3=9)。画像スコアが正規化される、実施形態では、正規化されたスコアは、セル品質サブスコアを計算する際に使用されてもよい。例えば、画像750A、750B、750Cが、0.7、0.3、および0.5の正規化された画像スコアを有する場合、グループ740Eに関するセル品質サブスコアは、それらの正規化された画像スコアの平均、すなわち、0.5であってもよい。 Next, at block 740, for each viewing direction, a cell quality subscore may be generated, such as based on the image score of the image associated with the particular viewing direction. Thus, referring to Example 7C, nine cell quality sub-scores may be calculated for viewing direction group 740E based on identifying three reference points within each of images 750A-750C (eg, 3+3+3=9 ). In embodiments where the image score is normalized, the normalized score may be used in calculating the cell quality subscore. For example, if images 750A, 750B, 750C have normalized image scores of 0.7, 0.3, and 0.5, then the cell quality subscores for group 740E are the fractions of their normalized image scores. It may be an average, ie 0.5.

いくつかの実施形態では、セル品質サブスコアはさらに、特定の視認方向グループの画像内の基準点の同時可視性に基づいてもよい。例えば、画像750Aおよび750Bのそれぞれ内に2つの同時可視基準点、画像750Bおよび750Cのそれぞれ内に3つの同時可視基準点、および画像750Aおよび750Cのそれぞれ内に1つの同時可視基準点が存在する場合、6つのセル品質サブスコアが、視認方向グループ740Eに関して計算されてもよい(例えば、2+3+1=6)。他の実施形態では、セル品質サブスコアを決定する他の変形例も、使用されてもよい。 In some embodiments, the cell quality subscore may further be based on the simultaneous visibility of fiducial points within images of a particular viewing direction group. For example, there are two simultaneous visible reference points in each of images 750A and 750B, three simultaneous visible reference points in each of images 750B and 750C, and one simultaneous visible reference point in each of images 750A and 750C. If so, six cell quality sub-scores may be calculated for viewing direction group 740E (eg, 2+3+1=6). Other variations of determining cell quality sub-scores may also be used in other embodiments.

セル品質スコアが、次いで、セルのセル品質サブスコアに基づいて、計算されてもよい。例えば、4つのセル品質サブスコアが、平均され、セル品質スコアを決定してもよい。いくつかの実施形態では、セル品質スコアは、0~1、0~10、または0~100等の一般的範囲に正規化されてもよい。例証目的のために、0~1の範囲内のセル品質スコアが、本明細書で議論される。 A cell quality score may then be calculated based on the cell's cell quality subscore. For example, four cell quality subscores may be averaged to determine a cell quality score. In some embodiments, the cell quality score may be normalized to a general range such as 0-1, 0-10, or 0-100. For illustrative purposes, cell quality scores ranging from 0 to 1 are discussed herein.

図6に戻ると、セル品質スコアが計算されると、セル飽和インジケータが、現在のセルに関して決定される。一実施形態では、セル飽和インジケータは、ユーザが現在のセル内(例えば、現在のセルの2m×2mエリア内)に位置していた、時間量に基づく。ユーザが現在のセル内に存在していた秒数等の数値スコアが、決定されてもよい、またはいくつかの実施形態では、現在のユーザが特定の期間を上回ってセル内に存在していたかどうかのインジケータが、決定される。例えば、閾値時間は、ユーザが、10秒またはそれを上回って、現在のセル内に存在していた場合、セル飽和インジケータが、正(または1)である一方、ユーザが、10秒未満、セル内に存在していた場合、セル飽和インジケータが、負(またはゼロ)であるように、10秒に設定されてもよい。他の実施形態では、他の閾値時間も、使用されてもよい。いくつかの実施形態では、飽和サブスコアは、それに関してセル品質サブスコアが生成される、視認方向等、セルの複数の視認方向(例えば、図7Cにおける4つの視認方向740N、740S、740W、740E)毎に計算されてもよい。セルと関連付けられる複数の飽和サブスコアの表現である、セル飽和スコア(例えば、セルのサブスコアの和、平均、加重平均等)が、計算されてもよい。 Returning to FIG. 6, once the cell quality score is calculated, a cell saturation indicator is determined for the current cell. In one embodiment, the cell saturation indicator is based on the amount of time the user has been located within the current cell (eg, within a 2m x 2m area of the current cell). A numerical score, such as the number of seconds the user has been in the current cell, may be determined, or in some embodiments whether the current user has been in the cell for more than a certain period of time. An indicator of whether is determined. For example, the threshold time is that if the user has been in the current cell for 10 seconds or more, the cell saturation indicator is positive (or 1), while the user has been in the cell for less than 10 seconds. , the cell saturation indicator may be set to 10 seconds such that it is negative (or zero). Other threshold times may also be used in other embodiments. In some embodiments, the saturation subscore is for each of the cell's multiple viewing directions (eg, the four viewing directions 740N, 740S, 740W, 740E in FIG. 7C), such as the viewing directions for which the cell quality subscore is generated. may be calculated to A cell saturation score (eg, the sum, average, weighted average, etc. of the cell's subscores), which is a representation of multiple saturation subscores associated with the cell, may be calculated.

ブロック650では、調節されたセル品質スコア(または「セルスコア」)が、セル品質スコア(ブロック630)およびセル飽和インジケータに基づいて決定される(ブロック640)。例えば、セルスコアは、セル飽和インジケータが、正である場合、セル品質スコアおよびある加重値に基づいてもよい。例えば、1つの実装では、セル品質スコアが、所定の量(例えば、0.5)未満である場合、セルスコアは、正のセル飽和インジケータに起因して、セル品質スコア+0.5の増加として決定される。セル飽和インジケータが、負である場合、セルスコアは、セル品質スコアに等しくてもよい。他の実施形態では、セル飽和インジケータおよびセル品質スコアは、異なる割合で組み合わせられ、セルスコアを決定してもよい。 At block 650, an adjusted cell quality score (or "cell score") is determined based on the cell quality score (block 630) and the cell saturation indicator (block 640). For example, the cell score may be based on the cell quality score and some weighting value when the cell saturation indicator is positive. For example, in one implementation, if the cell quality score is less than a predetermined amount (e.g., 0.5), the cell score is determined as the cell quality score +0.5 increase due to the positive cell saturation indicator. be done. If the cell saturation indicator is negative, the cell score may equal the cell quality score. In other embodiments, the cell saturation indicator and cell quality score may be combined in different proportions to determine the cell score.

ブロック660に移行すると、セルスコアが計算されると、更新されたマップ可視化が、ARデバイスに提供され、ユーザが、セルスコアを可視化することを可能にしてもよい。いくつかの実施形態では、セルスコアは、赤色、橙色、黄色、緑色等の色、および/またはそのような色間の勾配を使用して示される。例えば、1のセルスコアは、セルに関する緑色インジケータをもたらし得る一方、セルスコアが、0.5を上回るまたはそれに等しいが、1未満である場合、セルに関する黄色インジケータが、表示される。同様に、0.25またはそれ未満である、セルスコアは、赤色として示されてもよい。色勾配は、スコアがゼロ~1のスケール上に位置する場所をより精密に示すために使用されてもよい。別の実施例では、スコアに関する色の勾配は、1のスコアに関して緑色およびゼロのスコアに関して赤色(橙色)等、2つの色間の勾配に基づいて決定されてもよい。先に議論されたように、可視化は、ユーザに、その中のセルスコアがより低く、それに関して付加的画像が望ましい、環境のエリアを指示する、マッピングガイドを含んでもよい。 Moving to block 660, once the cell score is calculated, an updated map visualization may be provided to the AR device to allow the user to visualize the cell score. In some embodiments, cell scores are indicated using colors such as red, orange, yellow, green, etc., and/or gradients between such colors. For example, a cell score of 1 may result in a green indicator for the cell, while a yellow indicator for the cell is displayed if the cell score is greater than or equal to 0.5 but less than 1. Similarly, cell scores that are 0.25 or less may be shown as red. A color gradient may be used to more precisely indicate where the score lies on the zero to one scale. In another example, the color gradient for the scores may be determined based on the gradient between two colors, such as green for a score of 1 and red (orange) for a score of zero. As discussed earlier, the visualization may include a mapping guide that directs the user to areas of the environment within which cell scores are lower and for which additional images are desirable.

図8は、ミニマップ800の例示的ユーザインターフェースである。本実施例では、ミニマップ800は、高セルスコアを伴う、いくつかのセル802(例えば、緑色円形)と、中セルスコアを伴う、4つのセル804(例えば、黄色円形)と、低セルスコアを伴う、1つのセル806(例えば、赤色円形)とを示す。加えて、ユーザが現在存在する、セルである、セル802Aは、橙色に着色された中心部分を有し、平均または中央値スコアを示し、セル806に向かった指向性スコアは、低く(赤色)、セル804Aに向かった指向性スコアは、中程度であって(黄色)、他の2つの方向における指向性スコアは、高い(緑色)等となる。 FIG. 8 is an exemplary user interface for minimap 800 . In this example, the minimap 800 has some cells 802 (e.g., green circles) with high cell scores, four cells 804 (e.g., yellow circles) with medium cell scores, and four cells 804 (e.g., yellow circles) with low cell scores. One cell 806 (eg, red circle) is shown. In addition, the cell in which the user is currently located, cell 802A, has an orange-colored central portion and indicates a mean or median score, with a directional score towards cell 806 being low (red). , toward cell 804A is moderate (yellow), the directional score in the other two directions is high (green), and so on.

本明細書のいずれかの場所に記載されるように、セルスコアを高、中、低、および/または、その間の任意の他の変動としてランク付けするための値の範囲は、実装に基づいて変動し得る。加えて、他の色が、各セル内のオブジェクトのサイズと品質レベルの関連付け等、セルスコア値および/または他の視覚的インジケータを表すために使用されてもよい(例えば、セルは、スコアが最高であるとき、充実され、セルは、スコアが最低であるとき、セルの中心には、ドットのみを含む、または何もない)。図8の実施例等のいくつかの実施形態では、着色ドットは、一部の品質データが存在する、セル(例えば、セルスコアを有する、セル)内にのみ含まれる。非常に短い時間だけ、セルに立ち寄っただけでも、典型的には、セルスコアを計算するために十分なデータの収集することを可能にする(より低いセルスコアであり得る場合でも)ため、本実施例における着色ドットの欠如は、ユーザがそのセル内に存在していなかったことを示し得る。 As described elsewhere herein, the range of values for ranking cell scores as high, medium, low, and/or any other variation in between varies based on implementation. can. Additionally, other colors may be used to represent cell score values and/or other visual indicators, such as the association of object size and quality level within each cell (e.g., cells with the highest scores is filled, and the cell contains only a dot in the center of the cell, or nothing, when the score is the lowest). In some embodiments, such as the example of FIG. 8, colored dots are included only in cells for which some quality data exists (eg, cells with cell scores). Because even a very short visit to a cell typically allows the collection of sufficient data to calculate a cell score (even though it may be a lower cell score), this embodiment The lack of colored dots in the may indicate that the user was not in that cell.

図8の実施例では、現在のセル802Aは、4つの視認方向のそれぞれにおけるセル品質スコアを、セル802Aの中心における全体的セルスコア(例えば、橙色)とともに示す。したがって、セルサブスコアリング810内の色は、セル802A内からのその視認方向から取得される画像の品質に関連付けられる、緑色、赤色、黄色、および緑色のセル品質サブスコアを示す(北から開始して時計回りに進む)。いくつかの実施形態では、複数の指向性品質インジケータが、セル毎に計算および記憶されるが、全体的セルスコアは、ユーザが位置する、現在のセルの外側のセルのみに示され得る。これは、依然として、それに関してスコアが決定された任意のセルに関する全体的品質スコアを提供しながら、ユーザインターフェースの複雑度を低減させ得る。 In the example of FIG. 8, current cell 802A shows the cell quality score in each of the four viewing directions along with the overall cell score (eg, orange) in the center of cell 802A. Thus, the colors in cell subscoring 810 indicate the green, red, yellow, and green cell quality subscores associated with the quality of the image obtained from that viewing direction from within cell 802A (starting north going clockwise). In some embodiments, multiple directional quality indicators are calculated and stored for each cell, but an overall cell score may be shown only for cells outside the current cell in which the user is located. This may reduce user interface complexity while still providing an overall quality score for any cell for which a score was determined.

図8の実施形態では、ユーザが、現在、黄色ドットで示されている、セル804Aに進入する場合、セルに進入することに応じて、ユーザアイコンは、セル804A内に位置付けられ、セルは、セル804Aに関する4つの指向性スコアを示すように更新され得る。例えば、セル804Aは、3つの緑色および1つの赤色指向性品質インジケータと関連付けられ得るが、ユーザは、セル804Aに進入するまで、各スコアが関連付けられる、方向を把握しないであろう。いったんユーザが、セル804Aに進入する(かつ指向性スコアインジケータが、セル804Aに示される)と、赤色指向性品質インジケータが、西に対する場合、それが、ユーザが西を見るように促すようにユーザに示され、その方向におけるマップの品質を改良するために使用され得、西品質サブスコアおよび全体的セルスコアの両方を増加させるであろう、さらなる画像をその方向において取得するであろう。 In the embodiment of FIG. 8, if the user enters cell 804A, currently indicated by a yellow dot, in response to entering the cell the user icon is positioned within cell 804A and the cell: It may be updated to show four directional scores for cell 804A. For example, cell 804A may be associated with three green and one red directional quality indicators, but a user would not know the direction with which each score is associated until entering cell 804A. Once the user enters cell 804A (and a directional score indicator is shown in cell 804A), if the red directional quality indicator is to west, it prompts the user to look west. and will acquire additional images in that direction that can be used to improve the quality of the map in that direction, increasing both the West Quality subscore and the overall cell score.

いくつかの実施形態では、全体的マップ品質スコアは、マップのセルスコアのうちの1つまたはそれを上回るものに基づいて、計算されてもよい。例えば、一実施形態では、全体的マップ品質スコアは、マップの全てのセルのセルスコアの平均である。別の実施形態では、全体的マップ品質スコアは、セルスコアを割り当てられている、マップのセルの数量または割合に基づいてもよい。例えば、マップが、100個のセルを含むが、セルの53個のみが、関連付けられるセルスコアを有する場合、全体的マップスコアは、0.53または53%であってもよい。いくつかの実施形態では、全体的マップ品質スコアは、マップ全体ではなく、ミニマップに示されるマップの一部(例えば、ユーザの直接周囲のセル)に基づいて、計算されてもよい。全体的マップ品質スコアは、図5のコントローラUI504を参照して図示されるように、関連付けられるマップ情報503に示され得る。 In some embodiments, an overall map quality score may be calculated based on one or more of the map's cell scores. For example, in one embodiment, the overall map quality score is the average of the cell scores of all cells of the map. In another embodiment, the overall map quality score may be based on the quantity or percentage of cells in the map that have been assigned cell scores. For example, if a map contains 100 cells, but only 53 of the cells have an associated cell score, the overall map score may be 0.53 or 53%. In some embodiments, an overall map quality score may be calculated based on the portion of the map shown in the mini-map (eg, the cells immediately surrounding the user) rather than the entire map. The overall map quality score can be shown in associated map information 503, as illustrated with reference to controller UI 504 in FIG.

図9A-9Eは、ユーザが、環境のまわりを移動し、マップ品質を改良するために使用される、画像を取得するにつれて、ARデバイスを介してユーザに表示される、例示的ユーザインターフェースを図示する。図9Aから開始して、ミニマップ902は、ユーザアイコン901をマップの中心セル内に含む。マッピングプロセスの本段階では、その中にユーザが現在位置付けられている、セルは、ミニマップ902の任意の他のセル内の着色円形の欠如によって示されるように、セルスコアを割り当てられられている、唯一のセルである。本実施形態では、ユーザインターフェースはまた、図9Aの例示的ユーザインターフェース右下部分全体を通した白色ドットの形態におけるメッシュ910インジケータを含み、メッシュ化されている環境の具体的エリアおよび/または環境の特定のエリアのメッシュ化の範囲を示す。全体的マップ品質906を含む、付加的マッピング情報903もまた、本実施例内に表示され、全体的マップ品質が現在0%であることを示す。 9A-9E illustrate an exemplary user interface displayed to the user via the AR device as the user moves around the environment and acquires images that are used to improve map quality. do. Starting with FIG. 9A, a minimap 902 contains a user icon 901 in the center cell of the map. At this stage of the mapping process, the cell in which the user is currently located has been assigned a cell score, as indicated by the lack of colored circles within any other cell of the minimap 902. It is the only cell. In this embodiment, the user interface also includes a mesh 910 indicator in the form of white dots throughout the lower right portion of the exemplary user interface of FIG. Indicates the extent of meshing for a particular area. Additional mapping information 903 is also displayed in this example, including overall map quality 906, indicating that the overall map quality is currently 0%.

図9Bに移行すると、ユーザは、別のセルの中に移動しており、付加的セルスコアが、示される。いくつかの実施形態では、セルスコアは、新しい画像がARデバイスによって入手された、またはユーザがセルの境界を横断して移動したとき等、マップイベント毎に再計算される。図9の実施例に示されるように、視認方向インジケータ905が、ユーザアイコン901の隣に示され、ユーザをミニマップを基準として配向することに役立つ。視認インジケータ905は、有利なこととして、ユーザリアルタイム配向を示す。他の実施形態では、ユーザの配向は、他の様式で表示されてもよい。図9Cはさらに、ミニマップが、ユーザが環境のまわりを移動するにつれて、リアルタイムで更新される方法を図示する。同様に、メッシュインジケーションも、リアルタイムで更新される。図9Dは、再び、全体的マップインジケータ906を示すが、ここでは、ユーザが、環境のまわりを移動し、本システムが3つのセルに関するセルスコアを展開することを可能にすることに起因して、マップ品質が33%であることのインジケーションを伴う。図9Eでは、マップ品質インジケータ906は、51%までの増加を示し、ここでは、4つのセルが、セルスコアを有する。したがって、ミニマップは、改良の即時インジケーションをユーザに提供し、これは、ユーザが、環境のまわりを移動し、付加的画像データを取得し続けるための動機としての役割を果たし得る。
例示的実装
Moving to FIG. 9B, the user has moved into another cell and an additional cell score is shown. In some embodiments, cell scores are recalculated at each map event, such as when a new image is obtained by the AR device or when the user moves across cell boundaries. As shown in the example of FIG. 9, a viewing direction indicator 905 is shown next to the user icon 901 to help orient the user relative to the minimap. A visual indicator 905 advantageously indicates the user's real-time orientation. In other embodiments, the user's orientation may be displayed in other manners. FIG. 9C further illustrates how the minimap is updated in real time as the user moves around the environment. Similarly, mesh indications are also updated in real time. FIG. 9D again shows an overall map indicator 906, but this time due to the user moving around the environment and allowing the system to develop cell scores for three cells. with an indication that the map quality is 33%. In FIG. 9E, the map quality indicator 906 shows an increase to 51%, where four cells have cell scores. The mini-map thus provides the user with an immediate indication of refinement, which can serve as an incentive for the user to continue moving around the environment and acquiring additional image data.
Example implementation

本明細書に説明されるシステム、方法、およびデバイスはそれぞれ、いくつかの側面を有するが、そのうちのいずれの単一の1つだけが、その望ましい属性に関与するわけではない。本開示の範囲を限定することなく、いくつかの非限定的特徴が、ここで、簡単に議論されるであろう。以下の段落は、本明細書に説明されるデバイス、システム、および方法の種々の例示的実装を説明する。1つまたはそれを上回るコンピュータのシステムが、動作時、本システムにアクションを実施させる、本システム上にインストールされる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定の動作またはアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、本装置にアクションを実施させる、命令を含むことによって、特定の動作またはアクションを実施するように構成されることができる。 The systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of the present disclosure, some non-limiting features will now be briefly discussed. The following paragraphs describe various exemplary implementations of the devices, systems, and methods described herein. A system of one or more computers performs a particular action or Can be configured to perform actions. One or more computer programs may be configured to perform a particular operation or action by including instructions which, when executed by a data processing apparatus, cause the apparatus to perform the action.

実施例1:コンピュータ化された方法であって、1つまたはそれを上回るハードウェアコンピュータプロセッサと、コンピューティングシステムによって実行可能なソフトウェア命令を記憶し、コンピュータ化された方法を実施する、1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスとを有する、コンピューティングシステムによって実施され、デジタルマップを複数のセルにセグメント化するステップであって、セルはそれぞれ、デジタルマップの定義されたエリアおよび実世界環境の対応するエリアと関連付けられる、ステップと、ウェアラブルヘッドセットが位置付けられる、セルを決定するステップと、ユーザを決定されたセルの中で位置特定するために使用可能な決定されたセルと関連付けられる、セル品質スコアを決定するステップと、ユーザが、少なくとも閾値期間にわたって、決定されたセル内に位置付けられているかどうかを示す、セル飽和インジケータを決定するステップと、セル品質スコアおよびセル飽和スコアを示す、セルスコアを決定するステップと、ウェアラブルヘッドセット内で視認可能なユーザインターフェースを更新し、決定されたセルに関するセルスコアを示すステップとを含む、コンピュータ化された方法。 Example 1: A computerized method for storing software instructions executable by one or more hardware computer processors and a computing system to implement the computerized method. segmenting a digital map into a plurality of cells, each a defined area of the digital map and an actual area of the digital map; determining the cell in which the wearable headset is located; and associating the user with the determined cell that can be used to locate the user within the determined cell. determining a cell quality score, determined a cell saturation indicator indicating whether the user has been located within the determined cell for at least a threshold period of time, and combining the cell quality score and the cell saturation score; determining a cell score; and updating a user interface visible within the wearable headset to indicate the cell score for the determined cell.

実施例2:セル品質スコアおよびセル飽和インジケータは、ウェアラブルヘッドセットに対して遠隔のサーバによって決定され、アプリケーションプログラミングインターフェース(API)通信チャネルを介して、ウェアラブルヘッドセットに伝送される、実施例1に記載のコンピュータ化された方法。 Example 2: The cell quality score and cell saturation indicator are determined by a server remote to the wearable headset and transmitted to the wearable headset via an application programming interface (API) communication channel to Example 1. The described computerized method.

実施例3:ウェアラブルヘッドセットは、遠隔サーバからマップデータに直接アクセスするための証明書を伝送することによって、(API)通信チャネルを開始する、実施例2に記載のコンピュータ化された方法。 Example 3: The computerized method of Example 2, wherein the wearable headset initiates the (API) communication channel by transmitting credentials for direct access to map data from a remote server.

実施例4:セル品質スコアは、0~1であって、0は、最低セル品質を示し、1は、最高セル品質を示す、実施例1に記載のコンピュータ化された方法。 Example 4: The computerized method of Example 1, wherein the cell quality score is 0-1, with 0 indicating the lowest cell quality and 1 indicating the highest cell quality.

実施例5:セル飽和インジケータが、正である場合、セルスコアは、セル品質スコアおよび0.5の和であって、最大セルスコアは、1である、実施例1に記載のコンピュータ化された方法。 Example 5: The computerized method of Example 1, wherein if the cell saturation indicator is positive, the cell score is the sum of the cell quality score and 0.5, and the maximum cell score is 1.

実施例6:セル飽和インジケータが、負である場合、セルスコアは、セル品質スコアである、実施例1に記載のコンピュータ化された方法。 Example 6: The computerized method of Example 1, wherein if the cell saturation indicator is negative, the cell score is the cell quality score.

実施例7:ユーザインターフェースは、セルの一部のミニマップと、その対応するセルスコアとを含む、実施例1に記載のコンピュータ化された方法。 Example 7: The computerized method of Example 1, wherein the user interface includes a minimap of a portion of the cell and its corresponding cell score.

実施例8:ミニマップは、ミニマップがユーザ入力デバイスと連動して移動するように、ユーザ入力デバイスの位置と関連付けられる、実施例7に記載のコンピュータ化された方法。 Example 8: The computerized method of Example 7, wherein the minimap is associated with the location of the user input device such that the minimap moves in conjunction with the user input device.

実施例9:ミニマップは、ユーザ入力デバイスの正面に表示される、実施例8に記載のコンピュータ化された方法。 Example 9: The computerized method of Example 8, wherein the minimap is displayed in front of the user input device.

実施例10:ユーザの移動に応答して、ミニマップを回転させ、ユーザの配向を維持するステップをさらに含む、実施例7に記載のコンピュータ化された方法。 Example 10: The computerized method of Example 7, further comprising rotating the minimap to maintain a user orientation in response to user movement.

実施例11:ユーザインターフェースは、セルスコアのインジケータが実世界環境の対応する部分にオーバーレイする、マップ品質オーバーレイを含む、実施例1に記載のコンピュータ化された方法。 Example 11: The computerized method of Example 1, wherein the user interface includes a map-quality overlay in which the cell score indicator overlays a corresponding portion of the real-world environment.

実施例12:ユーザインターフェースは、特定の視認方向から取得される画像に基づいて決定される、少なくとも1つのセル品質サブスコアを含む、実施例1に記載のコンピュータ化された方法。 Example 12: The computerized method of Example 1, wherein the user interface includes at least one cell quality subscore determined based on images acquired from a particular viewing direction.

実施例13:少なくとも1つのセル品質サブスコアは、北視認方向サブスコアと、南視認方向サブスコアと、西視認方向サブスコアと、東視認方向サブスコアとを含む、実施例12に記載のコンピュータ化された方法。 Example 13: The computerized method of Example 12, wherein the at least one cell quality subscore comprises a north viewing direction subscore, a south viewing direction subscore, a west viewing direction subscore, and an east viewing direction subscore.

実施例14:セル品質サブスコアは、現在のセルに示される、実施例13に記載のコンピュータ化された方法。 Example 14: The computerized method of Example 13, wherein the cell quality subscore is indicated for the current cell.

実施例15:セル品質サブスコアは、セルスコアのインジケータの周囲の着色エリアとして示される、実施例14に記載のコンピュータ化された方法。 Example 15: The computerized method of Example 14, wherein the cell quality subscores are indicated as colored areas around the cell score indicators.

実施例16:セルスコアは、ユーザインターフェース内に色を用いて示され、より低いセルスコアは、第1の色であって、より高いセルスコアは、第2の色である、実施例7に記載のコンピュータ化された方法。 Example 16: The computer of Example 7, wherein cell scores are indicated using colors in the user interface, lower cell scores being a first color and higher cell scores being a second color. method.

実施例17:第1の色は、赤色であって、第2の色は、緑色である、実施例16に記載のコンピュータ化された方法。 Example 17: The computerized method of Example 16, wherein the first color is red and the second color is green.

実施例18:ユーザインターフェースは、決定されたセルをユーザアイコンを用いて示す、実施例7に記載のコンピュータ化された方法。 Example 18: The computerized method of Example 7, wherein the user interface indicates determined cells with user icons.

実施例19:複数のセルは、グリッドパターン内にある、実施例1に記載のコンピュータ化された方法。 Example 19: The computerized method of Example 1, wherein the plurality of cells are in a grid pattern.

実施例20:コンピュータ化された方法であって、1つまたはそれを上回るハードウェアコンピュータプロセッサと、コンピューティングシステムによって実行可能なソフトウェア命令を記憶し、コンピュータ化された方法を実施する、1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスとを有する、コンピューティングシステムによって実施され、マップサーバと通信するように構成される、アプリケーションプログラミングインターフェースを介して、ウェアラブルヘッドセットの環境と関連付けられる、マップデータにアクセスするステップと、ウェアラブルヘッドセットを介して、マップデータの品質をマップの複数のセルのそれぞれに示す、ミニマップを表示するステップと、ウェアラブルヘッドセットの1つまたはそれを上回るセンサを介して、ユーザが環境のまわりを移動するにつれて、環境の画像を取得するステップと、環境の取得された画像に基づいて、マップデータの品質に対する更新を決定するステップと、ミニマップを更新し、マップデータの品質に対する更新を示すステップとを含む、コンピュータ化された方法。 Example 20: A computerized method storing software instructions executable by one or more hardware computer processors and a computing system to perform the computerized method, one or a map associated with the environment of the wearable headset via an application programming interface implemented by a computing system having a non-transitory computer-readable storage device above it and configured to communicate with a map server; accessing the data and displaying, via the wearable headset, a minimap indicating the quality of the map data in each of a plurality of cells of the map; and via one or more sensors of the wearable headset. obtaining images of the environment as the user moves around the environment; determining updates to the quality of the map data based on the obtained images of the environment; updating the minimap; and indicating updates to the quality of the data.

実施例21:アプリケーションプログラミングインターフェースを介して、環境の画像のうちの少なくともいくつかを伝送するステップをさらに含む、実施例20に記載のコンピュータ化された方法。 Example 21: The computerized method of Example 20, further comprising transmitting at least some of the images of the environment via an application programming interface.

実施例22:マップサーバは、環境の画像に基づいて、環境の規準マップを更新するように構成される、実施例20に記載のコンピュータ化された方法。 Example 22: The computerized method of example 20, wherein the map server is configured to update the reference map of the environment based on the image of the environment.

実施例23:マップサーバはさらに、環境の画像を1人またはそれを上回る他のユーザから受信するように構成される、実施例22に記載のコンピュータ化された方法。 Example 23: The computerized method of Example 22, wherein the map server is further configured to receive images of the environment from one or more other users.

実施例24:マップの品質は、マップの個々のセルに関するセル品質スコアおよび飽和インジケータに基づいて決定される、実施例20に記載のコンピュータ化された方法。 Example 24: The computerized method of Example 20, wherein map quality is determined based on cell quality scores and saturation indicators for individual cells of the map.

実施例25:特定のセルに関するセル品質スコアおよび飽和インジケータは、ユーザが特定のセル内に位置に付けられている間に決定される、実施例24に記載のコンピュータ化された方法。 Example 25: The computerized method of Example 24, wherein the cell quality score and saturation indicator for a particular cell are determined while the user is positioned within the particular cell.

実施例26:少なくとも、マップの個々のセルに関するセル品質スコアに基づいて、全体的マップ品質インジケータを決定するステップをさらに含む、実施例24に記載のコンピュータ化された方法。 Example 26: The computerized method of Example 24, further comprising determining an overall map quality indicator based at least on cell quality scores for individual cells of the map.

上記に述べられたように、上記に提供される説明される実施例の実装は、ハードウェア、方法またはプロセス、および/またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでもよい。
付加的考慮点
As noted above, implementation of the illustrative examples provided above may include hardware, methods or processes, and/or computer software on a computer-accessible medium.
Additional Considerations

本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つまたはそれを上回る物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。 Each of the processes, methods, and algorithms described herein and/or depicted in the accompanying figures are configured to execute specific and specific computer instructions, one or more It may be embodied in code modules, executed by physical computing systems, hardware computer processors, application specific circuits, and/or electronic hardware, thereby being fully or partially automated. For example, a computing system can include a general purpose computer (eg, a server) or a special purpose computer, dedicated circuitry, etc. programmed with specific computer instructions. The code modules may be compiled and linked into an executable program, installed in a dynamically linked library, or written in an interpreted programming language. In some implementations, specific acts and methods may be performed by circuitry specific to a given function.

さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、動画またはビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。 Moreover, implementation of the functionality of the present disclosure may be sufficiently mathematically, computationally, or technically complex to require either special-purpose hardware (utilizing appropriate specialized executable instructions) or single-use hardware. One or more physical computing devices may be required to perform the functionality, for example, due to the amount or complexity of the computations involved, or to provide results substantially in real time. For example, a motion picture or video contains many frames, each frame may have millions of pixels, and specifically programmed computer hardware can perform the desired image processing in a commercially reasonable amount of time. There is a need to process video data to serve a task or use.

コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。 Code modules or any type of data may be stored in hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical discs, volatile or nonvolatile storage devices, combinations of the same, and/or It may be stored on any type of non-transitory computer-readable medium such as physical computer storage, including equivalents. The methods and modules (or data) may also be transmitted as data signals (e.g., carrier waves or other analog or digital propagated signals) generated on various computer-readable transmission media, including wireless-based and wire/cable-based media. part) and may take various forms (eg, as part of a single or multiplexed analog signal, or as a plurality of discrete digital packets or frames). The results of any disclosed process or process step can be persistently or otherwise stored in any type of non-transitory, tangible computer storage device or communicated over a computer-readable transmission medium.

本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実装では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実装に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。 Any process, block, state, step, or functionality in a flow diagram described herein and/or depicted in an accompanying figure represents a specific function (e.g., logic or arithmetic) or It should be understood as potentially representing a code module, segment, or portion of code containing one or more executable instructions for implementing a step. Various processes, blocks, states, steps, or functionality may be combined, rearranged, added to, deleted from, modified, or modified from the illustrative embodiments provided herein. It can be modified from there otherwise. In some implementations, additional or different computing systems or code modules may perform some or all of the functionality described herein. The methods and processes described herein are also not limited to any particular sequence, and blocks, steps, or states associated therewith may be performed in any other suitable sequence, e.g., serially, in parallel. or in some other manner. Tasks or events may be added to or removed from the disclosed example implementations. Moreover, the separation of various system components in the implementations described herein is for illustrative purposes and should not be understood as requiring such separation in all implementations. It should be appreciated that the described program components, methods, and systems may generally be integrated together in a single computer product or packaged in multiple computer products. Many implementation variations are possible.

本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。 The present processes, methods and systems may be implemented in a network (or distributed) computing environment. Networking environments include enterprise-wide computer networks, intranets, local area networks (LAN), wide area networks (WAN), personal area networks (PAN), cloud computing networks, crowdsourced computing networks, the Internet, and the World Wide Web. . The network can be a wired or wireless network or any other type of communication network.

本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。 The system and method of the present disclosure each have several innovative aspects, none of which are solely responsible or required for the desirable attributes disclosed herein. The various features and processes described above can be used independently of each other or combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. Various modifications of the implementations described in this disclosure may be readily apparent to those skilled in the art, and the general principles defined herein may be adapted to other implementations without departing from the spirit or scope of this disclosure. can be applied. Accordingly, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the broadest scope consistent with the disclosure, principles and novel features disclosed herein. be.

別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つまたはそれを上回る特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実装に必要または必須ではない。 Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Further, although features have been described above as acting in certain combinations and may also be originally claimed as such, one or more features from the claimed combination may in some cases be , may be deleted from the combination, and a claimed combination may cover subcombinations or variations of subcombinations. No single feature or group of features is required or mandatory in every implementation.

とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実装がある特徴、要素、および/またはステップを含む一方、他の実装がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実装に対していかようにも要求されること、または1つまたはそれを上回る実装が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実装において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを含意することを意図するものではない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つまたはそれを上回る」または「少なくとも1つ」を意味するように解釈されるべきである。 In particular, "can", "could", "might", "may", "e.g.", and equivalents , etc., as used herein generally refer to a feature, element, and /or are meant to convey that while the steps are included, other implementations do not include them. Thus, such conditional statements generally state that the features, elements and/or steps are required in any one or more implementations or that one or more implementations necessarily include logic, with or without author input or prompting, to determine whether these features, elements, and/or steps should be included or performed in any particular implementation; is not intended to imply The terms “comprising,” “including,” “having,” and equivalents are synonymous and are used generically in a non-limiting manner, Do not exclude subjective elements, features, acts, actions, etc. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense), thus, for example, when used to connect a list of elements, the term "or" Means one, some, or all of the elements in the list. Additionally, the articles "a," "an," and "the," as used in this application and the appended claims, unless specified otherwise, refer to "one or more" or "at least one." should be construed to mean "one".

本明細書で使用されるように、項目のリスト「のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実装が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図するものではない。 As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single elements. As an example, "at least one of A, B, or C" encompasses A, B, C, A and B, A and C, B and C, and A, B, and C is intended. Conjunctive sentences, such as the phrase "at least one of X, Y, and Z," generally refer to at least one of X, Y, or Z, unless specifically stated otherwise. understood differently in contexts such as those used to convey that a Thus, such a conjunction generally implies that an implementation requires that at least one of X, at least one of Y, and at least one of Z each be present. is not intended to be

同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つまたはそれを上回る例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つまたはそれを上回る付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。 Similarly, although operations may be depicted in the figures in a particular order, it is to be performed in the specific order in which such operations are shown or in a sequential order to achieve desirable results, or It should be appreciated that not all illustrated acts need be performed. Further, the drawings may graphically depict one or more exemplary processes in the form of flow charts. However, other acts not depicted may be incorporated within the illustrative methods and processes illustrated schematically. For example, one or more additional acts may be performed before, after, concurrently with, or between any of the illustrated acts. Additionally, the operations may be rearranged or reordered in other implementations. In some situations, multitasking and parallel processing can be advantageous. Furthermore, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, as the described program components and systems generally operate in a single unit. can be integrated together in multiple software products or packaged in multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.

Claims (20)

コンピューティングシステムによって実施されるコンピュータ化された方法であって、前記コンピューティングシステムは、1つまたはそれを上回るハードウェアコンピュータプロセッサと、1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスとを有し、前記1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスは、前記コンピュータ化された方法を実施するように、前記コンピューティングシステムによって実行可能なソフトウェア命令を記憶しており、前記コンピュータ化された方法は、
デジタルマップを複数のセルにセグメント化することであって、前記セルのそれぞれは、前記デジタルマップの定義されたエリアおよび実世界環境の対応するエリアと関連付けられる、ことと、
ウェアラブルヘッドセットが位置付けられるセルを決定することと、
ユーザを前記決定されたセルの中で位置特定するために使用可能な前記決定されたセルと関連付けられるセル品質スコアを決定することと、
セル飽和インジケータを決定することであって、前記セル飽和インジケータは、前記ユーザが、少なくとも閾値期間にわたって、前記決定されたセル内に位置付けられているかどうかを示す、ことと、
前記セル品質スコアおよびセル飽和スコアを示すセルスコアを決定することと、
前記ウェアラブルヘッドセット内で視認可能なユーザインターフェースを更新し、前記決定されたセルに関するセルスコアを示すことと
を含む、コンピュータ化された方法。
A computerized method performed by a computing system, said computing system having one or more hardware computer processors and one or more non-transitory computer readable storage devices. said one or more non-transitory computer readable storage devices storing software instructions executable by said computing system to perform said computerized method; The modified method is
segmenting a digital map into a plurality of cells, each of said cells being associated with a defined area of said digital map and a corresponding area of a real-world environment;
determining a cell in which the wearable headset is positioned;
determining a cell quality score associated with the determined cell that can be used to locate a user within the determined cell;
determining a cell saturation indicator, the cell saturation indicator indicating whether the user is located within the determined cell for at least a threshold period of time;
determining a cell score indicative of the cell quality score and cell saturation score;
updating a user interface visible within the wearable headset to indicate a cell score for the determined cell.
前記セル品質スコアおよび前記セル飽和インジケータは、前記ウェアラブルヘッドセットに対して遠隔のサーバによって決定され、アプリケーションプログラミングインターフェース(API)通信チャネルを介して、前記ウェアラブルヘッドセットに伝送される、請求項1に記載のコンピュータ化された方法。 2. The cell quality score and cell saturation indicator of claim 1, wherein the cell quality score and the cell saturation indicator are determined by a server remote to the wearable headset and transmitted to the wearable headset via an application programming interface (API) communication channel. The described computerized method. 前記ウェアラブルヘッドセットは、前記遠隔サーバからマップデータに直接アクセスするための証明書を伝送することによって、前記API通信チャネルを開始する、請求項2に記載のコンピュータ化された方法。 3. The computerized method of claim 2, wherein the wearable headset initiates the API communication channel by transmitting credentials for direct access to map data from the remote server. 前記セル品質スコアは、0~1であり、0は、最低セル品質を示し、1は、最高セル品質を示す、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the cell quality score is between 0 and 1, with 0 indicating the lowest cell quality and 1 indicating the highest cell quality. 前記セル飽和インジケータが、正である場合、前記セルスコアは、前記セル品質スコアと0.5との和であり、最大セルスコアは、1である、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the cell score is the sum of the cell quality score and 0.5 and the maximum cell score is 1 if the cell saturation indicator is positive. 前記セル飽和インジケータが、負である場合、前記セルスコアは、前記セル品質スコアである、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the cell score is the cell quality score if the cell saturation indicator is negative. 前記ユーザインターフェースは、前記セルの一部のミニマップと、その対応するセルスコアとを含む、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the user interface includes a minimap of a portion of the cell and its corresponding cell score. 前記ミニマップは、前記ミニマップがユーザ入力デバイスと連動して移動するように、ユーザ入力デバイスの位置と関連付けられる、請求項7に記載のコンピュータ化された方法。 8. The computerized method of claim 7, wherein the minimap is associated with a user input device location such that the minimap moves in conjunction with the user input device. 前記ミニマップは、前記ユーザ入力デバイスの正面に表示される、請求項8に記載のコンピュータ化された方法。 9. The computerized method of claim 8, wherein the minimap is displayed in front of the user input device. 前記ユーザの移動に応答して、前記ミニマップを回転させ、前記ユーザの配向を維持することをさらに含む、請求項7に記載のコンピュータ化された方法。 8. The computerized method of claim 7, further comprising rotating the minimap to maintain the user's orientation in response to the user's movement. 前記ユーザインターフェースは、セルスコアのインジケータが前記実世界環境の対応する部分にオーバーレイするマップ品質オーバーレイを含む、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the user interface includes a map-quality overlay in which cell score indicators overlay corresponding portions of the real-world environment. 前記ユーザインターフェースは、特定の視認方向から取得される画像に基づいて決定される少なくとも1つのセル品質サブスコアを含む、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the user interface includes at least one cell quality subscore determined based on images acquired from a particular viewing direction. 前記少なくとも1つのセル品質サブスコアは、北視認方向サブスコアと、南視認方向サブスコアと、西視認方向サブスコアと、東視認方向サブスコアとを含む、請求項12に記載のコンピュータ化された方法。 13. The computerized method of claim 12, wherein the at least one cell quality subscore includes a north viewing direction subscore, a south viewing direction subscore, a west viewing direction subscore, and an east viewing direction subscore. 前記セル品質サブスコアは、前記決定されたセル内に示される、請求項13に記載のコンピュータ化された方法。 14. The computerized method of claim 13, wherein the cell quality subscore is indicated within the determined cell. 前記セル品質サブスコアは、前記セルスコアのインジケータの周囲の着色エリアとして示される、請求項14に記載のコンピュータ化された方法。 15. The computerized method of claim 14, wherein the cell quality subscores are indicated as colored areas around the cell score indicators. 前記セルスコアは、前記ユーザインターフェース内に色を用いて示され、より低いセルスコアは、第1の色であり、より高いセルスコアは、第2の色である、請求項7に記載のコンピュータ化された方法。 8. The computerized device of claim 7, wherein the cell scores are indicated using colors in the user interface, lower cell scores being a first color and higher cell scores being a second color. Method. 前記第1の色は、赤色であり、前記第2の色は、緑色である、請求項16に記載のコンピュータ化された方法。 17. The computerized method of claim 16, wherein said first color is red and said second color is green. 前記ユーザインターフェースは、前記決定されたセルをユーザアイコンを用いて示す、請求項7に記載のコンピュータ化された方法。 8. The computerized method of claim 7, wherein the user interface indicates the determined cells using user icons. 前記複数のセルは、グリッドパターン内にある、請求項1に記載のコンピュータ化された方法。 2. The computerized method of claim 1, wherein the plurality of cells are in a grid pattern. コンピューティングシステムによって実施されるコンピュータ化された方法であって、前記コンピューティングシステムは、1つまたはそれを上回るハードウェアコンピュータプロセッサと、1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスとを有し、前記1つまたはそれを上回る非一過性コンピュータ可読記憶デバイスは、前記コンピュータ化された方法を実施するように、コンピューティングシステムによって実行可能なソフトウェア命令を記憶しており、前記コンピュータ化された方法は、
マップサーバと通信するように構成されるアプリケーションプログラミングインターフェースを介して、ウェアラブルヘッドセットの環境と関連付けられるマップデータにアクセスすることと、
前記ウェアラブルヘッドセットを介して、前記マップデータの品質を示すミニマップを、マップの複数のセルのそれぞれに表示することと、
ユーザが前記環境のまわりを移動するにつれて、前記ウェアラブルヘッドセットの1つまたはそれを上回るセンサを介して、前記環境の画像を取得することと、
前記環境の取得された画像に基づいて、前記マップデータの品質に対する更新を決定することと、
前記ミニマップを更新し、前記マップデータの品質に対する更新を示すことと
を含む、コンピュータ化された方法。
A computerized method performed by a computing system, said computing system having one or more hardware computer processors and one or more non-transitory computer readable storage devices. wherein said one or more non-transitory computer readable storage devices store software instructions executable by a computing system to perform said computerized method; The method was
accessing map data associated with the environment of the wearable headset via an application programming interface configured to communicate with a map server;
displaying, via the wearable headset, a minimap indicative of the quality of the map data in each of a plurality of cells of a map;
acquiring images of the environment via one or more sensors of the wearable headset as a user moves around the environment;
determining updates to the quality of the map data based on captured images of the environment;
and updating the minimap to indicate updates to the quality of the map data.
JP2022543679A 2020-01-27 2021-01-20 Augmented Reality Map Curation Active JP7490784B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062966267P 2020-01-27 2020-01-27
US62/966,267 2020-01-27
PCT/US2021/014138 WO2021154558A1 (en) 2020-01-27 2021-01-20 Augmented reality map curation

Publications (3)

Publication Number Publication Date
JP2023511332A true JP2023511332A (en) 2023-03-17
JPWO2021154558A5 JPWO2021154558A5 (en) 2024-01-24
JP7490784B2 JP7490784B2 (en) 2024-05-27

Family

ID=

Also Published As

Publication number Publication date
EP4097711A4 (en) 2024-01-24
US20230162411A1 (en) 2023-05-25
EP4097711A1 (en) 2022-12-07
US11574424B2 (en) 2023-02-07
WO2021154558A1 (en) 2021-08-05
US20210233288A1 (en) 2021-07-29
CN115039166A (en) 2022-09-09

Similar Documents

Publication Publication Date Title
US11574424B2 (en) Augmented reality map curation
US11954243B2 (en) Mapping and localization of a passable world
US11797105B2 (en) Multi-modal hand location and orientation for avatar movement
US10223838B2 (en) Method and system of mobile-device control with a plurality of fixed-gradient focused digital cameras
US9514570B2 (en) Augmentation of tangible objects as user interface controller
CN109891189B (en) Planned photogrammetry
CN115769174A (en) Avatar customization for optimal gaze recognition
CN110363061B (en) Computer readable medium, method for training object detection algorithm and display device
US11842514B1 (en) Determining a pose of an object from rgb-d images
JP7379603B2 (en) Methods, devices and systems for delivering recommendations
CN115244495A (en) Real-time styling for virtual environment motion
US20230362573A1 (en) Audio enhanced augmented reality
JP7490784B2 (en) Augmented Reality Map Curation
KR20210091033A (en) Electronic device for estimating object information and generating virtual object and method for operating the same
US20240073402A1 (en) Multi-perspective augmented reality experience
KR102316389B1 (en) Method for estimating coordinates of virtual object
US20230394773A1 (en) Smart Interactivity for Scanned Objects using Affordance Regions
US20240069637A1 (en) Touch-based augmented reality experience
WO2023189601A1 (en) Information processing device, recording medium, and information processing method
US20240069642A1 (en) Scissor hand gesture for a collaborative object
US11863963B2 (en) Augmented reality spatial audio experience
US20240070301A1 (en) Timelapse of generating a collaborative object
US20240070302A1 (en) Collaborative object associated with a geographical location
KR20240035281A (en) An augmented reality device for proving augmented reality service which controls an object in the real world space and a method for operating the same
KR20230053262A (en) A 3D object recognition method based on a 2D real space image and a computer program recorded on a recording medium to execute the same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20240116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240417

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240515