JP2023516656A - 複数の特徴タイプに基づく効率的位置特定 - Google Patents

複数の特徴タイプに基づく効率的位置特定 Download PDF

Info

Publication number
JP2023516656A
JP2023516656A JP2022552439A JP2022552439A JP2023516656A JP 2023516656 A JP2023516656 A JP 2023516656A JP 2022552439 A JP2022552439 A JP 2022552439A JP 2022552439 A JP2022552439 A JP 2022552439A JP 2023516656 A JP2023516656 A JP 2023516656A
Authority
JP
Japan
Prior art keywords
map
pose
equations
lines
images
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.)
Pending
Application number
JP2022552439A
Other languages
English (en)
Other versions
JPWO2021178366A5 (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.)
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 JP2023516656A publication Critical patent/JP2023516656A/ja
Publication of JPWO2021178366A5 publication Critical patent/JPWO2021178366A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

他の画像情報に対する画像の姿勢を効率的かつ正確に算出する方法。画像は、ポータブルデバイス上のカメラを用いて、入手されてもよく、他の情報は、姿勢の算出がデバイスをマップに対して位置特定するようなマップであってもよい。そのような技法は、クロスリアリティシステムにおいて適用され、デバイスが、効率的かつ正確に、前もって存続されているマップにアクセスすることを可能にしてもよい。マップに対する位置特定は、複数のクロスリアリティデバイスが、仮想コンテンツをそれらのマップに関連して規定された場所にレンダリングし、本システムの使用のための向上された体験を提供することを可能にし得る。本方法は、他のデバイス内で、および自律車両のナビゲーションのため等、他の目的のために使用されてもよい。

Description

(関連出願の相互参照)
本願は、35U.S.C.§119(e)下、それぞれ、参照することによってその全体として本明細書に組み込まれる、弁理士整理番号M1450.70054US01号下で、2020年9月30日に出願され、「EFFICIENT LOCALIZATION BASED ON MULTIPLE FEATURE TYPES」と題された、米国仮特許出願第63/085,994号、および弁理士整理番号M1450.70054US00号下で、2020年3月3日に出願され、「POSE ESTIMATION USING POINT AND LINE CORRESPONDENCE」と題された、米国仮特許出願第62/984,688号の利益を主張する。
本願は、概して、クロスリアリティシステム等のマシンビジョンシステムに関する。
位置特定は、いくつかのマシンビジョンシステムにおいて実施され、3D環境の画像を捕捉するためのカメラを装備する、デバイスの場所を、3D環境のマップ内の場所に関連させる。デバイスによって捕捉された新しい画像は、マップの一部にマッチングされ得る。マップのマッチングする部分の新しい画像間の空間変換は、マップに対するデバイスの「姿勢」を示し得る。
ある形式の位置特定が、マップを作成する間、実施され得る。マップの既存の部分に対する新しい画像の場所は、それらの新しい画像がマップの中に統合されることを可能にし得る。新しい画像は、マップを拡張し、以前にマッピングされていない3D環境の部分を表す、または以前にマッピングされた3D環境の部分の表現を更新するために使用されてもよい。
位置特定の結果は、種々のマシンビジョンシステムにおいて、種々の方法で使用されてもよい。ロボットシステムでは、例えば、目標または障害物の場所が、マップの座標に対して規定されてもよい。いったんロボットデバイスが、マップに対して位置特定されると、障害物を回避するルートに沿って、目標に向かって誘導されてもよい。
本願の側面は、位置特定を提供するための方法および装置に関する。本明細書に説明される技法は、ともに、別個に、または任意の好適な組み合わせにおいて、使用されてもよい。
本発明者らは、点および線が、別個またはともに、位置特定のために、クロスリアリティ(XR)またはロボットシステム内で使用され得ることを理解している。典型的には、結果として生じる問題が、個々に取り扱われ、複数のアルゴリズム、例えば、異なる数Nの対応(最小問題(N=3)および最小二乗問題(N>3)等)および異なる構成(平面および非平面構成)に関するアルゴリズムが、位置特定またはロボットシステム内に実装される。本発明者らは、多くの労力が、これらのアルゴリズムを実装するために要求され得ることを理解している。
いくつかの側面では、位置特定は、XRシステム内で使用されてもよい。そのようなシステムでは、コンピュータは、ヒューマンユーザインターフェースを制御し、その中でユーザによって知覚されるにつれて、XR環境のいくつかまたは全てがコンピュータによって生成される、クロスリアリティ環境を作成し得る。これらのXR環境は、仮想現実(VR)、拡張現実(AR)、および/または複合現実(MR)環境であってもよく、その中でXR環境のいくつかまたは全てが、コンピュータによって生成され得る。コンピュータによって生成されたデータは、例えば、ユーザが仮想オブジェクトと相互作用し得るように、ユーザ物理的世界の一部として知覚するようにレンダリングされ得る、仮想オブジェクトを記述し得る。ユーザは、ユーザに、同時に、仮想コンテンツおよび物理的世界内のオブジェクトの両方が見えることを可能にする、頭部搭載型ディスプレイデバイス等のユーザインターフェースデバイスを通して、データがレンダリングされる結果として、これらの仮想オブジェクトを体験し得る。
仮想コンテンツを現実的にレンダリングするために、XRシステムは、本システムのユーザの周囲の物理的世界の表現を構築してもよい。本表現は、例えば、XRシステムの一部を形成する、ウェアラブルデバイス上のセンサを用いて入手された画像を処理することによって、構築されてもよい。物理的および仮想オブジェクトの両方の場所が、それに対してXRシステム内のユーザデバイスが位置特定され得る、マップに対して表され得る。位置特定は、ユーザデバイスが、物理的オブジェクトの場所を考慮するように、仮想オブジェクトをレンダリングすることを可能にする。また、複数のユーザデバイスが、その個別のユーザが3D環境内でその仮想コンテンツの同一体験を共有するように、仮想コンテンツをレンダリングすることを可能にする。
位置特定に対する従来のアプローチは、マップと併せて、3D環境の画像から導出される特徴点の集合を記憶するものである。特徴点は、それらの識別可能性の容易度と、それらが部屋または大家具の角等の持続オブジェクトを表す尤度とに基づいて、マップ内の含有のために選択されてもよい。位置特定は、特徴点を新しい画像から選択し、マップ内のマッチングする特徴点を識別するステップを伴う。識別は、新しい画像からの特徴点の集合とマップ内のマッチングする特徴点を整合させる、変換を見出すステップに基づく。
好適な変換を見出すステップは、算出上集約的であって、多くの場合、新しい画像内の特徴点の群を選択し、その特徴点の群をマップからの複数の特徴点の群のそれぞれに対して整合させる、変換を算出するように試みることによって実施される。変換を算出するように試みるステップは、非線形最小二乗アプローチを使用してもよく、これは、Jacobean行列を算出するステップを伴ってもよく、これは、変換に反復的に達するために使用される。本算出は、マップ内の複数の特徴点の群および可能性として、1つまたは新しい画像内の複数の特徴点の群に関して繰り返され、好適なマッチングを提供するものとして承認される、変換に達してもよい。
1つまたはそれを上回る技法が、そのようなマッチングの算出負担を減少させるために適用されてもよい。例えば、RANSACは、その中でマッチングプロセスが2つの段階で実施される、プロセスである。第1の段階では、新しい画像とマップとの間の大まかな変換が、それぞれ、少数の特徴点を伴う、複数の群の処理に基づいて、識別され得る。大まかな整合は、より大きい特徴点の群間の好適な整合を達成する、より精緻化された変換を算出するための開始点として使用される。
いくつかの側面は、カメラを用いて捕捉された1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定する方法に関し、姿勢は、回転行列および平行移動行列として表される。本方法は、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の対応を展開するステップと、対応を3つの二次多項式の方程式のセットに変換するステップと、回転行列に関する方程式のセットを解くステップと、回転行列に基づいて、平行移動行列を算出するステップとを含んでもよい。
いくつかの実施形態では、点および/または線の組み合わせは、1つまたはそれを上回る画像の特性に基づいて、動的に決定されてもよい。
いくつかの実施形態では、本方法はさらに、コスト関数を最小限にすることによって、姿勢を精緻化するステップを含んでもよい。
いくつかの実施形態では、本方法はさらに、減速ニュートンステップを使用することによって、姿勢を精緻化するステップを含んでもよい。
いくつかの実施形態では、対応を3つの二次多項式の方程式のセットに変換するステップは、制約のセットを対応から導出するステップと、平行移動行列の閉形式表現を形成するステップと、3Dベクトルを使用して、回転行列のパラメータ化を形成するステップとを含む。
いくつかの実施形態では、対応を3つの二次多項式の方程式のセットに変換するステップはさらに、階数近似によって、雑音除去するステップを含む。
いくつかの実施形態では、回転行列に関する方程式のセットを解くステップは、隠れ変数方法を使用するステップを含む。
いくつかの実施形態では、3Dベクトルを使用して、回転行列のパラメータ化を形成するステップは、Cayley-Gibbs-Rodriguez(CGR)パラメータ化を使用するステップを含む。
いくつかの実施形態では、平行移動行列の閉形式表現を形成するステップは、制約のセットを使用して、線形方程式系を形成するステップを含む。
いくつかの側面は、カメラを用いて捕捉された1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定する方法に関し、姿勢は、回転行列および平行移動行列として表される。本方法は、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の複数の対応を展開するステップと、対応を複数の変数における方程式の優決定系セットとして表すステップと、方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化するステップであって、メタ変数はそれぞれ、複数の変数の群を表す、ステップと、方程式の最小セットに基づいて、メタ変数の値を算出するステップと、姿勢をメタ変数から算出するステップとを含んでもよい。
いくつかの実施形態では、点および/または線の組み合わせは、1つまたはそれを上回る画像の特性に基づいて、動的に決定されてもよい。
いくつかの実施形態では、姿勢をメタ変数から算出するステップは、回転行列を算出するステップと、回転行列に基づいて、平行移動行列を算出するステップとを含む。
いくつかの実施形態では、回転行列に基づいて、平行移動行列を算出するステップは、平行移動行列を、回転行列に基づいて、複数の対応を表し、平行移動行列に対して線形である、方程式から、算出するステップを含む。
いくつかの実施形態では、平行移動行列を算出するステップは、制約のセットを対応から導出するステップと、平行移動行列の閉形式表現を形成するステップと、制約のセットを使用して、線形方程式系を形成するステップとを含む。
いくつかの側面は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、ある方法を実施させる、命令を記憶する、非一過性コンピュータ可読記憶媒体に関する。本方法は、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の対応を展開するステップと、対応を3つの二次多項式の方程式のセットに変換するステップと、回転行列に関する方程式のセットを解くステップと、回転行列に基づいて、平行移動行列を算出するステップとを含んでもよい。
いくつかの実施形態では、1つまたはそれを上回る画像内の点および/または線は、2次元特徴であってもよく、マップ内の対応する特徴は、3次元特徴であってもよい。
いくつかの側面は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、ある方法を実施させる、命令を記憶する、非一過性コンピュータ可読記憶媒体に関する。本方法は、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の複数の対応を展開するステップと、対応を複数の変数における方程式の優決定系セットとして表すステップと、方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化するステップであって、メタ変数はそれぞれ、複数の変数の群を表す、ステップと、方程式の最小セットに基づいて、メタ変数の値を算出するステップと、姿勢をメタ変数から算出するステップとを含んでもよい。
いくつかの側面は、3D環境の1つまたはそれを上回る画像を捕捉するように構成される、カメラと、コンピュータ実行可能命令を実行するように構成される、少なくとも1つのプロセッサとを備える、ポータブル電子デバイスに関する。コンピュータ実行可能命令は、3D環境の1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定するステップと、位置特定サービスに、1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、マップに対するカメラの姿勢を決定するステップと、位置特定サービスから、回転行列および平行移動行列として表される、マップに対するカメラの姿勢を受信するステップとを含む、1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定するための命令を備えてもよい。
いくつかの実施形態では、位置特定サービスは、ポータブル電子デバイス上に実装される。
いくつかの実施形態では、位置特定サービスは、ポータブル電子デバイスから遠隔のサーバ上に実装され、1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報は、ネットワークを経由して、位置特定サービスに送信される。
いくつかの実施形態では、マップに対するカメラの姿勢を決定するステップは、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の対応を展開するステップと、対応を3つの二次多項式の方程式のセットに変換するステップと、回転行列に関する方程式のセットを解くステップと、回転行列に基づいて、平行移動行列を算出するステップとを含む。
いくつかの実施形態では、点および/または線の組み合わせは、1つまたはそれを上回る画像の特性に基づいて、動的に決定される。
いくつかの実施形態では、マップに対するカメラの姿勢を決定するステップはさらに、コスト関数を最小限にすることによって、姿勢を精緻化するステップを含む。
いくつかの実施形態では、マップに対するカメラの姿勢を決定するステップはさらに、減速ニュートンステップを使用することによって、姿勢を精緻化するステップを含む。
いくつかの実施形態では、対応を3つの二次多項式の方程式のセットに変換するステップは、制約のセットを対応から導出するステップと、平行移動行列の閉形式表現を形成するステップと、3Dベクトルを使用して、回転行列のパラメータ化を形成するステップとを含む。
いくつかの実施形態では、対応を3つの二次多項式の方程式のセットに変換するステップはさらに、階数近似によって、雑音除去するステップを含む。
いくつかの実施形態では、回転行列に関する方程式のセットを解くステップは、隠れ変数方法を使用するステップを含む。
いくつかの実施形態では、3Dベクトルを使用して、回転行列のパラメータ化を形成するステップは、Cayley-Gibbs-Rodriguez(CGR)パラメータ化を使用するステップを含む。
いくつかの実施形態では、平行移動行列の閉形式表現を形成するステップは、制約のセットを使用して、線形方程式系を形成するステップを含む。
いくつかの実施形態では、マップに対するカメラの姿勢を決定するステップは、1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の対応を展開するステップと、対応を複数の変数における方程式の優決定系セットとして表すステップと、方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化するステップであって、メタ変数はそれぞれ、複数の変数の群を表す、ステップと、方程式の最小セットに基づいて、メタ変数の値を算出するステップと、姿勢をメタ変数から算出するステップとを含む。
いくつかの実施形態では、点および/または線の組み合わせは、1つまたはそれを上回る画像の特性に基づいて、動的に決定される。
いくつかの実施形態では、姿勢をメタ変数から算出するステップは、回転行列を算出するステップと、回転行列に基づいて、平行移動行列を算出するステップとを含む。
いくつかの実施形態では、回転行列に基づいて、平行移動行列を算出するステップは、平行移動行列を、回転行列に基づいて、複数の対応を表し、平行移動行列に対して線形である、方程式から、算出するステップを含む。
いくつかの実施形態では、平行移動行列を算出するステップは、制約のセットを対応から導出するステップと、平行移動行列の閉形式表現を形成するステップと、制約のセットを使用して、線形方程式系を形成するステップとを含む。
いくつかの実施形態では、1つまたはそれを上回る画像内の点および線は、2次元特徴であって、マップ内の対応する特徴は、3次元特徴である。
いくつかの側面は、カメラによって捕捉された3D環境の1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定するための方法であって、3D環境の1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定するステップと、位置特定サービスに、1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、マップに対するカメラの姿勢を決定するステップと、位置特定サービスから、回転行列および平行移動行列として表される、マップに対するカメラの姿勢を受信するステップとを含む、方法に関する。
いくつかの側面は、少なくとも1つのプロセッサによる実行のためのコンピュータ実行可能命令を備える、非一過性コンピュータ可読媒体であって、コンピュータ実行可能命令は、3D環境の1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定するステップと、位置特定サービスに、1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、マップに対するカメラの姿勢を決定するステップと、位置特定サービスから、回転行列および平行移動行列として表される、マップに対するカメラの姿勢を受信するステップとを含む、カメラによって捕捉された3D環境の1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定するための命令を備える、非一過性コンピュータ可読媒体に関する。
前述の説明は、例証として提供され、限定することを意図するものではない。
添付の図面は、縮尺通りに描かれることを意図していない。図面では、種々の図に図示される、各同じまたはほぼ同じコンポーネントは、同様の数字で表される。明確性の目的のために、全てのコンポーネントが、全ての図面において標識されているわけではない。
図1は、いくつかの実施形態による、簡略化された拡張現実(AR)場面の実施例を図示する、スケッチである。
図2は、いくつかの実施形態による、XRシステムの例示的ユースケースを示す、例示的な簡略化されたAR場面のスケッチである。
図3は、いくつかの実施形態による、物理的世界と相互作用するARコンテンツの体験をユーザに提供するように構成される、ARシステム内の単一ユーザのためのデータフローを図示する、概略図である。
図4は、いくつかの実施形態による、単一ユーザのための仮想コンテンツを表示する、例示的ARディスプレイシステムを図示する、概略図である。
図5Aは、いくつかの実施形態による、ユーザが物理的世界環境を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着しているユーザを図示する、概略図である。
図5Bは、いくつかの実施形態による、視認光学系アセンブリおよび付帯コンポーネントを図示する、概略図である。
図6Aは、いくつかの実施形態による、世界再構築システムを使用するARシステムを図示する、概略図である。
図6Bは、いくつかの実施形態による、パス可能世界のモデルを維持する、ARシステムのコンポーネントを図示する、概略図である。
図7は、いくつかの実施形態による、物理的世界を通した経路をトラバースするデバイスによって形成される、追跡マップの概略図である。
図8は、いくつかの実施形態による、複数のデバイスのうちの任意のものが位置特定サービスにアクセスし得る例示的XRシステムのユーザを図示する、概略図である。
図9は、いくつかの実施形態による、クラウドベースの位置特定を提供するXRシステムの一部としてのポータブルデバイスの動作のための例示的プロセスフローである。
図10は、いくつかの実施形態による、特徴タイプの混合を伴う特徴を使用して姿勢を算出するように構成される、システムにおける、位置特定のための例示的プロセスのフローチャートである。
図11は、いくつかの実施形態による、それに関して点ベースの位置特定が失敗する可能性が高い、例示的環境のスケッチである。
図12は、いくつかの実施形態による、2D-3D点対応および2D-3D線対応の例示的概略図である。
図13は、いくつかの実施形態による、効率的位置特定の方法を図示する、フローチャートである。
図14Aは、いくつかの実施形態による、異なるPnPLアルゴリズムの中央値回転誤差を示す。
図14Bは、いくつかの実施形態による、異なるPnPLアルゴリズムの中央値平行移動誤差を示す。
図14Cは、いくつかの実施形態による、異なるPnPLアルゴリズムの平均値回転誤差を示す。
図14Dは、いくつかの実施形態による、異なるPnPLアルゴリズムの平均値平行移動誤差を示す。
図15Aは、いくつかの実施形態による、異なるPnPLアルゴリズムの算出時間の略図である。
図15Bは、いくつかの実施形態による、異なるPnPLアルゴリズムの算出時間の略図である。
図16Aは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、ある範囲の誤差のインスタンスの数対PnPL解の対数誤差を示す。
図16Bは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解の箱ひげ図を示す。
図16Cは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解のラジアン単位の平均値回転誤差を示す。
図16Dは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解のメートル単位における平均値位置誤差を示す。
図17Aは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値回転誤差を示す。
図17Bは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値平行移動誤差を示す。
図17Cは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値回転誤差を示す。
図17Dは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値平行移動誤差を示す。
図18は、特徴タイプの混合を伴う特徴を使用して姿勢を算出するように構成される、システムにおける、位置特定のための例示的プロセスの代替実施形態のフローチャートである。
図19は、いくつかの実施形態による、
Figure 2023516656000002

からの制約の概略図である。
図20Aは、いくつかの実施形態による、他のソルバと比較した、隠れ変数(HV)多項式ソルバの回転誤差を示す、箱ひげ図である。
図20Bは、いくつかの実施形態による、他のソルバと比較した、隠れ変数(HV)多項式ソルバの平行移動誤差を示す、箱ひげ図である。
図21Aは、いくつかの実施形態による、他のソルバと比較した、回転誤差を示す、図である。
図21Bは、いくつかの実施形態による、他のソルバと比較した、平行移動誤差を示す、図である。
図22Aは、いくつかの実施形態による、本明細書に説明されるアルゴリズムのある実施形態および以前のアルゴリズムAlgP3L、RP3L、およびSRP3Lの回転誤差のプロットである。
図22Bは、いくつかの実施形態による、本明細書に説明されるアルゴリズムのある実施形態および以前のアルゴリズムAlgP3L、RP3L、およびSRP3Lの平行移動誤差の箱ひげ図である。
図23Aは、いくつかの実施形態による、異なるP3Lアルゴリズム間の度単位における平均値回転誤差の比較を示す。
図23Bは、いくつかの実施形態による、異なるP3Lアルゴリズム間の度単位における平均値平行移動誤差の比較を示す。
図24Aは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値回転誤差を示す、プロットである。
図24Bは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値平行移動誤差を示す、プロットである。
図24Cは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値回転誤差を示す、プロットである。
図24Dは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値平行移動誤差を示す、プロットである。
図25Aは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値回転誤差を示す、プロットである。
図25Bは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値平行移動誤差を示す、プロットである。
図25Cは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値回転誤差を示す、プロットである。
図25Dは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値平行移動誤差を示す、プロットである。
図26Aは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値回転誤差を示す、プロットである。
図26Bは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値平行移動誤差を示す、プロットである。
図26Cは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値回転誤差を示す、プロットである。
図26Dは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値平行移動誤差を示す、プロットである。
図27Aは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値回転誤差を示す、プロットである。
図27Bは、いくつかの実施形態による、異なるPnLアルゴリズムの平均値平行移動誤差を示す、プロットである。
図27Cは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値回転誤差を示す、プロットである。
図27Dは、いくつかの実施形態による、異なるPnLアルゴリズムの中央値平行移動誤差を示す、プロットである。
図28は、いくつかの実施形態による、実際のデータの実験結果の例示的略図である。 図28は、いくつかの実施形態による、実際のデータの実験結果の例示的略図である。
図29Aは、いくつかの実施形態による、多くのアルゴリズムの算出時間の略図である。
図29Bは、多項式系を伴うアルゴリズムの算出時間と比較した、本明細書に説明されるアルゴリズムのある実施形態の算出時間の略図である。
図29Cは、線形変換に基づくアルゴリズムの算出時間と比較した、本明細書に説明されるアルゴリズムのある実施形態の算出時間の略図である。
図30は、いくつかの実施形態による、効率的位置特定の方法3000を図示する、フローチャートである。
図31は、いくつかの実施形態による、PnL問題を解くための例示的アルゴリズムの擬似コード実装である。
図32は、いくつかの実施形態による、本発明のシステムにおいて用途を見出し得る、コンピュータの形式における機械のブロック図である。
詳細な説明
本明細書に説明されるものは、効率的かつ正確に、カメラを含有するデバイスと他の画像情報の座標フレームとの間の姿勢を算出するための方法および装置である。他の画像情報は、姿勢を決定するステップがデバイスをマップに対して位置特定するように、マップとして作用してもよい。マップは、例えば、3D環境を表し得る。カメラを含有するデバイスは、例えば、XRシステム、自律車両、またはスマートフォンであってもよい。これらのデバイスをマップに対して位置特定するステップは、デバイスが、物理的世界と位置合わせされた仮想コンテンツのレンダリング、ナビゲーション、または場所に基づくコンテンツのレンダリング等の場所ベースの機能を実施することを可能にする。
姿勢は、カメラを用いて入手された画像から抽出された少なくとも1セットの特徴とマップ内に記憶される特徴との間の対応を見出すことによって算出されてもよい。対応は、例えば、対応する特徴が物理的世界内の同一構造を表す可能性が高いことの決定に基づいてもよい。いったん画像およびマップ内の対応する特徴が、識別されると、殆どまたは全く誤差が算出されずに、対応する特徴を整合させる、変換を決定するための試みが、行われる。そのような変換は、画像とマップによって供給される特徴の基準フレームとの間の姿勢を示す。画像は、画像が入手された時間における、カメラの場所と相関されるため、算出された姿勢はまた、マップの基準フレームに対する、カメラ、さらに言うと、カメラを含有するデバイスの姿勢を示す。
本発明者らは、1つのアルゴリズムが全ての結果として生じる問題を解くために使用され得ることを意味する、統一的解を提供する、アルゴリズムが、点、線、または両方の組み合わせである特徴に基づくかどうかにかかわらず、ソフトウェアアーキテクチャ設計のためのコーディング労力を有意に低減させ得ることを認識し、その真価を認めた。さらに、本明細書に説明される実験結果は、統一的解を提供する、アルゴリズムが、正確度およびランタイムの両方の観点から、以前の研究と比較して、より良好なまたは匹敵する性能を達成し得ることを示す。
姿勢の算出は、従来、処理電力、またはポータブルデバイスに関しては、バッテリ電力等の大量の算出リソースを要求する。あらゆる2つの対応する特徴は、算出された姿勢に関する制約を提供し得る。しかし、雑音または他の誤差を考慮すると、従来、特徴のセットは、算出されるべき変換に自由度よりも多くの制約が存在するほどの特徴を含有する。この場合における解を見出すことは、方程式の優決定系の解を算出するステップを伴い得る。優決定系系を解くための従来の技法は、最小二乗アプローチを採用し得、これは、解として、全ての制約を充足させる際に低い全体的二乗誤差を有する変換を提供する、解を見出すための既知の反復アプローチである。
多くの実践的デバイスでは、算出負担は、姿勢を見出すステップが複数の対応する特徴のセット間の変換を算出するように試みることを要求し得るという事実で悪化する。例えば、物理的世界内の2つの構造を2つの類似特徴のセットを発生させ得、これは、見掛け上、対応し得る。しかしながら、算出された変換は、それらの見掛け上対応する特徴が姿勢を算出するために無視されるほど、比較的に高誤差を有し得る。算出は、変換が比較的に低誤差を伴って算出されるまで、他の見掛け上対応する特徴のセットに関して繰り返され得る。代替として、または加えて、画像内の特徴のセットが、見掛け上、正しくないが、マップ内の特徴のセットに対応し得る、可能性のため、算出された変換は、画像の異なる部分から、または異なる画像から得られる、複数の特徴のセットに関して算出された変換の十分な類似性が存在しない限り、解として承認され得ない。
本明細書に説明されるような技法は、姿勢を算出する算出負担を低減させ得る。いくつかの実施形態では、算出負担は、方程式の優決定系セットを、最小二乗問題を解くより低い算出負担を伴って解かれ得る、方程式の最小セットに再フォーマット化することによって低減され得る。方程式の最小セットは、それぞれ、方程式の優決定系セット内の変数の群を表す、メタ変数の観点から表され得る。いったん解が、メタ変数に関して取得されると、特徴セット間の変換の要素が、メタ変数から算出され得る。変換の要素は、例えば、回転行列および平行移動ベクトルであり得る。
メタ変数の使用は、例えば、解かれるべき問題が、小数の低次多項式を伴うセットとして表されることを可能にし得、これは、完全最小二乗問題より効率的に解かれることができる。いくつかまたは全ての多項式は、2程度の低次数を有し得る。いくつかの実施形態では、3程度の少ないそのような多項式が存在し、解が比較的に低算出を伴って達せられることを可能にし得る。
姿勢を算出する際のより低い算出負担および/または増加された正確度は、それに関して対応が誤っている可能性が低い、特徴のセットを選択することによってもたらされ得る。姿勢を算出するために使用される、画像特徴は、多くの場合、像点であって、画像の小面積を表す。特徴点は、例えば、画像の3つまたは4つのピクセルに延在する辺を伴う、矩形領域として表され得る。いくつかのシステムに関して、点を特徴として使用することは、多くのシナリオでは、適正な解につながり得る。しかしながら、他のシナリオでは、線を特徴として使用することが、適正な解につながる可能性がより高くあり得、これは、点を特徴として使用することと比較して、好適な変換を算出するためにより少ない試行を要求し得る。したがって、全体的算出負担は、線を特徴として使用することによって、より少なくなり得る。本明細書に説明されるような技法は、線が特徴として使用されるとき、姿勢を効率的に算出するために使用され得る。
いくつかのシステムでは、効率的解は、特徴および線の組み合わせである、特徴を使用することからもたらされる可能性がより高くあり得る。効率的解につながる、特徴の各タイプの数または割合は、シナリオに基づいて、変動し得る。特徴タイプの恣意的混合を伴う、対応する特徴のセットに基づいて、姿勢を算出するように構成される、システムは、特徴タイプの混合が、解を見出す複数の試行から低減された算出負担を伴って、解を見出す尤度を増加させるように選択されることを可能にし得る。本明細書に説明されるような技法は、点および線の恣意的混合が特徴として使用されるとき、姿勢を効率的に算出するために使用されてもよい。
これらの技法は、単独で、または組み合わせて、算出負担を低減させ、および/または位置特定の正確度を増加させるために使用され、多くのタイプのデバイスのより効率的またはより正確な動作につながり得る。例えば、相互に対して移動し得る、複数のコンポーネントを含有し得る、XRシステムの動作の間、その中で1つのコンポーネントの座標フレームが別のコンポーネントの座標フレームに関連し得る、複数のシナリオが存在し得る。2つのコンポーネントの相対的姿勢を定義する、そのような関係は、位置特定プロセスを通して展開され得る。位置特定プロセスでは、1つのコンポーネント(例えば、ポータブルXRデバイス)の座標フレーム内に表される、情報は、別のコンポーネント(例えば、マップ)の座標フレーム内に表される、対応する情報と整合するように変換される。変換は、一方のコンポーネントの座標フレーム内に規定された場所を他方のものの座標フレーム内の場所に関連させるために使用されてもよく、その逆も同様である。
本明細書に説明される位置特定技法は、XR場面を提供するために使用されてもよい。XRシステムは、したがって、姿勢算出技法が実践において適用され得る、算出上の効率性の程度の有用な実施例を提供する。現実的XR体験を複数のユーザに提供するために、XRシステムは、仮想オブジェクトの場所を実オブジェクトに正しく相関させるために、物理的世界内のユーザの場所を把握しなければならない。本発明者らは、XRデバイスを大規模および非常に大規模な環境(例えば、近所、都市、国、世界)内でも位置特定する際に算出上効率的かつ迅速である、方法および装置を認識し、その真価を認めた。
XRシステムは、その中でユーザデバイスが動作する、環境のマップを構築してもよい。環境マップは、XRシステムのユーザによって装着されるXRデバイスの一部である、センサを用いて収集された画像情報から作成されてもよい。各XRデバイスは、デバイスが動作するにつれて収集された1つまたはそれを上回る画像からの情報を統合することによって、その物理的環境のローカルマップを展開してもよい。いくつかの実施形態では、ローカルマップの座標系は、デバイスが最初に物理的世界を走査し始める(例えば、新しいセッションを開始する)と、デバイスの位置および/または配向に結び付けられる。デバイスのその位置および/または配向は、異なるセッションが、それぞれ、環境を走査するセンサを伴う、その独自のウェアラブルデバイスを伴う、異なるユーザ、または同一デバイスを異なる時間に使用する、同一ユーザと関連付けられるかどうかにかかわらず、ユーザがXRシステムと相互作用するにつれて、セッション毎に変化し得る。
XRシステムは、持続空間情報に基づいて、セッションを横断して、持続動作を有効にするように、1つまたはそれを上回る技法を実装してもよい。技法は、例えば、持続空間情報が、XRシステムの複数のユーザのいずれかによって作成される、記憶される、読み出されることを可能にすることによって、単一または複数のユーザのためのより算出上効率的かつ没入型の体験のためのXR場面を提供してもよい。複数のユーザによって共有されるとき、持続空間情報は、複数のユーザが仮想コンテンツを物理的世界に対する同一場所において体験することを可能にするため、より没入型の体験を提供する。単一ユーザによって使用されるときでも、持続空間情報は、算出上効率的方法において、XRデバイス上の頭部姿勢を迅速に復元およびリセットすることを可能にし得る。
持続空間情報は、持続マップによって表されてもよい。持続マップは、遠隔記憶媒体(例えば、クラウド)内に記憶されてもよい。ユーザによって装着されるウェアラブルデバイスは、オンにされた後、持続記憶装置から、以前に作成および記憶された適切なマップを読み出してもよい。その以前に記憶されたマップは、以前のセッションの間、ユーザのウェアラブルデバイス上のセンサを用いて収集された環境についてのデータに基づいていてもよい。記憶されたマップを読み出すことは、ウェアラブルデバイス上のセンサを用いて物理的世界の走査を完了せずに、ウェアラブルデバイスの使用を有効にし得る。代替として、または加えて、デバイスは、物理的世界の新しい領域に進入することに応じて、同様に、適切な記憶されたマップを読み出してもよい。
記憶されたマップは、それに対して各XRデバイス上のローカル基準フレームが関連し得る、規準形式で表されてもよい。マルチデバイスXRシステムでは、1つのデバイスによってアクセスされる記憶されたマップは、別のデバイスによって作成および記憶されていてもよく、および/または記憶されたマップによって表される物理的世界の少なくとも一部内に事前に存在する、複数のウェアラブルデバイス上のセンサによって収集された物理的世界についてのデータを集約することによって構築されていてもよい。
いくつかの実施形態では、持続空間情報は、ユーザ間で、およびアプリケーションを含む、分散型コンポーネント間で容易に共有され得る、方法で表されてもよい。
規準マップは、例えば、持続座標フレーム(PCF)として、フォーマット化され得る、物理的世界についての情報を提供してもよい。PCFは、物理的世界内で認識される特徴のセットに基づいて、定義されてもよい。特徴は、それらがXRシステムのユーザセッション毎に同一である可能性が高いように選択されてもよい。PCFは、それらが効率的に処理および転送され得るように、疎らであって、物理的世界についての利用可能な情報の全て未満を提供してもよい。
持続空間情報を処理するための技法はまた、1つまたはそれを上回るデバイスのローカル座標系に基づいて、動的マップを作成するステップを含んでもよい。これらのマップは、マップを形成する際に使用される画像内で検出された、点または縁または線として現れる他の構造等の特徴を伴う、物理的世界を表す、疎マップであってもよい。規準マップは、1つまたはそれを上回るXRデバイスによって作成された複数のマップをマージすることによって、形成されてもよい。
デバイス毎に規準マップとローカルマップとの間の関係が、位置特定プロセスを通して決定されてもよい。その位置特定プロセスは、選択され、デバイスに送信される、規準マップのセットに基づいて、各XRデバイス上で実施されてもよい。代替として、または加えて、位置特定サービスは、クラウド内に実装され得るような遠隔プロセッサ上に提供されてもよい。
例えば、同一の記憶されたマップへのアクセスを有する、2つのXRデバイスは両方とも、記憶されたマップに対して位置特定され得る。いったん位置特定されると、ユーザデバイスは、その場所をユーザデバイスによって維持される基準フレームに変換することによって、記憶されたマップへの参照によって規定された場所を有する、仮想コンテンツをレンダリングしてもよい。ユーザデバイスは、本ローカル基準フレームを使用して、ユーザデバイスのディスプレイを制御し、仮想コンテンツを規定された場所にレンダリングしてもよい。
XRシステムは、より没入型のユーザ体験を提供するために、算出リソースの低使用量および/または短待ち時間を伴って、持続空間情報を作成、共有、および使用するように構成され得る。これらの動作をサポートするために、本システムは、空間情報の効率的比較のための技法を使用してもよい。そのような比較は、例えば、位置特定の一部として生じてもよく、その中でローカルデバイスからの特徴の集合は、規準マップ内の特徴の集合にマッチングされる。同様に、マップマージプロセスでは、デバイスからの追跡マップ内の特徴の1つまたはそれを上回る集合を規準マップ内の対応する特徴にマッチングさせる試みが、行われてもよい。
本明細書に説明される技法は、拡張または複合現実場面を提供する、限定された算出リソースを伴う、ウェアラブルまたはポータブルデバイスを含む、多くのタイプのデバイスとともに、かつ多くのタイプの場面のために、ともにまたは別個に使用されてもよい。いくつかの実施形態では、技法は、XRシステムの一部を形成する、1つまたはそれを上回るサービスによって実装されてもよい。
ARシステム概要
図1および2は、物理的世界の一部と併せて表示される、仮想コンテンツを伴う場面を図示する。例証目的のために、ARシステムが、XRシステムの実施例として使用される。図3-6Bは、本明細書に説明される技法に従って動作し得る、1つまたはそれを上回るプロセッサと、メモリと、センサと、ユーザインターフェースとを含む、例示的ARシステムを図示する。
図1を参照すると、屋外AR場面354が、描写されており、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム358を特徴とする、物理的世界公園状設定356が見える。これらのアイテムに加え、AR技術のユーザはまた、物理的世界コンクリートプラットフォーム358上に立っているロボット像357と、それによってマルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ352とが「見える」と知覚するが、これらの要素(例えば、アバタキャラクタ352およびロボット像357)は、物理的世界内には存在しない。ヒト視知覚および神経系の極端な複雑性に起因して、他の仮想または物理的世界画像要素の中で仮想画像要素の快適で、自然な感覚で、かつ豊かな提示を促進する、AR技術を生産することは、困難である。
そのようなAR場面は、ユーザがARコンテンツを物理的世界内に設置することを可能にし、ARコンテンツが設置された物理的世界のマップ内の場所を決定し、設置されたARコンテンツが、例えば、異なるAR体験セッションの間、物理的世界内に表示するために再ロードされ得るように、AR場面を保存し、複数のユーザがAR体験を共有することを可能にする、追跡情報に基づいて物理的世界のマップを構築するシステムを用いて、達成され得る。本システムは、ユーザの周囲の物理的世界表面のデジタル表現を構築および更新し得る。本表現は、仮想オブジェクトを設置するため、物理学ベースの相互作用において、および仮想キャラクタ経路計画およびナビゲーションのため、またはその中で物理的世界についての情報が使用される、他の動作のために、完全または部分的に、ユーザと仮想コンテンツのレンダリングされた場所との間で物理的オブジェクトによってオクルードされるように現れるように、仮想コンテンツをレンダリングするために使用されてもよい。
図2は、いくつかの実施形態による、屋内AR場面400の別の実施例を描写し、XRシステムの例示的ユースケースを示す。例示的場面400は、壁と、壁の片側上の本棚と、部屋の角における床置きランプと、床と、ソファと、床上のコーヒーテーブルとを有する、居間である。これらの物理的アイテムに加え、AR技術のユーザはまた、ソファの背後の壁上の画像(すなわち、402におけるように)、ドアを通して飛んで来た鳥(すなわち、404におけるように)、本棚から外を覗いているシカ、およびコーヒーテーブル上に設置された風車の形式における装飾品(すなわち、406におけるように)等の仮想オブジェクトを知覚する。
壁上の画像に関して、AR技術は、壁の表面だけではなく、また、仮想オブジェクトを正しくレンダリングするために画像をオクルードする、ランプ形状等の部屋内のオブジェクトおよび表面についての情報も要求する。飛んで来た鳥に関して、AR技術は、オブジェクトおよび表面を回避する、または鳥が衝突する場合、跳ね返るように、現実的物理学を用いて鳥をレンダリングするために、部屋の周囲の全てのオブジェクトおよび表面についての情報を要求する。シカに関して、AR技術は、シカを設置すべき場所を算出するために、床またはコーヒーテーブル等の表面についての情報を要求する。風車に関して、本システムは、テーブルと別個のオブジェクトであることを識別し得、それが移動可能であることを決定し得る一方、棚の角または壁の角は、定常であると決定され得る。そのような特異性は、種々の動作のそれぞれにおいて使用または更新される場面の部分に関する決定において使用されてもよい。
仮想オブジェクトは、前のAR体験セッション内に設置されてもよい。新しいAR体験セッションが、居間で開始すると、AR技術は、仮想オブジェクトが、以前に設置された場所に正確に表示され、異なる視点から現実的に可視であることを要求する。例えば、風車は、書籍を伴わない異なる場所においても、テーブルの上方に漂流しているのではなく、書籍上に立っているように表示されるべきである。そのような漂流は、新しいAR体験セッションのユーザの場所が居間内で正確に位置特定されない場合に起こり得る。別の実施例として、ユーザが、風車が設置されたときの視点と異なる視点から風車を視認している場合、AR技術は、表示されている風車の対応する側を要求する。
場面は、視覚、聴覚、および/または触覚等、1つまたはそれを上回るユーザ感知を刺激し得る、ユーザインターフェースを含む、複数のコンポーネントを含む、システムを介して、ユーザに提示されてもよい。加えて、本システムは、場面の物理的部分内のユーザの位置および/または運動を含む、場面の物理的部分のパラメータを測定し得る、1つまたはそれを上回るセンサを含んでもよい。さらに、本システムは、メモリ等の関連付けられるコンピュータハードウェアを伴う、1つまたはそれを上回るコンピューティングデバイスを含んでもよい。これらのコンポーネントは、単一デバイスの中に統合されてもよい、または複数の相互接続されるデバイスを横断して分散されてもよい。いくつかの実施形態では、これらのコンポーネントのいくつかまたは全ては、ウェアラブルデバイスの中に統合されてもよい。
図3は、いくつかの実施形態による、物理的世界506と相互作用するARコンテンツの体験を提供するように構成される、ARシステム502を描写する、概略図300である。ARシステム502は、ディスプレイ508を含んでもよい。図示される実施形態では、ディスプレイ508は、ユーザが、一対のゴーグルまたは眼鏡のように、ディスプレイをその眼にわたって装着し得るように、ヘッドセットの一部としてユーザによって装着されてもよい。ディスプレイの少なくとも一部は、ユーザがシースルー現実510を観察し得るように、透明であってもよい。シースルー現実510は、ARシステム502の現在の視点内の物理的世界506の部分に対応し得、これは、ユーザが、ARシステムのディスプレイおよびセンサの両方を組み込む、ヘッドセットを装着し、物理的世界についての情報を入手している場合のユーザの視点に対応し得る。
ARコンテンツはまた、シースルー現実510上にオーバーレイされる、ディスプレイ508上に提示されてもよい。ARコンテンツとシースルー現実510との間の正確な相互作用をディスプレイ508上で提供するために、ARシステム502は、物理的世界506についての情報を捕捉するように構成される、センサ522を含んでもよい。
センサ522は、深度マップ512を出力する、1つまたはそれを上回る深度センサを含んでもよい。各深度マップ512は、それぞれ、深度センサに対する特定の方向における物理的世界506内の表面までの距離を表し得る、複数のピクセルを有してもよい。未加工深度データが、深度センサから生じ、深度マップを作成し得る。そのような深度マップは、深度センサが新しい画像を形成し得るほど高速に更新され得、これは、数百または数千回/秒であり得る。しかしながら、そのデータは、雑音が多くかつ不完全であって、図示される深度マップ上に黒色ピクセルとして示される、穴を有し得る。
システムは、画像センサ等の他のセンサを含んでもよい。画像センサは、他の方法において物理的世界を表すように処理され得る、単眼または立体視情報を入手してもよい。例えば、画像は、世界再構築コンポーネント516内で処理され、物理的世界内のオブジェクトの接続される部分を表す、メッシュを作成してもよい。例えば、色および表面テクスチャを含む、そのようなオブジェクトについてのメタデータも同様に、センサを用いて入手され、世界再構築物の一部として記憶されてもよい。
システムはまた、物理的世界に対するユーザの頭部姿勢についての情報を入手してもよい。いくつかの実施形態では、システムの頭部姿勢追跡コンポーネントは、頭部姿勢をリアルタイムで算出するために使用されてもよい。頭部姿勢追跡コンポーネントは、例えば、3つの垂直軸における平行移動(例えば、前/後、上/下、左/右)および3つの垂直軸を中心とした回転(例えば、ピッチ、ヨー、およびロール)を含む、6自由度を伴って、座標フレーム内のユーザの頭部姿勢を表し得る。いくつかの実施形態では、センサ522は、頭部姿勢514を算出および/または決定するために使用され得る、慣性測定ユニットを含んでもよい。深度マップのための頭部姿勢514は、例えば、6自由度を伴う、深度マップを捕捉するセンサの現在の視点を示し得るが、頭部姿勢514は、画像情報を物理的世界の特定の部分に関連させる、またはユーザの頭部上に装着されるディスプレイの位置を物理的世界に関連させる等の他の目的のために使用されてもよい。
いくつかの実施形態では、頭部姿勢情報は、ユーザの頭部上に装着されるカメラを用いて捕捉される画像内のオブジェクトの分析から等、IMU以外の方法で導出されてもよい。例えば、頭部姿勢追跡コンポーネントは、カメラによって捕捉された視覚的情報およびIMUによって捕捉された慣性情報に基づいて、物理的オブジェクトに対するARデバイスの相対的位置および配向を算出してもよい。頭部姿勢追跡コンポーネントは、次いで、例えば、物理的オブジェクトに対するARデバイスの算出された相対的位置および配向と物理的オブジェクトの特徴を比較することによって、ARデバイスの姿勢を算出してもよい。いくつかの実施形態では、その比較は、経時的に捕捉された画像内のこれらの特徴の位置の変化がユーザの頭部姿勢の変化と関連付けられ得るように、経時的に安定する、センサ522のうちの1つまたはそれを上回るものを用いて捕捉された画像内の特徴を識別することによって、行われてもよい。
本発明者らは、例えば、30Hzで動作する、4つのビデオグラフィックアレイ(VGA)カメラ、1kHzで動作する、1つの慣性測定ユニット(IMU)、単一の高度RISC機械(ARM)コアの演算能力、1GB未満のメモリ、および帯域幅100Mbp未満のネットワークとともに構成され得る、XRデバイスと接続する算出リソースの低使用量を伴って、1kHzの周波数において頭部姿勢を推定する等、より没入型のユーザ体験のためのXR場面を提供するようにXRシステムを動作させるための技法を実現し、その真価を認めた。これらの技法は、マップを生成および維持し、頭部姿勢を推定するために要求される、処理を低減させること、および低算出オーバーヘッドを伴って、データを提供および消費することに関する。XRシステムは、マッチングされた視覚的特徴に基づいて、その姿勢を計算してもよい。出願第2019/0188474号として公開された、米国特許出願第16/221,065号は、ハイブリッド追跡を説明しており、参照することによってその全体として本明細書に組み込まれる。
いくつかの実施形態では、ARデバイスは、ユーザがARデバイスとともに物理的世界全体を通して移動するにつれて捕捉された一連の画像フレーム内の連続画像内で認識される、点および/または線等の特徴から、マップを構築してもよい。各画像フレームは、ユーザが移動するにつれて、異なる姿勢から得られ得るが、本システムは、連続画像フレームの特徴と以前に捕捉された画像フレームをマッチングさせることによって、各連続画像フレームの特徴の配向を調節し、初期画像フレームの配向をマッチングさせてもよい。同一特徴を表す点および線が、以前に収集された画像フレームからの対応する特徴点および特徴線にマッチングするであろうように、連続画像フレームの平行移動は、各連続画像フレームを整合させ、以前に処理された画像フレームの配向をマッチングさせるために使用されることができる。結果として生じるマップ内のフレームは、第1の画像フレームがマップに追加されたときに確立される共通配向を有し得る。本マップは、共通基準フレーム内の特徴点および線のセットとともに、現在の画像フレームからの特徴をマップにマッチングさせることによって、物理的世界内のユーザの姿勢を決定するために使用されてもよい。いくつかの実施形態では、本マップは、追跡マップと呼ばれ得る。
環境内のユーザの姿勢の追跡を有効にすることに加え、本マップは、世界再構築コンポーネント516等のシステムの他のコンポーネントがユーザに対する物理的オブジェクトの場所を決定することを可能にし得る。世界再構築コンポーネント516は、深度マップ512および頭部姿勢514およびセンサからの任意の他のデータを受信し、そのデータを再構築物518の中に統合してもよい。再構築物518は、センサデータより完全かつより雑音が少なくあり得る。世界再構築コンポーネント516は、経時的複数の視点からのセンサデータの空間および時間的平均を使用して、再構築物518を更新してもよい。
再構築物518は、例えば、ボクセル、メッシュ、平面等を含む、1つまたはそれを上回るデータフォーマットにおいて、物理的世界の表現を含んでもよい。異なるフォーマットは、物理的世界の同一部分の代替表現を表し得る、または物理的世界の異なる部分を表し得る。図示される実施例では、再構築物518の左側には、物理的世界の一部が、グローバル表面として提示され、再構築物518の右側には、物理的世界の一部が、メッシュとして提示される。
いくつかの実施形態では、頭部姿勢コンポーネント514によって維持されるマップは、物理的世界の維持され得る、他のマップに対して疎隔されてもよい。場所および可能性として表面の他の特性についての情報を提供するのではなく、疎マップは、角または縁等、視覚的に明確に異なる構造から生じる、画像内の点および/または線として反映され得る、着目場所を示してもよい。いくつかの実施形態では、マップは、センサ522によって捕捉されるような画像フレームを含んでもよい。これらのフレームは、着目場所を表し得る、特徴に低減され得る。各フレームと併せて、そこからフレームが入手されたユーザの姿勢についての情報もまた、マップの一部として記憶されてもよい。いくつかの実施形態では、センサによって入手された全ての画像が、記憶される場合とそうではない場合がある。いくつかの実施形態では、本システムは、それらがセンサによって収集されるにつれて、画像を処理し、さらなる算出のために、画像フレームのサブセットを選択してもよい。選択は、情報の追加を限定するが、マップが有用な情報を含有することを確実にする、1つまたはそれを上回る基準に基づいてもよい。本システムは、例えば、マップにすでに追加されている以前の画像フレームとの重複に基づいて、または定常オブジェクトを表す可能性が高いと決定された十分な数の特徴を含有する、画像フレームに基づいて、新しい画像フレームをマップに追加してもよい。いくつかの実施形態では、選択された画像フレームまたは選択された画像フレームからの特徴の群は、マップのためのキーフレームとしての役割を果たし得、これは、空間情報を提供するために使用される。
いくつかの実施形態では、マップを構築するときに処理される、データの量は、マッピングされた点の集合およびキーフレームを伴う、疎マップを構築し、および/またはマップをブロックに分割し、ブロック別の更新を有効にすること等によって、低減されてもよい。マッピングされた点および/または線は、環境内の着目点および/または線と関連付けられ得る。キーフレームは、カメラ捕捉データから選択された情報を含んでもよい。米国特許出願第16/520,582号(出願第2020/0034624号として公開されている)は、位置特定マップを決定および/または評価するステップを説明しており、参照することによってその全体として本明細書に組み込まれる。
ARシステム502は、物理的世界の複数の視点からのセンサデータを経時的に統合してもよい。センサの姿勢(例えば、位置および配向)が、センサを含むデバイスが移動されるにつれて追跡されてもよい。センサのフレーム姿勢およびそれが他の姿勢とどのように関連するかが、把握されるにつれて、物理的世界のこれらの複数の視点はそれぞれ、物理的世界の単一の組み合わせられた再構築物の中にともに融合されてもよく、これは、マップのための抽象層としての役割を果たし、空間情報を提供し得る。再構築物は、空間および時間的平均(すなわち、経時的複数の視点からのデータの平均)または任意の他の好適な方法を使用することによって、オリジナルセンサデータより完全かつ雑音が少なくなり得る。
図3に図示される実施形態では、マップは、その中に単一ウェアラブルデバイスのユーザが存在する、物理的世界の一部を表す。そのシナリオでは、マップ内のフレームと関連付けられる頭部姿勢は、セッションの開始時における単一デバイスに関する初期配向に対する配向を示す、ローカル頭部姿勢として表されてもよい。例えば、頭部姿勢は、デバイスが、オンにされた、または別様に、環境を走査し、その環境の表現を構築するように動作されたときの、初期頭部姿勢に対して追跡されてもよい。
物理的世界のその部分を特徴付けるコンテンツと組み合わせて、マップは、メタデータを含んでもよい。メタデータは、例えば、マップを形成するために使用されるセンサ情報の捕捉時間を示してもよい。メタデータは、代替として、または加えて、マップを形成するために使用される情報の捕捉時間におけるセンサの場所を示してもよい。場所は、直接、GPSチップからの情報等を用いて、または間接的に、センサデータが収集されていた間の1つまたはそれを上回る無線アクセスポイントから受信された信号の強度を示す、無線(例えば、Wi-Fi)シグネチャ等を用いて、および/またはセンサデータが収集される間にそれに対してユーザデバイスが接続した無線アクセスポイントのBSSID等の識別子を用いて、表されてもよい。
再構築物518は、オクルージョン処理または物理学ベースの処理のための物理的世界の表面表現の生産等、AR機能のために使用されてもよい。本表面表現は、ユーザが移動する、または物理的世界内のオブジェクトが変化するにつれて、変化してもよい。再構築物518の側面は、例えば、他のコンポーネントによって使用され得る、世界座標内の変化するグローバル表面表現を生産する、コンポーネント520によって使用されてもよい。
ARコンテンツは、本情報に基づいて、ARアプリケーション504等によって生成されてもよい。ARアプリケーション504は、例えば、視覚的オクルージョン、物理学ベースの相互作用、および環境推測等の物理的世界についての情報に基づいて、1つまたはそれを上回る機能を実施する、ゲームプログラムであってもよい。これは、世界再構築コンポーネント516によって生産された再構築物518から異なるフォーマットにおけるデータにクエリすることによって、これらの機能を実施してもよい。いくつかの実施形態では、コンポーネント520は、物理的世界の着目領域内の表現が変化すると、更新を出力するように構成されてもよい。その着目領域は、例えば、ユーザの視野内の一部等、システムのユーザの近傍内の物理的世界の一部に近似するように設定される、またはユーザの視野内に入るように投影(予測/決定)されてもよい。
ARアプリケーション504は、本情報を使用して、ARコンテンツを生成および更新してもよい。ARコンテンツの仮想部分は、シースルー現実510と組み合わせて、ディスプレイ508上に提示され、現実的ユーザ体験を作成してもよい。
いくつかの実施形態では、AR体験は、遠隔処理および/または遠隔データ記憶装置を含み得る、システムの一部であり得る、ウェアラブルディスプレイデバイス、および/または、いくつかの実施形態では、他のユーザによって装着される他のウェアラブルディスプレイデバイスであり得る、XRデバイスを通して、ユーザに提供されてもよい。図4は、例証の便宜上、単一ウェアラブルデバイスを含む、システム580(以降、「システム580」と称される)の実施例を図示する。システム580は、頭部搭載型ディスプレイデバイス562(以降、「ディスプレイデバイス562」と称される)と、ディスプレイデバイス562の機能をサポートする、種々の機械および電子モジュールおよびシステムとを含む。ディスプレイデバイス562は、フレーム564に結合されてもよく、これは、ディスプレイシステムのユーザまたは視認者560(以降、「ユーザ560」と称される)によって装着可能であって、ディスプレイデバイス562をユーザ560の眼の正面に位置付けるように構成される。種々の実施形態によると、ディスプレイデバイス562は、シーケンシャルディスプレイであってもよい。ディスプレイデバイス562は、単眼または両眼であってもよい。いくつかの実施形態では、ディスプレイデバイス562は、図3におけるディスプレイ508の実施例であってもよい。
いくつかの実施形態では、スピーカ566が、フレーム564に結合され、ユーザ560の外耳道に近接して位置付けられる。いくつかの実施形態では、示されない、別のスピーカが、ユーザ560の別の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する。ディスプレイデバイス562は、有線導線または無線コネクティビティ568等によって、ローカルデータ処理モジュール570に動作可能に結合され、これは、フレーム564に固定して取り付けられる、ユーザ560によって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ560に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載されてもよい。
ローカルデータ処理モジュール570は、プロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを含んでもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム564に動作可能に結合される、または別様にユーザ560に取り付けられ得る)センサから捕捉されるデータ、および/またはb)可能性として、処理または読出後にディスプレイデバイス562への通過のために、遠隔処理モジュール572および/または遠隔データリポジトリ574を使用して入手および/または処理されるデータを含む。
いくつかの実施形態では、ウェアラブルデバイスは、遠隔コンポーネントと通信してもよい。ローカルデータ処理モジュール570は、それぞれ、有線または無線通信リンク等を介して、通信リンク576、578によって、遠隔処理モジュール572および遠隔データリポジトリ574に、これらの遠隔モジュール572、574が、相互に動作可能に結合され、ローカルデータ処理モジュール570へのリソースとして利用可能であるように、動作可能に結合されてもよい。さらなる実施形態では、遠隔データリポジトリ574に加えて、またはその代替として、ウェアラブルデバイスは、クラウドベースの遠隔データリポジトリおよび/またはサービスにアクセスすることができる。いくつかの実施形態では、上記に説明される頭部姿勢追跡コンポーテントは、少なくとも部分的に、ローカルデータ処理モジュール570内に実装されてもよい。いくつかの実施形態では、図3における世界再構築コンポーネント516は、少なくとも部分的に、ローカルデータ処理モジュール570内に実装されてもよい。例えば、ローカルデータ処理モジュール570は、少なくとも部分的に、データの少なくとも一部に基づいて、コンピュータ実行可能命令を実行し、マップおよび/または物理的世界表現を生成するように構成されてもよい。
いくつかの実施形態では、処理は、ローカルおよび遠隔プロセッサを横断して分散されてもよい。例えば、ローカル処理が、そのユーザのデバイス上のセンサを用いて収集されたセンサデータに基づいて、マップ(例えば、追跡マップ)をユーザデバイス上に構築するために使用されてもよい。そのようなマップは、そのユーザのデバイス上のアプリケーションによって使用されてもよい。加えて、以前に作成されたマップ(例えば、規準マップ)は、遠隔データリポジトリ574内に記憶されてもよい。好適な記憶されたまたは持続マップが、利用可能である場合、デバイス上にローカルで作成された追跡マップの代わりに、またはそれに加え、使用されてもよい。いくつかの実施形態では、追跡マップは、対応が、ユーザがシステムをオンにした時間におけるウェアラブルデバイスの位置に対して配向され得る、追跡マップと、1つまたはそれを上回る持続特徴に対して配向され得る、規準マップとの間に確立されるように、記憶されたマップに対して位置特定されてもよい。いくつかの実施形態では、持続マップは、ユーザデバイス上にロードされ、ユーザデバイスが、走査の間に入手されたセンサデータからのユーザの完全な環境の追跡マップを構築するための場所の走査と関連付けられる遅延を伴わずに、仮想コンテンツをレンダリングすることを可能にし得る。いくつかの実施形態では、ユーザデバイスは、持続マップをユーザデバイス上にダウンロードする必要なく、(例えば、クラウド上に記憶された)遠隔持続マップにアクセスしてもよい。
いくつかの実施形態では、空間情報が、ウェアラブルデバイスから、デバイスを位置特定し、クラウドサービス上に維持されるマップに記憶するように構成される、クラウドサービス等の遠隔サービスに通信されてもよい。一実施形態によると、位置特定処理は、デバイス場所を、規準マップ等の既存のマップにマッチングさせ、仮想コンテンツをウェアラブルデバイス場所にリンクさせる、変換を返す、クラウド内で生じてもよい。そのような実施形態では、本システムは、マップを遠隔リソースからウェアラブルデバイスに通信することを回避することができる。他の実施形態は、デバイスベースおよびクラウドベースの位置特定の両方のために構成され、例えば、ネットワークコネクティビティが利用不可能である、またはユーザがクラウドベースの位置特定を有効にしないことを選ぶ場合、機能性を有効にすることができる。
代替として、または加えて、追跡マップは、以前に記憶されたマップとマージされ、それらのマップを拡張させる、またはその品質を改良してもよい。好適な以前に作成された環境マップが利用可能であるか、および/または追跡マップと1つまたはそれを上回る記憶された環境マップをマージするかどうかを決定するための処理は、ローカルデータ処理モジュール570または遠隔処理モジュール572内で行われてもよい。
いくつかの実施形態では、ローカルデータ処理モジュール570は、データおよび/または画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサ(例えば、グラフィック処理ユニット(GPU))を含んでもよい。いくつかの実施形態では、ローカルデータ処理モジュール570は、単一プロセッサ(例えば、シングルコアまたはマルチコアARMプロセッサ)を含んでもよい、これは、ローカルデータ処理モジュール570の算出予算を限定するが、より小型のデバイスを有効にするであろう。いくつかの実施形態では、世界再構築コンポーネント516は、単一ARMコアの残りの算出予算が、例えば、メッシュの抽出等の他の使用のためにアクセスされ得るように、単一高度RISC機械(ARM)コアより少ない算出予算を使用して、物理的世界表現をリアルタイムで非所定の空間上に生成してもよい。
いくつかの実施形態では、遠隔データリポジトリ574は、デジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカルデータ処理モジュール570において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。いくつかの実施形態では、全てのデータが、記憶され、全てまたは大部分の算出は、遠隔データリポジトリ574内で実施され、より小さいデバイスを可能にする。世界再構築物は、例えば、全体または部分的に、本リポジトリ574内に記憶されてもよい。
その中にデータが、遠隔で記憶され、ネットワークを経由してアクセス可能である、実施形態では、データは、拡張現実システムの複数のユーザによって共有されてもよい。例えば、ユーザデバイスは、その追跡マップをアップロードし、環境マップのデータベース内に拡張されてもよい。いくつかの実施形態では、追跡マップのアップロードは、ウェアラブルデバイスとのユーザセッションの終了時に生じる。いくつかの実施形態では、追跡マップのアップロードは、持続的に、半持続的に、断続的に、事前に定義された時間において、前のアップロードから事前に定義された周期後、またはあるイベントによってトリガされると、生じ得る。任意のユーザデバイスによってアップロードされた追跡マップは、そのユーザデバイスまたは任意の他のユーザデバイスからのデータに基づくかどうかにかかわらず、以前に記憶されたマップを拡張または改良するために使用されてもよい。同様に、ユーザデバイスにダウンロードされた持続マップは、そのユーザデバイスまたは任意の他のユーザデバイスからのデータに基づいてもよい。このように、高品質環境マップが、ARシステムを用いたその体験を改良するために、ユーザに容易に利用可能であり得る。
さらなる実施形態では、持続マップのダウンロードは、(例えば、クラウド内の)遠隔リソース上で実行される位置特定に基づいて、限定および/または回避され得る。そのような構成では、ウェアラブルデバイスまたは他のXRデバイスは、クラウドサービスに、姿勢情報と結合される、特徴情報(例えば、特徴情報内に表される特徴が感知された時点におけるデバイスに関する測位情報)を通信する。クラウドサービスの1つまたはそれを上回るコンポーネントは、特徴情報と個別の記憶されたマップ(例えば、規準マップ)をマッチングさせ、XRデバイスによって維持される追跡マップと規準マップの座標系との間の変換を生成してもよい。規準マップに対して位置特定されたその追跡マップを有する、各XRデバイスは、その独自の追跡に基づいて、仮想コンテンツを規準マップに対して規定された場所に正確にレンダリングし得る。
いくつかの実施形態では、ローカルデータ処理モジュール570は、バッテリ582に動作可能に結合される。いくつかの実施形態では、バッテリ582は、市販のバッテリ等のリムーバブル電源である。他の実施形態では、バッテリ582は、リチウムイオンバッテリである。いくつかの実施形態では、バッテリ582は、ユーザ560が、電源に繋がれ、リチウムイオンバッテリを充電する必要なく、またはシステム580をシャットオフし、バッテリを交換する必要なく、より長い時間周期にわたってシステム580を動作させ得るように、システム580の非動作時間の間、ユーザ560によって充電可能な内部リチウムイオンバッテリと、リムーバブルバッテリとの両方を含む。
図5Aは、ユーザ530が物理的世界環境532(以降、「環境532」と称される)を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着している、ユーザ530を図示する。ユーザの移動経路に沿ってARシステムによって捕捉された情報は、1つまたはそれを上回る追跡マップの中に処理されてもよい。ユーザ530は、ARディスプレイシステムを位置534に位置付け、ARディスプレイシステムは、位置534に対するパス可能世界(例えば、物理的世界内の実オブジェクトの変化に伴って記憶および更新され得る、物理的世界内の実オブジェクトのデジタル表現)の周囲情報を記録する。その情報は、画像、特徴、指向性オーディオ入力、または他の所望のデータと組み合わせて、姿勢として記憶されてもよい。位置534は、例えば、追跡マップの一部として、データ入力536に対して集約され、少なくともパス可能世界モジュール538によって処理され、これは、例えば、図4の遠隔処理モジュール572上の処理によって実装されてもよい。いくつかの実施形態では、パス可能世界モジュール538は、処理された情報が、仮想コンテンツをレンダリングする際に使用される物理的オブジェクトについての他の情報と組み合わせて、物理的世界内のオブジェクトの場所を示し得るように、頭部姿勢コンポーネント514と、世界再構築コンポーネント516とを含んでもよい。
パス可能世界モジュール538は、データ入力536から決定されるように、少なくとも部分的に、ARコンテンツ540が物理的世界内に設置され得る場所および方法を決定する。ARコンテンツは、ユーザインターフェースを介して、物理的世界の表現およびARコンテンツの両方を提示することによって、物理的世界内に「設置」され、ARコンテンツは、物理的世界内のオブジェクトと相互作用しているかのようにレンダリングされ、物理的世界内のオブジェクトは、ARコンテンツが、適切なとき、それらのオブジェクトのユーザのビューを不明瞭にしているかのように提示される。いくつかの実施形態では、ARコンテンツは、固定要素542(例えば、テーブル)の一部を再構築物(例えば、再構築物518)から適切に選択し、ARコンテンツ540の形状および位置を決定することによって、設置されてもよい。実施例として、固定要素は、テーブルであってもよく、仮想コンテンツは、そのテーブル上に現れるように位置付けられてもよい。いくつかの実施形態では、ARコンテンツは、現在の視野または推定される将来的視野であり得る、視野544内の構造の中に設置されてもよい。いくつかの実施形態では、ARコンテンツは、物理的世界のモデル546(例えば、メッシュ)に対して持続されてもよい。
描写されるように、固定要素542は、ユーザ530にそれが見える度に、システムが固定要素542にマッピングする必要なく、ユーザ530が固定要素542上にコンテンツを知覚し得るように、パス可能世界モジュール538内に記憶され得る、物理的世界内の任意の固定要素のためのプロキシ(例えば、デジタルコピー)としての役割を果たす。固定要素542は、したがって、前のモデル化セッションからの、または別個のユーザから決定されるものであるものの、複数のユーザによる将来的参照のためにパス可能世界モジュール538によって記憶される、メッシュモデルであってもよい。したがって、パス可能世界モジュール538は、環境532を以前にマッピングされた環境から認識し、ユーザ530のデバイスが環境532の全部または一部を最初にマッピングすることなく、ARコンテンツを表示し、算出プロセスおよびサイクルを節約し、任意のレンダリングされたARコンテンツの待ち時間を回避し得る。
物理的世界のメッシュモデル546は、ARディスプレイシステムによって作成されてもよく、ARコンテンツ540と相互作用し、表示するための適切な表面およびメトリックは、完全または部分的に、モデルを再作成する必要なく、ユーザ530または他のユーザによる将来的読出のために、パス可能世界モジュール538によって記憶されることができる。いくつかの実施形態では、データ入力536は、パス可能世界モジュール538に、1つまたはそれを上回る固定要素のうちのどの固定要素542が利用可能であるかどうか、固定要素542上に最後に設置されたARコンテンツ540、およびその同一コンテンツを表示すべきかどうか(そのようなARコンテンツは、ユーザが特定のパス可能世界モデルを視認しているかどうかにかかわらず、「持続」コンテンツである)を示すための、地理的場所、ユーザ識別、および現在のアクティビティ等の入力である。
オブジェクトが固定されていると見なされる(例えば、台所のテーブル)、実施形態においてさえ、パス可能世界モジュール538は、物理的世界の変化の可能性を考慮するために、物理的世界のモデル内のそれらのオブジェクトを随時更新してもよい。固定されたオブジェクトのモデルは、非常に低頻度で更新されてもよい。物理的世界内の他のオブジェクトは、移動しているものであり得る、または別様に固定されていると見なされないものであり得る(例えば、台所の椅子)。AR場面を現実的感覚でレンダリングするために、ARシステムは、これらの非固定オブジェクトの位置を、固定オブジェクトを更新するために使用されるものよりはるかに高い頻度で更新してもよい。物理的世界内のオブジェクトの全ての正確な追跡を有効にするために、ARシステムは、1つまたはそれを上回る画像センサを含む、複数のセンサから情報を引き出してもよい。
図5Bは、視認光学系アセンブリ548および付帯コンポーネントの概略例証である。いくつかの実施形態では、2つの眼追跡カメラ550が、ユーザの眼549に向かって指向され、眼形状、眼瞼オクルージョン、瞳孔方向、およびユーザの眼549上の閃光等、ユーザの眼549のメトリックを検出する。
いくつかの実施形態では、センサのうちの1つは、飛行時間センサ等の深度センサ551であって、信号を世界に放出し、近隣のオブジェクトからのそれらの信号の反射を検出し、所与のオブジェクトまでの距離を決定してもよい。深度センサは、例えば、オブジェクトが、それらのオブジェクトの運動またはユーザの姿勢の変化のいずれかの結果として、ユーザの視野に進入したかどうかを迅速に決定し得る。しかしながら、ユーザの視野内のオブジェクトの位置についての情報は、代替として、または加えて、他のセンサを用いて収集されてもよい。深度情報は、例えば、立体視的画像センサまたはプレノプティックセンサから取得されてもよい。
いくつかの実施形態では、世界カメラ552は、周辺より広いビューを記録し、マッピングし、および/または別様に、環境532のモデルを作成し、ARコンテンツに影響を及ぼし得る、入力を検出する。いくつかの実施形態では、世界カメラ552および/またはカメラ553は、グレースケールおよび/またはカラー画像センサであってもよく、これは、グレースケールおよび/またはカラー画像フレームを固定される時間インターバルにおいて出力してもよい。カメラ553はさらに、ユーザの視野内の物理的世界画像を具体的時間において捕捉してもよい。フレームベースの画像センサのピクセルは、その値が不変である場合でも、反復的にサンプリングされてもよい。世界カメラ552、カメラ553、および深度センサ551はそれぞれ、554、555、および556の個別の視野を有し、図34Aに描写される物理的世界環境532等の物理的世界場面からのデータを収集および記録する。
慣性測定ユニット557は、視認光学系アセンブリ548の移動および配向を決定してもよい。いくつかの実施形態では、慣性測定ユニット557は、重力の方向を示す、出力を提供してもよい。いくつかの実施形態では、各コンポーネントは、少なくとも1つの他のコンポーネントに動作可能に結合される。例えば、深度センサ551は、ユーザの眼549が見ている実際の距離に対する測定された遠近調節の確認として、眼追跡カメラ550に動作可能に結合される。
視認光学系アセンブリ548は、図34Bに図示されるコンポーネントのうちのいくつかを含んでもよく、図示されるコンポーネントの代わりに、またはそれに加え、コンポーネントを含んでもよいことを理解されたい。いくつかの実施形態では、例えば、視認光学系アセンブリ548は、4つの代わりに、2つの世界カメラ552を含んでもよい。代替として、または加えて、カメラ552および553は、その完全視野の可視光画像を捕捉する必要はない。視認光学系アセンブリ548は、他のタイプのコンポーネントを含んでもよい。いくつかの実施形態では、視認光学系アセンブリ548は、1つまたはそれを上回る動的視覚センサ(DVS)を含んでもよく、そのピクセルは、光強度の相対的変化が閾値を超えることに非同期して応答してもよい。
いくつかの実施形態では、視認光学系アセンブリ548は、飛行時間情報に基づく深度センサ551を含まなくてもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ548は、1つまたはそれを上回るプレノプティックカメラを含んでもよく、そのピクセルは、入射光の光強度および角度を捕捉してもよく、そこから深度情報が、決定されることができる。例えば、プレノプティックカメラは、透過性回折マスク(TDM)でオーバーレイされた画像センサを含んでもよい。
代替として、または加えて、プレノプティックカメラは、角度感知ピクセルおよび/または位相検出自動焦点ピクセル(PDAF)および/またはマイクロレンズアレイ(MLA)を含有する、画像センサを含んでもよい。そのようなセンサは、深度センサ551の代わりに、またはそれに加え、深度情報源としての役割を果たし得る。
また、図5Bにおけるコンポーネントの構成は、実施例として提供されることを理解されたい。視認光学系アセンブリ548は、任意の好適な構成を伴うコンポーネントを含んでもよく、これは、ユーザに、特定のセットのコンポーネントのために実践的な最大視野を提供するように設定されてもよい。例えば、視認光学系アセンブリ548が、1つの世界カメラ552を有する場合、世界カメラは、側面の代わりに、視認光学系アセンブリの中心領域内に設置されてもよい。
視認光学系アセンブリ548内のセンサからの情報は、システム内のプロセッサのうちの1つまたはそれを上回るものに結合されてもよい。プロセッサは、ユーザに仮想コンテンツが物理的世界内のオブジェクトと相互作用するように知覚させるようにレンダリングされ得る、データを生成してもよい。そのレンダリングは、物理的および仮想オブジェクトの両方を描写する、画像データを生成するステップを含め、任意の好適な方法において実装されてもよい。他の実施形態では、物理的および仮想コンテンツは、ユーザが物理的世界を透かし見る、ディスプレイデバイスの不透明度を変調させることによって、1つの場面に描写されてもよい。不透明度は、仮想オブジェクトの外観を作成し、ユーザに仮想オブジェクトによってオクルードされる物理的世界内のオブジェクトが見えないように遮断するように、制御されてもよい。いくつかの実施形態では、画像データは、仮想コンテンツがユーザインターフェースを通して視認されるとき、物理的世界と現実的に相互作用するように、ユーザによって知覚されるように修正され得る(例えば、コンテンツをクリッピングし、オクルージョンを考慮する)、仮想コンテンツのみを含んでもよい。
コンテンツが特定の場所におけるオブジェクトの印象を作成するために表示され得る、視認光学系アセンブリ548上の場所は、視認光学系アセンブリの物理学に依存し得る。加えて、物理的世界に対するユーザの頭部の姿勢およびユーザの眼が見ている方向は、コンテンツが現れるであろう視認光学系アセンブリ上の特定の場所に表示される、物理的世界コンテンツ内の場所に影響を及ぼすであろう。上記に説明されるようなセンサは、センサ入力を受信するプロセッサが、オブジェクトが、視認光学系アセンブリ548上にレンダリングされ、ユーザのために所望の外観を作成すべき場所を算出し得るように、本情報を収集し、および/またはそこから本情報が計算され得る、情報を供給してもよい。
コンテンツがユーザに提示される方法にかかわらず、物理的世界のモデルが、仮想オブジェクトの形状、位置、運動、および可視性を含む、物理的オブジェクトによって影響され得る、仮想オブジェクトの特徴が、正しく算出され得るように、使用されてもよい。いくつかの実施形態では、モデルは、物理的世界の再構築物、例えば、再構築物518を含んでもよい。
そのモデルは、ユーザのウェアラブルデバイス上のセンサから収集されたデータから作成されてもよい。但し、いくつかの実施形態では、モデルは、複数のユーザによって収集されたデータから作成されてもよく、これは、全てのユーザから遠隔のコンピューティングデバイス内に集約されてもよい(かつ「クラウド内」にあってもよい)。
モデルは、少なくとも部分的に、例えば、図6Aにさらに詳細に描写される図3の世界再構築コンポーネント516等の世界再構築システムによって作成されてもよい。世界再構築コンポーネント516は、物理的世界の一部のための表現を生成、更新、および記憶し得る、知覚モジュール660を含んでもよい。いくつかの実施形態では、知覚モジュール660は、センサの再構築範囲内の物理的世界の一部を複数のボクセルとして表し得る。各ボクセルは、物理的世界内の所定の体積の3D立方体に対応し、表面情報を含み、ボクセルによって表される体積内に表面が存在するかどうかを示し得る。ボクセルは、その対応する体積が、物理的オブジェクトの表面を含むと決定されている、空であると決定されている、またはセンサを用いてまだ測定されていない、したがって、その値が未知であるかどうかを示す、値を割り当てられてもよい。空または未知であると決定されたボクセルを示す値は、明示的に記憶される必要はなく、ボクセルの値は、空または未知であると決定されたボクセルに関する情報を記憶しないことを含め、任意の好適な方法において、コンピュータメモリ内に記憶されてもよいことを理解されたい。
持続される世界表現のための情報を生成することに加え、知覚モジュール660は、ARシステムのユーザの周囲の領域の変化のインジケーションを識別し、出力してもよい。そのような変化のインジケーションは、持続される世界の一部として記憶される立体データへの更新をトリガする、またはARコンテンツを生成し、ARコンテンツを更新する、コンポーネント604をトリガする等、他の機能をトリガしてもよい。
いくつかの実施形態では、知覚モジュール660は、符号付き距離関数(SDF)モデルに基づいて、変化を識別してもよい。知覚モジュール660は、例えば、深度マップ660aおよび頭部姿勢660b等のセンサデータを受信し、次いで、センサデータをSDFモデル660cに融合させるように構成されてもよい。深度マップ660aは、直接、SDF情報を提供してもよく、画像は、SDF情報に到着するように処理されてもよい。SDF情報は、その情報を捕捉するために使用されるセンサからの距離を表す。それらのセンサは、ウェアラブルユニットの一部であり得るため、SDF情報は、ウェアラブルユニットの視点、したがって、ユーザの視点から物理的世界を表し得る。頭部姿勢660bは、SDF情報が物理的世界内のボクセルに関連されることを可能にし得る。
いくつかの実施形態では、知覚モジュール660は、知覚範囲内にある、物理的世界の一部のための表現を生成、更新、および記憶してもよい。知覚範囲は、少なくとも部分的に、センサの再構築範囲に基づいて決定されてもよく、これは、少なくとも部分的に、センサの観察範囲の限界に基づいて決定されてもよい。具体的実施例として、アクティブIRパルスを使用して動作する、アクティブ深度センサは、ある距離の範囲にわたって確実に動作し、数センチメートルまたは数十センチメートル~数メートルであり得る、センサの観察範囲を作成し得る。
世界再構築コンポーネント516は、知覚モジュール660と相互作用し得る、付加的モジュールを含んでもよい。いくつかの実施形態では、持続される世界モジュール662は、知覚モジュール660によって入手されたデータに基づいて、物理的世界のための表現を受信してもよい。持続される世界モジュール662はまた、物理的世界の種々のフォーマットの表現を含んでもよい。例えば、モジュールは、立体情報662aを含んでもよい。例えば、ボクセル等の立体メタデータ662bが、メッシュ662cおよび平面662dとともに記憶されてもよい。いくつかの実施形態では、深度マップ等の他の情報も、保存され得る。
いくつかの実施形態では、図6Aに図示されるもの等の物理的世界の表現は、上記に説明されるように、特徴点および/または線に基づく追跡マップ等の疎マップと比較して、物理的世界についての比較的に稠密情報を提供し得る。
いくつかの実施形態では、知覚モジュール660は、例えば、メッシュ660d、平面、および意味論660eを含む、種々のフォーマットにおける、物理的世界のための表現を生成する、モジュールを含んでもよい。物理的世界のための表現は、ローカルおよび遠隔記憶媒体を横断して記憶されてもよい。物理的世界のための表現は、例えば、記憶媒体の場所に応じて、異なる座標フレーム内に説明されてもよい。例えば、デバイス内に記憶された物理的世界のための表現は、デバイスにローカルの座標フレーム内に説明されてもよい。物理的世界のための表現は、クラウド内に記憶された対応物を有してもよい。クラウド内の対応物は、XRシステム内の全てのデバイスによって共有される座標フレーム内に説明されてもよい。
いくつかの実施形態では、これらのモジュールは、表現が生成された時点の1つまたはそれを上回るセンサの知覚範囲内のデータおよび以前の時間に捕捉されたデータおよび持続される世界モジュール662内の情報に基づいて、表現を生成してもよい。いくつかの実施形態では、これらのコンポーネントは、深度センサを用いて捕捉された深度情報に作用してもよい。しかしながら、ARシステムは、視覚センサを含んでもよく、単眼または両眼視覚情報を分析することによって、そのような表現を生成してもよい。
いくつかの実施形態では、これらのモジュールは、物理的世界の領域に作用してもよい。それらのモジュールは、物理的世界のサブ領域を、知覚モジュール660がそのサブ領域内の物理的世界の変化を検出すると、更新するようにトリガされてもよい。そのような変化は、例えば、SDFモデル660c内の新しい表面を検出することによって、またはサブ領域を表す十分な数のボクセルの値の変化等の他の基準によって、検出されてもよい。
世界再構築コンポーネント516は、物理的世界の表現を知覚モジュール660から受信し得る、コンポーネント664を含んでもよい。コンポーネント664は、視覚的オクルージョン664a、物理ベースの相互作用664b、および/または環境推論664cを含んでもよい。物理的世界についての情報は、例えば、アプリケーションからの使用要求に従って、これらのコンポーネントによってプル配信されてもよい。いくつかの実施形態では、情報は、事前に識別された領域の変化または知覚範囲内の物理的世界表現の変化のインジケーション等を介して、使用コンポーネントにプッシュ配信されてもよい。コンポーネント664は、例えば、視覚的オクルージョン、物理学ベースの相互作用、および環境推測のための処理を実施する、ゲームプログラムおよび他のコンポーネントを含んでもよい。
コンポーネント664からのクエリに応答して、知覚モジュール660は、物理的世界のための表現を1つまたはそれを上回るフォーマットにおいて送信してもよい。例えば、コンポーネント664が、使用が視覚的オクルージョンまたは物理学ベースの相互作用のためのものであることを示すとき、知覚モジュール660は、表面の表現を送信してもよい。コンポーネント664が、使用が環境推測のためのものであることを示すとき、知覚モジュール660は、物理的世界のメッシュ、平面、および意味論を送信してもよい。
いくつかの実施形態では、知覚モジュール660は、フォーマット情報をコンポーネント664に提供する、コンポーネントを含んでもよい。そのようなコンポーネントの実施例は、レイキャスティングコンポーネント660fであってもよい。使用コンポーネント(例えば、コンポーネント664)は、例えば、特定の視点からの物理的世界についての情報をクエリしてもよい。レイキャスティングコンポーネント660fは、その視点からの視野内の物理的世界データの1つまたはそれを上回る表現から選択してもよい。
いくつかの実施形態では、パス可能世界モデルのコンポーネントは、分散されてもよく、いくつかの部分は、XRデバイス上でローカルで実行され、いくつかの部分は、サーバに接続されるネットワーク上または別様にクラウド内等の遠隔で実行される。ローカルXRデバイスとクラウドとの間の情報の処理および記憶の配分は、XRシステムの機能性およびユーザ体験に影響を及ぼし得る。例えば、処理をクラウドに配分することによって、ローカルデバイス上の処理を低減させることは、より長いバッテリ寿命を有効にし、ローカルデバイス上に生成される熱を低減させ得る。しかし、はるかに多い処理をクラウドに配分することは、容認不可能なユーザ体験を引き起こす、望ましくない待ち時間を作成し得る。
図6Bは、いくつかの実施形態による、空間コンピューティングのために構成される、分散型コンポーネントアーキテクチャ600を描写する。分散型コンポーネントアーキテクチャ600は、パス可能世界コンポーネント602(例えば、図5AにおけるPW538)と、Lumin OS604と、API606と、SDK608と、アプリケーション610とを含んでもよい。Lumin OS604は、XRデバイスと互換性があるカスタムドライバを伴う、Linux(登録商標)ベースのカーネルを含んでもよい。APIの606は、XRアプリケーション(例えば、アプリケーション610)にXRデバイスの空間コンピューティング特徴へのアクセスを与える、アプリケーションプログラミングインターフェースを含んでもよい。SDK608は、XRアプリケーションの作成を可能にする、ソフトウェア開発キットを含んでもよい。
アーキテクチャ600内の1つまたはそれを上回るコンポーネントは、パス可能世界のモデルを作成および維持してもよい。本実施例では、センサデータは、ローカルデバイス上で収集される。そのセンサデータの処理は、部分的に、XRデバイス上でローカルで、部分的に、クラウド内で実施されてもよい。PW538は、少なくとも部分的に、複数のユーザによって装着されるARデバイスによって捕捉されたデータに基づいて作成される、環境マップを含んでもよい。AR体験のセッションの間、個々のARデバイス(図4に関連して上記に説明されるウェアラブルデバイス等)は、マップの1つのタイプである、追跡マップを作成してもよい。
いくつかの実施形態では、デバイスは、疎マップおよび稠密マップの両方を構築する、コンポーネントを含んでもよい。追跡マップは、疎マップとしての役割を果たしてもよい。稠密マップは、表面情報を含んでもよく、これは、メッシュまたは深度情報によって表されてもよい。代替として、または加えて、稠密マップは、平面および/または他のオブジェクトの場所および/または特性等の表面または深度情報から導出されるより高いレベルの情報を含んでもよい。
疎マップおよび/または稠密マップは、同一デバイスによる再使用のために、および/または他のデバイスと共有するために、存続してもよい。そのような存続は、情報をクラウド内に記憶することによって達成されてもよい。ARデバイスは、追跡マップをクラウドに送信し、例えば、クラウド内に以前に記憶された存続されるマップから選択された環境マップとマージしてもよい。いくつかの実施形態では、選択された存続されるマップは、マージするために、クラウドからARデバイスに送信されてもよい。いくつかの実施形態では、存続されるマップは、1つまたはそれを上回る持続座標フレームに対して配向されてもよい。そのようなマップは、それらが複数のデバイスのいずれかによって使用され得るため、規準マップとしての役割を果たし得る。いくつかの実施形態では、パス可能世界のモデルは、1つまたはそれを上回る規準マップから成る、または作成されてもよい。デバイスは、デバイスにローカルの座標フレームに基づいて、いくつかの動作を実施するものの、デバイスにローカルのその座標フレームと規準マップとの間の変換を決定することによって、規準マップを使用してもよい。
規準マップは、追跡マップ(TM)として生じてもよい。追跡マップは、例えば、追跡マップの基準フレームが、持続座標フレームとなるように、持続されてもよい。その後、規準マップにアクセスするデバイスが、いったんそのローカル座標系と規準マップの座標系との間の変換を決定すると、規準マップ内の情報を使用して、デバイスの周囲の物理的世界内の規準マップ内に表されるオブジェクトの場所を決定し得る。
故に、規準マップ、追跡マップ、または他のマップは、類似フォーマットを有し得るが、例えば、それらが使用または記憶される場所が異なる。図7は、いくつかの実施形態による、例示的追跡マップ700を描写する。本実施例では、追跡マップは、着目特徴を点として表す。他の実施形態では、線が、点の代わりに、またはそれに加え、使用されてもよい。追跡マップ700は、点702によって表される対応する物理的世界内の物理的オブジェクトの間取図706を提供してもよい。いくつかの実施形態では、マップ点702は、複数の特徴を含み得る、物理的オブジェクトの特徴を表し得る。例えば、テーブルの各角は、マップ上の点によって表される、特徴であり得る。特徴は、拡張現実システム内のウェアラブルデバイスのセンサを用いて入手され得るような処理画像から導出されてもよい。特徴は、例えば、センサによって出力された画像フレームを処理し、画像内の大勾配または他の好適な基準に基づいて、特徴を識別することによって導出されてもよい。さらなる処理は、各フレーム内の特徴の数を限定してもよい。例えば、処理は、持続オブジェクトを表す可能性が高い、特徴を選択してもよい。1つまたはそれを上回るヒューリスティックが、本選択のために適用されてもよい。
追跡マップ700は、デバイスによって収集された点702に関するデータを含んでもよい。追跡マップ内に追加されるデータ点を伴う、画像フレーム毎に、姿勢が、記憶されてもよい。姿勢は、各画像フレーム内の特徴点が追跡マップに空間的に相関され得るように、そこから画像フレームが捕捉された配向を表し得る。姿勢は、ウェアラブルデバイス上のIMUセンサ等のセンサから導出され得るような位置付け情報によって決定されてもよい。代替として、または加えて、姿勢は、画像フレーム内の特徴のサブセットを追跡マップ内にすでにある特徴にマッチングさせることによって決定されてもよい。特徴のマッチングするサブセット間の変換が、算出されてもよく、これは、画像フレームと追跡マップとの間の相対的姿勢を示す。
センサを用いて収集された情報の多くが冗長である可能性が高いため、デバイスによって収集された特徴点および画像フレームの全てが、追跡マップの一部として留保され得るわけではない。いくつかの実施形態では、画像フレームからの特徴の比較的に小サブセットが、処理されてもよい。それらの特徴は、鋭的角または縁から生じ得る等、明確に異なり得る。加えて、あるフレームからの特徴のみが、マップに追加されてもよい。それらのフレームは、すでにマップ内にある画像フレームとの重複度、それらが含有する新しい特徴の数、またはフレーム内の特徴に関する品質メトリック等の1つまたはそれを上回る基準に基づいて選択されてもよい。追跡マップに追加されない画像フレームは、破棄されてもよい、または特徴の場所を改訂するために使用されてもよい。さらなる代替として、特徴のセットとして表される、複数の画像フレームからのデータが、留保されてもよいが、それらのフレームのサブセットからの特徴のみが、キーフレームとして指定されてもよく、これは、さらなる処理のために使用される。
キーフレームは、処理され、キーリグ704を生産してもよい。キーフレームは、処理され、特徴点の3次元セットを生産し、キーリグ704として保存されてもよい。そのような処理は、例えば、2つのカメラから同時に導出される画像フレームを比較し、特徴点の3D位置を立体視的に決定するステップを伴ってもよい。姿勢等のメタデータが、これらのキーフレームおよび/またはキーリグと関連付けられてもよい。キーリグは、続いて、デバイスからの新しく入手された画像に基づいて、デバイスをマップに対して位置特定するときに使用されてもよい。
環境マップは、例えば、ARデバイスのローカル記憶装置および遠隔記憶装置を含む、例えば、環境マップの記憶場所に応じて、複数のフォーマットのいずれかを有してもよい。例えば、遠隔記憶装置内のマップは、メモリが限定されると、ウェアラブルデバイス上のローカル記憶装置内のマップより高い分解能を有してもよい。より高い分解能マップを遠隔記憶装置からローカル記憶装置に送信するために、マップは、マップ内に記憶される物理的世界のエリアあたりの姿勢の数および/または姿勢毎に記憶される特徴点の数を低減させること等によって、ダウンサンプリングまたは別様に適切なフォーマットに変換されてもよい。いくつかの実施形態では、遠隔記憶装置からの高分解能マップのスライスまたは一部が、ローカル記憶装置に送信されてもよく、スライスまたは一部は、ダウンサンプリングされない。
環境マップのデータベースは、新しい追跡マップが作成されるにつれて、更新されてもよい。データベース内の潜在的に非常に多数の環境マップのうちのどれが更新されるべきかを決定するために、更新するステップは、新しい追跡マップに関連するデータベース内に記憶される1つまたはそれを上回る環境マップを効率的に選択するステップを含んでもよい。選択された1つまたはそれを上回る環境マップは、関連性によって階数付けされてもよく、最高階数付けマップのうちの1つまたはそれを上回るものが、より高い階数付けされた選択された環境マップと新しい追跡マップをマージし、1つまたはそれを上回る更新された環境マップを作成するために処理するために選択されてもよい。新しい追跡マップが、それにわたって更新するための既存の環境マップが存在しない、物理的世界の部分を表すとき、その追跡マップは、新しい環境マップとしてデータベース内に記憶されてもよい。
遠隔位置特定
種々の実施形態は、遠隔リソースを利用して、個々のユーザおよび/またはユーザの群間の持続かつ一貫したクロスリアリティ体験を促進し得る。本明細書に説明されるような規準マップを用いたXRデバイスの動作の利点は、規準マップのセットをダウンロードせずに達成され得る。本利点は、例えば、特徴および姿勢情報を、規準マップのセットを維持する、遠隔サービスに送信することによって達成されてもよい。規準マップを使用して、仮想コンテンツを規準マップに対して規定された場所に位置付けることを求める、デバイスは、遠隔サービスから、特徴と規準マップとの間の1つまたはそれを上回る変換を受信してもよい。それらの変換は、物理的世界内のそれらの特徴の位置についての情報を維持する、デバイス上において、仮想コンテンツを1つまたはそれを上回る規準マップに対して規定された場所に位置付ける、または別様に、規準マップに対して規定された物理的世界内の場所を識別するために使用されてもよい。
いくつかの実施形態では、空間情報は、XRデバイスによって捕捉され、クラウドベースのサービス等の遠隔サービスに通信され、これは、空間情報を使用して、XRシステムのアプリケーションまたは他のコンポーネントによって使用される規準マップに対して、XRデバイスを位置特定し、物理的世界に対する仮想コンテンツの場所を規定する。いったん位置特定されると、デバイスによって維持される追跡マップを規準マップにリンクする、変換が、デバイスに通信されることができる。
いくつかの実施形態では、カメラおよび/またはカメラを備えるポータブル電子デバイスが、特徴(例えば、点および/または線の組み合わせ)についての情報を捕捉および/または決定し、情報を、クラウドベースのデバイス等の遠隔サービスに送信するように構成されてもよい。遠隔サービスは、情報を使用して、カメラの姿勢を決定してもよい。カメラの姿勢は、例えば、本明細書に説明される方法および技法を使用して、決定されてもよい。いくつかの実施例では、姿勢は、回転行列および/または平行移動行列を含んでもよい。いくつかの実施例では、カメラの姿勢は、本明細書に説明されるマップのいずれかに対して表され得る。
変換は、追跡マップと併せて、その中に規準マップに対して規定された仮想コンテンツをレンダリングするべき位置を決定する、または別様に、規準マップに対して規定された物理的世界内の場所を識別するために使用されてもよい。
いくつかの実施形態では、位置特定サービスからデバイスに返される結果は、アップロードされた特徴をマッチングする規準マップの部分に関連させる、1つまたはそれを上回る変換であってもよい。それらの変換は、その追跡マップと併せて、仮想コンテンツの場所を識別する、または別様に、物理的世界内の場所を識別するために、XRデバイス内で使用されてもよい。本明細書に説明されるように、PCF等の持続空間情報が、規準マップに対する場所を規定するために使用される、実施形態では、位置特定サービスは、デバイスに、位置特定成功後、特徴と1つまたはそれを上回るPCFとの間の変換をダウンロードしてもよい。
いくつかの実施形態では、位置特定サービスはさらに、デバイスにカメラの姿勢を返してもよい。いくつかの実施形態では、位置特定サービスからデバイスに返される結果は、カメラの姿勢を規準マップに対して関連させてもよい。
結果として、XRデバイスと位置特定を実施するための遠隔サービスとの間の通信によって消費されるネットワーク帯域幅は、小さくなり得る。本システムは、したがって、頻繁な位置特定をサポートし、システムと相互作用する各デバイスが、仮想コンテンツを位置付ける、または他の場所ベースの機能を実施するための情報を迅速に取得することを有効にし得る。デバイスが、物理的環境内を移動するにつれて、更新された位置特定情報のための要求を繰り返してもよい。加えて、デバイスは、規準マップが変化するとき等、付加的追跡マップのマージ等を通して、位置特定情報への更新を頻繁に取得し、マップを拡張させる、またはその正確度を増加させてもよい。
図8は、XRシステム6100の概略図である。ユーザセッションの間、クロスリアリティコンテンツを表示する、ユーザデバイスは、種々の形式で現れることができる。例えば、ユーザデバイスは、ウェアラブルXRデバイス(例えば、6102)またはハンドヘルドモバイルデバイス(例えば、6104)であることができる。上記に議論されるように、これらのデバイスは、アプリケーションまたは他のコンポーネント等のソフトウェアとともに構成され、および/または有線接続され、仮想コンテンツをその個別のディスプレイ上にレンダリングするために使用され得る、ローカル位置情報(例えば、追跡マップ)を生成することができる。
仮想コンテンツ位置付け情報は、グローバル場所情報に対して規定されてもよく、これは、例えば、1つまたはそれを上回る持続座標フレーム(PCF)を含有する、規準マップとして、フォーマット化されてもよい。PCFは、そのマップに対して位置特定するときに使用され得る、マップ内の特徴の集合であってもよい。PCFは、例えば、その特徴のセットを、容易に認識可能であって、ユーザセッションを横断して存続される可能性が高いものとして識別する、処理に基づいて、選択されてもよい。いくつかの実施形態、例えば、図8に示される実施形態によると、システム6100は、それに関して場所が規準マップ内のPCFに対して規定される、仮想コンテンツの機能およびユーザデバイス上への表示をサポートする、クラウドベースのサービスとともに構成される。
一実施例では、位置特定機能は、クラウドベースのサービス6106として提供される。クラウドベースのサービス6106は、複数のコンピューティングデバイスのいずれか上に実装されてもよく、そこからコンピューティングリソースが、クラウド内で実行される1つまたはそれを上回るサービスに配分されてもよい。それらのコンピューティングデバイスは、相互に、かつウェアラブルXRデバイス6102およびハンドヘルドデバイス6104等のデバイスにアクセス可能に相互接続されてもよい。そのような接続は、1つまたはそれを上回るネットワークを経由して提供されてもよい。
いくつかの実施形態では、クラウドベースのサービス6106は、記述子情報を個別のユーザデバイスから受け取り、デバイスをマッチングする規準マップまたは複数のマップに対して「位置特定」するように構成される。例えば、クラウドベースの位置特定サービスは、受信された記述子情報を個別の規準マップに関する記述子情報にマッチングさせる。規準マップは、物理的世界についての情報を入手する、画像センサまたは他のセンサを有する、1つまたはそれを上回るデバイスによって提供される、マップをマージすることによって、規準マップを作成する、上記に説明されるような技法を使用して作成されてもよい。
しかしながら、規準マップが、それらにアクセスするデバイスによって作成されることは、要件ではなく、したがって、マップは、例えば、マップを位置特定サービス6106に利用可能にすることによって、それらを公開し得る、マップ開発者によって作成されてもよい。
図9は、クラウドベースのサービスを使用して、規準マップを用いて、デバイスの位置を位置特定し、デバイスローカル座標系と規準マップの座標系との間の1つまたはそれを上回る変換を規定する、変換情報を受信するために、デバイスによって実行され得る、例示的プロセスフローである。
一実施形態によると、プロセス6200は、新しいセッションを用いて、6202から開始することができる。新しいセッションをデバイス上で開始することは、画像情報の捕捉を開始し、デバイスのための追跡マップを構築し得る。加えて、デバイスは、メッセージを送信し、位置特定サービスのサーバに登録し、サーバに、そのデバイスのためのセッションを作成するようにプロンプトしてもよい。
いったん新しいセッションが、確立されると、プロセス6200は、6204において、デバイスの環境の新しいフレームの捕捉を継続し得る。各フレームは、6206において、特徴を捕捉されたフレームから選択するように処理されることができる。特徴は、特徴点および/または特徴線等の1つまたはそれを上回るタイプであってもよい。
6206における特徴抽出は、姿勢情報を6206において抽出された特徴に付加することを含んでもよい。姿勢情報は、デバイスのローカル座標系内の姿勢であってもよい。いくつかの実施形態では、姿勢は、デバイスの追跡マップの原点に対するものであり得る、追跡マップ内の基準点に対するものであってもよい。フォーマットにかかわらず、姿勢情報は、位置特定サービスが、特徴を記憶されたマップ内の特徴にマッチングさせることに応じて、デバイスに返され得る、変換を算出するための姿勢情報を使用し得るように、各特徴または特徴の各セットに付加され得る。
プロセス6200は、決定ブロック6207に継続し得、そこで、位置特定を要求するかどうかの決定が、行われる。いくつかの実施形態では、位置特定正確度は、複数の画像フレーム毎に位置特定を実施することによって向上される。位置特定は、十分な数の複数の画像フレームに関して算出された結果間に十分な対応が存在するときのみ、成功と見なされる。故に、位置特定要求は、十分なデータが位置特定成功を達成するために捕捉され得るときのみ、送信され得る。
1つまたはそれを上回る基準が、位置特定を要求するかどうかを決定するために適用されてもよい。基準は、デバイスが、ある閾値時間量後、位置特定を要求し得るように、時間の経過を含んでもよい。例えば、位置特定が、ある閾値時間量内に試行されなかった場合、プロセスは、決定ブロック6207から行為6208に継続し得、そこで、位置特定が、クラウドから要求される。その閾値時間量は、例えば、25秒等の10~30秒であってもよい。代替として、または加えて、位置特定は、デバイスの運動によってトリガされてもよい。プロセス6200を実行するデバイスは、IMUおよび/またはその追跡マップを使用して、その運動を追跡し、デバイスが最後に位置特定を要求した場所からの閾値距離を超える運動の検出に応じて、位置特定を開始してもよい。閾値距離は、例えば、3~5メートル等の1~10メートルであってもよい。
位置特定がトリガされる方法にかかわらず、トリガされると、プロセス6200は、行為6208に進み得、そこで、デバイスは、位置特定サービスによって位置特定を実施するために使用されるデータを含む、位置特定サービスのための要求を送信する。いくつかの実施形態では、複数の画像フレームからのデータが、位置特定試行のために提供されてもよい。位置特定サービスは、例えば、複数の画像フレーム内の特徴が一貫した位置特定結果をもたらさない限り、位置特定成功と見なされ得ない。いくつかの実施形態では、プロセス6200は、特徴のセットおよび付加された姿勢情報をバッファの中に保存することを含んでもよい。バッファは、例えば、最も最近捕捉されたフレームから抽出された特徴のセットを記憶する、巡回バッファであってもよい。故に、位置特定要求は、バッファ内に蓄積された特徴のいくつかのセットとともに送信されてもよい。
デバイスは、位置特定要求の一部として、バッファのコンテンツを位置特定サービスに転送してもよい。他の情報も、特徴点および付加された姿勢情報と併せて、伝送されてもよい。例えば、いくつかの実施形態では、地理的情報が、伝送されてもよく、これは、それに対して位置特定を試みるべきマップを選択することを補助し得る。地理的情報は、例えば、デバイス追跡マップまたは現在の持続姿勢と関連付けられる、GPS座標または無線シグネチャを含んでもよい。
6208において送信される要求に応答して、クラウド位置特定サービスは、特徴のセットを処理し、デバイスをサービスによって維持される規準マップまたは他の持続マップの中に位置特定してもよい。例えば、クラウドベースの位置特定サービスは、規準マップのマッチングする特徴に対してデバイスから送信される特徴セットの姿勢に基づいて、変換を生成してもよい。位置特定サービスは、変換を位置特定結果としてデバイスに返してもよい。本結果は、ブロック6210において受信されてもよい。
変換がフォーマット化される方法にかかわらず、行為6212において、デバイスは、これらの変換を使用して、仮想コンテンツを、それに関して場所がXRシステムのアプリケーションまたは他のコンポーネントによってPCFのいずれかに対して規定されている、レンダリングすべき場所を算出してもよい。本情報は、代替として、または加えて、デバイス上において、その中で場所がPCFに基づいて規定される、任意の場所ベースの動作を実施するために使用されてもよい。
いくつかのシナリオでは、位置特定サービスは、デバイスから送信される特徴を任意の記憶された規準マップにマッチングすることができない場合があり得る、または位置特定サービスのための要求とともに通信される、位置特定成功が生じたと見なすための十分な数のセットの特徴にマッチングすることが不可能である場合がある。そのようなシナリオでは、行為6210に関連して上記に説明されるように、変換をデバイスに返すのではなく、位置特定サービスは、デバイスに、位置特定が失敗したことを示してもよい。そのようなシナリオでは、プロセス6200は、行為6230への決定ブロック6209において分岐し得、デバイスは、失敗処理のための1つまたはそれを上回るアクションを講じてもよい。これらのアクションは、位置特定のために送信される特徴セットを保持する、バッファのサイズを増加させることを含んでもよい。例えば、位置特定サービスが、3つのセットの特徴がマッチングしない限り、位置特定成功と見なさない場合、バッファサイズは、5つから6つに増加され、特徴の伝送されるセットのうちの3つが位置特定サービスによって維持される規準マップにマッチングされ得る可能性を増加させてもよい。
いくつかの実施形態では、位置特定サービスによって維持される規準マップは、前もって識別および記憶されている、PCFを含有してもよい。各PCFは、6206において処理された各画像フレームに関して、特徴点および特徴線の混合を含み得る、複数の特徴によって表されてもよい。故に、位置特定サービスは、位置特定要求とともに送信された特徴のセットにマッチングする、特徴のセットを用いて、規準マップを識別してもよく、位置特定のための要求とともに送信される姿勢によって表される座標フレームと1つまたはそれを上回るPCFとの間の変換を算出してもよい。
図示される実施形態では、位置特定結果は、抽出された特徴のセットの座標フレームを選択されたマップに対して整合させる、変換として表されてもよい。本変換は、ユーザデバイスに返されてもよく、そこで、共有マップに対して規定された場所をユーザデバイスによって使用される座標フレームに関連させる、またはその逆のために、順または逆変換のいずれかとして適用され得る。変換は、例えば、デバイスが、仮想コンテンツを、そのユーザのために、それに対してデバイスが位置特定されたマップの座標フレーム内に規定される、物理的世界に対する場所にレンダリングすることを可能にし得る。
2D/3D点および線対応を使用した姿勢推定
他の画像情報に対する特徴のセットの姿勢は、デバイスをマップに対して位置特定するために、XRシステムを含む、多くのシナリオにおいて、算出され得る。図10は、そのような姿勢を算出するために実装され得る、方法1000を図示する。本実施例では、方法1000は、特徴タイプの任意の混合に関して姿勢を算出する。特徴は、例えば、全ての特徴点または全ての特徴線または特徴点および特徴線の組み合わせであってもよい。方法1000は、例えば、その中で算出された姿勢がデバイスをマップに対して位置特定するために使用される、図9に図示される処理の一部として、実施されてもよい。
方法1000のための処理は、いったん画像フレームが処理するために捕捉されると、開始してもよい。ブロック1010では、特徴タイプの混合が、決定されてもよい。いくつかの実施形態では、抽出された特徴は、点および/または線であってもよい。いくつかの実施形態では、デバイスは、特徴タイプのある混合を選択するように構成されてもよい。デバイスは、例えば、特徴の設定パーセンテージを点として、残りの特徴を線として選択するようにプログラムされてもよい。代替として、または加えて、事前構成は、少なくともある数の点およびある数の線を画像からの特徴のセット内で確実にすることに基づいてもよい。
そのような選択は、例えば、特徴が同一場面の後続画像内で認識されるであろう、尤度を示す、1つまたはそれを上回るメトリックによって誘導されてもよい。そのようなメトリックは、例えば、物理的環境内のそのような構造の特徴および/または場所を生じさせる物理的構造の特性に基づいてもよい。窓または壁上に搭載される写真フレームの角は、例えば、高スコアを伴う特徴点をもたらし得る。別の実施例として、部屋の角または階段の縁は、高スコアを伴う特徴点をもたらし得る。そのようなメトリックは、画像内の最良特徴を選択するために使用されてもよい、またはそれに関してさらなる処理が実施される、画像を選択するために使用されてもよく、さらなる処理は、例えば、高スコアを伴う特徴の閾値を超える数を伴う、画像に関してのみ実施される。
いくつかの実施形態では、特徴の選択は、同一数または同一混合の点および線が、全ての画像に関して選択されように行われてもよい。規定された特徴の混合を供給しない、画像フレームは、例えば、破棄される場合がある。他のシナリオでは、選択は、物理的環境の視覚的特性に基づいて、動的であってもよい。選択は、例えば、検出された特徴に割り当てられるメトリックの大きさに基づいて、誘導されてもよい。例えば、モノクロ壁および少ない調度品を伴う、小部屋では、大メトリックを伴う特徴点を引き起こす、物理的構造が殆ど存在しない場合がある。図11は、例えば、その中で特徴点に基づく位置特定試行が失敗する可能性が高い、環境を図示する。類似結果は、多数の類似特徴点を引き起こす構造を伴う環境でも、生じ得る。それらの環境では、選択された特徴の混合は、点より多くの線を含み得る。逆に言えば、大または屋外空間では、特徴の混合が点に向かってバイアスされるであろうように、直線縁を殆ど伴わない、特徴点を引き起こす、多くの構造が存在し得る。
ブロック1020では、決定された混合の特徴が、画像フレームから抽出され、処理されてもよい。ブロック1010および1020は、図示される順序で実施される必要はなく、処理は、特徴を選択し、混合を決定する処理が並行して生じ得るように、動的であってもよいことを理解されたい。画像を処理し、点および/または線を識別する、技法は、ブロック1020において、特徴を抽出するために適用されてもよい。さらに、1つまたはそれを上回る基準が、抽出される特徴の数を限定するために適用されてもよい。基準は、抽出された特徴のセット内に含まれる特徴の総数または特徴に関する品質メトリックを含んでもよい。
処理は、次いで、ブロック1030に進んでもよく、そこで、画像から抽出された特徴と以前に記憶されたマップ等の他の画像情報との間の対応が、決定される。対応は、例えば、視覚的類似性および/または特徴と関連付けられる記述子情報に基づいて、決定されてもよい。これらの対応は、抽出された特徴の姿勢を他の画像情報からの特徴に対して定義する、変換に関する制約のセットを生成するために使用されてもよい。位置特定実施例では、これらの対応は、デバイス上のカメラを用いて撮影された画像内の特徴の選択されたセットと記憶されたマップとの間である。
いくつかの実施形態では、姿勢推定のための入力として使用される画像は、2次元画像である。故に、画像特徴は、2Dである。他の画像情報は、特徴を3次元で表し得る。例えば、上記に説明されるようなキーリグは、複数の2次元画像から構築される、3次元特徴を有してもよい。異なる寸法であっても、対応は、それにもかかわらず、決定され得る。図12は、例えば、対応が、3D特徴をそこから2D特徴が抽出された画像の2D平面の中に投影することによって決定され得ることを図示する。
その中で特徴のセットが抽出される、様式にかかわらず、処理は、ブロック1040に進み、そこで、姿勢が、算出される。本姿勢は、例えば、上記に説明されるように、XRシステムにおける位置特定試行の結果としての役割を果たし得る。
いくつかの実施形態によると、方法1000のあらゆるステップは、本明細書に説明されるデバイス上および/または本明細書に説明されるもの等の遠隔サービス上で実施されてもよい。
いくつかの実施形態では、ブロック1040における処理は、画像フレームから抽出された特徴タイプの混合に基づいて、選択されてもよい。他の実施形態では、処理は、同一ソフトウェアが、例えば、点および線の恣意的混合に関して実行され得るように、汎用であってもよい。
PnPL問題と呼ばれる、2D/3D点または線対応を使用して、カメラの姿勢を推定するステップは、同時位置特定およびマッピング(SLAM)、運動からの構造復元(SfM)、および拡張現実等の多くの用途を伴う、コンピュータビジョンにおける基本問題である。本明細書に説明されるPnPLアルゴリズムは、完全、ロバスト、かつ効率的であり得る。ここでは、「完全」アルゴリズムは、アルゴリズムが、同一処理が任意のシナリオにおいて適用され得るように、特徴タイプの混合にかかわらず、全ての潜在的入力をハンドリングすることができ、任意のシナリオにおいて適用され得ることを意味し得る。
いくつかの実施形態によると、汎用処理は、最小二乗問題を最小問題に変換することによって姿勢を対応のセットから算出するように、システムをプログラミングすることによって達成されてもよい。
PnPL問題を解く従来の方法は、各問題に対する個々のカスタマイズされた解と同程度に正確かつ効率的でもあるような完全アルゴリズムを提供しない。本発明者らは、1つのアルゴリズムを使用して、複数の問題を解くことによって、アルゴリズム実装における労力が有意に低減され得ることを認識している。
いくつかの実施形態によると、位置特定の方法は、PnPL問題に関する完全、正確、かつ効率的解を使用するステップを含んでもよい。いくつかの実施形態によると、本方法はまた、PnPL問題の具体的場合として、PnPおよびPnL問題を解くことが可能であり得る。いくつかの実施形態では、本方法は、最小問題(例えば、P3L、P3P、および/またはPnL)および/または最小二乗問題(例えば、PnL、PnP、PnPL)を含む、複数の多重タイプの問題を解くことが可能であり得る。例えば、本方法は、P3L、P3P、PnL、PnP、およびPnPL問題のいずれかを解くことが可能であり得る。文献では、問題毎にカスタム解が存在するが、実践では、手間がかかりすぎて、問題毎に具体的解を実装することができない。
図13は、汎用であり得、かつ最小二乗問題として従来解かれる問題の最小問題への変換をもたらし得る、処理の実施例である。図13は、いくつかの実施形態による、効率的姿勢推定の方法1300を図示する、フローチャートである。方法1300は、例えば、図10におけるブロック1030において決定された、例えば、対応に実施されてもよい。本方法は、数nの2D/3D点対応およびmの2D/3D線対応を前提として、2×(m+n)個の制約を取得するステップ(行為1310)から開始してもよい。
方法1300は、制約のセットを再構成するステップ(行為1320)と、部分的線形化方法を使用して、方程式系を取得するステップとを含んでもよい。本方法はさらに、方程式系を解き、回転行列を取得するステップ(行為1330)と、回転行列およびtの閉形式を使用して、平行移動ベクトルである、tを取得するステップ(行為1340)とを含む。回転行列および平行移動ベクトルはともに、姿勢を定義し得る。いくつかの実施形態によると、方法1300のあらゆるステップは、本明細書に説明されるデバイス上および/または本明細書に説明されるもの等の遠隔サービス上で実施されてもよい。
2D/3D点および線対応を使用した姿勢推定のための統合された解
いくつかの実施形態によると、PnPL問題を解くことは、N個の2D/3D点対応(すなわち、
Figure 2023516656000003

と、M個の2D/3D線対応(すなわち、
Figure 2023516656000004

)とを使用して、カメラ姿勢(すなわち、Rおよびt)を推定することを意味し得る。
=[x,y,zは、3D点を表し得、p=[u,vは、画像内の対応する2Dピクセルを表し得る。同様に、Lは、3D線を表し得、lは、対応する2D線を表し得る。2つの3D点(Q およびQ 等)は、3D線Lを表すために使用されることができ、2つのピクセル(q およびq 等)は、対応する2D線lを表すために使用されることができる。表記を簡略化するために、正規化されたピクセル座標も、使用されてもよい。
1300の方法の例示的実施形態では、以下の表記も、使用されてもよい。PnPL問題は、N個の2D/3D点対応
Figure 2023516656000005

と、M個の2D/3D線対応
Figure 2023516656000006

とを使用した、カメラ姿勢(すなわち、Rおよびt)の推定を含んでもよい。P=[x,y,zは、3D点を表し得、p=[u,vは、画像内の対応する2Dピクセルを表し得る。同様に、Lは、3D線を表すことができ、lは、対応する2D線を表すことができる。2つの3D点Q およびQ は、Lを表すために使用されてもよく、2つのピクセルq およびq は、lを表すために使用されてもよい。表記を簡略化するために、我々は、正規化されたピクセル座標を使用する。
いくつかの実施形態によると、行為1310において、数nの2D/3D点対応およびmの2D/3D線対応を前提として、2×(m+n)個の制約を取得するステップは、点対応を使用するステップを含んでもよく、i番目の2D/3D点対応
Figure 2023516656000007

は、以下、すなわち、(1)に示されるように、R=[r;r;r]に関する2つの制約を提供し、r、i=1,2,3は、Rの3つの行であって、t=[t;t;tである。
Figure 2023516656000008
いくつかの実施形態によると、方法1300の行為1310において、2×(m+n)個の制約を取得するステップはさらに、(1)における分母を方程式の両辺に対して乗算し、以下をもたらすステップを含む。
Figure 2023516656000009

次いで、l=[a;b;c]を定義することができ、a+b=1である。i番目の2D/3D線対応
Figure 2023516656000010

に関して、以下の2つの制約を有するであろう。
Figure 2023516656000011

式中、・は、ドット積を表す。(2)および(3)内に提供される方程式は、以下と同一形式で記述されることができる。
Figure 2023516656000012

式中、aは、1×3行列であり得、bは、3×1ベクトルであり得る。(3)における線からの制約に関して、a=c=lおよびb=Q ,j=1,2であることが明白である。(2)における第1の方程式に関して、以下を有する。
Figure 2023516656000013

同様に、(2)における第2の方程式は、(5)におけるuとvを置換することによって、(4)と同一形式を有することを示し得る。n個の2D/3D点対応およびm個の2D/3D線対応を前提として、M=2×(n+m)個の制約が、取得され得る(4)。
いくつかの実施形態によると、方法1300の行為1320において、制約のセットを再構成するステップは、Cayley-Gibbs-Rodriguezパラメータ化およびtの閉形式を使用する、Rの表現である、制約を使用して、二次系を生成するステップを含んでもよい。
(4)としてのM=2×(n+m)個の制約は、n個の2D/3D点対応およびm個の2D/3D線対応を前提として取得される。i番目の制約に関して、以下が定義されてもよい。
Figure 2023516656000014

式中、δは、スカラーであってもよい。M個の制約をスタックすることで、tに対する線形方程式系が、以下のように取得されることができる。
Figure 2023516656000015

式中、Δ=[δ;…;δ]およびC=[c;…;c]である。
(7)は、tに対して線形であるため、tの閉形式は、以下のように記述されることができる。
Figure 2023516656000016

いくつかの実施形態によると、方程式(8)は、QR、SVD、またはCholeskyを採用することによって、解かれてもよい。いくつかの実施形態では、方程式(8)の線形系は、正規方程式を使用して、解かれてもよい。いくつかの実施形態によると、Cayley-Gibbs-Rodriguezパラメータ化を使用したRの表現は、tを(7)の中に逆代入し、以下を求めることによって計算されてもよい。
Figure 2023516656000017

式中、K=-C(CC)-1である。
Rに関する解が、次いで、決定され得る。Cayley-Gibbs-Rodriguez(CGR)パラメータ化である、3次元ベクトルsが、以下のように、Rを表すために使用されてもよい。
Figure 2023516656000018

式中、
Figure 2023516656000019

である。
(10)を(9)の中に代入し、(6)を拡張させることによって、結果として生じる系は、以下となる。
Figure 2023516656000020

Aの階数は、有する対応の数にかかわらず、9より大きくなることはできない。したがって、
Figure 2023516656000021

が9つの項を有するため、直接線形変換(DLT)によってsを解かない。Rを以下のように記述する。
Figure 2023516656000022

(9)に関して、(6)におけるΔの要素δを拡張させる場合、以下を求めることができる。
Figure 2023516656000023

式中、
Figure 2023516656000024

であって、Bの第i行は、
Figure 2023516656000025

としての形式を伴う、rに対するδの係数であって、
Figure 2023516656000026

は、Kronecker積である。
以下と定義する。
Figure 2023516656000027

式中、Hは、N×9の行列である。計算に関して具体的理論的基礎によって拘束されるわけではないが、以下の補題を有するとする。
補題1:Hの階数は、雑音を伴わないデータに関して、9より小さい。
証明:方程式(13)は、同次線形系である。9つの要素を伴うrは、(13)の非自明解である。したがって、Hは、特異であるべきであって、そうでなければ、本同次系は、ゼロ(または自明)解のみを有する。これは、rが(13)の解であるという事実と矛盾する。
定理1:(11)におけるAの階数は、雑音を伴わないデータに関して9より小さい。
証明:(10)におけるCGR表現、(13)におけるr、および(11)における
Figure 2023516656000028

の使用は、以下によって関連され得る。
Figure 2023516656000029

式中、
Figure 2023516656000030

(15)を(13)の中に代入し、非ゼロ分母1+ssを排除すると、A=(I+K)BMを有することになる。(14)におけるHの定義を使用して、A=HMを書き換えることができる。代数的理論に従って、rank(A)≦min(rank(H),rank(M))を有する。rank(H)<9であるため、rank(A)<9を有する。
いくつかの実施形態によると、階数近似が、雑音除去のために使用されてもよい。行列Aは、階数落ちであり得る。いくつかの実施形態では、概して、
Figure 2023516656000031

および>5に関して、行列Aの階数は、それぞれ、3、5、7、および8であり得る。データが、雑音を伴うとき、行列Aは、汚染され得、階数は、最大になり得る。汚染された行列は、
Figure 2023516656000032

として表されることができる。いくつかの実施形態では、雑音の影響を低減させるステップは、係数行列Aが
Figure 2023516656000033

に取って代わるべき階数を伴う、行列
Figure 2023516656000034

を使用するステップを含んでもよい。例えば、これは、QまたはSVDおよび/または同等物を使用して達成されてもよい。例えば、
Figure 2023516656000035

のSVDが、
Figure 2023516656000036

であって、階数が、kである場合、
Figure 2023516656000037

であって、式中、
Figure 2023516656000038

は、Sの第1のk個の特異値である。本ステップは、雑音の影響を低減させることができる。表記を簡略化するために、Aが、依然として、本行列を表すために使用されるであろう。
いくつかの実施形態によると、方法1300の行為1320において、部分的線形化方法を使用して、方程式系を取得するステップは、部分的線形化方法を使用して、PnPL問題を必須最小公式(EMF)に変換するステップと、方程式系を生成するステップとを含んでもよい。いくつかの実施形態では、部分的線形化方法は、
Figure 2023516656000039

を2つの部分に分割するステップを含んでもよく、第1の部分
Figure 2023516656000040

は、それらが
Figure 2023516656000041

および
Figure 2023516656000042

として記述され得るように、3つの単項式を含んでもよく、残りの部分
Figure 2023516656000043

は、7つの単項式を有してもよい。部分的線形化はまた、いくつかの実施形態によると、適宜、
Figure 2023516656000044

の分割に基づいて、(11)における行列AをAおよびAに分割するステップと、(11)を以下のように再記述するステップとを含んでもよく、
Figure 2023516656000045

Figure 2023516656000046

における3つの要素は、個々の未知数として取り扱われてもよく、
Figure 2023516656000047

における残りの単項式は、既知として取り扱われてもよい。次いで、以下のように、
Figure 2023516656000048

に対する
Figure 2023516656000049

に関する閉形式解を有することができる。
Figure 2023516656000050

(A -1 は、3×7行列である。CをC=-(A -1 として定義する。本明細書に説明されるように、Aの階数は、任意の実行可能数の対応N≧3に関して、少なくとも3である。したがって、上記のアルゴリズムは、任意の数の対応のために使用されることができる。
方程式(17)は、以下のように書き換えられてもよい。
Figure 2023516656000051

これは、3つの未知数をs内に伴う、3つの二次多項式の方程式を含む。方程式はそれぞれ、以下のような形式を有する。
Figure 2023516656000052
いくつかの実施形態によると、方程式系を解き、回転行列を取得するステップ(行為1330)は、方程式が(19)の形式である、方程式系を解くことによって、回転行列を取得するステップを含んでもよい。いくつかの実施形態によると、回転行列およびtの閉形式を使用して、tを取得するステップ(行為1340)は、sを解いた後、tを(8)から取得するステップを含んでもよい。
例示的結果
図14-17は、他の既知のPnPLソルバと比較した、効率的位置特定の方法の実施形態の実験結果の略図である。図14A-14Dは、それぞれ、“Accurate and linear time pose estimation from points and lines: European Conference on Computer Vision”, Alexander Vakhitov, Jan Funke, and Francesc Moreno Noguer, Springer, 2016 および“CvxPnPL: A unified convex solution to the absolute pose estimation problem from point and line correspondences” by Agostinho, Sergio, Joao Gomes, and Alessio Del Bue, 2019(両方とも参照することによってその全体として本明細書に組み込まれる)に説明される、OPnPLおよびevxpnplを含む、異なるPnPLソルバの平均値および中央値回転および平行移動誤差を示す。
図14Aは、度単位における、異なるPnPLアルゴリズムの中央値回転誤差を示す。図14Bは、パーセンテージ単位における、異なるPnPLアルゴリズムの中央値平行移動誤差を示す。図14Cは、度単位における、異なるPnPLアルゴリズムの平均値回転誤差を示す。図14Dは、パーセンテージ単位における、異なるPnPLアルゴリズムのパーセンテージ単位における、平均値平行移動誤差を示す。図14A-Dでは、pnpl曲線40100A-Dは、いくつかの実施形態による、本明細書に説明される方法を使用した、回転および平行移動における誤差を示す。OPnPL曲線40200A-Dおよびcvxpnpl曲線40300A-Dは、pnpl曲線40100のものより一貫してより高い、パーセンテージおよび度単位における、誤差を示す。
図15Aは、異なるPnPLアルゴリズムの算出時間の略図である。図15Bは、異なるPnPLアルゴリズムの算出時間の略図である。本明細書に説明される方法を使用して、PnPL問題を解く算出時間は、50100A-Bによって表され、OPnPL曲線50200A-Bおよびcvxpnpl曲線50300A-Bは、本明細書に説明されるアルゴリズムの実施形態を含む、方法より一貫して高い算出時間を示す。
図16Aは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、ある範囲の誤差のインスタンスの数対PnPL解の対数誤差を示す。
図16Bは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解の箱ひげ図を示す。
図16Cは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解のラジアン単位における平均値回転誤差を示す。本明細書に説明されるいくつかの実施形態による、PnP問題に関する、PnPL解は、誤差60100Cを有し、これは、UPnP解60200Cに関する誤差未満であることが分かり得る。
図16Dは、本明細書に説明されるいくつかの実施形態による、PnP問題に関する、P3PおよびUPnP解と比較した、PnPL解のメートル単位における平均値位置誤差を示す。本明細書に説明されるいくつかの実施形態による、PnP問題に関する、PnPL解は、誤差60100Dを有し、これは、UPnP解60200Dに関する誤差未満であることが分かり得る。
図17A-Dは、OAPnL、DLT、LPnL、Ansar、Mirzaei、OPnPL、およびASPnLを含む、異なるPnLアルゴリズムの平均値および中央値回転および平行移動誤差を示す。OAPnLは、"A Robust and Efficient Algorithm for the PnL problem Using Algebraic Distance to Approximate the Reprojection Distance," by Zhou, Lipu, et al., 2019に説明され、参照することによってその全体として本明細書に組み込まれる。DLTは、“Absolute pose estimation from line correspondences using direct linear transformation. Computer Vision and Image Understanding” by Pibyl, B., Zemk, P., and Adk, M., 2017に説明され、参照することによってその全体として本明細書に組み込まれる。LPnLは、“Pose estimation from line correspondences: A complete analysis and a series of solutions” by Xu, C., Zhang, L., Cheng, L., and Koch, R., 2017に説明され、参照することによってその全体として本明細書に組み込まれる。Ansarは、“Linear pose estimation from points or lines” by Ansar, A., and Daniilidis, K., 2003に説明され、参照することによってその全体として本明細書に組み込まれる。Mirzaeiは、“Globally optimal pose estimation from line correspondences” by Mirzaei, F. M., and Roumeliotis, S. I., 2011に説明され、参照することによってその全体として本明細書に組み込まれる。本明細書に説明されるように、OPnPLは、“Accurate and linear time pose estimation from points and lines: European Conference on Computer Vision”において対処されている。本明細書に説明されるように、ASPnLの側面は、“Pose estimation from line correspondences: A complete analysis and a series of solutions”に説明される。
図17Aは、度単位における、異なるPnLアルゴリズムの中央値回転誤差を示す。図17Bは、パーセンテージ単位における、異なるPnLアルゴリズムの中央値平行移動誤差を示す。図17Cは、度単位における、異なるPnLアルゴリズムの平均値回転誤差を示す。図17Dは、パーセンテージ単位における、異なるPnLアルゴリズムの平均値平行移動誤差を示す。曲線70100A-Dは、本明細書に説明される方法を使用した、PnPL解の中央値および平均値回転および平行移動誤差を示す。
特徴線を使用した姿勢推定
いくつかの実施形態では、汎用アプローチの代わりに、またはそれに加え、効率的プロセスが、線のみが特徴として選択されるとき、姿勢を算出するために適用されてもよい。図18は、図10における方法1000の代替である、方法1800を図示する。方法1000におけるように、方法1800は、ブロック1810および1820において、特徴混合を決定するステップと、その混合を用いて、特徴を抽出するステップとから開始してもよい。ブロック1810における処理では、特徴混合は、線のみを含んでもよい。例えば、線のみが、図11に図示されるように、環境内で選択されてもよい。
同様に、ブロック1830では、対応が、上記に説明されるように、決定されてもよい。これらの対応から、姿勢が、サブプロセス1835において、算出されてもよい。本実施例では、処理は、特徴が少なくとも1つの点を含むかどうかに応じて、分岐し得る。該当する場合、姿勢は、少なくとも1つの点を含む、特徴のセットに基づいて、姿勢を解き得る技法を用いて、推定されてもよい。上記に説明されるような汎用アルゴリズムが、例えば、ボックス1830において、適用されてもよい。
逆に言えば、特徴のセットが、線のみを含む場合、処理は、その場合に正確かつ効率的結果を送達する、アルゴリズムによって実施されてもよい。本実施例では、処理は、ブロック3000に分岐する。ブロック3000は、下記に説明されるように、視点n線(PnL:Perspective-n-Line)問題を解いてもよい。線は、多くの場合、存在し、容易に認識可能な特徴としての役割を果たし得るため、その中で姿勢推定が所望され得る、環境では、線のみを使用して、特徴セットに関する解を具体的に提供することは、そのような環境で動作するデバイスのために効率または正確度利点を提供し得る。
いくつかの実施形態によると、方法1800のあらゆるステップは、本明細書に説明されるデバイス上および/または本明細書に説明されるもの等の遠隔サービス上で実施されてもよい。
本明細書に説明されるように、PnPL問題の特殊な場合は、視点n線(PnL)問題を含み、カメラの姿勢は、いくつかの2D/3D線対応から推定されることができる。PnL問題は、“A direct least-squares (dls) method for pnp” by Hesch, J.A., Roumeliotis, S.I.、International Conference on Computer Vision, “Upnp: An optimal o (n) solution to the absolute pose problem with universal applicability. In: European Conference on Computer Vision.” by Kneip, L., Li, H., Seo, Y.、“Revisiting the pnp problem: A fast, general and optimal solution” In: Proceedings of the IEEE by Kuang, Y., Sugimoto, S., Astrom, K., Okutomi, M.に説明されるように、PnP問題の線対応物として説明されることができ、全て、参照することによってその全体として本明細書に組み込まれる。
PnL問題は、同時位置特定およびマッピング(SLAM)、運動からの構造復元(SfM)、および拡張現実(AR)を含む、多くの用途を伴う、コンピュータビジョンおよびロボットにおける基本問題である。概して、カメラ姿勢は、いくつかのN個の2D-3D線対応から決定されることができ、N≧3である。線対応の数Nが、3である場合、問題は、P3L問題としても知られる、最小問題と呼ばれ得る。対応の数Nが、3より大きい場合、問題は、最小二乗問題として知られ得る。最小問題(例えば、N=3)および最小二乗問題(例えば、N>3)は、概して、異なる方法で解かれる。最小限および最小二乗問題に対する両方の解は、種々のロボットおよびコンピュータビジョンタスクにおいて重要な役割を果たす。その重要性に起因して、多くの労力が、両方の問題を解くために行われている。
PnL問題に関して提案されている、従来の方法およびアルゴリズムは、概して、異なるアルゴリズムを使用して、最小問題(P3L問題)および最小二乗問題を解く。例えば、従来のシステムでは、最小問題は、方程式系として公式化される一方、最小二乗問題は、最小化問題として公式化される。最小問題を最小二乗問題にアップグレードすることによって、理論上、最小の場合をハンドリングし得る、他の最小二乗解は、非効率的最小解をもたらし、最小解が、RANSACフレームワークにおいて、複数回、起動することが要求されるため、リアルタイム用途において使用するために非実践的である(例えば、その全体として本明細書に組み込まれる、Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography” by Fischler, M.A., Bolles, R.C.に説明されるように)。
最小解としての最小二乗問題に対処する、他の従来のシステムもまた、リアルタイム用途において使用するために非効率的である。最小問題に対する解は、概して、8次多項式につながるが、本明細書では、一般最小公式(GMF)として説明される、最小二乗問題解は、より複雑な方程式系を解くことを要求する。
最小二乗を最小解として対処することによって、従来のシステムは、最小二乗解の要求されるより複雑な方程式系を用いて最小解に対処することによって、最小解を解く際、非効率的である。例えば、Mirzaeiのアルゴリズム(例えば、参照することによってその全体として本明細書に組み込まれる、’Optimal estimation of vanishing points in a Manhattan world. In: 2011 International Conference on Computer Vision’ by Mirzaei, F.M., Roumeliotis, S.I.に説明されるように)は、3つの5次多項式の方程式の根を見出すことを要求し、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるアルゴリズムは、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”(参照することによってその全体として本明細書に組み込まれる)に説明されるように、27次単変量多項式の方程式をもたらし、’Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30(4), 603{614 (2019)’ by Wang, P., Xu, G., Cheng, Y., Yu, Q.(参照することによってその全体として本明細書に組み込まれる)は、サブセットベースの解を提案しており、これは、15次単変量多項式の方程式を解く必要がある。
本明細書に説明されるように、最小(P3L)問題は、概して、8次単変量方程式を解くことを要求する、したがって、いくつかの具体的幾何学的構成の場合を除き、最大で8つの解を有する(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence” by Xu, C., Zhang, L., Cheng, L., Koch, R.に説明されるように)。最小(P3L)問題に関する1つの広く採用されている方略は、いくつかの幾何学的変換によって問題を簡略化するものである(例えば、“Determination of the attitude of 3d objects from a single perspective view. IEEE transactions on pattern analysis and machine intelligence”、 “Pose determination from line-to-plane correspondences: existence condition and closed-form solutions. IEEE Transactions on Pattern Analysis & Machine Intelligence” Chen, H.H.、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”、“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30” by Wang, P., Xu, G., Cheng, Y., Yu, Q.に説明されるように)。
具体的には、引用される参考文献の側面は、単変量方程式をもたらす、未知の数を低減させるためのいくつかの具体的中間座標系について議論する。これらの方法の問題は、変換が、極小の値であり得る、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence” by Xu, C., Zhang, L., Cheng, L., Koch, R.の方程式(4)における分数の分母等、ある構成に関して、いくつかの数値的に不安定な演算を伴い得ることである。“A stable algebraic camera pose estimation for minimal configurations of 2d/3d point and line correspondences. In: Asian Conference on Computer Vision” by Zhou, L., Ye, J., Kaess, M.の側面では、四元数が、回転をパラメータ化するために使用され、P3L問題に関する代数解を導入した。いくつかの研究は、Z形状を形成する3つの線(例えば、参照することによってその全体として本明細書に組み込まれる、“A new method for pose estimation from line correspondences. Acta Automatica Sinica” 2008, by Li-Juan, Q., Feng, Z.に説明されるように)、または平面な3線合流問題(例えば、参照することによってその全体として本明細書に組み込まれる、’The planar three-line junction perspective problem with application to the recognition of polygonal patterns. Pattern recognition 26(11), 1603{1618 (1993)’ by Caglioti, V.に説明されるように)、または既知の垂直方向を伴うP3L問題(例えば、参照することによってその全体として本明細書に組み込まれる、’Camera pose estimation based on pnl with a known vertical direction. IEEE Robotics and Automation Letters 4(4), 3852{3859 (2019)’ by Lecrosnier, L., Boutteau, R., Vasseur, P., Savatier, X., Fraundorfer, F.に説明されるように)等のP3L問題の具体的構成に焦点を当てた。
最小二乗PnL問題に対する解に関する初期の研究は、主に、誤差関数公式および反復解に焦点を当てた。Liu et al.(参照することによってその全体として本明細書に組み込まれる、’Determination of camera location from 2-d to 3-d line and point correspondences. IEEE Transactions on pattern analysis and machine intelligence 12(1), 28{37 (1990)’ by Liu, Y., Huang, T.S., Faugeras, O.D.)は、2D-3D点および線対応からの制約を研究し、回転および平行移動の推定を分離した。KumarおよびHanson(参照することによってその全体として本明細書に組み込まれる、’Robust methods for estimating pose and a sensitivity analysis. CVGIP: Image understanding 60(3), 313{342 (1994)’ by Kumar, R., Hanson, A.R.)は、反復方法において、回転および平行移動をともに最適化することを提案した。彼らは、初期推定を得るためのサンプリングベースの方法を提示した。後の研究(例えば、両方とも参照することによってその全体として本明細書に組み込まれる、’Pose estimation using point and line correspondences. Real-Time Imaging 5(3), 215{230 (1999)’ by Dornaika, F., Garcia, C. およびIterative pose computation from line correspondences (1999)に説明されるように)は、反復を弱透視または疑似透視カメラモデルによって推定される姿勢から開始することを提案した。反復アルゴリズムの正確度は、初期解の品質および反復アルゴリズムのパラメータに依存する。反復方法が収束するであろうという保証は、存在しない。大部分の3D視覚問題として、線形公式が、重要な役割を果たす(例えば、参照することによって全体として本明細書に組み込まれる、’Multiple view geometry in computer vision. Cambridge university press (2003)’ by Hartley, R., Zisserman, A.に説明されるように)。直接線形変換(DLT)は、姿勢を算出するための簡単な方法を提供する(例えば、’Multiple view geometry in computer vision. Cambridge university press (2003)’ by Hartley, R., Zisserman, A.に説明されるように)。本方法は、少なくとも6つの線対応を要求する。Pribyl et al.(例えば、’Camera pose estimation from lines using pln ucker coordinates. arXiv preprint arXiv:1608.02824 (2016)’ by Pribyl, B., Zemcik, P., Cadik, M.に説明されるように)は、少なくとも9つの線を必要とする、3D線のplucker座標に基づいて、新しいDLT方法を導入した。その後の研究(例えば、’Absolute pose estimation from line correspondences using direct linear transformation. Computer Vision and Image Understanding 161, 130{144 (2017)’ by Pribyl, B., Zemcik, P., Cadik, M.に説明されるように)では、彼らは、2つのDLT方法を組み合わせ、これは、改良された性能を示し、線対応の最小数を5まで低減させた。PnPおよびPnL問題から導出される制約間の類似性を探索することによって、EPnPアルゴリズムは、PnL問題を解くように拡張される(例えば、’Accurate and linear time pose estimation from points and lines. In: European Conference on Computer Vision. pp. 583{599. Springer (2016)’ および“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence” by Xu, C., Zhang, L., Cheng, L., Koch, R.に説明されるように)。EPnPベースのPnLアルゴリズムは、N=4に関して適用可能であるが、Nが小さいとき、安定せず、平面PnL問題(すなわち、全ての線は、平面上にある)に関する具体的処理を必要とする。線形公式は、未知の制約を無視する。これは、あまり正確ではない結果をもたらし、その可用性を狭める。上記の問題を解決するために、多項公式に基づく方法が、提案された。Ansar et al. (’Linear pose estimation from points or lines. IEEE Transactions on Pattern Analysis and Machine Intelligence 25(5), 578{589 (2003)’ by Ansar, A., Daniilidis, K.)は、制約を表すために二次系を採用し、本系を解くための線形化アプローチを提示した。そのアルゴリズムは、N≧4に適用可能であるが、Nが大きいとき、あまりに低速である。RPnPアルゴリズムが動機となって、サブセットベースのPnLアプローチが、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence” by Xu, C., Zhang, L., Cheng, L., Koch, R.および“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30”において提案された。彼らは、N個の線対応をN-2個のトリプレットに分割し、各トリプレットは、P3L問題である。次いで、彼らは、各P3L問題から導出される二乗多項式の和を最小にする。サブセットベースのPnLアプローチは、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”(参照することによってその全体として本明細書に組み込まれる)に示されるように、Nが大きいとき、時間がかかるであろう。Grobner基本技法(例えば、参照することによってその全体として本明細書に組み込まれる、’Using algebraic geometry, vol. 185. Springer Science & Business Media (2006)’ by Cox, D.A., Little, J., O’shea, D.に説明されるように)を使用して、直接、多項式系を解くことが可能である。これは、一連の直接最小化方法をもたらす。文献では、CGR(例えば、参照することによってその全体として本明細書に組み込まれる、’Optimal estimation of vanishing points in a manhattan world. In: 2011 International Conference on Computer Vision. pp. 2454{ 2461. IEEE (2011)’ by Mirzaei, F.M., Roumeliotis, S.I. および’Globally optimal pose estimation from line correspondences. In: 2011 IEEE International Conference on Robotics and Automation. pp. 5581{5588. IEEE (2011)’ by Mirzaei, F.M., Roumeliotis, S.I.)および四元数(例えば、参照することによってその全体として本明細書に組み込まれる、’Accurate and linear time pose estimation from points and lines. In: European Conference on Computer Vision. pp. 583{599. Springer (2016)’ by Vakhitov, A., Funke, J., Moreno-Noguer, F.に説明されるように)が、回転をパラメータ化するために採用され、これは、多項式コスト関数をもたらした。次いで、Grobner基本技法が、コスト関数の第1の最適性条件を解くために使用される。
Grobner基本技法は、数値問題に遭遇し得るため(例えば、参照することによってその全体として本明細書に組み込まれる、’Using algebraic geometry, vol. 185. Springer Science & Business Media (2006)’ by Cox, D.A., Little, J., O’shea, D. and ’Fast and stable polynomial equation solving and its application to computer vision. International Journal of Computer Vision 84(3), 237{256 (2009)’ by Byrod, M., Josephson, K., Astrom, K.に説明されるように)、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるように、Zhou et al.は、隠れ変数多項式ソルバを導入した。彼らは、改良された正確度を示したが、依然として、線形公式に基づくアルゴリズムの大部分より有意に低速であった。PnL問題は、ある用途に関して、いくつかの拡張を有する。いくつかの用途は、複数のカメラを伴う。Lee(例えば、参照することによってその全体として本明細書に組み込まれる、’A minimal solution for non-perspective pose estimation from line correspondences. In: European Conference on Computer Vision. pp. 170{185. Springer (2016)’ by Lee, G.H.に説明されるように)は、マルチカメラシステムに関する閉形式のP3L解を提案した。最近、Hichem(例えば、参照することによってその全体として
本明細書に組み込まれる、’A direct least-squares solution to multi-view absolute and relative pose from 2d-3d perspective line pairs. In: Proceedings of the IEEE International Conference on Computer Vision Workshops (2019)’ by Abdellali, H., Frohlich, R., Kato, Z.に説明されるように)が、マルチカメラシステムのPnL問題に関する直接最小二乗解を提案した。いくつかの用途では、垂直方向は、あるセンサ(例えば、IMU)から把握される。これは、姿勢推定のための先行値として使用されることができる(例えば、参照することによってその全体として本明細書に組み込まれる、’Camera pose estimation based on pnl with a known vertical direction. IEEE Robotics and Automation Letters 4(4), 3852{3859 (2019)’および’Absolute and relative pose estimation of a multi-view camera system using 2d-3d line pairs and vertical direction. In: 2018 Digital Image Computing: Techniques and Applications (DICTA). pp. 1{8. IEEE (2018)’ by Abdellali, H., Kato, Zmに説明されるように)。単一カメラに関するPnL解は、マルチカメラシステムに拡張されることができるため(例えば、’A direct least-squares solution to multi-view absolute and relative pose from 2d-3d perspective line pairs. In: Proceedings of the IEEE International Conference on Computer Vision Workshops (2019)’に説明されるように)、本紙は、単一カメラに関するPnL問題に焦点を当てた。
望ましいPnL解は、それが、任意の可能性として考えられる入力に関して正確かつ効率的であることである。上記に述べられたように、線形公式に基づくアルゴリズムは、概して、小さいNに関して、不安定または実行不可能であって、具体的処理を必要とする、またはさらに、平面の場合に関しては、機能しない。他方では、多項公式に基づくアルゴリズムは、より良好な正確度を達成し得、より広いPnL入力に適用可能であるが、より算出上需要が高い。さらに、最小および最小二乗問題に関して統合された解を欠いている。したがって、従来から、本明細書の技法によって提供されるような最先端PnL解に優る改良に関する有意な余地が存在している。
いくつかの実施形態によると、位置特定の方法は、視点n線(PnL)問題に関する完全、正確、かつ効率的解を含み得る。いくつかの実施形態では、最小二乗問題は、一般最小公式(GMF)に変換されてもよく、これは、新規隠れ変数方法によって、最小問題と同一形態を有することができる。いくつかの実施形態では、Gram-Schmidtプロセスが、変換における特異な場合を回避するために使用されてもよい。
図30は、いくつかの実施形態による、効率的位置特定の方法3000を図示する、フローチャートである。本方法は、数nの2D/3D点対応およびmの2D/3D線対応を前提として、抽出された特徴の対応のセットを決定するステップ(行為3010)と、2N個の制約を取得するステップ(行為3020)とから開始してもよい。方法3000は、部分的線形化方法を使用して、制約のセットを再構成し、方程式系を取得するステップ(行為3030)を含んでもよい。本方法はさらに、方程式系を解き、回転行列を取得するステップ(行為3040)と、回転行列およびtの閉形式を使用して、tを取得するステップ(行為3050)とを含む。
いくつかの実施形態によると、方法3000のあらゆるステップは、本明細書に説明されるデバイス上および/または本明細書に説明されるもの等の遠隔サービス上で実施されてもよい。
いくつかの実施形態によると、方法3000の行為3020の2N個の制約は、N個の線対応
Figure 2023516656000053

毎に、形式l(RPij+t)=0(j=1,2)で記述され得る、2つの制約を含んでもよい。例えば、これは、図19と併せてさらに説明される。
図19は、いくつかの実施形態による、
Figure 2023516656000054

からの制約の例示的概略図である。PnL問題は、回転Rおよび平行移動tを含む、カメラ姿勢を、数N≧3の2D-3D線対応
Figure 2023516656000055

から推定するステップを含んでもよい。Pijからカメラへの投影は、pij=K(RPij+t)として記述されることができ、式中、pijは、同次座標のものである。lは、3次元ベクトルとして、例えば、形式l=[a;b;c(式中、a +b =1である)において、定義されてもよい。pijは、2D線l上にあるべきである。したがって、l K(RPij+t)=(K(RPij+t)=0を有する。Kは、既知であるため、Kが、最初に、算出されてもよい。表記は、lを使用して、Kを表すことによって、簡略化されてもよい。そうすることによって、i番目の対応に関する2つの制約は、l(RPij+t)=0,j=1,2として記述され得る。本明細書に説明されるように、PnL問題は、回転Rおよび平行移動tを含む、カメラ姿勢を推定するステップを含んでもよい。いくつかの実施形態によると、回転Rおよび平行移動tは、合計6自由度を有してもよい。本明細書に議論されるように、各線対応
Figure 2023516656000056

は、以下のように記述され得る、2つの制約をもたらし得る。
Figure 2023516656000057
回転Rおよび平行移動tに関して、合計6自由度が存在してもよい。各線対応
Figure 2023516656000058

は、(1’)に示されるように、2つの制約をもたらすため、少なくとも3つの対応が、姿勢を決定するために要求される。N=3は、PnL問題に関する最小の場合であって、文献では、P3L問題と呼ばれる。いくつかの具体的構成(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)を除き、本問題に関して、最大で8つの解が存在する。回転推定は、P3L問題に不可欠である。基本的に、Rの3つの未知数のうちの1つである、σにおいて、8次方程式まで低減されることができる(例えば、“A stable algebraic camera pose estimation for minimal configurations of 2d/3d point and line correspondences. In: Asian Conference on Computer Vision”, “Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”, および“Pose determination from line-to-plane correspondences: existence condition and closed-form solutions. IEEE Transactions on Pattern Analysis & Machine Intelligence”に説明されるように)。
Figure 2023516656000059

方程式(2’)は、P3L問題に関する一般最小公式(GMF)である。最小二乗PnL問題はまた、本明細書に説明される方法を使用して、GMFにまとめられることができる。
いくつかの実施形態によると、方法3000の行為3020において制約のセットを再構成するステップは、制約、すなわち、Cayley-Gibbs-Rodriguez(CGR)パラメータ化を使用したRの表現およびtの閉形式を使用することによって、二次系を生成するステップを含んでもよい。いくつかの実施形態では、CGRは、例えば、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に議論されるように、Rを表すために使用されてもよい。例えば、3次元ベクトルが、s=[S,S,S]として示されてもよい。いくつかの実施形態によると、CGRパラメータ化を使用したRの表現は、以下の方程式(3’)によって説明される形式であってもよい。(3’)では、Iは、3×3単位行列であってもよく、[s]は、3次元ベクトルsの歪行列である。(3’)では、
Figure 2023516656000060

の各要素は、3次元ベクトルs内の二次式である。
Figure 2023516656000061
いくつかの実施形態によると、行為3020のtの閉形式は、τ=-(BB)BArの形式にあってもよい。いくつかの実施形態では、tの閉形式は、最初に、(3’)を(1’)に代入し、項(1+SS)を両辺に対して乗算し、以下をもたらすことによって、導出されてもよい。
Figure 2023516656000062
第2に、以下のように、(4’)における
Figure 2023516656000063

項を拡張し、sおよびtにおける多項式を導出する。
Figure 2023516656000064

式中、aijは、sおよびtにおける、10次元ベクトルであって、(1+ss)は、3次多項式である。
方程式(5’)は、以下を定義し、
Figure 2023516656000065

(5’)を以下のように書き換えることによって、簡略化されてもよい。
Figure 2023516656000066
N個の2D-3D対応を前提として、2N個の方程式を(7’)として有することができる。(7’)の2N個の方程式をスタックすることは、以下を与えることができる。
Figure 2023516656000067

式中、A=[a11,a12,…,aN1,aN2およびB=[l,l,…,l,lである。以下に関して、(8’)をτにおける線形方程式系として取り扱い、閉形式の解を求めることができる。
Figure 2023516656000068
いくつかの実施形態によると、行為3020の二次系は、s,s,およびsにおける二次系であってもよく、以下の形式にあってもよい。
Figure 2023516656000069
いくつかの実施形態によると、部分的線形化方法を使用して、方法3000の行為3020における方程式系を取得するステップは、部分的線形化方法を使用して、PnL問題を一般最小公式(GMF)に変換するステップと、方程式系を生成するステップとを含んでもよい。
いくつかの実施形態では、部分的線形化方法は、(5’)に定義されるrにおける単項式を2つの群r=[s ,s ,s およびr=[s,s,s,s,s,1]に分割するステップと、適宜、(10’)における行列KをKおよびKに分割し、さらに、(10’)を以下のように書き換えるステップとを含んでもよい。
Figure 2023516656000070

(11’)は、次いで、以下のように書き換えられてもよい。
Figure 2023516656000071
式中、rの要素は、個々の未知数として取り扱われ得る。いくつかの実施形態によると、本方法は、rに関する行列Kが完全階数であることを要求し得る。いくつかの実施形態によると、rに対するrに関する閉形式解は、以下のように記述されてもよい。
Figure 2023516656000072
式中、方程式(13’)の-(K -1 は、3×7行列を表し得る。いくつかの実施形態によると、K((10’)のK)が、最大階数であるとき、rは、恣意的に選定されてもよい。いくつかの実施形態によると、行列K(すなわち、(10’)のK)は、雑音を伴わないデータに関する恣意的数の2D-3D線対応に関して、階数落ちであり得る。いくつかの実施形態では、K(すなわち、(10’)のK)が、階数落ちであるとき、ある入力は、rの固定された選択肢に対してKを階数落ちにさせる、または階数落ちに近似させ得る。
いくつかの実施形態によると、Kは、列ピボットを伴う、Gram-Schmidtプロセスによって決定され、3つの独立列をKから選択し、Kを生成してもよい。
Figure 2023516656000073
方程式(16’)は、使用されてもよく、Kのi番目、j番目、およびk番目の列が、Kであるように選択され、対応する単項式は、rを形成し得る。残りの列は、Kを形成するように選択されてもよく、対応する単項式は、rを形成してもよい。いくつかの実施形態によると、方程式(16’)は、他の多項式ソルバを使用して、解かれてもよい。
(13’)の表記は、C=(K -1 に簡略化されてもよく、(13’)は、以下のように、書き換えられてもよい
Figure 2023516656000074
上記の方程式系は、s,s,およびsにおいて、3つの二次方程式を含む。3つの二次方程式はそれぞれ、以下の形式を有してもよい。
Figure 2023516656000075
いくつかの実施形態によると、方程式系を解き、回転行列を取得するステップ(行為3030)は、方程式が(15’)の形式である、方程式系を解くことによって、回転行列を取得するステップを含んでもよい。いくつかの実施形態によると、方程式系は、Grobner基本アプローチを使用して、解かれてもよい。いくつかの実施形態によると、方程式系は、Kukelova et al.(例えば、参照することによってその全体として本明細書に組み込まれる、“Efficient intersection of three quadrics and applications in computer vision. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition” by Kukelova, Z., Heller, J., Fitzgibbon, A.に説明されるように)に説明される方法およびアプローチを使用して、解かれてもよく、Zhouによって説明されるアプローチを使用して、安定性を改良してもよい。
いくつかの実施形態によると、隠れ変数方法が、方程式系(14’)を解くために使用されてもよい。いくつかの実施形態では、カスタマイズされた隠れ変数方法が、方程式系を解くために使用されてもよい。例えば、カスタマイズされた隠れ変数方法は、“Using algebraic geometry, vol. 185. Springer Science & Business Media (2006)”に説明される。いくつかの実施形態では、カスタマイズされた隠れ変数方法は、(15’)において既知のものを定数として取り扱うことによって実装されてもよい。例えば、sは定数として取り扱われてもよい一方、sおよびsは、方程式系(15’)が以下の様式において記述され得るように、未知数として取り扱われる。
Figure 2023516656000076

式中、pi1(s)=c15+c17,pi2(s)=ci6+ci8およびpi3(s)=ci3 +ci9+c10である。補助変数sが、(15’)における全ての単項式が次数2を有するように、(15’)を同次二次方程式にするために使用されてもよい。これは、以下の系を生成する。
Figure 2023516656000077
=1であるとき、F=fであって、したがって、F,F,およびFのJacobian行列の行列式Jは、以下のように記述されてもよい。
Figure 2023516656000078
Jは、s,s,およびsにおける3次同次方程式であることができ、その係数は、sにおける多項式である。s,s,およびsに対するJの部分導関数全て、Fと同一形成を伴う、s,s,およびsにおける二次同次方程式であり得る、すなわち、以下である。
Figure 2023516656000079

ij(s)は、sにおける多項式であり得る。F=F=F=0の全ての非自明解において、G=G=G=0である(例えば、[10]に説明されるように)。したがって、それらは、組み合わせられ、(21’)のように、s,s,およびsに対する新しい同次系を形成し得る。
Figure 2023516656000080
Q(s)は、6×6行列であってもよく、その要素は、sおよびu=[s ,s,s ,s,s,s における多項式である。線形代数理論に基づいて、同次線形系(21’)は、det(Q(s))=0である場合、かつその場合のみ、非自明解を有し得、式中、det(Q(s))=0は、sにおける8次多項式であって、これは、GMFと同一形式である。最大で8つの解が、存在し得る。
いくつかの実施形態によると、sを求めた後、sは、(21’)の中に逆代入され、uに対する線形同次方程式系を導出することができる。いくつかの実施形態によると、sおよびsは、sを(21’)の中に逆代入し、s=1を設定することによって、線形系(21’)を通して算出されてもよい。
いくつかの実施形態によると、方法3000において回転行列を取得するステップ(行為3030)は、いったんs,s,およびsが、取得されると、(3’)を用いて、Rを算出するステップを含んでもよい。いくつかの実施形態によると、τは、(6’)によって計算されてもよい。いくつかの実施形態によると、tを取得するステップ(行為3030)は、方程式(9’)を使用して、tを取得するステップを含んでもよい。
いくつかの実施形態によると、反復方法が、例えば、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”, “Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”および“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30”に説明されるように、解を精緻化するために使用されてもよい。解は、sおよびtにおける6次多項式である、コスト関数を最小限にすることによって、精緻化されてもよい(例えば、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるように)。いくつかの実施形態では、減速ニュートンステップが、解を精緻化するために使用されてもよい(例えば、参照することによってその全体として本明細書に組み込まれる、“Revisiting the pnp problem: A fast, general and optimal solution. In: Proceedings of the IEEE International Conference on Computer Vision” by Zheng, Y., Kuang, Y., Sugimoto, S., Astrom, K., Okutomi, M. および “A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるように)。具体的には、k番目のステップに関して、sおよびtに対するコスト関数のHessianHおよび勾配gを算出する。次いで、解は、[sk+1,tk+1]=[s,t]-(H+λI-1となる。式中、λは、Levenberg/Marquardtアルゴリズムに従って、各ステップにおいて調節され(例えば、参照することによってその全体として本明細書に組み込まれる、“The levenberg-marquardt algorithm: implementation and theory. In: Numerical analysis” by More, J.J.に説明されるように)、ステップ毎にコストを低減させる。最小コストを伴う解は、解と見なされ得る。
いくつかの実施形態によると、本明細書に説明されるPnL解は、N≧3個の2D/3D線対応に適用可能である。いくつかの実施形態では、PnL問題を解く方法は、4つのステップを含んでもよい。いくつかの実施形態では、第1のステップは、2N個の制約(4’)を3つの方程式(15’)にまとめるステップを含んでもよい。いくつかの実施形態では、方程式系である、3つの方程式(15’)は、隠れ変数方法によって解かれ、回転Rおよび平行移動tを復元させてもよい。いくつかの実施形態によると、PnL解はさらに、減速ニュートンステップによって、精緻化されてもよい。図31は、いくつかの実施形態による、PnL問題を解くための例示的アルゴリズム3100を示す。
アルゴリズム3100のステップ2(行為3120)およびステップ3(行為3130)の算出複雑性は、対応の数から独立するため、O(1)である。ステップ1の主要な算出コストは、線形最小二乗問題(9’)および(13’)を解くためのものである。ステップ4の主要な算出コストは、二乗距離関数の総和を計算するためのものである。これらのステップの算出複雑性は、Nに対する線形性を増加させる。要するに、アルゴリズム3100の算出複雑性は、O(N)である。
いくつかの実施形態によると、本明細書に説明されるPnL問題の解のアルゴリズムの成分は、MinPnLと称される。図24-27は、いくつかの実施形態による、MinPnLアルゴリズムと、以前のP3Lおよび最小二乗PnLアルゴリズムの比較を示す。P3Lおよび最小二乗PnLアルゴリズムを解くための比較されるアルゴリズムは、P3L問題に関して、3つの最近の研究AlgP3L(例えば、“A stable algebraic camera pose estimation for minimal configurations of 2d/3d point and line correspondences. In: Asian Conference on Computer Vision”に説明されるように)、RP3L(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、およびSRP3L(例えば、参照することによってその全体として本明細書に組み込まれる、 ’A novel algebraic solution to the perspective-threeline pose problem. Computer Vision and Image Understanding p. 102711 (2018)’ by Wang, P., Xu, G., Cheng, Y.に説明されるように)、および最小二乗問題に関して、OAPnL、SRPnL(例えば、’A novel algebraic solution to the perspective-threeline pose problem. Computer Vision and Image Understanding p. 102711 (2018)’に説明されるように)、ASPnL(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、Ansar(例えば、’Linear pose estimation from points or lines. IEEE Transactions on Pattern Analysis and Machine Intelligence 25(5), 578{589 (2003)’に説明されるように)、Mirzaei(例えば、’Optimal estimation of vanishing points in a manhattan world. In: 2011 International Conference on Computer Vision”に説明されるように)、LPnL DLT(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、DLT Combined Lines(例えば、’Camera pose estimation from lines using pln ucker coordinates. arXiv preprint arXiv:1608.02824 (2016)’に説明されるように)、DLT Plucker Lines(例えば、“Absolute pose estimation from line correspondences using direct linear transformation. Computer Vision and Image Understanding”に説明されるように)、LPnL Bar LS(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、LPnL Bar ENull(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、cvxPnPL(例えば、“’Cvxpnpl: A unified convex solution to the absolute pose estimation problem from point and line correspondences”に説明されるように)、OPnPL、およびEPnPL Planar(例えば、“Accurate and linear time pose estimation from points and lines. In: European Conference on Computer Vision.”に説明されるように)を含む。
図24-27では、以下のメトリック(例えば、以前の研究“Absolute pose estimation from line correspondences using direct linear transformation. Computer Vision and Image Understanding” および“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるように)が、推定誤差を測定するために使用されている。具体的には、Rgtおよびtgtが、グラウンドトゥルース回転および平行移動であって、
Figure 2023516656000081

が、推定されるものであると仮定すると、回転誤差は、
Figure 2023516656000082

の軸角度表現の角度(度)として、平行移動誤差Δtは、
Figure 2023516656000083

として計算され得る。
図24-26に関して、合成データが、異なるアルゴリズムの性能を評価するために使用されている。方程式系(15’)に関する多項式ソルバが、最初に、Gram-Schmidtプロセスの影響とともに比較される、次いで、MinPnLが、最先端P3Lおよび最小二乗PnLアルゴリズムと比較される。
図24-26における比較の目的のために使用される、合成データは、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance” 、“The planar three-line junction perspective problem with application to the recognition of polygonal patterns. Pattern recognition”、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”、および“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30”(参照することによって本明細書に組み込まれる)に説明されるものと同様に生成されている。具体的には、カメラ分解能は、640×480ピクセルに、焦点距離は、800に設定されてもよい。オイラー角α、β、γが、回転行列を生成するために使用されてもよい。試行毎に、カメラは、[-10m;10m]立方体内にランダムに設置され、オイラー角は、α、γ∈[0°,360°]およびβ∈[0°,180°]から均一にサンプリングされる。次いで、N 2D/3D線対応が、ランダムに生成される。2D線の終点が、最初に、ランダムに生成され、次いで、3D終点が、2D終点を3D空間の中に投影することによって生成される。3D終点の深度は、[4m;10m]内である。次いで、これらの3D終点は、世界フレームに変換される。
ヒストグラムおよび箱ひげ図が、推定誤差を比較するために使用されてもよい。ヒストグラムは、誤差の主要な分布を提示するために使用され得る一方、箱ひげ図は、大誤差をより良好に示すために使用されてもよい。箱ひげ図では、各ボックスの中心マークは、中央値を示し、下縁および上縁は、それぞれ、25および75パーセンタイルを示す。ひげは、+/-2.7標準偏差まで延在し、本範囲外の誤差は、「+」記号を使用して、個々にプロットされる。隠れ変数(HV)多項式ソルバの数値安定性は、10,000回の試行を使用して、Grobner、E3Q3、およびRE3Q3アルゴリズムと比較される(例えば、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるように)。
図20A-Bは、結果を示す。隠れ変数ソルバは、他のアルゴリズムより安定することが明白である。“Efficient solvers for minimal problems by syzygy-based reduction. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition”、“Upnp: An optimal o(n) solution to the absolute pose problem with universal applicability. In: European Conference on Computer Vision”、および“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に説明されるアルゴリズムは、大誤差を生成する。Grobner方法のように、E3Q3およびRE3Q3は全て、行列の逆数を算出するステップを伴い、それらは、数値問題に遭遇し得、これは、これらの大誤差をもたらし得る。
本明細書に説明される方法の1つの重要なステップは、Kr=0(10’)をK=-K(13’)として再編成することである。rに関する84個の選択肢が存在する。異なる選択肢は、異なる影響を数値安定性に及ぼし得る。それぞれ、MinPn_s 、MinPnL_s、およびMinPnL_sと命名された、rの3つの選択肢、すなわち、[S ,S ,S ]、[s,s,s]および[s,s,s]を考慮する。本比較のために、対応Nの数は、4から20まで増加されており、雑音の標準偏差は、2ピクセルに設定されている。N毎に、1,000回の試行が、性能を試験するために行われている。
図23A-Bは、結果を実証する。図23Aは、異なるP3Lアルゴリズム間の度単位における平均値回転誤差の比較を示す。図23Bは、異なるP3Lアルゴリズム間の回転誤差の箱ひげ図を示す。rの固定された選定は、Kが特異行列に近似するとき、数値問題に遭遇し得る。本明細書に説明されるアルゴリズムに対する解のいくつかの実施形態で使用される、Gram-Schmidtプロセスは、本問題を解決し、したがって、より安定した結果を生成することができる。
本明細書に説明されるようなP3L問題に対する解である、MinP3Lが、AlgP3L(例えば、“A stable algebraic camera pose estimation for minimal configurations of 2d/3d point and line correspondences. In: Asian Conference on Computer Vision”に説明されるように)、RP3L(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、およびSRP3Lを含む、以前のP3Lアルゴリズムと比較されてもよい。性能を公平に比較するために、比較されるアルゴリズムが精緻化を有していないため、結果は、反復精緻化を伴わない。異なるアルゴリズムの数値安定性、すなわち、雑音を伴わない推定誤差が、検討されなければならない。10,000回の試行が、正確度を試験するために行われた。図22A-Bは、結果を示す。図22Aは、本明細書に説明されるアルゴリズムのある実施形態およびアルゴリズムAlgP3L、RP3L、およびSRP3Lの回転誤差の箱ひげ図を示す。図22Bは、本明細書に説明されるアルゴリズムのある実施形態および以前のアルゴリズムAlgP3L、RP3LおよびSRP3Lの平行移動誤差の箱ひげ図を示す。本明細書に説明される方法および技法を使用して実装される、MinP3Lの回転および平行移動誤差は、10-5より小さい。他のアルゴリズムは全て、図22の箱ひげ図内のより長い末尾によって示されるように、大誤差をもたらす。次いで、P3Lアルゴリズムの挙動は、変動雑音レベル下で検討される。ガウス雑音が、2D線の終点に追加される。標準偏差は、0.5から5ピクセルまで増加する。図23A-Bは、結果を示す。図23Aは、本明細書に説明されるアルゴリズムのある実施形態および以前のアルゴリズムAlgP3L、RP3L、およびSRP3Lの平均値回転誤差を示す。図23Bは、本明細書に説明されるアルゴリズムのある実施形態および以前のアルゴリズムAlgP3L、RP3L、およびSRP3Lの平均値平行移動誤差を示す。
本明細書に説明される技法を使用して実装される、MinP3Lアルゴリズムは、安定性を示す。雑音のない場合と同様に、比較されるアルゴリズム(例えば、“A stable algebraic camera pose estimation for minimal configurations of 2d/3d point and line correspondences. In: Asian Conference on Computer Vision”、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、はそれぞれ、本明細書に説明される技法を使用して展開されたアルゴリズムより長い末尾を有する。これは、これらのアルゴリズム内の数値的に不安定動作によって生じ得る。
参考文献“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”、および“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30”に議論されるように、心合される場合(例えば、2D線分は、画像全体内に均一に分散される)と、心合されない場合(例えば、2D線分は、[0,160]×[0,120]内に制約される)とを含む、2D線分の2つの構成が、検討された。以下の結果は、500回の独立試行からのものである。
第1の実験では、PnLアルゴリズムの性能が、変動数の対応に関して検討される。2D線終点に追加されるガウス雑音の標準偏差は、2ピクセルに設定される。第2の実験では、増加する雑音レベルの状況を検討する。σは、0.5ピクセルから5ピクセルまで0.5ピクセルずつ段階的であって、Nは、10に設定される。図24A-Dおよび25A-Dは、平均値および中央値誤差を示す。図24Aは、異なるPnLアルゴリズムの平均値回転誤差を示す。図24Bは、異なるPnLアルゴリズムの平均値平行移動誤差を示す。図24Cは、異なるPnLアルゴリズムの中央値回転誤差を示す。図24Dは、異なるPnLアルゴリズムの中央値平行移動誤差を示す。図25Aは、異なるPnLアルゴリズムの平均値回転誤差を示す。図25Bは、異なるPnLアルゴリズムの平均値平行移動誤差を示す。図25Cは、異なるPnLアルゴリズムの中央値回転誤差を示す。図25Dは、異なるPnLアルゴリズムの中央値平行移動誤差を示す。
典型的には、多項公式に基づく解は、線形解より安定する。他のアルゴリズムは、明らかに、より大きい誤差を提供する。さらに、平面構成におけるPnLアルゴリズムの性能もまた、検討される(すなわち、全ての3D線が平面上にあるとき)。平面構成は、人工環境内に広く存在する。しかしながら、多くのPnLアルゴリズムは、“A robust and efficient algorithm for the pnl problem using algebraic distance to approximate the reprojection distance”に示されるように、平面構成に関して実行不可能である。ここで、図26A-Dおよび27A-Dに示されるように、5つのPnLアルゴリズムと比較する。図26Aは、異なるPnLアルゴリズムの平均値回転誤差を示す。図26Bは、異なるPnLアルゴリズムの平均値平行移動誤差を示す。図26Cは、異なるPnLアルゴリズムの中央値回転誤差を示す。図26Dは、異なるPnLアルゴリズムの中央値平行移動誤差を示す。図27Aは、異なるPnLアルゴリズムの平均値回転誤差を示す。図27Bは、異なるPnLアルゴリズムの平均値平行移動誤差を示す。図27Cは、異なるPnLアルゴリズムの中央値回転誤差を示す。図27Dは、異なるPnLアルゴリズムの中央値平行移動誤差を示す。
本明細書に説明される技法および方法を使用して実装される、MinPnLは、最良 結果を達成する。cvxPnPLおよびASPnL(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)は、範囲外にある、大誤差を生成する。
特徴を使用してカメラの姿勢を見出すための本明細書に説明されるいくつかの方法および技法は、特徴点および特徴線が同一平面上に存在するときでも機能し得る。
実施例
実際のデータもまた、PnLアルゴリズムを評価するために使用された。MPIおよびVGGデータセットが、性能を評価するために使用される。それらは、合計10個のデータセットを含み、その特性は、表1に列挙される。ここで、グラウンドトゥルース平行移動が、ある場合には、[0;0;0]であるため、シミュレーションにおいて、相対的誤差の代わりに、絶対平行移動誤差
Figure 2023516656000084

を使用する。図28は、結果を提示する、表1を示す。Mirzaei(例えば、参照することによってその全体として本明細書に組み込まれる、’Globally optimal pose estimation from line correspondences. In: 2011 IEEE International Conference on Robotics and Automation. pp. 5581{5588. IEEE (2011)’ by Mirzaei, F.M., Roumeliotis, S.I.に説明されるように)、ASPnL(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)、およびSRPnL(例えば、“Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 30”に説明されるように)等のいくつかのアルゴリズムは、数百本の線に関してさえ、BBデータセット上で大誤差を生成する。アルゴリズムMinPnLは、OAPnLの結果より若干不良である、MC2データセットを除き、比較されるアルゴリズムの中で最良結果を達成する。しかし、MinPnLアルゴリズムは、次の節に示されるように、はるかに高速である。
Matlab 2019aを用いて、3.1 HZ intel i7ラップトップ上で、PnLアルゴリズムの算出時間が、決定された。500回の独立試行からの結果が、図29A-Cに図示される。アルゴリズムAnsarおよびcvxPnPLは、低速であって、したがって、グラフの範囲内に示されない。図29A-Cから分かるように、LPnLBarLSは、それらの試験されるもののうちで最速であるが、しかしながら、安定しない。上記に示されるように、OAPnLおよび本明細書に説明される実施形態によるアルゴリズムは、概して、最も安定する2つのアルゴリズムである。図29Bに示されるように、本明細書に説明される実施形態によるアルゴリズムは、OAPnLより約2倍高速である。MinPnLアルゴリズムは、線形アルゴリズムDLTCombined(例えば、“Absolute pose estimation from line correspondences using direct linear transformation. Computer Vision and Image Understanding”に説明されるように)およびDLT Plucker(例えば、“Camera pose estimation from lines using pln ucker coordinates. arXiv preprint”に説明されるように)と比較して類似し、Nが100以内であるとき、LPnL Bar ENull(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)より若干速く、Nが大きいとき、LPnL DLT(例えば、“Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence”に説明されるように)より高速である、起動時間を有する。
図29Aは、多くのアルゴリズムの算出時間の略図である。
図29Bは、多項式系を伴うアルゴリズムの算出時間と比較した、本明細書に説明されるアルゴリズムのある実施形態の算出時間の略図である。
図29Cは、線形変換に基づくアルゴリズムの算出時間と比較した、本明細書に説明されるアルゴリズムのある実施形態の算出時間の略図である。
さらなる考慮点
図32は、コンピュータシステム1900の例示的形式における機械の略図表現を示し、機械に本明細書で議論される方法論のうちの任意の1つまたはそれを上回るものを実施させるための命令のセットが、いくつかの実施形態に従って実行されてもよい。代替実施形態では、機械は、独立型デバイスとして動作する、または他の機械に接続(例えば、ネットワーク化)されてもよい。さらに、単一機械のみが、図示されるが、用語「機械」はまた、個々にまたはともに、命令のセット(または複数のセット)を実行し、本明細書で議論される方法論のうちの任意の1つまたはそれを上回るものを実施する、機械の任意の集合を含むものと捉えられるものとする。
例示的コンピュータシステム1900は、プロセッサ1902(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または両方)と、メインメモリ1904(例えば、読取専用メモリ(ROM)、フラッシュメモリ、動的ランダムアクセスメモリ(DRAM)、例えば、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)等)と、静的メモリ1906(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)等)とを含み、これらは、バス1908を介して相互に通信する。
コンピュータシステム1900はさらに、ディスクドライブユニット1916と、ネットワークインターフェースデバイス1920とを含んでもよい。
ディスクドライブユニット1916は、その上に本明細書に説明される方法論または機能のうちの任意の1つまたはそれを上回るものを具現化する、1つまたはそれを上回る命令のセット1924(例えば、ソフトウェア)が記憶される、機械可読媒体1922を含む。ソフトウェアはまた、コンピュータシステム1900、メインメモリ1904、およびプロセッサ1902によるその実行の間、完全にまたは少なくとも部分的に、メインメモリ1904内および/またはプロセッサ1902内に常駐し、同様に機械可読媒体を構成してもよい。
ソフトウェアはさらに、ネットワーク18を経由して、ネットワークインターフェースデバイス1920を介して、伝送または受信されてもよい。
コンピュータシステム1900は、プロジェクタを駆動し、光を生成するために使用される、ドライバチップ1950を含む。ドライバチップ1950は、その独自のデータ記憶装置1960と、その独自のプロセッサ1962とを含む。
機械可読媒体1922が、例示的実施形態では、単一媒体であるように示されるが、用語「機械可読媒体」は、1つまたはそれを上回る命令のセットを記憶する、単一媒体または複数の媒体(例えば、集中型または分散型データベースおよび/または関連付けられるキャッシュおよびサーバ)を含むものと捉えられるべきである。用語「機械可読媒体」はまた、機械による実行のための命令のセットを記憶、エンコーディング、または搬送することが可能であって、機械に、本発明の方法論のうちの任意の1つまたはそれを上回るものを実施させる、任意の媒体を含むものと捉えられるものとする。用語「機械可読媒体」は、故に、限定ではないが、ソリッドステートメモリ、光学および磁気媒体、および搬送波信号を含むものと捉えられるものとする。
種々の実施形態によると、通信ネットワーク1928は、ローカルエリアネットワーク(LAN)、携帯電話ネットワーク、Bluetooth(登録商標)ネットワーク、インターネット、または任意の他のそのようなネットワークであってもよい。
いくつかの実施形態のいくつかの側面がこれまで説明されたが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。
一実施例として、実施形態は、拡張(AR)環境に関連して説明される。本明細書に説明される技法の一部または全部は、MR環境、またはより一般的には、他のXR環境およびVR環境内に適用されてもよいことを理解されたい。
別の実施例として、実施形態は、ウェアラブルデバイス等のデバイスに関連して説明される。本明細書に説明される技法の一部または全部は、ネットワーク(クラウド等)、離散アプリケーション、および/またはデバイス、ネットワーク、および離散アプリケーションの任意の好適な組み合わせを介して実装されてもよいことを理解されたい。
そのような改変、修正、および改良は、本開示の一部であることが意図され、本開示の精神および範囲内であると意図される。さらに、本開示の利点が示されるが、本開示の全ての実施形態が、全ての説明される利点を含むわけではないことを理解されたい。いくつかの実施形態は、本明細書およびいくつかの事例において有利として説明される任意の特徴を実装しなくてもよい。故に、前述の説明および図面は、一例にすぎない。
本開示の前述の実施形態は、多数の方法のいずれかにおいて実装されることができる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェア内に実装されるとき、ソフトウェアコードが、単一コンピュータ内に提供される、または複数のコンピュータ間に分散されるかどうかにかかわらず、任意の好適なプロセッサまたはプロセッサの集合上で実行されることができる。そのようなプロセッサは、いくつか挙げると、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ、またはコプロセッサ等、当技術分野において公知の市販の集積回路コンポーネントを含む、集積回路コンポーネント内の1つまたはそれを上回るプロセッサとともに、集積回路として実装されてもよい。いくつかの実施形態では、プロセッサは、ASIC等のカスタム回路内に、またはプログラマブル論理デバイスを構成することから生じる半カスタム回路内に実装されてもよい。さらなる代替として、プロセッサは、市販、半カスタム、またはカスタムかどうかにかかわらず、より大きい回路または半導体デバイスの一部であってもよい。具体的実施例として、いくつかの市販のマイクロプロセッサは、1つまたはそれらのコアのサブセットがプロセッサを構成し得るように、複数のコアを有する。但し、プロセッサは、任意の好適なフォーマットにおける回路を使用して実装されてもよい。
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形式のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用または固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。
また、コンピュータは、1つまたはそれを上回る入力および出力デバイスを有してもよい。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用されることができる。ユーザインターフェースを提供するために使用され得る、出力デバイスの実施例は、出力の視覚的提示のためのプリンタまたはディスプレイ画面、または出力の可聴提示のためのスピーカまたは他の音生成デバイスを含む。ユーザインターフェースのために使用され得る、入力デバイスの実施例は、キーボード、およびマウス、タッチパッド、およびデジタル化タブレット等のポインティングデバイスを含む。別の実施例として、コンピュータは、発話認識を通して、または他の可聴フォーマットにおいて、入力情報を受信してもよい。図示される実施形態では、入力/出力デバイスは、コンピューティングデバイスと物理的に別個として図示される。しかしながら、いくつかの実施形態では、入力および/または出力デバイスは、プロセッサと同一ユニットまたはコンピューティングデバイスの他の要素の中に物理的に統合されてもよい。例えば、キーボードは、タッチスクリーン上のソフトキーボードとして実装され得る。いくつかの実施形態では、入力/出力デバイスは、コンピューティングデバイスから完全に接続解除され、無線接続を通して機能的に統合されてもよい。
そのようなコンピュータは、企業ネットワークまたはインターネット等、ローカルエリアネットワークまたは広域ネットワークを含む、任意の好適な形式の1つまたはそれを上回るネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する、1つまたはそれを上回るプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングまたはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードまたは中間コードとしてコンパイルされてもよい。
本側面では、本開示は、1つまたはそれを上回るコンピュータまたは他のプロセッサ上で実行されるときに、上記で議論される本開示の種々の実施形態を実装する方法を行う、1つまたはそれを上回るプログラムで符号化される、コンピュータ可読記憶媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つまたはそれを上回るフロッピー(登録商標)ディスク、コンパクトディスク(CD)、光学ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイまたは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。前述の実施例から明白なように、コンピュータ可読記憶媒体は、非一過性形式においてコンピュータ実行可能命令を提供するために十分な時間の間、情報を留保し得る。そのようなコンピュータ可読記憶媒体または複数の媒体は、上記に記載されるように、その上に記憶される1つまたは複数のプログラムが、本開示の種々の側面を実装するように1つまたはそれを上回る異なるコンピュータまたは他のプロセッサ上にロードされ得るように、トランスポータブルであることができる。本明細書で使用されるように、用語「コンピュータ可読記憶媒体」は、製造(すなわち、製造品)または機械と見なされ得るコンピュータ可読媒体のみを包含する。いくつかの実施形態では、本開示は、伝搬信号等のコンピュータ可読記憶媒体以外のコンピュータ可読媒体として具現化されてもよい。
用語「プログラム」または「ソフトウェア」は、上記に記載されるように、本開示の種々の側面を実装するようにコンピュータまたは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。
加えて、本実施形態の一側面によると、実行されると、本開示の方法を行う、1つまたはそれを上回るコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に常駐する必要はないが、本開示の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。
コンピュータ実行可能命令は、1つまたはそれを上回るコンピュータまたは他のデバイスによって実行される、プログラムモジュール等の多くの形式であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。
また、データ構造は、任意の好適な形式でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。
本開示の種々の側面は、単独で、組み合わせて、または前述の実施形態に具体的に議論されない種々の配列において使用されてもよく、したがって、その用途は、前述の説明に記載される、または図面に図示されるコンポーネントの詳細および配列に限定されない。例えば、一実施形態に説明される側面は、他の実施形態に説明される側面と任意の様式で組み合わせられてもよい。
また、本開示は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。
請求項要素を修飾するための請求項における「第1」、「第2」、「第の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、または方法の行為が行われる時間順序も含意しないが、順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
また、本明細書で使用される語句および専門用語は、説明目的のためのものであって、限定と見なされるべきではない。本明細書の「~を含む」、「~を備える」、または「~を有する」、「~を含有する」、「~を伴う」、およびその変形の使用は、その後列挙されたアイテムおよびその均等物および付加的アイテムを包含することを意味する。
いくつかの値は、「最小化」または「最適化」することによって導出されるものとして説明されている。「最小化」および「最適化」等の単語は、最小または最大可能値を見出すステップを伴い得るが、そうである必要はないことを理解されたい。むしろ、これらの結果は、ある階数のプロセスの反復または反復間の変化が閾値を下回るまでのプロセスの連続反復の実行等、実践的制約に基づいて、最小または最大値を見出すことによって達成されてもよい。

Claims (37)

  1. カメラを用いて捕捉された1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定する方法であって、前記姿勢は、回転行列および平行移動行列として表され、前記方法は、
    前記1つまたはそれを上回る画像および前記マップ内の点および/または線の組み合わせ間の対応を展開することと、
    前記対応を3つの二次多項式の方程式のセットに変換することと、
    前記回転行列に関する方程式のセットを解くことと、
    前記回転行列に基づいて、前記平行移動行列を算出することと
    を含む、方法。
  2. 前記点および/または線の組み合わせは、前記1つまたはそれを上回る画像の特性に基づいて、動的に決定される、請求項1に記載の方法。
  3. コスト関数を最小限にすることによって、前記姿勢を精緻化することをさらに含む、請求項1に記載の方法。
  4. 減速ニュートンステップを使用することによって、前記姿勢を精緻化することをさらに含む、請求項1に記載の方法。
  5. 前記対応を3つの二次多項式の方程式のセットに変換することは、
    制約のセットを前記対応から導出することと、
    前記平行移動行列の閉形式表現を形成することと、
    3Dベクトルを使用して、前記回転行列のパラメータ化を形成することと
    を含む、請求項1に記載の方法。
  6. 前記対応を3つの二次多項式の方程式のセットに変換することはさらに、階数近似によって、雑音除去することを含む、請求項1に記載の方法。
  7. 前記回転行列に関する方程式のセットを解くことは、隠れ変数方法を使用することを含む、請求項1に記載の方法。
  8. 3Dベクトルを使用して、前記回転行列のパラメータ化を形成することは、Cayley-Gibbs-Rodriguez(CGR)パラメータ化を使用することを含む、請求項1に記載の方法。
  9. 前記平行移動行列の閉形式表現を形成することは、前記制約のセットを使用して、線形方程式系を形成することを含む、請求項5に記載の方法。
  10. カメラを用いて捕捉された1つまたはそれを上回る画像に基づいて、マップに対するカメラの姿勢を決定する方法であって、前記姿勢は、回転行列および平行移動行列として表され、前記方法は、
    前記1つまたはそれを上回る画像および前記マップ内の点および/または線の組み合わせ間の複数の対応を展開することと、
    前記対応を複数の変数における方程式の優決定系セットとして表すことと、
    前記方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化することであって、前記メタ変数はそれぞれ、前記複数の変数の群を表す、ことと、
    前記方程式の最小セットに基づいて、前記メタ変数の値を算出することと、
    前記姿勢を前記メタ変数から算出することと
    を含む、方法。
  11. 前記点および/または線の組み合わせは、前記1つまたはそれを上回る画像の特性に基づいて、動的に決定されてもよい、請求項10に記載の方法。
  12. 前記姿勢を前記メタ変数から算出することは、
    前記回転行列を算出することと、
    前記回転行列に基づいて、前記平行移動行列を算出することと
    を含む、請求項11に記載の方法。
  13. 前記回転行列に基づいて、前記平行移動行列を算出することは、前記平行移動行列を、前記回転行列に基づいて、前記複数の対応を表し、前記平行移動行列に対して線形である方程式から算出することを含む、請求項11に記載の方法。
  14. 前記平行移動行列を算出することは、
    制約のセットを前記対応から導出することと、
    前記平行移動行列の閉形式表現を形成することと、
    前記制約のセットを使用して、線形方程式系を形成することと
    を含む、請求項12に記載の方法。
  15. 非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、方法を実施させ、前記方法は、
    1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の対応を展開することと、
    前記対応を3つの二次多項式の方程式のセットに変換することと、
    回転行列に関する方程式のセットを解くことと、
    前記回転行列に基づいて、平行移動行列を算出することと
    を含む、非一過性コンピュータ可読記憶媒体。
  16. 前記1つまたはそれを上回る画像内の前記点および/または線は、2次元特徴であり、
    前記マップ内の対応する特徴は、3次元特徴である、
    請求項15に記載の非一過性コンピュータ可読記憶媒体。
  17. 非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、方法を実施させ、前記方法は、
    1つまたはそれを上回る画像およびマップ内の点および/または線の組み合わせ間の複数の対応を展開することと、
    前記対応を複数の変数における方程式の優決定系セットとして表すことと、
    前記方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化することであって、前記メタ変数はそれぞれ、前記複数の変数の群を表す、ことと、
    前記方程式の最小セットに基づいて、前記メタ変数の値を算出することと、
    前記姿勢を前記メタ変数から算出することと
    を含む、非一過性コンピュータ可読記憶媒体。
  18. ポータブル電子デバイスであって、
    3D環境の1つまたはそれを上回る画像を捕捉するように構成されるカメラと、
    コンピュータ実行可能命令を実行するように構成される少なくとも1つのプロセッサであって、前記コンピュータ実行可能命令は、
    前記3D環境の前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定することと、
    位置特定サービスに、前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、マップに対する前記カメラの姿勢を決定することと、
    前記位置特定サービスから、回転行列および平行移動行列として表される前記マップに対する前記カメラの姿勢を受信することと
    を含む、前記1つまたはそれを上回る画像に基づいて、マップに対する前記カメラの姿勢を決定するための命令
    を備える、少なくとも1つのプロセッサと
    を備える、ポータブルデバイス。
  19. 前記位置特定サービスは、前記ポータブル電子デバイス上に実装される、請求項18に記載のポータブルデバイス。
  20. 前記位置特定サービスは、前記ポータブル電子デバイスから遠隔のサーバ上に実装され、前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報は、ネットワークを経由して、前記位置特定サービスに送信される、請求項18に記載のポータブルデバイス。
  21. 前記マップに対する前記カメラの姿勢を決定することは、
    前記1つまたはそれを上回る画像および前記マップ内の点および/または線の組み合わせ間の対応を展開することと、
    前記対応を3つの二次多項式の方程式のセットに変換することと、
    前記回転行列に関する方程式のセットを解くことと、
    前記回転行列に基づいて、前記平行移動行列を算出することと
    を含む、請求項19または20に記載のポータブルデバイス。
  22. 前記点および/または線の組み合わせは、前記1つまたはそれを上回る画像の特性に基づいて、動的に決定される、請求項21に記載のポータブルデバイス。
  23. 前記マップに対する前記カメラの姿勢を決定することはさらに、コスト関数を最小限にすることによって、前記姿勢を精緻化することを含む、請求項21に記載のポータブルデバイス。
  24. 前記マップに対する前記カメラの姿勢を決定することはさらに、減速ニュートンステップを使用することによって、前記姿勢を精緻化することを含む、請求項21に記載のポータブルデバイス。
  25. 前記対応を3つの二次多項式の方程式のセットに変換することは、
    制約のセットを前記対応から導出することと、
    前記平行移動行列の閉形式表現を形成することと、
    3Dベクトルを使用して、前記回転行列のパラメータ化を形成することと
    を含む、請求項21に記載のポータブルデバイス。
  26. 前記対応を3つの二次多項式の方程式のセットに変換することはさらに、階数近似によって、雑音除去することを含む、請求項21に記載のポータブルデバイス。
  27. 前記回転行列に関する方程式のセットを解くことは、隠れ変数方法を使用することを含む、請求項21に記載のポータブルデバイス。
  28. 3Dベクトルを使用して、前記回転行列のパラメータ化を形成することは、Cayley-Gibbs-Rodriguez(CGR)パラメータ化を使用することを含む、請求項25に記載のポータブルデバイス。
  29. 前記平行移動行列の閉形式表現を形成することは、前記制約のセットを使用して、線形方程式系を形成することを含む、請求項25に記載のポータブルデバイス。
  30. 前記マップに対する前記カメラの姿勢を決定することは、
    前記1つまたはそれを上回る画像および前記マップ内の点および/または線の組み合わせ間の対応を展開することと、
    前記対応を複数の変数における方程式の優決定系セットとして表すことと、
    前記方程式の優決定系セットをメタ変数の方程式の最小セットとしてフォーマット化することであって、前記メタ変数はそれぞれ、前記複数の変数の群を表す、ことと、
    前記方程式の最小セットに基づいて、前記メタ変数の値を算出することと、
    前記姿勢を前記メタ変数から算出することと
    を含む、請求項19または20に記載のポータブルデバイス。
  31. 前記点および/または線の組み合わせは、前記1つまたはそれを上回る画像の特性に基づいて、動的に決定される、請求項30に記載のポータブルデバイス。
  32. 前記姿勢を前記メタ変数から算出することは、
    前記回転行列を算出することと、
    前記回転行列に基づいて、前記平行移動行列を算出することと
    を含む、請求項30に記載のポータブルデバイス。
  33. 前記回転行列に基づいて、前記平行移動行列を算出することは、前記平行移動行列を、前記回転行列に基づいて、前記複数の対応を表し、前記平行移動行列に対して線形である方程式から算出することを含む、請求項32に記載のポータブルデバイス。
  34. 前記平行移動行列を算出することは、
    制約のセットを前記対応から導出することと、
    前記平行移動行列の閉形式表現を形成することと、
    前記制約のセットを使用して、線形方程式系を形成することと
    を含む、請求項32に記載のポータブルデバイス。
  35. 前記1つまたはそれを上回る画像内の点および線は、2次元特徴であり、
    前記マップ内の対応する特徴は、3次元特徴である、
    請求項30に記載のポータブルデバイス。
  36. カメラによって捕捉された3D環境の1つまたはそれを上回る画像に基づいて、マップに対する前記カメラの姿勢を決定するための方法であって、
    前記3D環境の前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定することと、
    位置特定サービスに、前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、前記マップに対する前記カメラの姿勢を決定することと、
    前記位置特定サービスから、回転行列および平行移動行列として表される前記マップに対する前記カメラの姿勢を受信することと
    を含む、方法。
  37. 非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、少なくとも1つのプロセッサによる実行のためのコンピュータ実行可能命令を備え、前記コンピュータ実行可能命令は、
    3D環境の1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を決定することと、
    位置特定サービスに、前記1つまたはそれを上回る画像内の点および/または線の組み合わせについての情報を送信し、マップに対するカメラの姿勢を決定することと、
    前記位置特定サービスから、回転行列および平行移動行列として表される前記マップに対する前記カメラの姿勢を受信することと
    を含む、カメラによって捕捉された3D環境の1つまたはそれを上回る画像に基づいて、マップに対する前記カメラの姿勢を決定するための命令
    を備える、非一過性コンピュータ可読媒体。
JP2022552439A 2020-03-03 2021-03-02 複数の特徴タイプに基づく効率的位置特定 Pending JP2023516656A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062984688P 2020-03-03 2020-03-03
US62/984,688 2020-03-03
US202063085994P 2020-09-30 2020-09-30
US63/085,994 2020-09-30
PCT/US2021/020403 WO2021178366A1 (en) 2020-03-03 2021-03-02 Efficient localization based on multiple feature types

Publications (2)

Publication Number Publication Date
JP2023516656A true JP2023516656A (ja) 2023-04-20
JPWO2021178366A5 JPWO2021178366A5 (ja) 2024-03-12

Family

ID=77554890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022552439A Pending JP2023516656A (ja) 2020-03-03 2021-03-02 複数の特徴タイプに基づく効率的位置特定

Country Status (5)

Country Link
US (2) US11748905B2 (ja)
EP (1) EP4115329A4 (ja)
JP (1) JP2023516656A (ja)
CN (1) CN115349140A (ja)
WO (1) WO2021178366A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022026609A1 (en) * 2020-07-29 2022-02-03 Magic Leap, Inc. Camera extrinsic calibration via ray intersections
US20220051372A1 (en) * 2020-08-12 2022-02-17 Niantic, Inc. Feature matching using features extracted from perspective corrected image
WO2023052264A1 (en) * 2021-09-29 2023-04-06 Sony Group Corporation Light-field camera, vision system for a vehicle, and method for operating a vision system for a vehicle

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872928B2 (en) 2010-09-14 2014-10-28 Adobe Systems Incorporated Methods and apparatus for subspace video stabilization
US10254118B2 (en) 2013-02-21 2019-04-09 Regents Of The University Of Minnesota Extrinsic parameter calibration of a vision-aided inertial navigation system
US9930315B2 (en) 2015-04-29 2018-03-27 Lucid VR, Inc. Stereoscopic 3D camera for virtual reality experience
EP3724713A4 (en) 2017-12-15 2021-08-25 Magic Leap, Inc. IMPROVED ITEM DETERMINATION FOR A DISPLAY DEVICE
US10964053B2 (en) * 2018-07-02 2021-03-30 Microsoft Technology Licensing, Llc Device pose estimation using 3D line clouds
CN116088783A (zh) 2018-07-24 2023-05-09 奇跃公司 用于确定和/或评价图像显示设备的定位地图的方法和装置
US10839556B2 (en) * 2018-10-23 2020-11-17 Microsoft Technology Licensing, Llc Camera pose estimation using obfuscated features

Also Published As

Publication number Publication date
US11748905B2 (en) 2023-09-05
US20240029301A1 (en) 2024-01-25
US20210279909A1 (en) 2021-09-09
EP4115329A4 (en) 2024-04-24
WO2021178366A1 (en) 2021-09-10
EP4115329A1 (en) 2023-01-11
CN115349140A (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
US10444021B2 (en) Methods for simultaneous localization and mapping (SLAM) and related apparatus and systems
US11900547B2 (en) Cross reality system for large scale environments
US11869158B2 (en) Cross reality system with localization service and shared location-based content
US11551430B2 (en) Cross reality system with fast localization
US11568605B2 (en) Cross reality system with localization service
US10366534B2 (en) Selective surface mesh regeneration for 3-dimensional renderings
JP2022551734A (ja) 複数のデバイスタイプをサポートするクロスリアリティシステム
JP2023514207A (ja) 位置特定に関するジオロケーション情報の優先順位化を伴うクロスリアリティシステム
JP2022551735A (ja) 無線フィンガプリントを用いたクロスリアリティシステム
EP4104001A1 (en) Cross reality system with map processing using multi-resolution frame descriptors
JP2023516656A (ja) 複数の特徴タイプに基づく効率的位置特定
JP2023515577A (ja) 大規模環境再構築のためのクロスリアリティシステム
WO2020072972A1 (en) A cross reality system
US20210358173A1 (en) Computationally efficient method for computing a composite representation of a 3d environment
US20240135656A1 (en) Cross reality system for large scale environments

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240301