JP2024512211A - Lidar同時位置特定およびマッピング - Google Patents

Lidar同時位置特定およびマッピング Download PDF

Info

Publication number
JP2024512211A
JP2024512211A JP2023547795A JP2023547795A JP2024512211A JP 2024512211 A JP2024512211 A JP 2024512211A JP 2023547795 A JP2023547795 A JP 2023547795A JP 2023547795 A JP2023547795 A JP 2023547795A JP 2024512211 A JP2024512211 A JP 2024512211A
Authority
JP
Japan
Prior art keywords
plane
environment
observations
subset
points
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
JP2023547795A
Other languages
English (en)
Inventor
リプ ジョウ,
アシュウィン スワミナサン,
ロメシュ アガルワル,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2024512211A publication Critical patent/JP2024512211A/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/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Figure 2024512211000001
本明細書に開示されるものは、環境情報をマッピングするためのシステムおよび方法である。いくつかの実施形態では、本システムおよび方法は、複合現実環境において情報をマッピングするために構成される。いくつかの実施形態では、本システムは、センサを用いて、環境の複数の点を捕捉することを含む、環境を走査することと、環境の平面を追跡することと、観察結果の中にキーフレームを挿入することによって、環境と関連付けられる観察結果を更新することと、平面が環境の第2の平面と同一平面であるかどうかを決定することと、平面が第2の平面と同一平面であるという決定に従って、環境と関連付けられる観察結果に対して平面バンドル調節を実施することと、平面が第2の平面と同一平面ではないという決定に従って、環境と関連付けられる観察結果の一部に対して平面バンドル調節を実施することとを含む、方法を実施するように構成される。

Description

(関連出願の相互参照)
本願は、その内容が両方とも、参照することによってその全体として本明細書に組み込まれる、2021年2月12日に出願された、米国仮出願第63/149,037号の優先権を主張する。
本開示は、一般に、環境をマッピングするためのシステムおよび方法に関する。いくつかの実施例では、光検出および測距(LiDAR)センサが、同時位置特定およびマッピング(SLAM)を使用して環境をマッピングするために使用される。
仮想環境は、コンピューティング環境において普遍的であり、ビデオゲーム(仮想環境が、ゲーム世界を表し得る)、マップ(仮想環境が、ナビゲートされるべき地形を表し得る)、シミュレーション(仮想環境が、実環境をシミュレートし得る)、デジタルストーリーテリング(仮想キャラクタが、仮想環境内で相互に相互作用し得る)、および多くの他の用途において使用を見出している。現代のコンピュータユーザは、概して、快適に仮想環境を知覚し、それと相互作用する。しかしながら、仮想環境を伴うユーザの体験は、仮想環境を提示するための技術によって限定され得る。例えば、従来のディスプレイ(例えば、2Dディスプレイ画面)およびオーディオシステム(例えば、固定スピーカ)は、人を引き付け、現実的で、かつ没入型の体験を作成するように、仮想環境を実現することが不可能であり得る。
仮想現実(「VR」)、拡張現実(「AR」)、複合現実(「MR」)、および関連技術(集合的に、「XR」)は、XRシステムのユーザにコンピュータシステム内のデータによって表される仮想環境に対応する感覚情報を提示するための能力を共有する。本開示は、VR、AR、およびMRシステム間の特異性を想定する(但し、いくつかのシステムは、一側面(例えば、視覚的側面)では、VRとしてカテゴリ化され、同時に、別の側面(例えば、オーディオ側面)では、ARまたはMRとしてカテゴリ化され得る)。本明細書で使用されるように、VRシステムは、少なくとも1つの側面においてユーザの実環境を置換する、仮想環境を提示し、例えば、VRシステムは、ユーザに、仮想環境のビューを提示し得る一方、同時に、光遮断頭部搭載型ディスプレイを用いて等、実環境のそのビューを不明瞭にする。同様に、VRシステムは、ユーザに、仮想環境に対応するオーディオを提示し得、同時に、実環境からのオーディオを遮断し得る(減衰させる)。
VRシステムは、ユーザの実環境を仮想環境と置換することからもたらされる、種々の短所を被り得る。1つの短所は、仮想環境内のユーザの視野が、(仮想環境ではなく)実環境内におけるその平衡および配向を検出する、その内耳の状態にもはや対応しなくなるときに生じ得る、乗り物酔いを感じることである。同様に、ユーザは、自身の身体および四肢(そのビューは、ユーザが実環境内において「地に足が着いている」と感じるために依拠するものである)が直接可視ではない場合、VR環境内において失見当識を被り得る。別の短所は、特に、ユーザを仮想環境内に没入させようとする、リアルタイム用途において、完全3D仮想環境を提示しなければならない、VRシステムに課される算出負担(例えば、記憶、処理力)である。同様に、そのような環境は、ユーザが、仮想環境内のわずかな不完全性にさえ敏感である傾向があり、そのいずれも、仮想環境内のユーザの没入感を破壊し得るため、没入していると見なされるために、非常に高水準の現実性に到達する必要があり得る。さらに、VRシステムの別の短所は、システムのそのような用途が、実世界内で体験する、種々の光景および音等の実環境内の広範囲の感覚データを利用することができないことである。関連短所は、実環境内の物理的空間を共有するユーザが、仮想環境内で直接見る、または相互に相互作用することが不可能であり得るため、VRシステムが、複数のユーザが相互作用し得る、共有環境を作成することに苦戦し得ることである。
本明細書で使用されるように、ARシステムは、少なくとも1つの側面において実環境に重複またはオーバーレイする、仮想環境を提示する。例えば、ARシステムは、表示される画像を提示する一方、光が、ディスプレイを通してユーザの眼の中に通過することを可能にする、透過性頭部搭載型ディスプレイを用いて等、ユーザに、実環境のユーザのビュー上にオーバーレイされる仮想環境のビューを提示し得る。同様に、ARシステムは、ユーザに、仮想環境に対応するオーディオを提示し得る一方、同時に、実環境からのオーディオを混合させる。同様に、本明細書で使用されるように、MRシステムは、ARシステムと同様に、少なくとも1つの側面において実環境に重複またはオーバーレイする、仮想環境を提示し、加えて、MRシステム内の仮想環境が、少なくとも1つの側面において実環境と相互作用し得ることを可能にし得る。例えば、仮想環境内の仮想キャラクタが、実環境内の照明スイッチを切り替え、実環境内の対応する電球をオンまたはオフにさせてもよい。別の実施例として、仮想キャラクタが、実環境内のオーディオ信号に反応してもよい(顔の表情を用いて等)。実環境の提示を維持することによって、ARおよびMRシステムは、VRシステムの前述の短所のうちのいくつかを回避し得、例えば、ユーザにおける乗り物酔いは、実環境からの視覚的キュー(ユーザ自身の身体を含む)が、可視のままであり得、そのようなシステムが、没入型であるために、ユーザに、完全に実現された3D環境を提示する必要がないため、低減される。さらに、ARおよびMRシステムは、実世界感覚入力(例えば、景色、オブジェクト、および他のユーザのビューおよび音)を利用し、その入力を拡張させる、新しい用途を作成することができる。
実環境に重複またはオーバーレイする、仮想環境を提示することは、困難であり得る。例えば、仮想環境と実環境を混合することは、仮想環境内のオブジェクトが実環境内のオブジェクトと競合しないように、実環境の複雑かつ徹底的な理解を要求し得る。さらに、実環境内の一貫性と対応する、仮想環境内の持続性を維持することが、望ましくあり得る。例えば、物理的テーブル上に表示される仮想オブジェクトが、ユーザが、視線を逸らし、動き回り、次いで、物理的テーブルに視線を戻す場合あっても、同一の場所に現れることが、望ましくあり得る。本タイプの没入感を達成するために、オブジェクトが実世界内に存在する場所およびユーザが実世界内に存在する場所の正確かつ精密な推定値を展開することが、有益であり得る。
例えば、LiDARセンサが、(例えば、ロボット用途において)環境を知覚するために使用され得る。LiDAR(または類似するセンサ)を使用するSLAM技法が、拡張現実(AR)用途を含む、自律的セキュリティ、清掃、および配送ロボット等の屋内用途のために使用され得る。視覚カメラ等のセンサのみを使用するSLAMと比較して、LiDAR SLAMは、AR等のコンピュータビジョンタスク、および3Dオブジェクト分類および意味論的セグメンテーションのために重要であり得る、より高密度の3Dマップをもたらすことができる。加えて、高密度3Dマッピングはまた、建設産業における用途を有し得る。建物の3Dマップが、装飾設計のために使用され、建築家が、建設プロセスの間に建物が設計要件を満たしているかどうかを監視することを可能にし得る。しかしながら、LiDARセンサ等のセンサを用いて屋内SLAMを実施することは、困難であり得る。
屋外環境と比較して、屋内環境は、より構造化され得る。例えば、屋内環境は、予測可能な幾何学形状(例えば、平面表面、直角)および一貫した照明を特徴とする可能性がより高くあり得る。これらの特性は、オブジェクト認識等のタスクを簡略化し得るが、より構造化された屋内環境は、その独自の課題のセットを提示する。例えば、屋内環境では、GPS信号は、利用可能ではない場合があり、これは、LiDAR(または類似するセンサ)SLAMのためのループ閉鎖検出を困難にし得る。加えて、センサを用いて屋内環境における壁または扉等の平面表面を検出するとき、表面の2つの側面のうちのどちらがセンサに面しているかが、曖昧になり得る。これは、本明細書では「二重側面」問題と称される。例えば、屋外環境では、LiDARは、概して、建物の外側を観察する。しかしながら、LiDARは、屋内環境では、平面オブジェクトの2つの側面を観察し得る。平面オブジェクトの2つの側面は、典型的には、相互に近接し得るため、これは、反復最接近点(ICP)技法の変形に基づく、LiDARオドメトリおよびマッピング(LOAM)システムに、誤ったデータ関連付けを発生させ得、これは、大きい誤差につながり得る。加えて、LOAMおよびその変形は、現在の走査を最後のものにリアルタイムで位置合わせすることによって推定される低忠実度オドメトリ姿勢を提供し得、大域姿勢を位置合わせすることは、はるかに遅くなり得る。様々なセンサ環境を横断してより速く、より誤差が少ない観察結果を取得するために、これらの効果を軽減することが、望ましい。
平面は、従来のLiDAR SLAM方法において使用され得、概して、ICPフレームワークの変形において使用され得る。しかしながら、いくつかの従来の方法では、平面は、明示的に抽出されない場合がある。例えば、平面は、従来的なICPの変形である、平面間ICPフレームワークにおいて使用され得る。しかしながら、いくつかの実施例では、平面パラメータは、概して、例えば、K最近傍探索から取得された点群の小さいパッチから推定され、明示的に抽出されない場合がある。これらの方法は、増加する誤差のサイクルをもたらし得る。例えば、姿勢誤差が、点群の中に蓄積し得、これは、ひいては、姿勢推定の正確度を低減させ得、不正確な姿勢はさらに、ひいては、大域点群を劣化させ得る。バンドル調節(BA)は、正確な解を提供し得るが、BAを実施することは、時間がかかり、算出的に集約的であり得る。
加えて、費用関数(例えば、代数誤差を最小限にするための、またはセンサ測定値からの幾何学形状の推定と関連付けられる幾何学的または統計的距離を最小限にするための関数)は、解の正確度に影響を及ぼし得る。幾何学的問題に関する費用関数が剛体変換に関して不変であることが、望ましい。平面対応に関して、費用関数を構築するための2つの方法、すなわち、平面間費用および点-平面費用が、存在し得る。点-平面費用は、点から平面までの距離の二乗として表されることができ、これは、剛体変換に対して不変である。平面間費用は、2つの平面パラメータの間の差異の測定値であり、これは、剛体変換に対して不変ではない場合がある。したがって、点-平面費用は、平面間費用と比較して、より正確な結果を発生させ得る。しかしながら、点-平面費用は、平面間費用よりも大きい最小二乗問題をもたらし得、より正確な解に到達可能ではないと見なされ得、より小さい問題(例えば、単一走査歪み補正および位置合わせ、LiDARまたは類似するセンサのものよりも少ない点を含む走査)に適用可能であり得る。
本明細書に開示されるものは、環境情報をマッピングするためのシステムおよび方法である。いくつかの実施形態では、本システムおよび方法は、複合現実環境において情報をマッピングするために構成される。いくつかの実施形態では、本システムは、センサを用いて、環境の複数の点を捕捉するステップを含む、環境を走査するステップと、環境の平面を追跡するステップと、観察結果の中にキーフレームを挿入することによって、環境と関連付けられる観察結果を更新するステップと、平面が環境の第2の平面と同一平面であるかどうかを決定するステップと、平面が第2の平面と同一平面であるという決定に従って、環境と関連付けられる観察結果に対して平面バンドル調節を実施するステップと、平面が第2の平面と同一平面ではないという決定に従って、環境と関連付けられる観察結果の一部に対して平面バンドル調節を実施するステップとを含む、方法を実施するように構成される。
いくつかの実施形態では、屋内環境のための平面LiDAR SLAMフレームワークが、開示される。いくつかの実施形態では、平面オブジェクトの2つの側面が、(例えば、LiDARセンサの、センサの)観察中心に向かうベクトル法線の方向によって区別され、二重側面問題の望ましくない効果は、低減され得る。
いくつかの実施形態では、本システムおよび方法は、平面パラメータおよびセンサ姿勢を共同で最適化するステップを含む、平面バンドル調節(PBA)を実施するステップを含む。PBAを実施することは、有利なこととして、前述で説明されるように、明示的に抽出されない平面と関連付けられる姿勢誤差およびドリフトを低減させ得る。
いくつかの実施形態では、LiDAR SLAMシステムおよび本システムを動作させる方法が、開示される。本システムおよび方法は、有利なこととして、BAの正確度および算出費用を平衡させ得る。いくつかの実施形態では、本システムは、位置特定、局所マッピング、およびPBAを含む、3つの並列コンポーネントを備える。例えば、位置特定コンポーネントは、フレーム毎に平面を追跡し、LiDAR点群を歪み補正し、新しい走査を大域平面モデルにリアルタイムで位置合わせする。加えて、歪み補正および位置合わせタスクは、2つの走査の間の小さい運動に関して近似回転行列を使用することによって、高速化され得る。局所マッピングおよびPBAコンポーネントは、ドリフトを補正し、マップを改良し、位置特定コンポーネントが正確な姿勢を提供し得ることを確実にし得る。いくつかの実施形態では、点-平面費用は、PBAに関する算出費用を低減させるために活用され得る、特殊な構造を含む。本構造に基づいて、積分点-平面費用が、形成され、局所マッピングを加速させ得る。
図1A-1Cは、本開示の実施形態による、例示的複合現実環境を図示する。 図1A-1Cは、本開示の実施形態による、例示的複合現実環境を図示する。 図1A-1Cは、本開示の実施形態による、例示的複合現実環境を図示する。
図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。
図3Aは、本開示の実施形態による、例示的複合現実ハンドヘルドコントローラを図示する。
図3Bは、本開示の実施形態による、例示的補助ユニットを図示する。
図4は、本開示の実施形態による、例示的複合現実システムに関する例示的機能ブロック図を図示する。
図5は、本開示の実施形態による、例示的SLAMシステムを図示する。
図6は、本開示の実施形態による、SLAMシステムの例示的タイミング図を図示する。
図7は、本開示の実施形態による、例示的因子グラフを図示する。
図8は、本開示の実施形態による、積分費用行列を更新する例示的概略図を図示する。
図9は、本開示の実施形態による、例示的因子グラフを図示する。
詳細な説明
実施例の以下の説明では、本明細書の一部を形成し、例証として、実践され得る具体的実施例が示される、付随の図面が、参照される。他の実施例も、使用され得、構造変更が、開示される実施例の範囲から逸脱することなく、行われ得ることを理解されたい。
全ての人々と同様に、複合現実システムのユーザは、実環境内に存在する、すなわち、「実世界」の3次元部分と、そのコンテンツの全てとが、ユーザによって知覚可能である。例えば、ユーザは、その通常の人間の感覚、すなわち、視覚、聴覚、触覚、味覚、嗅覚を使用して、実環境を知覚し、実環境内で自身の身体を移動させることによって、実環境と相互作用する。実環境内の場所は、座標空間内の座標として説明されることができ、例えば、座標は、緯度、経度、および海抜に対する高度、基準点から3つの直交次元における距離、または他の好適な値を含むことができる。同様に、ベクトルは、座標空間内の方向および大きさを有する、量を説明することができる。
コンピューティングデバイスは、例えば、デバイスと関連付けられるメモリ内に、仮想環境の表現を維持することができる。本明細書で使用されるように、仮想環境は、3次元空間の算出表現である。仮想環境は、任意のオブジェクトの表現、アクション、信号、パラメータ、座標、ベクトル、またはその空間と関連付けられる他の特性を含むことができる。いくつかの実施例では、コンピューティングデバイスの回路網(例えば、プロセッサ)は、仮想環境の状態を維持および更新することができる、すなわち、プロセッサは、第1の時間t0において、仮想環境と関連付けられるデータおよび/またはユーザによって提供される入力に基づいて、第2の時間t1における仮想環境の状態を決定することができる。例えば、仮想環境内のオブジェクトが、時間t0において、第1の座標に位置し、あるプログラムされた物理的パラメータ(例えば、質量、摩擦係数)を有し、ユーザから受信された入力が、力がある方向ベクトルにおいてオブジェクトに印加されるべきであることを示す場合、プロセッサは、運動学の法則を適用し、基本力学を使用して、時間t1におけるオブジェクトの場所を決定することができる。プロセッサは、仮想環境について既知の任意の好適な情報および/または任意の好適な入力を使用し、時間t1における仮想環境の状態を決定することができる。仮想環境の状態を維持および更新する際、プロセッサは、仮想環境内の仮想オブジェクトの作成および削除に関連するソフトウェア、仮想環境内の仮想オブジェクトまたはキャラクタの挙動を定義するためのソフトウェア(例えば、スクリプト)、仮想環境内の信号(例えば、オーディオ信号)の挙動を定義するためのソフトウェア、仮想環境と関連付けられるパラメータを作成および更新するためのソフトウェア、仮想環境内のオーディオ信号を発生させるためのソフトウェア、入力および出力をハンドリングするためのソフトウェア、ネットワーク動作を実装するためのソフトウェア、アセットデータ(例えば、仮想オブジェクトを経時的に移動させるためのアニメーションデータ)を適用するためのソフトウェア、または多くの他の可能性を含む、任意の好適なソフトウェアを実行することができる。
ディスプレイまたはスピーカ等の出力デバイスは、仮想環境のいずれかまたは全ての側面をユーザに提示することができる。例えば、仮想環境は、ユーザに提示され得る、仮想オブジェクト(無生物オブジェクト、人々、動物、光等の表現を含み得る)を含んでもよい。プロセッサは、仮想環境のビュー(例えば、原点座標、視軸、および錐台を伴う、「カメラ」に対応する)を決定し、ディスプレイに、そのビューに対応する仮想環境の視認可能場面をレンダリングすることができる。任意の好適なレンダリング技術が、本目的のために使用されてもよい。いくつかの実施例では、視認可能場面は、仮想環境内のいくつかの仮想オブジェクトのみを含み、ある他の仮想オブジェクトを除外してもよい。同様に、仮想環境は、ユーザに1つまたはそれを上回るオーディオ信号として提示され得る、オーディオ側面を含んでもよい。例えば、仮想環境内の仮想オブジェクトは、オブジェクトの場所座標から生じる音を発生させてもよい(例えば、仮想キャラクタが、発話する、または音効果を引き起こし得る)、または仮想環境は、特定の場所と関連付けられる場合とそうではない場合がある、音楽キューまたは周囲音と関連付けられてもよい。プロセッサは、「聴取者」座標に対応するオーディオ信号、例えば、仮想環境内の音の合成に対応し、聴取者座標において聴取者によって聞こえるであろうオーディオ信号をシミュレートするように混合および処理される、オーディオ信号を決定し、ユーザに、1つまたはそれを上回るスピーカを介して、オーディオ信号を提示することができる。
仮想環境は、算出構造としてのみ存在するため、ユーザは、直接、その通常の感覚を使用して、仮想環境を知覚することができない。代わりに、ユーザは、例えば、ディスプレイ、スピーカ、触覚的出力デバイス等によって、ユーザに提示されるように、間接的にのみ、仮想環境を知覚することができる。同様に、ユーザは、直接、仮想環境に触れる、それを操作する、または別様にそれと相互作用することができないが、入力データを、入力デバイスまたはセンサを介して、デバイスまたはセンサデータを使用し、仮想環境を更新し得る、プロセッサに提供することができる。例えば、カメラセンサは、ユーザが仮想環境内のオブジェクトを移動させようとしていることを示す、光学データを提供することができ、プロセッサは、そのデータを使用し、仮想環境内において、それに応じて、オブジェクトを応答させることができる。
複合現実システムは、ユーザに、例えば、透過型ディスプレイおよび/または1つまたはそれを上回るスピーカ(例えば、ウェアラブル頭部デバイスの中に組み込まれ得る)を使用して、実環境および仮想環境の側面を組み合わせる、複合現実環境(「MRE」)を提示することができる。いくつかの実施形態では、1つまたはそれを上回るスピーカは、頭部搭載型ウェアラブルユニットの外部にあってもよい。本明細書で使用されるように、MREは、実環境および対応する仮想環境の同時表現である。いくつかの実施例では、対応する実および仮想環境は、単一座標空間を共有し、いくつかの実施例では、実座標空間および対応する仮想座標空間は、変換行列(または他の好適な表現)によって相互に関連する。故に、単一座標(いくつかの実施例では、変換行列とともに)は、実環境内の第1の場所と、また、仮想環境内の第2の対応する場所とを定義することができ、逆もまた同様である。
MREでは、(例えば、MREと関連付けられる仮想環境内の)仮想オブジェクトは、(例えば、MREと関連付けられる実環境内の)実オブジェクトに対応し得る。例えば、MREの実環境が、実街灯柱(実オブジェクト)をある場所座標に備える場合、MREの仮想環境は、仮想街灯柱(仮想オブジェクト)を対応する場所座標に備えてもよい。本明細書で使用されるように、実オブジェクトは、その対応する仮想オブジェクトとともに組み合わせて、「複合現実オブジェクト」を構成する。仮想オブジェクトが対応する実オブジェクトに完璧に合致する、またはそれと整合することは、必要ではない。いくつかの実施例では、仮想オブジェクトは、対応する実オブジェクトの簡略化されたバージョンであり得る。例えば、実環境が、実街灯柱を含む場合、対応する仮想オブジェクトは、実街灯柱とほぼ同一の高さおよび半径の円筒を備えてもよい(街灯柱が形状において略円筒形であり得ることを反映する)。仮想オブジェクトをこのように簡略化することは、算出効率を可能にすることができ、そのような仮想オブジェクト上で実施されるべき計算を簡略化することができる。さらに、MREのいくつかの実施例では、実環境内の全ての実オブジェクトが、対応する仮想オブジェクトと関連付けられなくてもよい。同様に、MREのいくつかの実施例では、仮想環境内の全ての仮想オブジェクトが、対応する実オブジェクトと関連付けられなくてもよい。すなわち、いくつかの仮想オブジェクトは、いかなる実世界対応物も伴わずに、MREの仮想環境内にのみ存在し得る。
いくつかの実施例では、仮想オブジェクトは、時として著しく、対応する実オブジェクトのものと異なる、特性を有してもよい。例えば、MRE内の実環境は、緑色の2本の枝が延びたサボテン、すなわち、とげだらけの無生物オブジェクトを備え得るが、MRE内の対応する仮想オブジェクトは、人間の顔特徴および無愛想な態度を伴う、緑色の2本の腕の仮想キャラクタの特性を有してもよい。本実施例では、仮想オブジェクトは、ある特性(色、腕の数)において、その対応する実オブジェクトに類似するが、他の特性(顔特徴、性格)において、実オブジェクトと異なる。このように、仮想オブジェクトは、創造的、抽象的、誇張された、または架空の様式において、実オブジェクトを表す、または挙動(例えば、人間の性格)をそうでなければ無生物の実オブジェクトに付与する潜在性を有する。いくつかの実施例では、仮想オブジェクトは、いかなる実世界対応物も伴わない、純粋に架空の創造物(例えば、おそらく、実環境内の虚空に対応する場所における、仮想環境内の仮想モンスタ)であってもよい。
ユーザに、実環境を不明瞭にしながら、仮想環境を提示する、VRシステムと比較して、MREを提示する、複合現実システムは、仮想環境が提示される間、実環境が知覚可能なままであるであるという利点をもたらす。故に、複合現実システムのユーザは、実環境と関連付けられる視覚的およびオーディオキューを使用し、対応する仮想環境を体験し、それと相互作用することが可能である。実施例として、VRシステムのユーザは、本明細書に記述されるように、ユーザが、直接、仮想環境を知覚する、またはそれと相互作用し得ないため、仮想環境内に表示される仮想オブジェクトを知覚する、またはそれと相互作用することに苦戦し得るが、MRシステムのユーザは、その自身の実環境内の対応する実オブジェクトが見え、聞こえ、触れることによって、仮想オブジェクトと相互作用することが直感的および自然であると見出し得る。本レベルの相互作用は、ユーザの仮想環境との没入感、つながり、および関与の感覚を向上させることができる。同様に、実環境および仮想環境を同時に提示することによって、複合現実システムは、VRシステムと関連付けられる否定的な心理学的感覚(例えば、認知的不協和)および否定的な物理的感覚(例えば、乗り物酔い)を低減させることができる。複合現実システムはさらに、実世界の我々の体験を拡張または改変し得る用途に関する多くの可能性をもたらす。
図1Aは、ユーザ110が複合現実システム112を使用する、例示的実環境100を図示する。複合現実システム112は、ディスプレイ(例えば、透過型ディスプレイ)および1つまたはそれを上回るスピーカと、例えば、本明細書に説明されるような1つまたはそれを上回るセンサ(例えば、カメラ、LiDARセンサ、1つの走査の間に複数の点を捕捉するように構成されるセンサ)とを備えてもよい。示される実環境100は、その中にユーザ110が立っている、長方形の部屋104Aと、実オブジェクト122A(ランプ)、124A(テーブル)、126A(ソファ)、および128A(絵画)とを備える。部屋104Aはさらに、場所座標106を備え、これは、実環境100の原点と見なされ得る。図1Aに示されるように、その原点を点106(世界座標)に伴う、環境/世界座標系108(x-軸108X、y-軸108Y、およびz-軸108Zを備える)は、実環境100のための座標空間を定義することができる。いくつかの実施形態では、環境/世界座標系108の原点106は、複合現実システム112の電源がオンにされた場所に対応してもよい。いくつかの実施形態では、環境/世界座標系108の原点106は、動作の間、リセットされてもよい。いくつかの実施例では、ユーザ110は、実環境100内の実オブジェクトと見なされ得、同様に、ユーザ110の身体部分(例えば、手、足)は、実環境100内の実オブジェクトと見なされ得る。いくつかの実施例では、その原点を点115(例えば、ユーザ/聴取者/頭部座標)に伴う、ユーザ/聴取者/頭部座標系114(x-軸114X、y-軸114Y、およびz-軸114Zを備える)は、その上に複合現実システム112が位置する、ユーザ/聴取者/頭部のための座標空間を定義することができる。ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の1つまたはそれを上回るコンポーネントに対して定義されてもよい。例えば、ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の初期較正等の間等、複合現実システム112のディスプレイに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、ユーザ/聴取者/頭部座標系114空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、左耳座標116および右耳座標117が、ユーザ/聴取者/頭部座標系114の原点115に対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、左耳座標116および右耳座標117とユーザ/聴取者/頭部座標系114空間との間の変換を特性評価することができる。ユーザ/聴取者/頭部座標系114は、ユーザの頭部または頭部搭載型デバイスに対する、例えば、環境/世界座標系108に対する場所の表現を簡略化することができる。SLAM、ビジュアルオドメトリ、または他の技法を使用して、ユーザ座標系114と環境座標系108との間の変換が、リアルタイムで決定および更新されることができる。
図1Bは、実環境100に対応する、例示的仮想環境130を図示する。示される仮想環境130は、実長方形部屋104Aに対応する仮想長方形部屋104Bと、実オブジェクト122Aに対応する仮想オブジェクト122Bと、実オブジェクト124Aに対応する仮想オブジェクト124Bと、実オブジェクト126Aに対応する仮想オブジェクト126Bとを備える。仮想オブジェクト122B、124B、126Bと関連付けられるメタデータは、対応する実オブジェクト122A、124A、126Aから導出される情報を含むことができる。仮想環境130は、加えて、仮想モンスタ132を備え、これは、実環境100内のいかなる実オブジェクトにも対応しない。実環境100内の実オブジェクト128Aは、仮想環境130内のいかなる仮想オブジェクトにも対応しない。その原点を点134(持続的座標)に伴う、持続的座標系133(x-軸133X、y-軸133Y、およびz-軸133Zを備える)は、仮想コンテンツのための座標空間を定義することができる。持続的座標系133の原点134は、実オブジェクト126A等の1つまたはそれを上回る実オブジェクトと相対的に/それに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、持続的座標系133空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、仮想オブジェクト122B、124B、126B、および132はそれぞれ、持続的座標系133の原点134に対するその自身の持続的座標点を有してもよい。いくつかの実施形態では、複数の持続的座標系が、存在してもよく、仮想オブジェクト122B、124B、126B、および132はそれぞれ、1つまたはそれを上回る持続的座標系に対するその自身の持続的座標点を有してもよい。
図1Aおよび1Bに関して、環境/世界座標系108は、実環境100および仮想環境130の両方のための共有座標空間を定義する。示される実施例では、座標空間は、その原点を点106に有する。さらに、座標空間は、同一の3つの直交軸(108X、108Y、108Z)によって定義される。故に、実環境100内の第1の場所および仮想環境130内の第2の対応する場所は、同一の座標空間に関して説明されることができる。これは、同一の座標が両方の場所を識別するために使用されることができるため、実および仮想環境内の対応する場所を識別および表示するステップを簡略化する。しかしながら、いくつかの実施例では、対応する実および仮想環境は、共有座標空間を使用する必要はない。例えば、いくつかの実施例では(図示せず)、行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、実環境座標空間と仮想環境座標空間との間の変換を特性評価することができる。
図1Cは、同時に、実環境100および仮想環境130の側面をユーザ110に複合現実システム112を介して提示する、例示的MRE150を図示する。示される実施例では、MRE150は、同時に、ユーザ110に、実環境100からの実オブジェクト122A、124A、126A、および128A(例えば、複合現実システム112のディスプレイの透過性部分を介して)と、仮想環境130からの仮想オブジェクト122B、124B、126B、および132(例えば、複合現実システム112のディスプレイのアクティブディスプレイ部分を介して)とを提示する。本明細書に説明されるように、原点106は、MRE150に対応する座標空間のための原点として作用し得、座標系108は、座標空間のためのx-軸、y-軸、およびz-軸を定義する。
示される実施例では、複合現実オブジェクトは、座標空間108内の対応する場所を占有する、対応する対の実オブジェクトおよび仮想オブジェクト(すなわち、122A/122B、124A/124B、126A/126B)を備える。いくつかの実施例では、実オブジェクトおよび仮想オブジェクトは両方とも、同時に、ユーザ110に可視であってもよい。これは、例えば、仮想オブジェクトが対応する実オブジェクトのビューを拡張させるように設計される情報を提示する事例において望ましくあり得る(仮想オブジェクトが古代の損傷された彫像の欠けた部分を提示する、博物館用途において等)。いくつかの実施例では、仮想オブジェクト(122B、124B、および/または126B)は、対応する実オブジェクト(122A、124A、および/または126A)をオクルードするように、表示されてもよい(例えば、ピクセル化オクルージョンシャッタを使用する、アクティブピクセル化オクルージョンを介して)。これは、例えば、仮想オブジェクトが対応する実オブジェクトのための視覚的置換として作用する事例において望ましくあり得る(無生物実オブジェクトが「生きている」キャラクタとなる、双方向ストーリーテリング用途において等)。
いくつかの実施例では、実オブジェクト(例えば、122A、124A、126A)は、必ずしも仮想オブジェクトを構成しない場合がある、仮想コンテンツまたはヘルパデータと関連付けられてもよい。仮想コンテンツまたはヘルパデータは、複合現実環境内の仮想オブジェクトの処理またはハンドリングを促進することができる。例えば、そのような仮想コンテンツは、対応する実オブジェクトの2次元表現、対応する実オブジェクトと関連付けられるカスタムアセットタイプ、または対応する実オブジェクトと関連付けられる統計的データを含み得る。本情報は、不必要な算出オーバーヘッドを被ることなく、実オブジェクトに関わる計算を可能にする、または促進することができる。
いくつかの実施例では、本明細書に説明される提示はまた、オーディオ側面を組み込んでもよい。例えば、MRE150では、仮想モンスタ132は、モンスタがMRE150の周囲を歩き回る際に発生される、足音効果等の1つまたはそれを上回るオーディオ信号と関連付けられ得る。本明細書に説明されるように、複合現実システム112のプロセッサは、MRE150内の全てのそのような音の混合および処理された合成に対応するオーディオ信号を算出し、複合現実システム112内に含まれる1つまたはそれを上回るスピーカおよび/または1つまたはそれを上回る外部スピーカを介して、オーディオ信号をユーザ110に提示することができる。
例示的複合現実システム112は、ディスプレイ(接眼ディスプレイであり得る、左および右透過型ディスプレイと、ディスプレイからの光をユーザの眼に結合するための関連付けられるコンポーネントとを備え得る)と、左および右スピーカ(例えば、それぞれ、ユーザの左および右耳に隣接して位置付けられる)と、慣性測定ユニット(IMU)(例えば、頭部デバイスのつるのアームに搭載される)と、直交コイル電磁受信機(例えば、左つる部品に搭載される)と、ユーザから離れるように配向される、左および右カメラ(例えば、深度(飛行時間)カメラ)と、ユーザに向かって配向される、左および右眼カメラ(例えば、ユーザの眼移動を検出するため)とを備える、ウェアラブル頭部デバイス(例えば、ウェアラブル拡張現実または複合現実頭部デバイス)を含むことができる。しかしながら、複合現実システム112は、任意の好適なディスプレイ技術および任意の好適なセンサ(例えば、光学、赤外線、音響、LIDAR、EOG、GPS、磁気、LiDARセンサ、1つの走査の間に複数の点を走査するように構成されるセンサ)を組み込むことができる。加えて、複合現実システム112は、ネットワーキング特徴(例えば、Wi-Fi能力)を組み込み、他の複合現実システムを含む、他のデバイスおよびシステムと通信してもよい。複合現実システム112はさらに、バッテリ(ユーザの腰部の周囲に装着されるように設計されるベルトパック等の補助ユニット内に搭載され得る)と、プロセッサと、メモリとを含んでもよい。複合現実システム112のウェアラブル頭部デバイスは、ユーザの環境に対するウェアラブル頭部デバイスの座標セットを出力するように構成される、IMUまたは他の好適なセンサ等の追跡コンポーネントを含んでもよい。いくつかの実施例では、追跡コンポーネントは、入力をプロセッサに提供し、SLAM、ビジュアルオドメトリ、および/またはLiDARオドメトリアルゴリズムを実施してもよい。いくつかの実施例では、複合現実システム112はまた、ハンドヘルドコントローラ300、および/または本明細書にさらに説明されるように、ウェアラブルベルトパックであり得る補助ユニット320を含んでもよい。
図2A-2Dは、MRE(MRE150に対応し得る)または他の仮想環境をユーザに提示するために使用され得る、例示的複合現実システム200(複合現実システム112に対応し得る)のコンポーネントを図示する。図2Aは、例示的複合現実システム200内に含まれるウェアラブル頭部デバイス2102の斜視図を図示する。図2Bは、ユーザの頭部2202上に装着されるウェアラブル頭部デバイス2102の上面図を図示する。図2Cは、ウェアラブル頭部デバイス2102の正面図を図示する。図2Dは、ウェアラブル頭部デバイス2102の例示的接眼レンズ2110の縁視図を図示する。図2A-2Cに示されるように、例示的ウェアラブル頭部デバイス2102は、例示的左接眼レンズ(例えば、左透明導波管セット接眼レンズ)2108と、例示的右接眼レンズ(例えば、右透明導波管セット接眼レンズ)2110とを含む。各接眼レンズ2108および2110は、それを通して実環境が可視となり得る、透過性要素と、実環境に重複するディスプレイ(例えば、画像毎に変調された光を介して)を提示するためのディスプレイ要素とを含むことができる。いくつかの実施例では、そのようなディスプレイ要素は、画像毎に変調された光の流動を制御するための表面回折光学要素を含むことができる。例えば、左接眼レンズ2108は、左内部結合格子セット2112と、左直交瞳拡張(OPE)格子セット2120と、左射出(出力)瞳拡張(EPE)格子セット2122とを含むことができる。同様に、右接眼レンズ2110は、右内部結合格子セット2118と、右OPE格子セット2114と、右EPE格子セット2116とを含むことができる。画像毎に変調された光は、内部結合格子2112および2118、OPE2114および2120、およびEPE2116および2122を介して、ユーザの眼に転送されることができる。各内部結合格子セット2112、2118は、光をその対応するOPE格子セット2120、2114に向かって偏向させるように構成されることができる。各OPE格子セット2120、2114は、光をその関連付けられるEPE2122、2116に向かって下方に漸次的に偏向させ、それによって、形成されている射出瞳を水平に延在させるように設計されることができる。各EPE2122、2116は、その対応するOPE格子セット2120、2114から受光された光の少なくとも一部を、接眼レンズ2108、2110の背後に定義される、ユーザアイボックス位置(図示せず)に外向きに漸次的に再指向し、アイボックスに形成される射出瞳を垂直に延在させるように構成されることができる。代替として、内部結合格子セット2112および2118、OPE格子セット2114および2120、およびEPE格子セット2116および2122の代わりに、接眼レンズ2108および2110は、ユーザの眼への画像毎に変調された光の結合を制御するための格子および/または屈折および反射性特徴の他の配列を含むことができる。
いくつかの実施例では、ウェアラブル頭部デバイス2102は、左つるのアーム2130と、右つるのアーム2132とを含むことができ、左つるのアーム2130は、左スピーカ2134を含み、右つるのアーム2132は、右スピーカ2136を含む。直交コイル電磁受信機2138は、左つる部品またはウェアラブル頭部ユニット2102内の別の好適な場所に位置することができる。慣性測定ユニット(IMU)2140は、右つるのアーム2132またはウェアラブル頭部デバイス2102内の別の好適な場所に位置することができる。ウェアラブル頭部デバイス2102はまた、左深度(例えば、飛行時間)カメラ2142と、右深度カメラ2144とを含むことができる。深度カメラ2142、2144は、好適には、ともにより広い視野を網羅するように、異なる方向に配向されることができる。
図2A-2Dに示される実施例では、画像毎に変調された光の左源2124は、左内部結合格子セット2112を通して、左接眼レンズ2108の中に光学的に結合されることができ、画像毎に変調された光の右源2126は、右内部結合格子セット2118を通して、右接眼レンズ2110の中に光学的に結合されることができる。画像毎に変調された光の源2124、2126は、例えば、光ファイバ走査装置、デジタル光処理(DLP)チップまたはシリコン上液晶(LCoS)変調器等の電子光変調器を含む、プロジェクタ、または側面あたり1つまたはそれを上回るレンズを使用して、内部結合格子セット2112、2118の中に結合される、マイクロ発光ダイオード(μLED)またはマイクロ有機発光ダイオード(μOLED)パネル等の発光型ディスプレイを含むことができる。入力結合格子セット2112、2118は、画像毎に変調された光の源2124、2126からの光を、接眼レンズ2108、2110のための全内部反射(TIR)に関する臨界角を上回る角度に偏向させることができる。OPE格子セット2114、2120は、伝搬する光をTIRによってEPE格子セット2116、2122に向かって下方に漸次的に偏向させる。EPE格子セット2116、2122は、ユーザの眼の瞳孔を含む、ユーザの顔に向かって、光を漸次的に結合する。
いくつかの実施例では、図2Dに示されるように、左接眼レンズ2108および右接眼レンズ2110はそれぞれ、複数の導波管2402を含む。例えば、各接眼レンズ2108、2110は、複数の個々の導波管を含むことができ、それぞれ、個別の色チャネル(例えば、赤色、青色、および緑色)専用である。いくつかの実施例では、各接眼レンズ2108、2110は、そのような導波管の複数のセットを含むことができ、各セットは、異なる波面曲率を放出される光に付与するように構成される。波面曲率は、例えば、ユーザの正面のある距離に(例えば、波面曲率の逆数に対応する距離だけ)位置付けられる仮想オブジェクトを提示するように、ユーザの眼に対して凸面であってもよい。いくつかの実施例では、EPE格子セット2116、2122は、各EPEを横断して出射する光のPoyntingベクトルを改変することによって凸面波面曲率をもたらすために、湾曲格子溝を含むことができる。
いくつかの実施例では、表示されるコンテンツが3次元である知覚を作成するために、立体視的に調節される左および右眼像は、画像毎光変調器2124、2126および接眼レンズ2108、2110を通して、ユーザに提示されることができる。3次元仮想オブジェクトの提示の知覚される現実性は、仮想オブジェクトが立体視左および右画像によって示される距離に近似する距離に表示されるように、導波管(したがって、対応する波面曲率)を選択することによって向上されることができる。本技法はまた、立体視左および右眼像によって提供される深度知覚キューと人間の眼の自動遠近調節(例えば、オブジェクト距離依存焦点)との間の差異によって引き起こされ得る、一部のユーザによって被られる乗り物酔いを低減させ得る。
図2Dは、例示的ウェアラブル頭部デバイス2102の右接眼レンズ2110の上部からの縁視図を図示する。図2Dに示されるように、複数の導波管2402は、3つの導波管の第1のサブセット2404と、3つの導波管の第2のサブセット2406とを含むことができる。導波管の2つのサブセット2404、2406は、異なる波面曲率を出射する光に付与するために異なる格子線曲率を特徴とする、異なるEPE格子によって区別されることができる。導波管のサブセット2404、2406のそれぞれの中で、各導波管は、異なるスペクトルチャネル(例えば、赤色、緑色、および青色スペクトルチャネルのうちの1つ)をユーザの右眼2206に結合するために使用されることができる。(図2Dに図示されないが、左接眼レンズ2108の構造は、右接眼レンズ2110の構造に類似する。)
図3Aは、複合現実システム200の例示的ハンドヘルドコントローラコンポーネント300を図示する。いくつかの実施例では、ハンドヘルドコントローラ300は、把持部分346と、上部表面348に沿って配置される、1つまたはそれを上回るボタン350とを含む。いくつかの実施例では、ボタン350は、例えば、カメラ、LiDAR、または他のセンサ(複合現実システム200の頭部ユニット(例えば、ウェアラブル頭部デバイス2102)内に搭載され得る)と併せて、ハンドヘルドコントローラ300の6自由度(6DOF)運動を追跡するための光学追跡標的としての使用のために構成されてもよい。いくつかの実施例では、ハンドヘルドコントローラ300は、ウェアラブル頭部デバイス2102に対する位置または配向等の位置または配向を検出するための追跡コンポーネント(例えば、IMUまたは他の好適なセンサ)を含む。いくつかの実施例では、そのような追跡コンポーネントは、ハンドヘルドコントローラ300のハンドル内に位置付けられてもよい、および/またはハンドヘルドコントローラに機械的に結合されてもよい。ハンドヘルドコントローラ300は、ボタンの押下状態、またはハンドヘルドコントローラ300の位置、配向、および/または運動(例えば、IMUを介して)のうちの1つまたはそれを上回るものに対応する、1つまたはそれを上回る出力信号を提供するように構成されることができる。そのような出力信号は、複合現実システム200のプロセッサへの入力として使用されてもよい。そのような入力は、ハンドヘルドコントローラの位置、配向、および/または移動(転じて、コントローラを保持するユーザの手の位置、配向、および/または移動)に対応し得る。そのような入力はまた、ユーザがボタン350を押下したことに対応し得る。
図3Bは、複合現実システム200の例示的補助ユニット320を図示する。補助ユニット320は、システム200を動作させるためのエネルギーを提供するためのバッテリを含むことができ、システム200を動作させるためのプログラムを実行するためのプロセッサを含むことができる。示されるように、例示的補助ユニット320は、補助ユニット320をユーザのベルトに取り付ける等のためのクリップ2128を含む。他の形状因子も、補助ユニット320のために好適であり、ユニットをユーザのベルトに搭載することを伴わない、形状因子を含むことも明白となるであろう。いくつかの実施例では、補助ユニット320は、例えば、電気ワイヤおよび光ファイバを含み得る、多管式ケーブルを通して、ウェアラブル頭部デバイス2102に結合される。補助ユニット320とウェアラブル頭部デバイス2102との間の無線接続もまた、使用されることができる。
いくつかの実施例では、複合現実システム200は、1つまたはそれを上回るマイクロホンを含み、音を検出し、対応する信号を複合現実システムに提供することができる。いくつかの実施例では、マイクロホンは、ウェアラブル頭部デバイス2102に取り付けられる、またはそれと統合されてもよく、ユーザの音声を検出するように構成されてもよい。いくつかの実施例では、マイクロホンは、ハンドヘルドコントローラ300および/または補助ユニット320に取り付けられる、またはそれと統合されてもよい。そのようなマイクロホンは、環境音、周囲雑音、ユーザまたは第三者の音声、または他の音を検出するように構成されてもよい。
図4は、本明細書に説明される複合現実システム200(図1に関する複合現実システム112に対応し得る)等の例示的複合現実システムに対応し得る、例示的機能ブロック図を示す。図4に示されるように、例示的ハンドヘルドコントローラ400B(ハンドヘルドコントローラ300(「トーテム」)に対応し得る)は、トーテム/ウェアラブル頭部デバイス6自由度(6DOF)トーテムサブシステム404Aを含み、例示的ウェアラブル頭部デバイス400A(ウェアラブル頭部デバイス2102に対応し得る)は、トーテム/ウェアラブル頭部デバイス6DOFサブシステム404Bを含む。実施例では、6DOFトーテムサブシステム404Aおよび6DOFサブシステム404Bは、協働し、ウェアラブル頭部デバイス400Aに対するハンドヘルドコントローラ400Bの6つの座標(例えば、3つの平行移動方向におけるオフセットおよび3つの軸に沿った回転)を決定する。6自由度は、ウェアラブル頭部デバイス400Aの座標系に対して表されてもよい。3つの平行移動オフセットは、そのような座標系内におけるX、Y、およびZオフセットとして、平行移動行列として、またはある他の表現として表されてもよい。回転自由度は、ヨー、ピッチ、およびロール回転のシーケンスとして、回転行列として、四元数として、またはある他の表現として表されてもよい。いくつかの実施例では、ウェアラブル頭部デバイス400A、ウェアラブル頭部デバイス400A内に含まれる、1つまたはそれを上回る深度カメラ444(および/または1つまたはそれを上回る非深度カメラ)、および/または1つまたはそれを上回る光学標的(例えば、本明細書に説明されるようなハンドヘルドコントローラ400Bのボタン350またはハンドヘルドコントローラ400B内に含まれる専用光学標的)は、6DOF追跡のために使用されることができる。いくつかの実施例では、ハンドヘルドコントローラ400Bは、本明細書に説明されるようなカメラを含むことができ、ウェアラブル頭部デバイス400Aは、カメラと併せた光学追跡のための光学標的を含むことができる。いくつかの実施例では、ウェアラブル頭部デバイス400Aおよびハンドヘルドコントローラ400Bはそれぞれ、3つの直交して配向されるソレノイドのセットを含み、これは、3つの区別可能な信号を無線で送信および受信するために使用される。受信のために使用される、コイルのそれぞれの中で受信される3つの区別可能な信号の相対的大きさを測定することによって、ハンドヘルドコントローラ400Bに対するウェアラブル頭部デバイス400Aの6DOFが、決定され得る。加えて、6DOFトーテムサブシステム404Aは、ハンドヘルドコントローラ400Bの高速移動に関する改良された正確度および/またはよりタイムリーな情報を提供するために有用である、慣性測定ユニット(IMU)を含むことができる。
いくつかの実施例では、例えば、座標系108に対するウェアラブル頭部デバイス400Aの移動を補償するために、座標を局所座標空間(例えば、ウェアラブル頭部デバイス400Aに対して固定される座標空間)から慣性座標空間(例えば、実環境に対して固定される座標空間)に変換することが、必要になり得る。例えば、そのような変換は、ウェアラブル頭部デバイス400Aのディスプレイが、ディスプレイ上の固定位置および配向(例えば、ディスプレイの右下角における同一の位置)ではなく、仮想オブジェクトを実環境に対する予期される位置および配向に提示し(例えば、ウェアラブル頭部デバイスの位置および配向にかかわらず、前方に面した実椅子に着座している仮想人物)、仮想オブジェクトが実環境内に存在する(かつ、例えば、ウェアラブル頭部デバイス400Aが偏移および回転するにつれて、実環境内に不自然に位置付けられて現れない)という錯覚を保全するために必要であり得る。いくつかの実施例では、座標空間の間の補償変換が、座標系108に対するウェアラブル頭部デバイス400Aの変換を決定するために、SLAMおよび/またはビジュアルオドメトリプロシージャを使用して、深度カメラ444からの像を処理することによって決定されることができる。図4に示される実施例では、深度カメラ444は、SLAM/ビジュアルオドメトリブロック406に結合され、像をブロック406に提供することができる。SLAM/ビジュアルオドメトリブロック406実装は、本像を処理し、次いで、頭部座標空間と別の座標空間(例えば、慣性座標空間)との間の変換を識別するために使用され得る、ユーザの頭部の位置および配向を決定するように構成される、プロセッサを含むことができる。同様に、いくつかの実施例では、ユーザの頭部姿勢および場所に関する情報の付加的源が、IMU409から取得される。IMU409からの情報は、SLAM/ビジュアルオドメトリブロック406からの情報と統合され、ユーザの頭部姿勢および位置の高速調節に関する改良された正確度および/またはよりタイムリーな情報を提供することができる。
いくつかの実施例では、深度カメラ444は、ウェアラブル頭部デバイス400Aのプロセッサ内に実装され得る、手のジェスチャトラッカ411に、3D像を供給することができる。手のジェスチャトラッカ411は、例えば、深度カメラ444から受信された3D像を手のジェスチャを表す記憶されたパターンに合致させることによって、ユーザの手のジェスチャを識別することができる。ユーザの手のジェスチャを識別する他の好適な技法も、明白となるであろう。
いくつかの実施例では、1つまたはそれを上回るプロセッサ416は、ウェアラブル頭部デバイスの6DOFヘッドギヤサブシステム404B、IMU409、SLAM/ビジュアルオドメトリブロック406、深度カメラ444、および/または手のジェスチャトラッカ411からのデータを受信するように構成されてもよい。プロセッサ416はまた、制御信号を6DOFトーテムシステム404Aに送信し、そこから受信することができる。プロセッサ416は、ハンドヘルドコントローラ400Bがテザリングされない実施例において等、無線で、6DOFトーテムシステム404Aに結合されてもよい。プロセッサ416はさらに、オーディオ/視覚的コンテンツメモリ418、グラフィカル処理ユニット(GPU)420、および/またはデジタル信号プロセッサ(DSP)オーディオ空間化装置422等の付加的コンポーネントと通信してもよい。DSPオーディオ空間化装置422は、頭部関連伝達関数(HRTF)メモリ425に結合されてもよい。GPU420は、画像毎に変調された光の左源424に結合される、左チャネル出力と、画像毎に変調された光の右源426に結合される、右チャネル出力とを含むことができる。GPU420は、例えば、図2A-2Dに関して本明細書に説明されるように、立体視画像データを画像毎に変調された光の源424、426に出力することができる。DSPオーディオ空間化装置422は、オーディオを左スピーカ412および/または右スピーカ414に出力することができる。DSPオーディオ空間化装置422は、プロセッサ419から、ユーザから仮想音源(例えば、ハンドヘルドコントローラ320を介して、ユーザによって移動され得る)への方向ベクトルを示す入力を受信することができる。方向ベクトルに基づいて、DSPオーディオ空間化装置422は、対応するHRTFを決定することができる(例えば、HRTFにアクセスすることによって、または複数のHRTFを補間することによって)。DSPオーディオ空間化装置422は、次いで、決定されたHRTFを仮想オブジェクトによって発生された仮想音に対応するオーディオ信号等のオーディオ信号に適用することができる。これは、複合現実環境内の仮想音に対するユーザの相対的位置および配向を組み込むことによって、すなわち、その仮想音が実環境内の実音であった場合に聞こえるであろうもののユーザの予期に合致する仮想音を提示することによって、仮想音の信憑性および現実性を向上させることができる。
図4に示されるもの等のいくつかの実施例では、プロセッサ416、GPU420、DSPオーディオ空間化装置422、HRTFメモリ425、およびオーディオ/視覚的コンテンツメモリ418のうちの1つまたはそれを上回るものは、補助ユニット400C(本明細書に説明される補助ユニット320に対応し得る)内に含まれてもよい。補助ユニット400Cは、バッテリ427を含み、そのコンポーネントを給電する、および/または電力をウェアラブル頭部デバイス400Aまたはハンドヘルドコントローラ400Bに供給してもよい。そのようなコンポーネントを、ユーザの腰部に搭載され得る、補助ユニット内に含むことは、ウェアラブル頭部デバイス400Aのサイズおよび重量を限定することができ、これは、ひいては、ユーザの頭部および頸部の疲労を低減させることができる。
図4は、例示的複合現実システムの種々のコンポーネントに対応する要素を提示するが、これらのコンポーネントの種々の他の好適な配列も、当業者に明白となるであろう。例えば、補助ユニット400Cと関連付けられるものとして図4に提示される要素は、代わりに、ウェアラブル頭部デバイス400Aまたはハンドヘルドコントローラ400Bと関連付けられ得る。さらに、いくつかの複合現実システムは、ハンドヘルドコントローラ400Bまたは補助ユニット400Cを完全に無くしてもよい。そのような変更および修正は、開示される実施例の範囲内に含まれるものとして理解されるものである。
仮想コンテンツが実コンテンツに対応するように、複合現実環境において仮想コンテンツを表示することは、困難であり得る。例えば、図1Cの仮想オブジェクト122Bを実オブジェクト122Aと同一の場所に表示することが、望ましくあり得る。そうすることは、複合現実システム112のいくつかの能力を伴い得る。例えば、複合現実システム112は、実環境104Aおよび実環境104A内の実オブジェクト(例えば、ランプ122A)の3次元マップを作成してもよい。複合現実システム112はまた、(実環境内のユーザの場所に対応し得る)実環境104A内のその場所を確立してもよい。複合現実システム112はさらに、(実環境内のユーザの配向に対応し得る)実環境104A内のその配向を確立してもよい。複合現実システム112はまた、実環境104Aに対するその移動、例えば、(実環境に対するユーザの移動に対応し得る)線および/または角速度および線および/または角加速度を確立してもよい。SLAMは、ユーザ110が、部屋104Aで動き回り、実オブジェクト122Aから視線を逸らし、実オブジェクト122Aに視線を戻す際であっても、仮想オブジェクト122Bを実オブジェクト122Aと同一の場所に表示するための一方法であり得る。いくつかの実施例では、本明細書に説明されるもの等のSLAM計算は、上記に説明されるSLAM/ビジュアルオドメトリブロック406を介して複合現実システム112において実行されることができる。いくつかの実施例では、SLAM計算は、プロセッサ416、GPU420、および/または複合現実システム112の任意の他の好適なコンポーネントを介して実行されることができる。本明細書に説明されるもの等のSLAM計算は、本明細書に説明されるもの等の複合現実システム112の任意の好適なセンサを利用することができる。
SLAMを、正確であるが、算出的に効率的かつ短い待ち時間様式で起動することが、望ましくあり得る。本明細書で使用されるように、待ち時間は、複合現実システムのコンポーネントの位置または配向の変化(例えば、ウェアラブル頭部デバイスの回転)と複合現実システムにおいて表されるようなその変化の反映(例えば、ウェアラブル頭部デバイスのディスプレイにおいて提示される視野の表示角度)との間の時間遅延を指し得る。算出非効率性および/または長い待ち時間は、複合現実システム112を用いたユーザの体験に悪影響を及ぼし得る。例えば、ユーザ110が、部屋104Aを見回す場合、仮想オブジェクトは、ユーザの運動および/または長い待ち時間の結果として、「震える」ように見え得る。正確度は、没入型の複合現実環境を生成するために重要であり得、そうでなければ、実コンテンツと競合する仮想コンテンツが、ユーザに、仮想コンテンツと実コンテンツとの間の区別を思い出させ、ユーザの没入感を低下させ得る。さらに、ある場合には、待ち時間は、一部のユーザに関して乗り物酔い、頭痛、または他の否定的な身体的体験をもたらし得る。算出非効率性は、複合現実システム112が、限定された電源(例えば、バッテリ)に依存するモバイルシステムである実施形態では、悪化した問題を生じさせ得る。本明細書に説明されるシステムおよび方法は、より正確な、算出的に効率的な、および/またはより短い待ち時間のSLAMの結果として、改良されたユーザ体験を生じさせることができる。
図5は、本開示の実施形態による、SLAMシステムを動作させる例示的方法500を図示する。方法500は、有利なこととして、LiDARまたは類似するセンサ(例えば、走査の間に複数の点を捕捉するように構成されるセンサ)が、SLAMシステムのために(例えば、環境マッピング用途のために、複合現実マッピング用途のために)効率的に使用されることを可能にする。方法500は、説明される要素を含むものとして図示されるが、異なる順序の要素、付加的要素、またはより少ない要素が、本開示の範囲から逸脱することなく、含まれ得ることを理解されたい。
いくつかの実施形態では、方法500は、平面オブジェクトの2つの側面が、(例えば、LiDARセンサの、センサの)観察中心に向かうベクトル法線の方向によって区別されることを可能にし、二重側面問題の望ましくない効果は、低減され得る。例えば、観察中心は、深度センサ(例えば、LiDARセンサ、本明細書に開示されるセンサ)座標系の原点である。
いくつかの実施形態では、方法500は、平面パラメータおよびセンサ姿勢を共同で最適化するステップを含む、PBAを実施するステップを含む。PBAを実施することは、有利なこととして、明示的に抽出されない平面と関連付けられる姿勢誤差およびドリフトを低減させ得る。
いくつかの実施形態では、方法500は、有利なこととして、BAの正確度および算出費用を平衡させ得る。いくつかの実施形態では、方法500は、位置特定、局所マッピング、およびPBAを含む、3つの並列コンポーネントを備える。例えば、位置特定コンポーネントは、フレーム毎に平面を追跡し、LiDAR点群を歪み補正し、新しい走査を大域平面モデルにリアルタイムで位置合わせする。加えて、歪み補正および位置合わせタスクは、2つの走査の間の小さい運動に関して近似回転行列を使用することによって、高速化され得る。局所マッピングおよびPBAコンポーネントは、ドリフトを補正し、マップを改良し、位置特定コンポーネントが正確な姿勢を提供し得ることを確実にし得る。いくつかの実施形態では、点-平面費用は、PBAに関する算出費用を低減させるために活用され得る、特殊な構造を含む。本構造に基づいて、積分点-平面費用が、形成され、局所マッピングを加速させ得る。
本明細書のいくつかの実施例は、LiDARシステムに関して説明されるが、これらの説明が、例示的であることを理解されたい。LiDARセンサが、明確に説明されるが、他のセンサまたはより具体的な種類のセンサ(例えば、走査の間に複数の点を捕捉するように構成されるセンサ、深度センサ、深度情報を提供するセンサ、機械的スピニングLiDAR、ソリッドステートLiDAR、RGBDカメラ)が、本開示の範囲から逸脱することなく、説明される動作を実施するために使用され、説明されるシステムの中に組み込まれ、類似する説明される利益を達成し得ることを理解されたい。加えて、LiDARセンサ(または類似するセンサ)の使用が、適宜、深度カメラ、RGBカメラ、音響センサ、赤外線センサ、GPSユニット、および/または慣性測定ユニット(IMU)等の他のセンサの使用によって補完され得ることが想定される。例えば、そのような補完的センサは、LiDARセンサによって提供されるデータを精緻化するために、冗長性を提供するために、または低減された電力の動作を可能にするために、LiDARと併せて使用されることができる。
本明細書の実施例は、複合現実デバイス(例えば、複合現実システム112、複合現実システム200、図4に関して説明される複合現実システム)、モバイルデバイス(例えば、スマートフォンまたはタブレット)、またはロボットデバイス等のLiDARまたは類似するセンサを含むデバイスを用いて実施されてもよい、および/または(例えば、第2のデバイスの要件を簡略化する、または低減させるために)第2のデバイス(例えば、環境マッピング情報を伝送および/または受信するように構成されるデバイス、LiDARまたは類似するセンサを含むデバイス、環境マッピング情報を受信するように構成される、LiDARまたは類似するセンサを含まないデバイス)と通信するように構成される、第1のデバイス(例えば、クラウドコンピューティングデバイス、サーバ、コンピューティングデバイス)を用いて実施されてもよい。
いくつかの実施形態では、本明細書で実施されるシステムおよび方法からの結果(例えば、PBA結果、点群、キーフレーム、姿勢、計算結果)は、(例えば、環境マッピング情報を取得するために)結果を使用する第1のデバイス内に、および/または(例えば、環境マッピング情報を取得するために)第2のデバイスであって、結果を要求および/または受信するように構成される、第2のデバイスと通信するように構成される、第1のデバイス内に記憶される。結果を記憶することによって、環境マッピング情報を処理および/または取得することと関連付けられる時間は、低減され得(例えば、結果は、再算出される必要がない、結果は、より高速のデバイス上で算出され得る)、環境マッピング情報を処理および/または取得するステップは、簡略化され得る(例えば、結果は、より低速の、および/またはバッテリを消費するデバイス上で算出される必要がない)。
いくつかの実施形態では、本明細書に説明される方法を実施するための命令は、本デバイスに事前ロードされる(例えば、本デバイスを使用することに先立って、本デバイスに事前インストールされる)。いくつかの実施形態では、本明細書に説明される方法を実施するための命令は、デバイスにダウンロードされてもよい(例えば、後で本デバイスにインストールされる)。いくつかの実施形態では、本明細書に説明される方法および動作は、オフラインで実施されてもよい(例えば、マッピングは、マッピングを使用するシステムがアクティブではない間にオフラインで実施される)。いくつかの実施形態では、本明細書に説明される方法および動作は、リアルタイムで実施されてもよい(例えば、マッピングは、マッピングを使用するシステムがアクティブである間にリアルタイムで実施される)。
いくつかの実施形態では、LiDAR走査

は、同時に捕捉される場合とそうではない場合がある、点のセットを含む。走査

の姿勢は、

における最後の点が捕捉されたときの時間における大域フレームに対するLiDARフレームの剛体変換として定義され得る。本明細書に説明されるように、剛体変換は、回転および平行移動として表され得る。

変換は、変換行列と関連付けられ得る。
いくつかの実施形態では、回転行列Rが、特殊な直交群SO(3)内に位置する。Rを表すために、角度-軸パラメータ表現ω=[ω;ω;ω]が、使用され得、Tは、(例えば、本明細書に説明される最適化のために)x=[ω;t]としてパラメータ化され得る。ωの歪み行列は、以下として定義され得る。
上記では、[ω]が、恒等式において多様体SO(3)の接空間so(3)内に位置する。指数写像exp:so(3)→SO(3)は、以下として表され得る。
平面オブジェクトは、2つの側面を有し得、いくつかの事例では、2つの側面は、相互に近接する。上記に議論されるように、平面オブジェクトの2つの側面の近接は、曖昧誤差を引き起こし得、平面オブジェクトのどの側面がセンサに面しているかは、曖昧である(例えば、二重側面問題)。例えば、ロボットが、部屋に入り、意図される側面とは反対に位置する壁の側面を誤って捕捉し得る。平面オブジェクトの2つの側面は、平面に対して法線であり、観察中心(例えば、LiDARセンサの中心、センサの中心)に向かって指向されるベクトルを識別することによって区別され得る。
平面は、π=[n;d]によって表され得、式中、nは、||n||=1で観察中心に向かう法線ベクトルであり、dは、原点から平面までの符号付き距離である。平面をパラメータ化するために、最近接点(CP)ベクトルη=ndが、使用され得る。
議論されるように、平面は、πによって表され得る。平面πは、大域座標系において表され得、pは、局所座標系におけるπの観察結果である。局所座標系から大域座標系への変換行列は、上記に議論されるように、Tであり得る。

は、pの同次座標系であり得る。点-平面残差δが、以下として表され得る。
いくつかの実施形態では、方法500は、新しい走査

を実施するステップを含む(ステップ502)。例えば、新しいLiDAR走査が、実施される。別の実施例として、複数の点(例えば、数十の点、数百の点、数千の点)を備える走査が、実施される。
いくつかの実施形態では、LiDARセンサは、最初のフレームが運動の歪みに悩まされないように、静止ステータスから開始する。平面は、任意の好適な方法を使用して、LiDAR点群から抽出されてもよい。例えば、平面は、領域成長方法に基づいて抽出されてもよく、各点の法線が、推定されてもよく、点群は、類似する法線を伴う点をクラスタリングすることによってセグメント化されてもよい。クラスタ毎に、RANSACまたは類似するアルゴリズムが、平面を検出するために使用されてもよい。いくつかの実施形態では、閾値量を上回る点(例えば、50個)を含む平面は、保たれ、閾値量を下回る点を含む平面は、破棄される。
いくつかの実施形態では、方法500は、位置特定を実施するステップを含む(ステップ504)。位置特定を実施するステップは、平面を追跡するステップ(例えば、フレーム毎に追跡するステップ、走査毎に追跡するステップ)を含んでもよい。各局所平面は、大域平面と関連付けられ得、本関係は、追跡の間に維持され得る。フレーム毎または走査毎に平面を追跡することによって、算出時間は、大域平面と局所観察結果との間のデータ関連付けが保たれ得るため、節約され得る。別の例示的利点として、局所-大域平面対応に起因して、点-平面費用は、同時に点群(例えば、大域点群)を歪み補正し、姿勢を推定することを可能にされる。回転行列の一次近似式(本明細書に説明されるような)が、算出を簡略化するために使用されてもよい。位置特定を実施するステップはまた、現在の走査を大域点群の中に位置合わせするステップを含んでもよい。
例えば、走査

は、2つの連続する走査であり、

は、

において検出されたi番目の平面の点のセットである、パラメータπk-1,iであり、

は、m番目の大域平面

と関連付けられる。局所-大域点-平面対応のセットが、

として表され得る。
例示的方法によると、KD木が、

に関して構築され得る。点

毎に、

におけるn個の最近傍点(例えば、n=2)が、見出される。冗長な点は、点セット

を求めるために排除されてもよい。RANSACアルゴリズム(または別の好適なアルゴリズム)が、

から平面πk,iをフィッティングし、インライヤセット

を求めるために適用されてもよい。

は、πk,iからの閾値距離(例えば、5cm)よりも小さい近傍点を収集することによって、拡張され得る。

における点の数が、閾値(例えば、50)よりも大きく、πk,iとπk-1,iとの間の角度が、閾値角度(例えば、10度)よりも小さい場合、点-平面対応のセット

が、走査

に関して求められ得る。
図6は、本開示の実施形態による、SLAMシステムの例示的タイミング図600を図示する。タイミング図は、走査の間に捕捉された点を図示し得る。例えば、

における点が、間隔Δtを伴う[tk-1,t]の間に捕捉され得る。時間t∈[tk-1,t]における点(例えば、LiDAR点、センサ点)に関して、姿勢

は、Tk-1とTとの間に相対姿勢Tk,k-1を補間(例えば、線形補間)することによって求められ得る。
例示的方法500に再び目を向けると、位置特定を実施するステップはまた、姿勢推定および/または姿勢歪み補正を実施するステップを含んでもよい。例えば、走査k-1と走査kとの間の剛体変換は、Tk,k-1として定義され得、(Rk,k-1,tk,k-1)は、対応する回転および平行移動であり得る。ωk、k-1は、Rk,k-1の角度-軸表現であり得、xk,k-1=[ωk,k-1;tk,k-1]が、Tk,k-1をパラメータ化するために使用され得る。
走査k-1および走査kの最後の点における剛体変換は、それぞれ、Tk-1およびTであり得る。Tk-1と、Tと、Tk,k-1との間の関係は、以下によって与えられ得る。

k,k-1が、計算される場合、Tk,k-1が、求められ得、Tが、解かれ得る。
LiDARの測定値は、異なる時間に取得され得る。LiDARが、測定値が取得される間に移動しているとき、LiDAR点群は、運動によって歪められ得る。歪みは、点毎に姿勢を補間(例えば、線形補間)することによって低減され得る。tk-1およびtは、それぞれ、走査k-1およびkの最後の点の時間であり得る。t∈(tk-1,t]に関して、sは、以下として定義され得る。
次いで、t∈[tk-1,t]における剛体変換



が、線形補間によって推定され得る。
上記に議論されるように、点-平面対応のセット

が、走査

に関して求められ得る。

およびj番目の点

が、時間tk,i,jにおいて捕捉され得る。

に関する残差は、以下として記述され得る。
以下の方程式が、定義され得る。
方程式(8)を(7)に代入することによって、以下となる。
点-平面対応のN個のセット

が、存在し得、

は、Nk,i個の点を有し得る。xk,k-1に関する最小二乗費用関数は、以下であり得る。
方程式(10)によって提示される最小二乗問題は、レーベンバーグ-マルカート(LM)法によって解かれ得る。
いくつかの実施形態では、走査内の運動は、小さい。したがって、

(例えば、方程式(6)から)は、一次テイラー展開によって近似され得る。
加えて、以下が、定義され得る。
方程式(11)における一次近似式および方程式(12)の定義を方程式(9)に代入し、(9)を展開することによって、xk,k-1に対する線形制約が、求められ得る。

式中、

からの制約の全てをスタックすることによって、xk,k-1に関する線形系が、求められ得る。
したがって、閉形式解が、求められ得、

である。Rk,k-1は、指数写像(例えば、方程式(2))によって復元され得る。
いくつかの実施形態では、

の回転が、大きいとき、方程式(11)における一次テイラー展開は、方程式(2)を十分に近似させない場合がある。

の回転が、大きいとき、解は、反復的に精緻化され得る。例えば、方程式(14)に基づく初期推定

が、初期変換行列

を発生させ得る。初期推定および方程式(2)から、

が、計算され得る。

が、度閾値(例えば、1度)を上回る場合、以下が、更新され得、

であり、式中、

は、方程式(6)によって計算される、時間tk,i,jにおける

の線形補間である。
更新に基づいて、新しい

が、方程式(14)に関する新しい線形系を発生させるために使用され得る。新しい線形系は、

、続けて、

を求めるために解かれ得る。これらのステップは、

が度閾値(例えば、1度)を下回るまで繰り返される。例えば、n回の反復が、実施される場合、Tk,k-1に関する最終結果が、以下によって復元され得る。
位置特定を実施するステップはまた、新しいキーフレームが挿入される必要があるかどうかを決定するステップを含んでもよい。例えば、新しいキーフレームは、以下の条件のうちの1つが満たされる、すなわち、(1)現在の走査と最後のキーフレームとの間の距離が、閾値距離(例えば、0.2m)よりも大きい、または(2)現在の走査における点の閾値パーセンテージ(例えば、20%)が、追跡されない場合、挿入される必要がある。新しいキーフレームが挿入される必要があるという決定に従って、新しいキーフレームが、挿入される。いくつかの実施形態では、新しいキーフレームが挿入されることに応答して、局所マッピングが、実施される。いくつかの実施例では、これらの条件のうちの1つが、満たされ、最後のキーフレームに関する局所マッピングが、実施されると、局所マッピングが、新しく挿入されたキーフレームに関して実施される。
いくつかの実施形態では、方法500は、局所マッピングを実施するステップを含む(ステップ506)。局所マッピングの間、ウィンドウ内のキーフレーム姿勢および/またはこれらのキーフレームによって観察される平面は、最適化され得る一方、ウィンドウ外のキーフレーム姿勢は、固定され続ける。局所マッピングを実施するステップは、残りの点群における平面を検出するステップを含んでもよい。
実施例として、新しいキーフレームに関して、対応する走査は、方程式(6)の変換を適用することによって、歪み補正されてもよい。次いで、追跡されていない点に関する平面および閾値量を上回る点(例えば、50個)を含む平面が、保たれる。
局所マッピングを実施するステップは、推定的な局所-大域合致を発生させるステップを含んでもよい。例えば、既知の姿勢を使用して、本検出からの新しい局所平面が、大域平面と合致されてもよい。平面法線が、最初に、候補大域平面を選択するために使用されてもよい。例えば、その法線が局所平面に対してほぼ平行である(例えば、閾値角度(例えば、10度)を下回るそれらの間の角度を有する)大域平面が、考慮される。
局所マッピングを実施するステップは、合致をチェックし、新しい平面を挿入するステップを含んでもよい。例えば、局所平面点と候補大域平面(例えば、上記に説明されるステップから選択される)との間の距離が、算出されてもよく、最小平均距離と関連付けられる候補が、保たれる。保たれる候補に関して、点-平面距離の閾値パーセンテージ(例えば、90%)が、閾値距離γを下回る場合、本対応は、受け入れられる。点-平面距離の閾値パーセンテージ(例えば、90%)が、閾値距離γの2倍を下回る場合、さらなる幾何学的一貫性チェックが、実施されてもよい(GCC)。これらの条件のいずれも、満たされない場合、新しい大域平面が、導入される。
GCCは、局所平面と候補大域平面(例えば、上記に説明されるステップに基づいて識別される)との間の対応をさらに検証するために実施されてもよい。方程式(14)に説明される、線形系が、構築され、元の対応に関して

として表され得る。次いで、

として表される、新しい線形系が、新しい対応(例えば、i番目の新しい対応)毎に構築され得る。新しい対応毎の拡張された線形系は、以下のように解かれ得る。

が、

の解である場合、以下の条件が、満たされるように要求され得る。

(B)点-平面距離の閾値パーセンテージ(例えば、90%)が、閾値距離γを下回る
いくつかの実施形態では、λは、1.1に設定される。新しい対応が、上記のステップに基づいて追加される場合、姿勢が、新しい対応を含む、全ての対応を使用して再推定される。
方程式(16)は、正規方程式

を解くことによって効率的に解かれ得る。

および

であり、項

が、算出を支配し得、全ての新しい線形系間で共有されることが見出されることができる。したがって、これらの項は、有利なこととして、1回だけ算出されることが必要とされ得る。加えて、全ての制約を含む最終線形系が、

が全てのiに関して求められるため、効率的に解かれ得る。
局所マッピングを実施するステップは、局所PBAを実施し、マップを更新するステップを含んでもよい。例えば、少なくとも1つの新しい局所-大域平面対応が、見出される(例えば、上記に説明されるステップから、局所平面が、大域平面と同一平面であることが決定される)場合、またはSLAMシステムが、初期化している場合、大域PBA(例えば、ステップ508に関して説明される)が、実施され得る。そうでなければ、局所PBAが、実施され得る。
いくつかの実施形態では、局所マッピングは、スライディングウィンドウ内のキーフレームおよびこれらのキーフレームによって観察される平面を最適化する。例えば、スライディングウィンドウのサイズは、Nであり、5に設定され得る。最新のN個のキーフレームは、セット

を形成し得、N個のキーフレームによって観察される平面は、セット

を形成し得、セット

における平面が該当するスライディングウィンドウ外のキーフレームは、セット

を形成する。

におけるキーフレームの姿勢は、固定され得る。いくつかの実施形態では、局所マッピングの間、以下の費用関数は、最小限にされる。

式中、和の第1のセットは、Cとして定義され得、和の第2のセットは、Cとして定義され得る。

は、i番目のキーフレームによって観察される平面のセットであり得、

は、j番目の平面πが該当するスライディングウィンドウ外のキーフレームのセットであり得る。JおよびJは、それぞれ、Cにおける残差δおよびCにおける残差δのヤコビアン行列であり得る。次いで、方程式(17)に基づく残差δベクトルおよび対応するヤコビアン行列Jは、以下の形態を有し得る。
図7は、本開示の実施形態による、例示的因子グラフを図示する。例えば、例示的因子グラフ700は、3のウィンドウサイズを伴う(例えば、上記のステップに説明される)局所マッピングに関する環境の観察と関連付けられる因子グラフである。局所マッピングの間、スライディングウィンドウ内の姿勢(例えば、x、x、x)および平面(例えば、π、π、π)は、最適化され得、他の姿勢(例えば、x、x、x)および平面(例えば、π)は、固定され得る。

は、キーフレームxにおいて記録された平面πの点のセットであり得る。費用関数は、方程式(17)に関して説明される、2つの部分、すなわち、CおよびCを含み得る。
例示的方法500に再び目を向けると、LMアルゴリズムが、連立一次方程式

を解くことによって、ステップベクトルを算出するために使用され得る。δおよびJを直接算出することは、時間がかかり得る。δおよびJは、簡略化され得、δおよびJは、以下のように計算され得る。
におけるδに関して、および姿勢Tにおける平面πに関して、方程式(17)からのδmjk(η)は、以下として書き換えられ得る。
スライディングウィンドウ外のキーフレームの姿勢は、固定され得る。方程式(19)においてKmj残差δmjk(η)をスタックすることによって、以下の残差ベクトルが、求められ得る。

式中、

である。
全ての

をスタックすることによって、スライディングウィンドウ外のπに関する制約が、求められ得る。

式中、

である。
したがって、Cにおける残差ベクトルδ(η)が、全ての

をスタックすることによって求められ得、以下の形態を有し得る。
を計算するために、δmjk(η)の導関数が、最初に計算され得る。ηは、

として定義され得る。次いで、Hに関するδmjk(η)の導関数が、以下の形態を有し得る。

式中、

である。
方程式(21)を使用して、δ(η)に関するヤコビアン行列が、以下として記述され得る。

が、方程式(22)における残差のヤコビアン行列Jを求めるためにスタックされ得る。
いくつかの実施形態では、走査(例えば、LiDAR走査、複数の点を捕捉するように構成されるセンサの走査)の間に記録される点の数に起因して、方程式(22)におけるδおよび方程式(25)におけるJを算出することは、時間がかかり得る。積分点-平面費用が、本算出時間を有意に低減させ得る。
方程式(21)を使用して、方程式(17)からのCの少なくとも2つの和が、算出され得る。

式中、

である。

は、4×4行列Hのコレスキー分解であり得る。Lは、4×4下三角行列であり得る。Hは、4×4行列であるため、コレスキー分解に関するランタイムは、有意ではなく、有利なこととして、点-平面費用計算と関連付けられる算出時間を低減させ得る。Cは、平面πに関する積分点-平面費用と呼ばれ得、Hは、積分費用行列と呼ばれ得る。Lは、LMアルゴリズムを実施するために要求される情報を提供し得る。以下が、定義され得る。

式中、

である。

は、LMアルゴリズムを実施するために要求される情報を含み、有利なこととして、点-平面費用計算と関連付けられる算出時間を低減させ得る。以下の補題が、提示され得る。
証明:いくつかの実施形態では、方程式(25)において定義されるJおよび方程式(27)において定義される

は、ブロックベクトルである。ブロック行列乗算公式を使用して、以下が、求められ得る。
方程式(24)におけるJの定義によると、

は、1つの非ゼロ項

を有し、方程式(26)において定義されるHの定義によると、以下となる。
同様に、方程式(27)における

の定義によると、

は、1つの非ゼロ項

を有し、方程式(26)

に基づいて、以下となる。
したがって、方程式(29)および(30)によると、

である。したがって、方程式(28)に基づいて、

である。
証明:方程式(25)、(22)、および(27)から、

は、要素

を伴うブロックベクトルである。ブロック行列乗算公式を使用して、以下が、求められ得る。
方程式(24)におけるJの定義および方程式(21)におけるδの定義によると、

は、1つの非ゼロ項

を有し、方程式(26)において定義されるHの定義によると、以下となる。
同様に、方程式(27)における

の定義によると、

は、1つの非ゼロ項

を有し、方程式(26)

に基づいて、以下となる。
したがって、方程式(32)および(33)によると、

である。したがって、方程式(31)によると、

である。
補題3:いくつかの実施例では、方程式(21)において定義されるように、δ(η)においてK個の制約が、存在する。

を算出するためのランタイムは、有利なこととして、それぞれ、元の算出

と関連付けられる項に対して

であり得る。
証明:方程式(27)における

を方程式(24)におけるJおよび方程式(21)におけるδと比較することによって、2つの対の間の差異は、Pを置換するためのLの使用であり得る。Lは、4つの行を有し、Pijは、K個の行を有する。したがって、

を計算するためのランタイムは、

を計算することに対して

であり、有利なこととして、低減される。加えて、行列乗算の公式によると、

を計算するためのランタイムは、それぞれ、

を計算することに対して

であり、有利なこととして、低減される。
上記に議論されるように、方程式(26)からの積分費用行列Hは、費用関数と関連付けられる算出を簡略化するために重要であり得る。いくつかの実施形態では、Hは、スライディングウィンドウ外のキーフレームにおける平面πの観察結果から導出される費用を要約する。大量の観察結果が、存在する場合、Hが毎回始めから算出されることは、時間がかかり得る。したがって、いくつかの実施形態では、Hは、冗長な算出を回避し、積分費用行列Hを算出するための算出時間を低減させるために、漸次的に算出されてもよい。
例えば、平面πが該当するスライディングウィンドウ外のK個のキーフレームが、存在し、方程式(26)に基づいて算出される、対応する

をもたらし得る。方程式(21)において定義されるようなδnj(ηnj)=Pnjπは、スライディングウィンドウ外に移動しようとしている、n番目のキーフレームにおけるπの観察結果から導出される残差ベクトルであり得る。
方程式(26)におけるHの定義および方程式(21)におけるPの定義を使用して、K+1個の観察結果に関する

が、求められ得る。
方程式(34)から、積分費用行列Hが、大域平面毎に維持され、

が、

によって更新される。いくつかの実施形態では、キーフレームが、スライディングウィンドウ外に移動されるとき、本キーフレームによって観察される平面の積分行列は、方程式(34)を使用して更新される。
図8は、本開示の実施形態による、積分費用行列を更新する例示的概略図800を図示する。例えば、概略図800は、積分費用行列Hが漸次的に更新される方法を図示する。例えば、n番目のキーフレームが、スライディングウィンドウ外に移動しようとし、スライディングウィンドウ外のπの観察結果のK個のセットが、存在する。Pnjが、方程式(20)によって定義される形態において、n番目のキーフレームにおけるπの(例えば、陰影によって示されるような)観察結果から求められ得る。

は、

によって更新される。
例示的方法500、具体的には、方程式(17)に再び目を向けると、いくつかの実施形態では、方程式(17)は、大規模最適化問題であるため、方程式(17)を最小限にすることが、望ましくあり得る。方程式(18)からの残差ベクトルδおよび対応するヤコビアン行列Jは、簡略化され得る。方程式(18)におけるJおよびδは、LMアルゴリズムを使用して求められた、低減されたヤコビアン

および低減された残差ベクトル

によって置換され得る。より具体的には、

であり、以下が、定義され得る。

これに基づいて、以下の定理が、導出され得る。
証明:方程式(18)からのJおよびδの定義および方程式(35)からの

の定義に基づいて、以下の関係が、求められ得る。
議論されるように、

であり、したがって、

である。同様に、

であり、したがって、

である。
上記の定理によると、

は、LMアルゴリズムにおいてJおよびδを置換するために使用され得る。いくつかの実施形態では、

は、Jおよびδよりも低い次元を有し、したがって、算出時間は、有利なこととして、

を導出および使用することによって、低減され得る。
いくつかの実施形態では、ループが、閉じられていることが決定されるとき、大域PBAが、実施される。例えば、以前の平面が再訪されているという決定に従って、ループが、閉じられていることが決定され、ループが閉じられているという決定に従って、大域PBAが、実施される。いくつかの実施形態では、大域PBAは、点-平面距離を最小限にすることによって、LiDAR(または類似するセンサ)姿勢および平面パラメータを共同で最適化してもよい。
いくつかの実施形態では、方法500は、大域マッピングを実施するステップを含む(ステップ508)。大域マッピングの間、キーフレーム姿勢および/または平面パラメータは、(例えば、局所マッピングと比較して、ウィンドウを伴わずに)大域的に最適化されてもよい。大域マッピングを実施するステップは、大域PBAを実施するステップおよび/またはマップを更新するステップを含んでもよい。
例えば、M個の平面およびN個のキーフレームが、存在し、i番目の姿勢に関する変換行列は、Tであり得、j番目の平面は、パラメータπを含む。i番目の姿勢におけるj番目の平面の測定値は、以下として定義されるKij個の点のセットであり得る。

は、i番目の姿勢およびj番目の平面に対する1つの制約を提供し得る。方程式(3)に基づいて、

に関する残差δijkが、以下として表され得る。
およびηは、それぞれ、Tおよびπのパラメータ表現を表し得る。δijkは、xおよびηの関数であり得る。PBAプロセスは、(効率的に解かれ得る)以下の最小二乗問題を最小限にすることによって、

を共同で精緻化し得る。
方程式(39)の元のヤコビアン行列および元の残差ベクトルは、それぞれ、Jおよびrであり得る。(例えば、局所PBAに関して)本明細書に説明される方法と同様に、低減されたヤコビアン行列

および低減された残差ベクトル

が、LMアルゴリズムにおいてJおよびrを置換するために使用され、算出時間を低減させ得る。
姿勢が精緻化された後、積分費用行列Hは、更新される必要があり得る。前述で議論されるように、更新は、効率的に実施され得る。方程式(34)によると、

は、Hを算出する際に重要であり得る。方程式(20)に基づいて、Pnjは、以下として表され得る。
いくつかの実施形態では、

は、固定量であり、1回だけ算出される必要があり得る。方程式(40)から、PBAが実施された後、精緻化された姿勢Tは、

を更新するために使用され得、次いで、Hは、更新され得る。

は、大きい固定量であり得、1回だけ算出される必要があり得るため、

のみが、更新される必要があり得、Hに関する算出時間は、有利なこととして、低減され得る。
図9は、本開示の実施形態による、例示的因子グラフ900を図示する。例えば、因子グラフ900は、環境の観察結果およびN個の姿勢およびM個の平面を伴うPBAと関連付けられる。xは、i番目のキーフレームを表し得、πは、j番目の大域平面を表し得、

は、xにおいて捕捉されたπに関する観察結果のセットであり得る。本実施例では、xは、本最適化の間に固定され、図示されるPBA問題は、キーフレーム姿勢

および平面パラメータ

を共同で最適化するステップを含む。
いくつかの実施形態によると、方法は、環境を走査するステップであって、該走査するステップは、センサを用いて、環境の複数の点を検出するステップを含む、ステップと、環境の第1の平面を識別するステップであって、第1の平面は、複数の検出された点の少なくとも閾値数の点を備える、ステップと、環境と関連付けられる複数の観察結果を取得するステップであって、複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ステップと、第1の平面が環境の第2の平面と同一平面であるかどうかを決定するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施するステップと、第1の平面が第2の平面と同一平面ではないという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施するステップとを含む。
いくつかの実施形態によると、センサは、LiDARセンサを備える。
いくつかの実施形態によると、第1の平面の法線は、センサと関連付けられる観察中心に向かう方向におけるベクトルを備える。
いくつかの実施形態によると、観察結果の第1のサブセットに対して平面バンドル調節を実施するステップはさらに、第1のサブセットと関連付けられるスライディングウィンドウ内のキーフレーム姿勢と関連付けられる費用関数を計算するステップを含む。
いくつかの実施形態によると、本方法はさらに、走査された環境の一部と第1のキーフレームとの間の距離を決定するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回るという決定に従って、第2のキーフレームを挿入するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回らないという決定に従って、第2のキーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、追跡されている点のパーセンテージを決定するステップであって、第1の平面は、追跡されている点を含む、ステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回るという決定に従って、キーフレームを挿入するステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回らないという決定に従って、キーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、積分費用行列を決定するステップを含み、平面バンドル調節を実施するステップは、積分費用行列を使用して費用関数を算出するステップを含む。
いくつかの実施形態によると、本方法はさらに、以前の積分費用行列に基づいて、積分費用行列を更新するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢を推定するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢の点を線形補間するステップを含む。
いくつかの実施形態によると、本方法はさらに、平面バンドル調節に基づいて、環境のマップを更新するステップを含む。
いくつかの実施形態によると、環境は、複合現実環境を備える。
いくつかの実施形態によると、センサは、複合現実デバイスのセンサを備える。
いくつかの実施形態によると、本方法はさらに、最小二乗関数を解くために、レーベンバーグ-マルカート法を実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、第1の平面が第2の平面と同一平面ではないという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入することを控えるステップとを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、点-平面距離の閾値パーセンテージが閾値距離を下回るかどうかを決定するステップを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、幾何学的一貫性チェックを実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境と関連付けられる複数の観察結果をメモリ内に記憶するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境についての情報を伝送するステップを含み、環境についての情報は、環境と関連付けられる複数の観察結果と関連付けられる。
いくつかの実施形態によると、システムは、センサと、本システムに、環境を走査するステップであって、該走査するステップは、センサを用いて、環境の複数の点を検出するステップを含む、ステップと、環境の第1の平面を識別するステップであって、第1の平面は、複数の検出された点の少なくとも閾値数の点を備える、ステップと、環境と関連付けられる複数の観察結果を取得するステップであって、複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ステップと、第1の平面が環境の第2の平面と同一平面であるかどうかを決定するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施するステップと、第1の平面が第2の平面と同一平面ではないという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施するステップとを含む、方法を実施させるように構成される、1つまたはそれを上回るプロセッサとを備える。
いくつかの実施形態によると、センサは、LiDARセンサを備える。
いくつかの実施形態によると、第1の平面の法線は、センサと関連付けられる観察中心に向かう方向におけるベクトルを備える。
いくつかの実施形態によると、観察結果の第1のサブセットに対して平面バンドル調節を実施するステップはさらに、第1のサブセットと関連付けられるスライディングウィンドウ内のキーフレーム姿勢と関連付けられる費用関数を計算するステップを含む。
いくつかの実施形態によると、本方法はさらに、走査された環境の一部と第1のキーフレームとの間の距離を決定するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回るという決定に従って、第2のキーフレームを挿入するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回らないという決定に従って、第2のキーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、追跡されている点のパーセンテージを決定するステップであって、第1の平面は、追跡されている点を含む、ステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回るという決定に従って、キーフレームを挿入するステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回らないという決定に従って、キーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、積分費用行列を決定するステップを含み、平面バンドル調節を実施するステップは、積分費用行列を使用して費用関数を算出するステップを含む。
いくつかの実施形態によると、本方法はさらに、以前の積分費用行列に基づいて、積分費用行列を更新するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢を推定するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢の点を線形補間するステップを含む。
いくつかの実施形態によると、本方法はさらに、平面バンドル調節に基づいて、環境のマップを更新するステップを含む。
いくつかの実施形態によると、環境は、複合現実環境を備える。
いくつかの実施形態によると、センサは、複合現実デバイスのセンサを備える。
いくつかの実施形態によると、本方法はさらに、最小二乗関数を解くために、レーベンバーグ-マルカート法を実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、第1の平面が第2の平面と同一平面ではないという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入することを控えるステップとを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、点-平面距離の閾値パーセンテージが閾値距離を下回るかどうかを決定するステップを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、幾何学的一貫性チェックを実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境と関連付けられる複数の観察結果をメモリ内に記憶するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境についての情報を伝送するステップを含み、環境についての情報は、環境と関連付けられる複数の観察結果と関連付けられる。
いくつかの実施形態によると、非一過性コンピュータ可読記憶媒体は、1つまたはそれを上回るプログラムを記憶し、1つまたはそれを上回るプログラムは、1つまたはそれを上回るプロセッサおよびメモリを伴う電子デバイスによって実行されると、本デバイスに、環境を走査するステップであって、該走査するステップは、センサを用いて、環境の複数の点を検出するステップを含む、ステップと、環境の第1の平面を識別するステップであって、第1の平面は、複数の検出された点の少なくとも閾値数の点を備える、ステップと、環境と関連付けられる複数の観察結果を取得するステップであって、複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ステップと、第1の平面が環境の第2の平面と同一平面であるかどうかを決定するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施するステップと、第1の平面が第2の平面と同一平面ではないという決定に従って、観察結果の第1のサブセットに基づいて、かつ観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施するステップとを含む、方法を実施させる、命令を備える。
いくつかの実施形態によると、センサは、LiDARセンサを備える。
いくつかの実施形態によると、第1の平面の法線は、センサと関連付けられる観察中心に向かう方向におけるベクトルを備える。
いくつかの実施形態によると、観察結果の第1のサブセットに対して平面バンドル調節を実施するステップはさらに、第1のサブセットと関連付けられるスライディングウィンドウ内のキーフレーム姿勢と関連付けられる費用関数を計算するステップを含む。
いくつかの実施形態によると、本方法はさらに、走査された環境の一部と第1のキーフレームとの間の距離を決定するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回るという決定に従って、第2のキーフレームを挿入するステップと、走査された環境の一部と最後のキーフレームとの間の距離が、閾値距離を上回らないという決定に従って、第2のキーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、追跡されている点のパーセンテージを決定するステップであって、第1の平面は、追跡されている点を含む、ステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回るという決定に従って、キーフレームを挿入するステップと、追跡されている点のパーセンテージが、閾値パーセンテージを下回らないという決定に従って、キーフレームを挿入することを控えるステップとを含む。
いくつかの実施形態によると、本方法はさらに、積分費用行列を決定するステップを含み、平面バンドル調節を実施するステップは、積分費用行列を使用して費用関数を算出するステップを含む。
いくつかの実施形態によると、本方法はさらに、以前の積分費用行列に基づいて、積分費用行列を更新するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢を推定するステップを含む。
いくつかの実施形態によると、本方法はさらに、キーフレーム姿勢の点を線形補間するステップを含む。
いくつかの実施形態によると、本方法はさらに、平面バンドル調節に基づいて、環境のマップを更新するステップを含む。
いくつかの実施形態によると、環境は、複合現実環境を備える。
いくつかの実施形態によると、センサは、複合現実デバイスのセンサを備える。
いくつかの実施形態によると、本方法はさらに、最小二乗関数を解くために、レーベンバーグ-マルカート法を実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、第1の平面が第2の平面と同一平面ではないという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入するステップと、第1の平面が第2の平面と同一平面であるという決定に従って、環境と関連付けられるマップの中に第1の平面を挿入することを控えるステップとを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、点-平面距離の閾値パーセンテージが閾値距離を下回るかどうかを決定するステップを含む。
いくつかの実施形態によると、第1の平面が第2の平面と同一平面であるかどうかを決定するステップはさらに、幾何学的一貫性チェックを実施するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境と関連付けられる複数の観察結果をメモリ内に記憶するステップを含む。
いくつかの実施形態によると、本方法はさらに、環境についての情報を伝送するステップを含み、環境についての情報は、環境と関連付けられる複数の観察結果と関連付けられる。
開示される実施例は、付随の図面を参照して完全に説明されているが、種々の変更および修正が、当業者に明白となるであろうことに留意されたい。例えば、1つまたはそれを上回る実装の要素は、さらなる実装を形成するために、組み合わせられる、削除される、修正される、または補完されてもよい。そのような変更および修正は、添付の請求項によって定義されるような開示される実施例の範囲内に含まれるものとして理解されるものである。

Claims (20)

  1. 方法であって、
    環境を走査することであって、前記走査することは、センサを用いて、前記環境の複数の点を検出することを含む、ことと、
    前記環境の第1の平面を識別することであって、前記第1の平面は、前記複数の検出された点の少なくとも閾値数の点を備える、ことと、
    前記環境と関連付けられる複数の観察結果を取得することであって、前記複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ことと、
    前記第1の平面が前記環境の第2の平面と同一平面であるかどうかを決定することと、
    前記第1の平面が前記第2の平面と同一平面であるという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施することと、
    前記第1の平面が前記第2の平面と同一平面ではないという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施することと
    を含む、方法。
  2. 前記センサは、LiDARセンサを備える、請求項1に記載の方法。
  3. 前記第1の平面の法線は、前記センサと関連付けられる観察中心に向かう方向におけるベクトルを備える、請求項1に記載の方法。
  4. 前記観察結果の第1のサブセットに対して平面バンドル調節を実施することはさらに、前記第1のサブセットと関連付けられるスライディングウィンドウ内のキーフレーム姿勢と関連付けられる費用関数を計算することを含む、請求項1に記載の方法。
  5. 前記走査された環境の一部と第1のキーフレームとの間の距離を決定することと、
    前記走査された環境の一部と前記第1のキーフレームとの間の前記距離が、閾値距離を上回るという決定に従って、第2のキーフレームを挿入することと、
    前記走査された環境の一部と前記第1のキーフレームとの間の前記距離が、前記閾値距離を上回らないという決定に従って、第2のキーフレームを挿入することを控えることと
    をさらに含む、請求項1に記載の方法。
  6. 追跡されている点のパーセンテージを決定することであって、前記第1の平面は、前記追跡されている点を含む、ことと、
    前記追跡されている点のパーセンテージが、閾値パーセンテージを下回るという決定に従って、キーフレームを挿入することと、
    前記追跡されている点のパーセンテージが、前記閾値パーセンテージを下回らないという決定に従って、前記キーフレームを挿入することを控えることと
    をさらに含む、請求項1に記載の方法。
  7. 積分費用行列を決定することをさらに含み、平面バンドル調節を実施することは、前記積分費用行列を使用して費用関数を算出することを含む、請求項1に記載の方法。
  8. キーフレーム姿勢を推定することをさらに含む、請求項1に記載の方法。
  9. キーフレーム姿勢の点を線形補間することをさらに含む、請求項1に記載の方法。
  10. 前記平面バンドル調節に基づいて、前記環境のマップを更新することをさらに含む、請求項1に記載の方法。
  11. 前記環境は、複合現実環境を備える、請求項1に記載の方法。
  12. 前記センサは、複合現実デバイスのセンサを備える、請求項1に記載の方法。
  13. 前記第1の平面が前記第2の平面と同一平面ではないという決定に従って、前記環境と関連付けられるマップの中に前記第1の平面を挿入することと、
    前記第1の平面が前記第2の平面と同一平面であるという決定に従って、前記環境と関連付けられる前記マップの中に前記第1の平面を挿入することを控えることと
    をさらに含む、請求項1に記載の方法。
  14. 前記第1の平面が前記第2の平面と同一平面であるかどうかを決定することはさらに、点-平面距離の閾値パーセンテージが閾値距離を下回るかどうかを決定することを含む、請求項1に記載の方法。
  15. 前記第1の平面が前記第2の平面と同一平面であるかどうかを決定することはさらに、幾何学的一貫性チェックを実施することを含む、請求項1に記載の方法。
  16. 前記環境と関連付けられる前記複数の観察結果をメモリ内に記憶することをさらに含む、請求項1に記載の方法。
  17. 前記環境についての情報を伝送することをさらに含み、前記環境についての前記情報は、前記環境と関連付けられる前記複数の観察結果と関連付けられる、請求項1に記載の方法。
  18. システムであって、
    センサと、
    1つまたはそれを上回るプロセッサであって、前記1つまたはそれを上回るプロセッサは、前記システムに、
    環境を走査することであって、前記走査することは、前記センサを用いて、前記環境の複数の点を検出することを含む、ことと、
    前記環境の第1の平面を識別することであって、前記第1の平面は、前記複数の検出された点の少なくとも閾値数の点を備える、ことと、
    前記環境と関連付けられる複数の観察結果を取得することであって、前記複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ことと、
    前記第1の平面が前記環境の第2の平面と同一平面であるかどうかを決定することと、
    前記第1の平面が前記第2の平面と同一平面であるという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施することと、
    前記第1の平面が前記第2の平面と同一平面ではないという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施することと
    を含む方法を実施させるように構成される、1つまたはそれを上回るプロセッサと
    を備える、システム。
  19. 前記センサは、LiDARセンサを備える、請求項18に記載のシステム。
  20. 1つまたはそれを上回るプログラムを記憶する非一過性コンピュータ可読記憶媒体であって、前記1つまたはそれを上回るプログラムは、命令を備え、前記命令は、1つまたはそれを上回るプロセッサおよびメモリを伴う電子デバイスによって実行されると、前記デバイスに、
    環境を走査することであって、前記走査することは、センサを用いて、前記環境の複数の点を検出することを含む、ことと、
    前記環境の第1の平面を識別することであって、前記第1の平面は、前記複数の検出された点の少なくとも閾値数の点を備える、ことと、
    前記環境と関連付けられる複数の観察結果を取得することであって、前記複数の観察結果は、観察結果の第1のサブセットと、観察結果の第2のサブセットとを備える、ことと、
    前記第1の平面が前記環境の第2の平面と同一平面であるかどうかを決定することと、
    前記第1の平面が前記第2の平面と同一平面であるという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットにさらに基づいて、平面バンドル調節を実施することと、
    前記第1の平面が前記第2の平面と同一平面ではないという決定に従って、前記観察結果の第1のサブセットに基づいて、かつ前記観察結果の第2のサブセットに基づかずに、平面バンドル調節を実施することと
    を含む方法を実施させる、非一過性コンピュータ可読記憶媒体。
JP2023547795A 2021-02-12 2022-02-11 Lidar同時位置特定およびマッピング Pending JP2024512211A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163149037P 2021-02-12 2021-02-12
US63/149,037 2021-02-12
PCT/US2022/070642 WO2022174263A1 (en) 2021-02-12 2022-02-11 Lidar simultaneous localization and mapping

Publications (1)

Publication Number Publication Date
JP2024512211A true JP2024512211A (ja) 2024-03-19

Family

ID=82837985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023547795A Pending JP2024512211A (ja) 2021-02-12 2022-02-11 Lidar同時位置特定およびマッピング

Country Status (5)

Country Link
US (1) US20240062403A1 (ja)
EP (1) EP4291973A1 (ja)
JP (1) JP2024512211A (ja)
CN (1) CN116868151A (ja)
WO (1) WO2022174263A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115375902B (zh) * 2022-10-26 2023-03-24 昆明理工大学 一种基于多光谱激光雷达点云数据的超点分割方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2479998A1 (en) * 2011-01-21 2012-07-25 Thomson Licensing Method and system for aligning cameras
US8862138B2 (en) * 2011-02-09 2014-10-14 Nokia Corporation Forecasting of dynamic environmental parameters to optimize operation of a wireless communication system
RU2621633C2 (ru) * 2011-10-28 2017-06-06 Мэджик Лип, Инк. Система и способ для дополненной и виртуальной реальности
JP7136558B2 (ja) * 2015-03-05 2022-09-13 マジック リープ, インコーポレイテッド 拡張現実のためのシステムおよび方法
EP3078935A1 (en) * 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization

Also Published As

Publication number Publication date
US20240062403A1 (en) 2024-02-22
WO2022174263A1 (en) 2022-08-18
CN116868151A (zh) 2023-10-10
EP4291973A1 (en) 2023-12-20

Similar Documents

Publication Publication Date Title
US11533489B2 (en) Reprojecting holographic video to enhance streaming bandwidth/quality
US11763559B2 (en) 3D object annotation
US20140368537A1 (en) Shared and private holographic objects
US11935180B2 (en) Dual IMU SLAM
US20140368534A1 (en) Concurrent optimal viewing of virtual objects
US11797720B2 (en) Tool bridge
US11561613B2 (en) Determining angular acceleration
JP2023100820A (ja) 空間コンピューティングのための写実的キャラクタ構成
US11961194B2 (en) Non-uniform stereo rendering
JP2024512211A (ja) Lidar同時位置特定およびマッピング