(57)【要約】深度マップを算出するためにニューラルネットワークを訓練および使用するシステムおよび方法が、開示される。ニューラルネットワークを訓練する１つの方法は、画像入力をニューラルネットワークに提供することを含む。画像入力は、訓練場面のカメラ画像を含み得る。方法は、深度入力をニューラルネットワークに提供することも含み得る。深度入力は、訓練場面の高密度深度マップおよびサンプリングマスクに基づき得る。方法は、ニューラルネットワークを使用して、画像入力および深度入力に基づいて、訓練場面の算出深度マップを生成することをさらに含み得る。方法は、算出深度マップと高密度深度マップとの間の誤差に基づいて、ニューラルネットワークを修正することをさらに含み得る。
2021517685.tif 000002
【特許請求の範囲】
【請求項１】
深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含む、ことと、
深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、
前記訓練場面の疎深度マップであって、前記疎深度マップは、
サンプリングマスクによって定義された複数のサンプリング点の各々に関して、前記疎深度マップを高密度深度センサを使用して生成された前記訓練場面の高密度深度マップと等しくなるように設定することと、
前記サンプリングマスクによって定義された複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、疎深度マップと、
前記訓練場面の距離マップであって、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
前記複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の前記最近傍点からの距離と等しくなるように設定することと
によって生成される、距離マップと
を含む、ことと、
前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記訓練場面の算出深度マップを生成することと、
前記算出深度マップと前記高密度深度マップとの間の誤差を算出することと、
前記誤差に基づいて、前記ニューラルネットワークを修正することと
を含む、方法。
【請求項２】
深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含む、ことと、
深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記訓練場面の算出深度マップを生成することと、
前記算出深度マップと前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
を含む、方法。
【請求項３】
前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記算出深度マップを生成することをさらに含む、請求項２に記載の方法。
【請求項４】
カメラを使用して、前記カメラ画像を捕捉することと、
高密度深度センサを使用して、前記高密度深度マップを捕捉することと
をさらに含む、請求項２に記載の方法。
【請求項５】
前記カメラ画像は、Ｈ×Ｗ×１の寸法を有するグレースケール画像である、請求項２に記載の方法。
【請求項６】
前記カメラ画像は、Ｈ×Ｗ×３の寸法を有するＲＧＢ画像である、請求項２に記載の方法。
【請求項７】
前記深度入力は、疎深度マップを含み、前記疎深度マップは、
前記高密度深度マップと、
低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
に基づいて生成される、請求項２に記載の方法。
【請求項８】
前記疎深度マップは、
前記複数のサンプリング点の各々に関して、前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、請求項７に記載の方法。
【請求項９】
前記深度入力は、距離マップをさらに含み、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、請求項７に記載の方法。
【請求項１０】
深度算出のためにニューラルネットワークを使用する方法であって、前記方法は、
カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、
低密度深度センサを使用して、前記ランタイム場面の低密度深度マップを捕捉することと、
ランタイム画像入力を前記ニューラルネットワークに提供することであって、前記ランタイム画像入力は、前記ランタイム場面のカメラ画像を含む、ことと、
ランタイム深度入力を前記ニューラルネットワークに提供することであって、前記ランタイム深度入力は、少なくとも部分的に前記ランタイム場面の低密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記ランタイム画像入力および前記ランタイム深度入力に基づいて、前記ランタイム場面の算出深度マップを生成することと
を含む、方法。
【請求項１１】
前記ランタイム深度入力は、前記ランタイム場面の疎深度マップを含み、前記疎深度マップは、
前記ランタイム場面の前記低密度深度マップによって決定された複数のサンプリング点の各々に関して、前記ランタイム場面の前記疎深度マップを前記ランタイム場面の前記低密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記ランタイム場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記ランタイム場面の前記低密度深度マップと等しくなるように設定することと
によって生成される、請求項１０に記載の方法。
【請求項１２】
前記ランタイム深度入力は、前記ランタイム場面の距離マップを含み、前記距離マップは、
前記ランタイム場面の前記低密度深度マップによって決定された複数のサンプリング点の各々に関して、前記ランタイム場面の前記距離マップをゼロと等しくなるように設定することと、
前記複数の残りの点の各々に関して、前記ランタイム場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、請求項１０に記載の方法。
【請求項１３】
前記ニューラルネットワークは、
訓練画像入力を前記ニューラルネットワークに提供することであって、前記訓練画像入力は、訓練場面のカメラ画像を含む、ことと、
訓練深度入力を前記ニューラルネットワークに提供することであって、前記訓練深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記訓練場面の算出深度マップを生成することと、
前記訓練場面の前記算出深度マップと前記訓練場面の前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
によって、事前に訓練されている、請求項１０に記載の方法。
【請求項１４】
前記ニューラルネットワークを使用して、前記訓練画像入力および前記訓練深度入力に基づいて、前記算出深度マップを生成することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記カメラを使用して、前記訓練場面の前記カメラ画像を捕捉することと、
高密度深度センサを使用して、前記訓練場面の前記高密度深度マップを捕捉することと
をさらに含む、請求項１３に記載の方法。
【請求項１６】
前記訓練場面の前記カメラ画像は、Ｈ×Ｗ×１の寸法を有するグレースケール画像である、請求項１３に記載の方法。
【請求項１７】
前記訓練場面の前記カメラ画像は、Ｈ×Ｗ×３の寸法を有するＲＧＢ画像である、請求項１３に記載の方法。
【請求項１８】
前記訓練深度入力は、前記訓練場面の疎深度マップを含み、前記疎深度マップは、
前記高密度深度マップと、
前記低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
に基づいて生成される、請求項１３に記載の方法。
【請求項１９】
前記訓練場面の前記疎深度マップは、
前記複数のサンプリング点の各々に関して、前記訓練場面の前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記訓練場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、請求項１８に記載の方法。
【請求項２０】
前記訓練深度入力は、前記訓練場面の距離マップをさらに含み、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記訓練場面の前記距離マップをゼロと等しくなるように設定することと、
複数の残りの点の各々に関して、前記訓練場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、その開示全体が本明細書に完全に記載されるかのように、あらゆる目的のために参照することによって本明細書に組み込まれる２０１８年３月１３日に出願され、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＣＯＮＳＴＲＵＣＴＩＮＧ  ＤＥＰＴＨ  ＭＡＰＳ」と題された米国仮特許出願第６２／６４２，５２８号の優先権を主張する。
【背景技術】
【０００２】
広範囲の技術が、実世界の正確かつ最新の深度マップの利用可能性に依拠している。自律車両は、それらの周囲の深度マップを使用して、ナビゲーション経路を生成し、障害物および関連表記を識別し得る。拡張現実（ＡＲ）デバイスは、深度マップを使用して、ユーザによって知覚される仮想画像要素を生成し、光学頭部搭載型ディスプレイ、モニタ、またはハンドヘルドデバイス上に仮想要素を包囲する実世界オブジェクトに関連して適切に置かれるように仮想画像要素を投影し得る。別の例として、ゲーム用デバイスは、深度マップを使用して、ユーザがその身体を使用してコンソールまたはコンピュータを制御し、それと相互作用し、それによって、他のゲームコントローラに取って代わること、またはそれを補完することを可能にし得る。そのような深度マップは、場面内の点と特定の参照点（距離を捕捉した深度センサの参照点等）との間の距離に対応するピクセル値を含む２次元（２Ｄ）画像を含み得る。
【０００３】
深度マップセンサは、光、電磁、および／または音響信号の伝送を利用する種々の技術を採用し得、それらのうちの多くは、伝送されている信号と受信されている反射された信号との間の時間を深度マップセンサと反射を引き起こしたオブジェクトとの間の距離に関連させる飛行時間原理に基づいて動作する。光ベースのアプローチの汎用性は、データが収集され得る正確度および速度を所与として、著しく高まっている。例えば、戻り時間における差異と伝送されたパルス状レーザ光の波長とを利用するＬｉＤＡＲセンサは、自動運転車両および無人航空機等の多くの深度感知用途においてほぼ普遍的となりつつある。
【０００４】
深度感知の１つの注目すべき用途は、デジタル的に再現された画像またはその一部が、それらが現実であるように見える様式、またはそのように知覚され得る様式においてユーザに提示される仮想現実（ＶＲ）またはＡＲディスプレイシステムのためのものである。ＶＲシナリオは、典型的に、他の実際の実世界の視覚的入力に対して透過性を伴わずにデジタルまたは仮想画像情報の提示を伴い、ＡＲシナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張として、デジタルまたは仮想画像情報の提示を伴う。現在の深度感知技術に伴って成された進歩にもかかわらず、ＶＲおよびＡＲヘッドセットとともに採用され得る正確、低コスト、かつ軽量の深度センサの必要性が残ったままである。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、概して、コンピュータビジョン用途において深度マップを算出する方法およびシステムに関する。より具体的に、本開示の実施形態は、非常に少量の深度情報を入力として利用し、非常に高品質の高密度深度マップを生成するシステムおよび方法を提供する。疎深度情報のフレキシブルなパラメータ化は、非常に積極的ダウンサンプリング係数においてさえ、完全ハードウェア深度センサの性能に匹敵する１％を下回る屋内平均絶対相対誤差を生成するモデルにつながる。本明細書に説明されるような訓練可能ネットワークは、並行して、屋外データセットに適用され、あらゆる深度、例えば、１ｍ〜８０ｍに関する良好な正確度を達成することができる。本発明は、ＡＲデバイスを参照して説明されるが、本開示は、コンピュータビジョンおよび画像ディスプレイシステムにおける種々の用途に適用可能である。発明の概要が、下で説明される実施例を参照して提供される。下で使用されるように、一連の実施例の任意の参照は、それらの実施例の各々への分離した参照として理解されるべきである（例えば、「実施例１−４」は、「実施例１、２、３、または４」として理解されるべきである）。
【０００６】
実施例１は、深度算出のためにニューラルネットワークを訓練する方法であって、方法は、画像入力をニューラルネットワークに提供することであって、画像入力は、訓練場面のカメラ画像を含む、ことと、深度入力をニューラルネットワークに提供することであって、深度入力は、訓練場面の疎深度マップであって、サンプリングマスクによって定義された複数のサンプリング点の各々に関して、疎深度マップを高密度深度センサを使用して生成された訓練場面の高密度深度マップと等しくなるように設定し、サンプリングマスクによって定義された複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、疎深度マップと、訓練場面の距離マップであって、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、距離マップとを含む、ことと、ニューラルネットワークを使用して、画像入力および深度入力に基づいて、訓練場面の算出深度マップを生成することと、算出深度マップと高密度深度マップとの間の誤差を算出することと、誤差に基づいて、ニューラルネットワークを修正することとを含む。
【０００７】
実施例２は、深度算出のためにニューラルネットワークを訓練する方法であって、方法は、画像入力をニューラルネットワークに提供することであって、画像入力は、訓練場面のカメラ画像を含む、ことと、深度入力をニューラルネットワークに提供することであって、深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づく、ことと、ニューラルネットワークを使用して、訓練場面の算出深度マップを生成することと、算出深度マップと高密度深度マップとの間の誤差に基づいて、ニューラルネットワークを修正することとを含む。
【０００８】
実施例３は、ニューラルネットワークを使用して、画像入力および深度入力に基づいて、算出深度マップを生成することをさらに含む、実施例２に記載の方法である。
【０００９】
実施例４は、カメラを使用して、カメラ画像を捕捉することと、高密度深度センサを使用して、高密度深度マップを捕捉することとをさらに含む、実施例２−３に記載の方法である。
【００１０】
実施例５は、カメラ画像が、Ｈ×Ｗ×１の寸法を有するグレースケール画像である、実施例２−４に記載の方法である。
【００１１】
実施例６は、カメラ画像が、Ｈ×Ｗ×３の寸法を有するＲＧＢ画像である、実施例２−５に記載の方法である。
【００１２】
実施例７は、深度入力が、高密度深度マップと、低密度深度センサの複数のサンプリング点を示すサンプリングマスクとに基づいて生成される疎深度マップを含む、実施例２−６に記載の方法である。
【００１３】
実施例８は、疎深度マップが、複数のサンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、実施例２−７に記載の方法である。
【００１４】
実施例９は、深度入力が、距離マップをさらに含み、距離マップは、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例２−８に記載の方法である。
【００１５】
実施例１０は、深度算出のためにニューラルネットワークを使用する方法であって、方法は、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、低密度深度センサを使用して、ランタイム場面の低密度深度マップを捕捉することと、ランタイム画像入力をニューラルネットワークに提供することであって、ランタイム画像入力は、ランタイム場面のカメラ画像を含む、ことと、ランタイム深度入力をニューラルネットワークに提供することであって、ランタイム深度入力は、少なくとも部分的にランタイム場面の低密度深度マップに基づく、ことと、ニューラルネットワークを使用して、ランタイム画像入力およびランタイム深度入力に基づいて、ランタイム場面の算出深度マップを生成することとを含む。
【００１６】
実施例１１は、ランタイム深度入力が、ランタイム場面の疎深度マップを含み、疎深度マップは、ランタイム場面の低密度深度マップによって決定された複数のサンプリング点の各々に関して、ランタイム場面の疎深度マップをランタイム場面の低密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の疎深度マップを複数のサンプリング点の最近傍点におけるランタイム場面の低密度深度マップと等しくなるように設定することによって生成される、実施例１０に記載の方法である。
【００１７】
実施例１２は、ランタイム深度入力が、ランタイム場面の距離マップを含み、距離マップは、ランタイム場面の低密度深度マップによって決定された複数のサンプリング点の各々に関して、ランタイム場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例１０−１１に記載の方法である。
【００１８】
実施例１３は、ニューラルネットワークが、訓練画像入力をニューラルネットワークに提供することであって、訓練画像入力は、訓練場面のカメラ画像を含む、ことと、訓練深度入力をニューラルネットワークに提供することであって、訓練深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づく、ことと、ニューラルネットワークを使用して、訓練場面の算出深度マップを生成することと、訓練場面の算出深度マップと訓練場面の高密度深度マップとの間の誤差に基づいて、ニューラルネットワークを修正することとによって、事前に訓練されている、実施例１０−１２に記載の方法である。
【００１９】
実施例１４は、ニューラルネットワークを使用して、訓練画像入力および訓練深度入力に基づいて、算出深度マップを生成することをさらに含む、実施例１１−１３に記載の方法である。
【００２０】
実施例１５は、カメラを使用して、訓練場面のカメラ画像を捕捉することと、高密度深度センサを使用して、訓練場面の高密度深度マップを捕捉することとをさらに含む、実施例１１−１４に記載の方法である。
【００２１】
実施例１６は、訓練場面のカメラ画像が、Ｈ×Ｗ×１の寸法を有するグレースケール画像である、実施例１１−１５に記載の方法である。
【００２２】
実施例１７は、訓練場面のカメラ画像が、Ｈ×Ｗ×３の寸法を有するＲＧＢ画像である、実施例１１−１６に記載の方法である。
【００２３】
実施例１８は、訓練深度入力が、高密度深度マップと、低密度深度センサの複数のサンプリング点を示すサンプリングマスクとに基づいて生成される訓練場面の疎深度マップを含む、実施例１１−１７に記載の方法である。
【００２４】
実施例１９は、訓練場面の疎深度マップが、複数のサンプリング点の各々に関して、訓練場面の疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、訓練場面の疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、実施例１１−１８に記載の方法である。
【００２５】
実施例２０は、訓練深度入力が、訓練場面の距離マップをさらに含み、距離マップは、複数のサンプリング点の各々に関して、訓練場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、訓練場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例１１−１９に記載の方法である。
【００２６】
実施例２１は、深度マップを算出する方法であって、方法は、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む。
【００２７】
実施例２２は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の１つ以上の着目点を検出することと、１つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む、実施例２１に記載の方法である。
【００２８】
実施例２３は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例２１−２２に記載の方法である。
【００２９】
実施例２４は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例２１−２３に記載の方法である。
【００３０】
実施例２５は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第１のサブセットが給電状態にされるようにし、複数のピクセル受信機の第２のサブセットが非給電状態にされるようにすることとを含み、第１のサブセットは、複数の標的サンプリング点に対応し、第１のサブセットに給電することが、第１のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例２１−２４に記載の方法である。
【００３１】
実施例２６は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例２１−２５に記載の方法である。
【００３２】
実施例２７は、ランタイム場面の算出深度マップを生成することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することを含む、実施例２１−２６に記載の方法である。
【００３３】
実施例２８は、深度マップを算出するシステムであって、システムは、カメラと、低密度深度センサと、１つ以上のプロセッサとを備え、プロセッサは、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む動作を実施するように構成されている。
【００３４】
実施例２９は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の１つ以上の着目点を検出することと、１つ以上の着目点複数の標的サンプリング点に基づいて、決定することとを含む、実施例２８に記載のシステムである。
【００３５】
実施例３０は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例２８−２９に記載のシステムである。
【００３６】
実施例３１は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例２８−３０に記載のシステムである。
【００３７】
実施例３２は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第１のサブセットが給電状態にされるようにし、複数のピクセル受信機の第２のサブセットが非給電状態にされるようにすることとを含み、第１のサブセットは、複数の標的サンプリング点に対応し、第１のサブセットに給電することが、第１のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例２８−３１に記載のシステムである。
【００３８】
実施例３３は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例２８−３２に記載のシステムである。
【００３９】
実施例３４は、ランタイム場面の算出深度マップを生成することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することを含む、実施例２８−３３に記載のシステムである。
【００４０】
実施例３５は、命令を備えている非一過性コンピュータ読み取り可能な媒体であって、命令は、プロセッサによって実行されると、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む動作をプロセッサに実施させる。
【００４１】
実施例３６は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の１つ以上の着目点を検出することと、１つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む、実施例３５に記載の非一過性コンピュータ読み取り可能な媒体である。
【００４２】
実施例３７は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例３５−３６に記載の非一過性コンピュータ読み取り可能な媒体である。
【００４３】
実施例３８は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例３５−３７に記載の非一過性コンピュータ読み取り可能な媒体である。
【００４４】
実施例３９は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第１のサブセットが給電状態にされるようにし、複数のピクセル受信機の第２のサブセットが非給電状態にされるようにすることとを含み、第１のサブセットは、複数の標的サンプリング点に対応し、第１のサブセットに給電することが、第１のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例３５−３８に記載の非一過性コンピュータ読み取り可能な媒体である。
【００４５】
実施例４０は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に、反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例３５−３９に記載の非一過性コンピュータ読み取り可能な媒体である。
【００４６】
従来の技法に優る多数の利点が、本開示の方法によって達成される。例えば、屋内および屋外場面の両方に関して従来の深度センサ正確度に匹敵する高密度場面深度推定のための単一深層ネットワークモデルが、説明される。加えて、疎深度入力をパラメータ化するフレキシブルな可逆方法が、説明される。これは、モデルの多様なソース（飛行時間深度センサ、ＬｉＤＡＲ、ステレオマッチング等）からの恣意的サンプリングパターンへの容易な適合を可能にし、単一モデルの複数の疎パターンへの適合さえ可能にする。本開示の他の利点は、当業者に容易に明白であろう。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイスを通して視認されるような拡張現実（ＡＲ）場面を図示する。
【００４８】
【図２】図２は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイスの概略図を図示する。
【００４９】
【図３】図３は、本発明のいくつかの実施形態による、ＡＲデバイスの訓練モードのためのデバイス設定を図示する。
【００５０】
【図４】図４は、本発明のいくつかの実施形態による、ＡＲデバイスのランタイムモードのためのデバイス設定を図示する。
【００５１】
【図５Ａ】図５Ａ、５Ｂ、および５Ｃは、ＡＲデバイスの種々の訓練モードの概略図を図示する。
【図５Ｂ】図５Ａ、５Ｂ、および５Ｃは、ＡＲデバイスの種々の訓練モードの概略図を図示する。
【図５Ｃ】図５Ａ、５Ｂ、および５Ｃは、ＡＲデバイスの種々の訓練モードの概略図を図示する。
【００５２】
【図６Ａ】図６Ａおよび６Ｂは、ＡＲデバイスの種々のランタイムモードの概略図を図示する。
【図６Ｂ】図６Ａおよび６Ｂは、ＡＲデバイスの種々のランタイムモードの概略図を図示する。
【００５３】
【図７】図７は、本発明のいくつかの実施形態による、ニューラルネットワークへの入力の特徴づけの概略図を図示する。
【００５４】
【図８】図８は、ＡＲデバイスの訓練モードまたはランタイムモード間に捕捉／生成され得る種々の画像、マップ、およびマスクの例を図示する。
【００５５】
【図９】図９は、ＡＲデバイスの訓練モードまたはランタイムモード中に捕捉／生成され得る種々の画像、マップ、およびマスクの例を図示する。
【００５６】
【図１０Ａ】図１０Ａ−１０Ｄは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。
【図１０Ｂ】図１０Ａ−１０Ｄは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。
【図１０Ｃ】図１０Ａ−１０Ｄは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。
【図１０Ｄ】図１０Ａ−１０Ｄは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。
【００５７】
【図１１】図１１は、本発明のいくつかの実施形態による、ニューラルネットワークを訓練する方法を図示する。
【００５８】
【図１２】図１２は、本発明のいくつかの実施形態による、ニューラルネットワークを使用して深度マップを算出する方法を図示する。
【００５９】
【図１３】図１３は、本発明のいくつかの実施形態による、ニューラルネットワークを訓練する方法を図示する。
【００６０】
【図１４】図１４は、本発明のいくつかの実施形態による、深度マップを算出する方法を図示する。
【００６１】
【図１５】図１５は、本明細書に説明される実施形態による、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【００６２】
効率的、正確、かつリアルタイムの深度推定は、仮想現実（ＶＲ）、拡張現実（ＡＲ）、複合現実（ＭＲ）、自動運転車両、無人航空機、ゲーム用システム、およびロボット等の領域における様々な場面理解用途のために有用である。１つの現在利用可能な消費者グレードの深度センサは、約１５Ｗの電力を消費し、約４．５ｍの限定された範囲を有し、屋内のみで機能し、増加した周囲光によって影響される性能を有する。将来的ＶＲ／ＭＲ頭部搭載型深度カメラは、好ましくは、小型であり、１／１００の電力量を消費し、ＲＧＢカメラのそれに合致する視野および分解能を伴って少なくとも１〜８０ｍ（屋内および屋外）の範囲を有するであろう。故に、新規エネルギー効率的な深度ハードウェアおよび深度推定モデルの必要がある。
【００６３】
単一の単眼ＲＧＢ画像からの深度推定は、コンピュータビジョンコミュニティにおいて普遍的となっている問題であるが、その固有のスケールの曖昧性に起因して、明確に定義されていない問題である。したがって、最先端深度推定モデルの全てが、依然として、一般的ＮＹＵｖ２屋内データセットに関して＞１２％の相対誤差（真の深度に対して）を生成することは、おそらく驚くことではない。そのような誤差は、ＭＲ／ＡＲのための３次元（３Ｄ）再構成および／または自律運転のための都市ナビゲーション等の用途におけるロバストな使用のために大きすぎる。従来の深度センサは、屋内相対深度誤差約１％を有し（誤差は、時間的ジッタとして定義される）、それは、深層単眼深度推定がそのようなセンサの性能に合致することから依然としてかなりかけ離れていることを示唆する。
【００６４】
単眼深度推定の限界を所与として、本発明は、少量の深度入力を利用するモデルを提供する。これは、例えば、特に設計された疎エネルギー効率的センサから、または、飛行時間センサにおける高密度照明パターンを疎にすることによって、取得され得る。屋外場面に関して、これは、確実なステレオマッチングまたはＬｉＤＡＲ様デバイスから生じ得る。疎深度読み取り値へのアクセスを有することは、深度推定におけるスケールの曖昧性を直ちに解決し、深層ネットワークがごく一部の深度マップへのアクセスのみを有するにもかかわらず完全深度センサに匹敵する性能を提供することができることが説明されるであろう。本発明の１つの目的は、したがって、位置合わせされたＲＧＢまたはグレースケール画像と併せて、疎深度マップを高密度化することである。
【００６５】
本発明による高密度深度予測モデルの１つの利点は、本発明による高密度深度予測モデルが、それらの各々が関連物理的シナリオに対応し得る疎深度入力に関する任意の可能なサンプリングパターンに適応することである。規則的グリッドサンプリングパターンは、問題を深度超分解能のそれと同等にし、疎深度マップは、効率的深度センサから潜在的に生じる。ＯＲＢまたはＳＩＦＴ等のある着目点分布に対応するサンプリングパターンは、モデルをＳＬＡＭシステム（着目点場所における疎深度を提供する）内の妥当な要素にするであろう。本開示のいくつかの実施形態は、それらの解釈の容易性および既存の深度センサハードウェアとの直接的関連性に起因して、規則的グリッドパターンに焦点を当て得るが、規則的グリッドパターンは、必須ではない。
【００６６】
図１は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイスを通して視認されるようなＡＲ場面を図示する。ＡＲ場面１００が、描写されており、ＡＲ技術のユーザは、人々、木々、背景における建物、およびコンクリートプラットフォーム１２０を特徴とする実世界公園状設定１０６を見ている。これらのアイテムに加え、ＡＲ技術のユーザは、実世界プラットフォーム１２０上に立っているロボット像１１０と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ１０２とを「見ている」と知覚するが、これらの要素（キャラクタ１０２および像１１０）は、実世界に存在しない。ヒト視知覚および神経系の著しい複雑性に起因して、他の仮想または実世界画像要素の中に仮想画像要素の快適で自然のように感じる豊かな提示を促進するＶＲまたはＡＲ技術を生成することは、困難である。
【００６７】
図２は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイス２００の概略図を図示する。ＡＲデバイス２００は、左接眼レンズ２０２Ａ、右接眼レンズ２０２Ｂ、左接眼レンズ２０２Ａ上に直接またはその近傍に取り付けられる左正面に面した世界カメラ２０６Ａ、右接眼レンズ２０２Ｂ上に直接またはその近傍に取り付けられる右正面に面した世界カメラ２０２Ｂ、左側に面した世界カメラ２０６Ｃ、右側に面した世界カメラ２０６Ｄ、左接眼レンズ２０２Ａに光学的に連結された左プロジェクタ、右接眼レンズ２０２Ｂに光学的に連結された右プロジェクタ、および処理モジュール２５０を含む種々のコンポーネントを含み得る。ＡＲデバイス２００のコンポーネントの一部または全部は、投影された画像がユーザによって視認され得るように、頭部に搭載され得る。１つの特定の実装において、図２に示されるＡＲデバイス２００のコンポーネントの全ては、ユーザによって装着可能な単一デバイス（例えば、単一ヘッドセット）上に搭載される。別の実装において、処理モジュール２５０は、ＡＲデバイス２００の他のコンポーネントと物理的に別個であり、有線または無線接続を介して通信可能に結合される。例えば、処理モジュール２５０は、フレームに固定して取り付けられる構成、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、または、別様に、ユーザに除去可能に取り付けられる構成（例えば、リュック式構成において、ベルト結合式構成において等）等、種々の構成において搭載され得る。
【００６８】
処理モジュール２５０は、プロセッサ２５２と、不揮発性メモリ（例えば、フラッシュメモリ）等のデジタルメモリとを備え得、両方は、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、画像捕捉デバイス（例えば、カメラ２０６）、低密度深度センサ２５４、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ等のセンサ（例えば、ＡＲデバイス２００に動作可能に結合されるか、または、別様に、ユーザに取り付けられ得る）から捕捉されたデータを含み得る。例えば、処理モジュール２５０は、カメラ２０６からの画像２２０、具体的に、左正面に面した世界カメラ２０６Ａからの左正面画像２２０Ａ、右正面に面した世界カメラ２０６Ｂからの右正面画像２２０Ｂ、左側に面した世界カメラ２０６Ｃからの左側画像２２０Ｃ、および右側に面した世界カメラ２０６Ｄからの右側画像２２０Ｄを受信し得る。いくつかの実施形態において、画像２２０は、単一画像、一対の画像、画像のストリームを備えているビデオ、ペアリングされた画像のストリーム備えているビデオ等を含み得る。画像２２０は、ＡＲデバイス２００の電源がオン中、周期的に生成され、処理モジュール２５０に送信され得るか、または、処理モジュール２５０によってカメラのうちの１つ以上に送信される命令に応答して、生成され得る。別の例として、処理モジュール２５０は、低密度深度マップＣ（ｘ，ｙ）を低密度深度センサ２５４から受信し得る。
【００６９】
接眼レンズ２０２Ａ、２０２Ｂは、それぞれ、プロジェクタ２１４Ａ、２１４Ｂからの光を導くように構成された透明または半透明導波管を備え得る。具体的に、処理モジュール２５０は、左プロジェクタ２１４Ａに左投影画像２２２Ａを左接眼レンズ２０２Ａ上に出力させ、右プロジェクタ２１４Ｂに右投影画像２２２Ｂを右接眼レンズ２０２Ｂの中に出力させ得る。いくつかの実施形態において、接眼レンズ２０２Ａ、２０２Ｂの各々は、異なる色および／または異なる深度平面に対応する複数の導波管を備え得る。
【００７０】
カメラ２０６Ａ、２０６Ｂは、それぞれ、ユーザの左および右眼の視野と実質的に重複する画像を捕捉するように位置付けられ得る。故に、カメラ２０６Ａ、２０６Ｂの設置場所は、ユーザの眼の近傍であり得るが、ユーザの視野を不明瞭にするほど近傍ではない。代替として、または加えて、カメラ２０６Ａ、２０６Ｂは、それぞれ、投影された画像２２２Ａ、２２２Ｂの内部結合場所と整列するように位置付けられ得る。カメラ２０６Ｃ、２０６Ｄは、ユーザの側面、例えば、ユーザの周辺視覚内またはユーザの周辺視覚外の画像を捕捉するように位置付けられ得る。カメラ２０６Ｃ、２０６Ｄを使用して捕捉された画像２２０Ｃ、２２０Ｄは、カメラ２０６Ａ、２０６Ｂを使用して捕捉された画像２２０Ａ、２２０Ｂと部分的に重複することも、重複しないこともある。
【００７１】
ＡＲデバイス２００の動作中、処理モジュール２５０は、１つ以上の訓練されたニューラルネットワーク（ニューラルネットワーク２５６、２７２等）を使用して、画像２２０のうちの１つ以上と組み合わせて、低密度深度センサ２５４によって生成された低密度深度マップに基づいて、（ＡＲデバイス２００の視野内の）場面の深度マップを算出し得る。ネットワーク２５６、２７２は、例を処理することによって徐々に「学習」し得る人工ニューラルネットワーク、畳み込みニューラルネットワーク、深層ネットワーク、または任意のタイプのネットワークまたはシステムであり得る。いくつかの実施形態において、ネットワーク２５６、２７２は、データを１つのノードから別のノードに中継することが可能である接続されたノードの集合を備えている。ネットワーク２５６、２７２は、コンパイルされたコードとして、処理モジュール内に記憶され得る。ネットワーク２５６、２７２の訓練および使用は、下でさらに詳細に説明される。
【００７２】
図３は、本発明のいくつかの実施形態による、ＡＲデバイス２００の訓練モード（すなわち、ネットワーク２５６、２７２の一方または両方の訓練モード）のためのデバイス設定を図示する。ＡＲデバイス２００が、訓練モードで動作するとき、高密度深度センサ２５８は、高密度深度センサ２５８の視野がカメラ２０６の視野に対応するように、ＡＲデバイス２００内またはその近傍に位置付けられ得る。訓練モード中、ネットワーク２５６、２７２は、高密度深度センサ２５８を使用して生成された訓練場面３０２の高密度深度マップＤ（ｘ，ｙ）と、カメラ２６０によって捕捉／生成された訓練場面３０２のカメラ画像Ｉ（ｘ，ｙ，ｃ）とを使用して訓練される。低密度深度センサ２５４は、訓練モード中、非給電状態にされ、除去され、および／または、無視され得る。いくつかの実施形態において、高密度深度センサ２５８は、訓練中、一時的に、ＡＲデバイス２００の正面に取り付けられる。いくつかの実施形態において、カメラ２０６および高密度深度センサ２５８の各々は、デバイスの視野が緊密に整列させられ得るように、順次、所定の場所に位置付けられる。いくつかの実施形態において、訓練は、ＡＲデバイス２００の種々のハードウェアコンポーネントが訓練中に動作する必要がないように、事前に生成された画像および深度マップを使用して実施され得る。
【００７３】
図４は、本発明のいくつかの実施形態による、ＡＲデバイス２００のランタイムモード（すなわち、ニューラルネットワーク２５６、２７２の一方または両方のランタイムモード）のためのデバイス設定を図示する。ランタイムモード中、高密度深度センサ２５８は、除去され（および／または非給電状態のままにされるか、または、低密度深度感知のために修正される）、ネットワーク２５６、２７２は、低密度深度センサ２５４によって捕捉されたランタイム場面４０２の低密度深度マップＣ（ｘ，ｙ）と、カメラ２０６によって捕捉されたランタイム場面４０２のカメラ画像Ｉ（ｘ，ｙ，ｃ）とに基づいて、算出深度マップ
【数１】
2021517685.tif 000003
を生成するために使用される。いくつかの実施形態において、算出深度マップ
【数２】
2021517685.tif 000004
の正確度は、訓練場面３０２およびランタイム場面４０２が類似するとき、改善される。すなわち、ランタイム性能は、訓練画像がランタイム画像を表すとき、改善される。例えば、場面の両方は、屋内または屋外であり、かつ場面内に類似した照明、テクスチャ、およびアイテムの分布を有し得る。
【００７４】
図５Ａ、５Ｂ、および５Ｃは、ＡＲデバイス２００の種々の訓練モードの概略図を図示する。図５Ａは、深度マップニューラルネットワーク２５６が訓練される第１の訓練モードを図示する。いくつかの事例において、３つの入力、すなわち、Ｈ×Ｗ×Ｃの寸法を有するカメラ画像Ｉ（ｘ，ｙ，ｃ）、Ｈ×Ｗの寸法を有するバイナリサンプリングマスクＭ（ｘ，ｙ）（代替として、本明細書において、サンプリングマスクと称される）、およびＨ×Ｗの寸法を有する高密度深度マップＤ（ｘ，ｙ）（代替として、本明細書において、グラウンドトゥルース深度マップと称される）が、各訓練ステップにおいて提供され得る。変数Ｃは、カメラ画像Ｉ（ｘ，ｙ，ｃ）のためのチャネルの数であり、ＲＧＢ画像に関して３、グレースケール画像に関して１と等しい。Ｄ（ｘ，ｙ）の特定のピクセル（ｘ，ｙ）が、無効または欠測深度値を有する場合、深度値は、０または無限遠に設定され得る。
【００７５】
いくつかの実施形態において、バイナリサンプリングマスクＭ（ｘ，ｙ）は、Ｄ（ｘ，ｙ）からサンプリングされている点（ｘ，ｙ）に関して、１と等しくなるように設定される。これらの点は、集合的に、本明細書において、複数のサンプリング点と称され得る。バイナリサンプリングマスクＭ（ｘ，ｙ）の残りの値は、０と等しくなるように設定され得る。サンプリングマスクＭ（ｘ，ｙ）を使用して高密度深度マップＤ（ｘ，ｙ）をサンプリングすることの結果は、同様にＨ×Ｗの寸法を有する低密度深度マップＣ（ｘ，ｙ）である。これは、乗算演算（例えば、行列Ｄ（ｘ，ｙ）とＭ（ｘ，ｙ）との間の要素毎乗算）を使用した図５Ａに図示される。このモデルに関して、Ｍ（ｘ，ｙ）を使用してサンプリングＤ（ｘ，ｙ）によって取得される低密度深度マップＣ（ｘ，ｙ）は、低密度深度センサ２５４によって生成された低密度深度マップＣ（ｘ，ｙ）と同一か、または実質的に同様と仮定される。
【００７６】
ネットワーク２５６への入力は、カメラ画像Ｉ（ｘ，ｙ，ｃ）と、Ｈ×Ｗの寸法を有する疎深度マップＳ１（ｘ，ｙ）と、Ｈ×Ｗの寸法を有する距離マップＳ２（ｘ，ｙ）とを含む。疎深度マップＳ１（ｘ，ｙ）は、Ｃ（ｘ，ｙ）を最近傍の深度値で充填することによって、低密度深度マップＣ（ｘ，ｙ）から生成される。言い換えると、（１と等しい値を有するＭ（ｘ，ｙ）の点（ｘ，ｙ）によって元々定義されるような）複数のサンプリング点の各々に関して、Ｓ１（ｘ，ｙ）の値は、（Ｄ（ｘ，ｙ）によって元々定義されるような）Ｃ（ｘ，ｙ）の値と等しくなるように設定され、残りの点の各々に関して、Ｓ１（ｘ，ｙ）の値は、（Ｄ（ｘ，ｙ）によって元々定義されるような）最近傍サンプリング点の値Ｃ（ｘ，ｙ）と等しくなるように設定される。いくつかの実施形態において、Ｃ（ｘ，ｙ）からＳ１（ｘ，ｙ）への変換は、疎深度マップ生成器２６２によって実施され得る。いくつかの実施形態において、Ｓ１（ｘ，ｙ）は、Ｃ（ｘ，ｙ）を算出せずに、直接、Ｍ（ｘ，ｙ）およびＤ（ｘ，ｙ）から算出され得る。
【００７７】
距離マップＳ２（ｘ，ｙ）は、Ｍ（ｘ，ｙ）のユークリッド距離変換を算出することによって、サンプリングマスクＭ（ｘ，ｙ）から生成される。これは、Ｓ２（ｘ，ｙ）の値を（ｘ，ｙ）とＭ（ｘ’，ｙ’）が１と等しい最近点（ｘ’ｙ’）との間のユークリッド距離に設定することを含み、Ｍ（ｘ，ｙ）は、サンプルを有効深度点からのみサンプリングするように補正されていると仮定する。言い換えると、（１と等しい値を有するＭ（ｘ，ｙ）の点（ｘ，ｙ）によって元々定義されるような）複数のサンプリング点の各々に関して、Ｓ２（ｘ，ｙ）の値は、０と等しくなるように設定され（点とそれ自体との間のユークリッド距離が、０であるので）、残りの点の各々に関して、Ｓ２（ｘ，ｙ）の値は、（ｘ，ｙ）と最近傍サンプリング点（ｘ’，ｙ’）との間のユークリッド距離と等しくなるように設定される。いくつかの実施形態において、Ｍ（ｘ，ｙ）からＳ２（ｘ，ｙ）への変換は、ユークリッド距離変換２６４によって実施され得る。いくつかの実施形態において、Ｓ２（ｘ，ｙ）は、Ｍ（ｘ，ｙ）の代わりに、Ｃ（ｘ，ｙ）から算出され得る（Ｍ（ｘ，ｙ）は、Ｃ（ｘ，ｙ）から再現され得るので）。
【００７８】
ネットワーク２５６が、カメラ画像Ｉ（ｘ，ｙ，ｃ）、疎深度マップＳ１（ｘ，ｙ）、および距離マップＳ２（ｘ，ｙ）を提供された後、ネットワーク２５６は、算出深度マップ
【数３】
2021517685.tif 000005
を生成し得る。算出深度マップ
【数４】
2021517685.tif 000006
は、高密度深度マップＤ（ｘ，ｙ）と比較され、推定誤差（すなわち、誤差）を計算し得る。誤差は、単一値であり得るか、または行列
【数５】
2021517685.tif 000007
とＤ（ｘ，ｙ）との間の要素毎差異として算出されるＨ×Ｗの寸法を有する行列であり得る。ネットワーク２５６は、次いで、算出深度マップ
【数６】
2021517685.tif 000008
と高密度深度マップＤ（ｘ，ｙ）との間の計算された誤差に基づいて、修正され得る（例えば、修正器２６６を使用して）。ネットワーク２５６に対する修正の大きさは、誤差の大きさに比例し得、より大きい誤差は、ネットワーク２５６へのより大きい修正を引き起こす。いくつかの実施形態において、ネットワーク２５６は、修正され、それによって、同じ入力を使用した算出深度マップ
【数７】
2021517685.tif 000009
の後の出力は、より小さい誤差を生成する（すなわち、
【数８】
2021517685.tif 000010
がＤ（ｘ，ｙ）に関するより良好な予測となる）。訓練ステップの数Ｎ（
【数９】
2021517685.tif 000011
の算出および／またはネットワーク２５６に対する修正の数と等しい）は、事前に決定され得るか、または、代替として、Ｎは、可変であり得、訓練ステップは、誤差が閾値を下回って降下するまで、および／または、誤差がある値に収束するまで、実施される。
【００７９】
いくつかの実施形態において、ネットワーク２５６は、代替として、算出深度マップ
【数１０】
2021517685.tif 000012
の代わりに、直接、誤差を出力し得る。この実装において、誤差は、訓練目的のために直ちに利用可能であり、算出深度マップ
【数１１】
2021517685.tif 000013
が、訓練中、必ずしも必要とされないが、誤差を計算する方法に応じて、誤差を高密度深度マップＤ（ｘ，ｙ）に加算すること、または誤差をそれから減算することによって取得され得る。算出深度マップ
【数１２】
2021517685.tif 000014
は、誤差から容易に利用可能であり、かつ誤差に暗に示されるので、そのような実施形態において、誤差を計算することは、算出深度マップ
【数１３】
2021517685.tif 000015
を計算することとして理解され得る。
【００８０】
図５Ｂは、サンプリングマスクニューラルネットワーク２７２が訓練される第２の訓練モードを図示する。いくつかの事例において、２つの入力、すなわち、カメラ画像Ｉ（ｘ，ｙ，ｃ）および高密度深度マップＤ（ｘ，ｙ）が、各訓練ステップにおいて提供され得る。カメラ画像Ｉ（ｘ，ｙ，ｃ）は、サンプリングマスクニューラルネットワーク２７２への入力として提供される。カメラ画像Ｉ（ｘ，ｙ，ｃ）が入力として提供されることに応答して、ネットワーク２７２は、カメラ画像Ｉ（ｘ，ｙ，ｃ）を分析し得、分析に基づいて、サンプリングマスクＭ（ｘ，ｙ）を生成し得る。生成されたサンプリングマスクＭ（ｘ，ｙ）は、訓練場面の深度が決定されるべき複数の標的サンプリング点を含み得る。サンプリングマスクＭ（ｘ，ｙ）の残りの値は、０と等しくなるように設定され得る。サンプリングマスクＭ（ｘ，ｙ）を使用して高密度深度マップＤ（ｘ，ｙ）をサンプリングすることの結果は、低密度深度マップＣ（ｘ，ｙ）であり、それは、行列Ｄ（ｘ，ｙ）とＭ（ｘ，ｙ）との間の要素毎乗算によって実施され得る。
【００８１】
ネットワーク２５６への入力は、カメラ画像Ｉ（ｘ，ｙ，ｃ）と、疎深度マップＳ１（ｘ，ｙ）（その算出は、図５Ａを参照して説明される）と、距離マップＳ２（ｘ，ｙ）（その算出は、図５Ａを参照して説明される）とを含む。ネットワーク２５６が、カメラ画像Ｉ（ｘ，ｙ，ｃ）、疎深度マップＳ１（ｘ，ｙ）、および距離マップＳ２（ｘ，ｙ）を提供された後、ネットワーク２５６は、算出深度マップ
【数１４】
2021517685.tif 000016
を生成し得、それは、高密度深度マップＤ（ｘ，ｙ）と比較され、推定誤差（すなわち、誤差）を計算し得る。ネットワーク２７２は、次いで、計算された誤差に基づいて、修正され得る（例えば、修正器２７４を使用して）。ネットワーク２７２に対する修正の大きさは、誤差の大きさに比例し得、より大きい誤差は、ネットワーク２７２に対するより大きい修正を引き起こす。いくつかの実施形態において、ネットワーク２７２は、修正され、同一入力を使用した出深度マップ
【数１５】
2021517685.tif 000017
の後の出力は、より小さい誤差を生成する（すなわち、
【数１６】
2021517685.tif 000018
がＤ（ｘ，ｙ）に関するより良好な予測となる）。訓練ステップの数Ｎ（
【数１７】
2021517685.tif 000019
の算出および／またはネットワーク２７２に対する修正の数と等しい）は、事前に決定され得るか、または、代替として、Ｎは、可変であり得、訓練ステップは、誤差が閾値を下回って降下するまで、および／または、誤差がある値に収束するまで、実施される。
【００８２】
このように、ネットワーク２７２は、深度測定のためにどのカメラ画像Ｉ（ｘ，ｙ，ｃ）のピクセルがサンプリングされるべきかを「学習」し、それによって、算出深度マップ
【数１８】
2021517685.tif 000020
は、高密度深度マップＤ（ｘ，ｙ）により良好に近似する。いくつかの事例において、ネットワーク２７２は、カメラ画像Ｉ（ｘ，ｙ，ｃ）を分析し、カメラ画像Ｉ（ｘ，ｙ，ｃ）内の１つ以上の着目点を検出し得、複数の標的サンプリング点は、検出された着目点に基づき得る。例えば、いくつかの実施形態において、着目点は、縁（境界が２つの画像領域間に存在する点）、角（縁が急変する方向を有する点）、またはブロブ（画像領域が、いくつかの性質、例えば、ほぼ一定である色を有する点）において検出され得る。ネットワーク２７２は、着目点に基づいて、複数の標的サンプリング点を設置すべき場所を「学習」し得る。例えば、標的サンプリング点は、１つ以上の着目点またはその近傍または着目点間に設置され得る。別の例として、標的サンプリング点は、異なる対の着目点間の中点またはその近傍に設置され得る。別の例として、標的サンプリング点は、着目点のより高い集中を有する画像領域またはその近傍に設置され得る。
【００８３】
図５Ｃは、深度マップニューラルネットワーク２５６およびサンプリングマスクニューラルネットワーク２７２の各々が各訓練ステップ中に訓練される第３の訓練モードを図示する。例えば、第３の訓練モードの各訓練ステップ中、サンプリングマスクＭ（ｘ，ｙ）が、ネットワーク２７２によって生成され得、算出深度マップ
【数１９】
2021517685.tif 000021
が、ネットワーク２５６によって生成され得、推定誤差（すなわち、誤差）が、算出深度マップ
【数２０】
2021517685.tif 000022
と高密度深度マップＤ（ｘ，ｙ）との間の比較に基づいて計算され得、ネットワーク２５６、２７２の各々は、推定誤差に基づいて修正され得る（図５Ａおよび５Ｂを参照して説明されるように）。いくつかの実施形態において、ネットワーク２５６、２７２は、いくつかの訓練ステップ中、別個に訓練（すなわち、修正）され得、他の訓練ステップ中、同時に訓練され得る。Ｎ個の総訓練ステップの一例において、ネットワーク２５６は、Ｎ／２個の訓練ステップ中、訓練され得、ネットワーク２７２は、他のＮ／２個の訓練ステップ中、訓練され得る。訓練ステップは、各訓練ステップ間で、ネットワーク２５６、２７２間で交替し得るか、または、いくつかの訓練ステップが、他のネットワークに交替する前、各ネットワークに関して実施され得る。別の例において、ネットワーク２５６は、Ｎ／３個の訓練ステップ中、訓練され得、ネットワーク２７２は、Ｎ／３個の訓練ステップ中、訓練され得、ネットワーク２５６、２７２の両方が、Ｎ／３個の訓練ステップ中、訓練され得る。他の可能性も、想定される。
【００８４】
図６Ａおよび６Ｂは、ＡＲデバイス２００の種々のランタイムモードの概略図を図示する。図６Ａは、算出深度マップ
【数２１】
2021517685.tif 000023
が、ランタイム場面の捕捉されたカメラ画像Ｉ（ｘ，ｙ，ｃ）および低密度深度マップＣ（ｘ，ｙ）に基づいて生成され、サンプリングマスクＭ（ｘ，ｙ）が、カメラ画像Ｉ（ｘ，ｙ，ｃ）から独立して決定されている第１のランタイムモードを図示する。第１のランタイムモードは、規則的または不規則的インターバルにおいて、ＡＲデバイス２００の性能を促進するために開始され得る。例えば、算出深度マップ
【数２２】
2021517685.tif 000024
が要求される度、または所定のインターバルにおいて、カメラ２０６は、カメラ画像Ｉ（ｘ，ｙ，ｃ）を捕捉し、低密度深度センサ２５４は、低密度深度マップＣ（ｘ，ｙ）を捕捉し、サンプリングマスクＭ（ｘ，ｙ）は、低密度深度センサ２５４の設定に基づいて、または（破線によって示されるような）Ｃ（ｘ，ｙ）の分析によって、決定されている。サンプリングマスクＭ（ｘ，ｙ）は、例えば、深度測定が捕捉されるピクセル場所（すなわち、低密度深度マップＣ（ｘ，ｙ）が非ゼロ値を含むピクセル場所）を決定することによって決定され得る。疎深度マップＳ１（ｘ，ｙ）および距離マップＳ２（ｘ，ｙ）は、次いで、上で説明されるように、それぞれ、Ｃ（ｘ，ｙ）およびＭ（ｘ，ｙ）に基づいて生成され得る。算出深度マップ
【数２３】
2021517685.tif 000025
は、次いで、ネットワーク２５６によって、カメラ画像Ｉ（ｘ，ｙ，ｃ）、疎深度マップＳ１（ｘ，ｙ）、および距離マップＳ２（ｘ，ｙ）に基づいて生成され、
【数２４】
2021517685.tif 000026
を投影された画像２２２Ａ、２２２Ｂの生成の中に組み込むプロセッサ２５２に送信される。
【００８５】
図６Ｂは、算出深度マップ
【数２５】
2021517685.tif 000027
が、ランタイム場面の捕捉されたカメラ画像Ｉ（ｘ，ｙ，ｃ）および低密度深度マップＣ（ｘ，ｙ）に基づいて生成され、サンプリングマスクＭ（ｘ，ｙ）が、カメラ画像Ｉ（ｘ，ｙ，ｃ）に基づいて決定されている第２のランタイムモードを図示する。サンプリングマスクＭ（ｘ，ｙ）は、低密度深度センサ２５４がサンプリングマスクＭ（ｘ，ｙ）に従って深度測定値を捕捉するように、低密度深度センサ２５４に関連付けられた設定を調節するために使用される。第２のランタイムモードは、規則的または不規則的インターバルにおいて、ＡＲデバイス２００の性能を促進するように開始され得る。例えば、算出深度マップ
【数２６】
2021517685.tif 000028
が要求される度、または所定のインターバルにおいて、カメラ２０６は、カメラ画像Ｉ（ｘ，ｙ，ｃ）を捕捉し、低密度深度センサ２５４は、低密度深度マップＣ（ｘ，ｙ）を捕捉し、サンプリングマスクＭ（ｘ，ｙ）は、カメラ画像Ｉ（ｘ，ｙ，ｃ）に基づいて決定されている。疎深度マップＳ１（ｘ，ｙ）および距離マップＳ２（ｘ，ｙ）は、次いで、上で説明されるように、それぞれ、Ｃ（ｘ，ｙ）およびＭ（ｘ，ｙ）に基づいて生成され得る。算出深度マップ
【数２７】
2021517685.tif 000029
は、次いで、ネットワーク２５６によって、カメラ画像Ｉ（ｘ，ｙ，ｃ）、疎深度マップＳ１（ｘ，ｙ）、および距離マップＳ２（ｘ，ｙ）に基づいて生成され、
【数２８】
2021517685.tif 000030
を投影された画像２２２Ａ、２２２Ｂの生成の中に組み込むプロセッサ２５２に送信される。
【００８６】
本発明の実施形態は、疎入力がネットワーク２５６のためにパラメータ化される方法において革新をもたらす。訓練の開始前にサンプルの数およびサンプリングパターン（必然的に、グリッド状パターン）を固定する深度超分解能アプローチと異なり、本明細書における実施形態は、高密度深度マップに関する任意の恣意的サンプリングパターンに適応でき、各訓練ステップに関して、可変数の点をサンプリングできるパラメータ化を検索する。そのような方法は、種々の異なるサンプリング方略が、単に、異なるモデルにわたってのみならず、同じ訓練工程内においてさえ探求されることを可能にし、それは、モデル性能を改良する。任意のサンプリングパターンに適応するために、疎深度入力がグラウンドトゥルース深度マップと同じ分解能であり得ることに留意されたい。
【００８７】
本発明の別の利点は、パラメータ化が、従来のアプローチと比較して高速であることであり、最大で２つのユークリッド変換が、最終疎入力（Ｓ１（ｘ，ｙ）およびＳ２（ｘ，ｙ））を計算することに関わる。別の利点は、入力疎マップが、ゼロを含まないこともあり（いくつかの従来のアプローチにおけるような疎パラメータ化とは対照的に）、それは、次いで、高密度化問題が、疎マップの上位における残差予測として取り扱われることを可能にする。しかしながら、問題を残差予測にすることに関する１つの潜在的問題は、モデルが、どのピクセル場所がＭ（ｘ，ｙ）が１と等しいサンプリング場所に対応するかの全ての先験的知識を失うことである。距離マップＳ２（ｘ，ｙ）は、Ｍ（ｘ，ｙ）を復元するスムースな方法をモデルに与え、したがって、モデルが選定する場合、疎深度マップＳ１（ｘ，ｙ）が逆算されることを可能にする。
【００８８】
本発明の別の利点は、サンプリングパターンが、訓練中、単に、異なるモデルにわたってのみならず、同じモデル内でも、変動させられることができることである。例えば、低速減衰学習スケジュールが、訓練ステップｔに関して、ルールＮｓａｍｐｌｅｓ（ｔ）＝［５Ｎｅ−０．０００３ｔ＋Ｎ］に従って採用されることができ、それは、６×所望のサンプリング密度Ｎにおいて、訓練を開始し、訓練が進行するにつれて、所望の最終サンプリング密度Ｎに向かってスムースに減衰する。この動的サンプリング方略は、ネットワーク性能を上昇させることが実証されている。
【００８９】
図７は、本発明のいくつかの実施形態による、ネットワーク２５６への入力の特徴づけの概略図を図示する。図７に示されるように、カメラ画像Ｉ（ｘ，ｙ，ｃ）は、画像入力２６８として特徴づけられ得、疎深度マップＳ１（ｘ，ｙ）および距離マップＳ２（ｘ，ｙ）は、深度入力２７０として特徴づけられ得る。故に、いくつかの実施形態において、ネットワーク２５６は、画像入力２６８および深度入力２７０を含む２つの入力を提供され得る。深度入力２７０は、Ｃ（ｘ，ｙ）、Ｍ（ｘ，ｙ）、Ｓ１（ｘ，ｙ）、およびＳ２（ｘ，ｙ）のうちの１つ以上のものを含み得る。いくつかの実施形態において、深度入力２７０は、Ｓ１（ｘ，ｙ）とＳ２（ｘ，ｙ）との連結（Ｈ×Ｗ×２の寸法を有する）を含む。いくつかの実施形態において、画像入力２６８と深度入力２７０とは、組み合わせられ得、Ｉ（ｘ，ｙ，ｃ）、Ｓ１（ｘ，ｙ）、およびＳ２（ｘ，ｙ）の連結（Ｈ×Ｗ×（Ｃ＋２）の寸法を有する）を備えている入力が、使用され得る。いくつかの実施形態において、深度入力２７０は、代替として、疎入力と称される。
【００９０】
図８は、ＡＲデバイス２００の訓練モードまたはランタイムモード中に捕捉／生成され得る種々の画像、マップ、およびマスクの例を図示する。サンプリングマスクＭ（ｘ，ｙ）の非ゼロ値によって図示されるように、サンプリング点は、不規則的であり、グリッドに一致しない。いくつかの実施形態において、深度マップ正確度は、より少ない着目点を伴うエリアより、着目点のより高い集中を伴うエリアをより多くのサンプルを伴ってサンプリングすることによって改善される。例えば、いくつかの実施形態において、カメラ画像Ｉ（ｘ，ｙ，ｃ）は、着目場所点を決定するために最初に分析され得る。サンプル点の場所が、続いて、着目点の場所と一致するように決定され得る。図示される実施形態において、各ピクセルの明度は、ピクセルの値に対応し得る。例えば、距離マップＳ２（ｘ，ｙ）の値は、明度に比例し、それによって、より明るいピクセルは、より大きいユークリッド距離に対応する。
【００９１】
図９は、ＡＲデバイス２００の訓練モードまたはランタイムモード中に捕捉／生成され得る種々の画像、マップ、およびマスクの例を図示する。図９に示されるアイテムのうちのいくつかは、（サンプリングマスクＭ（ｘ，ｙ）の非ゼロ値によって図示されるような）サンプリング点がグリッド状であることに起因して、図８に示されるものと異なる。図示される実施形態において、各ピクセルの明度は、ピクセルの値に対応し得る。
【００９２】
図１０Ａ−１０Ｄは、種々の深度センサ１０５４の例を図示し、それらは、サンプリングマスクＭ（ｘ，ｙ）に示されるような標的サンプリング点において深度測定を捕捉するように調節され得る。深度センサ１０５４の各々は、本明細書に説明されるように、低密度深度センサ２５４に対応し得る。深度センサ１０５４の各々は、他の可能性の中でもとりわけ、光、電磁、音響等の信号の伝送および受信を利用する種々の技術を採用し得る。深度センサ１０５４の各々の設定は、制御信号１０１４、１０１６のいずれかが修正されるとき、調節されるべきと考えられ得る。
【００９３】
図１０Ａを参照すると、深度センサ１０５４Ａが、伝送機回路１００４および受信機回路１００６に通信可能に結合される制御回路１００２を有するように図示される。伝送機回路１００４は、複数の行および列を備えているグリッド状に配列された複数のピクセル伝送機１００８を含む。ピクセル伝送機１００８の各々は、制御信号１０１４に基づいて、給電または非給電状態にされ得、給電状態にされると、有向または無向様式において、信号を場面内の標的サンプリング点に向かって伝送し得る。例えば、制御回路１００２は、標的サンプリング点に向かって伝送信号をピクセル伝送機１００８のうちの１つ以上に操向させ得る。一例において、制御回路１００２は、ピクセル伝送機１００８の第１のサブセットが給電状されるようにし、ピクセル伝送機１００８の第２のサブセットが給電されないようにし得る。ピクセル伝送機１００８の第１のサブセットは、信号をデフォルト方向に伝送し得るか、または、特定の標的サンプリング点に向かって操向され得る。別の例において、制御回路１００２は、ピクセル伝送機１００８の全ての電源がオンにされるようにし得、伝送信号が標的サンプリング点に向かって操向されるようにし得る。ピクセル伝送機１００８は、同時に、並行して、および／または順次、電源をオンにされ、および／または操向され得る。
【００９４】
受信機回路１００６は、複数の行および列を備えているグリッド状に配列された複数のピクセル受信機１０１２を含む。ピクセル受信機１０１２の各々は、制御信号１０１６に基づいて、給電または非給電状態にされ得、有向または無向様式において、場面内の標的サンプリング点から信号を受信し得る。例えば、制御回路１００２は、ピクセル受信機１０１２のうちの１つ以上を標的サンプリング点から反射された信号を受信するように操向させ得る。一例において、制御回路１００２は、ピクセル受信機１０１２の第１のサブセットが給電されるようにし、ピクセル受信機１０１２の第２のサブセットを給電されないようにし得る。ピクセル受信機１０１２の第１のサブセットは、信号をデフォルト方向から受信し得るか、または、信号を特定の標的サンプリング点から受信するように操向され得る。別の例において、制御回路１００２は、ピクセル受信機１０１２の全ての電源がオンにされるようにし得、ピクセル受信機１０１２が操向され、特定の標的サンプリング点から反射された信号を受信するようにし得る。ピクセル受信機１０１２は、同時に、並行して、および／または順次、電源をオンにされ、および／または操向され得る。反射された信号を受信後、データは、データ信号１０１８を介して、ピクセル受信機１０１２から制御回路１００２に送信される。
【００９５】
図１０Ｂを参照すると、深度センサ１０５４Ｂが、前述のように、制御信号１０１４、１０１６およびデータ信号１０１８を介して、伝送機回路１００４および受信機回路１００６に通信可能に結合される、制御回路１００２を有するように図示される。深度センサ１０５４Ｂは、伝送機回路１００４が、複数のピクセル伝送機１００８の代わりに、グローバル伝送機１０２０を含むという点で、前の実施形態と異なり得る。グローバル伝送機１０２０は、制御信号１０１４に基づいて、給電または非給電状態にされ得、給電されると、同時にまたは順次、信号を標的サンプリング点の全てに向かって伝送し得る。一例において、制御回路１００２は、グローバル伝送機１０２０に標的サンプリング点の全てを同時に照明させ得る。別の例において、制御回路１００２は、走査経路１０２４に従って、グローバル伝送機１０２０に標的サンプリング点を順次照明させ得る。
【００９６】
いくつかの実施形態において、深度センサ１０５４Ｂは、２０１７年９月２９日に出願され、「ＲＥＡＬ  ＴＩＭＥ  ＣＡＬＩＢＲＡＴＩＯＮ  ＦＯＲ  ＴＩＭＥ−ＯＦ−ＦＬＩＧＨＴ  ＤＥＰＴＨ  ＭＥＡＳＵＲＥＭＥＮＴ」と題された米国特許出願第１５／７２１，６４０号と、２０１８年１２月１３日に出願され、「ＧＬＯＢＡＬ  ＳＨＵＴＴＥＲ  ＰＩＸＥＬ  ＣＩＲＣＵＩＴ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＣＯＭＰＵＴＥＲ  ＶＩＳＩＯＮ  ＡＰＰＬＩＣＡＴＩＯＮＳ」と題された米国特許出願第数１６／２１９，８２９号（その全開示は、本明細書に完全に記載されるかのように、参照することによって、本明細書に組み込まれる）とを参照して説明される距離測定のための飛行時間（ＴｏＦ）結像システムの１つ以上の特徴を含み得る。例えば、グローバル伝送機１０２０は、光パルスを伝送し、標的オブジェクトを照明するように構成される照明器を含み得、ピクセル受信機１０１２は、感光性ピクセルアレイを含み得る。ピクセル受信機１０１２に到達する光の量は、シャッタとしての機能を果たす電子スイッチを開閉することによって、制御回路１００２によって制御され得る。
【００９７】
図１０Ｃを参照すると、深度センサ１０５４Ｃが、前述のように、制御信号１０１４、１０１６およびデータ信号１０１８を介して、伝送機回路１００４および受信機回路１００６に通信可能に結合される制御回路１００２を有するように図示される。深度センサ１０５４Ｃは、受信機回路１００６が、複数のピクセル受信機１０１２の代わりに、グローバル受信機１０２２を含むという点で、前の実施形態と異なり得る。グローバル受信機１０２２は、制御信号１０１６に基づいて、給電または非給電状態にされ得、給電されると、同時にまたは順次、標的サンプリング点の全てから反射された信号を受信し得る。一例において、制御回路１００２は、走査経路１０２６に従って、グローバル受信機１０２２に反射された信号を標的サンプリング点から順次受信させ得る。
【００９８】
図１０Ｄを参照すると、深度センサ１０５４Ｄは、前述のように、制御信号１０１４、１０１６およびデータ信号１０１８を介して、伝送機回路１００４および受信機回路１００６に通信可能に結合される制御回路１００２を有するように図示される。深度センサ１０５４Ｄは、伝送機回路１００４が、ピクセル伝送機１００８の代わりに、グローバル伝送機１０２０を含み、受信機回路１００６が、ピクセル受信機１０１２の代わりに、グローバル受信機１０２２を含むという点で、前の実施形態と異なり得る。一例において、制御回路１００２は、グローバル伝送機１０２０に標的サンプリング点の全てを同時に照明させる一方、走査経路１０２６に従って、グローバル受信機１０２２に反射された信号を標的サンプリング点から順次受信させ得る。別の例において、制御回路１００２は、走査経路１０２４に従って、グローバル伝送機１０２０に標的サンプリング点を順次照明させる一方、グローバル受信機１０２２に反射された信号を標的サンプリング点の全てから同時に受信させ得る。別の例において、制御回路１００２は、走査経路１０２４に従って、グローバル伝送機１０２０に標的サンプリング点を順次照明させる一方、同時に、走査経路１０２６に従って、グローバル受信機１０２２に反射された信号を標的サンプリング点から順次受信させ得る。他の可能性も、想定される。
【００９９】
図１１は、本発明のいくつかの実施形態による、ニューラルネットワーク（例えば、深度マップニューラルネットワーク２５６）を訓練する方法１１００を図示する。方法１１００の１つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、１つ以上のステップは、方法１１００の実施中、省略され得る。方法１１００の１つ以上のステップは、プロセッサ２５２によって、または別のコンピューティングシステムによって実施され得る。
【０１００】
ステップ１１０２において、画像入力が、ネットワーク２５６に提供される。画像入力は、訓練場面のカメラ画像を含み得る。カメラ画像は、カメラを使用して、捕捉／生成され得る。カメラ画像は、他の可能性の中でもとりわけ、Ｈ×Ｗ×１の寸法を有するグレースケール画像またはＨ×Ｗ×３の寸法を有するＲＧＢ画像であり得る。
【０１０１】
ステップ１１０４において、深度入力が、ネットワーク２５６に提供される。深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づき得る。高密度深度マップは、高密度深度センサを使用して、捕捉／生成され得る。深度入力は、高密度深度マップに基づいて生成された疎深度マップと、複数のサンプリング点を示すサンプリングマスクとを含み得る。例えば、疎深度マップは、複数のサンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、距離マップをさらに含み得、距離マップは、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。複数のサンプリング点のサンプルの数およびサンプルの場所は、ランタイムモードにおいて使用されるための低密度深度センサの能力または設定に基づき得る。
【０１０２】
ステップ１１０６において、訓練場面の算出深度マップが、ネットワーク２５６を使用して生成される。算出深度マップは、ネットワーク２５６によって、画像入力および深度入力に基づいて生成され得る。いくつかの実施形態において、ステップ１１０６は、随意に、算出深度マップをネットワーク２５６から受信することおよび／またはネットワーク２５６に算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ１１０６は、算出深度マップと高密度深度マップとの間の誤差を生成することと、（随意に）誤差を使用して、算出深度マップを生成することとを含む。
【０１０３】
ステップ１１０８において、ネットワーク２５６が、算出深度マップと高密度深度マップとの間の誤差に基づいて修正される。他の可能性の中でもとりわけ、ネットワーク２５６は、誤差に基づいて自己補正し得るか、または、ネットワーク２５６は、外部プロセスによって修正され得る。
【０１０４】
図１２は、本発明のいくつかの実施形態による、ニューラルネットワーク（例えば、深度マップニューラルネットワーク２５６）を使用して深度マップを算出する方法１２００を図示する。方法１２００の１つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、１つ以上のステップは、方法１２００の実施中、省略され得る。方法１２００の１つ以上のステップは、プロセッサ２５２によって、または別のコンピューティングシステムによって実施され得る。
【０１０５】
ステップ１２０２において、ランタイム場面のカメラ画像が、カメラを使用して捕捉される。カメラ画像は、他の可能性の中でもとりわけ、Ｈ×Ｗ×１の寸法を有するグレースケール画像またはＨ×Ｗ×３の寸法を有するＲＧＢ画像であり得る。ランタイム場面のカメラ画像を捕捉するために使用されるカメラは、方法１１００を参照して説明されるように、訓練場面のカメラ画像を捕捉するために使用されるカメラと同じであることも、異なることもある。
【０１０６】
ステップ１２０４において、ランタイム場面の低密度深度マップが、低密度深度センサを使用して捕捉される。低密度深度マップは、複数のサンプリング点において非ゼロ深度値を含み得る。複数のサンプリング点のサンプルの数およびサンプルの場所は、低密度深度センサの能力または設定に基づき得る。いくつかの実施形態において、低密度深度マップは、複数のサンプリング点におけるランタイム場面の高密度深度マップのサンプリングされたバージョンと同等であり得るか、または、それに類似し得る。
【０１０７】
ステップ１２０６において、画像入力が、ネットワーク２５６に提供される。画像入力は、ステップ１２０２において捕捉されたランタイム場面のカメラ画像を含み得る。
【０１０８】
ステップ１２０８において、深度入力が、ネットワーク２５６に提供される。深度入力は、少なくとも部分的にステップ１２０４において捕捉されたランタイム場面の低密度深度マップに基づき得る。深度入力は、ランタイム場面の低密度深度マップに基づいて生成されたランタイム場面の疎深度マップを含み得る。例えば、ランタイム場面の疎深度マップは、複数のサンプリング点の各々に関して、ランタイム場面の疎深度マップをランタイム場面の低密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の疎深度マップを複数のサンプリング点の最近傍点におけるランタイム場面の低密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、ランタイム場面の低密度深度マップおよび／または複数のサンプリング点に基づいて生成されたランタイム場面の距離マップをさらに含み得る。例えば、ランタイム場面の距離マップは、複数のサンプリング点の各々に関して、ランタイム場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。
【０１０９】
ステップ１２１０において、ランタイム場面の算出深度マップが、ネットワーク２５６を使用して生成される。ランタイム場面の算出深度マップは、ネットワーク２５６によって、画像入力および深度入力に基づいて生成され得る。例えば、ネットワーク２５６は、入力として画像入力および深度入力を受信すると、ランタイム場面の算出深度マップを生成し得る。いくつかの実施形態において、ステップ１２１０は、随意に、ランタイム場面の算出深度マップをネットワーク２５６から受信することおよび／またはネットワーク２５６にランタイム場面の算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ１２１０は、誤差を生成することと、誤差を使用して、ランタイム場面の算出深度マップを生成することとを含む。
【０１１０】
図１３は、本発明のいくつかの実施形態による、ニューラルネットワーク（例えば、サンプリングマスクニューラルネットワーク２７２）を訓練する方法１３００を図示する。方法１３００の１つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、１つ以上のステップは、方法１３００の実施中、省略され得る。方法１３００の１つ以上のステップは、プロセッサ２５２によって、または別のコンピューティングシステムによって実施され得る。
【０１１１】
ステップ１３０２において、複数の標的サンプリング点を備えているサンプリングマスクが、ネットワーク２７２によって生成される。サンプリングマスクは、ネットワーク２７２によって、訓練場面のカメラ画像に基づいて生成され得る。複数の標的サンプリング点は、訓練場面の深度測定値が捕捉されるべき場所に対応し得る。カメラ画像は、カメラを使用して、捕捉／生成され得る。いくつかの実施形態において、ステップ１３０２は、随意に、サンプリングマスクをネットワーク２７２から受信することおよび／またはネットワーク２７２にサンプリングマスクを生成させることを含む。
【０１１２】
ステップ１３０４において、画像入力が、ネットワーク２５６に提供される。画像入力は、カメラ画像を含み得る。
【０１１３】
ステップ１３０６において、深度入力が、ネットワーク２５６に提供される。深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づき得る。高密度深度マップは、高密度深度センサを使用して、捕捉／生成され得る。深度入力は、高密度深度マップとサンプリングマスクの複数の標的サンプリング点とに基づいて生成された疎深度マップを含み得る。例えば、疎深度マップは、複数の標的サンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数の標的サンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、距離マップをさらに含み、距離マップは、複数の標的サンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数の標的サンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。
【０１１４】
ステップ１３０８において、訓練場面の算出深度マップが、ネットワーク２５６を使用して生成される。算出深度マップは、ネットワーク２５６によって、画像入力および深度入力に基づいて生成され得る。いくつかの実施形態において、ステップ１３０８は、随意に、算出深度マップをネットワーク２５６から受信することおよび／またはネットワーク２５６に算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ１３０８は、算出深度マップと高密度深度マップとの間の誤差を生成することと、（随意に）誤差を使用して、算出深度マップを生成することとを含む。
【０１１５】
ステップ１３１０において、ネットワーク２７２が、算出深度マップと高密度深度マップとの間の誤差に基づいて修正される。ネットワーク２７２は、誤差に基づいて自己補正し得るか、または、ネットワーク２７２は、他の可能性の中でもとりわけ、外部プロセスによって修正され得る。
【０１１６】
図１４は、本発明のいくつかの実施形態による、深度マップを算出する方法１４００を図示する。方法１４００の１つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、１つ以上のステップは、方法１４００の実施中、省略され得る。方法１４００の１つ以上のステップは、プロセッサ２５２によって、または別のコンピューティングシステムによって実施され得る。
【０１１７】
ステップ１４０２において、ランタイム場面のカメラ画像が、カメラを使用して捕捉される。カメラ画像は、他の可能性の中でもとりわけ、Ｈ×Ｗ×１の寸法を有するグレースケール画像またはＨ×Ｗ×３の寸法を有するＲＧＢ画像であり得る。ランタイム場面のカメラ画像を捕捉するために使用されるカメラは、方法１３００を参照して説明されるように、訓練場面のカメラ画像を捕捉するために使用されるカメラと同じであることも、異なることもある。
【０１１８】
ステップ１４０４において、ランタイム場面のカメラ画像が、複数の標的サンプリング点を決定するために分析される。複数の標的サンプリング点は、ランタイム場面の深度測定値が捕捉されるべき場所に対応し得る。いくつかの実施形態において、ステップ１４０４は、カメラ画像内の１つ以上の着目点を検出することと、１つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む。いくつかの実施形態において、ステップ１４０４は、ニューラルネットワーク（例えば、サンプリングマスクニューラルネットワーク２７２）を使用して、複数の標的サンプリング点を決定することを含む。例えば、ネットワーク２７２は、入力としてカメラ画像を受信すると、複数の標的サンプリング点を生成するように訓練され得る。
【０１１９】
ステップ１４０６において、低密度深度センサに関連付けられた設定が、複数の標的サンプリング点に基づいて調節される。低密度深度センサに関連付けられた設定は、深度センサにフィードする制御信号、深度センサによって実行されるコード、深度センサの動作を統制する１つ以上の変数等であり得る。いくつかの実施形態において、ステップ１４０６（および／またはステップ１４０８）は、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機のサブセットが給電され、複数の標的サンプリング点から反射された信号を受信するようにすることとを含む。いくつかの実施形態において、ステップ１４０６（および／またはステップ１４０８）は、低密度深度センサの伝送機に信号を複数の標的サンプリング点に順次伝送させることと、低密度深度センサの受信機に複数の標的サンプリング点から反射された信号を受信させることとを含む。
【０１２０】
ステップ１４０８において、ランタイム場面の低密度深度マップが、低密度深度センサを使用して、複数の標的サンプリング点において捕捉される。低密度深度マップは、複数の標的サンプリング点において非ゼロ深度値を含み得る。いくつかの実施形態において、低密度深度マップは、複数の標的サンプリング点におけるランタイム場面の高密度深度マップのサンプリングされたバージョンと同等であり得るか、または、それに類似し得る。
【０１２１】
ステップ１４１０において、ランタイム場面の算出深度マップが、カメラ画像および低密度深度マップに基づいて生成される。いくつかの実施形態において、ランタイム場面の算出深度マップは、ニューラルネットワーク（例えば、深度マップニューラルネットワーク２５６）によって、画像入力および深度入力に基づいて生成される。画像入力は、カメラ画像を含み得、深度入力は、複数の標的サンプリング点および／または低密度深度マップを含み得るか、および／または、それに基づき得る。いくつかの例において、ネットワーク２５６は、入力として画像入力および深度入力を受信すると、ランタイム場面の算出深度マップを生成し得る。いくつかの実施形態において、ステップ１４１０は、随意に、ランタイム場面の算出深度マップをネットワーク２５６から受信することおよび／またはネットワーク２５６にランタイム場面の算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ１４１０は、誤差を生成することと、誤差を使用して、ランタイム場面の算出深度マップを生成することとを含む。
【０１２２】
図１５は、本明細書に説明される実施形態による、簡略化されたコンピュータシステム１５００を図示する。図１５に図示されるようなコンピュータシステム１５００は、本明細書に説明されるようなＡＲデバイス２００等のデバイスの中に組み込まれ得る。図１５は、種々の実施形態によって提供される方法のステップの一部または全部を実施し得るコンピュータシステム１５００の一実施形態の概略化された例証を提供する。図１５は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用され得ることに留意されたい。図１５は、したがって、広義に、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
【０１２３】
コンピュータシステム１５００は、バス１５０５を介して電気的に結合されることができるか、または必要に応じて別様に通信し得るハードウェア要素を備えているように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ等の１つ以上の汎用プロセッサおよび／または１つ以上の特殊目的プロセッサを含む１つ以上のプロセッサ１５１０と、限定ではないが、マウス、キーボード、カメラ等を含むことができる１つ以上の入力デバイス１５１５と、限定ではないが、ディスプレイデバイス、プリンタ等を含むことができる１つ以上の出力デバイス１５２０とを含み得る。
【０１２４】
コンピュータシステム１５００は、限定ではないが、ローカルおよび／またはネットワークアクセス可能記憶装置を備えていることができ、および／または、限定ではないが、プログラム可能であるフラッシュ更新可能である等であることができるディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ（「ＲＡＭ」）等のソリッドステート記憶デバイス、および／または読み取り専用メモリ（「ＲＯＭ」）を含むことができる１つ以上の非一過性記憶デバイス１５２５をさらに含み、および／または、それと通信し得る。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造等を含む任意の適切なデータ記憶を実装するように構成され得る。
【０１２５】
コンピュータシステム１５００は、限定ではないが、Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス、８０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラー通信設備等のモデム、ネットワークカード（無線または有線）、赤外線通信デバイス、無線通信デバイス、および／またはチップセットを含むことができる通信サブシステム１５３０も含み得る。通信サブシステム１５３０は、１つ以上の入力および／または出力通信インターフェースを含み、データが、一例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および／または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にし得る。所望の機能性および／または他の実装配慮に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム１５３０を介して、画像および／または他の情報を通信し得る。他の実施形態において、ポータブル電子デバイス、例えば、第１の電子デバイスは、コンピュータシステム１５００、例えば、電子デバイスの中に入力デバイス１５１５として組み込まれ得る。いくつかの実施形態において、コンピュータシステム１５００は、作業メモリ１５３５を備え、それは、上で説明されるようなＲＡＭまたはＲＯＭデバイスをさらに含むであろう。
【０１２６】
コンピュータシステム１５００は、作業メモリ１５３５内に現在位置するものとして示されるソフトウェア要素も含むことができ、ソフトウェア要素は、オペレーティングシステム１５４０、デバイスドライバ、実行可能ライブラリ、および／または、１つ以上のアプリケーションプログラム１５４５等の他のコードを含み、１つ以上のアプリケーションプログラム１５４５は、種々の実施形態によって提供されるコンピュータプログラムを備え得、および／または、方法を実装し、および／または、本明細書に説明されるような他の実施形態によって提供されるシステムを構成するように設計され得る。単に、一例として、上で議論される方法に関して説明される１つ以上のプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび／または命令として実装され得、ある側面において、次いで、そのようなコードおよび／または命令は、説明される方法に従って１つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および／または適合するために使用されることができる。
【０１２７】
これらの命令および／またはコードの組は、上で説明される記憶デバイス１５２５等の非一過性コンピュータ読み取り可能な記憶媒体上に記憶され得る。ある場合に、記憶媒体は、コンピュータシステム１５００等のコンピュータシステム内に組み込まれ得る。他の実施形態において、記憶媒体は、コンピュータシステムと別個であり、例えば、コンパクトディスク等の取り外し可能媒体であり、および／または、インストールパッケージ内に提供され得、それによって、記憶媒体は、記憶される命令／コードを用いて汎用コンピュータをプログラム、構成、および／または、適合するために使用され得る。これらの命令は、コンピュータシステム１５００によって実行可能である実行可能コードの形態をとり得、および／または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用したコンピュータシステム１５００上へのコンパイルおよび／またはインストールに応じて、次いで、実行可能コードの形態をとるソース、および／または、インストール可能コードの形態をとり得る。
【０１２８】
実質的な変形例が、具体的要件に従って構成され得ることが、当業者に明白であろう。例えば、カスタマイズされたハードウェアも、使用され得、および／または、特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含むソフトウェア、または両方において実装され得る。さらに、ネットワーク入力／出力デバイス等の他のコンピューティングデバイスへの接続も、採用され得る。
【０１２９】
上で述べられたように、一側面において、いくつかの実施形態は、コンピュータシステム１５００等のコンピュータシステムを採用し、技術の種々の実施形態による方法を実施し得る。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ１５１０が、オペレーティングシステム１５４０の中に組み込まれ得る１つ以上の命令の１つ以上のシーケンスおよび／または作業メモリ１５３５内に含まれるアプリケーションプログラム１５４５等の他のコードを実行することに応答して、コンピュータシステム１５００によって実施される。そのような命令は、記憶デバイス１５２５のうちの１つ以上のもの等の別のコンピュータ読み取り可能な媒体から作業メモリ１５３５の中に読み取られ得る。単に、一例として、作業メモリ１５３５内に含まれる一連の命令の実行は、プロセッサ１５１０に、本明細書に説明される方法の１つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行され得る。
【０１３０】
用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書で使用されるとき、機械を特定の方式で動作させるデータを提供することに関わる任意の媒体を指す。コンピュータシステム１５００を使用して実装されるある実施形態において、種々のコンピュータ読み取り可能な媒体は、実行のための命令／コードをプロセッサ１５１０に提供することに関わり得、および／または、そのような命令／コードを記憶および／または搬送するために使用され得る。多くの実装において、コンピュータ読み取り可能な媒体は、物理的および／または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとり得る。不揮発性媒体は、例えば、記憶デバイス１５２５等の光学および／または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ１５３５等の動的メモリを含む。
【０１３１】
一般的形態の物理的および／または有形コンピュータ読み取り可能な媒体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ（登録商標）−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および／またはコードを読み取ることができる任意の他の媒体を含む。
【０１３２】
種々の形態のコンピュータ読み取り可能な媒体が、実行のための１つ以上の一連の１つ以上の命令をプロセッサ１５１０に搬送することに関わり得る。単に、一例として、命令は、、遠隔コンピュータの磁気ディスクおよび／または光学ディスク上で最初に搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム１５００によって受信および／または実行される伝送媒体を経由して、命令を信号として送信し得る。
【０１３３】
通信サブシステム１５３０および／またはそのコンポーネントは、概して、信号を受信し、バス１５０５が、次いで、信号および／または信号によって搬送されるデータ、命令等を作業メモリ１５３５に搬送し得、それから、プロセッサ１５１０が、命令を読み出し、実行する。作業メモリ１５３５によって受信された命令は、随意に、プロセッサ１５１０による実行前または後のいずれかにおいて、非一過性記憶デバイス１５２５上に記憶され得る。
【０１３４】
上で議論される方法、システム、およびデバイスは、例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加し得る。例えば、代替構成において、方法は、説明されるものと異なる順序で実施され得るか、および／または、種々の段階は、追加され得、省略され得、および／または組み合わせられ得る。ある構成に関して説明される特徴も、種々の他の構成において組み合わせられ得る。構成の異なる側面および要素は、類似様式で組み合わせられ得る。技術は、進歩するものであり、したがって、要素の多くも、例であり、本開示の範囲または請求項を限定するものではない。
【０１３５】
具体的詳細が、実装を含む例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践され得る。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、利用可能性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装する有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われ得る。
【０１３６】
構成は、概略フローチャートまたはブロック図として描写されるプロセスとしても説明され得る。各々が、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施され得る。加えて、動作の順序は、再配列され得る。プロセスは、図内に含まれない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ読み取り可能な媒体内に記憶され得る。プロセッサは、説明されるタスクを実施し得る。
【０１３７】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用され得る。例えば、前述の要素は、より大きいシステムのコンポーネントであり得、他のルールが、本技術の用途に優先する、または別様にそれを修正し得る。いくつかのステップは、前述の要素が検討される前、間、または後にも行われ得る。故に、前述の説明は、請求項の範囲を束縛するものではない。
【０１３８】
本明細書および添付の請求項で使用されるように、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、１つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
【０１３９】
さらに、単語「ｃｏｍｐｒｉｓｅ（〜を備えている）」、「ｃｏｍｐｒｉｓｉｎｇ（〜を備えている）」、「ｃｏｎｔａｉｎｓ（〜を含む）」、「ｃｏｎｔａｉｎｉｎｇ（〜を含む）」、「ｉｎｃｌｕｄｅ（〜を含む）」、「ｉｎｃｌｕｄｉｎｇ（〜を含む）」、および「ｉｎｃｌｕｄｅｓ（〜を含む）」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、１つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
【０１４０】
本明細書に説明される実施例および実施形態が例証目的のみのためのものであり、それに照らして、種々の修正または変更が当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることも理解されたい。
【図１】
2021517685.tif 000031
【図２】
2021517685.tif 000032
【図３】
2021517685.tif 000033
【図４】
2021517685.tif 000034
【図５Ａ】
2021517685.tif 000035
【図５Ｂ】
2021517685.tif 000036
【図５Ｃ】
2021517685.tif 000037
【図６Ａ】
2021517685.tif 000038
【図６Ｂ】
2021517685.tif 000039
【図７】
2021517685.tif 000040
【図８】
2021517685.tif 000041
【図９】
2021517685.tif 000042
【図１０Ａ】
2021517685.tif 000043
【図１０Ｂ】
2021517685.tif 000044
【図１０Ｃ】
2021517685.tif 000045
【図１０Ｄ】
2021517685.tif 000046
【図１１】
2021517685.tif 000047
【図１２】
2021517685.tif 000048
【図１３】
2021517685.tif 000049
【図１４】
2021517685.tif 000050
【図１５】
2021517685.tif 000051
【国際調査報告】
2021517685.tif 000052