JP6931138B1 - デバイスローカリゼーションのためのマルチシンクアンサンブルモデル - Google Patents

デバイスローカリゼーションのためのマルチシンクアンサンブルモデル Download PDF

Info

Publication number
JP6931138B1
JP6931138B1 JP2020572886A JP2020572886A JP6931138B1 JP 6931138 B1 JP6931138 B1 JP 6931138B1 JP 2020572886 A JP2020572886 A JP 2020572886A JP 2020572886 A JP2020572886 A JP 2020572886A JP 6931138 B1 JP6931138 B1 JP 6931138B1
Authority
JP
Japan
Prior art keywords
model
localization
models
matching
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020572886A
Other languages
English (en)
Other versions
JP2021524636A (ja
Inventor
シーイン ダイアナ フー
シーイン ダイアナ フー
アヌバフ アショク
アヌバフ アショク
ピーター ターナー
ピーター ターナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Niantic Inc
Original Assignee
Niantic 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 Niantic Inc filed Critical Niantic Inc
Priority to JP2021131580A priority Critical patent/JP7361075B2/ja
Application granted granted Critical
Publication of JP6931138B1 publication Critical patent/JP6931138B1/ja
Publication of JP2021524636A publication Critical patent/JP2021524636A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/485Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

デバイスの位置を判定するシステム及び方法である。デバイスは、1つ以上のセンサを使用してセンサデータを収集する。センサデータに基づいて、1つ以上のローカリゼーションモデルが、複数のローカリゼーションモデルから選択される。選択したモデルが適用され、1つ以上の潜在的な位置が生成される。デバイスの現在の位置は、1つ以上の潜在的な位置に基づいて判定される。

Description

本開示は、一般に、位置判定、より具体的には、センサデータを使用してデバイス位置を判定することに関する。
コンピュータ媒介現実技術により、ハンドヘルド又はウェアラブルデバイスを使用しているユーザは、デバイスを通じて体験したように、環境の視覚的又は聴覚的な認識を変更できる。拡張現実(Augmented reality:AR)は、コンピュータ媒介現実の一種であり、コンピューティングデバイスで生成された感覚入力を使用して、物理的な現実世界の環境のリアルタイムの認識を具体的に変更する。AR技術は、ユーザの現実世界の環境の視覚化を含むコンピュータ媒介現実を提供し得る。ユーザの現実世界の環境の視覚化は、現実世界の環境の視覚化の範囲で特定の位置にある仮想オブジェクトが現実世界の環境の没入感のある側面で表されるといった、1つ以上の拡張を含む、
特定の実施形態によれば、コンピュータ媒介現実データを生成するステップを含む方法であって、その方法は、クライアントデバイスで3次元(3−D)マップデータ及びカメラ位置データを生成するステップと、3−Dマップデータ及びクライアントデータをリモートサーバに送信するステップと、クライアントデバイスでワールドマップデータをリモートサーバから受信するステップであって、ワールドマップデータが3−Dマップデータを使用して生成されるステップと、クライアントデバイスでコンピュータ媒介現実画像を生成するステップと、を含む。
別の特定の実施形態によれば、拡張現実エンジンは、ポータブルコンピュータ上で実行されるローカルに保存されたアニメーションエンジンであって、ポータブルコンピュータに統合されたカメラによって生成された、デジタル画像のストリームを受信する第1の入力であって、デジタル画像は、カメラによって見える環境のほぼリアルタイムのビューを表す第1の入力と、ポータブルコンピュータに統合されたジオロケーションポジショニングシステムからジオロケーション位置を受信する第2の入力と、第1の入力及び第2の入力を受信し、特定の時点でのカメラ位置と1つ以上のマッピング点との間の距離を推定する3Dマッピングエンジンと、カメラによって生成されたデジタル画像のストリームにコンピュータ生成画像を重ね合わせた出力であって、コンピュータ生成画像は、3Dマップの特定の位置に位置し、ユーザが空間内の異なる位置にカメラを移動させても特定の位置に位置したままである出力と、を含むアニメーションエンジンと、ローカルに保存されたアニメーションエンジンとのネットワーク通信における非ローカルに保存されたオブジェクト検出エンジンであって、ローカルに保存されたアニメーションエンジンから受信された第1の入力であって、カメラによって生成されたデジタル画像のストリームからのデジタル画像を含む第1の入力と、ローカルに保存されたアニメーションエンジンから受信された第2の入力であって、ローカルに保存されたアニメーションエンジンから受信されたデジタル画像に関連付けられたジオロケーション位置を含む第2の入力と、を含む非ローカルに保存されたオブジェクト検出エンジンと、を含む。
様々な実施形態において、デバイスは、センサデータ(例えば、画像、音声、全地球測位システム(Global Positioning System:GPS)データ、Wi−Fi可用性データ、方向及び運動データ(例えば、ジャイロスコープ、加速度計、慣性測定ユニット(inertial measurement unit:IMU)による)、光レベル、音レベル、圧力データなど)を収集する。デバイスは、センサデータに基づいて、デバイスの位置を判定するための1つ以上のローカリゼーションモデルを選択する。選択された1つ以上のモデルは、デバイスの1つ以上の潜在的な位置を判定するためにセンサデータに適用され、デバイスの現在の位置は、1つ以上の潜在的な位置から判定される。複数の潜在的な位置が存在する場合、現在の位置は、潜在的な位置の1つを選択することによって、又は他の適切な技術によって、潜在的な位置の平均又は加重平均として判定されてよい。いくつかの実施形態では、1つ以上のモデル及び/又は1つ以上の潜在的な位置の選択は、1つ以上のモデルが以前に同様の位置で使用されたかに基づくことができる。2つ以上の位置は、1つ以上のセンサデータの一般的な地理的近接性及び/又は類似性、あるいはセンサデータに基づく判定(例えば、屋内であるか屋外であるか、低照度であるか高照度であるかなど)に基づいて類似していると見なされ得る。
本開示の他の利点は本明細書に記載される。
図1は、拡張現実データを生成及び表示するためのネットワーク化されたコンピューティング環境の実施形態を例示する。
図2は、一実施形態による、拡張現実データを生成及び表示するための図1のコンピューティングシステムによって実行可能なプロセスを例示するフローチャートである。
図3は、一実施形態による、図1のネットワーク化されたコンピューティング環境での使用に適した例示的なコンピュータシステムを示すブロック図である。
図4は、一実施形態による、デバイスの位置を判定するための方法を例示するフローチャートである。
システム及び方法は、3次元(3−D)マップを作成し、3−Dマップを使用して拡張現実(AR)を有効にする。一実施形態では、3−Dマップは1センチメートルの解像度を有するが、可変解像度を有するマップを含む、他の解像度を有するマップを使用してもよい。様々な実施形態では、マップ作成は、クライアント側で(例えば、携帯電話又はヘッドセットによって)実施され、これは、以前にコンパイルされた画像及びマッピング情報をクライアントデバイスに提供するバックエンドサーバとペアにされる。
一実施形態では、システムは、クライアント側(例えば、ハンドヘルド又は装着された電子コンピューティングデバイス上)で画像及び全地球測位システム(global positioning system:GPS)座標を選択し、選択されたデータを3−Dマップとペアにする。3−Dマップは、カメラ記録モジュールと、加速度計及び/又はジャイロスコープを含む慣性測定ユニット(inertial measurement unit:IMU)とから構築される。選択されたデータは、サーバに送信される。サーバとクライアント側のコンピューティングデバイスは、選択されたデータを連携して処理し、ARのオブジェクトとジオメトリを確立し、AR内において、仮想又はその他の、オブジェクト間の潜在的な相互作用を判定する。例えば、拡張現実は、現実世界の部屋のものであり、例えば、ゲームをプレイするために、互いに相互作用することができる1つ以上のアニメーション化された仮想オブジェクトを含み得る。
選択されたデータと3−Dマップを使用することにより、システムはニューラルネットワークを使用してオブジェクトの検出とジオメトリの推定を実行し、それによってARを提供する。ニューラルネットワークの例は、機械学習のために接続されたユニット(人工ニューロン)の大規模な集合を使用する計算モデルである。ユニットはソフトウェアで接続され、ユニットへの結合された入力信号が十分に大きい場合、ユニットは独自の出力信号を発信する。そのため、人工ニューラルネットワークは生物学的ニューラルネットワークを模倣して、タスクの実行を学習する。システムは、深層学習(例えば、多層ニューラルネットワーク)を使用して、ARデータをコンテキストで理解する(例えば、前述のオブジェクト検出及びジオメトリ推定タスクの場合)。
いくつかの実施形態では、システムは、ローカル3−Dマップを集約して(例えば、複数のローカル3−Dマップを一緒にリンクすることによって)、1つ以上のグローバル3−Dマップを作成する。集約された3−Dマップは、環境又は「世界」の単一のデジタル3−Dマップを生成するために、サーバ上でグローバル3−Dマップに結合される。例えば、所定の閾値内でマッチする部分を含む同様のGPS座標の1つ以上のデバイスによって生成された複数のローカル3−Dマップは、重なると判定され得る。そのため、重なり合う部分を使用して、2つのローカル3−Dマップをつなぎ合わせることができる。グローバル3−Dマップは、特定のGPS座標での仮想オブジェクトの位置を保存するために使用され、このGPS座標は、更に3−Dポイント及び特定の3−D位置までの視覚画像を通してインデックス付けされる(例えば、1フィートの誤差で)。例えば、「世界」が家である場合、様々な部屋の様々なローカル3−Dマップを組み合わせて、家全体の内部を表す単一のグローバル3−Dマップにすることができる。
実例となるプロセスは、サーバとの間でマップデータを送受信する。本明細書で説明するように、3−Dマップは、3−Dピクセル(又は「ボクセル」)に類似した方法で、世界又はその世界の一部を表す空間内の3−D点の集合である。画像データは、利用可能で且つ有用な場合、例えば、3−Dマップにまだ組み込まれていない位置の画像データであると判定された場合に、3−Dマップと一緒に送信され得る。特定の実施形態は、画像データなしで3−Dマップデータを送信する。
様々な実施形態では、クライアントデバイスは、プロセッサによって実行される3−Dアルゴリズムを使用して、3−Dマップを生成する。クライアントデバイスは、画像、3−Dマップ、及びGPSデータを効率的に送信する。例えば、画像は、送信又は処理を妨げないように選択的に送信され得る。一例では、画像は、クライアントデバイスのカメラが新規の視点(例えば、画像によってキャプチャされたスペースがサーバの1つ以上の画像にまだ含まれていない、又はサーバのそのような画像が閾値時間より古い)を有するときに選択的に送信され得るが、現在の視点に対して既に1つ以上の画像が提供されているときには送信されなくてもよい。例えば、カメラの視野が過去又は最近のカメラ姿勢からの以前の画像と最小(例えば、閾値未満)の重複を有する場合、又は視点がオブジェクトの予想される動きに依存する時間の間観察されていない場合、画像はアルゴリズムによって送信されるように指定される。別の例として、現在の(又は実質的に重複する)視点からの以前の画像が提供されてから閾値を超える時間が経過した場合に、画像が提供され得る。これにより、マップに関連付けられた保存済み画像を更新して、現実世界位置の現在の(又は少なくとも最近の)ステータスを反映できるようになる。
様々な実施形態では、サーバデバイスは、オブジェクトを検出するための3−Dデータ及び画像に基づくリアルタイム検出システムを含み、現実世界の環境のジオメトリを推定する。例えば、写実的でない部屋の3−Dマップ(例えば、半高密度及び/又は高密度3−D再構成)は、部屋が3−Dマップ内で特定の解像度又は詳細レベルで完全に表されるように、クライアントデバイスによってキャプチャされた画像を用いて判定できる。
サーバは、リアルタイム検出システムを使用して画像、3−Dデータ、及び/又はGPSデータを融合し、一貫性があり且つ、簡単にインデックス付けできる世界の3−Dマップ、複合現実世界マップを作成する。保存されると、現実世界マップを検索して、以前に保存された実オブジェクト及び/又は仮想オブジェクトを、世界の3−Dマップの特定の位置に配置できる。
様々な実施形態では、マッピング(新しい3−Dマップデータの作成)及び追跡(クライアントデバイスを含むオブジェクトのローカリゼーション)は、クライアント側で行われる。現実世界に対するカメラの位置とともに、現実世界のスパースな(sparse)デジタル再構成が収集される。マッピングには、ポイントクラウド、又は3−Dポイントの集合の作成が含まれる。システムは、GPSデータとともにポイントクラウド情報をシリアル化して送信することにより、スパース表現をサーバに返す。クラウド処理により、例えば、物理メモリ(デバイスにローカルに保存されていない将来のARエクスペリエンスのためのマップ及び仮想オブジェクトデータの保存)とオブジェクト検出が動作する2つ以上のクライアントデバイス間でのマルチプレーヤ機能(独立したクライアントデバイス間でのリアルタイム又はリアルタイムに近いマップデータの共有)が可能になる。
サーバは、3−Dマップと画像のデータベースを含む。サーバはGPSデータを使用して、座標用に3−Dマップが以前に保存されているかどうかを判定する。見つかった場合、保存された3−Dマップはクライアントデバイスに返送される。例えば、自宅の位置にいるユーザは、自宅の位置に関連付けられた以前に保存されたデータを受信することができる。更に、3−Dマップと画像データを保存された複合ワールド3−Dマップに追加できる。
図1は、一実施形態による、ネットワーク104を介してアクセスされるクラウドサーバ要素と協働するクライアントデバイス102を含むARコンピューティングシステムのブロック図である。例えば、クラウドサーバ要素は、ARデータを生成するように構成されたサーバデバイスの構成要素であってもよい。ここに示される実施形態では、クライアントデバイス102は、ゲームエンジン106(例えば、ユニティゲームエンジン又は別の物理/レンダリングエンジン)、並びにARプラットフォーム108を含む。ARプラットフォーム108は、セグメンテーション及びオブジェクト認識を実行することができる。図1に示されるARプラットフォーム108は、クライアント側の画像処理(画像セグメンテーション及びローカル3−D推定などを含む)を実行する複合コンピュータビジョンモジュール110を含む。
複合コンピュータビジョンモジュール110は、クライアントデバイスのカメラからの画素データ、並びに慣性測定ユニットなどのクライアントデバイスの他のセンサからのセンサデータを取り込む。複合コンピュータビジョンモジュール110は、取り込んだデータを使用して特徴ベクトルを生成する。複合コンピュータビジョンモジュール110は、画素データに基づいて特徴抽出を実行し、センサデータ及び/又は画素データに基づいてカメラの位置及び視点を三角測量し、抽出された特徴に基づいて特徴マッチングを実行することにより、特徴ベクトルを生成し、これにより、カメラの視点、及び視点内にどのような物体が存在するかのPnP(Perspective−n−Point)推定を提供する。以下に説明するように、コンテキストに応じて、異なるモデルを使用して、ローカリゼーションとマッピングを同時に実行できる。
ARプラットフォーム108はまた、ローカリゼーション/マッピングモジュール112を含む。一実施形態では、ローカリゼーション/マッピングモジュール112は、同時ローカリゼーション/マッピング(Simultaneous Localization and Mapping:SLAM)ソフトウェア開発キット(SDK)からの機能を使用する。SLAM SDKの機能には、現実世界のジオメトリを近似するための、ポイントクラウド、ラインクラウド、平面クラウド、または任意の幾何学的なクラウドを構築するマッピングシステムを含み、3次元空間でカメラの現在の位置を求める追跡機能を提供する。SLAMは、更に、プロジェクトアニメーション又は拡張値(仮想オブジェクトなど)をARに処理して、現実世界にあるように見せる。他の実施形態では、ローカリゼーション/マッピングモジュール112は、クライアントデバイス102の周りの環境をマッピングするため、及び/又はその環境におけるクライアントデバイスの位置を判定するために、異なる又は追加のアプローチを使用することができる。
ローカリゼーション/マッピングモジュール112は、クライアントデバイス102の現在の位置を判定するために利用可能な複数のモデルを有していてもよい。一実施形態では、モデルは、(例えば、SLAMによって提供されるような)ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(geographic information System:GIS)モデル、建物認識モデル、景色認識モデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル等に加えて、出口マッチングモデル、街路灯マッチングモデル、ツリーマッチングモデル、テキストマッチングモデル(例えば、看板や道路標識)若しくは現実世界のオブジェクトを仮想近似にマッチングするための他のモデル等のオブジェクト及び/又はセマンティックマッチングモデルを含む。他の実施形態では、異なる又は追加のモデルが、ローカリゼーション/マッピングモジュール112に利用可能であってもよい。
ポイントクラウドモデルは、物理空間を、現実世界のオブジェクト表面の位置に対応する仮想世界の位置に配置された点のセットとして表す。例えば、壁は、壁全体に分散された点の集合によって表され得る。所与のポイントクラウドモデルは、大きく平坦な表面(例えば、壁)上に比較的少数のポイントを含む一方で、より複雑なオブジェクト(例えば、植物、家具等)の周囲により密なポイントのクラスタを含むことなどによって、物理的空間を表すために動的に割り当てられる固定数のポイントを含むことができる。いくつかの実施形態では、ローカリゼーション/マッピングモジュール112は、様々な解像度及びスケールで利用可能な複数のポイントクラウドモデルを有する。したがって、例えば、ユーザの位置の近くにあるオブジェクトは、遠くにあるオブジェクトよりも高解像度のポイントクラウドで表すことができる。ポイントクラウドモデルは、デバイスによって生成されたセンサデータ(例えばカメラ画像)を、ポイントクラウドに基づいて生成された様々な位置の予想されるセンサ読み取り値とマッチングすることによって、デバイスの位置を判定する。
平面マッチングモデルは、物理空間を、現実世界の大きく比較的平坦な表面に対応する位置にある仮想内の平面のセットとして表す。例えば、部屋の床、壁、及びテーブル天板はそれぞれ平面マッチングモデルの平面で表すことができる。平面マッチングモデルは、デバイスによって生成されたセンサデータ(例えばカメラ画像)で識別された平面をモデル内の平面にマッチングすることによって、デバイスの位置を判定する。
ラインマッチングモデルは平面マッチングモデルに似ているが、現実世界のラインに対応する位置に仮想世界のラインを定義する点が異なる。例えば、線は家具の端、2つの壁の間の接合部などであり得る。ラインマッチングモデルは、デバイスによって生成されたセンサデータ(例えばカメラ画像)で識別されたラインをモデル内のラインとマッチングすることにより、デバイスの位置を判定する。
地理情報システム(GIS)モデルは、画素データを衛星画像データとマッチングする。GISモデルは、視点の地平線で検出されたオブジェクトに基づいて視点を推定する。地平線上のオブジェクトのサイズとスケールは、画素データ(例えば、幅及び/又は高さのピクセル数)に基づいてGISモデルによって推定される。次に、GISモデルは、推定されたオブジェクトを、GISモデルが視点の地平線上にあると予測する、衛星画像データに含まれるオブジェクトとマッチングする。これは、衛星画像データ及び/又は画素データに1つ以上の数学的変換及び/又は機械学習モデル(例えば、ディープニューラルネットワーク)を適用することによって実行することができる。マッチングされたオブジェクトに基づいて、GISモデルは、画素データを生成したカメラ、ひいてはクライアントデバイス102の可能性のある視点を識別する。
建物認識モデル、並びに他のオブジェクト及び/又はセマンティックマッチングモデル(ツリー認識モデルなど)は、画素データを認識するようにトレーニングされたオブジェクト又はセマンティクスにマッチングさせる。例えば、建物認識モデルは、ポジティブケースとしてラベル付けされた建物の画像とネガティブケースとしてラベル付けされた他のオブジェクトの画像を含むトレーニングデータセットに基づいて建物を認識するようにトレーニングされた機械学習モデルであり得る。トレーニング時に、建物認識モデルは、画素データ(画像など)に建物が含まれるかどうかを予測できる。同様に、モデルは、道路標識、樹木、ベンチなど、画像に存在し得る様々なオブジェクトを認識するようにトレーニングできる。
利用可能なモデルのセットに関係なく、クライアントデバイス102は、収集された生データに基づいて、ローカリゼーションのために1つ以上のモデルを選択する。例えば、平面マッチングモデル及びラインマッチングモデルは屋内で最も正確であり得るのに対し、景色マッチングモデル及び建物マッチングモデルは屋外で最も正確であり得る。したがって、収集されたデータ(例えば、照明レベル及び画像)は、ローカリゼーション/マッピングモジュール112によって分析されて、クライアントデバイス102が現在屋内にあるか屋外にあるかを判定し、次に、より効果的なモデルを選択することができる。
一実施形態では、各モデルには、モデルが現在の状況に基づいて(例えば、収集されたデータによって示されるように)クライアントデバイスの正確な位置を生成する可能性を示すスコアが割り当てられる。スコアは、そのパラメータが手動で設定される決定木に基づくことができる。あるいは、スコアは、様々なARマップタイプからの様々なモデルの入力とパラメータを使用した強化学習でトレーニングされた機械学習モデルに基づくことができる。強化の「報酬」は、モデルのパフォーマンス、例えば、位置推定の精度に比例する。
スコアに基づいて、1つ又は複数のモデルが選択される。例えば、クライアントデバイス102は、最高スコアを有するモデル、3つの最高スコアモデル、又は閾値を超えるスコアを有する全てのモデルを選択することができる。追加的又は代替的に、選択は、どのモデルが以前に同様の位置で選択されたかに基づくことができる。
例えば、クライアントデバイス102のGPS座標が、平面マッチングモデルが以前に正常に使用されたGPS座標の閾値内にある場合、平面マッチングモデルのスコアを上げるか、又は他のモデルのスコアが平面マッチングモデルのスコアを閾値量だけ超えない限り、平面マッチングモデルを選択することができる。同様に、特定のモデルが以前に選択され、正確な位置を提供できなかった場合、そのモデルのスコアが低下し得る。このように、同様のGPS座標でのモデルの成功と失敗を使用して、クライアントデバイス102がGPS座標によって提供されるよりも正確な位置(例えば、1センチメートル以内)を判定するために選択する1つ又は複数のモデルを通知することができる。
同様の方法で、クライアントデバイス102は、収集されたデータが現在の位置に類似していることを示す位置でのモデルの成功及び失敗を考慮に入れることができる。例えば、位置は屋内又は屋外として分類することができ、クライアントデバイス102が屋内又は屋外にあることを収集されたデータが示すかどうかに基づいて、特定のモデルが除外又は選択(又は対応するスコアが増加又は減少)され得る。収集されたデータは、1つ以上のモデル(例えば、オブジェクト認識モデル)によって分析され、特徴的に屋内又は屋外にあるオブジェクトのモデルを使用することによって、屋内又は屋外のどちらで収集されたかを判定することができる。例えば、木、空、草のモデルを使用してデータが外部で収集されたことを判定し、壁、カウチ、テーブルのモデルを使用してデータが内部で収集されたことを判定する。
同様に、選択される1つ又は複数のモデルは、照明レベルに基づくことができる。例えば、あるモデル(例えば、ラインクラウド)は、暗い条件で他のモデルと比較して特に効果的である可能性があるため、したがって、クライアントデバイス102によって検出された照明レベルが閾値を下回る場合に優先的に選択される。同様に、他のモデル(例えば、ポイントマップ)は、暗い位置では効果が低い可能性があるため、回避(別のモデルが利用可能であると想定)される。実施形態に応じて、現在の条件で正確な結果を生成する可能性が最も高いモデルの選択を優先するためにどのモデル(1つ又は複数)が選択されるかに影響を与える収集データの他の技法を使用することができる。
ローカリゼーション/マッピングモジュール112は、選択された1つ以上のモデルを適用して、クライアントデバイス102の潜在的な位置を生成することができる。単一のモデルのみが選択された場合、生成された位置は、クライアントデバイス102の実際の位置として使用され得る。しかしながら、GPS座標が利用可能である場合において、モデルを使用して判定された位置がGPS座標と閾値量を超えて異なっていれば、クライアントデバイス102は、追加のモデルを適用するか、そうでなければ、位置推定が正確であるかどうかをユーザに確認するように求めるメッセージを表示することなどによって、現在の位置を検証しようと試み、受信した応答に基づいて位置推定を更新することができる。
複数のモデルが選択される場合、選択された各モデルは、クライアントデバイス102の潜在的な位置を生成することができる。ローカリゼーション/マッピングモジュール112は、複数の選択されたモデルの累積的な潜在的な位置に基づいて、クライアントデバイス102の現在の位置を判定する。一実施形態では、現在の位置は、選択されたモデルによって生成された潜在的な位置の平均として計算される。別の実施形態では、潜在的な位置の加重平均が使用される。例えば、各モデルの寄与は、モデル選択フェーズからのスコアによって重み付けされ得る。あるいは、例えば、過去の正確さに基づいて、特定のモデルを他のモデルよりも優先するように重み付けを事前設定することもできる。更なる実施形態では、潜在的な位置は、デバイスのGPS座標に最も厳密にマッチングするものをとるなど、他の方法で組み合わせることができる。
図1に示す実施形態では、クライアントコンピューティングデバイス102はまた、マップ検索モジュール114及び深層学習モジュール116を含む。マップ検索モジュール114は、以前に生成された3−Dマップを(例えば、ネットワーク104を介して)検索する。いくつかの実施形態では、マップ検索モジュール114は、いくつかの3−Dマップ(例えば、ユーザの自宅の位置の3−Dマップ)をローカルに保存することができる。深層学習モジュール116は、オブジェクト認識のために機械学習されたアルゴリズムを適用する。深層学習モジュール116は、トレーニングされた機械学習アルゴリズムを、ネットワーク104を介して取得することができる。いくつかの実施形態では、深層学習モジュール116はまた、更なるモデルトレーニングを可能にするために、オブジェクト認識及び/又はユーザフィードバックの結果を提供できる。
ここに示される実施形態では、ネットワーク104を介して(例えば、サーバコンピューティングデバイスで)アクセスされるクラウドサーバ要素は、一世界マッピングモジュール(a one world mapping module)120、オブジェクト認識/セマンティックセグメンテーションモジュール122、マップデータベース124、オブジェクトデータベース126、及び深層学習トレーニングモジュール128と通信する、ARバックエンドエンジン118を含む。他の実施形態では、追加の又は異なる構成要素が含まれ得る。更に、機能は、本明細書に記載されているものとは異なる方法で分散され得る。例えば、オブジェクト認識機能の一部又は全ては、クライアントデバイス102で実行され得る。
ARバックエンドエンジンは、クライアントデバイス102からデータを受信し、3−Dマップ情報及び/又は他のデータをクライアントデバイス102に送信する。ARバックエンドエンジンは、受信データのタイプに基づいて、受信データを一世界マッピングモジュール120及び/又はオブジェクト認識/セマンティックセグメンテーションモジュール122に送信して、更にそれを処理することができる。
一世界マッピングモジュール120は、異なるローカル3−Dマップを融合して、複合現実世界マップを作成する。前述のように、最初にマップを生成したクライアントデバイス102からのGPS位置データを使用して、隣接又は重なっている可能性が高いローカルマップを識別することができる。次に、パターンマッチングを使用して、マップの重複部分、又は2つのローカルマップが互いに隣接していることを識別できる(例えば、同じオブジェクトの反対側の表現が含まれているなどの理由で)。2つのローカルマップが重なっている又は隣接していると判定された場合、2つのマップが互いにどのように関連しているかを示すマッピングを(例えば、マップデータベースに)保存するか、又は1つの3−Dマップに組み合わせることができる。
オブジェクト認識/セマンティックセグメンテーションモジュール122は、画像及び/又はオブジェクト情報、並びに、収集された3−Dデータを使用して、現実世界の特徴を識別する。このようにして、サーバ104は、例えば、椅子が3−D位置にあると判定し、その位置に関連付けられたオブジェクトデータベース126にアクセスする。深層学習トレーニングモジュール128を使用して、例えば、3−Dマップに表される位置でオブジェクトの表現を3−Dマップに追加するなど、マップ情報をオブジェクト情報と融合することができる。このようにして、システム100は、オブジェクト認識及び3−Dマップへのフュージョンバックのための3−D情報に接続することができる。代替的又は追加的に、深層学習トレーニングモジュール128を使用して、オブジェクト認識のために機械学習モデルをトレーニング又は更新することができる。例えば、オブジェクト認識/セマンティックセグメンテーションモジュール122の3−Dデータへの適用の結果は、深層学習トレーニングモジュール128がトレーニングデータセットの拡張又は検証に基づくモデルの更新をすることができるように、(例えば、人間によって)検証され得る。
マップデータベース124は、クライアントデバイス102によって生成されたマップデータを保存するように構成された1つ以上のコンピュータ可読媒体を含む。マップデータは、ある位置でクライアントデバイス102によって収集された画像及び他のセンサデータに関連付けて保存された3−Dポイントクラウドのローカルマップを含むことができる。マップデータには、異なるローカルマップ間の地理的関係を示すマッピング情報も含まれ得る。同様に、オブジェクトデータベース126は、認識されたオブジェクトに関する情報を保存するように構成された1つ以上のコンピュータ可読媒体を含む。例えば、オブジェクトデータベース126は、既知のオブジェクト(例えば、椅子、机、木、建物など)のリストを、それらのオブジェクトのプロパティとともに、対応する位置と一緒に含み得る。プロパティは、オブジェクトタイプに一般的であるか、オブジェクトのインスタンスごとに特別に定義され得る(例えば、全ての椅子は家具と見なされ得るがあるが、それぞれの位置は個別に定義される)。マップデータベース124及びオブジェクトデータベース126は、単一のエンティティとして示されているが、それらは、複数のデバイス上の複数の記憶媒体に分散されてもよく(例えば、分散データベースとして)、又は1つの組み合わされたデータベースであってもよい。
図2は、一実施形態による、ARデータを生成及び表示するためにクライアントデバイス102及びサーバデバイスによって実行されるプロセスを示すフローチャートである。クライアント102及びサーバコンピューティングデバイスは、図1に示されるものと同様であり得る。破線は、クライアント102とサーバとの間のデータの通信を表し、実線は、それらのデバイス内部でのデータの通信を表す。他の実施形態では、機能は、デバイス間で異なって分散されてもよく、及び/又は異なるデバイスが使用されてもよい。
ステップ202で、生データは1つ以上のセンサによってクライアントデバイスで収集される。一実施形態では、生データは、画像及び慣性測定情報を含む。画像は1台以上のカメラでキャプチャされる。慣性測定情報は、クライアントデバイス又はクライアントデバイスに通信可能に接続された別のデバイス上のGPS及びジャイロスコープ及び/又は加速度計コンポーネントを使用して収集することができる。代替的な実施形態では、圧力レベル、照明レベル、音レベル、音声データなどの追加の生データを収集することができる。
クライアントデバイス102は、ステップ204でローカルマップストレージを維持することができる。ローカルマップストレージは、ローカルポイントクラウドデータを含む。ポイントクラウドデータは、ポイントクラウドデータがある位置における1つ以上のオブジェクトを表すように構築できるメッシュサーフェスを形成する空間内の位置で構成される。
ステップ206で3−Dマップが初期化される場合、クライアントデバイス102は、ステップ208でSLAM機能を開始することができる。SLAM機能は、ポイントクラウドを構築するマッピングシステムと、空間内でカメラの位置を見つける及び/又は空間内でカメラの向きを合わせるための追跡機能を含む。SLAMプロセスは、ARエクスペリエンスの中で現実世界にいるかのようにプロジェクト仮想オブジェクトを投影する。ステップ206で3−Dマップが初期化されない場合、クライアントデバイス102は、ローカルマップストレージ204に、又はクラウドマップストレージ220へのクエリによって、保存された3−Dマップを識別し、当該保存された3−Dマップを使用するためにロードすることができる。ステップ210でマップが配置されていない場合、ステップ212でシステムは初期化モジュールを使用してマップを作成する。
ステップ214で新規の視点が検出された場合(例えば、コーナーをマッピング/イメージングされていない領域に変えるか、重複があり且つ現実世界の現在見える部分の全てがマッピング/イメージングされていない場合)、システムは、ステップ216で、(例えば、オブジェクト認識を使用して)ローカル環境について収集された、及び/又は推論されたデータを記録することができる。例えば、クライアントデバイス102が現在新規の視点を有すると判定すると、その視点でカメラによってキャプチャされた画像は、クライアントデバイス102によってサーバに送信され得る。クライアントデバイス102は、新規視点の検出器を使用して、3−Dデータを伴う画像をいつどのように送信するかを判定することができる。ローカル環境の推論には、ローカルマッピングシステムの更新されたキーフレームと、シリアル化された画像及び/又はマップデータが含まれ得る。
サーバ側では、新規の視点データ(例えば、ポイントクラウド情報とメッシュデータを含む)は、ステップ218で、クラウドマップストレージに保存され得る。サーバは、上記のように機械学習を使用して認識されたオブジェクトのラベルなど、保存されたクラウドマップストレージ220及びオブジェクトデータベース222からの現実世界マップの異なる部分を新規の視点データに追加することができる。クラウド環境推論224(例えば、認識されたオブジェクトのセマンティックラベルなどの追加データを含む)は、クライアントデバイス102に返送され得る。追加されたデータは、ポイント及びメッシュ及びオブジェクトデータを含んでいてもよく、ローカルマップストレージ204に保存するために送信され得る。
図3は、クライアントデバイス102又はサーバとして使用するのに適した例示的なコンピュータ300を示すハイレベルブロック図である。例示的なコンピュータ300は、チップセット304に結合された少なくとも1つのプロセッサ302を含む。チップセット304は、メモリコントローラハブ320及び入力/出力(I/O)コントローラハブ322を含む。メモリ306及びグラフィックアダプタ312は、メモリコントローラハブ320に結合され、ディスプレイ318は、グラフィックアダプタ312に結合される。ストレージデバイス308、キーボード310、ポインティングデバイス314、及びネットワークアダプタ316は、I/Oコントローラハブ322に結合される。コンピュータ300の他の実施形態は、異なるアーキテクチャを有する。
図3に示す実施形態では、ストレージデバイス308は、ハードドライブ、コンパクトディスク読み取り専用メモリ(compact disk readonly memory:CD−ROM)、DVD、又はソリッドステートストレージデバイスなどの非一時的なコンピュータ可読記憶媒体である。メモリ306は、プロセッサ302によって使用される命令及びデータを保持する。ポインティングデバイス314は、マウス、トラックボール、タッチスクリーン、又は他のタイプのポインティングデバイスであり、キーボード310(オンスクリーンキーボードであり得る)と組み合わせて使用されて、コンピュータシステム300にデータを入力する。グラフィックアダプタ312は、画像及び他の情報をディスプレイ318に表示する。ネットワークアダプタ316は、コンピュータシステム300を1つ以上のコンピュータネットワークに結合する。
図1のエンティティによって使用されるコンピュータのタイプは、実施形態及びエンティティによって要求される処理能力に応じて変化し得る。例えば、サーバは、説明された機能を提供するために一緒に動作する複数のブレードサーバを含む分散データベースシステムを含み得る。更に、コンピュータは、キーボード310、グラフィックアダプタ312、及びディスプレイ318などの上記のコンポーネントのいくつかを欠くことができる。
図4は、デバイスの位置を判定するための方法400の一実施形態を例示する。図4のステップは、方法400を実行するクライアントデバイス102の観点から示されている。ただし、一部又は全ての手順は、他のエンティティ又は構成要素によって実行される場合がある。更に、いくつかの実施形態は、ステップを並行して実行するか、異なる順序でステップを実行するか、又は異なるステップを実行することができる。
図4に示す実施形態では、方法400は、クライアントデバイス102で1つ以上のセンサを用いてセンサデータを収集することから開始される(ステップ410)。センサデータは、画像、ビデオ、オーディオ、光レベル、音レベル、慣性データ、向き、圧力、及び/又はセンサからのその他の利用可能なデータを含み得る。センサデータに基づいて、クライアントデバイス102は1つ以上のローカリゼーションモデルを選択する(ステップ420)。前述のように、選択された1つ又は複数のモデルは、モデルに割り当てられたスコアに基づくことができ、スコアは、センサデータ及び/又は特定の位置や環境での過去のパフォーマンスなどの追加の要因に基づく。
クライアントデバイス102は、選択されたローカリゼーションモデルを適用して、クライアントデバイスの潜在的な位置を生成する(ステップ430)。一実施形態では、各モデルが潜在的な位置を出力する。潜在的な位置は、ローカルマップ内の座標系に基づいて定義することができる(例えば、クライアントデバイス102のGPS座標に基づいて選択されるように)。例えば、クライアントデバイス102が建物内のどこかにある可能性が高いことをGPS座標が示すことがあり、したがって、その建物のローカルマップが使用される。次に、選択されたモデルが適用されて、建物内のクライアントデバイス102のより正確な位置が判定される(例えば、1センチメートルの精度を目標とする)。
クライアントデバイス102は、潜在的な位置に基づいて現在の位置を判定する(ステップ440)。モデルが1つだけ選択された場合、モデルが生成する潜在的な位置は正しいと見なされ得る。あるいは、利用可能なセンサデータに基づいて、潜在的な位置の実行可能性をチェックすることができる(例えば、GPS座標によって示される位置の閾値距離内にあること、検出された照明レベルが潜在的な位置の予想と一致していること、画像がキャプチャされていること、クライアントデバイス102によって、同様の位置などでキャプチャされた他の画像と一致していること)。複数のモデルが選択されている場合、潜在的な位置を組み合わせて現在の位置を生成することができる。前述したように、平均、加重の組み合わせ、又は他の適切な技術を使用して、潜在的な位置から現在の位置を生成することができる。
当技術分野の当業者は、記載された概念から逸脱することなく、本明細書に開示される装置及び技術の多くの使用及び修正及び逸脱を行うことができる。例えば、本開示で図示又は説明される構成要素又は特徴は、図示又は説明される位置、設定、又は文脈に限定されない。本開示による装置の例は、前述の図の1つ以上を参照して説明されたものよりも、全て、より少ない、又は異なる構成要素を含むことができる。したがって、本開示は、本明細書に記載の特定の実装に限定されるものではなく、添付の特許請求の範囲及びその同等物と一致する可能な限り広い範囲を与えられるべきである。

Claims (20)

  1. デバイスの位置を判定するための方法であって、
    前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のGPS(global positioning system)受信機によって検出されたグローバル座標と、を収集するステップと、
    前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
    前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから1つ以上のローカリゼーションモデルを選択するステップと、
    選択された前記1つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの1つ以上の潜在的な位置を生成するステップと、
    前記1つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、
    を含む方法。
  2. 前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(geographic information system:GIS)モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも1つを含む、請求項1に記載の方法。
  3. 選択された前記1つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの1つを生成する、請求項1に記載の方法。
  4. 前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項に記載の方法。
  5. 前記平均が加重平均である、請求項に記載の方法。
  6. 前記1つ以上のローカリゼーションモデルを選択するステップは、
    前記1つ以上のローカリゼーションモデルの各ローカリゼーションモデルにスコアを割り当てるステップであって、ローカリゼーションモデルに割り当てられた前記スコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
    前記1つ以上のローカリゼーションモデルの前記スコアに基づいて前記1つ以上のローカリゼーションモデルを選択するステップと、
    を含む請求項1に記載の方法。
  7. 各ローカリゼーションモデルに割り当てられた前記スコアが、類似の環境における前記モデルの過去のパフォーマンスに基づく、請求項に記載の方法。
  8. 各ローカリゼーションモデルに割り当てられた前記スコアが、前記画像データおよび前記グローバル座標に基づく、請求項に記載の方法。
  9. デバイスであって、
    1つ以上のプロセッサと、
    命令を記憶する1つ以上のコンピュータ可読媒体と、を備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のGPS(global positioning system)受信機によって検出されたグローバル座標と、を収集するステップと、
    前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
    前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから1つ以上のローカリゼーションモデルを選択するステップと、
    選択された前記1つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの1つ以上の潜在的な位置を生成するステップと、
    前記1つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、を含む動作を実行させる、
    デバイス。
  10. 前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(geographic information system:GIS)モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも1つを含む、請求項に記載のデバイス。
  11. 選択された前記1つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの1つを生成する、請求項に記載のデバイス。
  12. 前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項に記載のデバイス。
  13. 前記平均が加重平均である、請求項12に記載のデバイス。
  14. 前記1つ以上のローカリゼーションモデルを選択するステップは、
    前記1つ以上のローカリゼーションモデルの各ローカリゼーションモデルにスコアを割り当てるステップであって、ローカリゼーションモデルに割り当てられた前記スコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
    前記1つ以上のローカリゼーションモデルの前記スコアに基づいて前記1つ以上のローカリゼーションモデルを選択するステップと、
    を含む請求項に記載のデバイス。
  15. 各ローカリゼーションモデルに割り当てられた前記スコアが、類似の環境における前記モデルの過去のパフォーマンスに基づく、請求項14に記載のデバイス。
  16. 各ローカリゼーションモデルに割り当てられた前記スコアが、前記画像データおよび前記グローバル座標に基づく、請求項14に記載のデバイス。
  17. デバイスの位置を判定するための命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
    前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のGPS(global positioning system)受信機によって検出されたグローバル座標と、を収集するステップと、
    前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
    前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから1つ以上のローカリゼーションモデルを選択するステップと、
    選択された前記1つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの1つ以上の潜在的な位置を生成するステップと、
    前記1つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、を含む動作を実行させる、
    コンピュータ可読記憶媒体。
  18. 前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(geographic information system:GIS)モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも1つを含む、請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項17に記載のコンピュータ可読記憶媒体。
  20. 前記平均が加重平均である、請求項19に記載のコンピュータ可読記憶媒体。
JP2020572886A 2018-06-27 2019-06-27 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル Active JP6931138B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021131580A JP7361075B2 (ja) 2018-06-27 2021-08-12 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862690566P 2018-06-27 2018-06-27
US62/690,566 2018-06-27
PCT/US2019/039606 WO2020006299A1 (en) 2018-06-27 2019-06-27 Multi-sync ensemble model for device localization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021131580A Division JP7361075B2 (ja) 2018-06-27 2021-08-12 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル

Publications (2)

Publication Number Publication Date
JP6931138B1 true JP6931138B1 (ja) 2021-09-01
JP2021524636A JP2021524636A (ja) 2021-09-13

Family

ID=68987514

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020572886A Active JP6931138B1 (ja) 2018-06-27 2019-06-27 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル
JP2021131580A Active JP7361075B2 (ja) 2018-06-27 2021-08-12 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021131580A Active JP7361075B2 (ja) 2018-06-27 2021-08-12 デバイスローカリゼーションのためのマルチシンクアンサンブルモデル

Country Status (8)

Country Link
US (3) US10820172B2 (ja)
EP (1) EP3815398B1 (ja)
JP (2) JP6931138B1 (ja)
KR (2) KR102338560B1 (ja)
CN (2) CN112334953B (ja)
AU (3) AU2019291869B2 (ja)
CA (1) CA3104532C (ja)
WO (1) WO2020006299A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3607353B1 (en) * 2017-04-05 2023-03-01 Telefonaktiebolaget LM Ericsson (PUBL) Illuminating an environment for localisation
US11651555B2 (en) * 2018-05-31 2023-05-16 Microsoft Technology Licensing, Llc Re-creation of virtual environment through a video call
CA3104532C (en) 2018-06-27 2023-10-17 Niantic, Inc. Multi-sync ensemble model for device localization
US11288842B2 (en) 2019-02-15 2022-03-29 Interaptix Inc. Method and system for re-projecting and combining sensor data for visualization
KR20220119664A (ko) * 2019-12-20 2022-08-30 나이앤틱, 인크. 3d 라인 정션을 통한 위치 판정 및 매핑
US11481930B2 (en) * 2020-01-21 2022-10-25 Trimble Inc. Accurately positioning augmented reality models within images
US11391596B2 (en) * 2020-04-28 2022-07-19 Vgis Inc. System and method for converging mediated reality positioning data and geographic positioning data
US11770506B2 (en) * 2020-06-25 2023-09-26 Innovative Signal Analysis, Inc. Multi-source 3-dimensional detection and tracking
US11602132B2 (en) 2020-10-06 2023-03-14 Sixgill, LLC System and method of counting livestock
WO2022081717A1 (en) * 2020-10-13 2022-04-21 Flyreel, Inc. Generating measurements of physical structures and environments through automated analysis of sensor data
US20220114477A1 (en) * 2020-10-14 2022-04-14 Baidu Usa Llc Event driven configurable artificial intelligence workflow
US11417069B1 (en) * 2021-10-05 2022-08-16 Awe Company Limited Object and camera localization system and localization method for mapping of the real world
KR102664706B1 (ko) * 2021-11-30 2024-05-09 한국과학기술원 고차원 특징 구성을 위한 네트워크 기반 모바일 슬램 시스템 및 그 동작 방법
CN116847456A (zh) * 2022-03-25 2023-10-03 维沃移动通信有限公司 定位方法、装置、终端及网络侧设备
CN114486321B (zh) * 2022-04-18 2022-06-24 中国飞机强度研究所 飞机测试内场与外场高温环境试验相似性表征方法
US20230345199A1 (en) * 2022-04-22 2023-10-26 Mapsted Corp Method and system for criterion-based localization of mobile devices
WO2024121143A1 (en) * 2022-12-07 2024-06-13 Sony Semiconductor Solutions Corporation Image synthesis apparatus and method
US11776206B1 (en) 2022-12-23 2023-10-03 Awe Company Limited Extended reality system and extended reality method with two-way digital interactive digital twins
US20240323745A1 (en) * 2023-03-21 2024-09-26 Qualcomm Incorporated Positioning model validity condition signaling and indication
US20240331310A1 (en) * 2023-03-28 2024-10-03 Qualcomm Incorporated Augmented reality guidance in a physical location
CN116433837B (zh) * 2023-03-31 2023-09-12 浙江大学 一种基于关键点匹配的三维cad模型差异分析方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737431A (en) * 1995-03-07 1998-04-07 Brown University Research Foundation Methods and apparatus for source location estimation from microphone-array time-delay estimates
WO2006017266A2 (en) 2004-07-12 2006-02-16 William Marsh Rice University System and method for localization over a wireless network
JP4727999B2 (ja) * 2005-01-13 2011-07-20 クラリオン株式会社 現在位置表示方法、およびナビゲーション装置
US8751151B2 (en) 2012-06-12 2014-06-10 Trx Systems, Inc. System and method for localizing a trackee at a location and mapping the location using inertial sensor information
TW201022700A (en) 2008-12-15 2010-06-16 Ind Tech Res Inst Localization and detecting system applying sensors, and method thereof
US8189964B2 (en) * 2009-12-07 2012-05-29 Google Inc. Matching an approximately located query image against a reference image set
US8077090B1 (en) 2010-06-15 2011-12-13 Microsoft Corp. Simultaneous localization and RF modeling
US8933841B2 (en) * 2010-12-13 2015-01-13 The Governing Council Of The University Of Toronto System and method for localization
US9239990B2 (en) * 2011-06-24 2016-01-19 Zos Communications, Llc Hybrid location using pattern recognition of location readings and signal strengths of wireless access points
JP5819686B2 (ja) * 2011-09-14 2015-11-24 株式会社バンダイナムコエンターテインメント プログラム及び電子機器
WO2014001947A1 (en) * 2012-06-28 2014-01-03 Koninklijke Philips N.V. A method of estimating the position of a device and an apparatus implementing the same
US8849308B2 (en) * 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
US9613461B2 (en) * 2012-12-10 2017-04-04 Sony Corporation Display control apparatus, display control method, and program
US9292936B2 (en) * 2013-01-09 2016-03-22 Omiimii Ltd. Method and apparatus for determining location
US8990011B2 (en) * 2013-02-28 2015-03-24 Microsoft Technology Licensing, Llc Determining user device's starting location
US9367811B2 (en) * 2013-03-15 2016-06-14 Qualcomm Incorporated Context aware localization, mapping, and tracking
ITBA20130065A1 (it) 2013-10-02 2015-04-03 Domenico Colucci Sistema di localizzazione "indoor" ad alta affidabilita' e relative metodologie di utilizzo
US10360907B2 (en) * 2014-01-14 2019-07-23 Toyota Motor Engineering & Manufacturing North America, Inc. Smart necklace with stereo vision and onboard processing
US9674656B2 (en) * 2014-02-20 2017-06-06 Microsoft Technology Licensing, Llc Wireless-based localization using a zonal framework
KR101729008B1 (ko) * 2014-04-04 2017-04-21 엘지전자 주식회사 조명 시스템 및 그 동작방법
KR102280610B1 (ko) * 2014-04-24 2021-07-23 삼성전자주식회사 전자 장치의 위치 추정 방법 및 장치
CN112651288B (zh) * 2014-06-14 2022-09-20 奇跃公司 用于产生虚拟和增强现实的方法和系统
US20160029224A1 (en) 2014-07-23 2016-01-28 Qualcomm Incorporated Determination of environment characteristics from mobile device-based sensor measurements
US10139471B2 (en) 2014-12-04 2018-11-27 Here Global B.V. Supporting a collaborative collection of data
US9264861B1 (en) * 2015-01-29 2016-02-16 Ringcentral, Inc. Generating spatial models using crowdsourcing
EP3093683B1 (en) 2015-05-13 2018-01-03 Combain Mobile AB Generating a model for positioning
US9743253B2 (en) * 2015-08-27 2017-08-22 Glopos Fzc Method and arrangement for locating a mobile device
KR101730269B1 (ko) * 2015-12-09 2017-04-27 성균관대학교산학협력단 실내 디바이스 위치를 추정하는 방법
EP3397982B1 (en) 2015-12-31 2023-10-18 Robert Bosch GmbH Indoor room-localization system
WO2017145711A1 (ja) * 2016-02-24 2017-08-31 Soinnホールディングス合同会社 特徴量抽出方法及び特徴量抽出装置
US9996936B2 (en) * 2016-05-20 2018-06-12 Qualcomm Incorporated Predictor-corrector based pose detection
US9766349B1 (en) 2016-09-14 2017-09-19 Uber Technologies, Inc. Localization and tracking using location, signal strength, and pseudorange data
US10256906B2 (en) 2016-12-13 2019-04-09 University Of Virginia Patent Foundation Position localization using visible light communication
US10659768B2 (en) 2017-02-28 2020-05-19 Mitsubishi Electric Research Laboratories, Inc. System and method for virtually-augmented visual simultaneous localization and mapping
JP7190842B2 (ja) 2017-11-02 2022-12-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20180093671A1 (en) * 2017-11-21 2018-04-05 GM Global Technology Operations LLC Systems and methods for adjusting speed for an upcoming lane change in autonomous vehicles
US20190204092A1 (en) * 2017-12-01 2019-07-04 DeepMap Inc. High definition map based localization optimization
WO2019109268A1 (zh) * 2017-12-06 2019-06-13 中国科学院自动化研究所 基于强化学习的图片自动裁剪的方法及装置
US10145689B1 (en) 2018-03-02 2018-12-04 Mapsted Corp. Method and system of pedestrian localization
CA3104532C (en) 2018-06-27 2023-10-17 Niantic, Inc. Multi-sync ensemble model for device localization

Also Published As

Publication number Publication date
AU2021203410A1 (en) 2021-06-24
CN112334953A (zh) 2021-02-05
KR20210154861A (ko) 2021-12-21
AU2022256192B2 (en) 2024-02-01
WO2020006299A1 (en) 2020-01-02
US10820172B2 (en) 2020-10-27
CN115311422A (zh) 2022-11-08
US20210105593A1 (en) 2021-04-08
AU2021203410B2 (en) 2022-07-21
US10904723B2 (en) 2021-01-26
EP3815398A1 (en) 2021-05-05
US20200367034A1 (en) 2020-11-19
JP2021524636A (ja) 2021-09-13
CA3104532A1 (en) 2020-01-02
AU2022256192A1 (en) 2022-11-24
KR102612347B1 (ko) 2023-12-11
AU2019291869A1 (en) 2021-02-18
US11540096B2 (en) 2022-12-27
EP3815398A4 (en) 2021-05-05
AU2019291869B2 (en) 2021-02-25
JP2022000761A (ja) 2022-01-04
CA3104532C (en) 2023-10-17
EP3815398B1 (en) 2023-09-06
JP7361075B2 (ja) 2023-10-13
US20200008024A1 (en) 2020-01-02
KR20210013655A (ko) 2021-02-04
KR102338560B1 (ko) 2021-12-15
CN112334953B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
JP6931138B1 (ja) デバイスローカリゼーションのためのマルチシンクアンサンブルモデル
JP7486565B2 (ja) クラウド支援型の新しい視点を利用したローカルマップデータの生成
US11969651B2 (en) Merging local maps from mapping devices
US11847792B2 (en) Location determination and mapping with 3D line junctions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210225

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210812

R150 Certificate of patent or registration of utility model

Ref document number: 6931138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250