(57)【要約】  デバイスの位置を判定するシステム及び方法である。デバイスは、１つ以上のセンサを使用してセンサデータを収集する。センサデータに基づいて、１つ以上のローカリゼーションモデルが、複数のローカリゼーションモデルから選択される。選択したモデルが適用され、１つ以上の潜在的な位置が生成される。デバイスの現在の位置は、１つ以上の潜在的な位置に基づいて判定される。
2021524636.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの位置を判定するための方法であって、
１つ以上のセンサを使用してセンサデータを収集するステップと、
前記センサデータに基づいて、複数のローカリゼーションモデルから１つ以上のローカリゼーションモデルを選択するステップと、
選択された前記１つ以上のローカリゼーションモデルを適用して、前記デバイスの１つ以上の潜在的な位置を生成するステップと、
前記１つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、
を含む方法。
【請求項２】
前記センサデータが、カメラによってキャプチャされた画像を含む、請求項１に記載の方法。
【請求項３】
前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information system：ＧＩＳ）モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
選択された前記１つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの１つを生成する、請求項１に記載の方法。
【請求項５】
前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項４に記載の方法。
【請求項６】
前記平均が加重平均である、請求項５に記載の方法。
【請求項７】
１つ以上のローカリゼーションモデルを選択するステップは、
前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
前記デバイスが現在屋内にあるか屋外にあるかに基づいて、前記ローカリゼーションモデルのサブセットを選択するステップと、
を含む請求項１に記載の方法。
【請求項８】
１つ以上のローカリゼーションモデルを選択するステップは、
各ローカリゼーションモデルにスコアを割り当てるステップであって、前記ローカリゼーションモデルのスコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
前記スコアに基づいて前記１つ以上のローカリゼーションモデルを選択するステップと、
を含む請求項１に記載の方法。
【請求項９】
前記スコアが、類似の環境に対する前記モデルの過去のパフォーマンスに基づく、請求項８に記載の方法。
【請求項１０】
前記スコアが、前記センサデータに基づく、請求項８に記載の方法。
【請求項１１】
デバイスであって、
１つ以上のプロセッサと、
命令を記憶する１つ以上のコンピュータ可読媒体と、を備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記デバイスに、
１つ以上のセンサを使用してセンサデータを収集するステップと、
前記センサデータに基づいて、複数のローカリゼーションモデルから１つ以上のローカリゼーションモデルを選択するステップと、
選択された前記１つ以上のローカリゼーションモデルを適用して、前記デバイスの１つ以上の潜在的な位置を生成するステップと、
前記１つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、を含む動作を実行させる、
デバイス。
【請求項１２】
前記センサデータが、カメラによってキャプチャされた画像を含む、請求項１１に記載のデバイス。
【請求項１３】
前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information system：ＧＩＳ）モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも１つを含む、請求項１１に記載のデバイス。
【請求項１４】
選択された前記１つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの１つを生成する、請求項１１に記載のデバイス。
【請求項１５】
前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項１４に記載のデバイス。
【請求項１６】
前記平均が加重平均である、請求項１５に記載のデバイス。
【請求項１７】
１つ以上のローカリゼーションモデルを選択するステップは、
前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
前記デバイスが現在屋内にあるか屋外にあるかに基づいて、前記ローカリゼーションモデルのサブセットを選択するステップと、
を含む請求項１１に記載のデバイス。
【請求項１８】
１つ以上のローカリゼーションモデルを選択するステップは、
各ローカリゼーションモデルにスコアを割り当てるステップであって、前記ローカリゼーションモデルのスコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
前記スコアに基づいて前記１つ以上のローカリゼーションモデルを選択するステップと、
を含む請求項１１に記載のデバイス。
【請求項１９】
前記スコアが、類似の環境に対する前記モデルの過去のパフォーマンスに基づく、請求項１８に記載のデバイス。
【請求項２０】
前記スコアが、前記センサデータに基づく、請求項１８に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、位置判定、より具体的には、センサデータを使用してデバイス位置を判定することに関する。
【背景技術】
【０００２】
コンピュータ媒介現実技術により、ハンドヘルド又はウェアラブルデバイスを使用しているユーザは、デバイスを通じて体験したように、環境の視覚的又は聴覚的な認識を変更できる。拡張現実（Augmented reality：ＡＲ）は、コンピュータ媒介現実の一種であり、コンピューティングデバイスで生成された感覚入力を使用して、物理的な現実世界の環境のリアルタイムの認識を具体的に変更する。ＡＲ技術は、ユーザの現実世界の環境の視覚化を含むコンピュータ媒介現実を提供し得る。ユーザの現実世界の環境の視覚化は、現実世界の環境の視覚化の範囲で特定の位置にある仮想オブジェクトが現実世界の環境の没入感のある側面で表されるといった、１つ以上の拡張を含む、
【発明の概要】
【０００３】
特定の実施形態によれば、コンピュータ媒介現実データを生成するステップを含む方法であって、その方法は、クライアントデバイスで３次元（３−Ｄ）マップデータ及びカメラ位置データを生成するステップと、３−Ｄマップデータ及びクライアントデータを削除サーバに送信するステップと、クライアントデバイスでワールドマップデータをリモートサーバから受信するステップであって、ワールドマップデータが３−Ｄマップデータを使用して生成されるステップと、クライアントデバイスでコンピュータ媒介現実画像を生成するステップと、を含む。
【０００４】
別の特定の実施形態によれば、拡張現実エンジンは、ポータブルコンピュータ上で実行されるローカルに保存されたアニメーションエンジンであって、ポータブルコンピュータに統合されたカメラによって生成された、デジタル画像のストリームを受信する第１の入力であって、デジタル画像は、カメラによって見える環境のほぼリアルタイムのビューを表す第１の入力と、ポータブルコンピュータに統合されたジオロケーションポジショニングシステムからジオロケーション位置を受信する第２の入力と、第１の入力及び第２の入力を受信し、特定の時点でのカメラ位置と１つ以上のマッピング点との間の距離を推定する３Ｄマッピングエンジンと、カメラによって生成されたデジタル画像のストリームにコンピュータ生成画像を重ね合わせた出力であって、コンピュータ生成画像は、３Ｄマップの特定の位置に位置し、ユーザが空間内の異なる位置にカメラを移動させても特定の位置に位置したままである出力と、を含むアニメーションエンジンと、ローカルに保存されたアニメーションエンジンとのネットワーク通信における非ローカルに保存されたオブジェクト検出エンジンであって、ローカルに保存されたアニメーションエンジンから受信された第１の入力であって、カメラによって生成されたデジタル画像のストリームからのデジタル画像を含む第１の入力と、ローカルに保存されたアニメーションエンジンから受信された第２の入力であって、ローカルに保存されたアニメーションエンジンから受信されたデジタル画像に関連付けられたジオロケーション位置を含む第２の入力と、を含む非ローカルに保存されたオブジェクト検出エンジンと、を含む。
【０００５】
様々な実施形態において、デバイスは、センサデータ（例えば、画像、音声、全地球測位システム（Global Positioning System：ＧＰＳ）データ、Ｗｉ−Ｆｉ可用性データ、方向及び運動データ（例えば、ジャイロスコープ、加速度計、慣性測定ユニット（inertial measurement unit：ＩＭＵ）による）、光レベル、音レベル、圧力データなど）を収集する。デバイスは、センサデータに基づいて、デバイスの位置を判定するための１つ以上のローカリゼーションモデルを選択する。選択された１つ以上のモデルは、デバイスの１つ以上の潜在的な位置を判定するためにセンサデータに適用され、デバイスの現在の位置は、１つ以上の潜在的な位置から判定される。複数の潜在的な位置が存在する場合、現在の位置は、潜在的な位置の１つを選択することによって、又は他の適切な技術によって、潜在的な位置の平均又は加重平均として判定されてよい。いくつかの実施形態では、１つ以上のモデル及び／又は１つ以上の潜在的な位置の選択は、１つ以上のモデルが以前に同様の位置で使用されたかに基づくことができる。２つ以上の位置は、１つ以上のセンサデータの一般的な地理的近接性及び／又は類似性、あるいはセンサデータに基づく判定（例えば、屋内であるか屋外であるか、低照度であるか高照度であるかなど）に基づいて類似していると見なされ得る。
【０００６】
本開示の他の利点は本明細書に記載される。
【図面の簡単な説明】
【０００７】
【図１】図１は、拡張現実データを生成及び表示するためのネットワーク化されたコンピューティング環境の実施形態を例示する。
【０００８】
【図２】図２は、一実施形態による、拡張現実データを生成及び表示するための図１のコンピューティングシステムによって実行可能なプロセスを例示するフローチャートである。
【０００９】
【図３】図３は、一実施形態による、図１のネットワーク化されたコンピューティング環境での使用に適した例示的なコンピュータシステムを示すブロック図である。
【００１０】
【図４】図４は、一実施形態による、デバイスの位置を判定するための方法を例示するフローチャートである。
【発明を実施するための形態】
【００１１】
システム及び方法は、３次元（３−Ｄ）マップを作成し、３−Ｄマップを使用して拡張現実（ＡＲ）を有効にする。一実施形態では、３−Ｄマップは１センチメートルの解像度を有するが、可変解像度を有するマップを含む、他の解像度を有するマップを使用してもよい。様々な実施形態では、マップ作成は、クライアント側で（例えば、携帯電話又はヘッドセットによって）実施され、これは、以前にコンパイルされた画像及びマッピング情報をクライアントデバイスに提供するバックエンドサーバとペアにされる。
【００１２】
一実施形態では、システムは、クライアント側（例えば、ハンドヘルド又は装着された電子コンピューティングデバイス上）で画像及び全地球測位システム（global positioning system：ＧＰＳ）座標を選択し、選択されたデータを３−Ｄマップとペアにする。３−Ｄマップは、カメラ記録モジュールと、加速度計及び／又はジャイロスコープを含む慣性測定ユニット（inertial measurement unit：ＩＭＵ）とから構築される。選択されたデータは、サーバに送信される。サーバとクライアント側のコンピューティングデバイスは、選択されたデータを連携して処理し、ＡＲのオブジェクトとジオメトリを確立し、ＡＲ内において、仮想又はその他の、オブジェクト間の潜在的な相互作用を判定する。例えば、拡張現実は、現実世界の部屋のものであり、例えば、ゲームをプレイするために、互いに相互作用することができる１つ以上のアニメーション化された仮想オブジェクトを含み得る。
【００１３】
選択されたデータと３−Ｄマップを使用することにより、システムはニューラルネットワークを使用してオブジェクトの検出とジオメトリの推定を実行し、それによってＡＲを提供する。ニューラルネットワークの例は、機械学習のために接続されたユニット（人工ニューロン）の大規模な集合を使用する計算モデルである。ユニットはソフトウェアで接続され、ユニットへの結合された入力信号が十分に大きい場合、ユニットは独自の出力信号を発信する。そのため、人工ニューラルネットワークは生物学的ニューラルネットワークを模倣して、タスクの実行を学習する。システムは、深層学習（例えば、多層ニューラルネットワーク）を使用して、ＡＲデータをコンテキストで理解する（例えば、前述のオブジェクト検出及びジオメトリ推定タスクの場合）。
【００１４】
いくつかの実施形態では、システムは、ローカル３−Ｄマップを集約して（例えば、複数のローカル３−Ｄマップを一緒にリンクすることによって）、１つ以上のグローバル３−Ｄマップを作成する。集約された３−Ｄマップは、環境又は「世界」の単一のデジタル３−Ｄマップを生成するために、サーバ上でグローバル３−Ｄマップに結合される。例えば、所定の閾値内でマッチする部分を含む同様のＧＰＳ座標の１つ以上のデバイスによって生成された複数のローカル３−Ｄマップは、重なると判定され得る。そのため、重なり合う部分を使用して、２つのローカル３−Ｄマップをつなぎ合わせることができる。グローバル３−Ｄマップは、特定のＧＰＳ座標での仮想オブジェクトの位置を保存するために使用され、このＧＰＳ座標は、更に３−Ｄポイント及び特定の３−Ｄ位置までの視覚画像を通してインデックス付けされる（例えば、１フィートの誤差で）。例えば、「世界」が家である場合、様々な部屋の様々なローカル３−Ｄマップを組み合わせて、家全体の内部を表す単一のグローバル３−Ｄマップにすることができる。
【００１５】
実例となるプロセスは、サーバとの間でマップデータを送受信する。本明細書で説明するように、３−Ｄマップは、３−Ｄピクセル（又は「ボクセル」）に類似した方法で、世界又はその世界の一部を表す空間内の３−Ｄ点の集合である。画像データは、利用可能で且つ有用な場合、例えば、３−Ｄマップにまだ組み込まれていない位置の画像データであると判定された場合に、３−Ｄマップと一緒に送信され得る。特定の実施形態は、画像データなしで３−Ｄマップデータを送信する。
【００１６】
様々な実施形態では、クライアントデバイスは、プロセッサによって実行される３−Ｄアルゴリズムを使用して、３−Ｄマップを生成する。クライアントデバイスは、画像、３−Ｄマップ、及びＧＰＳデータを効率的に送信する。例えば、画像は、送信又は処理を妨げないように選択的に送信され得る。一例では、画像は、クライアントデバイスのカメラが新規の視点（例えば、画像によってキャプチャされたスペースがサーバの１つ以上の画像にまだ含まれていない、又はサーバのそのような画像が閾値時間より古い）を有するときに選択的に送信され得るが、現在の視点に対して既に１つ以上の画像が提供されているときには送信されなくてもよい。例えば、カメラの視野が過去又は最近のカメラ姿勢からの以前の画像と最小（例えば、閾値未満）の重複を有する場合、又は視点がオブジェクトの予想される動きに依存する時間の間観察されていない場合、画像はアルゴリズムによって送信されるように指定される。別の例として、現在の（又は実質的に重複する）視点からの以前の画像が提供されてから閾値を超える時間が経過した場合に、画像が提供され得る。これにより、マップに関連付けられた保存済み画像を更新して、現実世界位置の現在の（又は少なくとも最近の）ステータスを反映できるようになる。
【００１７】
様々な実施形態では、サーバデバイスは、オブジェクトを検出するための３−Ｄデータ及び画像に基づくリアルタイム検出システムを含み、現実世界の環境のジオメトリを推定する。例えば、写実的でない部屋の３−Ｄマップ（例えば、半高密度及び／又は高密度３−Ｄ再構成）は、部屋が３−Ｄマップ内で特定の解像度又は詳細レベルで完全に表されるように、クライアントデバイスによってキャプチャされた画像を用いて判定できる。
【００１８】
サーバは、リアルタイム検出システムを使用して画像、３−Ｄデータ、及び／又はＧＰＳデータを融合し、一貫性があり且つ、簡単にインデックス付けできる世界の３−Ｄマップ、複合現実世界マップを作成する。保存されると、現実世界マップを検索して、以前に保存された実オブジェクト及び／又は仮想オブジェクトを、世界の３−Ｄマップの特定の位置に配置できる。
【００１９】
様々な実施形態では、マッピング（新しい３−Ｄマップデータの作成）及び追跡（クライアントデバイスを含むオブジェクトのローカリゼーション）は、クライアント側で行われる。現実世界に対するカメラの位置とともに、現実世界のスパースな（ｓｐａｒｓｅ）デジタル再構成が収集される。マッピングには、ポイントクラウド、又は３−Ｄポイントの集合の作成が含まれる。システムは、ＧＰＳデータとともにポイントクラウド情報をシリアル化して送信することにより、スパース表現をサーバに返す。クラウド処理により、例えば、物理メモリ（デバイスにローカルに保存されていない将来のＡＲエクスペリエンスのためのマップ及び仮想オブジェクトデータの保存）とオブジェクト検出が動作する２つ以上のクライアントデバイス間でのマルチプレーヤ機能（独立したクライアントデバイス間でのリアルタイム又はリアルタイムに近いマップデータの共有）が可能になる。
【００２０】
サーバは、３−Ｄマップと画像のデータベースを含む。サーバはＧＰＳデータを使用して、座標用に３−Ｄマップが以前に保存されているかどうかを判定する。見つかった場合、保存された３−Ｄマップはクライアントデバイスに返送される。例えば、自宅の位置にいるユーザは、自宅の位置に関連付けられた以前に保存されたデータを受信することができる。更に、３−Ｄマップと画像データを保存された複合ワールド３−Ｄマップに追加できる。
【００２１】
図１は、一実施形態による、ネットワーク１０４を介してアクセスされるクラウドサーバ要素と協働するクライアントデバイス１０２を含むＡＲコンピューティングシステムのブロック図である。例えば、クラウドサーバ要素は、ＡＲデータを生成するように構成されたサーバデバイスの構成要素であってもよい。ここに示される実施形態では、クライアントデバイス１０２は、ゲームエンジン１０６（例えば、ユニティゲームエンジン又は別の物理／レンダリングエンジン）、並びにＡＲプラットフォーム１０８を含む。ＡＲプラットフォーム１０８は、セグメンテーション及びオブジェクト認識を実行することができる。図１に示されるＡＲプラットフォーム１０８は、クライアント側の画像処理（画像セグメンテーション及びローカル３−Ｄ推定などを含む）を実行する複合コンピュータビジョンモジュール１１０を含む。
【００２２】
複合コンピュータビジョンモジュール１１０は、クライアントデバイスのカメラからの画素データ、並びに慣性測定ユニットなどのクライアントデバイスの他のセンサからのセンサデータを取り込む。複合コンピュータビジョンモジュール１１０は、取り込んだデータを使用して特徴ベクトルを生成する。複合コンピュータビジョンモジュール１１０は、画素データに基づいて特徴抽出を実行し、センサデータ及び／又は画素データに基づいてカメラの位置及び視点を三角測量し、抽出された特徴に基づいて特徴マッチングを実行することにより、特徴ベクトルを生成し、これにより、カメラの視点、及び視点内にどのような物体が存在するかのＰｎＰ（Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ）推定を提供する。以下に説明するように、コンテキストに応じて、異なるモデルを使用して、ローカリゼーションとマッピングを同時に実行できる。
【００２３】
ＡＲプラットフォーム１０８はまた、ローカリゼーション／マッピングモジュール１１２を含む。一実施形態では、ローカリゼーション／マッピングモジュール１１２は、同時ローカリゼーション／マッピング（Simultaneous Localization and Mapping：ＳＬＡＭ）ソフトウェア開発キット（ＳＤＫ）からの機能を使用する。ＳＬＡＭ  ＳＤＫの機能には、現実世界のジオメトリを近似するための、ポイントクラウド、ラインクラウド、平面クラウド、または任意の幾何学的なクラウドを構築するマッピングシステムを含み、３次元空間でカメラの現在の位置を求める追跡機能を提供する。ＳＬＡＭは、更に、プロジェクトアニメーション又は拡張値（仮想オブジェクトなど）をＡＲに処理して、現実言葉にあるように見せる。他の実施形態では、ローカリゼーション／マッピングモジュール１１２は、クライアントデバイス１０２の周りの環境をマッピングするため、及び／又はその環境におけるクライアントデバイスの位置を判定するために、異なる又は追加のアプローチを使用することができる。
【００２４】
ローカリゼーション／マッピングモジュール１１２は、クライアントデバイス１０２の現在の位置を判定するために利用可能な複数のモデルを有していてもよい。一実施形態では、モデルは、（例えば、ＳＬＡＭによって提供されるような）ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information System：ＧＩＳ）モデル、建物認識モデル、景色認識モデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル等に加えて、出口マッチングモデル、街路灯マッチングモデル、ツリーマッチングモデル、テキストマッチングモデル（例えば、看板や道路標識）若しくは現実世界のオブジェクトを仮想近似にマッチングするための他のモデル等のオブジェクト及び／又はセマンティックマッチングモデルを含む。他の実施形態では、異なる又は追加のモデルが、ローカリゼーション／マッピングモジュール１１２に利用可能であってもよい。
【００２５】
ポイントクラウドモデルは、物理空間を、現実世界のオブジェクト表面の位置に対応する仮想世界の位置に配置された点のセットとして表す。例えば、壁は、壁全体に分散された点の集合によって表され得る。所与のポイントクラウドモデルは、大きく平坦な表面（例えば、壁）上に比較的少数のポイントを含む一方で、より複雑なオブジェクト（例えば、植物、家具等）の周囲により密なポイントのクラスタを含むことなどによって、物理的空間を表すために動的に割り当てられる固定数のポイントを含むことができる。いくつかの実施形態では、ローカリゼーション／マッピングモジュール１１２は、様々な解像度及びスケールで利用可能な複数のポイントクラウドモデルを有する。したがって、例えば、ユーザの位置の近くにあるオブジェクトは、遠くにあるオブジェクトよりも高解像度のポイントクラウドで表すことができる。ポイントクラウドモデルは、デバイスによって生成されたセンサデータ（例えばカメラ画像）を、ポイントクラウドに基づいて生成された様々な位置の予想されるセンサ読み取り値とマッチングすることによって、デバイスの位置を判定する。
【００２６】
平面マッチングモデルは、物理空間を、現実世界の大きく比較的平坦な表面に対応する位置にある仮想内の平面のセットとして表す。例えば、部屋の床、壁、及びテーブル天板はそれぞれ平面マッチングモデルの平面で表すことができる。平面マッチングモデルは、デバイスによって生成されたセンサデータ（例えばカメラ画像）で識別された平面をモデル内の平面にマッチングすることによって、デバイスの位置を判定する。
【００２７】
ラインマッチングモデルは平面マッチングモデルに似ているが、現実世界のラインに対応する位置に仮想世界のラインを定義する点が異なる。例えば、線は家具の端、２つの壁の間の接合部などであり得る。ラインマッチングモデルは、デバイスによって生成されたセンサデータ（例えばカメラ画像）で識別されたラインをモデル内のラインとマッチングすることにより、デバイスの位置を判定する。
【００２８】
地理情報システム（ＧＩＳ）モデルは、画素データを衛星画像データとマッチングする。ＧＩＳモデルは、視点の地平線で検出されたオブジェクトに基づいて視点を推定する。地平線上のオブジェクトのサイズとスケールは、画素データ（例えば、幅及び／又は高さのピクセル数）に基づいてＧＩＳモデルによって推定される。次に、ＧＩＳモデルは、推定されたオブジェクトを、ＧＩＳモデルが視点の地平線上にあると予測する、衛星画像データに含まれるオブジェクトとマッチングする。これは、衛星画像データ及び／又は画素データに１つ以上の数学的変換及び／又は機械学習モデル（例えば、ディープニューラルネットワーク）を適用することによって実行することができる。マッチングされたオブジェクトに基づいて、ＧＩＳモデルは、画素データを生成したカメラ、ひいてはクライアントデバイス１０２の可能性のある視点を識別する。
【００２９】
建物認識モデル、並びに他のオブジェクト及び／又はセマンティックマッチングモデル（ツリー認識モデルなど）は、画素データを認識するようにトレーニングされたオブジェクト又はセマンティクスにマッチングさせる。例えば、建物認識モデルは、ポジティブケースとしてラベル付けされた建物の画像とネガティブケースとしてラベル付けされた他のオブジェクトの画像を含むトレーニングデータセットに基づいて建物を認識するようにトレーニングされた機械学習モデルであり得る。トレーニング時に、建物認識モデルは、画素データ（画像など）に建物が含まれるかどうかを予測できる。同様に、モデルは、道路標識、樹木、ベンチなど、画像に存在し得る様々なオブジェクトを認識するようにトレーニングできる。
【００３０】
利用可能なモデルのセットに関係なく、クライアントデバイス１０２は、収集された生データに基づいて、ローカリゼーションのために１つ以上のモデルを選択する。例えば、平面マッチングモデル及びラインマッチングモデルは屋内で最も正確であり得るのに対し、景色マッチングモデル及び建物マッチングモデルは屋外で最も正確であり得る。したがって、収集されたデータ（例えば、照明レベル及び画像）は、ローカリゼーション／マッピングモジュール１１２によって分析されて、クライアントデバイス１０２が現在屋内にあるか屋外にあるかを判定し、次に、より効果的なモデルを選択することができる。
【００３１】
一実施形態では、各モデルには、モデルが現在の状況に基づいて（例えば、収集されたデータによって示されるように）クライアントデバイスの正確な位置を生成する可能性を示すスコアが割り当てられる。スコアは、そのパラメータが手動で設定される決定木に基づくことができる。あるいは、スコアは、様々なＡＲマップタイプからの様々なモデルの入力とパラメータを使用した強化学習でトレーニングされた機械学習モデルに基づくことができる。強化の「報酬」は、モデルのパフォーマンス、例えば、位置推定の精度に比例する。
【００３２】
スコアに基づいて、１つ又は複数のモデルが選択される。例えば、クライアントデバイス１０２は、最高スコアを有するモデル、３つの最高スコアモデル、又は閾値を超えるスコアを有する全てのモデルを選択することができる。追加的又は代替的に、選択は、どのモデルが以前に同様の位置で選択されたかに基づくことができる。
例えば、クライアントデバイス１０２のＧＰＳ座標が、平面マッチングモデルが以前に正常に使用されたＧＰＳ座標の閾値内にある場合、平面マッチングモデルのスコアを上げるか、又は他のモデルのスコアが平面マッチングモデルのスコアを閾値量だけ超えない限り、平面マッチングモデルを選択することができる。同様に、特定のモデルが以前に選択され、正確な位置を提供できなかった場合、そのモデルのスコアが低下し得る。このように、同様のＧＰＳ座標でのモデルの成功と失敗を使用して、クライアントデバイス１０２がＧＰＳ座標によって提供されるよりも正確な位置（例えば、１センチメートル以内）を判定するために選択する１つ又は複数のモデルを通知することができる。
【００３３】
同様の方法で、クライアントデバイス１０２は、収集されたデータが現在の位置に類似していることを示す位置でのモデルの成功及び失敗を考慮に入れることができる。例えば、位置は屋内又は屋外として分類することができ、クライアントデバイス１０２が屋内又は屋外にあることを収集されたデータが示すかどうかに基づいて、特定のモデルが除外又は選択（又は対応するスコアが増加又は減少）され得る。収集されたデータは、１つ以上のモデル（例えば、オブジェクト認識モデル）によって分析され、特徴的に屋内又は屋外にあるオブジェクトのモデルを使用することによって、屋内又は屋外のどちらで収集されたかを判定することができる。例えば、木、空、草のモデルを使用してデータが外部で収集されたことを判定し、壁、カウチ、テーブルのモデルを使用してデータが内部で収集されたことを判定する。
【００３４】
同様に、選択される１つ又は複数のモデルは、照明レベルに基づくことができる。例えば、あるモデル（例えば、ラインクラウド）は、暗い条件で他のモデルと比較して特に効果的である可能性があるため、したがって、クライアントデバイス１０２によって検出された照明レベルが閾値を下回る場合に優先的に選択される。同様に、他のモデル（例えば、ポイントマップ）は、暗い位置では効果が低い可能性があるため、回避（別のモデルが利用可能であると想定）される。実施形態に応じて、現在の条件で正確な結果を生成する可能性が最も高いモデルの選択を優先するためにどのモデル（１つ又は複数）が選択されるかに影響を与える収集データの他の技法を使用することができる。
【００３５】
ローカリゼーション／マッピングモジュール１１２は、選択された１つ以上のモデルを適用して、クライアントデバイス１０２の潜在的な位置を生成することができる。単一のモデルのみが選択された場合、生成された位置は、クライアントデバイス１０２の実際の位置として使用され得る。しかしながら、ＧＰＳ座標が利用可能である場合において、モデルを使用して判定された位置がＧＰＳ座標と閾値量を超えて異なっていれば、クライアントデバイス１０２は、追加のモデルを適用するか、そうでなければ、位置推定が正確であるかどうかをユーザに確認するように求めるメッセージを表示することなどによって、現在の位置を検証しようと試み、受信した応答に基づいて位置推定を更新することができる。
【００３６】
複数のモデルが選択される場合、選択された各モデルは、クライアントデバイス１０２の潜在的な位置を生成することができる。ローカリゼーション／マッピングモジュール１１２は、複数の選択されたモデルの累積的な潜在的な位置に基づいて、クライアントデバイス１０２の現在の位置を判定する。一実施形態では、現在の位置は、選択されたモデルによって生成された潜在的な位置の平均として計算される。別の実施形態では、潜在的な位置の加重平均が使用される。例えば、各モデルの寄与は、モデル選択フェーズからのスコアによって重み付けされ得る。あるいは、例えば、過去の正確さに基づいて、特定のモデルを他のモデルよりも優先するように重み付けを事前設定することもできる。更なる実施形態では、潜在的な位置は、デバイスのＧＰＳ座標に最も厳密にマッチングするものをとるなど、他の方法で組み合わせることができる。
【００３７】
図１に示す実施形態では、クライアントコンピューティングデバイス１０２はまた、マップ検索モジュール１１４及び深層学習モジュール１１６を含む。マップ検索モジュール１１４は、以前に生成された３−Ｄマップを（例えば、ネットワーク１０４を介して）検索する。いくつかの実施形態では、マップ検索モジュール１１４は、いくつかの３−Ｄマップ（例えば、ユーザの自宅の位置の３−Ｄマップ）をローカルに保存することができる。深層学習モジュール１１６は、オブジェクト認識のために機械学習されたアルゴリズムを適用する。深層学習モジュール１１６は、トレーニングされた機械学習アルゴリズムを、ネットワーク１０４を介して取得することができる。いくつかの実施形態では、深層学習モジュール１１６はまた、更なるモデルトレーニングを可能にするために、オブジェクト認識及び／又はユーザフィードバックの結果を提供できる。
【００３８】
ここに示される実施形態では、ネットワーク１０４を介して（例えば、サーバコンピューティングデバイスで）アクセスされるクラウドサーバ要素は、一世界マッピングモジュール（a one world mapping module）１２０、オブジェクト認識／セマンティックセグメンテーションモジュール１２２、マップデータベース１２４、オブジェクトデータベース１２６、及び深層学習トレーニングモジュール１２８と通信する、ＡＲバックエンドエンジン１１８を含む。他の実施形態では、追加の又は異なる構成要素が含まれ得る。更に、機能は、本明細書に記載されているものとは異なる方法で分散され得る。例えば、オブジェクト認識機能の一部又は全ては、クライアントデバイス１０２で実行され得る。
【００３９】
ＡＲバックエンドエンジンは、クライアントデバイス１０２からデータを受信し、３−Ｄマップ情報及び／又は他のデータをクライアントデバイス１０２に送信する。ＡＲバックエンドエンジンは、受信データのタイプに基づいて、受信データを一世界マッピングモジュール１２０及び／又はオブジェクト認識／セマンティックセグメンテーションモジュール１２２に送信して、更にそれを処理することができる。
【００４０】
一世界マッピングモジュール１２０は、異なるローカル３−Ｄマップを融合して、複合現実世界マップを作成する。前述のように、最初にマップを生成したクライアントデバイス１０２からのＧＰＳ位置データを使用して、隣接又は重なっている可能性が高いローカルマップを識別することができる。次に、パターンマッチングを使用して、マップの重複部分、又は２つのローカルマップが互いに隣接していることを識別できる（例えば、同じオブジェクトの反対側の表現が含まれているなどの理由で）。２つのローカルマップが重なっている又は隣接していると判定された場合、２つのマップが互いにどのように関連しているかを示すマッピングを（例えば、マップデータベースに）保存するか、又は１つの３−Ｄマップに組み合わせることができる。
【００４１】
オブジェクト認識／セマンティックセグメンテーションモジュール１２２は、画像及び／又はオブジェクト情報、並びに、収集された３−Ｄデータを使用して、現実世界の特徴を識別する。このようにして、サーバ１０４は、例えば、椅子が３−Ｄ位置にあると判定し、その位置に関連付けられたオブジェクトデータベース１２６にアクセスする。深層学習トレーニングモジュール１２８を使用して、例えば、３−Ｄマップに表される位置でオブジェクトの表現を３−Ｄマップに追加するなど、マップ情報をオブジェクト情報と融合することができる。このようにして、システム１００は、オブジェクト認識及び３−Ｄマップへのフュージョンバックのための３−Ｄ情報に接続することができる。代替的又は追加的に、深層学習トレーニングモジュール１２８を使用して、オブジェクト認識のために機械学習モデルをトレーニング又は更新することができる。例えば、オブジェクト認識／セマンティックセグメンテーションモジュール１２２の３−Ｄデータへの適用の結果は、深層学習トレーニングモジュール１２８がトレーニングデータセットの拡張又は検証に基づくモデルの更新をすることができるように、（例えば、人間によって）検証され得る。
【００４２】
マップデータベース１２４は、クライアントデバイス１０２によって生成されたマップデータを保存するように構成された１つ以上のコンピュータ可読媒体を含む。マップデータは、ある位置でクライアントデバイス１０２によって収集された画像及び他のセンサデータに関連付けて保存された３−Ｄポイントクラウドのローカルマップを含むことができる。マップデータには、異なるローカルマップ間の地理的関係を示すマッピング情報も含まれ得る。同様に、オブジェクトデータベース１２６は、認識されたオブジェクトに関する情報を保存するように構成された１つ以上のコンピュータ可読媒体を含む。例えば、オブジェクトデータベース１２６は、既知のオブジェクト（例えば、椅子、机、木、建物など）のリストを、それらのオブジェクトのプロパティとともに、対応する位置と一緒に含み得る。プロパティは、オブジェクトタイプに一般的であるか、オブジェクトのインスタンスごとに特別に定義され得る（例えば、全ての椅子は家具と見なされ得るがあるが、それぞれの位置は個別に定義される）。マップデータベース１２４及びオブジェクトデータベース１２６は、単一のエンティティとして示されているが、それらは、複数のデバイス上の複数の記憶媒体に分散されてもよく（例えば、分散データベースとして）、又は１つの組み合わされたデータベースであってもよい。
【００４３】
図２は、一実施形態による、ＡＲデータを生成及び表示するためにクライアントデバイス１０２及びサーバデバイスによって実行されるプロセスを示すフローチャートである。クライアント１０２及びサーバコンピューティングデバイスは、図１に示されるものと同様であり得る。破線は、クライアント１０２とサーバとの間のデータの通信を表し、実線は、それらのデバイス内部でのデータの通信を表す。他の実施形態では、機能は、デバイス間で異なって分散されてもよく、及び／又は異なるデバイスが使用されてもよい。
【００４４】
ステップ２０２で、生データは１つ以上のセンサによってクライアントデバイスで収集される。一実施形態では、生データは、画像及び慣性測定情報を含む。画像は１台以上のカメラでキャプチャされる。慣性測定情報は、クライアントデバイス又はクライアントデバイスに通信可能に接続された別のデバイス上のＧＰＳ及びジャイロスコープ及び／又は加速度計コンポーネントを使用して収集することができる。代替的な実施形態では、圧力レベル、照明レベル、音レベル、音声データなどの追加の生データを収集することができる。
【００４５】
クライアントデバイス１０２は、ステップ２０４でローカルマップストレージを維持することができる。ローカルマップストレージは、ローカルポイントクラウドデータを含む。ポイントクラウドデータは、ポイントクラウドデータがある位置における１つ以上のオブジェクトを表すように構築できるメッシュサーフェスを形成する空間内の位置で構成される。
【００４６】
ステップ２０６で３−Ｄマップが初期化される場合、クライアントデバイス１０２は、ステップ２０８でＳＬＡＭ機能を開始することができる。ＳＬＡＭ機能は、ポイントクラウドを構築するマッピングシステムと、空間内でカメラの位置を見つける及び／又は空間内でカメラの向きを合わせるための追跡機能を含む。ＳＬＡＭプロセスは、ＡＲエクスペリエンスの中で現実言葉にいるかのようにプロジェクト仮想オブジェクトを投影する。ステップ２０６で３−Ｄマップが初期化されない場合、クライアントデバイス１０２は、ローカルマップストレージ２０４に、又はクラウドマップストレージ２２０へのクエリによって、保存された３−Ｄマップを識別し、当該保存された３−Ｄマップを使用するためにロードすることができる。ステップ２１０でマップが配置されていない場合、ステップ２１２でシステムは初期化モジュールを使用してマップを作成する。
【００４７】
ステップ２１４で新規の視点が検出された場合（例えば、コーナーをマッピング／イメージングされていない領域に変えるか、重複があり且つ現実世界の現在見える部分の全てがマッピング／イメージングされていない場合）、システムは、ステップ２１６で、（例えば、オブジェクト認識を使用して）ローカル環境について収集された、及び／又は推論されたデータを記録することができる。例えば、クライアントデバイス１０２が現在新規の視点を有すると判定すると、その視点でカメラによってキャプチャされた画像は、クライアントデバイス１０２によってサーバに送信され得る。クライアントデバイス１０２は、新規視点の検出器を使用して、３−Ｄデータを伴う画像をいつどのように送信するかを判定することができる。ローカル環境の推論には、ローカルマッピングシステムの更新されたキーフレームと、シリアル化された画像及び／又はマップデータが含まれ得る。
【００４８】
サーバ側では、新規の視点データ（例えば、ポイントクラウド情報とメッシュデータを含む）は、ステップ２１８で、クラウドマップストレージに保存され得る。サーバは、上記のように機械学習を使用して認識されたオブジェクトのラベルなど、保存されたクラウドマップストレージ２２０及びオブジェクトデータベース２２２からの現実世界マップの異なる部分を新規の視点データに追加することができる。クラウド環境推論２２４（例えば、認識されたオブジェクトのセマンティックラベルなどの追加データを含む）は、クライアントデバイス１０２に返送され得る。追加されたデータは、ポイント及びメッシュ及びオブジェクトデータを含んでいてもよく、ローカルマップストレージ２０４に保存するために送信され得る。
【００４９】
図３は、クライアントデバイス１０２又はサーバとして使用するのに適した例示的なコンピュータ３００を示すハイレベルブロック図である。例示的なコンピュータ３００は、チップセット３０４に結合された少なくとも１つのプロセッサ３０２を含む。チップセット３０４は、メモリコントローラハブ３２０及び入力／出力（Ｉ／Ｏ）コントローラハブ３２２を含む。メモリ３０６及びグラフィックアダプタ３１２は、メモリコントローラハブ３２０に結合され、ディスプレイ３１８は、グラフィックアダプタ３１２に結合される。ストレージデバイス３０８、キーボード３１０、ポインティングデバイス３１４、及びネットワークアダプタ３１６は、Ｉ／Ｏコントローラハブ３２２に結合される。コンピュータ３００の他の実施形態は、異なるアーキテクチャを有する。
【００５０】
図３に示す実施形態では、ストレージデバイス３０８は、ハードドライブ、コンパクトディスク読み取り専用メモリ（compact disk readonly memory：ＣＤ−ＲＯＭ）、ＤＶＤ、又はソリッドステートストレージデバイスなどの非一時的なコンピュータ可読記憶媒体である。メモリ３０６は、プロセッサ３０２によって使用される命令及びデータを保持する。ポインティングデバイス３１４は、マウス、トラックボール、タッチスクリーン、又は他のタイプのポインティングデバイスであり、キーボード３１０（オンスクリーンキーボードであり得る）と組み合わせて使用されて、コンピュータシステム３００にデータを入力する。グラフィックアダプタ３１２は、画像及び他の情報をディスプレイ３１８に表示する。ネットワークアダプタ３１６は、コンピュータシステム３００を１つ以上のコンピュータネットワークに結合する。
【００５１】
図１のエンティティによって使用されるコンピュータのタイプは、実施形態及びエンティティによって要求される処理能力に応じて変化し得る。例えば、サーバは、説明された機能を提供するために一緒に動作する複数のブレードサーバを含む分散データベースシステムを含み得る。更に、コンピュータは、キーボード３１０、グラフィックアダプタ３１２、及びディスプレイ３１８などの上記のコンポーネントのいくつかを欠くことができる。
【００５２】
図４は、デバイスの位置を判定するための方法４００の一実施形態を例示する。図４のステップは、方法４００を実行するクライアントデバイス１０２の観点から示されている。ただし、一部又は全ての手順は、他のエンティティ又は構成要素によって実行される場合がある。更に、いくつかの実施形態は、ステップを並行して実行するか、異なる順序でステップを実行するか、又は異なるステップを実行することができる。
【００５３】
図４に示す実施形態では、方法４００は、クライアントデバイス１０２で１つ以上のセンサを用いてセンサデータを収集することから開始される（ステップ４１０）。センサデータは、画像、ビデオ、オーディオ、光レベル、音レベル、慣性データ、向き、圧力、及び／又はセンサからのその他の利用可能なデータを含み得る。センサデータに基づいて、クライアントデバイス１０２は１つ以上のローカリゼーションモデルを選択する（ステップ４２０）。前述のように、選択された１つ又は複数のモデルは、モデルに割り当てられたスコアに基づくことができ、スコアは、センサデータ及び／又は特定の位置や環境での過去のパフォーマンスなどの追加の要因に基づく。
【００５４】
クライアントデバイス１０２は、選択されたローカリゼーションモデルを適用して、クライアントデバイスの潜在的な位置を生成する（ステップ４３０）。一実施形態では、各モデルが潜在的な位置を出力する。潜在的な位置は、ローカルマップ内の座標系に基づいて定義することができる（例えば、クライアントデバイス１０２のＧＰＳ座標に基づいて選択されるように）。例えば、クライアントデバイス１０２が建物内のどこかにある可能性が高いことをＧＰＳ座標が示すことがあり、したがって、その建物のローカルマップが使用される。次に、選択されたモデルが適用されて、建物内のクライアントデバイス１０２のより正確な位置が判定される（例えば、１センチメートルの精度を目標とする）。
【００５５】
クライアントデバイス１０２は、潜在的な位置に基づいて現在の位置を判定する（ステップ４４０）。モデルが１つだけ選択された場合、モデルが生成する潜在的な位置は正しいと見なされ得る。あるいは、利用可能なセンサデータに基づいて、潜在的な位置の実行可能性をチェックすることができる（例えば、ＧＰＳ座標によって示される位置の閾値距離内にあること、検出された照明レベルが潜在的な位置の予想と一致していること、画像がキャプチャされていること、クライアントデバイス１０２によって、同様の位置などでキャプチャされた他の画像と一致していること）。複数のモデルが選択されている場合、潜在的な位置を組み合わせて現在の位置を生成することができる。前述したように、平均、加重の組み合わせ、又は他の適切な技術を使用して、潜在的な位置から現在の位置を生成することができる。
【００５６】
当技術分野の当業者は、記載された概念から逸脱することなく、本明細書に開示される装置及び技術の多くの使用及び修正及び逸脱を行うことができる。例えば、本開示で図示又は説明される構成要素又は特徴は、図示又は説明される位置、設定、又は文脈に限定されない。本開示による装置の例は、前述の図の１つ以上を参照して説明されたものよりも、全て、より少ない、又は異なる構成要素を含むことができる。したがって、本開示は、本明細書に記載の特定の実装に限定されるものではなく、添付の特許請求の範囲及びその同等物と一致する可能な限り広い範囲を与えられるべきである。
【図１】
2021524636.tif 000003
【図２】
2021524636.tif 000004
【図３】
2021524636.tif 000005
【図４】
2021524636.tif 000006
【手続補正書】
【提出日】令和3年2月25日(2021.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスの位置を判定するための方法であって、
前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のＧＰＳ（global positioning system）受信機によって検出されたグローバル座標と、を収集するステップと、
前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから１つ以上のローカリゼーションモデルを選択するステップと、
選択された前記１つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの１つ以上の潜在的な位置を生成するステップと、
前記１つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、
を含む方法。
【請求項２】
前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information system：ＧＩＳ）モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
選択された前記１つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの１つを生成する、請求項１に記載の方法。
【請求項４】
前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項１に記載の方法。
【請求項５】
前記平均が加重平均である、請求項４に記載の方法。
【請求項６】
前記１つ以上のローカリゼーションモデルを選択するステップは、
前記１つ以上のローカリゼーションモデルの各ローカリゼーションモデルにスコアを割り当てるステップであって、各ローカリゼーションモデルに割り当てられた前記スコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
前記１つ以上のローカリゼーションモデルの前記スコアに基づいて前記１つ以上のローカリゼーションモデルを選択するステップと、
を含む請求項１に記載の方法。
【請求項７】
各ローカリゼーションモデルに割り当てられた前記スコアが、類似の環境における前記モデルの過去のパフォーマンスに基づく、請求項６に記載の方法。
【請求項８】
各ローカリゼーションモデルに割り当てられた前記スコアが、前記画像データおよび前記グローバル座標に基づく、請求項６に記載の方法。
【請求項９】
デバイスであって、
１つ以上のプロセッサと、
命令を記憶する１つ以上のコンピュータ可読媒体と、を備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のＧＰＳ（global positioning system）受信機によって検出されたグローバル座標と、を収集するステップと、
前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから１つ以上のローカリゼーションモデルを選択するステップと、
選択された前記１つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの１つ以上の潜在的な位置を生成するステップと、
前記１つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、を含む動作を実行させる、
デバイス。
【請求項１０】
前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information system：ＧＩＳ）モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも１つを含む、請求項９に記載のデバイス。
【請求項１１】
選択された前記１つ以上のローカリゼーションモデルを適用するステップは、複数のローカリゼーションモデルを適用して複数の潜在的な位置を生成するステップを含み、適用される各ローカリゼーションモデルは、前記複数の潜在的な位置のうちの１つを生成する、請求項９に記載のデバイス。
【請求項１２】
前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項９に記載のデバイス。
【請求項１３】
前記平均が加重平均である、請求項１２に記載のデバイス。
【請求項１４】
前記１つ以上のローカリゼーションモデルを選択するステップは、
前記１つ以上のローカリゼーションモデルの各ローカリゼーションモデルにスコアを割り当てるステップであって、各ローカリゼーションモデルに割り当てられた前記スコアはそのローカリゼーションモデルが正確な位置を生成する可能性を示すステップと、
前記１つ以上のローカリゼーションモデルの前記スコアに基づいて前記１つ以上のローカリゼーションモデルを選択するステップと、
を含む請求項９に記載のデバイス。
【請求項１５】
各ローカリゼーションモデルに割り当てられた前記スコアが、類似の環境における前記モデルの過去のパフォーマンスに基づく、請求項１４に記載のデバイス。
【請求項１６】
各ローカリゼーションモデルに割り当てられた前記スコアが、前記画像データおよび前記グローバル座標に基づく、請求項１４に記載のデバイス。
【請求項１７】
デバイスの位置を判定するための命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
前記デバイス上のカメラによってキャプチャされた画像データと、前記デバイス上のＧＰＳ（global positioning system）受信機によって検出されたグローバル座標と、を収集するステップと、
前記画像データの照明レベルに基づいて、前記デバイスが現在屋内にあるか屋外にあるかを判定するステップと、
前記デバイスが現在屋内にあるか屋外にあるかの前記判定に基づいて、複数のローカリゼーションモデルから１つ以上のローカリゼーションモデルを選択するステップと、
選択された前記１つ以上のローカリゼーションモデルを前記画像データおよび前記グローバル座標に適用して、前記デバイスの１つ以上の潜在的な位置を生成するステップと、
前記１つ以上の潜在的な位置に基づいて前記デバイスの前記位置を判定するステップと、を含む動作を実行させる、
コンピュータ可読記憶媒体。
【請求項１８】
前記複数のローカリゼーションモデルが、ポイントクラウドベースモデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム（geographic information system：ＧＩＳ）モデル、建物認識モデル、オブジェクト認識モデル、セマンティックマッチングモデル、キューブマッチングモデル、シリンダーマッチングモデル、地平線マッチングモデル、光源マッチングモデル、及び景色認識モデルのうちの少なくとも１つを含む、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記デバイスの前記位置を判定するステップは、前記複数の潜在的な位置の平均位置を計算するステップを含む、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記平均が加重平均である、請求項１９に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
特定の実施形態によれば、コンピュータ媒介現実データを生成するステップを含む方法であって、その方法は、クライアントデバイスで３次元（３−Ｄ）マップデータ及びカメラ位置データを生成するステップと、３−Ｄマップデータ及びクライアントデータをリモートサーバに送信するステップと、クライアントデバイスでワールドマップデータをリモートサーバから受信するステップであって、ワールドマップデータが３−Ｄマップデータを使用して生成されるステップと、クライアントデバイスでコンピュータ媒介現実画像を生成するステップと、を含む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
ＡＲプラットフォーム１０８はまた、ローカリゼーション／マッピングモジュール１１２を含む。一実施形態では、ローカリゼーション／マッピングモジュール１１２は、同時ローカリゼーション／マッピング（Simultaneous Localization and Mapping：ＳＬＡＭ）ソフトウェア開発キット（ＳＤＫ）からの機能を使用する。ＳＬＡＭ  ＳＤＫの機能には、現実世界のジオメトリを近似するための、ポイントクラウド、ラインクラウド、平面クラウド、または任意の幾何学的なクラウドを構築するマッピングシステムを含み、３次元空間でカメラの現在の位置を求める追跡機能を提供する。ＳＬＡＭは、更に、プロジェクトアニメーション又は拡張値（仮想オブジェクトなど）をＡＲに処理して、現実世界にあるように見せる。他の実施形態では、ローカリゼーション／マッピングモジュール１１２は、クライアントデバイス１０２の周りの環境をマッピングするため、及び／又はその環境におけるクライアントデバイスの位置を判定するために、異なる又は追加のアプローチを使用することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
ステップ２０６で３−Ｄマップが初期化される場合、クライアントデバイス１０２は、ステップ２０８でＳＬＡＭ機能を開始することができる。ＳＬＡＭ機能は、ポイントクラウドを構築するマッピングシステムと、空間内でカメラの位置を見つける及び／又は空間内でカメラの向きを合わせるための追跡機能を含む。ＳＬＡＭプロセスは、ＡＲエクスペリエンスの中で現実世界にいるかのようにプロジェクト仮想オブジェクトを投影する。ステップ２０６で３−Ｄマップが初期化されない場合、クライアントデバイス１０２は、ローカルマップストレージ２０４に、又はクラウドマップストレージ２２０へのクエリによって、保存された３−Ｄマップを識別し、当該保存された３−Ｄマップを使用するためにロードすることができる。ステップ２１０でマップが配置されていない場合、ステップ２１２でシステムは初期化モジュールを使用してマップを作成する。
【国際調査報告】
2021524636.tif 000007
2021524636.tif 000008
2021524636.tif 000009