(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】姿勢付き単眼ビデオからの周囲推定
(51)【国際特許分類】
G06T 7/00 20170101AFI20240829BHJP
G06T 7/55 20170101ALI20240829BHJP
G06T 7/60 20170101ALI20240829BHJP
【FI】
G06T7/00 C
G06T7/55
G06T7/60 180Z
(21)【出願番号】P 2021562348
(86)(22)【出願日】2020-04-23
(86)【国際出願番号】 US2020029614
(87)【国際公開番号】W WO2020219744
(87)【国際公開日】2020-10-29
【審査請求日】2023-03-30
(32)【優先日】2019-04-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100104824
【氏名又は名称】穐場 仁
(74)【代理人】
【識別番号】100121463
【氏名又は名称】矢口 哲也
(74)【代理人】
【識別番号】100137969
【氏名又は名称】岡部 憲昭
(72)【発明者】
【氏名】チェン, ジャオ
(72)【発明者】
【氏名】パラク, アメヤ プラモド
(72)【発明者】
【氏名】バドリナラヤナン, ヴィジャイ
【審査官】千葉 久博
(56)【参考文献】
【文献】米国特許出願公開第2018/0018805(US,A1)
【文献】米国特許出願公開第2015/0063707(US,A1)
【文献】国際公開第2019/035155(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/55
G06T 7/60
(57)【特許請求の範囲】
【請求項1】
方法であって、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセット
から前記環境の深度マップを生成することと、
前記画像のセット
を機械学習モデルに提供することによって、壁セグメント化マップのセットを生成することであって、
前記機械学習モデルは、画像入力に基づいて壁セグメント化マップを出力するように訓練されたものであり、前記壁セグメント化マップのセットはそれぞれ、
前記隣り合った壁のセットを含有する前記画像のセットからの対応する画像の
1つ以上の領域を示す、ことと、
前記1つ以上の領域と整合する前記深度マップの部分に沿って
前記深度マップをサンプリング
することによって、複数の点を含む
点群を生成することと、
前記点群のためのクラスタのセットを識別することであって、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、ことと、
線または平面を前記クラスタのセット毎に前記複数の点に適合させることによって、前記隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む、方法。
【請求項2】
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することをさらに含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、請求項1に記載の方法。
【請求項3】
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、請求項2に記載の方法。
【請求項4】
前記複数の点は、2D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、請求項
1に記載の方法。
【請求項5】
前記複数の点は、3D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、請求項
1に記載の方法。
【請求項6】
前記画像のセットは、RGB画像を含む、請求項1に記載の方法。
【請求項7】
前記姿勢のセットは、前記画像のセットを捕捉した画像センサのカメラ配向を含む、請求項1に記載の方法。
【請求項8】
前記複数の点は、3D点を含む、請求項1に記載の方法。
【請求項9】
システムであって、
1つ以上のプロセッサと、
コンピュータ可読媒体であって、前記コンピュータ可読媒体は、命令を備えており、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセット
から前記環境の深度マップを生成することと、
前記画像のセット
を機械学習モデルに提供することによって、壁セグメント化マップのセットを生成することであって、
前記機械学習モデルは、画像入力に基づいて壁セグメント化マップを出力するように訓練されたものであり、前記壁セグメント化マップのセットはそれぞれ、
前記隣り合った壁のセットを含有する前記画像のセットからの対応する画像の
1つ以上の領域を示す、ことと、
前記1つ以上の領域と整合する前記深度マップの部分に沿って
前記深度マップをサンプリング
することによって、複数の点を含む
点群を生成することと、
前記点群のためのクラスタのセットを識別することであって、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、ことと、
線または平面を前記クラスタのセット毎に前記複数の点に適合させることによって、前記隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む動作を実施させる、コンピュータ可読媒体と
を備える、システム。
【請求項10】
前記動作はさらに、
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することを含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、請求項
9に記載のシステム。
【請求項11】
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、請求項
10に記載のシステム。
【請求項12】
前記複数の点は、2D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、請求項
9に記載のシステム。
【請求項13】
前記複数の点は、3D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、請求項
9に記載のシステム。
【請求項14】
前記画像のセットは、RGB画像を含む、請求項
9に記載のシステム。
【請求項15】
命令を備える非一過性コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセット
から前記環境の深度マップを生成することと、
前記画像のセット
を機械学習モデルに提供することによって、壁セグメント化マップのセットを生成することであって、
前記機械学習モデルは、画像入力に基づいて壁セグメント化マップを出力するように訓練されたものであり、前記壁セグメント化マップのセットはそれぞれ、
前記隣り合った壁のセットを含有する前記画像のセットからの対応する画像の
1つ以上の領域を示す、ことと、
前記1つ以上の領域と整合する前記深度マップの部分に沿って
前記深度マップをサンプリング
することによって、複数の点を含む
点群を生成することと、
前記点群のためのクラスタのセットを識別することであって、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、ことと、
線または平面を前記クラスタのセット毎に前記複数の点に適合させることによって、前記隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む動作を実施させる、非一過性コンピュータ可読媒体。
【請求項16】
前記動作はさらに、
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することを含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、請求項
15に記載の非一過性コンピュータ可読媒体。
【請求項17】
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、請求項
16に記載の非一過性コンピュータ可読媒体。
【請求項18】
前記複数の点は、2D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、請求項
15に記載の非一過性コンピュータ可読媒体。
【請求項19】
前記複数の点は、3D点を含み
、前記隣り合った壁のセットに沿っ
て、前記環境の周囲を推定することは、
前記平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、請求項
15に記載の非一過性コンピュータ可読媒体。
【請求項20】
前記画像のセットは、RGB画像を含む、請求項
15に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
(関連出願の相互参照)
本願は、その内容が、その全体として本明細書内に組み込まれる、2019年4月24日に出願され、「SYSTEMS AND METHODS FOR DEEP INDOOR BOUNDARY ESTIMATION FROM POSED MONOCULAR VIDEO」と題された、米国仮特許出願第62/838,265号、および2019年5月15日に出願され、「SYSTEMS AND METHODS FOR DEEP INDOOR BOUNDARY ESTIMATION FROM POSED MONOCULAR VIDEO」と題された、米国仮特許出願第62/848,492号の優先権の利益を主張する。
【0002】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。仮想現実、すなわち、「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実、すなわち、「AR」シナリオは、典型的には、ユーザのまわりの実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【0003】
これらのディスプレイ技術において成された進歩にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する、改良された方法、システム、およびデバイスの必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、コンピューティングシステム、方法、および構成に関し、より具体的には、環境の3次元(3D)幾何学的側面を理解することが、拡張現実(AR)、ナビゲーション、および一般的場面理解のためのコンピューティングシステムを伴い得る用途等において重要である、コンピューティングシステム、方法、および構成に関する。
【0005】
1つ以上のコンピュータのシステムが、動作時、システムにアクションを実施させる、システム上にインストールされる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定の動作またはアクションを実施するように構成されることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置に、アクションを実施させる、命令を含むことによって、特定の動作またはアクションを実施するように構成されることができる。1つの一般的側面は、画像のセットおよび画像のセットに対応する姿勢のセットを取得するステップであって、画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ステップとを含む、方法を含む。本方法はまた、画像のセットおよび姿勢のセットに基づいて、環境の深度マップを生成するステップを含む。本方法はまた、画像のセットに基づいて、壁セグメント化マップのセットを生成するステップであって、壁セグメント化マップのセットはそれぞれ、隣り合った壁のセットを含有する、画像のセットからの対応する画像の標的領域を示す、ステップを含む。本方法はまた、深度マップおよび壁セグメント化マップのセットに基づいて、点群を生成するステップであって、点群は、標的領域と整合する、深度マップの部分に沿ってサンプリングされる、複数の点を含む、ステップを含む。本方法はまた、点群に基づいて、隣り合った壁のセットに沿って、環境の周囲を推定するステップを含む。本側面の他の実施形態は、対応するコンピュータシステム、装置、および1つ以上のコンピュータ記憶デバイス上に記録されるコンピュータプログラムを含み、それぞれ、本方法のアクションを実施するように構成される。
【0006】
実装は、以下の特徴のうちの1つ以上のものを含んでもよい。本方法はさらに、1つ以上のセンサを使用して、画像のセットおよび姿勢のセットを捕捉するステップを含み、画像のセットおよび姿勢のセットを取得するステップは、画像のセットおよび姿勢のセットを1つ以上のセンサから受信するステップを含む。本方法では、1つ以上のセンサは、画像のセットを捕捉するように構成される、画像センサと、姿勢のセットを捕捉するように構成される、姿勢センサとを含む。本方法はさらに、点群のためのクラスタのセットを識別するステップを含み、クラスタのセットはそれぞれ、複数の点のサブセットを含み、クラスタのセットはそれぞれ、隣り合った壁のセットからの異なる壁に対応するように決定される。本方法では、複数の点は、2D点を含み、点群に基づいて、隣り合った壁のセットに沿った環境の周囲を推定するステップは、線をクラスタのセット毎に複数の点に適合させ、複数の線をもたらすステップを含む。本方法はまた、交点に到達するまで複数の線を延在させることによって、閉ループを形成するステップを含んでもよい。本方法では、複数の点は、3D点を含み、点群に基づいて、隣り合った壁のセットに沿った環境の周囲を推定するステップは、平面をクラスタのセット毎に複数の点に適合させ、複数の平面をもたらすステップを含む。本方法はまた、交線に到達するまで複数の平面を延在させることによって、閉ループを形成するステップを含んでもよい。本方法では、画像のセットは、RGB画像を含む。本方法では、姿勢のセットは、画像のセットを捕捉した画像センサのカメラ配向を含む。本方法では、複数の点は、3D点を含む。説明される技法の実装は、ハードウェア、方法またはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでもよい。
【0007】
1つの一般的側面は、本1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、画像のセットおよび画像のセットに対応する姿勢のセットを取得するステップであって、画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ステップを含む、動作を実施させる、命令を含む、コンピュータ可読媒体とを含む、システムを含む。動作はまた、画像のセットおよび姿勢のセットに基づいて、環境の深度マップを生成するステップを含む。動作はまた、画像のセットに基づいて、壁セグメント化マップのセットを生成するステップであって、壁セグメント化マップのセットはそれぞれ、隣り合った壁のセットを含有する、画像のセットからの対応する画像の標的領域を示す、ステップを含む。動作はまた、深度マップおよび壁セグメント化マップのセットに基づいて、点群を生成するステップであって、点群は、標的領域と整合する、深度マップの部分に沿ってサンプリングされる、複数の点を含む、ステップを含む。動作はまた、点群に基づいて、隣り合った壁のセットに沿って、環境の周囲を推定するステップを含む。本側面の他の実施形態は、対応するコンピュータシステム、装置、および1つ以上のコンピュータ記憶デバイス上に記録されるコンピュータプログラムを含み、それぞれ、本方法のアクションを実施するように構成される。
【0008】
実装は、以下の特徴のうちの1つ以上のものを含んでもよい。本システムでは、動作はさらに、1つ以上のセンサを使用して、画像のセットおよび姿勢のセットを捕捉するステップを含み、画像のセットおよび姿勢のセットを取得するステップは、画像のセットおよび姿勢のセットを1つ以上のセンサから受信するステップを含む。本システムでは、1つ以上のセンサは、画像のセットを捕捉するように構成される、画像センサと、姿勢のセットを捕捉するように構成される、姿勢センサとを含む。本システムでは、動作はさらに、点群のためのクラスタのセットを識別するステップを含み、クラスタのセットはそれぞれ、複数の点のサブセットを含み、クラスタのセットはそれぞれ、隣り合った壁のセットからの異なる壁に対応するように決定される。本システムでは、複数の点は、2D点を含み、点群に基づいて、隣り合った壁のセットに沿った環境の周囲を推定するステップは、線をクラスタのセット毎に複数の点に適合させ、複数の線をもたらすステップを含む。本システムはまた、交点に到達するまで複数の線を延在させることによって、閉ループを形成するステップを含んでもよい。本システムでは、複数の点は、3D点を含み、点群に基づいて、隣り合った壁のセットに沿った環境の周囲を推定するステップは、平面をクラスタのセット毎に複数の点に適合させ、複数の平面をもたらすステップを含む。本システムはまた、交線に到達するまで複数の平面を延在させることによって、閉ループを形成するステップを含んでもよい。本システムでは、画像のセットは、RGB画像を含む。説明される技法の実装は、ハードウェア、方法またはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでもよい。
【0009】
多数の利点が、従来の技法に優る本発明の方法によって達成される。例えば、本発明の実施形態は、現在利用可能な深層ネットワーク方法を活用し、可能性として考えられる部屋のタイプの列挙されるセットを伴わずに、角および縁オクルージョンに対するロバスト性を伴って、部屋周囲を精密に推測することが可能である。例えば、説明される実施形態は、可能性として考えられる先験的部屋形状のリストに依拠しない。加えて、説明される実施形態は、モデル入力における高品質内部点群の可用性に依拠しない。さらに、説明される実施形態を使用した結果は、周囲推定のための確立された重要なベンチマークを有する。
本明細書は、例えば、以下の項目も提供する。
(項目1)
方法であって、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセットに基づいて、前記環境の深度マップを生成することと、
前記画像のセットに基づいて、壁セグメント化マップのセットを生成することであって、前記壁セグメント化マップのセットはそれぞれ、隣り合った壁のセットを含有する前記画像のセットからの対応する画像の標的領域を示す、ことと、
前記深度マップおよび前記壁セグメント化マップのセットに基づいて、点群を生成することであって、前記点群は、前記標的領域と整合する前記深度マップの部分に沿ってサンプリングされる複数の点を含む、ことと、
前記点群に基づいて、隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む、方法。
(項目2)
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することをさらに含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、項目1に記載の方法。
(項目3)
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、項目2に記載の方法。
(項目4)
前記点群のためのクラスタのセットを識別することをさらに含み、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、項目1に記載の方法。
(項目5)
前記複数の点は、2D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、項目4に記載の方法。
(項目6)
前記複数の点は、3D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、項目4に記載の方法。
(項目7)
前記画像のセットは、RGB画像を含む、項目1に記載の方法。
(項目8)
前記姿勢のセットは、前記画像のセットを捕捉した画像センサのカメラ配向を含む、項目1に記載の方法。
(項目9)
前記複数の点は、3D点を含む、項目1に記載の方法。
(項目10)
システムであって、
1つ以上のプロセッサと、
コンピュータ可読媒体であって、前記コンピュータ可読媒体は、命令を備えており、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセットに基づいて、前記環境の深度マップを生成することと、
前記画像のセットに基づいて、壁セグメント化マップのセットを生成することであって、前記壁セグメント化マップのセットはそれぞれ、隣り合った壁のセットを含有する前記画像のセットからの対応する画像の標的領域を示す、ことと、
前記深度マップおよび前記壁セグメント化マップのセットに基づいて、点群を生成することであって、前記点群は、前記標的領域と整合する前記深度マップの部分に沿ってサンプリングされる複数の点を含む、ことと、
前記点群に基づいて、隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む動作を実施させる、コンピュータ可読媒体と
を備える、システム。
(項目11)
前記動作はさらに、
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することを含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、項目10に記載のシステム。
(項目12)
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、項目11に記載のシステム。
(項目13)
前記動作はさらに、
前記点群のためのクラスタのセットを識別することを含み、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、項目10に記載のシステム。
(項目14)
前記複数の点は、2D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、項目13に記載のシステム。
(項目15)
前記複数の点は、3D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、項目13に記載のシステム。
(項目16)
前記画像のセットは、RGB画像を含む、項目10に記載のシステム。
(項目17)
命令を備える非一過性コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
画像のセットおよび前記画像のセットに対応する姿勢のセットを取得することであって、前記画像のセットは、少なくとも部分的に、隣り合った壁のセットによって囲まれた環境から捕捉されている、ことと、
前記画像のセットおよび前記姿勢のセットに基づいて、前記環境の深度マップを生成することと、
前記画像のセットに基づいて、壁セグメント化マップのセットを生成することであって、前記壁セグメント化マップのセットはそれぞれ、隣り合った壁のセットを含有する前記画像のセットからの対応する画像の標的領域を示す、ことと、
前記深度マップおよび前記壁セグメント化マップのセットに基づいて、点群を生成することであって、前記点群は、前記標的領域と整合する前記深度マップの部分に沿ってサンプリングされる複数の点を含む、ことと、
前記点群に基づいて、隣り合った壁のセットに沿って、前記環境の周囲を推定することと
を含む動作を実施させる、非一過性コンピュータ可読媒体。
(項目18)
前記動作はさらに、
1つ以上のセンサを使用して、前記画像のセットおよび前記姿勢のセットを捕捉することを含み、前記画像のセットおよび前記姿勢のセットを取得することは、前記画像のセットおよび前記姿勢のセットを前記1つ以上のセンサから受信することを含む、項目17に記載の非一過性コンピュータ可読媒体。
(項目19)
前記1つ以上のセンサは、前記画像のセットを捕捉するように構成される画像センサと、前記姿勢のセットを捕捉するように構成される姿勢センサとを含む、項目18に記載の非一過性コンピュータ可読媒体。
(項目20)
前記動作はさらに、
前記点群のためのクラスタのセットを識別することを含み、前記クラスタのセットはそれぞれ、前記複数の点のサブセットを含み、前記クラスタのセットはそれぞれ、前記隣り合った壁のセットからの異なる壁に対応するように決定される、項目17に記載の非一過性コンピュータ可読媒体。
(項目21)
前記複数の点は、2D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
線を前記クラスタのセット毎に前記複数の点に適合させ、複数の線をもたらすことと、
交点に到達するまで前記複数の線を延在させることによって、閉ループを形成することと
を含む、項目20に記載の非一過性コンピュータ可読媒体。
(項目22)
前記複数の点は、3D点を含み、前記点群に基づいて、前記隣り合った壁のセットに沿った前記環境の周囲を推定することは、
平面を前記クラスタのセット毎に前記複数の点に適合させ、複数の平面をもたらすことと、
交線に到達するまで前記複数の平面を延在させることによって、閉ループを形成することと
を含む、項目20に記載の非一過性コンピュータ可読媒体。
(項目23)
前記画像のセットは、RGB画像を含む、項目17に記載の非一過性コンピュータ可読媒体。
【図面の簡単な説明】
【0010】
【
図1】
図1は、頭部搭載型ディスプレイを使用した部屋環境の周囲推定のための本発明の例示的実装を図示する。
【0011】
【
図2】
図2は、姿勢付き画像を使用して部屋の周囲を推定するための例示的システムを図示する。
【0012】
【
図3】
図3Aおよび3Bは、壁セグメント化の実施例を図示する。
【0013】
【
図4-1】
図4A-4Dは、周囲を生成するための例示的ステップを図示する。
【
図4-2】
図4A-4Dは、周囲を生成するための例示的ステップを図示する。
【0014】
【
図5】
図5は、クラスタ識別子を訓練するための例示的訓練データを図示する。
【0015】
【
図6】
図6は、環境の周囲を推定する方法を図示する。
【0016】
【
図7】
図7は、説明される技法のうちの1つ以上のものを実装し得る、例示的システムまたはデバイスを図示する。
【0017】
【
図8】
図8は、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【0018】
内部の3次元(3D)レイアウトを理解することは、拡張現実(AR)、ナビゲーション、および一般的場面理解における多数の用途に関して、空間の長距離幾何学形状を理解するために重要であり得る。そのようなレイアウトは、直方体パラメータ、単眼角座標およびその接続性、およびより意味論的に豊かな完全間取図を含む、種々の方法で提示されることができる。種々の方法は、それらが入力時に利用する情報の量および部屋幾何学形状に関するその仮定において異なる。例えば、いくつかの方法は、入力時に簡潔な3D点群を利用する一方、他の方法は、単眼視点またはパノラマ画像を利用する。関連問題の本セット間の一貫性の欠如は、レイアウト予測のための標準的設定が屋内場面に関してあるべき対象にわたる一般的不一致を露見させる。
【0019】
センサデータの観点から、タイムスタンプ付き赤色-緑色-青色(RGB)カメラおよび姿勢データが、多くの現代のデバイス(例えば、スマートフォン、ARおよび仮想現実(VR)頭部搭載型ディスプレイ(HMD)等)から取得されることができる。内部に対応する完全ビデオシーケンスを用いることで、解決すべき問題は、単眼レイアウト推定に一般的である、角および縁推定を超え、内部空間の完全周囲レイアウトの推定となる。空間範囲および空間の形状に関するそのようなメトリック情報は、種々の下流3D用途のための第1のステップと見なされ得る。本発明の実施形態は、現在の深層方法を活用し、可能性として考えられる部屋のタイプの列挙されるセットを伴わずに、角および縁オクルージョンに対するロバスト性を伴って、本周囲を精密に推測することが可能である。いくつかのインスタンスでは、部屋レイアウト内の構造の大部分を含有する、水平周囲(すなわち、外壁の場所)が、予測され得る一方、壁および天井は、通常、単一平面によって明確に近似される。
【0020】
いくつかの実施形態では、開示されるパイプラインは、ビデオシーケンスのRGBフレームに関する深層深度推定から開始する。深層学習の一般的3D再構築用途に関する最も制限的ボトルネックのうちの1つは、深層深度推定モデルの正確度である。NYUv2データセット内のもののような雑然とした屋内場面上では、そのようなネットワークは、依然として、単眼入力を前提として、0.5~0.6メートルのRMS誤差より良好な性能を発揮することを模索し得る。主観的構成を用いることで、本性能ボトルネックは、代わりに、現代のマルチビューステレオ方法を使用して、時間的情報を深度推定モジュールの中に組み込むことによって迂回され得る。
【0021】
そのような実施形態を用いることで、深層セグメント化は、壁点に対応する深度予測を隔離するように訓練されることができる。これらの予測は、3D点群に投影され、次いで、同一平面インスタンスに属する点を検出するように調整される、新規深層ネットワークを通してクラスタ化される。いったん点クラスタが、割り当てられると、クラスタを平面の完全セットに変換するための方法が、採用され、これは、完全周囲レイアウトを形成する。直接、壁点をクラスタ化することによって、本明細書に提供される実施形態は、角がオクルードされるときでも、良好に性能を発揮する。
【0022】
本明細書に開示される実施形態は、完全屋内周囲(すなわち、外部境界マップ)を姿勢付きRGB画像の単眼シーケンスから生成するための教師なしパイプラインに関する。本発明のいくつかの実施形態では、種々のロバストな深層方法が、外部境界点群を生成するための深度推定および壁セグメント化のために採用され、次いで、深層教師なしクラスタ化を使用して、壁平面を適合させ、部屋の最終境界マップを取得し得る。本発明の実施形態は、一般的ScanNetデータセットに関する優れた性能をもたらし、種々の複雑性の部屋形状のために、および多室シナリオにおいて、機能を発揮する。
【0023】
図1は、AR/VR HMD等のHMDを使用した部屋環境100の周囲推定のための本発明の例示的実装を図示する。図示される実施例では、ウェアラブルデバイス102を装着しているユーザは、軌道104に沿って、部屋をナビゲートし、ウェアラブルデバイス102の画像捕捉デバイスが、一連のタイムスタンプT
1、T
2、…、T
Nにおいて、一連の画像I
1、I
2、…、I
Nを捕捉することを可能にする。画像はそれぞれ、部屋環境100を形成する、壁108のセットのうちの1つ以上のものの一部を含み得る。ウェアラブルデバイス102はさらに、画像がそれぞれ姿勢と関連付けられ得るように、一連のタイムスタンプT
1、T
2、…、T
Nにおいて、一連の姿勢P
1、P
2、…、P
Nを捕捉し得る。
【0024】
姿勢はそれぞれ、位置および/または配向を含み得る。位置は、3D値(例えば、X、Y、およびZ座標)であり得、そこから対応する画像が捕捉された位置に対応し得る。配向は、3D値(例えば、ピッチ、ヨー、ロール角度)であり得、そこで対応する画像が捕捉された配向に対応し得る。姿勢は、ウェアラブルデバイス102の移動を示すデータを捕捉する、任意のセンサ(姿勢センサと称される)を使用して決定され得る。一連の画像I1、I2、…、INおよび対応する姿勢P1、P2、…、PNに基づいて、部屋環境100に関して推定される周囲106が、生成され得る。
【0025】
図2は、本発明のいくつかの実施形態による、姿勢付き画像を使用して部屋の周囲を推定するための例示的システム200を図示する。いくつかの実装では、システム200は、ウェアラブルデバイスの中に組み込まれてもよい。システム200は、画像センサ206と、姿勢センサ208とを含む、センサ202を含んでもよい。画像センサ206は、壁のセットの一連の画像210を捕捉し得る。画像210はそれぞれ、可能性の中でもとりわけ、RGB画像、グレースケール画像であってもよい。姿勢センサ208は、画像210に対応する一連の姿勢を含み得る、姿勢データ212を捕捉し得る。姿勢はそれぞれ、そこから画像210のそれぞれが捕捉された位置および/または配向が決定され得るように、画像センサ206に対応する、位置および/または配向を含み得る。
【0026】
画像210および姿勢データ212は、データの処理のために、処理モジュール204に提供(例えば、有線または無線接続等を介して、送信、伝送)されてもよい。処理モジュール204は、深度マップ生成器214と、壁セグメント化生成器216と、壁点群生成器222と、クラスタ識別子226と、周囲推定器230とを含んでもよい。処理モジュール204のコンポーネントはそれぞれ、可能性として考えられる集積回路デバイスの中でもとりわけ、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)等のハードウェアコンポーネントに対応し得る。いくつかのインスタンスでは、処理モジュール204のコンポーネントのうちの1つ以上のものは、ソフトウェア内に実装されてもよく、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、またはニューラルネットワークアクセラレータ等の特殊目的処理ユニットによって実行されてもよい。例えば、処理モジュール204のコンポーネントのうちの2つ以上のものは、ニューラルネットワークアクセラレータの同一バンクまたは同一CPUまたはGPUを使用して実行されてもよい。
【0027】
深度マップ生成器214は、画像210および姿勢データ212を受信してもよく、画像210および姿勢データ212に基づいて、深度マップ218を生成してもよい。深度マップを姿勢付き単眼シーケンスから生成するために、種々の姿勢からの同一実世界景色の複数の観察が、フレーム毎差量マップを生成するために利用されることができ、これは、次いで、反転され、フレーム毎稠密深度マップを生成することができる。いくつかの実施形態では、深度マップ生成器214は、ニューラルネットワーク等の機械学習モデルとして実装されてもよい。ネットワークへの入力は、入力RGB画像I
iと、I
iが基準フレームI
jの中に投影されるときのI
iと近傍のフレームI
jとの間のピクセル毎絶対強度差を計算することによって構築される、3DコストボリュームV
iとである。場所u=(u,v)
TにおけるI
i内の強度P
u
iのピクセルを投影するために、基準フレームT
iの姿勢、近傍のフレームT
jの姿勢、および仮定される深度d
nが、以下のように使用され得る。
【化1】
式中、
【化2】
は、I
j内の投影の場所であって、πは、カメラの固有性質を使用したピンホール投影を表す。d
minとd
maxとの間のd
nを変動させることによって、場所uにおけるI
iに関する3Dコストボリュームの値およびサンプリングされる深度nは、以下のように計算され得る。
【化3】
コストボリュームを複数の近傍のフレームから生成するために、対毎コストボリュームが、平均され得る。
【0028】
壁セグメント化生成器216は、画像210を受信し得、画像210に基づいて、壁セグメント化マップ220を生成し得る。いくつかの実施形態では、壁セグメント化生成器216は、ニューラルネットワーク等の機械学習モデルとして実装されてもよい。意味論セグメント化ネットワークの1つの目標は、それらが内部周囲に属する唯一の点であるため、壁が場面内にある場所を分類することであり得る。しかしながら、ScanNetデータセットの床/壁/天井注釈は、むしろ、不完全かつ誤って見出された。したがって、異なるデータセットが、収集され、床/壁/天井セグメント化のために使用された。いくつかのインスタンスでは、セグメント化ネットワークアーキテクチャは、ResNet-101バックボーンに基づく、標準的特徴ピラミッドネットワークを備えてもよい。予測は、4ストライドで出力され得、アップサンプリング層は、ピクセルシャッフル動作として実装され、特に、より高いストライドアップサンプリング層(最大8ストライド)のために、ネットワーク効率を増加させ得る。
【0029】
壁点群生成器222は、深度マップ218および壁セグメント化マップ220を受信し得、深度マップ218および壁セグメント化マップ220に基づいて、点群224を生成し得る。組み合わせられた点群が、クラスタ化ネットワークによる消費のために、いくつかの深度画像から生成され得る。既知の姿勢軌道を伴う深度画像の収集が、暗示的表面表現内で融合され得、点群が、マーチングキューブ法の導関数によって抽出され得る。単に各深度ピクセルを投影しないことに優る暗示的表面表現を使用する1つの利点は、冗長点を除去し、複数の観察にわたって雑音を平均化し、より平滑かつより簡潔な頂点のセットにつながることである。内壁頂点を除去するために、α形状の概念が、その凹包を表す、点群のサブセットを作成するために使用されてもよい。次いで、凹包の半径r内にない任意の点は、破棄され得、点群は、N個の頂点までサブサンプリングされ得る。
【0030】
クラスタ識別子226は、点群224を受信し得、点群224に基づいて、クラスタ化された点群228を生成し得る。平面セクションに基づいて順序付けられていない点群をクラスタ化する完全教師なし技法が、推定の間、該法線または平面パラメータを明示的に算出せずに採用され得る。クラスタ識別子226は、ニューラルネットワーク等の機械学習モデルとして実装されてもよく、いくつかの実施形態では、PointNetアーキテクチャおよびPointNetグローバル特徴を使用して、入力点毎に、クラスタ確率を出力してもよい。
【0031】
別個の壁インスタンスのための一意のクラスタ割当を生成するために、3D場所雑音、オクルージョン、および可変点密度にロバストなクラスタ化技法を使用することが望ましい。さらに、クラスタ化は、平行である、故に、同一点法線を有するが、3D空間内の異なる場所にある、平面壁を区別することが可能であることが望ましい。明らかに明確に異なるクラスに属する2つの点が同一標識を割り当てられるとき、ペナルティを被らせることを可能にする、対毎損失関数が、定式化されることができる。過剰セグメント化は、同一の真の平面に属するクラスタが後処理においてマージすることが容易であるため、ペナルティを科されない。ネットワークへの入力は、3D座標P
x=(x,y,z)を伴うN個の点Pのセット、点法線P
n=(nx,ny,nz)、およびk個のクラスタのための長さkの予測されるクラスタ確率ベクトルPpである。クラスタ化損失L
clusterは、以下のように与えられる。
【化4】
式中、
【化5】
であって、かつ
【化6】
である。
【0032】
有効壁に属しない、雑音点にフラグするために、k+1
th標識が雑音点のために留保されるように、最大クラスタの数がkに設定されるときの長さk+1の確率ベクトルが、予測されることができる。全ての点がk+1
thクラスタを割り当てられる、自明な解を防止するために、正則化損失L
regが、使用されることができ、これは、以下のように計算され得る。
【化7】
式中、P
plane
iは、第1のk個のクラスにわたる確率ベクトルの和であって、k+1
th雑音クラスを除外する。最小限にされるべき総損失は、L
clusterおよびα・L
regの和であって、式中、αは、損失を平衡するように意図されるハイパーパラメータである。
【0033】
周囲推定器230は、クラスタ化される点群228を受信し得、クラスタ化される点群228に基づいて、推定される周囲232を生成し得る。クラスタ識別子226によって生成されたクラスタ標識を伴う点群を前提として、閉鎖されたレイアウトが、下記に説明されるように、生成されることができる。システム設計を適正にモジュール式に保つために、入力点のモダリティについての仮定が行われる必要はなく、故に、設計は、スプリアス点、標識化における誤対応、および欠測壁にロバストであり得る。全ての壁がZ-軸と平行であるという仮定に従って、全ての点は、点群の上下ビューを生成するために、X-Y平面に投影され得る。クラスタ間の接続性を確立するために、問題が、巡回セールスマン問題として公式化され、全てのクラスタ中央値に沿って、閉鎖された最短経路を見出す。いくつかの実施形態では、ソリューションは、2-optアルゴリズムを使用して計算されることができる。
【0034】
場面内の真の壁の数が、最大k個の仮定される壁未満である場合、クラスタ識別子226による過剰セグメント化が存在し得る。故に、2D線パラメータが、推定され得(例えば、RANSACを使用して)、30°未満の相対的法線逸脱およびemerge未満のクラスタ間点/線誤差を伴う壁は、同一標識を割り当てられ得る。マンハッタン仮説に従ってマージステップ後、線は、最も近くの直交軸にスナップされ、交差するように延在される。2-opt縁によって接続される2つの壁セグメントの交点は、角として定義される。壁セグメント全体が点群内に表されていない、主要なオクルージョンを伴う場合に関して、2つの接続されたセグメントが平行であり得ることが可能性として考えられる。そのような対のための角を生成するために、セグメントのうちの1つの端点が、交差を強制するように、直交方向に延在され得る。
【0035】
図3Aおよび3Bは、本発明のいくつかの実施形態による、壁セグメント化生成器216によって実施される壁セグメント化の実施例を図示する。
図3Aでは、画像センサによって捕捉された画像302が、示される。画像302が、壁セグメント化生成器216への入力として提供されると、壁セグメント化マップ304が、生成され、これは、
図3Bに示される。壁セグメント化マップ304は、壁に対応すると決定された領域と、壁に対応すると決定されない領域とを含み得る。形成器はそれぞれ、対応する画像302の標的領域306が同様に壁に対応する(例えば、それを含む)と決定されるように、標的領域306として指定され得る。
【0036】
図4A-4Dは、本発明のいくつかの実施形態による、周囲を生成するための例示的ステップを図示する。
図4Aでは、可能性として考えられる過剰セグメント化を伴う、未加工出力が、クラスタ識別子226によって生成される。
図4Bでは、複製クラスタをマージすることから生じる、よりコンパクトなクラスタ化が、クラスタ識別子226によって取得される。
図4Cでは、推定される線パラメータおよびクラスタ間接続性が、生産される。いくつかのインスタンスでは、各クラスタの中心が、中央値または平均点を識別することによって決定される。クラスタの中心は、次いで、上記に説明されるように、全てのクラスタ中心に沿って閉鎖された最短経路を見出すことによって接続される。
【0037】
図4Dでは、線または平面が、例えば、曲線適合アルゴリズムを使用して、クラスタのそれぞれに適合される。例えば、クラスタのそれぞれ内の点が、2D点である場合、線は、クラスタ毎に2D点に適合される。クラスタのそれぞれ内の点が、3D点である場合、平面は、クラスタ毎に3D点に適合される。いくつかの実施形態では、直交性および交差が、閉鎖された周囲を生成するために、接続された平行線上で強制され得る。例えば、線402-1および402-3が、平行であって、そうでなければ、接続されないであろうため、線402-2は、線を接続し、周囲を閉鎖するように形成される。同様に、線402-3および402-5は、平行であって、そうでなければ、接続されないであろうため、線402-4は、線を接続し、周囲を閉鎖するように形成される。
【0038】
図5は、本発明のいくつかの実施形態による、クラスタ識別子226を訓練するための例示的訓練データ500を図示する。いくつかの実施形態では、訓練データ500は、合成法線を伴う、完全合成データセットであってもよい。訓練データ500を生成するために、部屋境界が、2Dドメイン上に描かれ得、部屋形状は、矩形、L形状、T形状、またはU形状からランダムにサンプリングされ、各縁の長さは、[1m、5m]の範囲内で均一にサンプリングされ、配向は、[0、2π]の範囲内で均一にサンプリングされる。線描写は、次いで、垂直に投影され、範囲[1.5m、2.5m]からランダムにサンプリングされる高さを伴う3Dモデルが得られ得る。点群入力は、次いで、モデルの3D面から均一にサンプリングすることによって生成されることができる。点法線は、モデルの3D面から計算される。
【0039】
不完全なセンサまたは深度推定アルゴリズムから生成されたデータをより良好に模倣するために、点は、円筒形の数を低下され得(例えば、5つの円筒形)、各円筒形は、ランダムにサンプリングされた点によって画定された中心を有し、半径は、[0.5m、1.5m]からランダムにサンプリングされ、長さは、無限である。削減プロセスは、残りの点の数がオリジナル点の数の10%未満となるであろう場合に停止される。最後に、σ=0およびμ=0.015を伴う、ガウス分布の雑音が、各残りの点に追加される。
【0040】
図6は、本発明のいくつかの実施形態による、少なくとも部分的に、隣り合った壁(例えば、壁108)のセットによって囲まれた環境(例えば、部屋環境100)の周囲を推定する方法600を図示する。方法600の1つ以上のステップは、方法600の実施の間、省略されてもよく、方法600の1つ以上のステップは、示される順序で実施される必要はない。方法600の1つ以上のステップは、システムまたはデバイス(例えば、AR/VRデバイス等のウェアラブルデバイス)内に含まれる1つ以上のプロセッサによって実施または促進されてもよい。
【0041】
ステップ602では、画像のセット(例えば、画像210)および画像のセットに対応する姿勢のセット(例えば、姿勢データ212)が、取得される。画像のセットは、環境の画像であってもよく、各画像は、壁のセットのうちの1つ以上のものを含んでもよい。姿勢のセットはそれぞれ、画像のセット毎に位置および/または配向が決定され得るように、画像のセットのうちの1つと同時に捕捉されてもよい。いくつかの実施形態では、画像のセットおよび姿勢のセットは、システムまたはデバイス(例えば、システム200)のセンサ(例えば、センサ202)のセットによって捕捉されてもよい。いくつかの実施形態では、画像のセットは、画像センサ(例えば、画像センサ206)によって捕捉されてもよく、姿勢のセットは、姿勢センサ(例えば、姿勢センサ208)によって捕捉されてもよい。画像センサは、カメラまたはある他の画像捕捉デバイスであってもよい。姿勢センサは、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ、傾斜センサ、またはそれらの任意の組み合わせであってもよい。いくつかの実施形態では、姿勢のセットは、姿勢センサおよび画像センサが同一センサであり得るように、画像のセット自体から決定されてもよい。
【0042】
ステップ604では、環境の深度マップ(例えば、深度マップ218)は、画像のセットおよび姿勢のセットに基づいて生成されてもよい。深度マップは、画像のセットからの複数(または全て)の画像を組み合わせる、累積深度マップであってもよい、またはいくつかの実施形態では、深度マップは、画像のセット毎に生成されてもよい。いくつかの実施形態では、深度マップは、深度マップ生成器(例えば、深度マップ生成器214)によって生成されてもよく、これは、画像のセットおよび姿勢のセットを入力として提供されると、深度マップを出力するように訓練される機械学習モデル(例えば、ニューラルネットワーク)であってもよい。
【0043】
ステップ606では、壁セグメント化マップのセット(例えば、壁セグメント化マップ220)は、画像のセットに基づいて生成されてもよい。壁セグメント化マップのセット(例えば、壁セグメント化マップ304)はそれぞれ、隣り合った壁のセットを含有する、画像のセットからの対応する画像の標的領域(例えば、標的領域306)を示し得る。いくつかの実施形態では、壁セグメント化マップのセットは、壁セグメント化生成器(例えば、壁セグメント化生成器216)によって生成されてもよく、これは、画像を入力として提供されると、壁セグメント化マップを出力するように訓練される、機械学習モデル(例えば、ニューラルネットワーク)であってもよい。
【0044】
ステップ608では、点群(例えば、点群224)は、深度マップおよび壁セグメント化マップのセットに基づいて生成される。点群は、標的領域と整合する、深度マップの部分に沿ってサンプリングされる、複数の点を含んでもよい。いくつかの実施形態では、点群は、壁点群生成器(例えば、壁点群生成器222)によって生成されてもよく、これは、深度マップおよび壁セグメント化マップのセットを入力として提供されると、点群を出力するように訓練される、機械学習モデル(例えば、ニューラルネットワーク)であってもよい。
【0045】
ステップ610では、クラスタのセット(例えば、クラスタ化される点群408のクラスタ)が、点群のために識別される。クラスタのセットはそれぞれ、複数の点のサブセットを含んでもよい。クラスタはそれぞれ、隣り合った壁のセットからの異なる壁に対応するように意図される。隣り合った壁のセットからの同一壁に対応すると決定されたクラスタは、単一クラスタに組み合わせられてもよい。いくつかの実施形態では、クラスタのセットは、クラスタ識別子(例えば、クラスタ識別子226)によって識別されてもよく、これは、点群を入力として提供されると、クラスタおよび/またはクラスタ化される点群(例えば、クラスタ化される点群228)のセットを出力するように訓練される、機械学習モデル(例えば、ニューラルネットワーク)であってもよい。
【0046】
ステップ612では、隣り合った壁のセットに沿った環境の周囲(例えば、推定される周囲106および232)は、点群に基づいて推定される。いくつかの実施形態では、ステップ612は、ステップ614および616の一方または両方を含む。
【0047】
ステップ614では、複数の点が、2D点を含む場合、線が、クラスタのセット毎に複数の点に適合され、複数の線をもたらす。複数の点が、3D点を含む場合、平面が、クラスタのセット毎に複数の点に適合され、複数の平面をもたらす。線適合または平面適合は、例えば、曲線適合アプローチを使用して遂行され得る。
【0048】
ステップ616では、複数の点が、2D点を含む場合、閉ループが、交点に到達するまで、複数の線を延在させることによって形成される。複数の点が、3D点を含む場合、閉ループが、交線に到達するまで、複数の平面を延在させることによって形成される。
【0049】
図7は、説明される技法のうちの1つ以上のものを実装し得る、例示的システムまたはデバイスを図示する。具体的には、
図7は、本発明のいくつかの実施形態による、ウェアラブルシステム700の概略図を図示する。ウェアラブルシステム700は、ウェアラブルデバイス701と、ウェアラブルデバイス701から遠隔の少なくとも1つの遠隔デバイス703(例えば、別個のハードウェアであるが、通信可能に結合される)とを含んでもよい。ウェアラブルデバイス701が、ユーザによって装着されている間(概して、ヘッドセットとして)、遠隔デバイス703は、ユーザによって保持される(例えば、ハンドヘルドコントローラとして)、またはフレームに固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザに除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において等)等、種々の構成において搭載されてもよい。
【0050】
ウェアラブルデバイス701は、並置構成において配列され、左光学スタックを構成する、左接眼レンズ702Aと、左レンズアセンブリ705Aとを含んでもよい。左レンズアセンブリ705Aは、遠近調節レンズを左光学スタックのユーザ側上に、および補償レンズを左光学スタックの世界側上に含んでもよい。同様に、ウェアラブルデバイス701は、並置構成に配列され、右光学スタックを構成する、右接眼レンズ702Bと、右レンズアセンブリ705Bとを含んでもよい。右レンズアセンブリ705Bは、遠近調節レンズを右光学スタックのユーザ側上に、および補償レンズを右光学スタックの世界側上に含んでもよい。
【0051】
いくつかの実施形態では、ウェアラブルデバイス701は、限定ではないが、直接、左接眼レンズ702Aまたはその近くに取り付けられる、左正面に向いた世界カメラ706Aと、直接、右接眼レンズ702Bまたはその近くに取り付けられる、右正面に向いた世界カメラ706Bと、直接、左接眼レンズ702Aまたはその近くに取り付けられる、左側に向いた世界カメラ706Cと、直接、右接眼レンズ702Bまたはその近くに取り付けられる、右側に向いた世界カメラ706Dと、左眼に向かって指向される、左眼追跡カメラ726Aと、右眼に向かって指向される、右眼追跡カメラ726Bと、接眼レンズ702間に取り付けられる、深度センサ728とを含む、1つ以上のセンサを含む。ウェアラブルデバイス701は、左接眼レンズ702Aに光学的に連結される、左プロジェクタ714A、および右接眼レンズ702Bに光学的に連結される、右プロジェクタ714B等の1つ以上の画像投影デバイスを含んでもよい。
【0052】
ウェアラブルシステム700は、システム内のデータを収集、処理、および/または制御するための処理モジュール750を含んでもよい。処理モジュール750のコンポーネントは、ウェアラブルデバイス701と遠隔デバイス703との間に分散されてもよい。例えば、処理モジュール750は、ウェアラブルシステム700のウェアラブル部分上のローカル処理モジュール752と、ローカル処理モジュール752と物理的に別個であって、それに通信可能に連結される、遠隔処理モジュール756とを含んでもよい。ローカル処理モジュール752および遠隔処理モジュール756はそれぞれ、1つ以上の処理ユニット(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)等)と、不揮発性メモリ(例えば、フラッシュメモリ)等の1つ以上の記憶デバイスとを含んでもよい。
【0053】
処理モジュール750は、カメラ706、眼追跡カメラ726、深度センサ728、遠隔センサ730、アンビエント光センサ、マイクロホン、IMU、加速度計、コンパス、グローバルナビゲーション衛星システム(GNSS)ユニット、無線デバイス、および/またはジャイロスコープ等のウェアラブルシステム700の種々のセンサによって捕捉されたデータを収集してもよい。例えば、処理モジュール750は、画像720をカメラ706から受信してもよい。具体的には、処理モジュール750は、左正面画像720Aを左正面に向いた世界カメラ706Aから、右正面画像720Bを右正面に向いた世界カメラ706Bから、左側画像720Cを左側に向いた世界カメラ706Cから、および右側画像720Dを右側に向いた世界カメラ706Dから受信してもよい。いくつかの実施形態では、画像720は、単一画像、一対の画像、画像のストリームを含むビデオ、ペアリングされた画像のストリームを含むビデオ、および同等物を含んでもよい。画像720は、ウェアラブルシステム700が電源投入されている間、周期的に、生成され、処理モジュール750に送信されてもよい、または処理モジュール750によってカメラのうちの1つ以上のものに送信される命令に応答して、生成されてもよい。
【0054】
カメラ706は、ユーザのまわりの画像を捕捉するように、ウェアラブルデバイス701の外面に沿って、種々の位置および配向において構成されてもよい。いくつかのインスタンスでは、カメラ706A、706Bは、それぞれ、ユーザの左および右眼のFOVと実質的に重複する、画像を捕捉するように位置付けられてもよい。故に、カメラ706の設置は、ユーザの眼の近くにあり得るが、ユーザのFOVを不明瞭にするほど近くない。代替として、または加えて、カメラ706A、706Bは、それぞれ、仮想画像光722A、722Bの内部結合場所と整合するように位置付けられてもよい。カメラ706C、706Dは、ユーザの側面、例えば、ユーザの周辺視覚内またはユーザの周辺視覚の外側の画像を捕捉するように位置付けられてもよい。カメラ706C、706Dを使用して捕捉された画像720C、720Dは、必ずしも、カメラ706A、706Bを使用して捕捉された画像720A、720Bと重複する必要はない。
【0055】
いくつかの実施形態では、処理モジュール750は、アンビエント光情報をアンビエント光センサから受信してもよい。アンビエント光情報は、明度値またはある範囲の空間的に分解された明度値を示し得る。深度センサ728は、ウェアラブルデバイス701の正面に向いた方向において深度画像732を捕捉してもよい。深度画像732の各値は、特定の方向における深度センサ728と最も近くの検出されたオブジェクトとの間の距離に対応し得る。別の実施例として、処理モジュール750は、眼追跡データ734を眼追跡カメラ726から受信してもよく、これは、左および右眼の画像を含んでもよい。別の実施例として、処理モジュール750は、投影された画像明度値をプロジェクタ714の一方または両方から受信してもよい。遠隔デバイス703内に位置する遠隔センサ730は、類似機能性を伴う上記に説明されるセンサのいずれかを含んでもよい。
【0056】
仮想コンテンツは、光学スタック内の他のコンポーネントとともに、プロジェクタ714および接眼レンズ702を使用して、ウェアラブルシステム700のユーザに送達される。例えば、接眼レンズ702A、702Bは、それぞれ、プロジェクタ714A、714Bによって生成された光を指向および外部結合するように構成される、透明または半透明導波管を備えてもよい。具体的には、処理モジュール750は、左プロジェクタ714Aに、左仮想画像光722Aを左接眼レンズ702A上に出力させ得、右プロジェクタ714Bに、右仮想画像光722Bを右接眼レンズ702B上に出力させ得る。いくつかの実施形態では、プロジェクタ714は、微小電気機械システム(MEMS)空間光変調器(SLM)走査デバイスを含んでもよい。いくつかの実施形態では、接眼レンズ702A、702Bはそれぞれ、異なる色に対応する、複数の導波管を備えてもよい。いくつかの実施形態では、レンズアセンブリ705A、705Bは、接眼レンズ702A、702Bに結合され、および/または統合されてもよい。例えば、レンズアセンブリ705A、705Bは、多層接眼レンズの中に組み込まれてもよく、接眼レンズ702A、702Bのうちの1つを構成する、1つ以上の層を形成してもよい。
【0057】
図8は、本明細書に説明される実施形態による、簡略化されたコンピュータシステム800を図示する。
図8に図示されるようなコンピュータシステム800は、本明細書に説明されるようなデバイスの中に組み込まれてもよい。
図8は、種々の実施形態によって提供される方法のステップの一部または全部を実施し得る、コンピュータシステム800の一実施形態の概略化された例証を提供する。
図8は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用されてもよいことに留意されたい。
図8は、したがって、広義には、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
【0058】
コンピュータシステム800は、バス805を介して電気的に結合されることができる、または必要に応じて別様に通信し得る、ハードウェア要素を備えるように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の、1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサを含む、1つ以上のプロセッサ810と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含むことができる、1つ以上の入力デバイス815と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含むことができる、1つ以上の出力デバイス820とを含んでもよい。
【0059】
コンピュータシステム800はさらに、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備えることができ、および/または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および/または同等物であることができる、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読取専用メモリ(「ROM」)を含むことができる、1つ以上の非一過性記憶デバイス825を含む、および/またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータ記憶を実装するように構成されてもよい。
【0060】
コンピュータシステム800はまた、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等、および/または同等物等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含むことができる、通信サブシステム819を含み得る。通信サブシステム819は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一実施例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にしてもよい。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム819を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム800、例えば、電子デバイスの中に入力デバイス815として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム800はさらに、作業メモリ835を備え、これは、上記に説明されるようなRAMまたはROMデバイスを含むことができる。
【0061】
コンピュータシステム800はまた、種々の実施形態によって提供されるコンピュータプログラムを備え得る、および/または本明細書に説明されるような他の実施形態によって提供される方法を実装し、および/またはシステムを構成するように設計され得る、1つ以上のアプリケーションプログラム845等のオペレーティングシステム840、デバイスドライバ、実行可能ライブラリ、および/または他のコードを含む、作業メモリ835内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、一例として、上記に議論される方法に関して説明される1つ以上のプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
【0062】
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス825等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム800等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等の可撤性媒体である、および/または記憶媒体が、汎用コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム800によって実行可能である、実行可能コードの形態をとり得る、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム800上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとり得る。
【0063】
実質的な変形例が、具体的要件に従って構成されてもよいことが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
【0064】
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム800等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ810が、オペレーティングシステム840の中に組み込まれ得る、1つ以上の命令の1つ以上のシーケンス、および/または作業メモリ835内に含有される、アプリケーションプログラム845等の他のコードを実行することに応答して、コンピュータシステム800によって実施される。そのような命令は、記憶デバイス825のうちの1つ以上のもの等の別のコンピュータ可読媒体から作業メモリ835の中に読み取られてもよい。単に、一例として、作業メモリ835内に含有される命令のシーケンスの実行は、プロセッサ810に、本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
【0065】
用語「機械可読媒体」および「コンピュータ可読媒体」は、本明細書で使用されるとき、機械を具体的方式で動作させるデータを提供することに関わる、任意の媒体を指す。コンピュータシステム800を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令/コードをプロセッサ810に提供する際に関わり得る、および/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス825等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ835等の動的メモリを含む。
【0066】
一般的形態の物理的および/または有形コンピュータ可読媒体は、例えば、フロッピーディスク、可撓性ディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取ることができる、任意の他の媒体を含む。
【0067】
種々の形態のコンピュータ可読媒体が、実行のための1つ以上の命令の1つ以上のシーケンスをプロセッサ810に搬送する際に関わってもよい。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム800によって受光および/または実行される伝送媒体を経由して、命令を信号として送信し得る。
【0068】
通信サブシステム819および/またはそのコンポーネントは、概して、信号を受光し、バス805が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ835に搬送し得、そこから、プロセッサ810が、命令を読み出し、実行する。作業メモリ835によって受光された命令は、随意に、プロセッサ810による実行前または後のいずれかにおいて、非一過性記憶デバイス825上に記憶されてもよい。
【0069】
上記に議論される方法、システム、およびデバイスは、実施例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよく、および/または種々の段階は、追加される、省略される、および/または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示の範囲または請求項を限定するものではない。
【0070】
具体的詳細が、実装を含む、例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
【0071】
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されることができる。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
【0072】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、前述の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の用途に優先する、または別様にそれを修正してもよい。また、いくつかのステップは、前述の要素が検討される前、間、または後に行われてもよい。故に、前述の説明は、請求項の範囲を束縛するものではない。
【0073】
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
【0074】
また、単語「comprise(~を備える)」、「comprising(~を備える)」、「contains(~を含有する)」、「containing(~を含有する)」、「include(~を含む)」、「including(~を含む)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
【0075】
また、本明細書に説明される実施例および実施形態は、例証目的のみのためのものであって、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることを理解されたい。