(57)【要約】３Ｄ環境内のデバイスの位置を推定するための方法およびデバイスが、説明される。本方法の実施形態は、環境の一部を構成する視野（ＦＯＶ）を表す画像を形成する、複数の画像セグメントを連続して受信するステップを含む。画像は、部分的に、複数の画像セグメントの画像セグメントの対応するサブセットに基づいて識別可能である、複数の疎点を含む。本方法はまた、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別するステップと、識別された１つ以上の疎点に基づいて、環境内のデバイスの位置を推定するステップとを含む。
2019522851.tif 000002
【特許請求の範囲】
【請求項１】
イメージングシステムであって、
レンズおよび画像センサを含む画像捕捉デバイスであって、前記レンズは、前記画像捕捉デバイスを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、
前記環境からの光に基づいて、画像の第１の複数の画像セグメントを連続して捕捉することであって、前記画像は、前記画像捕捉デバイスの視野（ＦＯＶ）を表し、前記ＦＯＶは、前記環境の一部を構成し、複数の疎点を含む、ことと
第２の複数の画像セグメントを連続して捕捉することであって、前記第２の複数の画像セグメントは、前記第１の複数の画像セグメントの後に捕捉され、前記画像の少なくとも別の部分を形成する、ことと
を行うように構成される、画像捕捉デバイスと、
前記第１および第２の複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記画像捕捉デバイスの位置および配向のうちの少なくとも１つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
前記非一過性データ記憶装置に動作可能に結合された少なくとも１つのハードウェアプロセッサであって、前記少なくとも１つのハードウェアプロセッサは、
部分的に、前記第１の複数の画像セグメントの対応するサブセットに基づいて、第１のグループの疎点を識別することであって、前記第１のグループの疎点は、前記第１の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
前記第１のグループの疎点に基づいて、前記環境内の前記イメージングデバイスの位置および配向のうちの少なくとも１つを決定することと、
部分的に、前記第２の複数の画像セグメントの対応するサブセットに基づいて、第２のグループの疎点を識別することであって、前記第２のグループの疎点は、前記第２の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
前記第１および第２のグループの疎点に基づいて、前記環境内の前記イメージングデバイスの位置および配向のうちの少なくとも１つを更新することと
を行うための命令によって構成される、少なくとも１つのハードウェアプロセッサと
を含む、イメージングシステム。
【請求項２】
前記画像センサは、ローリングシャッタ画像センサである、請求項１に記載のイメージングシステム。
【請求項３】
前記非一過性データ記憶装置は、前記画像セグメントが前記画像センサによって捕捉されるにつれて、前記第１および第２の複数の画像セグメントを連続して受信するように構成される、非一過性バッファ記憶装置を含み、前記非一過性バッファ記憶装置は、少なくとも部分的に、画像セグメントの各サブセット内に含まれる画像セグメントの数に基づいて、記憶容量を有する、請求項１に記載のイメージングシステム。
【請求項４】
前記第１のグループの疎点または前記第２のグループの疎点は、１０〜２０の疎点の疎点の数を含む、請求項１に記載のイメージングシステム。
【請求項５】
前記ハードウェアプロセッサは、直近で識別された疎点の数に基づいて、前記画像捕捉デバイスの位置および配向のうちの少なくとも１つを更新するように構成され、前記直近で識別された疎点は、前記第１のグループの疎点、前記第２のグループの疎点、および前記第１および第２のグループの疎点のうちの１つ以上のもののうちの少なくとも１つを含む、請求項１に記載のイメージングシステム。
【請求項６】
前記直近で識別された疎点の数は、前記第１のグループの疎点における疎点の数と等しい、請求項５に記載のイメージングシステム。
【請求項７】
前記ハードウェアプロセッサは、視覚的同時位置特定およびマッピング（Ｖ−ＳＬＡＭ）アルゴリズムを実施するように構成される、請求項１に記載のイメージングシステム。
【請求項８】
前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも１つに基づいて識別される、請求項１に記載のイメージングシステム。
【請求項９】
ユーザの頭部上に装着されるように構成される頭部搭載型ディスプレイ（ＨＭＤ）であって、前記ＨＭＤは、
フレームと、
前記フレームによって支持され、前記ユーザの眼の前方に配置される、ディスプレイと、
前記フレーム上に配置され、レンズおよび画像センサを含む、外向きに面した画像捕捉デバイスであって、前記レンズは、前記ＨＭＤを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、前記環境からの光に基づいて、画像の複数の画像セグメントを連続して捕捉するように構成され、前記画像は、前記外向きに面した画像捕捉デバイスの視野（ＦＯＶ）を表し、前記ＦＯＶは、環境の一部を構成し、複数の疎点を含み、各疎点は、部分的に、前記複数の画像セグメントの対応するサブセットに基づいて、識別可能である、外向きに面した画像捕捉デバイスと、
前記複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記ＨＭＤの位置および配向のうちの少なくとも１つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
前記非一過性データ記憶装置に動作可能に結合された少なくとも１つのハードウェアプロセッサであって、前記少なくとも１つのハードウェアプロセッサは、
前記１つ以上の疎点に対応する画像セグメントの各サブセットが前記非一過性データ記憶装置において受信されると、前記複数の疎点の１つ以上の疎点を連続して識別することと、
前記識別された１つ以上の疎点に基づいて、前記環境内の前記ＨＭＤの位置および配向のうちの少なくとも１つを推定することと
を行うための命令によって構成される、少なくとも１つのハードウェアプロセッサと
を含む、ＨＭＤ。
【請求項１０】
前記非一過性データ記憶装置は、循環バッファまたはローリングバッファを含む、請求項９に記載のＨＭＤ。
【請求項１１】
前記複数の画像セグメントは、少なくとも第１の複数の画像セグメントおよび第２の複数の画像セグメントを含み、前記画像センサは、前記第１および第２の画像セグメントを前記非一過性データ記憶装置に連続して伝送するように構成される、請求項９に記載のＨＭＤ。
【請求項１２】
前記ハードウェアプロセッサは、
第１のグループの１つ以上の疎点に対応する第１の複数の画像セグメントが受信されると、前記第１のグループの１つ以上の疎点を連続して識別することと、
第２のグループの１つ以上の疎点に対応する第２の複数の画像セグメントが受信されると、前記第２のグループの１つ以上の疎点を連続して識別することと
を行うように構成され、前記第２の複数の画像セグメントは、前記第１の複数の画像セグメントの後に受信される、請求項１１に記載のＨＭＤ。
【請求項１３】
前記ハードウェアプロセッサは、前記識別された第１のグループの１つ以上の疎点に基づいて、前記ＨＭＤの位置および配向のうちの少なくとも１つを推定するように構成される、請求項１２に記載のＨＭＤ。
【請求項１４】
前記第１のグループの疎点または前記第２のグループの疎点は、２〜２０の疎点の数を含む、請求項１３に記載のＨＭＤ。
【請求項１５】
前記第１のグループの疎点または前記第２のグループは、１０〜２０の疎点の数を含む、請求項１３に記載のＨＭＤ。
【請求項１６】
前記ハードウェアプロセッサはさらに、前記識別された第２のグループの１つ以上の疎点に基づいて、前記ＨＭＤの位置および配向のうちの少なくとも１つを更新するように構成される、請求項１３に記載のＨＭＤ。
【請求項１７】
前記ハードウェアプロセッサはさらに、前記連続して識別された１つ以上の疎点の数が識別されると、前記ＨＭＤの位置および配向のうちの少なくとも１つを更新するように構成される、請求項９に記載のＨＭＤ。
【請求項１８】
連続して識別された１つ以上の疎点の数は、前記第１のグループの１つ以上の疎点の疎点のうちの少なくとも１つを含む、請求項１７に記載のＨＭＤ。
【請求項１９】
前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも１つに基づいて識別される、請求項９に記載のＨＭＤ。
【請求項２０】
前記ハードウェアプロセッサはさらに、
前記連続して識別された１つ以上の疎点を前記複数の画像セグメントの対応するサブセットから抽出することと、
視覚的同時位置特定マッピング（ＶＳＬＡＭ）アルゴリズムを前記連続して識別された１つ以上の疎点に実施し、前記画像捕捉デバイスの位置および配向のうちの少なくとも１つを推定することと
を行うように構成される、請求項９に記載のＨＭＤ。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１６年６月３０日に出願され、“ＥＳＴＩＭＡＴＩＮＧ  ＰＯＳＥ  ＩＮ  ３Ｄ  ＳＰＡＣＥ”と題された米国仮特許出願第６２／３５７，２８５号に対する３５  Ｕ．Ｓ．Ｃ．  §  １１９（ｅ）のもとでの優先権の利益を主張するものであり、該米国仮特許出願の内容は、全体的に参照により本明細書中に援用される。
【０００２】
本開示は、仮想現実および拡張現実イメージングならびに可視化システムに関し、より具体的には、３次元（３Ｄ）空間内における疎姿勢推定に関する。
【背景技術】
【０００３】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される。仮想現実または「ＶＲ」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実または「ＡＲ」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。例えば、図１を参照すると、拡張現実場面１０００が、描写されており、ＡＲ技術のユーザには、背景における人々、木々、建物を特徴とする実世界公園状設定１１００と、コンクリートプラットフォーム１１２０とが見える。これらのアイテムに加え、ＡＲ技術のユーザはまた、実世界プラットフォーム１１２０上に立っているロボット像１１１０と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ１１３０等の「仮想コンテンツ」を、これらの要素が実世界内に存在しないにもかかわらず「見ている」と知覚する。結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素間における仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、ＶＲまたはＡＲ技術の生成は、困難である。本明細書に開示されるシステムおよび方法は、ＶＲおよびＡＲ技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の一側面は、疎点が画像捕捉デバイスによって画像フレーム内で捕捉されるにつれて実施される、疎姿勢推定を提供する。故に、疎姿勢推定は、画像フレーム全体が捕捉される前に実施されることができる。いくつかの実施形態では、疎姿勢推定は、画像フレームが捕捉されるにつれて、精緻化または更新され得る。
【０００５】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、本方法は、第１のグループの複数の画像セグメントを連続して受信するステップを含んでもよい。第１の複数の画像セグメントは、画像捕捉デバイスの正面からの視野（ＦＯＶ）を表す画像の少なくとも一部を形成し得、これは、画像捕捉デバイスを囲繞する環境の一部と、複数の疎点とを含み得る。各疎点は、画像セグメントのサブセットに対応し得る。本方法はまた、第１のグループの疎点を識別するステップを含んでもよく、これは、第１のグループの複数の画像セグメントが受信されるにつれて識別される、１つ以上の疎点を含む。本方法は、次いで、位置推定システムによって、第１のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を決定するステップを含んでもよい。本方法はまた、第２のグループの複数の画像セグメントを連続して受信するステップを含んでもよく、これは、第１のグループの複数の画像セグメントから受信され、画像の少なくとも別の部分を形成し得る。本方法は、次いで、第２のグループの疎点を識別するステップを含んでもよく、これは、第２のグループ複数の画像セグメントが受信されるにつれて識別される、１つ以上の疎点を含んでもよい。本方法は、次いで、位置推定システムによって、第１および第２のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を更新してもよい。
【０００６】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、本方法は、複数の画像セグメントを連続して受信するステップを含んでもよく、これは、画像捕捉デバイスの正面からの視野（ＦＯＶ）を表す、画像を形成し得る。ＦＯＶは、画像捕捉デバイスを囲繞する環境の一部を含み、複数の疎点を含んでもよい。各疎点は、部分的に、複数の画像セグメントの画像セグメントの対応するサブセットに基づいて識別可能であり得る。本方法はまた、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別するステップを含んでもよい。本方法は、次いで、識別された１つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するステップを含んでもよい。
【０００７】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、画像捕捉デバイスは、画像を捕捉するように構成される、画像センサを含んでもよい。画像は、画像捕捉デバイスの視野（ＦＯＶ）を表す、複数の画像セグメントを連続して捕捉することを介して、捕捉されてもよい。ＦＯＶは、画像捕捉デバイスを囲繞する環境の一部と、複数の疎点とを含んでもよい。各疎点は、部分的に、複数の画像セグメントの対応するサブセットに基づいて、識別可能であり得る。画像捕捉デバイスはまた、１つ以上の疎点に対応する画像セグメントのサブセットを記憶するように構成される、メモリ回路と、メモリ回路に動作可能に結合される、コンピュータプロセッサとを含んでもよい。コンピュータプロセッサは、画像捕捉デバイスによって、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別するように構成されてもよい。コンピュータプロセッサはまた、識別された１つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するために、連続して識別された１つ以上の疎点を抽出するように構成されてもよい。
【０００８】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、拡張現実システムが、開示される。拡張現実システムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
【０００９】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、自律的エンティティが、開示される。自律的エンティティは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
【００１０】
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、ロボットシステムが、開示される。ロボットシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
【００１１】
添付の請求項の範囲内の方法および装置の種々の実装はそれぞれ、いくつかの側面を有し、そのいずれの単一のものも、本明細書に説明される望ましい属性を単独で担ってはいない。添付の請求項の範囲を限定することなく、いくつかの顕著な特徴が、本明細書に説明される。
【００１２】
本明細書に説明される主題の１つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、ならびに請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
【図面の簡単な説明】
【００１３】
【図１】図１は、人物によって視認されるある仮想現実オブジェクトおよびある実際の現実オブジェクトを伴う、拡張現実シナリオの例証を描写する。
【００１４】
【図２】図２は、ウェアラブルディスプレイシステムの実施例を図式的に図示する。
【００１５】
【図３】図３は、３Ｄ空間（本実施例では、部屋）内を移動するにつれたイメージングデバイスの複数の位置の実施例を図式的に図示する。
【００１６】
【図４】図４Ａおよび４Ｂは、画像フレーム上の剪断効果の実施例を図式的に図示する。
【００１７】
【図５】図５Ａおよび５Ｂは、複数の疎点に及ぼす図４Ａおよび４Ｂの剪断効果の実施例を図式的に図示する。
【００１８】
【図６】図６は、例示的ＡＲアーキテクチャのブロック図である。
【００１９】
【図７】図７は、姿勢のための例示的座標系である。
【００２０】
【図８】図８は、３Ｄ空間内のイメージングデバイスの姿勢を決定する方法の実施例のプロセスフロー図である。
【００２１】
【図９】図９Ａおよび９Ｂは、複数の画像セグメントの受信に基づいて、１つ以上の疎点を画像フレームから抽出する実施例を図式的に図示する。
【００２２】
【図１０】図１０は、３Ｄ空間内のイメージングデバイスの姿勢を決定する方法の別の実施例のプロセスフロー図である。
【００２３】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。提供される図面は、縮尺通りではなく、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
【発明を実施するための形態】
【００２４】
（概要）
３次元（３Ｄ）空間内で移動するＡＲデバイスまたは他のデバイスの使用に伴って、デバイスは、３Ｄ空間を通してその移動を追跡し、３Ｄ空間をマッピングする必要があり得る。例えば、ＡＲデバイスは、ユーザの移動に起因して、またはユーザ（例えば、ロボットまたは他の自律的エンティティ）から独立してのいずれかにおいて、３Ｄ空間を動き回り得、仮想画像要素または実世界画像要素の中でもとりわけ仮想画像要素の表示を促進するために、後続処理のために、３Ｄ空間をマッピングし、３Ｄ空間内のデバイスの場所、位置、または配向のうちの１つ以上のものを決定することが有益であり得る。例えば、仮想および実世界画像要素を正確に提示するために、デバイスは、実世界内に位置する場所およびその配向を把握し、実世界空間内に特定の配向を伴って、仮想画像を特定の場所に正確にレンダリングする必要があり得る。別の実施形態では、３Ｄ空間を通してデバイスの軌道を再現することが望ましくあり得る。したがって、デバイスが３Ｄ空間を動き回るにつれて、３Ｄ空間内のデバイスの位置、場所、または配向（以降、集合的に、「姿勢」と称される）をリアルタイムで決定することが望ましくあり得る。いくつかの実装では、３Ｄ空間内の疎姿勢推定が、例えば、ＡＲデバイスの一部として含まれるイメージングデバイスからの画像フレームの連続ストリームから決定されてもよい。連続ストリームの各画像フレームは、処理のために、また、疎姿勢推定に含有するため、デバイスの姿勢をそこから推定するために、記憶されてもよい。しかしながら、これらの技法は、後続処理のためのメモリへの各フレームの全体の転送に起因して、姿勢を推定する際に遅延を生じさせ得る。
【００２５】
本開示は、３Ｄ空間内のデバイス（例えば、ＡＲデバイスまたはロボット等の自律的デバイス）の姿勢を推定するように構成される、例示的デバイスおよび方法を提供する。一実施例として、デバイスは、デバイスが３Ｄ空間を通して移動するにつれて、複数の画像フレームを受信し、デバイスの姿勢を各画像フレームから推定することに基づいて、疎姿勢推定を実施してもよい。各画像フレームは、３Ｄ空間内のデバイスの位置を示すデバイスの正面の３Ｄ空間の一部を表し得る。いくつかの実施形態では、各画像フレームは、疎点、要所点、点群、または他のタイプの数学的表現によって表され得る、特徴またはオブジェクトのうちの１つ以上のものを含んでもよい。画像フレーム毎に、画像フレームは、組み合わせられると、画像フレーム全体を構成する、複数の画像セグメントを連続して受信することによって捕捉されてもよい。そこから、デバイスは、各疎点を含む画像セグメントを受信することに応じて、画像フレーム内の疎点を識別するように構成されてもよい。デバイスは、１つ以上の疎点を含む第１のグループの疎点を抽出してもよい。第１のグループの疎点は、疎姿勢推定プロセスに対する少なくとも１つの入力であってもよい。続いて、デバイスは、第２のグループの疎点を識別および抽出し、第２のグループに基づいて、疎姿勢推定を更新してもよい。一例示的実装では、第１のグループの疎点は、後続の疎点（例えば、第２のグループの疎点）の識別に先立って、デバイスの姿勢を推定するために利用されてもよい。後続の疎点は、それらが識別されるにつれて疎姿勢推定を更新する際に使用するために利用可能になり得る。
【００２６】
方法、デバイス、およびシステムの実施形態が、ＡＲデバイスを参照して本明細書に説明されるが、これは、本開示の範囲を限定することを意図するものではない。本明細書に説明される方法およびデバイスは、ＡＲデバイスまたは頭部搭載型デバイスに限定されない。他のデバイスも、可能性として考えられる（例えば、モバイルロボット、デジタルカメラ、自律的エンティティ等）。適用可能なデバイスとして、限定ではないが、３Ｄ空間を通して、独立して、またはユーザ介入によって移動可能である、そのようなデバイスが挙げられる。例えば、本明細書に説明される方法は、オブジェクトの遠隔のカメラによって追跡される、３Ｄ空間を動き回るオブジェクトに適用されてもよい。いくつかの実施形態では、処理もまた、オブジェクトの遠隔で実施されてもよい。
【００２７】
（３Ｄ空間内を移動するための例示的ＡＲデバイス）
３Ｄディスプレイが、仮想画像要素または実世界画像要素の中でもとりわけ仮想画像要素の快適であって、かつ自然に感じる、豊富な提示を促進するために、ディスプレイを囲繞する実世界をマッピングし、３Ｄ空間を通してディスプレイの軌道を再現することが望ましい。例えば、疎姿勢推定プロセスが、３Ｄ空間のマップを決定するために実施されてもよい。疎姿勢推定が、最小限の遅延を伴って、リアルタイムで実施されない場合、ユーザは、不安定なイメージング、有害な眼精疲労、頭痛、そして概して不快なＶＲおよびＡＲ視聴体験を経験し得る。故に、本明細書に説明される種々の実施形態は、ＡＲデバイスの位置、場所、または配向のうちの１つ以上のものを決定または推定するように構成される。
【００２８】
図２は、ウェアラブルディスプレイシステム１００の実施例を図示する。ディスプレイシステム１００は、ディスプレイ６２と、ディスプレイ６２の機能をサポートするための種々の機械的および電子的モジュールならびにシステムとを含む。ディスプレイ６２は、フレーム６４に結合されてもよく、これは、ディスプレイシステムユーザ、装着者、または視認者６０によって装着可能であって、ディスプレイ６２を視認者６０の眼の正面に位置付けるように構成される。ディスプレイシステム１００は、装着者の頭部上に装着される、頭部搭載型ディスプレイ（ＨＭＤ）を備えることができる。拡張現実ディスプレイ（ＡＲＤ）は、ウェアラブルディスプレイシステム１００を含むことができる。いくつかの実施形態では、スピーカ６６が、フレーム６４に結合され、ユーザの外耳道に隣接して位置付けられる（いくつかの実施形態では、示されない別のスピーカが、ユーザの他の外耳道に隣接して位置付けられ、ステレオ／成形可能音制御を提供してもよい）。ディスプレイシステム１００は、装着者の周囲の環境内の世界（例えば、３Ｄ空間）を観察する、１つ以上の外向きに面したイメージングシステム１１０を含むことができる。ディスプレイ６２は、有線導線または無線コネクティビティ等の通信リンク６８によって、ローカル処理およびデータモジュール７０に動作可能に結合されることができ、これは、フレーム６４に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホン内に内蔵される、もしくは別様にユーザ６０に除去可能に取り付けられる（例えば、リュック式構成、ベルト結合式構成において）等、種々の構成において搭載されてもよい。
【００２９】
ディスプレイシステム１００は、フレーム６４上に配置される、１つ以上の外向きに面したイメージングシステム１１０ａまたは１１０ｂ（個々に、または集合的に、以降、「１１０」と称される）を備えてもよい。いくつかの実施形態では、外向きに面したイメージングシステム１１０ａは、ユーザの眼間のフレーム６４の略中心部分に配置されることができる。別の実施形態では、代替として、または組み合わせて、外向きに面したイメージングシステム１１０ｂは、ユーザの片眼または両眼に隣接してフレームの１つ以上の側上に配置されることができる。例えば、外向きに面したイメージングシステム１１０ｂは、両眼に隣接するユーザの左および右側の両方上に位置してもよい。外向きに面したカメラ１１０の例示的配列が、上記に提供されるが、他の構成も、可能性として考えられる。例えば、外向きに面したイメージングシステム１１０は、ディスプレイシステム１００に対して任意の配向または位置に位置付けられてもよい。
【００３０】
いくつかの実施形態では、外向きに面したイメージングシステム１１０は、ディスプレイシステム１００の正面の世界の一部の画像を捕捉する。視認者による視認またはイメージングのために利用可能な領域全体は、動眼視野（ＦＯＲ）と称され得る。いくつかの実装では、ＦＯＲは、ディスプレイが、環境を動き回り、ディスプレイを囲繞するオブジェクトをイメージングし得るため、ディスプレイシステム１００の周囲の立体角の実質的に全て（装着者の正面、背面、上方、下方、または側面）を含み得る。ディスプレイシステムの正面のＦＯＲの部分は、視野（ＦＯＶ）と称され得、外向きに面したイメージングシステム１１０は、時として、ＦＯＶカメラとも称される。外向きに面したイメージングシステム１１０から取得される画像は、環境の疎点を識別し、疎姿勢推定プロセス等において使用するための姿勢を推定するために使用されることができる。
【００３１】
いくつかの実装では、外向きに面したイメージングシステム１１０は、光学レンズシステムと、画像センサとを備える、デジタルカメラとして構成されてもよい。例えば、ディスプレイ６２の正面の世界（例えば、ＦＯＶ）からの光が、外向きに面したイメージングシステム１１０のレンズによって画像センサ上に集束されてもよい。いくつかの実施形態では、外向きに面したイメージングシステム１００は、赤外線（ＩＲ）スペクトル、可視光スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内で動作するように構成されてもよい。いくつかの実施形態では、イメージングセンサは、ＣＭＯＳ（相補的金属酸化物半導体）またはＣＣＤ（電荷結合デバイス）センサのいずれかとして構成されてもよい。いくつかの実施形態では、画像センサは、ＩＲスペクトル、可視光スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内の光を検出するように構成されてもよい。いくつかの実施形態では、デジタルカメラのフレームレートは、画像データがデジタルカメラからメモリまたは記憶ユニット（例えば、ローカル処理およびデータモジュール７０）に伝送され得る、レートに関連し得る。例えば、デジタルカメラのフレームレートが、３０ヘルツである場合、画像センサのピクセルによって捕捉されたデータは、３０ミリ秒毎にメモリの中に読み込まれ得る（例えば、クロックオフされる）。したがって、デジタルカメラのフレームレートは、画像データの記憶および後続処理に遅延を付与し得る。
【００３２】
いくつかの実施形態では、外向きに面したイメージングシステム１１０が、デジタルカメラである場合、外向きに面したイメージングシステム１１０は、グローバルシャッタカメラまたはローリングシャッタ（例えば、プログレッシブスキャンカメラとも称される）として構成されてもよい。例えば、外向きに面したイメージングシステム１１０が、グローバルシャッタカメラである場合、画像センサは、単一動作において、ディスプレイ６２の正面のＦＯＶを表す画像フレーム全体を捕捉するように構成される、ＣＣＤセンサであってもよい。画像フレーム全体は、次いで、処理のために、例えば、本明細書に説明されるように、疎姿勢推定を実施するために、ローカル処理およびデータモジュール７０に読み込まれ得る。故に、いくつかの実施形態では、画像フレーム全体の利用は、上記に説明されるように、例えば、フレームレートおよび画像を記憶する際の遅延に起因して、姿勢推定に遅延を付与し得る。例えば、３０ヘルツフレームレートを有する、グローバルシャッタデジタルカメラは、任意の姿勢推定が実施され得る前に、３０ミリ秒の遅延を付与し得る。
【００３３】
他の実施形態では、外向きに面したイメージングシステム１１０が、ローリングシャッタカメラとして構成される場合、画像センサは、複数の画像セグメントを連続して捕捉し、場面を横断して走査し、捕捉された画像セグメントの画像データを伝送するように構成される、ＣＭＯＳセンサであってもよい。画像セグメントは、捕捉された順序で組み合わせられると、外向きに面したイメージングシステム１１０のＦＯＶの画像フレームを構成する。いくつかの実施形態では、走査方向は、水平であってもよく、例えば、外向きに面したイメージングシステム１１０は、左向きまたは右向き方向に、水平に隣接する複数の垂直画像セグメントを捕捉してもよい。別の実施形態では、走査方向は、垂直であってもよく、例えば、外向きに面したイメージングシステム１１０は、上向きまたは下向き方向に、垂直に隣接する複数の水平画像セグメントを捕捉してもよい。各画像セグメントは、個別の画像セグメントが画像センサにおいて捕捉されるにつれて、ローカル処理およびデータモジュール７０の中に連続して読み込まれ得る。故に、いくつかの実施形態では、上記に説明されるように、デジタルカメラのフレームレートに起因する遅延は、それらがデジタルカメラによって捕捉されるにつれて、画像セグメントを連続して伝送することによって、低減または最小限にされ得る。
【００３４】
ローカル処理およびデータモジュール７０は、１つ以上のハードウェアプロセッサならびに不揮発性メモリ（例えば、フラッシュメモリ）等のデジタルメモリを備えてもよく、両方とも、データの処理、バッファ、キャッシュ、および記憶を補助するために利用されてもよい。データは、ａ）画像捕捉デバイス（例えば、外向きに面したイメージングシステム１１０）、マイクロホン、慣性測定ユニット（ＩＭＵ）、加速度計、コンパス、全地球測位システム（ＧＰＳ）ユニット、無線デバイス、および／またはジャイロスコープ等のセンサ（例えば、フレーム６４に動作可能に結合される、または別様にユーザ６０に取り付けられてもよい）から捕捉される、および／またはｂ）可能性として、処理または読出後にディスプレイ６２への通過のために、遠隔処理モジュール７２および／または遠隔データリポジトリ７４を使用して入手および／または処理される、データを含んでもよい。ローカル処理およびデータモジュール７０は、これらの遠隔モジュールがローカル処理およびデータモジュール７１へのリソースとして利用可能であるように、通信リンク７６および／または７８によって、有線または無線通信リンク等を介して、遠隔処理モジュール７２および／または遠隔データリポジトリ７４に動作可能に結合されてもよい。加えて、遠隔処理モジュール７２および遠隔データリポジトリ７４は、相互に動作可能に結合されてもよい。いくつかの実施形態では、ローカル処理およびデータモジュール７０は、画像捕捉デバイス、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープのうちの１つ以上のものに動作可能に接続されてもよい。いくつかの他の実施形態では、これらのセンサのうちの１つ以上のものは、フレーム６４に取り付けられてもよい、または有線もしくは無線通信経路によってローカル処理およびデータモジュール７０と通信する、独立型構造であってもよい。
【００３５】
いくつかの実施形態では、ローカル処理およびデータモジュール７０のデジタルメモリまたはその一部は、一時的期間にわたって、データの１つ以上の要素を記憶するように構成されてもよい（例えば、非一過性バッファ記憶装置として）。例えば、デジタルメモリは、データがローカル処理およびデータモジュール７０のプロセス間で移動される間、データの一部または全部を受信し、短期間にわたって、データの一部または全部を記憶するように構成されてもよい。いくつかの実装では、デジタルメモリの一部は、１つ以上の画像セグメントを外向きに面したイメージングシステム１１０から連続して受信する、バッファとして構成されてもよい。故に、バッファは、恒久的記憶または後続処理のために画像セグメントがローカル処理およびデータモジュール７０に伝送される（またはデータリポジトリ７４を除去する）ことに先立って、設定数の画像セグメントを記憶するように構成される、非一過性データバッファであってもよい（図９Ａおよび９Ｂを参照して以下に説明されるように）。
【００３６】
いくつかの実施形態では、遠隔処理モジュール７２は、データおよび／または画像情報を分析および処理するように構成される、１つ以上のハードウェアプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ７４は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、遠隔データリポジトリ７４は、情報、例えば、拡張現実コンテンツを生成するための情報をローカル処理およびデータモジュール７０および／または遠隔処理モジュール７２に提供する、１つ以上の遠隔サーバを含んでもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール７０において実施され、遠隔モジュールからの完全に自律的使用を可能にする。
【００３７】
例示的ＡＲデバイスが、本明細書に説明されるが、本明細書に開示される方法およびデバイスは、ＡＲデバイスまたは頭部搭載型デバイスに限定されないことを理解されるであろう。例えば、モバイルロボット、デジタルカメラ、自律的エンティティ等の他の構成も、可能性として考えられる。適用可能なデバイスとして、限定ではないが、３Ｄ空間を通して、独立して、またはユーザ介入によって移動可能である、そのようなデバイスが挙げられる。
【００３８】
（３Ｄ空間を通したＡＲデバイスの例示的軌道）
図３は、３Ｄ空間３００を通して移動するにつれたイメージングデバイス３１０を図式的に図示する。例えば、図３は、イメージングデバイス３１０が軌道３１１を図式的に表す点線に沿って移動するにつれた環境３００内の複数の位置３１２（例えば、３１２ａ、３１２ｂ、３１２ｃ、および３１２ｄ）および配向におけるイメージングデバイス３１０を示す。各位置３１２では、イメージングデバイス３１０は、例えば、疎姿勢推定を実施するために、画像フレームの連続ストリームとして使用され得る、特定の場所および配向の環境３００の画像フレームを捕捉するように構成されてもよい。軌道３１１は、環境３００を通した移動の任意の軌道またはパスであってもよい。図３は、４つの位置３１２を図示するが、位置の数は、異なることができる。例えば、位置３１２の数は、わずか２つの位置または容認可能レベルの確実性を伴って疎姿勢推定を実施するための所望に応じた数（例えば、５、６、７等）であってもよい。いくつかの実施形態では、イメージングデバイス３１２は、例えば、ビデオにおけるように、一連の画像フレームを捕捉するように構成されてもよく、ビデオの各画像フレームは、本明細書に説明されるコンピュータビジョン技法を介して、疎姿勢推定を実施するために利用されてもよい。
【００３９】
いくつかの実施形態では、イメージングデバイス３１０は、外向きに面したイメージングシステム１１０を備える、図１のディスプレイシステム１００、イメージングシステムを含む、モバイルロボット、または独立イメージングデバイスとして構成されてもよい。イメージングデバイス３１０は、それが環境３００を通して移動するにつれて、イメージングデバイス３１０の正面から、環境３００の一部を描写する各位置３１２において、画像フレームを捕捉するように構成されてもよい。上記に説明されるように、各位置３１２および配向においてイメージングデバイスによって捕捉された環境３００の部分は、イメージングデバイス３１０の正面からのＦＯＶであってもよい。例えば、位置３１２ａのＦＯＶは、ＦＯＶ３１５ａとして図式的に図示される。イメージングデバイス３１０の各後続位置および配向（例えば、３１２ｂ、３１２ｃ、および３１２ｄ）は、対応するＦＯＶ３１５（例えば、ＦＯＶ３１５ｂ、３１５ｃ、および３１５ｄ）を構成する。コンピュータビジョン技法は、イメージングデバイス３１０から取得される各画像フレーム上で実施され、各位置３１２におけるイメージングデバイス３１０の姿勢を推定してもよい。姿勢推定は、例えば、環境３００のマップ（またはその一部）を決定または生成し、環境３００を通してイメージングデバイス３１０の移動を追跡するために採用される、疎点推定プロセスへの入力であってもよい。
【００４０】
環境３００は、任意の３Ｄ空間、例えば、オフィスの部屋（図３に図示されるように）、居間、屋外空間等であってもよい。環境３００は、環境３００の全体を通して配置される、複数のオブジェクト３２５（例えば、家具、個人的アイテム、周囲構造、テクスチャ、検出可能パターン等）を含み得る。オブジェクト３２５は、環境内の他の特徴と比較して一意に識別可能である、個々のオブジェクトであってもよい（例えば、各壁は、一意に識別可能ではない場合がある）。さらに、オブジェクト３２５は、２つ以上の画像フレーム内で捕捉された共通特徴であってもよい。例えば、図３は、対応する視線３３０ａ−ｄ（例証的目的のために、点線として示される）に沿った各位置３１２におけるイメージングデバイス３１０のＦＯＶ３１５のそれぞれに位置する、オブジェクト３２５ａ（本実施例では、ランプ）を図示する。したがって、位置３１２（例えば、３１２ａ）毎に、各ＦＯＶ３１５（例えば、３１５ａ）を表す画像フレームは、視線３３０（例えば、３３０ａ）沿ってイメージングされるようなオブジェクト３２５ａを含む。
【００４１】
イメージングデバイス３１０は、複数の疎点３２０を検出および抽出するように構成されてもよく、各疎点３２０（または複数の疎点）は、ＦＯＶ３１５を表す各画像フレームからのオブジェクト３２５またはオブジェクト３２５の一部、テクスチャ、もしくはパターンに対応する。例えば、イメージングデバイス３１０は、オブジェクト３２５ａに対応する疎点３２０ａを抽出してもよい。いくつかの実施形態では、オブジェクト３２５ａは、１つ以上の疎点３２０と関連付けられてもよく、各疎点３２０は、オブジェクト３２５の異なる部分（例えば、ランプの角、上部、底部、側面等）と関連付けられてもよい。故に、各疎点３２０は、画像フレーム内で一意に識別可能であり得る。コンピュータビジョン技法は、各疎点３２０を各疎点３２０に対応する画像フレームまたは画像セグメントから抽出および識別するために使用されることができる（例えば、図９Ａおよび９Ｂに関連して説明されるように）。
【００４２】
いくつかの実施形態では、疎点３２０は、環境３００内のイメージングデバイス３１０の位置、場所、または配向を推定するために利用されてもよい。例えば、イメージングデバイス３１０は、複数の疎点３２０を疎姿勢推定プロセスへの入力として抽出するように構成されてもよい。疎姿勢推定のために使用される、例示的コンピュータビジョン技法は、同時位置特定およびマッピング（入力が画像／視覚専用である構成を参照する、ＳＬＡＭまたはＶ−ＳＬＡＭ）プロセスまたはアルゴリズムであってもよい。そのような例示的コンピュータビジョン技法は、以下により詳細に説明されるように、イメージングデバイス３１０を囲繞する世界の疎点表現を出力するために使用されることができる。位置３１２の複数の画像フレームを使用する、従来の疎姿勢推定システムでは、疎点３２０は、各画像フレームから収集され得、対応が、連続画像フレーム（例えば、位置３１２ａ−３１２ｂ）間で算出され、姿勢変化が、発見された対応に基づいて推定される。故に、いくつかの実施形態では、イメージングデバイス３１０の位置、配向、または位置および配向の両方が、決定されることができる。いくつかの実装では、疎点の場所の３Ｄマップが、推定プロセスのために要求され得る、または画像フレームもしくは複数の画像フレーム内の疎点を識別することの副産物であり得る。いくつかの実施形態では、疎点３２０は、１つ以上の記述子と関連付けられてもよく、これは、疎点３２０のデジタル表現として構成されてもよい。いくつかの実施形態では、記述子は、連続画像フレーム間の対応の算出を促進するように構成されてもよい。いくつかの実施形態では、姿勢決定は、イメージングデバイスのオンボードプロセッサ（例えば、ローカル処理およびデータモジュール７０）またはイメージングデバイスの遠隔プロセッサ（例えば、遠隔処理モジュール７２）によって実施されてもよい。
【００４３】
いくつかの実施形態では、コンピュータビジョンモジュールは、例えば、ローカル処理およびデータモジュール７０または遠隔処理モジュールおよびデータリポジトリ７２、７４の一部として、イメージングデバイス３１０と動作可能に通信するように含まれることができる。例示的コンピュータビジョンモジュールは、例えば、図８および１０の方法８００、１０００を参照して説明されるように、１つ以上のコンピュータビジョン技法を実装することができ、外向きに面したイメージングカメラによって取得される画像セグメントを分析し、例えば、疎点を識別する、姿勢を決定する等のために使用されることができる。コンピュータビジョンモジュールは、図３に関連して説明されるもの等、イメージングデバイス３１０を囲繞する環境内のオブジェクトを識別することができる。コンピュータビジョンモジュールは、イメージングデバイスが環境内で移動するにつれて、疎点を画像フレームから抽出し、種々の画像フレームを通してオブジェクトを追跡および識別するために抽出された疎点を使用することができる。例えば、第１の画像フレームの疎点は、第２の画像フレームの疎点と比較され、イメージングデバイスの移動を追跡してもよい。いくつかの実施形態では、第２の画像フレームの１つ以上の疎点は、第１の画像フレームの疎点のうちの１つ以上のものを、例えば、第１および第２の画像フレーム間で追跡するための参照点として含んでもよい。第３、第４、第５の等の画像フレームも同様に、使用され、先行および後続画像フレームと比較されてもよい。コンピュータビジョンモジュールは、疎点を処理し、識別された疎点に基づいて、環境内のイメージングデバイスの位置または配向を推定することができる。コンピュータビジョン技法の非限定的実施例は、スケール不変特徴変換（ＳＩＦＴ）、スピードアップロバスト特徴（ＳＵＲＦ）、配向ＦＡＳＴおよび回転ＢＲＩＥＦ（ＯＲＢ）、バイナリロバスト不変スケーラブルキーポイント（ＢＲＩＳＫ）、高速網膜キーポイント（ＦＲＥＡＫ）、Ｖｉｏｌａ−Ｊｏｎｅｓアルゴリズム、Ｅｉｇｅｎｆａｃｅｓアプローチ、Ｌｕｃａｓ−Ｋａｎａｄｅアルゴリズム、Ｈｏｒｎ−Ｓｃｈｕｎｋアルゴリズム、Ｍｅａｎ−ｓｈｉｆｔアルゴリズム、視覚的同時位置推定およびマッピング（ｖＳＬＡＭ）技法、シーケンシャルベイズ推定器（例えば、カルマンフィルタ、拡張カルマンフィルタ等）、バンドル調節、適応閾値化（および他の閾値化技法）、反復最近傍点（ＩＣＰ）、セミグローバルマッチング（ＳＧＭ）、セミグローバルブロックマッチング（ＳＧＢＭ）、特徴点ヒストグラム、種々の機械学習アルゴリズム（例えば、サポートベクトル機械、ｋ最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク（畳み込みまたは深層ニューラルネットワークを含む）、または他の教師あり／教師なしモデル等）等を含む。
【００４４】
上記に説明されるように、現在の姿勢推定プロセスは、イメージングデバイスの姿勢を推定する際、遅延を含み得る。例えば、イメージングデバイスのフレームレートは、部分的に、画像フレーム全体をイメージングデバイスからメモリに転送することに起因して、遅延を生じさせ得る。任意の特定の科学的理論に賛同するわけではないが、疎姿勢推定は、画像フレーム全体がイメージングデバイスからメモリに読み込まれるまで、疎点が画像フレームから抽出されないため、遅延され得る。故に、部分的に、イメージングデバイスのフレームレート能力に基づく、画像フレーム全体の転送は、疎姿勢推定において被られる遅延の構成要素の１つであり得る。本明細書に説明されるシステムおよびデバイスのいくつかの１つの非限定的利点は、姿勢を推定するための疎点の抽出または識別が、画像のフレームの一部が画像センサまたはメモリの中に読み込まれるにつれて、オンザフライで実施され得、したがって、姿勢は、画像フレーム全体を使用するときにそうでなければ可能であるものより早い時点で推定され得る。さらに、フレームの一部のみが、要所点のために分析され得るため、処理速度および効率も、増加され得る。
【００４５】
前述の説明は、環境３００内の物理的オブジェクトの状況における疎点３２０を説明するが、これは、限定を意図するものではなく、他の実装も、可能性として考えられる。いくつかの実施形態では、オブジェクト３２５は、環境の任意の特徴（例えば、実世界オブジェクト、仮想オブジェクト、不可視オブジェクト、または特徴等）を指し得る。例えば、投影デバイスは、可視または不可視であり得る、複数のインジケータ、テクスチャ、識別子等を環境全体を通して投影するように構成されてもよい（例えば、ＩＲスペクトル、近ＩＲスペクトル、紫外線スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内で投影される）。インジケータ、テクスチャ、識別子等は、イメージングデバイス３１０によって検出可能な顕著な特徴または形状であってもよい。イメージングデバイス３１０は、これらのインジケータを検出し、疎点３２０を複数のインジケータから抽出するように構成されてもよい。例えば、インジケータは、電磁放射のＩＲスペクトル内で環境の壁上に投影されてもよく、イメージングデバイス３１０は、ＩＲスペクトル内で動作し、インジケータを識別し、疎点をそこから抽出するように構成されてもよい。別の実施形態では、代替として、または組み合わせて、イメージングデバイス３１０は、仮想画像要素を表示する（例えば、ディスプレイ６２上に）ように構成される、ＡＲデバイス内に含まれてもよい。イメージングデバイスまたはＡＲデバイスは、仮想画像要素を識別し、疎点３２０をそこから抽出するように構成されてもよい。ＡＲデバイスは、これらの疎点３２０を使用して、仮想画像要素に対するＡＲデバイスの姿勢を決定するように構成されてもよい。
【００４６】
（例示的画像フレームおよび疎点の中に付与される剪断効果の実施例）
上記に説明されるように、外向きに面したイメージングシステム１１０は、ローリングシャッタカメラとして実装されてもよい。ローリングシャッタカメラの１つの非限定的利点は、他の部分を捕捉しながら、捕捉された場面の一部（例えば、画像セグメント）を伝送する能力である（例えば、画像フレームの全ての部分が正確に同時に捕捉されるわけではない）。しかしながら、これは、イメージングデバイスが、画像を捕捉する時間全体にわたって、オブジェクトに対して同一位置にない場合があるため、画像フレームが捕捉される間、カメラに対して移動しているオブジェクトの歪曲をもたらし得る。
【００４７】
例えば、図４Ａおよび４Ｂは、場面の画像に適用される、ローリングシャッタ効果（例えば、時として、本明細書では、「剪断」、「偏移」、または「歪曲」とも称される）の略図である。図４Ａは、オブジェクト４２５ａ（例えば、本実施例では、正方形）を含む場面４００ａを図式的に図示する。場面は、画像捕捉デバイス（例えば、図２の外向きに面したイメージングシステム１１０）のＦＯＶであってもよい。図４Ａに図示される実施形態では、場面は、方向４３０において、画像捕捉デバイスに対して移動していてもよい。図４Ｂは、メモリまたは記憶ユニット（例えば、ローカル処理およびデータモジュール７０）内に記憶され得る、捕捉された場面４００ａの結果として生じる画像４００ｂを図示する。図４Ｂに図示されるように、オブジェクト４２５ａの相対的移動に起因して、結果として生じる画像４００ｂは、歪曲されたオブジェクト４２５ｂ（例えば、剪断された正方形または菱形として示される）であって、歪曲されたオブジェクトの点線は、結果として生じる画像４００ｂ内に捕捉されない。任意の特定の科学的理論に賛同するわけではないが、これは、イメージングデバイスの徐々に下向きの走査方向に起因し得、したがって、オブジェクトの上部が、最初に捕捉され、オブジェクトの底部ほど歪曲されない。
【００４８】
図５Ａおよび５Ｂは、イメージングデバイスによって捕捉されたＦＯＶ（例えば、図３のＦＯＶ３１５ａ、３１５ｂ、３１５ｃ、または３１５ｄ）内に含まれる複数の疎点上に付与される、ローリングシャッタ効果の略図である。例えば、ＡＲデバイスが、３Ｄ空間を動き回るにつれて、種々の疎点も、ＡＲデバイスに対して移動し、図４Ｂに関連して上記に説明されるものに類似する様式において、図５Ｂに図式的に図示されるように歪曲される。図５Ａは、複数の疎点３２０（例えば、３２０ａ、３２０ｂ、および３２０ｃ）を含む場面（例えば、図３の場面３００に類似してもよい）を図示する。図４Ｂは、歪曲された疎点５２５（例えば、５２５ａ、５２５ｂ、および５２５ｃ）を含む、結果として生じる捕捉された画像フレームを図式的に図示する。例えば、各歪曲された疎点５２５は、例証的な対応する矢印５２２と関連付けられる。例証目的のためだけに、矢印５２２のサイズは、疎点５２５に付与される歪曲量に比例する。故に、図４Ｂに関連して上記に説明されるものと同様に、矢印５２２ａは、矢印５２２ｅより小さく、これは、矢印５２２ａと関連付けられた疎点５２５ａが、疎点５２５ｅと比較して、それほど大きく歪曲されていないことを示し得る。
【００４９】
（例示的ＡＲアーキテクチャ）
図６は、ＡＲアーキテクチャ６００の実施例のブロック図である。ＡＲアーキテクチャ６００は、入力（例えば、外向きに面したイメージングシステム１１０からの視覚的入力、部屋カメラからの入力等）を１つ以上のイメージングシステムから受信するように構成される。イメージングデバイスは、ＦＯＶカメラからの画像を提供するだけではなく、それらはまた、種々のセンサ（例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、ＧＰＳセンサ等）を装備し、ユーザの環境の場所および種々の他の属性を決定してもよい。本情報はさらに、異なる視点からの画像および／または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。
【００５０】
ＡＲアーキテクチャ６００は、複数のカメラ６１０を備えてもよい。例えば、ＡＲアーキテクチャ６００は、ウェアラブルディスプレイシステム１００の正面のＦＯＶから捕捉された複数の画像を入力するように構成される、図１の外向きに面したイメージングシステム１１０を含んでもよい。いくつかの実施形態では、カメラ６１０は、相対的広視野、すなわち、ユーザの顔の側面に配列される受動的対のカメラと、ユーザの正面に配向される異なる対のカメラとを含み、立体イメージングプロセスをハンドリングしてもよい。しかしながら、他のイメージングシステム、カメラ、および配列も、可能性として考えられる。
【００５１】
ＡＲアーキテクチャ６００はまた、世界に関するマップデータを含む、マップデータベース６３０を備えてもよい。一実施形態では、マップデータベース６３０は、部分的に、ユーザ−ウェアラブルシステム（例えば、ローカル処理およびデータモジュール７０）上に常駐してもよい、または部分的に、有線もしくは無線ネットワークによってアクセス可能なネットワーク化された記憶場所（例えば、遠隔データリポジトリ７４）に常駐してもよい。いくつかの実施形態では、マップデータベース６３０は、実世界マップデータまたは仮想マップデータ（例えば、仮想マップを定義する、または実世界環境上にオーバーレイされた、仮想画像要素を含む）を備えてもよい。いくつかの実施形態では、コンピュータビジョン技法は、マップデータを生産するために使用されることができる。いくつかの実施形態では、マップデータベース６３０は、環境の既存のマップであってもよい。他の実施形態では、マップデータベース６３０は、メモリの中に読み込まれ、続いて識別される疎点に対する比較および処理のために記憶される、識別された疎点に基づいて、ポピュレートされてもよい。別の実施形態では、単独で、または組み合わせて、マップデータベース６３０は、１つ以上の画像フレーム（またはローリングシャッタカメラシステムのためのフレームの一部）から識別された疎点に基づいて動的に更新される、既存のマップであってもよい。例えば、１つ以上の疎点は、環境内のオブジェクト（例えば、図３のオブジェクト３２５）を識別するために使用され、かつマップを環境の識別特徴でポピュレートするために使用されてもよい。
【００５２】
ＡＲアーキテクチャ６００はまた、入力をカメラ６１０から受信するように構成される、バッファ６２０を備えてもよい。バッファ６２０は、例えば、非一過性データ記憶装置（例えば、図２のローカル処理およびデータモジュール７０）と別個またはその一部である、非一過性データバッファであって、画像データを一時的ベースで記憶するように構成されてもよい。バッファ６２０は、次いで、一部または全部の受信された入力を一時的に記憶してもよい。いくつかの実施形態では、バッファ６２０は、例えば、さらなる処理が実施され、データがＡＲアーキテクチャ６００の別のコンポーネントに移動される前に、受信されたデータの１つ以上の部分またはセグメントを記憶するように構成されてもよい（例えば、図９Ａおよび９Ｂに関連して以下に説明されるように）。いくつかの実施形態では、カメラ６１０によって収集される画像データは、ユーザが環境内で動作するウェアラブルディスプレイシステム１００を体験するにつれて、バッファ６２０の中に読み込まれてもよい。そのような画像データは、カメラ６１０によって捕捉された画像または画像のセグメントを備えてもよい。画像または画像のセグメントを表す、画像データは、次いで、ローカル処理およびデータモジュールによって処理され、ウェアラブルディスプレイシステム１００のユーザへの可視化および表現のために、ディスプレイ６２に送信される前に、バッファ６２０に伝送され、その中に記憶されてもよい。画像データはまた、代替として、または組み合わせて、マップデータベース６３０内に記憶されてもよい。または、データは、バッファ６２０内に記憶された後、メモリ（例えば、ローカル処理およびデータモジュール７０または遠隔データリポジトリ７４）から除去されてもよい。一実施形態では、バッファ６２０は、部分的に、ユーザ−ウェアラブルシステム（例えば、ローカル処理およびデータモジュール７０）上に常駐してもよい、または部分的に、有線もしくは無線ネットワークによってアクセス可能なネットワーク化された記憶場所（例えば、遠隔データリポジトリ７４）に常駐してもよい。
【００５３】
ＡＲアーキテクチャ６００はまた、１つ以上のオブジェクト認識装置６５０を含んでもよい。オブジェクト認識装置は、例えば、コンピュータビジョン技法を介して、マップデータベース６３０を用いて、受信されたデータを通してクローリングし、オブジェクトを識別および／またはタグ付けし、情報をオブジェクトに付加するように構成されてもよい。例えば、オブジェクト認識装置は、バッファ６２０内に記憶される画像データまたは画像セグメントを通して走査またはクローリングし、画像データ内で捕捉されたオブジェクト（例えば、図３のオブジェクト３２５）を識別してもよい。バッファ内で識別されたオブジェクトは、タグ付けされるか、または、記述情報が、マップデータベースを参照してそこに付加されてもよい。マップデータベース６３０は、経時的に、そして捕捉された画像データとその対応するオブジェクトとの間で識別された（例えば、第１の画像フレーム内で識別されたオブジェクトと後続画像フレーム内で識別されたオブジェクトの比較）種々のオブジェクトを含み、マップデータベース６３０を生成するか、または、環境のマップを生成するために使用されてもよい。いくつかの実施形態では、マップデータベース６３０は、環境の既存のマップがポピュレートされてもよい。いくつかの実施形態では、マップデータベース６３０は、ＡＲデバイスのオンボード（例えば、ローカル処理およびデータモジュール７０）で記憶される。他の実施形態では、ＡＲデバイスおよびマップデータベースは、ネットワーク（例えば、ＬＡＮ、ＷＡＮ等）を通して、相互に接続され、クラウド記憶装置（例えば、遠隔データリポジトリ７４）にアクセスすることができる。
【００５４】
いくつかの実施形態では、ＡＲアーキテクチャ６００は、部分的に、バッファ６２０およびマップデータベース６３０内に記憶されるデータに基づいて、姿勢推定プロセスを行い、ウェアラブルコンピューティングハードウェアまたはデバイスの場所および配向を決定するための命令を実行するように構成される、姿勢推定システム６４０を備える。例えば、位置、場所、または配向データは、ユーザが、ウェアラブルデバイスを体験し、世界内で動作するにつれて、バッファ６２０の中に読み込まれると、カメラ６１０によって収集されるデータから算出されてもよい。例えば、データから識別され、バッファ６２０内に記憶される、オブジェクトの情報および収集に基づいて、オブジェクト認識装置６１０は、オブジェクト３２５を認識し、これらのオブジェクトをプロセッサ（例えば、ローカル処理およびデータモジュール７０）への疎点３２０として抽出してもよい。いくつかの実施形態では、疎点３２０は、所与の画像フレームの１つ以上の画像セグメントがバッファ６２０の中に読み込まれるにつれて、抽出され、関連付けられた画像フレーム内のＡＲデバイスの姿勢を決定するために使用されてもよい。姿勢の推定は、画像フレームの付加的画像セグメントがバッファ６２０の中に読み込まれるにつれて、更新され、付加的疎点を識別するために使用されてもよい。随意に、いくつかの実施形態では、姿勢推定システム６４０は、マップデータベース６３０にアクセスし、これまで捕捉された画像セグメントまたは画像フレーム内で識別された疎点３２０を読み出し、ＡＲデバイスが３Ｄ空間を通して移動するにつれて、先行および後続画像フレーム間の対応する疎点３２０を比較し、それによって、３Ｄ空間内のＡＲデバイスの移動、位置、または配向を追跡してもよい。例えば、図３を参照すると、オブジェクト認識装置６５０は、複数の画像フレームのそれぞれ内において、疎点３２０ａをランプ３２５ａとして認識し得る。ＡＲデバイスは、ある記述子情報を付加し、１つの画像フレーム内の疎点３２０ａを他の画像フレームの対応する疎点３２０ａに関連付け、本情報をマップデータベース６５０内に記憶してもよい。オブジェクト認識装置６５０は、任意の数の疎点３２０、例えば、１、２、３、４つ等の疎点に関して、オブジェクトを認識するように構成されてもよい。
【００５５】
いったんオブジェクトが、認識されると、情報は、姿勢推定システム６４０によって、ＡＲデバイスの姿勢を決定するために使用されてもよい。一実施形態では、オブジェクト認識装置６５０は、画像セグメントが受信されるにつれて、画像セグメントに対応する疎点を識別してもよく、続いて、同一画像フレームの後続画像セグメントが受信されると、付加的疎点を識別してもよい。姿勢推定システム６４０は、第１の識別された疎点に基づいて、姿勢を推定し、続いて識別された疎点を推定プロセスの中に統合することによって、推定を更新するための命令を実行してもよい。別の実施形態では、単独で、または組み合わせて、オブジェクト認識装置６５０は、第１のフレーム内の２つのオブジェクト（例えば、図３に示されるオブジェクト３２５ａおよび別のオブジェクト）の２つの疎点３２０ａ、３２０ｂを認識し、次いで、第２のフレームおよび後続フレーム（例えば、最大の任意の数の後続フレームが検討されてもよい）内の同一の２つの疎点を識別してもよい。２つ以上のフレームの疎点間の比較に基づいて、３Ｄ空間内の姿勢（例えば、配向および場所）もまた、３Ｄ空間を通して推定または追跡されてもよい。
【００５６】
いくつかの実施形態では、姿勢推定の精度または低姿勢推定結果における雑音の低減は、オブジェクト認識装置６４０によって認識される疎点の数に基づき得る。例えば、３Ｄ空間内では、イメージングデバイスの位置、場所、または配向は、環境内の平行移動および回転座標に基づき得る。そのような座標は、図７に関連して以下に説明されるように、例えば、Ｘ、Ｙ、およびＺ平行移動座標またはヨー、ロール、ピッチ回転座標を含んでもよい。いくつかの実施形態では、画像フレームから抽出される１つの疎点は、イメージングデバイスの完全姿勢を伝達することは不可能であり得る。しかしながら、単一疎点は、例えば、１つ以上の座標に関連する情報を提供することによって、姿勢推定に関する少なくとも１つの制約となり得る。疎点の数が増加するにつれて、姿勢推定の精度は、改良され得る、または姿勢推定における雑音もしくは誤差が、低減され得る。例えば、２つの疎点は、疎点によって表されるオブジェクトに基づいて、３Ｄ空間内のイメージングデバイスのＸ、Ｙ位置を示し得る。しかしながら、イメージングデバイスは、オブジェクトに対するそのＺ位置（例えば、オブジェクトの正面または背面）またはそのロール座標を決定することが不可能であり得る。故に、いくつかの実施形態では、３つの疎点が、姿勢を決定するために使用されてもよいが、しかしながら、任意の数の疎点が、使用されてもよい（例えば、１、２、４、５、６、７、１０以上等）。
【００５７】
いくつかの実施形態では、姿勢決定は、ＡＲデバイスのオンボードのプロセッサ（例えば、ローカル処理およびデータモジュール７０）によって実施されてもよい。抽出された疎点は、コンピュータビジョン技法を実行するように構成される、姿勢推定システム６４０の中に入力されてもよい。いくつかの実施形態では、姿勢推定システムは、姿勢推定システム６４０によって実行され、次いで、ＡＲデバイスを囲繞する世界の疎点表現６７０を出力し得る、ＳＬＡＭまたはＶ−ＳＬＡＭ（例えば、入力が画像／視覚専用である構成を参照する）を備えてもよい。いくつかの実施形態では、姿勢推定システム６４０は、持続的に更新された再帰的ベイズ推定器（例えば、カルマンフィルタ）を実行するように構成されてもよい。しかしながら、ベイズ推定器は、姿勢推定システム６４０によって姿勢推定を実施するための少なくとも１つの方法の例証的実施例として意図され、他の方法およびプロセスも、本開示の範囲内で想定される。システムは、種々のコンポーネントが存在する世界だけではなく、世界が構成される内容も見出すように構成されることができる。姿勢推定は、マップデータベース６３０へのポピュレートおよびマップデータベース６３０からのデータの使用を含む、多くの目標を達成する、構築ブロックであってもよい。他の実施形態では、ＡＲデバイスは、ネットワーク（例えば、ＬＡＮ、ＷＡＮ等）を通して姿勢推定を実施し、クラウド記憶装置（例えば、遠隔データリポジトリ７４）にアクセスするように構成される、プロセッサに接続されることができる。
【００５８】
いくつかの実施形態では、１つ以上の遠隔ＡＲデバイスは、ＡＲアーキテクチャ６００を備える、単一ＡＲデバイスの姿勢決定に基づいて、各ＡＲデバイスの姿勢を決定するように構成されてもよい。例えば、１つ以上のＡＲデバイスは、ＡＲアーキテクチャ６００を含む、第１のＡＲデバイスと有線または無線通信してもよい。第１のＡＲデバイスは、本明細書に説明されるように、環境から抽出される疎点に基づいて、姿勢決定を実施してもよい。第１のＡＲデバイスはまた、１つ以上の遠隔ＡＲデバイス（例えば、第２のＡＲデバイス）によって受信され得る、識別信号（例えば、ＩＲ信号または他の好適な媒体）を伝送するように構成されてもよい。いくつかの実施形態では、第２のＡＲデバイスは、第１のＡＲデバイスと類似コンテンツを表示し、第１のＡＲデバイスからの識別信号を受信するように試みてもよい。識別信号から、第２のＡＲデバイスは、疎点を抽出し、姿勢推定を第２のＡＲデバイスに実施せずに、第１のＡＲデバイスに対してその姿勢を決定する（例えば、識別信号を解釈または処理する）ことが可能であり得る。本配列の１つの非限定的利点は、第１および第２のＡＲデバイス上に表示される仮想コンテンツの相違が、２つのＡＲデバイスをリンクさせることによって回避され得ることである。本配列の別の非限定的利点は、第２のＡＲシステムが、第１のＡＲデバイスから受信された識別信号に基づいて、その推定された位置を更新可能であり得ることである。
【００５９】
（イメージングデバイスの姿勢および座標系の実施例）
図７は、イメージングデバイスの姿勢に関する座標系の実施例である。デバイス７００は、複数の自由度を有し得る。デバイス７００が、異なる方向に向かって移動するにつれて、デバイス７００の位置、場所、または配向は、開始位置７２０に対して変化するであろう。図７における座標系は、デバイスの開始位置７２０に対してデバイス移動を測定し、３Ｄ空間内の場所を決定するために使用され得る、移動の３つの平行移動方向（例えば、Ｘ、Ｙ、およびＺ方向）を示す。図７における座標系はまた、デバイスの開始方向７２０に対してデバイス配向を測定するために使用され得る、３つの角度自由度（例えば、ヨー、ピッチ、およびロール）を示す。図７に図示されるように、デバイス７００はまた、水平（例えば、Ｘ方向またはＺ方向）または垂直（例えば、Ｙ方向）に移動され得る。デバイス７００はまた、前後に傾斜し（例えば、ピッチ）、左右に旋回し（例えば、ヨー）、側方に傾斜する（例えば、ロール）ことができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角システムも、使用されることができる。
【００６０】
図７は、デバイス７００を図示し、これは、例えば、ウェアラブルディスプレイシステム１００、ＡＲデバイス、イメージングデバイス、または本明細書に説明される任意の他のデバイスとして実装されてもよい。本開示全体を通して説明されるように、デバイス７００は、姿勢を決定するために使用されてもよい。例えば、デバイス７００が、図６のＡＲアーキテクチャ６００を備える、ＡＲデバイスである場合、姿勢推定システム６４０は、画像セグメント入力を使用して、上記に説明されるように、姿勢推定プロセスにおいて使用するための疎点を抽出し、Ｘ、Ｙ、またはＺ方向におけるデバイス移動を追跡する、もしくはヨー、ピッチ、またはロールにおける角移動を追跡してもよい。
【００６１】
（３Ｄ空間内の姿勢を推定するための例示的ルーチン）
図８は、イメージングデバイスが移動する３Ｄ空間（例えば、図３）内のイメージングデバイス（例えば、図２の外向きに面したイメージングシステム１１０）の姿勢を決定するための例証的ルーチンのプロセスフロー図である。ルーチン８００は、複数の疎点が、ＦＯＶ（例えば、ＦＯＶ３１５ａ、３１５ｂ、３１５ｃ、または３１５ｄ）を表す画像フレームから抽出され、３Ｄ空間内のイメージングデバイスの位置、場所、または配向のうちの１つを決定し得る方法を説明する。
【００６２】
ブロック８１０では、イメージングデバイスは、ＡＲデバイスを囲繞する環境に関する入力画像を捕捉してもよい。例えば、イメージングデバイスは、周囲環境から受信された光に基づいて、入力画像の複数の画像セグメントを連続して捕捉してもよい。これは、種々の入力デバイス（例えば、ＡＲデバイス上またはＡＲデバイスから遠隔のデジタルカメラ）を通して達成されてもよい。入力は、ＦＯＶ（例えば、ＦＯＶ３１５ａ、３１５ｂ、３１５ｃ、または３１５ｄ）を表す画像であって、複数の疎点（例えば、疎点３２０）を含んでもよい。ＦＯＶカメラ、センサ、ＧＰＳ等は、画像セグメントがイメージングデバイスによって捕捉されるにつれて、連続して捕捉された画像セグメントの画像データを含む情報をシステム（ブロック８１０）に伝達してもよい。
【００６３】
ブロック８２０では、ＡＲデバイスは、入力画像を受信してもよい。いくつかの実施形態では、ＡＲデバイスは、ブロック８１０において捕捉された画像の一部を形成する、複数の画像セグメントを連続して受信してもよい。例えば、上記に説明されるように、外向きに面したイメージングシステム１１０は、場面を連続して走査し、それによって、複数の画像セグメントを連続して捕捉し、データが捕捉されるにつれて、画像データを記憶ユニットに連続して読み込ませるように構成される、ローリングシャッタカメラであってもよい。情報は、ユーザ−ウェアラブルシステム（例えば、ローカル処理およびデータモジュール７０）上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所（例えば、遠隔データリポジトリ７４）に常駐してもよい。いくつかの実施形態では、情報は、一時的に、記憶ユニット内に含まれるバッファ内に記憶されてもよい。
【００６４】
ブロック８３０では、ＡＲデバイスは、受信された画像セグメントに基づいて、１つ以上の疎点を識別してもよい。例えば、オブジェクト認識装置は、受信された画像セグメントに対応する画像データを通してクローリングし、１つ以上のオブジェクト（例えば、オブジェクト３２５）を識別してもよい。いくつかの実施形態では、１つ以上の疎点の識別は、図９Ａおよび９Ｂを参照して以下に説明されるように、１つ以上の疎点に対応する画像セグメントの受信に基づいてもよい。オブジェクト認識装置は、次いで、姿勢データ（例えば、３Ｄ空間内のイメージングデバイスの姿勢）を決定するための入力として使用され得る、疎点を抽出してもよい。本情報は、次いで、姿勢推定プロセスに伝達されてもよく（ブロック８４０）、ＡＲデバイスは、故に、姿勢推定システムを利用して、３Ｄ空間を通してＡＲデバイスをマッピングしてもよい（ブロック８５０）。
【００６５】
種々の実施形態では、ルーチン８００は、メモリまたは記憶ユニット内に記憶される命令を実行するように構成される、ハードウェアプロセッサ（例えば、図２のローカル処理およびデータモジュール７０）によって実施されてもよい。他の実施形態では、コンピュータ実行可能命令を伴う、遠隔コンピューティングデバイス（ディスプレイ装置とネットワーク通信する）は、ディスプレイ装置に、ルーチン８００の側面を実施させてもよい。
【００６６】
上記に説明されるように、現在の姿勢推定プロセスは、データ（例えば、抽出される疎点）を画像捕捉デバイスから姿勢推定システムに転送することに起因して、ＡＲデバイスの姿勢を推定する際に遅延を含み得る。例えば、現在の実装は、画像フレーム全体が画像捕捉デバイスから姿勢推定器（例えば、ＳＬＡＭ、ＶＳＬＡＭ、または類似物）に転送されることを要求し得る。いったん画像フレーム全体が、転送されると、オブジェクト認識装置は、疎点を識別し、それらを姿勢推定器に抽出することを可能にされる。画像フレーム全体の転送は、姿勢を推定する遅延の１つの寄与因子であり得る。
【００６７】
（画像フレームからの疎点の例示的抽出）
図９Ａおよび９Ｂは、複数の画像セグメントを受信することに基づいて、１つ以上の疎点を画像フレームから抽出する実施例を図式的に図示する。いくつかの実装では、図９Ａおよび９Ｂはまた、３Ｄ空間を通してイメージングデバイス（例えば、図２の外向きに面したイメージングデバイス１１０）の姿勢を推定する際の遅延を最小限にする例示的方法を図式的に図示し得る。いくつかの実施形態では、図９Ａおよび９Ｂはまた、画像フレーム９００の１つ以上の疎点を識別する実施例を図式的に描写する。いくつかの実装では、図９Ａおよび９Ｂは、上記に説明されるように、ローリングシャッタカメラによって、イメージングデバイスから記憶ユニットの中に読み込まれるにつれた画像フレームを図示する。画像フレーム９００は、プログレッシブスキャンイメージングデバイスとして構成される、外向きに面したイメージングシステム１１０によって捕捉されてもよい。画像フレームは、画像セグメントがイメージングデバイスによって捕捉されるにつれて、イメージングデバイスから記憶ユニット（例えば、ローカル処理およびデータモジュール７０）の中に読み込まれる、複数の画像セグメント（時として、走査線とも称される）９０５ａ−９０５ｎを含み得る。画像セグメントは、水平に配列される（図９Ａに示されるように）、または垂直に配列されてもよい（図示せず）。１５の画像セグメントが、図示されるが、画像セグメントの数は、そのように限定される必要はなく、所与の用途のための所望に応じて、またはイメージングシステムの能力に基づいて、任意の数の画像セグメント９０５ａ−９０５ｎであってもよい。いくつかの実装では、画像セグメントは、ラスタ走査パターン内の線（例えば、行または列）であってもよく、例えば、画像セグメントは、外向きに面したイメージングデバイス１１０によって捕捉された画像のラスタ走査パターン内のピクセルの行または列であってもよい。ラスタ走査パターンは、本開示全体を通して説明されるように、ローリングシャッタカメラによって実施または実行されてもよい。
【００６８】
再び図９Ａを参照すると、画像フレーム９００は、連続して捕捉され、記憶ユニットの中に読み込まれる、複数の画像セグメント９０５を含み得る。画像セグメント９０５は、イメージングデバイスによって捕捉された視野（ＦＯＶ）を表すように組み合わせられてもよい。画像フレーム９００はまた、例えば、図３を参照して上述されるように、複数の疎点３２０を含み得る。いくつかの実装では、図９Ａに図示されるように、各疎点３２０は、１つ以上の画像セグメント９０５によって生成されてもよい。例えば、疎点３２０ａは、画像セグメント９０５のサブセット９１０によって生成され、したがって、そこに関連付けられ得る。したがって、各疎点は、画像セグメントが記憶ユニットにおいて受信されると、各所与の疎点に対応する画像セグメント９０５のサブセットを受信することに応じて、識別されてもよい。例えば、疎点３２０ａは、画像セグメント９０６ａ−９０６ｎがＡＲデバイスの記憶ユニットにおいて受信されるとすぐに、オブジェクト認識装置（例えば、オブジェクト認識装置６５０）によって識別されてもよい。画像セグメント９０６ａ−９０６ｎは、疎点３２０ａを表す画像セグメント９０５のサブセット９１０に対応し得る。したがって、ＡＲデバイスは、対応する画像セグメントが画像捕捉デバイス（例えば、プログレッシブスキャンカメラ）から受信されるとすぐに、個々の疎点を決定可能であり得る。画像セグメント９０５のサブセット９１０は、画像セグメント９０６ａ−９０６ｎを含み得る。いくつかの実装では、画像セグメント９０６の数は、垂直方向に沿って疎点全体を分解または捕捉するために必要とされる、垂直方向において連続して受信された画像セグメントの数に基づいてもよい。図９Ｂは、疎点３２０ａと関連付けられた７つの画像セグメントを図示するが、これは、該当する必要はなく、任意の数の画像セグメントが、必要に応じて、疎点３２０ａと関連付けられ、疎点３２０ａに対応するオブジェクト３２５ａを識別してもよい（例えば、２、３、４、５、６、８、９、１０、１１等）。
【００６９】
ある例示的実装では、疎点３２０は、循環バッファまたはローリングバッファを実装することによって識別されてもよい。例えば、バッファは、図６のバッファ６２０に類似してもよい。バッファは、ＡＲデバイスのオンボードで記憶されるメモリまたは記憶ユニットの一部（例えば、ローカル処理およびデータモジュール７０）として構築されてもよい、またはＡＲデバイスの遠隔にあってもよい（例えば、遠隔データリポジトリ７４）。バッファは、画像情報を画像捕捉デバイス（例えば、図２の外向きに面したイメージングシステム１１０）から受信するように構成されてもよい。例えば、バッファは、画像センサが各シーケンシャル画像セグメントを捕捉するにつれて、画像セグメントを表す画像データを画像センサから連続して受信してもよい。バッファはまた、画像コンテンツの後続処理および識別のために、画像データの一部を記憶するように構成されてもよい。いくつかの実施形態では、バッファは、１つ以上の画像セグメントを記憶するように構成されてもよく、画像セグメントの数は、総画像フレーム９００未満であってもよい。いくつかの実施形態では、バッファ内に記憶される画像セグメントの数は、所定の数、例えば、サブセット９１０内の数であってもよい。いくつかの実施形態では、代替として、または組み合わせて、バッファは、疎点に対応する画像セグメントのサブセット９１０を記憶するように構成されてもよい。例えば、図９Ｂを参照すると、疎点３２０ａは、７×７ピクセルウィンドウを要求し得る（例えば、７行のピクセルが、画像セグメント９０６を提示し、各画像セグメントは、７ピクセルを含む）。本実施形態では、バッファは、画像セグメント９０６のサブセット９１０を記憶するために十分な大きさであるように構成されてもよく、例えば、７つの画像セグメントが図示される。
【００７０】
上記に説明されるように、バッファは、画像データを一時的に記憶するように構成されてもよい。故に、新しい画像セグメントが、イメージング捕捉デバイスから受信されるにつれて、より古い画像セグメントは、バッファから除去される。例えば、第１の画像セグメント９０６ａが、受信されてもよく、後続画像セグメントは、疎点３２０ａに対応するバッファにおいて受信されてもよい。いったん全ての画像セグメント９０６ａ−９０６ｎが、受信されると、疎点３２０ａが、識別されてもよい。続いて、新しい画像セグメントが、受信され（例えば、９０６ｎ＋１）、画像セグメント９０６ａは、それによって、バッファから除去される。いくつかの実施形態では、セグメント９０６ａは、さらなる処理のために、バッファからデジタルメモリ内の記憶装置（例えば、ローカル処理およびデータモジュール７０）に移動される。
【００７１】
（３Ｄ空間内で姿勢を推定するための例示的ルーチン）
図１０は、イメージングデバイスが移動する、３Ｄ空間（例えば、図３）内のイメージングデバイス（例えば、図２の外向きに面したイメージングシステム１１０）の姿勢を決定するための例証的ルーチンのプロセスフロー図である。ルーチン１０００は、第１のグループの疎点の疎点に対応する画像セグメントが受信されるにつれて、第１のグループの疎点が画像フレームから抽出され得る方法の実施例を説明する。種々の実施形態では、対応する画像セグメントは、イメージングデバイスのＦＯＶを表す画像フレーム全体を捕捉することに先立って、捕捉されてもよい。ルーチン１０００はまた、後続の疎点または第２のグループの疎点が抽出および統合され、姿勢決定を更新し得る方法を説明する。ルーチン１０００は、上記に説明されるように、外向きに面したイメージングシステム（例えば、外向きに面したイメージングシステム１１０）およびデジタルメモリまたはバッファに動作可能に結合される、ハードウェアプロセッサ（例えば、図２のローカル処理およびデータモジュール７０）によって実施されてもよい。外向きに面したイメージングシステム１１０は、ローリング−シャッタカメラを備えることができる。
【００７２】
ブロック１０１０では、イメージングデバイスは、ＡＲデバイスを囲繞する環境に関する入力画像を捕捉してもよい。例えば、イメージングデバイスは、周囲環境から受信された光に基づいて、入力画像の複数の画像セグメントを連続して捕捉してもよい。これは、種々の入力デバイス（例えば、ＡＲデバイス上またはＡＲデバイスから遠隔のデジタルカメラ）を通して達成されてもよい。入力は、ＦＯＶ（例えば、ＦＯＶ３１５ａ、３１５ｂ、３１５ｃ、または３１５ｄ）を表す画像フレームであって、複数の疎点（例えば、疎点３２０）を含んでもよい。ＦＯＶカメラ、センサ、ＧＰＳ等は、画像セグメントがイメージングデバイスによって捕捉されるにつれて、連続して捕捉された画像セグメントの画像データを含む情報をシステム（ブロック１０１０）に伝達してもよい。
【００７３】
ブロック１０２０では、ＡＲデバイスは、入力画像を受信してもよい。いくつかの実施形態では、ＡＲデバイスは、ブロック１０１０において捕捉された画像の一部を形成する、第１の複数の画像セグメントを連続して受信してもよい。例えば、イメージングデバイスは、図９Ａおよび９Ｂを参照して上述されるように、場面を連続して走査し、それによって、第１の複数の画像セグメントを連続して捕捉するように構成されてもよい。画像センサはまた、データが捕捉されるにつれて、記憶ユニットに対する画像データを連続して読み取ってもよい。情報は、ユーザ−ウェアラブルシステム（例えば、ローカル処理およびデータモジュール７０）上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所（例えば、遠隔データリポジトリ７４）に常駐してもよい。いくつかの実施形態では、情報は、記憶ユニット内に含まれるバッファ内に一時的に記憶されてもよい。
【００７４】
ブロック１０３０では、ＡＲデバイスは、各疎点に対応する第１の複数の画像セグメント（時として、「事前リスト」とも称される）を受信することに基づいて、第１のグループの疎点を識別してもよい。例えば、図９Ａおよび９Ｂを参照すると、ＡＲデバイスは、図９Ａおよび９Ｂを参照して上述されるように、１つ以上の疎点３２０に対応する画像セグメント９０５（例えば、第１の複数の画像セグメント）のサブセット９１０を受信することに基づいて、１つ以上の疎点３２０を識別してもよい。疎点３２０は、疎点３２０に対応する画像セグメント９０５のサブセット９１０（例えば、画像セグメント９０６）が記憶ユニット（例えば、ローカル処理およびデータモジュール７０）において受信されるとすぐに、識別されてもよい。
【００７５】
いくつかの実装では、第１のグループの疎点は、恣意的疎点の数（Ｎ１）を含む。数（Ｎ１）は、環境内のＡＲデバイスの姿勢を推定するために選択された任意の数の疎点であってもよい。いくつかの実施形態では、数（Ｎ１）は、３つの疎点未満であってはならない。他の実施形態では、数（Ｎ１）は、１０〜２０の疎点である。より大きい数（Ｎ１）の１つの非限定的利点は、アウトライヤデータ点が否認され得ることであって、これは、姿勢決定に、インライヤデータ点に起因する雑音に対するある程度のロバスト性を提供し得る。例えば、イメージングデバイスは、物理的イメージングデバイス上に付与されるイベントに起因して、揺動または衝撃を受け得る、もしくは記録されている場面が、一時的に変化され得る（例えば、人物が前景内で移動する）。イベントは、１つ以上の画像フレーム内の疎点の小グループにのみ影響を及ぼし得る。より大きい数（Ｎ１）の疎点を使用する、または本明細書に従って姿勢推定を更新することによって、これらのアウトライヤまたは単一インスタンスイベントに起因する姿勢推定における雑音は、少なくとも部分的に、低減され得る。
【００７６】
一実装では、第１のグループの疎点は、画像フレーム（例えば、オブジェクト認識装置６５０によって）から抽出され、姿勢決定（例えば、上記に説明されるように、ＳＬＡＭ、ＶＳＬＡＭ、または類似物）（ブロック１０４０）を実行するように構成される、姿勢推定システム（例えば、図６の姿勢推定システム６４０）に伝達されてもよい。種々の実施形態では、第１のグループの疎点は、対応する第１の複数の画像セグメントを受信することに基づいて、ある数（Ｎ１）の疎点を識別することに応じて、姿勢推定システムに伝達される。故に、第１のグループの疎点は、イメージングデバイスが画像フレーム全体を受信しないため、画像のフレームの一部のみが受信されたとき、伝達されてもよい。後続画像セグメント（例えば、第１の複数の画像セグメントの後に取得される第２の複数の画像セグメント）は、そのまま受信されることになる。一実施形態では、第１のグループの疎点は、画像セグメントの対応するサブセットを走査することに基づいて、それぞれ識別されるとすぐに、抽出されてもよい（例えば、ＡＲデバイスの記憶ユニットまたはその一部、例えば、バッファから）。別の実施形態では、第１のグループの疎点は、いったんある数（Ｎ１）の疎点が識別され、疎点が単一プロセスにおいて伝送されると、抽出されてもよい（例えば、ＡＲデバイスの記憶ユニットまたはバッファから）。
【００７７】
ブロック１０４５では、ＡＲデバイスは、第２の複数の画像セグメント（時として、「追従リスト」とも称される）を受信してもよい。いくつかの実施形態では、ＡＲデバイスは、ブロック１０２０において第１の複数の画像セグメントを受信後、第２の複数の画像セグメントを連続して取得してもよい。例えば、イメージングデバイスは、図９Ａおよび９Ｂを参照して上述されるように、場面を連続して走査し、それによって、第１の複数の画像セグメントを連続して捕捉し（例えば、ブロック１０２０）、続いて、ブロック１０３０後またはその間のいずれかにおいて、場面を連続して走査し、第２の複数の画像セグメントを取得するように構成されてもよい。別の実施形態では、第２の複数の画像セグメントまたはその一部は、イメージングデバイスによって捕捉された第２の画像から取得されてもよく、第２の画像は、第１の画像後に捕捉される。情報は、ＡＲデバイス（例えば、ローカル処理およびデータモジュール７０）上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所（例えば、遠隔データリポジトリ７４）に常駐してもよい。いくつかの実施形態では、情報は、記憶ユニット内に含まれるバッファ内に一時的に記憶されてもよい。
【００７８】
再び図１０を参照すると、ブロック１０５０では、ＡＲデバイスは、第２の複数の画像セグメントに基づいて、第２のグループの疎点を識別してもよい。例えば、一実施形態では、画像フレーム全体は、ブロック１０４０において姿勢を決定することに先立って受信されておらず、第２の複数の画像セグメントは、ブロック１０４５において、イメージングデバイスから受信されてもよい。したがって、ＡＲデバイスは、図９Ａおよび９Ｂを参照して上述されるように、１つ以上の新しい疎点（例えば、第２のグループの疎点）に対応する第２の複数の画像セグメントを受信することに基づいて、１つ以上の新しい疎点を識別してもよい。別の実施形態では、第２の画像は、第１の画像がブロック１０１０において捕捉された後、イメージングデバイスによって捕捉されてもよく、第２の複数の画像セグメントは、第２の画像から取得されてもよい。したがって、ＡＲデバイスは、第２の複数の画像セグメントを第２の画像から受信することに基づいて、１つ以上の新しい疎点を識別してもよく、これは、第２のグループの疎点に対応し得る。いくつかの実施形態では、第２のグループの疎点は、任意の数の新しい疎点（例えば、１、２、３等）を含み得る。一実装では、第２のグループの疎点は、抽出され、例えば、第２のグループの疎点を姿勢推定システムに伝達することによって、姿勢決定の中に統合されてもよい。以下は、第２のグループの疎点を第１のグループの疎点とともに図１０のマッピングルーチンの中に統合する例示的方法である。例えば、本明細書に説明される例示的統合方法は、再統合、スライディングスケール統合、またはブロック統合と称され得る。しかしながら、これらの例示的統合方法は、包括的であることを意図するものではない。誤差を最小限にし、姿勢決定における遅延を減少させ得る、他の方法も、可能性として考えられる。
【００７９】
ブロック１０６０では、姿勢推定システムは、ブロック１０４０における姿勢決定およびブロック１０５０における第２のグループの疎点の受信に基づいて、姿勢決定を更新するように構成されてもよい。
【００８０】
上記に説明されるルーチン１０００の１つの非限定的利点は、姿勢推定プロセスに先立って疎点を画像フレームから抽出することから生じる、遅延の低減であり得る。例えば、それらの疎点に対応する画像セグメントがバッファ６２０において受信されると、個々の疎点を算出および識別することによって、個々のまたは選択された疎点のグループは、画像フレーム全体が捕捉されることを待機せずに、抽出され、姿勢推定システムによって処理されてもよい。したがって、姿勢推定は、画像全体がメモリに転送されるよりもかなり前に、そして全ての疎点が画像全体から抽出され得る前に、実施されてもよい。しかしながら、いったん特定の画像フレームの第１のグループおよび全ての後続グループが、抽出されると、画像フレーム全体が、次いで、姿勢推定のために利用可能になるであろう。
【００８１】
種々の実装では、第２のグループの疎点は、ブロック１０４０において姿勢を決定した後に識別された設定数の疎点を含み得る。いくつかの実施形態では、設定数は、１つの疎点であってもよい。例えば、後続の疎点が識別される度に、疎点は、姿勢推定システムに伝達され、新しい姿勢推定プロセスが、ブロック１０６０において実施され、ＡＲデバイスの位置、場所、または配向のうちの１つ以上のものを更新することができる。本方法は、時として、再統合方法と称され得る。故に、続いて識別された各疎点は、後続の疎点のグループ（例えば、第２、第３、第４の等の疎点のグループ）を表し得る。別の実施形態では、設定数は、任意の数の続いて識別された疎点（例えば、２、３、４等）であってもよい。例えば、設定数が、３である場合、３つの新しい疎点が識別される度に（例えば、後続の疎点のグループ）、グループは、ブロック１０５０において姿勢推定システムに伝達され、新しい姿勢推定プロセスが、ブロック１０６０において実施される。姿勢推定プロセスは、したがって、画像フレーム全体内に含まれる全ての疎点を利用してもよい。
【００８２】
他の実装では、統合方法は、図４Ａ−５Ｂを参照して上述されるように、ローリングシャッタ効果を考慮するように構成されてもよい。例えば、姿勢推定プロセスは、固定数（Ｎ２）の疎点のために実施されてもよい。本方法は、時として、スライディング統合方法と称され得る。本実施形態では、第２のグループの疎点は、ブロック１０４０において姿勢を決定した後に識別された選択数（ｋ２）の疎点を含み得る。ある数（ｋ２）の疎点が、識別され得る度に、姿勢決定は、更新されてもよい。しかしながら、直近のＮ２の疎点のみが、ブロック１０６０において姿勢を更新するために使用されてもよい。いくつかの実施形態では、本方法は、それらが対応するグループにかかわらず、直近のＮ２の疎点を利用する。例えば、Ｎ１が、１０に設定される場合、Ｎ２は、１５に設定され、ｋ２は、５に設定され、したがって、第１のグループの疎点は、ブロック１０３０において識別された最初の１０の疎点を含む。したがって、姿勢は、ブロック１０４０において、最初の１０の疎点に基づいて決定される。続いて、新しい疎点が、識別されるが、姿勢は、更新されない。いったん第２のグループの疎点を構成する、５つの新しい疎点が、識別されると、姿勢は、第１のグループ（Ｎ１）および第２のグループ（ｋ２）の疎点に基づいて更新されてもよい。第３のグループの疎点が、識別される場合（例えば、第２のグループに続く５つの疎点）、姿勢は、再び、ブロック１０６０において更新されるが、しかしながら、更新は、第１のグループ（例えば、疎点６−１０）、第２のグループ（例えば、疎点１１−１５）、および第３のグループ（例えば、疎点１６−２１）のうちのいくつかに基づいてもよい。したがって、統合は、疎点のスライディングウィンドウまたはスライディングリストとして検討され、それによって、疎点の設定数のみが、姿勢を推定するために使用され、使用される疎点は、第１のグループから第２および第３のグループにスライドしてもよい。本方法の１つの非限定的利点は、先に受信された画像セグメントから識別された疎点が、それらが古くなる、または陳腐化するにつれて、ブロック１０６０における姿勢決定から除去され得ることであり得る。ある場合には、ＡＲデバイスが、疎点に対して動いている場合、ローリングシャッタ効果は、古い疎点を除去し、識別された新しい疎点間の姿勢の変化を捕捉することによって低減され得る。
【００８３】
いくつかの実施形態では、先の統合方法が、例えば、外向きに面したイメージングシステム１１０が、図３のＦＯＶ３１５ａの画像フレームの捕捉とＦＯＶ３１５ｂの画像フレームの捕捉との間で移動するにつれて、画像フレーム間で利用されてもよい。例えば、第１のグループの疎点は、第１の位置３１２ａ（例えば、ＦＯＶ３１５ｂ）と関連付けられた画像フレームから受信されてもよく、第２のグループの疎点は、第２の位置３１２ｂ（例えば、ＦＯＶ３１５ｂ）と関連付けられた画像フレームから受信されてもよい。スライディングリスト方法が、これらの画像フレーム間のローリングシャッタ効果を低減させるために実装されてもよい。しかしながら、いくつかの実施形態では、第１のフレームからの直近の（Ｎ２−１）を上回る疎点を留保する必要がない場合がある。
【００８４】
別の実装では、ブロック１０６０における姿勢決定は、固定数またはブロックの疎点のために実施されてもよい。本方法は、時として、ブロック統合方法と称され得る。いくつかの実施形態では、疎点のグループはそれぞれ、ブロックと等しい疎点の数を含み得る。例えば、ブロックが、１０に設定される場合、第１のグループのための固定数（Ｎ１）は、１０であって、姿勢は、ブロック１０４０において、本第１のグループを識別および抽出することに応じて決定される。続いて、次の１０の疎点を含み、第２のグループが、識別されてもよく、姿勢は、ブロック１０６０において、本第２のグループを使用して更新される。いくつかの実施形態では、本プロセスは、複数のグループ（例えば、第３、第４、第５等）のために継続してもよい。いくつかの実施形態では、画像セグメントが、バッファ（例えば、図６のバッファ６２０）内に記憶されると、バッファのサイズは、少なくとも、ブロック内に含まれ得る疎点の数を記憶するように選択および構成されてもよい（例えば、バッファは、前述の実施例では、少なくとも１０の疎点を記憶するように構成されるサイズを有するように選択されてもよい）。いくつかの実施形態では、バッファは、ブロック内に構成される疎点の数のみを記憶するように制限されたサイズを有してもよい。
【００８５】
方法、デバイス、およびシステムの種々の実施形態が、頭部搭載型ディスプレイデバイスまたはＡＲデバイスを参照して、本開示全体を通して説明されたが、これは、本願の範囲を限定することを意図するものではなく、単に、例証的目的のための実施例として使用される。本明細書に説明される方法およびデバイスは、本明細書に説明される方法およびデバイスを実装し、デバイスが位置する３Ｄ環境をマッピングし、３Ｄ環境を通してデバイスの移動を追跡し得る、ロボット、デジタルカメラ、および他の自律的エンティティ等の他のデバイスにも適用可能であり得る。
【００８６】
（付加的側面）
第１の側面では、環境内の画像捕捉デバイスの位置を推定するための方法が、開示される。本方法は、第１の複数の画像セグメントを連続して受信するステップであって、第１の複数の画像セグメントは、画像捕捉デバイスの視野（ＦＯＶ）を表す画像の少なくとも一部を形成し、ＦＯＶは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、画像セグメントのサブセットに対応する、ステップと、第１のグループの疎点を識別するステップであって、第１のグループの疎点は、第１の複数の画像セグメントが受信されるにつれて識別された１つ以上の疎点を含む、ステップと、位置推定システムによって、第１のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を決定するステップと、第２の複数の画像セグメントを連続して受信するステップであって、第２の複数の画像セグメントは、第１の複数の画像セグメントの後に受信され、画像の少なくとも別の部分を形成する、ステップと、第２のグループの疎点を識別するステップであって、第２のグループの疎点は、第２の複数の画像セグメントが受信されるにつれて識別された１つ以上の疎点を含む、ステップと、位置推定システムによって、第１および第２のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を更新するステップとを含む。
【００８７】
第２の側面では、複数の画像セグメントを画像捕捉デバイスの画像センサにおいて連続して捕捉するステップをさらに含む、側面１に記載の方法。
【００８８】
第３の側面では、画像センサは、ローリングシャッタ画像センサである、側面１または２に記載の方法。
【００８９】
第４の側面では、画像セグメントが連続して受信されるにつれて、第１および第２の複数の画像セグメントをバッファ内に記憶するステップをさらに含み、バッファは、画像セグメントのサブセット内の画像セグメントの数に対応するサイズを有する、側面１−３のいずれか１項に記載の方法。
【００９０】
第５の側面では、第１および第２のグループの疎点を位置推定システムに対して抽出するステップをさらに含む、側面１−４のいずれか１項に記載の方法。
【００９１】
第６の側面では、第１のグループの疎点は、ある数の疎点を含む、側面１−５のいずれか１項に記載の方法。
【００９２】
第７の側面では、疎点の数は、１０〜２０の疎点である、側面６に記載の方法。
【００９３】
第８の側面では、第２のグループの疎点は、第２の疎点の数を含む、側面１−７のいずれか１項に記載の方法。
【００９４】
第９の側面では、画像捕捉デバイスの位置の該更新は、直近で識別された疎点の数に基づき、直近で識別された疎点は、第１のグループ、第２のグループ、または第１のグループおよび第２のグループのうちの１つ以上のもののうちの少なくとも１つである、側面１−８のいずれか１項に記載の方法。
【００９５】
第１０の側面では、直近で識別された疎点の数は、第１のグループの疎点における疎点の数と等しい、側面９に記載の方法。
【００９６】
第１１の側面では、位置推定システムは、視覚的同時位置特定およびマッピング（Ｖ−ＳＬＡＭ）を実施するように構成される、側面１−１０のいずれか１項に記載の方法。
【００９７】
第１２の側面では、複数の疎点は、実世界オブジェクト、仮想画像要素、および環境の中に投影された不可視インジケータのうちの少なくとも１つに基づいて抽出される、側面１−１１のいずれか１項に記載の方法。
【００９８】
第１３の側面では、環境内の画像捕捉デバイスの位置を推定するための方法が、開示される。本方法は、複数の画像セグメントを連続して受信するステップであって、複数の画像セグメントは、画像捕捉デバイスの視野（ＦＯＶ）を表す画像を形成し、ＦＯＶは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、部分的に、複数の画像セグメントの画像セグメントの対応するサブセットに基づいて、識別可能であるステップと、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別するステップと、識別された１つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するステップとを含む。
【００９９】
第１４の側面では、複数の画像セグメントを連続して受信するステップはさらに、ある数の画像セグメントを受信するステップと、その数の画像セグメントをバッファ内に記憶するステップとを含む、側面１３に記載の方法。
【０１００】
第１５の側面では、複数の画像セグメントを連続して受信するステップは、少なくとも第１の画像セグメントおよび第２の画像セグメントを受信するステップを含み、第１の画像セグメントは、バッファ内に記憶される、側面１３または１４に記載の方法。
【０１０１】
第１６の側面では、第２の画像セグメントを受信することに応じて、バッファを更新するステップと、第２の画像セグメントをバッファ内に記憶するステップと、第２の画像セグメントを受信することに応じて、第１の画像セグメントを除去するステップとをさらに含む、側面１３−１５のいずれか１項に記載の方法。
【０１０２】
第１７の側面では、１つ以上の疎点を連続して識別するステップはさらに、バッファが更新されると、バッファ内に記憶される画像セグメントを走査するステップを含む、側面１６に記載の方法。
【０１０３】
第１８の側面では、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別するステップはさらに、第１のグループの１つ以上の疎点に対応する第１の複数の画像セグメントが受信されると、第１のグループの１つ以上の疎点を連続して識別するステップと、第２のグループの１つ以上の疎点に対応する第２の複数の画像セグメントが受信されると、第２のグループの１つ以上の疎点を連続して識別するステップとを含み、第２の複数の画像セグメントは、第１の複数の画像セグメントの後に受信される、側面１３−１７のいずれか１項に記載の方法。
【０１０４】
第１９の側面では、画像捕捉デバイスの位置を推定するステップは、第１のグループの１つ以上の疎点を識別することに基づき、第１のグループは、ある数の疎点を含む、側面１３−１８のいずれか１項に記載の方法。
【０１０５】
第２０の側面では、疎点の数は、２〜２０である、側面１９に記載の方法。
【０１０６】
第２１の側面では、疎点の数は、１０〜２０である、側面１９に記載の方法。
【０１０７】
第２２の側面では、第２のグループの１つ以上の疎点を識別することに基づいて、画像捕捉デバイスの位置を更新するステップをさらに含む、側面１３−２１のいずれか１項に記載の方法。
【０１０８】
第２３の側面では、第２のグループの１つ以上の疎点は、第２の数の疎点を含む、側面１３−２２のいずれか１項に記載の方法。
【０１０９】
第２４の側面では、ある数の連続して識別された疎点を識別することに基づいて、画像捕捉デバイスの位置を更新するステップをさらに含む、側面１３−２３のいずれか１項に記載の方法。
【０１１０】
第２５の側面では、連続して識別された疎点の数は、疎点の数と等しい、側面２４に記載の方法。
【０１１１】
第２６の側面では、連続して識別された疎点の数は、第１のグループの疎点の疎点のうちの少なくとも１つを含む、側面２４に記載の方法。
【０１１２】
第２７の側面では、複数の疎点が、実世界オブジェクト、仮想画像要素、および環境の中に投影された不可視インジケータのうちの少なくとも１つに基づいて抽出される、側面１３−２６のいずれか１項に記載の方法。
【０１１３】
第２８の側面では、連続して識別された疎点をバッファから抽出するステップと、連続して識別された疎点を視覚的同時場所およびマッピング（ＶＳＬＡＭ）システムに送信するステップとをさらに含み、ＶＳＬＡＭシステムは、連続して識別された１つ以上の疎点に基づいて、画像捕捉デバイスの位置を推定する、側面１３−２７のいずれか１項に記載の方法。
【０１１４】
第２９の側面では、拡張現実（ＡＲ）システムが、開示される。ＡＲシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面１−２８のいずれか１項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
【０１１５】
第３０の側面では、外向きに面したイメージングデバイスは、不可視スペクトル内の光を検出するように構成される、側面２９に記載のＡＲシステム。
【０１１６】
第３１の側面では、ＡＲシステムは、１つ以上の仮想画像要素を表示するように構成される、側面２９または３０に記載のＡＲシステム。
【０１１７】
第３２の側面では、ＡＲシステムの推定された位置を示す識別信号を遠隔ＡＲシステムに伝送するように構成される、送受信機をさらに含み、遠隔ＡＲシステムは、受信された識別信号に基づいて、その推定された位置を更新するように構成される、側面２９−３１のいずれか１項に記載のＡＲシステム。
【０１１８】
第３３の側面では、自律的エンティティが、開示される。自律的エンティティは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面１−２８のいずれか１項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
【０１１９】
第３４の側面では、外向きに面したイメージングデバイスは、不可視スペクトル内の光を検出するように構成される、側面３３に記載の自律的エンティティ。
【０１２０】
第３５の側面では、ロボットシステムが、開示される。ロボットシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面１−２８のいずれか１項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
【０１２１】
第３６の側面では、環境内の画像捕捉デバイスの位置を推定するための画像捕捉デバイスが、開示される。画像捕捉デバイスは、複数の画像セグメントを連続して捕捉することを介して、画像を捕捉するように構成される、画像センサであって、画像は、画像捕捉デバイスの視野（ＦＯＶ）を表し、ＦＯＶは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、部分的に、複数の画像セグメントの対応するサブセットに基づいて識別可能である、画像センサと、１つ以上の疎点に対応する画像セグメントのサブセットを記憶するように構成される、メモリ回路と、メモリ回路に動作可能に結合され、１つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の１つ以上の疎点を連続して識別し、識別された１つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するために、連続して識別された１つ以上の疎点を抽出するように構成される、コンピュータプロセッサとを含む。
【０１２２】
第３７の側面では、連続して識別された１つ以上の疎点を受信し、識別された１つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するように構成される、位置推定システムをさらに含む、側面３６に記載の画像捕捉デバイス。
【０１２３】
第３８の側面では、位置推定システムは、視覚的同時場所およびマッピング（ＶＳＬＡＭ）システムである、側面３６または３７に記載の画像捕捉デバイス。
【０１２４】
第３９の側面では、画像センサは、不可視スペクトル内の光を検出するように構成される、側面３６−３８のいずれか１項に記載の画像捕捉デバイス。
【０１２５】
第４０の側面では、その推定された位置を示す識別信号を遠隔画像捕捉デバイスに伝送するように構成される、送受信機をさらに含み、遠隔画像捕捉デバイスは、受信された識別信号に基づいて、その推定された位置を更新するように構成される、側面３６−３９のいずれか１項に記載の画像捕捉デバイス。
【０１２６】
（他の考慮点）
本明細書に説明される、ならびに／または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、１つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および／もしくは電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全もしくは部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ（例えば、サーバ）または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【０１２７】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、（適切な特殊化された実行可能命令を利用する）特定用途向けハードウェアまたは１つ以上の物理的コンピューティングデバイスまたは特殊なグラフィック処理ユニットは、例えば、関与する計算の量もしくは複雑性に起因して、または結果、例えば、姿勢推定入力を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【０１２８】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、光学ディスク、揮発性もしくは不揮発性記憶装置、同一物の組み合わせ、および／または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール（またはデータ）はまた、無線ベースおよび有線／ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として（例えば、搬送波または他のアナログもしくはデジタル伝搬信号の一部として）伝送され得、種々の形態（例えば、単一もしくは多重化アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして）をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的もしくは別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【０１２９】
本明細書に説明される、および／または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、もしくは機能性は、プロセスにおいて具体的機能（例えば、論理もしくは算術）またはステップを実装するための１つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムもしくはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【０１３０】
本プロセス、方法、およびシステムは、ネットワーク（または分散）コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線もしくは無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【０１３１】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【０１３２】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの１つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要もしくは必須ではない。
【０１３３】
とりわけ、「〜できる（ｃａｎ）」、「〜し得る（ｃｏｕｌｄ）」、「〜し得る（ｍｉｇｈｔ）」、「〜し得る（ｍａｙ）」、「例えば（ｅ．ｇ．）」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および／またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および／もしくはステップが、１つ以上の実施形態に対していかようにも要求されること、または１つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および／もしくはステップが任意の特定の実施形態において含まれる、もしくは実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「〜を備える」、「〜を含む」、「〜を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され（およびその排他的意味において使用されず）、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの１つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「ａ」、「ａｎ」、および「ｔｈｅ」は、別様に規定されない限り、「１つ以上の」または「少なくとも１つ」を意味するように解釈されるべきである。
【０１３４】
本明細書で使用されるように、項目のリスト「〜のうちの少なくとも１つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」は、Ａ、Ｂ、Ｃ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、ならびにＡ、Ｂ、およびＣを網羅することが意図される。語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がＸ、Ｙ、またはＺのうちの少なくとも１つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在するように要求することを示唆することを意図されない。
【０１３５】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、もしくは連続的順序で実施されること、または全ての図示される動作が実施されることの必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で１つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、１つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
【図１】
2019522851.tif 000003
【図２】
2019522851.tif 000004
【図３】
2019522851.tif 000005
【図４Ａ】
2019522851.tif 000006
【図４Ｂ】
2019522851.tif 000007
【図５Ａ】
2019522851.tif 000008
【図５Ｂ】
2019522851.tif 000009
【図６】
2019522851.tif 000010
【図７】
2019522851.tif 000011
【図８】
2019522851.tif 000012
【図９Ａ−９Ｂ】
2019522851.tif 000013
【図１０】
2019522851.tif 000014
【国際調査報告】
2019522851.tif 000015