(57)【特許請求の範囲】
【請求項１】
システムであって、
非一過性メモリであって、
部屋のレイアウトの推定のための部屋画像と、
部屋のレイアウトを推定するためのニューラルネットワークであって、前記ニューラルネットワークは、
入力としてデジタル部屋画像を受信するように構成されるエンコーダ−デコーダサブネットワークであって、前記エンコーダ−デコーダサブネットワークは、エンコーダとデコーダとを備える、エンコーダ−デコーダサブネットワークと、
前記エンコーダ−デコーダサブネットワークと通信する分類子サブネットワークであって、前記分類子サブネットワークは、前記部屋画像と関連付けられた部屋タイプを分類するように構成されている、分類子サブネットワークと
を備える、ニューラルネットワークと
を記憶するように構成される、非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記部屋画像にアクセスすることと、
前記エンコーダ、デコーダ、および前記部屋画像を使用して、複数の部屋タイプに対応する複数の予測される２次元（２Ｄ）特徴点マップを決定することと、
前記エンコーダ、前記分類子サブネットワーク、および前記部屋画像を使用して、予測される部屋タイプを前記複数の部屋タイプから決定することと、
前記複数の予測される２Ｄ特徴点マップおよび前記予測される部屋タイプを使用して、前記予測される部屋タイプと関連付けられた複数の順序付けられた特徴点を決定することと、
前記複数の順序付けられた特徴点を使用して、前記部屋画像内の部屋の予測されるレイアウトを決定することと
を行うようにプログラムされている、ハードウェアプロセッサと
を備える、システム。
【請求項２】
前記複数の部屋タイプ内の各部屋タイプは、部屋タイプ特徴点の順序付けられたセットを含む、請求項１に記載のシステム。
【請求項３】
前記部屋画像は、単眼画像を含む、請求項１に記載のシステム。
【請求項４】
前記部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、請求項１に記載のシステム。
【請求項５】
前記部屋画像の次元は、前記予測される２Ｄ特徴点マップの次元より大きい、請求項１に記載のシステム。
【請求項６】
前記エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のプーリング層を含むエンコーダサブネットワークを備える、請求項１に記載のシステム。
【請求項７】
前記エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のアップサンプリング層を含むデコーダサブネットワークを備える、請求項１に記載のシステム。
【請求項８】
前記エンコーダ−デコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークを備える、請求項１に記載のシステム。
【請求項９】
前記エンコーダ−デコーダサブネットワークは、複数の再帰層を備える、請求項１に記載のシステム。
【請求項１０】
前記予測される２次元（２Ｄ）特徴点マップは、ヒートマップを含む、請求項１に記載のシステム。
【請求項１１】
前記ハードウェアプロセッサは、
前記部屋画像を分析するオブジェクト認識装置からオブジェクト情報にアクセスすることと、
前記オブジェクト情報と前記部屋の予測されるレイアウトを組み合わせることと
を行うようにプログラムされている、請求項１に記載のシステム。
【請求項１２】
ウェアラブルディスプレイデバイスであって、
部屋のレイアウトの推定のための前記部屋画像を捕捉するように構成される、外向きに面した結像システムと、
請求項１に記載のシステムと
を備える、ウェアラブルディスプレイデバイス。
【請求項１３】
システムであって、
ニューラルネットワークのためのパラメータを記憶するように構成される非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
訓練用部屋画像を受信することであって、前記訓練用部屋画像は、
複数の部屋タイプからの基準部屋タイプと、
基準部屋レイアウトと関連付けられた基準特徴点と
と関連付けられている、ことと、
部屋のレイアウト推定のためのニューラルネットワークを生成することであって、前記ニューラルネットワークは、
入力として前記訓練用部屋画像を受信し、前記複数の部屋タイプのそれぞれと関連付けられた予測される部屋のレイアウトと関連付けられた予測される２次元（２Ｄ）特徴点を出力するように構成される、エンコーダ−デコーダサブネットワークであって、前記エンコーダ−デコーダサブネットワークは、エンコーダとデコーダとを備える、エンコーダ−デコーダサブネットワークと、
予測される部屋タイプを前記複数の部屋タイプから出力するように構成される、前記エンコーダ−デコーダサブネットワークと通信する、サイドサブネットワークであって、前記予測される部屋タイプは、少なくとも部分的に前記エンコーダおよびサイドサブネットワークによって決定される、サイドサブネットワークと
を備えている、ことと、
前記予測される２Ｄ特徴点に関する第１の損失および前記予測される部屋タイプに関する第２の損失に基づいて、損失関数を最適化することと、
前記最適化された損失関数に基づいて、前記ニューラルネットワークのパラメータを更新することと
を行うようにプログラムされている、ハードウェアプロセッサと
を備える、システム。
【請求項１４】
前記複数の部屋タイプの数は、５を上回る、請求項１３に記載のシステム。
【請求項１５】
前記基準特徴点および前記予測される２Ｄ特徴点は、特徴点順序と関連付けられる、請求項１３に記載のシステム。
【請求項１６】
第１の特徴点順序は、前記複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、前記複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、前記第１の特徴点順序および前記第２の特徴点順序は、異なる、請求項１３に記載のシステム。
【請求項１７】
前記訓練用部屋画像は、単眼画像を含む、請求項１３に記載のシステム。
【請求項１８】
前記訓練用部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、請求項１３に記載のシステム。
【請求項１９】
前記訓練用部屋画像の次元は、前記予測される２Ｄ特徴点と関連付けられたマップの次元より大きい、請求項１３に記載のシステム。
【請求項２０】
前記サイドサブネットワークは、部屋タイプ分類子を含む、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１７年３月１７日に出願され“ＲＯＯＭ  ＬＡＹＯＵＴ  ＥＳＴＩＭＡＴＩＯＮ  ＭＥＴＨＯＤＳ  ＡＮＤ  ＴＥＣＨＮＩＱＵＥＳ”と題された米国特許出願第６２／４７３，２５７号に対する優先権の利益を主張するものであり、該米国特許出願は、その全体が参照により本明細書中に援用される。
【０００２】
本開示は、概して、自動化された画像分析を使用して、部屋のレイアウトを推定するためのシステムおよび方法に関し、より具体的には、部屋のレイアウトを決定するための深層機械学習システム（例えば、畳み込みニューラルネットワーク）に関する。
【背景技術】
【０００３】
深層ニューラルネットワーク（ＤＮＮ）は、計算機械学習方法である。ＤＮＮは、人工ニューラルネットワーク（ＮＮ）のクラスに属する。ＮＮを用いることで、計算グラフが、構築され、これは、生物学的ニューラルネットワークの特徴を模倣するものである。生物学的ニューラルネットワークは、計算に特化し、そうでなければ、他の方法を通して捕捉することが困難であり得る、生物学系の能力の多くに関与する、特徴を含む。いくつかの実装では、そのようなネットワークは、接続が一方向性である、シーケンシャル層化構造に配列される。例えば、特定の層の人工ニューロンの出力は、後続層の人工ニューロンの入力に接続されることができる。ＤＮＮは、多数の層（例えば、１０、１００、またはそれを上回る層）を伴う、ＮＮであることができる。
【０００４】
異なるＮＮは、異なる視点において相互に異なる。例えば、異なるＮＮのトポロジまたはアーキテクチャ（例えば、層の数および層が相互接続される方法）および加重は、異なり得る。加重は、生物学系内のニューラル接続のシナプス強度にほぼ類似し得る。加重は、１つの層から別の層に伝搬される効果の強度に影響を及ぼす。人工ニューロンの出力は、その入力の加重された和の非線形関数であることができる。ＮＮは、訓練データ上で訓練され、次いで、訓練されていないデータからの出力を決定するために使用されることができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
世界の３次元（３Ｄ）表現を画像から構築することは、コンピュータビジョンにおける重要な課題であって、拡張現実、ロボット、自律的ナビゲーション等への重要な応用を有する。本開示は、部屋の１つ以上の画像を分析することによって、部屋のレイアウトを推定するためのシステムおよび方法の実施例を提供する。レイアウトは、部屋内の床、１つ以上の壁、天井等の場所を含むことができる。
【０００６】
一側面では、ニューラルネットワークを備える、機械学習システムが、部屋のレイアウト推定のために使用される。種々の実施形態では、機械学習システムは、これらの種々の実施形態がニューラルネットワークを使用して部屋のレイアウトを決定するため、本明細書では、ＲｏｏｍＮｅｔという名称で称される。機械学習システムは、非一過性記憶装置を備える、ハードウェアコンピュータプロセッサによって実施されることができ、ローカルでまたは分散型（例えば、クラウド）コンピューティング環境内で実施されることができる。
【０００７】
本明細書に説明される部屋のレイアウトシステムおよび方法は、拡張および複合現実に適用可能である。例えば、拡張現実（ＡＲ）デバイスは、ＡＲデバイスの環境の画像を捕捉するように構成される、外向きに面した結像システムを含むことができる。ＡＲデバイスは、画像のＲｏｏｍＮｅｔ分析を実施し、ＡＲデバイスの装着者が位置する、部屋のレイアウトを決定することができる。ＡＲデバイスは、部屋のレイアウトを使用して、装着者の環境の３Ｄ表現（時として、世界マップとも称される）を構築することができる。
【０００８】
一側面では、ニューラルネットワークは、部屋の一部の画像を分析し、部屋のレイアウトを決定することができる。ニューラルネットワークは、エンコーダサブネットワークと、デコーダサブネットワークと、サイドサブネットワークとを有する、畳み込みニューラルネットワークを備えることができる。ニューラルネットワークは、部屋タイプと関連付けられた２次元の順序付けられた特徴点を使用して、３次元の部屋のレイアウトを決定することができる。部屋のレイアウトは、拡張または複合現実、ロボット、自律的屋内ナビゲーション等の用途において使用されることができる。
【０００９】
一側面では、ＲｏｏｍＮｅｔは、エンコーダサブネットワークと、エンコーダネットワークに接続される、デコーダサブネットワークと、エンコーダネットワークに接続される、サイドサブネットワークとを備える。部屋画像を受信後、複数の部屋タイプに対応する、複数の予測されるヒートマップが、ＲｏｏｍＮｅｔのエンコーダサブネットワークおよびデコーダサブネットワークを使用して、決定されることができる。複数の部屋タイプの予測される部屋タイプが、ＲｏｏｍＮｅｔのエンコーダサブネットワークおよびサイドサブネットワークおよび部屋画像を使用して、決定されることができる。複数の予測される特徴点場所における特徴点が、予測される部屋タイプに対応する予測されるヒートマップを使用して、決定されることができる。部屋画像内の予測される部屋のレイアウトが、予測される部屋タイプ、特徴点、および予測される部屋タイプと関連付けられた特徴点順序を使用して、決定されることができる。
【００１０】
別の側面では、システムが、部屋のレイアウト推定のためのニューラルネットワークを訓練するために使用される。訓練用部屋画像は、エンコーダサブネットワークと、エンコーダネットワークに接続される、デコーダサブネットワークと、エンコーダネットワークに接続される、サイドサブネットワークとを備え得る、ニューラルネットワークを訓練するために使用されることができる。訓練用部屋画像はそれぞれ、基準部屋タイプおよび訓練用部屋画像内の基準特徴点場所における基準特徴点と関連付けられることができる。ニューラルネットワークを訓練するステップは、エンコーダサブネットワークおよびデコーダサブネットワークおよび訓練用部屋画像を使用して、部屋タイプに対応する複数の予測されるヒートマップを決定するステップと、エンコーダサブネットワークおよびサイドサブネットワークおよび訓練用部屋画像を使用して、予測される部屋タイプを決定するステップとを含むことができる。ニューラルネットワークは、基準特徴点場所と予測されるヒートマップとの間の第１の差異と、基準部屋タイプと予測される部屋タイプとの間の第２の差異とに基づいて更新される、加重を含むことができる。
【００１１】
本明細書に説明される主題の１つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
例えば、本発明は以下の項目を提供する。
（項目１）
システムであって、
非一過性メモリであって、
部屋のレイアウトの推定のための部屋画像と、
部屋のレイアウトを推定するためのニューラルネットワークであって、前記ニューラルネットワークは、
エンコーダ−デコーダサブネットワークと、
前記エンコーダ−デコーダサブネットワークに接続される分類子サブネットワークと
を備える、ニューラルネットワークと
を記憶するように構成される、非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記部屋画像にアクセスすることと、
前記エンコーダ−デコーダサブネットワークおよび前記部屋画像を使用して、複数の部屋タイプに対応する複数の予測される２次元（２Ｄ）特徴点マップを決定することと、
前記エンコーダ−デコーダサブネットワーク、前記分類子サブネットワーク、および前記部屋画像を使用して、予測される部屋タイプを前記複数の部屋タイプから決定することと、
前記複数の予測される２Ｄ特徴点マップおよび前記予測される部屋タイプを使用して、前記予測される部屋タイプと関連付けられた複数の順序付けられた特徴点を決定することと、
前記複数の順序付けられた特徴点を使用して、前記部屋画像内の部屋の予測されるレイアウトを決定することと
を行うようにプログラムされている、ハードウェアプロセッサと
を備える、システム。
（項目２）
前記複数の部屋タイプ内の各部屋タイプは、部屋タイプ特徴点の順序付けられたセットを含む、項目１に記載のシステム。
（項目３）
前記複数の部屋タイプ内の各部屋タイプは、前記部屋タイプ内の領域に関する意味論セグメント化を含み、前記意味論セグメント化は、床、天井、または壁としての識別を含む、項目２に記載のシステム。
（項目４）
第１の特徴点順序は、前記複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、前記複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、前記第１の特徴点順序および前記第２の特徴点順序は、異なる、項目２に記載のシステム。
（項目５）
前記部屋画像は、単眼画像を含む、項目１に記載のシステム。
（項目６）
前記部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、項目１に記載のシステム。
（項目７）
前記部屋画像の次元は、前記予測される２Ｄ特徴点マップの次元より大きい、項目１に記載のシステム。
（項目８）
前記エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のプーリング層を含むエンコーダサブネットワークを備える、項目１に記載のシステム。
（項目９）
前記エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のアップサンプリング層を含むデコーダサブネットワークを備える、項目１に記載のシステム。
（項目１０）
前記エンコーダ−デコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークを備える、項目１に記載のシステム。
（項目１１）
前記エンコーダ−デコーダサブネットワークは、複数の再帰層を備える、項目１に記載のシステム。
（項目１２）
前記複数の再帰層の再帰反復数は、２である、項目１１に記載のシステム。
（項目１３）
前記複数の再帰層の再帰反復数は、少なくとも３である、項目１１に記載のシステム。
（項目１４）
前記複数の再帰層はそれぞれ、加重行列を有し、前記加重行列は、前記複数の再帰層の全てに関して同一である、項目１１−１３のいずれか１項に記載のシステム。
（項目１５）
前記予測される２次元（２Ｄ）特徴点マップは、ヒートマップを含む、項目１に記載のシステム。
（項目１６）
前記ハードウェアプロセッサは、前記ヒートマップからの特徴点場所を前記ヒートマップの最大値として抽出するようにプログラムされている、項目１５に記載のシステム。
（項目１７）
前記ハードウェアプロセッサは、
前記部屋画像を分析するオブジェクト認識装置からオブジェクト情報にアクセスすることと、
前記オブジェクト情報と前記部屋の予測されるレイアウトを組み合わせることと
を行うようにプログラムされている、項目１に記載のシステム。
（項目１８）
前記オブジェクト認識装置は、前記部屋画像内の直方体を検出するように構成される、項目１７に記載のシステム。
（項目１９）
ウェアラブルディスプレイデバイスであって、
前記部屋のレイアウトの推定のための部屋画像を捕捉するように構成される、外向きに面した結像システムと、
項目１に記載のシステムと
を備える、ウェアラブルディスプレイデバイス。
（項目２０）
システムであって、
ニューラルネットワークのためのパラメータを記憶するように構成される非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
訓練用部屋画像を受信することであって、前記訓練用部屋画像は、
複数の部屋タイプからの基準部屋タイプと、
部屋の基準レイアウトと関連付けられた基準特徴点と
と関連付けられている、ことと、
部屋のレイアウト推定のためのニューラルネットワークを生成することであって、前記ニューラルネットワークは、
前記複数の部屋タイプのそれぞれと関連付けられた予測される部屋のレイアウトと関連付けられた予測される２次元（２Ｄ）特徴点を出力するように構成されるエンコーダ−デコーダサブネットワークと、
予測される部屋タイプを前記複数の部屋タイプから出力するように構成される前記エンコーダ−デコーダネットワークに接続されるサイドサブネットワークと
を備えている、ことと、
前記予測される２Ｄ特徴点に関する第１の損失および前記予測される部屋タイプに関する第２の損失に基づいて、損失関数を最適化することと、
前記最適化された損失関数に基づいて、前記ニューラルネットワークのパラメータを更新することと
を行うようにプログラムされている、ハードウェアプロセッサと
を備える、システム。
（項目２１）
前記複数の部屋タイプの数は、５を上回る、項目２０に記載のシステム。
（項目２２）
前記基準特徴点および前記予測される２Ｄ特徴点は、特徴点順序と関連付けられる、項目２０に記載のシステム。
（項目２３）
第１の特徴点順序は、前記複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、前記複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、前記第１の特徴点順序および前記第２の特徴点順序は、異なる、項目２０に記載のシステム。
（項目２４）
前記訓練用部屋画像は、単眼画像を含む、項目２０に記載のシステム。
（項目２５）
前記訓練用部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、項目２０に記載のシステム。
（項目２６）
前記訓練用部屋画像の次元は、前記予測される２Ｄ特徴点と関連付けられたマップの次元より大きい、項目２０に記載のシステム。
（項目２７）
前記エンコーダサブネットワークおよび前記デコーダサブネットワークは、複数の再帰層を備える、項目２０に記載のシステム。
（項目２８）
前記再帰層の再帰反復数は、２または３である、項目２７に記載のシステム。
（項目２９）
深層監視が、前記再帰層に適用される、項目２７に記載のシステム。
（項目３０）
前記再帰層の反復の第１の再帰反復と関連付けられた加重は、前記再帰層の第２の再帰反復と関連付けられた加重と同じである、項目２７に記載のシステム。
（項目３１）
前記複数の再帰層は、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークとして構成される、項目２７に記載のシステム。
（項目３２）
前記サイドサブネットワークは、部屋タイプ分類子を含む、項目２０に記載のシステム。
（項目３３）
前記予測される２Ｄ特徴点に関する前記第１の損失は、複数の基準特徴点場所と前記予測される２Ｄ特徴点との間のユークリッド損失を含む、項目２０に記載のシステム。
（項目３４）
前記予測される部屋タイプに関する前記第２の損失は、クロスエントロピ損失を含む、項目２０に記載のシステム。
（項目３５）
前記予測される２Ｄ特徴点は、予測されるヒートマップから抽出される、項目２０に記載のシステム。
（項目３６）
ハードウェアプロセッサは、
前記訓練画像の基準特徴点と関連付けられた基準ヒートマップを計算することと、
前記予測されるヒートマップと前記基準ヒートマップとの間の差異に基づいて、前記予測される２Ｄ特徴点に関する前記第１の損失を計算することと
を行うようにプログラムされている、項目３５に記載のシステム。
（項目３７）
前記基準ヒートマップは、基準特徴点毎の場所を中心とする２次元分布を含む、項目３６に記載のシステム。
（項目３８）
前記基準ヒートマップは、前記基準特徴点から離れた背景と、前記基準特徴点と関連付けられた前景とを含み、前記ハードウェアプロセッサは、前記前景と前記背景との間の比率に基づいて、前記基準ヒートマップ内の勾配に加重するようにプログラムされている、項目３６に記載のシステム。
（項目３９）
前記基準ヒートマップ内の勾配に加重するために、前記ハードウェアプロセッサは、１未満の減少係数によって、前記背景内のピクセルの値を減少させるようにプログラムされている、項目３８に記載のシステム。
（項目４０）
ウェアラブルディスプレイシステムであって、
前記ウェアラブルディスプレイシステムの装着者の環境の部屋画像を取得するように構成される外向きに面した結像システムと、
前記部屋画像を記憶するように構成される非一過性メモリと、
前記非一過性メモリと通信するハードウェアプロセッサであって、前記プロセッサは、
前記環境の部屋画像にアクセスすることと、
前記部屋画像を分析し、前記部屋画像内の予測される部屋のレイアウトを決定することと
を行うようにプログラムされており、前記部屋画像を分析するために、前記プロセッサは、
ニューラルネットワークを使用して、前記部屋画像内の部屋に関する部屋タイプと関連付けられた２次元（２Ｄ）特徴点の順序付けられたセットを決定することと、
少なくとも部分的に、前記２Ｄ特徴点および前記部屋タイプに基づいて、前記部屋のレイアウトを提供することと
を行うようにプログラムされている、ハードウェアプロセッサと
を備える、ウェアラブルディスプレイシステム。
（項目４１）
前記ニューラルネットワークは、畳み込みエンコーダ−デコーダネットワークを備える、項目４０に記載のウェアラブルディスプレイシステム。
（項目４２）
前記畳み込みエンコーダ−デコーダネットワークは、メモリ増強再帰エンコーダ−デコーダネットワークを備える、項目４１に記載のウェアラブルディスプレイシステム。
（項目４３）
前記ニューラルネットワークは、前記部屋タイプを決定するように構成される分類子を含む、項目４０に記載のウェアラブルディスプレイシステム。
（項目４４）
前記ハードウェアプロセッサはさらに、前記２Ｄ特徴点の順序付けられたセットをヒートマップから抽出するようにプログラムされている、項目４０に記載のウェアラブルディスプレイシステム。
（項目４５）
前記ハードウェアプロセッサはさらに、
前記部屋画像を分析するオブジェクト認識装置からオブジェクト情報にアクセスすることと、
前記オブジェクト情報と前記部屋のレイアウトを組み合わせることと
を行うようにプログラムされている、項目４０に記載のウェアラブルディスプレイシステム。
【図面の簡単な説明】
【００１２】
【図１Ａ】図１Ａは、部屋のレイアウト推定のための例示的パイプラインである。
【００１３】
【図１Ｂ】図１Ｂは、ＲｏｏｍＮｅｔと称される本明細書に説明される機械学習アーキテクチャの実施形態を使用した、例示的部屋のレイアウト推定である。
【００１４】
【図１Ｃ】図１Ｃは、ＲｏｏｍＮｅｔを用いた、別の例示的部屋のレイアウト推定である。
【００１５】
【図２】図２は、部屋のレイアウトタイプの例示的定義を示す。タイプは、０から１０までインデックス化されることができる。各特徴点上の数字は、グラウンドトゥルース内に保存された点の具体的順序を定義する。所与の部屋タイプに関して、特徴点の順序付けは、そのつながりを規定することができる。
【００１６】
【図３】図３は、ＲｏｏｍＮｅｔの別の例示的アーキテクチャを描写する。
【００１７】
【図４Ａ】図４Ａは、３回の反復を用いた、再帰ニューラルネットワーク（ＲＮＮ）の展開バージョンの例示的例証を示す。
【００１８】
【図４Ｂ】図４Ｂは、ＲＮＮの挙動を模倣するが、静的入力のために設計される、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）アーキテクチャを用いた、例示的ＲｏｏｍＮｅｔを示す。
【００１９】
【図５】図５Ａ−５Ｄは、精緻化なし（上段）および精緻化あり（下段）別の単一画像（中段）からの例示的部屋のレイアウト特徴点推定を図示する、画像を示す。複数のチャネルからの特徴点ヒートマップが、可視化目的のために、単一２次元（２Ｄ）画像に示される。
【００２０】
【図６】図６Ａ−６Ｂは、経時的深層監視なし（図６Ａ）および経時的深層監視あり（図６Ｂ）別の例示的メモリ増強再帰エンコーダ−デコーダアーキテクチャを描写する。
【００２１】
【図７−１】図７Ａ−７Ｇは、例示的ＲｏｏｍＮｅｔ予測および対応するグラウンドトゥルースを大規模場面理解課題（ＬＳＵＮ）データセット上に示す、画像を含む。ＲｏｏｍＮｅｔが、その入力としてのＲＧＢ画像（各図中の第１の列）にアクセスし、例示的部屋のレイアウト特徴点ヒートマップ（各図中の第２の列）を生産した。最終特徴点は、ヒートマップからの最大応答を有する特徴点場所を抽出することによって取得された。各図中の第３および第４の列は、図２を参照して説明されるように取得された特徴点を具体的順序でつなげることによって生成された、例示的ボックス状の部屋のレイアウト表現を示す。各図中の第５および第６の列は、例示的グラウンドトゥルースを示す。
【図７−２】図７Ａ−７Ｇは、例示的ＲｏｏｍＮｅｔ予測および対応するグラウンドトゥルースを大規模場面理解課題（ＬＳＵＮ）データセット上に示す、画像を含む。ＲｏｏｍＮｅｔが、その入力としてのＲＧＢ画像（各図中の第１の列）にアクセスし、例示的部屋のレイアウト特徴点ヒートマップ（各図中の第２の列）を生産した。最終特徴点は、ヒートマップからの最大応答を有する特徴点場所を抽出することによって取得された。各図中の第３および第４の列は、図２を参照して説明されるように取得された特徴点を具体的順序でつなげることによって生成された、例示的ボックス状の部屋のレイアウト表現を示す。各図中の第５および第６の列は、例示的グラウンドトゥルースを示す。
【図７−３】図７Ａ−７Ｇは、例示的ＲｏｏｍＮｅｔ予測および対応するグラウンドトゥルースを大規模場面理解課題（ＬＳＵＮ）データセット上に示す、画像を含む。ＲｏｏｍＮｅｔが、その入力としてのＲＧＢ画像（各図中の第１の列）にアクセスし、例示的部屋のレイアウト特徴点ヒートマップ（各図中の第２の列）を生産した。最終特徴点は、ヒートマップからの最大応答を有する特徴点場所を抽出することによって取得された。各図中の第３および第４の列は、図２を参照して説明されるように取得された特徴点を具体的順序でつなげることによって生成された、例示的ボックス状の部屋のレイアウト表現を示す。各図中の第５および第６の列は、例示的グラウンドトゥルースを示す。
【００２２】
【図８−１】図８Ａ−８Ｄは、ＲｏｏｍＮｅｔの実施形態からの部屋のレイアウト予測が（人間による注釈が付けられた）グラウンドトゥルースレイアウトにあまり良好に合致しない、実施例を示す。各図中の第１の列は、例示的入力画像を示す。各図中の第２の列は、例示的予測される特徴点ヒートマップを示す。各図中の第３および第４の列は、取得される例示的ボックス状の表現を示す。第５および第６の列は、例示的グラウンドトゥルースを示す。
【図８−２】図８Ａ−８Ｄは、ＲｏｏｍＮｅｔの実施形態からの部屋のレイアウト予測が（人間による注釈が付けられた）グラウンドトゥルースレイアウトにあまり良好に合致しない、実施例を示す。各図中の第１の列は、例示的入力画像を示す。各図中の第２の列は、例示的予測される特徴点ヒートマップを示す。各図中の第３および第４の列は、取得される例示的ボックス状の表現を示す。第５および第６の列は、例示的グラウンドトゥルースを示す。
【００２３】
【図９】図９Ａ−９Ｆは、例示的エンコーダ−デコーダアーキテクチャ、すなわち、（図９Ａ）バニラエンコーダ−デコーダ、（図９Ｂ）スタックされたエンコーダ−デコーダ、（図９Ｃ）スキップコネクションを伴うスタックされたエンコーダ−デコーダ、（図９Ｄ）フィードバックを伴うエンコーダ−デコーダ、（図９Ｅ）メモリ増強再帰エンコーダ−デコーダ、および（図９Ｆ）フィードバックを伴うメモリ増強再帰エンコーダ−デコーダを描写する。
【００２４】
【図１０】図１０は、ＲｏｏｍＮｅｔを訓練する例示的プロセスのフロー図である。
【００２５】
【図１１】図１１は、部屋のレイアウト推定のためのＲｏｏｍＮｅｔを使用する例示的プロセスのフロー図である。
【００２６】
【図１２】図１２は、ＲｏｏｍＮｅｔの実施形態を実装し得る、ウェアラブルディスプレイシステムの実施例を図式的に図示する。
【００２７】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
【発明を実施するための形態】
【００２８】
（概要）
関数、アルゴリズム、システム、および同等物等のデータ関係およびパターンを表す、モデルは、入力を受け取り、何らかの方法において、入力に対応する出力を生産し得る。例えば、モデルは、畳み込みニューラルネットワーク（ＣＮＮ）または深層ニューラルネットワーク（ＤＮＮ）等の機械学習方法として実装されてもよい。深層学習は、タスク特有アルゴリズムとは対照的に、学習データ表現の概念に基づく、機械学習方法のより広義の系統の一部であって、拡張現実、複合現実、仮想現実、および機械知能に有用な視聴覚計算問題を解法する際、著しい有望性を示す。機械学習では、畳み込みニューラルネットワーク（ＣＮＮまたはＣｏｎｖＮｅｔ）は、深層フィードフォワード人工ニューラルネットワークのクラスを含むことができ、ＣＮＮは、視覚的画像の分析の適用に成功を収めている。機械学習方法は、眼画像セグメント化および眼追跡を含む、様々な問題に対するロバストかつ正確なソリューションを有効にし得る、方法の系統を含む。
【００２９】
本明細書に開示されるのは、ＲｏｏｍＮｅｔと呼ばれる、部屋のレイアウト推定のためのニューラルネットワークの実施例である。ＲｏｏｍＮｅｔは、部屋の少なくとも一部の画像を分析し、部屋のレイアウトを決定することができる。部屋のレイアウトは、部屋内の床、壁、または天井の場所の表現を含むことができる。画像は、例えば、単眼画像またはグレースケールまたはカラー（例えば、赤色−緑色−青色（ＲＧＢ））画像を含むことができる。画像は、ビデオからのフレームまたは複数のフレームであってもよい。他の技法は、部屋のレイアウト推定を２つのサブタスク、すなわち、レイアウト仮定を生産するための床、壁、および天井の意味論セグメント化と、これらの仮定をランク付けするためのその後の反復最適化ステップとに分割する。
【００３０】
これらのアプローチと対照的に、ＲｏｏｍＮｅｔは、部屋のレイアウト問題を部屋のレイアウト特徴点の順序付けられたセットの推定として公式化することができる。部屋のレイアウトおよび対応するセグメント化は、これらの順序付けられた特徴点の場所を前提として、完全に規定されることができる。ＲｏｏｍＮｅｔは、エンドツーエンド訓練可能エンコーダ−デコーダネットワークであることができる。ＲｏｏｍＮｅｔ機械学習アーキテクチャは、より良好な性能を有し得る（例えば、算出の量、正確度等の観点から）。いくつかの実施形態では、ＲｏｏｍＮｅｔは、再帰算出およびメモリユニットを含み、類似または同じパラメータ容量下、特徴点場所を精緻化する、アーキテクチャを有することができる。
【００３１】
立体視画像は、部屋のレイアウトに関する深度情報を提供することができる。単眼画像（深度情報を含まない）からの部屋のレイアウト推定は、困難である。屋内場面の２次元表現（２Ｄ）（例えば、ボックス状の表現）の輪郭を描くことを狙いとする、単眼画像からの部屋のレイアウト推定は、屋内ナビゲーション、場面再構築またはレンダリング、または拡張現実等の様々なコンピュータビジョンタスクのための用途を有する。図１Ａは、画像１０４を撮影し、ボトムアップ様式において、局所色、テクスチャ、および縁キュー等の画像特徴１０８を抽出後、消失点検出１１２が続く、従来の部屋のレイアウト技法を図示する。従来の方法は、構造化サポートベクトルマシン（ＳＶＭ）または条件付きランダムフィールド（ＣＲＦ）を用いて、特徴誤対応をクリーンアップし、部屋のレイアウト仮定１１６の大規模なセットを生成またはランク付けするために使用される、別個の後処理段階を含んでもよい。原理上、部屋のレイアウトの３Ｄ再構築は、これらの方法を使用して決定された２Ｄレイアウト１２０ａおよび消失点の知識を用いて、取得されることができる（例えば、縮尺を除いて）。しかしながら、実際は、これらの従来の方法は、複雑であって、最終レイアウト予測の正確度は、多くの場合、それ自体が、局所雑音、場面クラッタ、およびオクルージョンを被りやすい、主として、抽出された低レベル画像特徴の品質に依存する。有利には、本開示のＲｏｏｍＮｅｔの実施形態は、局所雑音、場面クラッタ、およびオクルージョンを被りにくくあり得る。さらに、ＲｏｏｍＮｅｔによって提供される部屋のレイアウト推定は、有利には、他の方法より良好な性能（例えば、２００倍または６００倍等の算出の量の観点から）を有し得る。
【００３２】
いくつかの実施形態では、ＲｏｏｍＮｅｔは、手動操作低レベル画像特徴抽出に取って代わる有益なエッジマップを生産する、深層ニューラルネットワーク、意味論セグメント化、完全畳み込みネットワーク（ＦＣＮ）モデル等の畳み込みニューラルネットワーク（ＣＮＮ）に基づいて、他の部屋のレイアウト推定方法より良好な性能を有し得る。そのようなＦＣＮによって生成された予測されるエッジマップは、次いで、レイアウト仮定生成およびランク付けのための消失線をサンプリングするために使用されることができる。例えば、ＦＣＮは、左壁、正面壁、右壁、天井、および地面等の意味論表面ラベルを学習するために使用されることができる。次いで、連結成分および孔充填技法が、ＦＣＮの未加工のピクセル毎予測を精緻化後、古典的消失点／ラインサンプリング方法が続き、部屋のレイアウトを生産するために使用されることができる。低レベル特徴の新しいセットを生成し、各フレームを処理するために３０秒またはそれを上回って要求し得る、そのような方法と対照的に、ＲｏｏｍＮｅｔは、より算出上効率的である、エンドツーエンド訓練可能ＣＮＮであることができる。
【００３３】
いくつかの実施形態では、ＲｏｏｍＮｅｔの予測は、最終レイアウトを生産するために高価であり得る、仮定試験段階によって後処理される必要はない。ＲｏｏｍＮｅｔは、トップダウンアプローチを使用して、部屋のレイアウト推定を実施し得、直接、部屋のレイアウト特徴点（例えば、角）と部屋タイプの両方を推測するように訓練されることができる。いったん部屋タイプが、推測または決定されると、順序付けられた特徴点の対応するセットが、位置特定または決定され、特徴点は、決定された部屋タイプに基づいて、具体的順序でつなげられ、２Ｄ空間の部屋のレイアウトを取得することができる。
【００３４】
ＲｏｏｍＮｅｔアーキテクチャは、図１Ｂおよび１Ｃに図示されるように、直接的かつ単純であり得る。下記にさらに説明されるであろうように、ＲｏｏｍＮｅｔ１２４は、入力画像１０４（例えば、３２０ピクセル×３２０ピクセルのサイズ）を撮影し、畳み込みエンコーダ−デコーダアーキテクチャを通して、画像を処理し、部屋のレイアウト特徴点１２８ｋ１−１２８ｋ６のセットを特定の部屋のレイアウトに対応する特徴点ヒートマップ１２８から抽出し、次いで、（随意に）取得された特徴点を具体的順序でつなげ、部屋のレイアウト１２０ｂを提供することができる。部屋のレイアウト１２０ｂは、例えば、床１３２、天井１３４、および壁１３６等の部屋内の垂直または水平表面の場所または配向を含むことができる。
【００３５】
随意に、部屋のレイアウトは、下記に説明されるように、回帰されることができる。部屋のレイアウト１２０ｂは、例えば、拡張現実または屋内自律的ナビゲーションまたは場面再構築またはレンダリングのために、世界マップ内で使用されることができる。随意に、部屋のレイアウトは、図面、建築用マップ等として出力されることができる。レイアウト表面の意味論セグメント化は、単に、本つながりの結果として取得可能であって、意味論的にセグメント化された部屋のレイアウト画像１３６として表されることができる。故に、ＲｏｏｍＮｅｔは、特徴点位置特定によって、部屋のレイアウト推定のタスクを実施する。いくつかの実施形態では、ＲｏｏｍＮｅｔは、ＣＮＮに基づく、エンコーダ−デコーダネットワークであることができる。ＲｏｏｍＮｅｔは、ジョイント特徴点回帰および部屋のレイアウトタイプ分類においてパラメータ上効率的かつ効果的であり得る。
（例示的特徴点ベースの部屋のレイアウト表現）
【００３６】
ＲｏｏｍＮｅｔの実施形態は、部屋のレイアウト推定において効果的であり得る。ＲｏｏｍＮｅｔは、エンドツーエンドで訓練可能であって、効率的に推測され得る、標的出力表現に基づくことができる。ＲｏｏｍＮｅｔは、幾何学的コンテキストまたは意味論クラス（例えば、床、壁、または天井等）を画像内の各ピクセルに割り当て、次いで、ピクセル毎ラベルに基づいて、部屋のレイアウト特徴点および境界を取得することに基づいて、方法を補完または補足することができる。レイアウト特徴点および境界を未加工ピクセル出力から導出するステップは、非自明であって、ＲｏｏｍＮｅｔの実施形態ほど効率的ではあり得ない。対照的に、ＲｏｏｍＮｅｔは、特徴点ベースとピクセルベースの両方の部屋のレイアウト表現が、高正確度を伴って効率的に取得され得るように、直接、順序付けられた部屋のレイアウトの特徴点場所のセットを出力する、モデルに基づくことができる。ＲｏｏｍＮｅｔは、他の方法によって使用されるピクセルベースの表現における曖昧性を低減または排除することができる。ＲｏｏｍＮｅｔの実施形態は、したがって、異なる表面識別（例えば、正面壁、側壁、床、天井）を区別することが可能である。例えば、ＲｏｏｍＮｅｔは、正面壁クラスと右壁クラスを正しく区別し、それによって、同一表面内の規則的な非混合ラベルを出力し得る。故に、ＲｏｏｍＮｅｔは、より良好な全体的部屋のレイアウト推定正確度および性能を有し得る。
【００３７】
いくつかの実装では、ＲｏｏｍＮｅｔは、図２に図示される特徴点ベースの部屋のレイアウト表現を使用して訓練されてもよい。図２は、例示的部屋タイプ０−１０  ２０４ｒｔ０−２０４ｒｔ１０のリストを示し、その個別の特徴点定義は、１、２、３、４、５、６、７、および／または８として標識される。各特徴点上の数字は、グラウンドトゥルース内に保存された点の具体的順序を定義する。これらの１１の部屋のレイアウトタイプは、画像内のオブジェクト、縁、角が、デカルトグリッド上に構築され、画像勾配統計における規則性につながる、典型的カメラ姿勢下の可能性として考えられる状況の大部分およびＭａｎｈａｔｔａｎの世界仮定下における一般的部屋のレイアウト表現を網羅することができる。種々の実施形態では、部屋タイプは、複数の多角形領域によって表され得、各領域は、例えば、床、天井、右壁、中央壁、左壁等に対応する。部屋タイプは、角の特徴点のセット、例えば、多角形領域の交点に対応する角によって編成されることができる。例えば、部屋タイプ２０４ｒｔ５では、左壁は、特徴点１、２、５、および４によって境界され、右壁特徴点は、特徴点１、３、６、および４によって境界され、床は、特徴点５、４、６によって境界され、天井は、特徴点２、１、３によって境界される。部屋タイプは、意味論的にセグメント化され、床、壁、および天井を識別することができる。
【００３８】
いったん訓練されると、ＲｏｏｍＮｅｔは、関連付けられた部屋タイプを伴う、正しい特徴点場所を予測し、これらの点は、次いで、具体的順序でつなげられ、ボックス状の部屋のレイアウト表現を生産することができる。例えば、部屋タイプ７  ２０４ｒｔ７は、ボックス状の部屋のレイアウト表現が、特徴点１  ２０８ｋ１と特徴点２  ２０８ｋ２および特徴点３  ２０８ｋ３と特徴点４  ２０８ｋ４をつなげることによって、構築されることができるように、４つの順序付けられた特徴点場所２０８ｋ１−２０８ｋ４を含む。１１の部屋のレイアウトは、８つの特徴点を伴う、１つの部屋のレイアウトタイプ２０４ｒｔ０と、６つの特徴点を伴う、３つの部屋のレイアウトタイプ２０４ｒｔ１、２０４ｒｔ２、および２０４ｒｔ５と、４つの特徴点を伴う、４つの部屋のレイアウトタイプ２０４ｒｔ３、２０４ｒｔ４、２０４ｒｔ６、および２０４ｒｔ７と、２つの特徴点を伴う、３つの部屋のレイアウトタイプ２０４ｒｔ８、２０４ｒｔ９、および２０４ｒｔ１０とを含む。同一数の特徴点を伴う、部屋のレイアウトは、同一特徴点のつながり（部屋のレイアウトタイプ３および４、２０４ｒｔ３および２０４ｒｔ４等）または異なる特徴点のつながり（部屋のレイアウトタイプ１および２、２０４ｒｔ３および２０４ｒｔ４等）を有することができる。１１の部屋のレイアウトタイプが、本実施例では使用されるが、異なる数の部屋のレイアウトタイプ（例えば、５、１０、１５、２０、またはそれを上回る）または図２に示されるものと異なる配列を有する部屋のレイアウトタイプも、他の実装では、使用されることができる。
（ＲｏｏｍＮｅｔの例示的アーキテクチャ）
【００３９】
本開示の部屋のレイアウト推定のためのニューラルネットワークは、２次元（２Ｄ）特徴点を使用して、部屋のレイアウト構造の輪郭を描く、畳み込みニューラルネットワーク（ＣＮＮ）を含むことができる。ＲｏｏｍＮｅｔへの入力は、単眼画像、例えば、単一赤色−緑色−青色（ＲＧＢ）画像またはビデオからのＲＧＢフレームであることができる。ＲｏｏｍＮｅｔの出力は、関連付けられた部屋タイプを伴う、具体的順序と関連付けられた２Ｄ特徴点のセットを含むことができる。
【００４０】
特徴点推定。いくつかの実施形態では、ＲｏｏｍＮｅｔは、屋根（または天井）、左壁、右壁、後壁、床等の部屋の表面の特徴点推定および意味論セグメント化のためのベースネットワークアーキテクチャを含むことができる。図３は、ＲｏｏｍＮｅｔ３００の例示的アーキテクチャを描写する。本例示的アーキテクチャでは、デコーダが、そのエンコーダから転送されたプーリングインデックスを使用して、その入力をアップサンプリングし、疎特徴マップを生産後、訓練可能フィルタバンクを伴ういくつかの畳み込み層が続き、特徴応答を稠密化する。最終デコーダ出力特徴点ヒートマップが、ユークリッド損失とともに、リグレッサにフィードされる。３つの全結合層を伴うサイドヘッドが、ボトルネック層にアタッチされ、部屋タイプクラスラベルを訓練および予測するために使用され、これは、次いで、特徴点ヒートマップの関連付けられたセットを選択するために使用される。再帰エンコーダ−デコーダ（中央の破線ブロック）を伴うＲｏｏｍＮｅｔの完全モデルは、図４Ｂおよび５を参照して説明されるように、特徴点精緻化をさらに実施する。
【００４１】
図３を継続して参照すると、ＲｏｏｍＮｅｔ３００は、エンコーダサブネットワーク３０４ａと、デコーダサブネットワーク３０４ｂとを含むことができる。エンコーダサブネットワーク３０４ａは、入力画像３０８をより低い分解能の特徴マップ３１２ａ−３１２ｅにマッピングすることができる。デコーダサブネットワーク３０４ｂは、ピクセル毎分類のために、低分解能のエンコードされた特徴マップ３１２ｅをより高い分解能のマップ３１６ａ−３１６ｂおよびヒートマップ３２０ｒ０−３２０ｒ１０（例えば、入力画像３０８と比較して、同一またはそれより低い分解能を伴う）にアップサンプリングすることができる。入力画像３０８、特徴マップ３１２ａ−３１２ｅ、３１６ａ−３１６ｂ、およびヒートマップ３２０ｒ０−３２０ｒ１０の次元は、図３に示されるＲｏｏｍＮｅｔ実施例３００において標識される。エンコーダサブネットワーク３０４ａは、複数の畳み込み層と、プーリング層３２４ａ−３２４ｅとを含むことができる。デコーダサブネットワーク３０４ｂは、複数の畳み込み層と、アップサンプリング層３２８ａ−３２８ｃとを含むことができる。いくつかの実施形態では、デコーダサブネットワーク３０４ｂは、対応するエンコーダサブネットワーク３０４ｂの最大プーリングステップまたは層内で算出されたプーリングインデックスを使用して、非線形アップサンプリングを実施することができる。例えば、特徴マップ３１２ｅを生成するために使用される、最大プーリング層の加重は、特徴マップ３１２ｅをアップサンプリングするために使用されることができる。別の実施例として、特徴マップ３１２ｃを生成するために使用される、最大プーリング層の加重は、特徴マップ３１６ａをアップサンプリングするために使用されることができる。プーリングインデックスは、アップサンプリングすることを学習する必要性を最小限にするかまたは排除することができる。アップサンプリングされたマップは、疎であり得、訓練可能フィルタを用いて畳み込まれ、稠密特徴マップ３１６ａ、３１６ｂを生産することができる。本エンコーダ−デコーダアーキテクチャは、部屋のレイアウト推定のための他の方法と比較して、それに匹敵する推定時間および効率的メモリ使用を伴う、良好な性能を提供することができる。ヒートマップ３２０ｒ０−３２０ｒ１０の数は、５、１０、１１、１５、またはそれを上回る等、定義された部屋タイプの数であることができる。図３は、各部屋タイプと関連付けられた特徴点の数を示す。例えば、部屋タイプ０３２０ｒ０は、８つの特徴点と関連付けられる。それぞれ８つの特徴点は、例えば、８つのヒートマップ３２０ｒ０のそれぞれにおける最高ピークとして識別されることができる。故に、ＲｏｏｍＮｅｔ３００によって出力されるヒートマップ３２０ｒ０−３２０ｒ１０の数は、異なる部屋タイプの特徴点の総数であることができる。図３に図示される実施例では、ヒートマップ３２０ｒ０−３２０ｒ１０の数は、４８である。
【００４２】
ＲｏｏｍＮｅｔ３００のベースアーキテクチャは、屋内場面の画像３０８を撮影し、直接、２Ｄ部屋のレイアウト特徴点のセットを出力し、部屋のレイアウト構造を復元することができる。各特徴点グラウンドトゥルースは、出力層内のチャネルのうちの１つとして真の特徴点場所を中心とする、２Ｄガウスヒートマップによって表されることができる。いくつかの実施形態では、単一２Ｄ画像内の特徴点ヒートマップ３２０ｒ０−３２０ｒ１０は、可視化のために、色分けされることができる。ＲｏｏｍＮｅｔ３００のエンコーダ−デコーダアーキテクチャは、ボトルネック層（例えば、畳み込みおよび最大プーリング層３２４ｅ）を通して情報フローを処理し、ボトルネック層に、部屋のレイアウトの２Ｄ構造をエンコードする特徴点間の関係を暗示的にモデル化させることができる。
【００４３】
いくつかの実施形態では、ＲｏｏｍＮｅｔ３００のデコーダサブネットワーク３０４ｂは、図３に示されるように完全分解能３２０ピクセル×３２０ピクセルの代わりに、空間次元１０×１０〜４０×４０を伴う特徴マップ３１２ｅをボトルネック層３２４ｅからアップサンプリングすることができる。入力画像３０８の次元と比較した４０ピクセル×４０ピクセルへの出力ヒートマップ３２０ｒ０−３２０ｒ１０の次元のそのような低減は、部屋のレイアウトを事実上すでにモデル化するための提案される２Ｄ特徴点ベースの表現を使用して、実験的に決定されることができる。いくつかの実施形態では、ヒートマップ３２０ｒ０−３２０ｒ１０の幅および高さは、３２０ピクセル×３２０ピクセル等、入力画像３０８のものと同一であることができる。異なる出力次元を伴う、ＲｏｏｍＮｅｔ３００の実施形態は、類似性能を有してもよい。本トリミングされたデコーダサブネットワーク３０４ｂの使用は、有利には、より高い分解能における畳み込みの高算出コストに起因して、訓練と試験の両方の間、メモリ使用または時間コストを低減させる（例えば、有意に低減させる）ことができる。
【００４４】
複数の部屋タイプへの拡張。ＲｏｏｍＮｅｔ３００のフレームワークまたはアーキテクチャは、１つの特定の部屋タイプに限定されない。ＲｏｏｍＮｅｔの実施形態は、クラスあたり１つのネットワークを訓練することなく、複数の部屋タイプに関して一般化されることができる。ＲｏｏｍＮｅｔ３００のそのような実施形態は、最初から効率的かつ高速であり得る。図３に図示されるＲｏｏｍＮｅｔ実施形態３００は、１回の順方向通過において、入力画像に対する関連付けられた部屋タイプに関する部屋のレイアウト特徴点を予測することができる。出力層３２８ｃ内のチャネルの数は、全ての定義された部屋タイプに関する特徴点の総数に合致することができる（例えば、図２に図示される１１の部屋タイプに関して合計４８の特徴点）。ＲｏｏｍＮｅｔ３００はまた、図３に示されるように、ボトルネック層３２４ｅ（例えば、通常、画像分類のために使用される層）に接続された層３３２ａ−３３２ｃ（例えば、全結合層）を伴う、サイドヘッドまたはサイドサブネットワーク３０４ｃを含み、部屋タイプ予測を予測することができる。サイドサブネットワークは、分類子ネットワークを備え、部屋画像内の部屋タイプを分類することができる。
【００４５】
訓練実施例または部屋画像は、（Ｉ，ｙ，ｔ）として示されることができ、ｙは、入力画像Ｉに関する部屋タイプｔを伴う、ｋ特徴点のグラウンドトゥルース座標のリストである。訓練段階では、損失関数Ｌは、予測される特徴点に関する第１の損失と、予測される部屋タイプに関する第２の損失とを含み得る。第１の損失は、ユークリッド損失であり得、これは、レイアウト特徴点ヒートマップ回帰のためのコスト関数として使用され得る。訓練の間、第２の損失は、クロスエントロピ損失（例えば、対数）であり得、これは、部屋タイプ予測のために使用され得る。特徴点ヒートマップリグレッサ
【化１】
0006929953.tif 000002
（例えば、デコーダサブネットワーク３０４ｂから出力される）および部屋タイプ分類子
【化２】
0006929953.tif 000003
（例えば、全結合サイドヘッド層３０４ｃから出力される）を前提として、方程式［１］に示される損失関数Ｌは、最適化される（例えば、低減または最小限にされる）ことができる。
【化３】
0006929953.tif 000004
式中、
【化４】
0006929953.tif 000005
は、特徴点ｋがグラウンドトゥルース部屋タイプｔ内に現れるかどうかを示し、
【化５】
0006929953.tif 000006
は、部屋タイプインデックスｃがグラウンドトゥルース部屋タイプｔと等しいかどうかを示し、関数Ｇは、ｙを中心とするガウス分布であって、加重項は、λである。例えば、加重項λ（例えば、５）は、クロス検証によって設定されることができる。損失関数における第１の項は、予測されるヒートマップ３２０ｒ０−３２０ｒ１０と特徴点毎に別個に合成されたグラウンドトゥルースヒートマップを比較する。特徴点ヒートマップ毎のグラウンドトゥルースは、あるピクセルの数（例えば、５ピクセル）の標準偏差を伴う、真の特徴点場所上を中心とする２Ｄガウス分布であることができる。損失関数における第２の項は、サイドヘッド３０４ｃ全結合層３３２ａ−３３２ｃに正しい部屋タイプクラスラベルに対する高信頼度値を生産するように促すことができる。
【００４６】
ＲｏｏｍＮｅｔ３００の１回の順方向通過は、全ての定義された部屋タイプ（例えば、図２では、１１）に関する２Ｄの部屋のレイアウト特徴点３２０ｒ０−３２０ｒ１０を生産することができる。２Ｄの部屋のレイアウト特徴点は、ヒートマップの形態であることができ、最終特徴点は、これらのヒートマップ内の最大値として抽出されることができる。いくつかの実施形態では、損失関数（例えば、方程式［１］に示される損失関数Ｌ）のみが、特徴点ｋが現在の入力画像Ｉ内のグラウンドトゥルース部屋タイプｔに関して存在する場合、予測される部屋タイプインデックスを効果的に使用して、ユークリッド回帰誤差にペナルティを課し、特徴点ヒートマップの対応するセットを選択し、リグレッサを更新する。同一方略は、予測される部屋タイプ（例えば、サイドネットワーク３０４ｃによって）が、最終出力における予測される特徴点ヒートマップを選択するために使用されるように、ＲｏｏｍＮｅｔ３００が訓練された後（例えば、試験段階において）も、適用されることができる。
【００４７】
特徴点精緻化のためのＲｏｏｍＮｅｔ拡張子。再帰ニューラルネットワーク（ＲＮＮ）およびその変形例である超短期メモリ（ＬＳＴＭ）は、シーケンシャルデータに対処するとき、効果的モデルであり得る。ＲｏｏｍＮｅｔ３００の実施形態は、入力画像３０８が静的であっても、再帰構造を組み込むことができる。例えば、ＲｏｏｍＮｅｔ３００は、再帰畳み込み層と、畳み込みＬＳＴＭ（ｃｏｎｖＬＳＴＭ）層とを含むことができる。いくつかの実施形態では、ＲｏｏｍＮｅｔ３００の再帰特徴は、再帰ニューラルネットワークとしての条件付きランダムフィールド（ＣＲＦ−ＲＮＮ）を伴う完全畳み込みネットワーク（ＦＣＮ）、反復誤差フィードバックネットワーク、再帰ＣＮＮ、スタックされたエンコーダ−デコーダ、および再帰エンコーダ−デコーダネットワーク等のモデルに類似することができる。静的入力をモデル化するときに時系列概念を組み込むステップは、コンテキスト情報を統合し、ある場合には、予測誤差を低減させる、ＲｏｏｍＮｅｔ３００の能力を有意に改良することができる。
【００４８】
ベースＲｏｏｍＮｅｔアーキテクチャは、中心エンコーダ−デコーダコンポーネント３３６（例えば、図３における中央破線ブロック参照）を再帰させることによって、拡張されることができる。例えば、ＲｏｏｍＮｅｔ３００は、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）構造４０４ｂ（図４Ｂ参照）を含み、予測される特徴点ヒートマップを繰り返し精緻化するために、人工的時間にわたって反復することによって、典型的再帰ニューラルネットワーク４０４ａ（図４Ａに示される実施例参照）の挙動を模倣することができる、すなわち、人工的時間ステップ（例えば、反復）は、再帰構造によって作成される。
【００４９】
本ＭＲＥＤ構造４０４ｂ内の各層３１２ｃ−３１２ｅ、３１６ａ−３１６ｂは、同一層ｌ内の時間ステップｔ−１における前の予測ｈｌ（ｔ−１）からの着信特徴マップと、前の層ｌ−１内の時間ステップｔにおける現在の入力ｈｌ−１（ｔ）とを用いて、畳み込み（＊記号として示される）、方程式［２］に示されるように、時間ステップｔにおける出力を生成する、異なる時間ステップ（例えば、反復）を通した同一加重行列を共有することができる。
【化６】
0006929953.tif 000007
式中、
【化７】
0006929953.tif 000008
および
【化８】
0006929953.tif 000009
は、層ｌに関する入力およびフィードフォワード加重であって、ｂｌは、層ｌに関するバイアスであって、σは、活性化関数、例えば、正規化線形ユニット（ＲｅＬＵ）活性化関数である。
【００５０】
図４Ｂは、再帰エンコーダ−デコーダ構造内の深度および時間を通した順方向伝搬および逆方向伝搬の間の情報フローの例示的全体的プロセスを実証する。メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）アーキテクチャ４０４ｂは、隠れユニット４０８ａ、４０８ｂを含み、現在の時間ステップにおける推定に役立つ、前の活性化を記憶する。提案されるＭＲＥＤ４０４ｂアーキテクチャを使用する非限定的例示的利点は、（１）隠れ／メモリユニット（例えば、再帰畳み込みエンコーダ−デコーダ構造では試みられていなかった）を通した特徴点間のコンテキストおよび構造知識の反復的利用、または（２）固定数のパラメータを用いてはるかに深いネットワークをもたらす、再帰エンコーダ−デコーダ内の畳み込み層の加重共有を含む。
【００５１】
精緻化後、特徴点のヒートマップは、図５Ａ−５Ｄの下段に示されるように、はるかに鮮明である。図５Ａ−５Ｄは、精緻化なし（上段、ヒートマップ５０８ａ−５０８ｄ）および精緻化あり（底段、ヒートマップ５１２ａ−５１２ｄ）別の単一画像（中央段、画像５０４ａ−５０４ｄ）からの例示的部屋のレイアウト特徴点推定を図示する、画像を示す。複数のチャネルからの特徴点ヒートマップが、可視化目的のために、単一２次元（２Ｄ）画像に示される。特徴点精緻化ステップは、より集中し、より鮮明なヒートマップを生産し、該当する場合、誤検出を除去する。改良が、ＭＲＥＤアーキテクチャ４０４ｂを伴うＲｏｏｍＮｅｔ３００の実施形態によって成された（図５Ｃ−５Ｄ参照）。
【００５２】
経時的深層監視。スタックされた、反復、または再帰畳み込み構造を適用すると、ネットワーク内の各層は、より多くの層または／および時間ステップを横断した勾配を受信し、訓練がはるかに困難である、モデルをもたらし得る。例えば、反復誤差フィードバックネットワークは、多段階訓練を要求し得、スタックされたエンコーダ−デコーダ構造は、バッチ正規化が使用されるときでも、各エンコーダ−デコーダの終了時に中間監視を使用し得る。ＲｏｏｍＮｅｔ３００を訓練するステップは、各時間ステップの終了時に監視を投入するステップを含むことができる。例えば、方程式［１］に示される損失関数等の同一損失関数Ｌ６０４が、全ての時間ステップに適用されることができる。図６Ｂにおける各時間ステップの終了時に投入される、３つの損失関数Ｌ１６０４ａ、Ｌ２６０４ｂ、およびＬ３６０４ｃは、同じまたは異なることができる。図６Ａ−６Ｂは、経時的深層監視なし（図６Ａ）および経時的深層監視あり（図６Ｂ）のメモリ増強再帰エンコーダ−デコーダアーキテクチャの実施例を描写する。深層監視は、ＲｏｏｍＮｅｔ３００の性能を経時的に改良することができる。
（例示的訓練）
【００５３】
データセット。ＲｏｏｍＮｅｔ３００の実施形態が、２つの難解なベンチマークデータセット、すなわち、Ｈｅｄａｕデータセットおよび大規模場面理解課題（ＬＳＵＮ）の部屋のレイアウトデータセット上で試験された。Ｈｅｄａｕデータセットは、ウェブおよびＬａｂｅｌＭｅから収集された２０９枚の訓練、５３枚の検証、および１０５枚の試験画像を含有する。ＬＳＵＮデータセットは、ＳＵＮデータベースからサンプリングされた４，０００枚の訓練、３９４枚の検証、および１，０００枚の試験画像から成る。全ての入力画像は、３２０×３２０ピクセルに再スケーリングされ、ＬＳＵＮ訓練セットのみ上で最初からＲｏｏｍＮｅｔ３００を訓練するために使用された。全ての実験結果は、ＬＳＵＮの部屋のレイアウト用課題ツールキットを使用して、オリジナル画像スケールで算出された。
【００５４】
実装詳細。ＲｏｏｍＮｅｔ３００への入力は、分解能３２０×３２０ピクセルのＲＧＢ画像であって、出力は、関連付けられた部屋タイプクラスラベルを伴う、分解能４０×４０の部屋のレイアウト特徴点ヒートマップであった。他の実装では、画像分解能またはヒートマップ分解能は、異なり得る。経時的逆方向伝搬（ＢＰＴＴ）アルゴリズムが、バッチサイズ２０の確率的勾配降下法（ＳＧＤ）、０．５ドロップアウトレート、０．９モーメンタム、および０．０００５加重減衰を用いて、モデルを訓練するために適用された。初期学習レートは、０．００００１であって、それぞれ、基準時点１５０および２００において、５分の１に減少した。全ての変形例が、２２５の総基準時点を用いて同一スキームを使用した。エンコーダおよびデコーダ加重は、初期化された。バッチ正規化および正規化線形ユニット（ＲｅＬＵ）活性化関数もまた、各畳み込み層後に使用され、訓練プロセスを改良した。入力画像の水平反転が、データ拡張として、訓練の間に使用された。いくつかの実施形態では、ＲｏｏｍＮｅｔ３００は、オープンソース深層学習フレームワークＣａｆｆｅ内に実装されることができる。
【００５５】
グラウンドトゥルース特徴点ヒートマップは、そのエリアの大部分に関してゼロ値（背景）を有し得、そのわずかな部分のみが、ガウス分布（実際の特徴点場所と関連付けられた前景）に対応する。ネットワークの出力は、したがって、前景と背景分布との間の不平衡に起因して、ゼロに収束する傾向にあり得る。いくつかの実施形態では、勾配は、特徴点ヒートマップ毎に、前景エリアと背景エリアとの間の比率に基づいて加重された。背景ピクセルの勾配は、それらを０．２の係数で乗算することによって減少され、これは、訓練を有意により安定させた。ある場合には、背景内のピクセルは、例えば、５ピクセルを上回る、閾値距離、例えば、グラウンドトゥルースヒートマップを生成するために使用されるガウス分布の標準偏差より特徴点から遠いピクセルを含む。
【００５６】
最初からの訓練は、ＲｏｏｍＮｅｔの一実施形態に関して、４  ＮＶＩＤＩＡ  Ｔｉｔａｎ  Ｘ  ＧＰＵ上で約４０時間かかった。完全モデルの１回の順方向推定（ＲｏｏｍＮｅｔ再帰３反復）は、単一ＧＰＵ上で８３ｍｓかかった。最終試験予測を生成するために、画像のオリジナル入力と反転バージョンの両方が、ネットワークを通して起動され、ヒートマップが、ともに平均された（特徴点誤差における０．１２％平均改良およびピクセル誤差における０．１５％平均改良を考慮して）。特徴点場所は、対応するヒートマップの最大活性化場所であるように選定された。
（例示的性能）
【００５７】
いくつかの実施形態では、部屋のレイアウト推定評価メトリックは、ピクセル誤差および特徴点誤差を含み得る。ピクセル誤差は、予測される表面ラベルとグラウンドトゥルースラベルとの間のピクセル毎誤差であり得る。特徴点誤差は、画像対角線長によって正規化される、予測される特徴点と注釈が付けられた特徴点場所との間の平均ユークリッド距離であり得る。
【００５８】
正確度。両データセット上でのＲｏｏｍＮｅｔ３００の性能が、表１および２に列挙される。以前の最良方法は、２ステップフレームワーク（別個の仮定ランク付けアプローチを伴う、ピクセル毎ＣＮＮベースのセグメント化）であった。本開示のＲｏｏｍＮｅｔ３００は、特徴点誤差およびピクセル誤差の両方に関して、有意に改良し、以前の結果より優れており、最先端の性能を達成することができる。サイドヘッド部屋タイプ分類子は、ＬＳＵＮデータセット上で８１．５％の正確度を取得した。
【表１−１】
0006929953.tif 000010
【表１−２】
0006929953.tif 000011
【表２】
0006929953.tif 000012
【表３】
0006929953.tif 000013
【表４−１】
0006929953.tif 000014
【表４−２】
0006929953.tif 000015
【表５】
0006929953.tif 000016
【００５９】
ランタイムおよび複雑性。３２０×３２０の入力画像サイズ上の効率評価が、表３に示される。完全モデル（ＲｏｏｍＮｅｔ再帰３反復）は、部屋のレイアウト推定の別の方法と比較して、２００倍の加速を達成し、再帰構造を伴わないベースＲｏｏｍＮｅｔ（ＲｏｏｍＮｅｔ基本）は、６００倍の加速を達成した。計時は、本明細書に説明されるように、２回の順方向通過に関して行われた。提案されるＲｏｏｍＮｅｔ３００のうちのいずれか１つを使用することは、表４に示されるように、有意な推定時間低減および改良された正確度を提供することができる。
例示的ＲｏｏｍＮｅｔ分析
【００６０】
再帰対直接予測。ＲｏｏｍＮｅｔアーキテクチャ内の各コンポーネントの効果が、ＬＳＵＮデータセットを用いて調査された。表４は、ＲｏｏｍＮｅｔ基本アーキテクチャをメモリ増強再帰エンコーダ−デコーダネットワークに拡張する有効性を示す。より多くの反復が、特徴点誤差およびピクセル誤差の両方に関して、より低い誤差率につながったことが観察された。すなわち、特徴点場所を補正するために反復的に回帰された再帰構造を伴う、ＲｏｏｍＮｅｔ３００は、６．９５％特徴点誤差および１０．４６ピクセル誤差を達成した再帰構造を伴わないＲｏｏｍＮｅｔ３００と比較して、６．３％特徴点誤差および９．８６ピクセル誤差を達成した。さらなる有意な性能改良は、３回の反復後、観察されなかった。理論によって限定されるわけではないが、畳み込み層の加重が反復を横断して共有されるため、改良は、ネットワーク内の同一パラメータ容量に由来し得る。
【００６１】
経時的深層監視の効果。エンコーダ−デコーダアーキテクチャを伴う再帰構造を適用するとき、ネットワーク内の各層は、訓練の間、深度のみではなく、また、入力と最終目的関数との間の経時的ステップも横断して、勾配を受信する。補助損失関数を異なる時間ステップにおいて追加する効果が、決定された。表５は、２回または３回の再帰反復を伴うＲｏｏｍＮｅｔ３００を使用した経時的深層監視の影響を実証する。特徴点誤差およびピクセル誤差の両方における中間低減が、両方の場合に関して、補助損失を追加することによって認められた。いくつかの実施形態では、深層監視を伴う学習問題は、異なる時間ステップを通してより容易となり得る。時間内に３回の反復を伴うＲｏｏｍＮｅｔ３００は、経時的深層監視が適用されないとき、２回の反復を伴うＲｏｏｍＮｅｔ３００より性能が悪化した。これは、経時的深層監視が適用されるとき、修正された。再帰構造内により多くの反復を伴う、いくつかの実施形態では、経時的深層監視が、アーキテクチャを正常に訓練するために適用されることができる。
【００６２】
定質的結果。ＲｏｏｍＮｅｔ３００の定質的結果が、図７Ａ−７Ｇに示される。図７Ａ−７Ｇは、大規模場面理解課題（ＬＳＵＮ）データセット上における例示的ＲｏｏｍＮｅｔ予測および対応するグラウンドトゥルースを示す、画像である。ＲｏｏｍＮｅｔは、ＲＧＢ画像をその入力７０４ａ−７０４ｇ（各図中の第１の列に描かれる）としてとり、例示的部屋のレイアウト特徴点ヒートマップ７０８ａ−７０８ｇ（各図中の第２の列）を生産した。最終特徴点は、最大応答を伴う場所をヒートマップから抽出することによって取得された。各図中の第３および第４の列は、図２におけるように、取得された特徴点を具体的順序でつなげることによって、例示的ボックス状の部屋のレイアウト表現７１２ａ−７１２ｆｇ  ７１６ａ−７１６ｇを示す。第３の列内の異なる表面は、異なる平行線模様パターンで示され、これは、レイアウトのセグメント化から生じ、天井、床、壁等を識別することができる。ＲｏｏｍＮｅｔ部屋のレイアウト出力７１２ａ−７１２ｇは、異なる平行線模様において、床、天井、および壁を示す。表現７１６ａ−７１６ｇでは、部屋のレイアウトは、個別の入力画像７０４ａ−７０４ｇ上に重畳される。各図中の第５および第６の列は、実際の部屋のレイアウトに関する例示的グラウンドトゥルース７２０ａ−７２０ｇ、７２４ａ−７２４ｇを示す。部屋のレイアウト７１２ａ−７１２ｇおよび７１６ａ−７１６ｇ（ＲｏｏｍＮｅｔによって決定された）と実際のグラウンドトゥルースレイアウト７２０ａ−７２０ｇおよび７２４ａ−７２４ｇとの間の対応は、顕著である。これらの例示的結果は、ＲｏｏｍＮｅｔが、オブジェクト（例えば、テーブル、椅子、ベッド等）による特徴点オクルージョンに対してロバストであることを実証する。画像が、鮮明であって、部屋のレイアウト境界／角が、オクルードされていないとき、ＲｏｏｍＮｅｔ３００は、高正確度を伴って、ボックス状の部屋のレイアウト表現を復元することができる。ＲｏｏｍＮｅｔフレームワークはまた、例えば、図７Ｂ、７Ｃ、７Ｄ、７Ｆに実証されるオブジェクト（例えば、テーブル、椅子、ベッド等）による特徴点オクルージョンに対してもロバストであった。
【００６３】
図８Ａ−８Ｄは、ＲｏｏｍＮｅｔの実施形態からの部屋のレイアウト予測がグラウンドトゥルースレイアウトにあまり良好に合致しない実施例を示す、例示的画像である。ＲｏｏｍＮｅｔ予測とグラウンドトゥルースとの間の差異は、本明細書に説明されるように、さらに低減または排除されることができる。各図中の第１の列は、例示的入力画像８０４ａ−８０４ｄを示す。各図中の第２の列は、例示的予測される特徴点ヒートマップ８０８ａ−８０８ｄを示す。各図中の第３および第４の列は、取得された例示的ボックス状の表現８１２ａ−８１２ｄ、８１６ａ−８１６ｄを示す。第３の列内の異なる表面は、異なる平行線模様パターンで示され、レイアウトのセグメント化から生じ、天井、床、壁等を識別することができる。第５および第６の列は、例示的グラウンドトゥルース８２０ａ−８２０ｄ、８２４ａ−８２４ｄを示す。ＲｏｏｍＮｅｔ３００のさらなる改良が、部屋のレイアウト境界は、かろうじて可視であるとき（例えば、図８Ａおよび８Ｃ）、または場面の所与の画像に関する１つを上回る妥当と思われる部屋のレイアウトが存在するとき（例えば、図８Ｂおよび８Ｄ）、可能性として考えられ得る。
例示的代替エンコーダ−デコーダ
【００６４】
ＬＳＵＮデータセットを用いた提案されるアーキテクチャ内の各コンポーネントの効果が、実験的に決定された。調査される部屋のレイアウト推定タスクのための図９Ａ−９Ｆに示される６つの代替エンコーダ−デコーダアーキテクチャの評価は、（ａ）図９Ａに示される、バニラエンコーダ／デコーダ９００ａ（ＲｏｏｍＮｅｔ基本）、（ｂ）図９Ｂに示される、スタックされたエンコーダ−デコーダ９００ｂ、（ｃ）図９Ｃに示される、スキップコネクションを伴うスタックされたエンコーダ−デコーダ９００ｃ、（ｄ）図９Ｄに示される、フィードバックを伴うエンコーダ−デコーダ９００ｄ、（ｅ）図９Ｅに示される、メモリ増強再帰エンコーダ−デコーダ（ＲｏｏｍＮｅｔ完全）９００ｅ、および（ｆ）図９Ｆに示される、フィードバックを伴うメモリ増強再帰エンコーダ−デコーダ９００ｆを含んだ。ＲｏｏｍＮｅｔ３００のいくつかの実施形態は、あるタスクに関して、ＲｏｏｍＮｅｔ３００の他の実施形態に優る利点を有し得る。例えば、ＲｏｏｍＮｅｔのいくつかの実施形態は、図８Ａ−８Ｄに示される差異を低減または排除することができる。表６は、ＬＳＵＮデータセット上における異なる変形例の性能を示す。
【表６】
0006929953.tif 000017
【００６５】
（ａ）および（ｂ）構成９００ａ、９００ｂの比較は、ネットワークが、制約を複数のボトルネック層に課すことによって、部屋のレイアウト特徴点の空間構造を暗示的に学習するように強いられるため、エンコーダ−デコーダネットワークをスタックすることが、さらに性能を改良し得ることを示す。
【００６６】
しかしながら、（ｃ）構成９００ｃにおけるようなスキップコネクションの追加は、試験される条件下、本タスクのための性能を改良しなかった。これは、訓練セットのサイズ（数千）が評価された他のデータセット（数百万）ほど大きくなく、したがって、スキップ層が具体的データセットのために必要ではなかったためであり得る。
【００６７】
（ｄ）構成９００ｄにおけるように、同一エンコーダ−デコーダネットワークのための新しい入力としての入力と前の予測の連結として実装される、フィードバックループを追加することは、性能を改良した。反復毎に、ネットワークは、オリジナル入力とともに、これまでの準最適予測にアクセスし、現在の時間ステップにおける推定に役立てた。
【００６８】
（ｅ）構成９００ｅにおけるメモリユニットを伴うエンコーダ−デコーダ再帰をＲＮＮとして挙動させることは、最低特徴点誤差およびピクセル誤差を取得する（完全ＲｏｏｍＮｅｔモデル）。再帰エンコーダ−デコーダにおける側結合は、ネットワークが、情報を繰り越し、将来的時間ステップにおける予測に役立てることを可能にした。（ｆ）構成９００ｆにおけるフィードバックループをメモリ増強再帰エンコーダ−デコーダに追加することは、結果を改良しなかった。構成（ｅ）９００ｅにおけるメモリ増強構造を使用することは、フィードバックを伴わずに、すでに前の隠れ状態情報を十分に記憶することができることが可能性として考えられた。エンコーダ−デコーダの加重行列は、（ｂ）および（ｃ）構成９００ｂ、９００ｃにおいて共有されなかったが、（ｄ）、（ｅ）、および（ｆ）構成９００ｄ、９００ｅ、９００ｆにおいて共有され、よりパラメータ上効率的なアーキテクチャをもたらした。
【００６９】
事前訓練による特徴転送。外部データに起因する性能向上を切り離すために、（意味論セグメント化タスクにおける）ＳＵＮの事前に訓練されたモデルからＲｏｏｍＮｅｔを微調整した結果が、決定された。表７に示されるように、そのようなＲｏｏｍＮｅｔは、ＬＳＵＮデータセット上における少なくとも７．９５％特徴点誤差および９．３１％ピクセル誤差を伴う他の方法と比較して、６．０９％特徴点誤差および９．０４％ピクセル誤差を達成した。表７は、余剰データまたは事前に訓練されたモデルを用いた部屋のレイアウト推定結果を反映する。いくつかの実施形態では、ＲｏｏｍＮｅｔは、付加的Ｈｅｄａｕ＋訓練セットを使用して訓練され、ＮＹＵＤｖ２  ＲＧＢＤ（ＲＧＢ  ｐｌｕｓ  Ｄｅｐｔｈ）の事前に訓練されたモデルから微調整されることができる。表７は、ＰＡＳＣＡＬおよびＳＵＮの事前に訓練されたＲｏｏｍＮｅｔから微調整した結果を示す。ＳＵＮの事前に訓練されたＲｏｏｍＮｅｔは、ＬＳＵＮデータセット上で最低特徴点誤差およびピクセル誤差を達成した。
【表７】
0006929953.tif 000018
【００７０】
いくつかの実施形態では、ＲｏｏｍＮｅｔ３００は、ゲーティング機構を含み、着信信号が再帰ユニットの状態を改変することを可能にすることができる。いくつかの実施形態では、ＲｏｏｍＮｅｔ３００は、シーケンシャルデータを使用して、訓練され、および／またはシーケンシャルデータを使用して、建物の部屋のレイアウトマップを予測することができる。
ＲｏｏｍＮｅｔを訓練する例示的プロセス
【００７１】
図１０は、ＲｏｏｍＮｅｔを訓練する例示的プロセス１０００のフロー図である。プロセス１０００は、画像、ＲｏｏｍＮｅｔアーキテクチャおよびパラメータ（例えば、ＮＮ加重）、部屋タイプ、２Ｄ特徴点場所（例えば、ヒートマップ）、部屋のレイアウト等を記憶するように構成される、非一過性メモリを備える、ハードウェアプロセッサによって実施されることができる。
【００７２】
プロセス１０００は、ブロック１００４から開始し、そこで、部屋および部屋タイプの多くのタイプに関する訓練用部屋画像が、受信される。訓練用部屋画像はそれぞれ、基準部屋タイプと、部屋のレイアウト（例えば、床、天井、壁）を識別する、基準特徴点と関連付けられることができる。ある場合には、訓練画像は、手動で注釈が付けられ、画像に示される部屋に関するグラウンドトゥルース（例えば、特徴点場所および部屋タイプ）を示す。訓練用部屋画像は、単眼画像、赤色−緑色−青色（ＲＧＢ）画像等であることができる。訓練画像は、ＨｅｄａｕデータセットまたはＬＳＵＮデータセットから取得可能である。
【００７３】
プロセス１０００は、データ拡張方略（例えば、水平に反転された画像を用いて訓練データを増大させる）を実施し、訓練されたＲｏｏｍＮｅｔの性能を改良するステップを含むことができる。部屋タイプの数は、２、３、５、１０、１１、１５、２０、またはそれを上回る等、異なる実装では、異なり得る。部屋タイプは、特徴点順序と関連付けられる、複数の特徴点と関連付けられることができる。特徴点は、特徴点順序でつなげられ、部屋のレイアウトを提供することができる。特徴点の数は、２、３、５、６、８、１０、２０、５０、またはそれを上回る等、異なる実装では、異なり得る。
【００７４】
ブロック１００８では、部屋のレイアウト推定のためのニューラルネットワーク（例えば、ＲｏｏｍＮｅｔ）が、生成されることができる。本明細書に説明されるように、ＲｏｏｍＮｅｔの実施形態は、エンコーダサブネットワークと、エンコーダネットワークに接続される、デコーダサブネットワークと、エンコーダネットワークに接続される、サイドヘッドまたはサブネットワークとを備えることができる。エンコーダサブネットワークは、複数の畳み込み層と、複数のプーリング層とを備えることができる。デコーダサブネットワークは、複数の畳み込み層と、複数のアップサンプリング層とを備えることができる。デコーダサブネットワークのデコーダ層の加重は、エンコーダサブネットワークの対応するエンコーダ層の加重を含むことができる。代替として、または加えて、デコーダサブネットワークのデコーダ層の加重は、エンコーダサブネットワークの対応するエンコーダ層の加重と同じであることができる。いくつかの実施形態では、エンコーダサブネットワークおよびデコーダサブネットワークは、複数の再帰層を備え、再帰エンコーダ−デコーダ構造（例えば、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワーク）を形成する。再帰層の再帰反復数は、２、３、５、１０、またはそれを上回ることができる。いくつかの実施形態では、再帰層の反復の第１の再帰反復と関連付けられた加重は、再帰層の第２の再帰反復と関連付けられた加重と同じである。
【００７５】
エンコーダサブネットワークおよびデコーダサブネットワークは、異なる実装では、異なるアーキテクチャを有することができる。例えば、エンコーダサブネットワークおよびデコーダサブネットワークは、スタックされたエンコーダ−デコーダアーキテクチャを有することができる。別の実施例として、エンコーダサブネットワークおよびデコーダサブネットワークは、スキップコネクションを伴う、スタックされたエンコーダ−デコーダアーキテクチャを有することができる。さらに別の実施例として、エンコーダサブネットワークおよびデコーダサブネットワークは、フィードバックを伴う、スタックされたエンコーダ−デコーダアーキテクチャを有することができる。一実施例では、エンコーダサブネットワークおよびデコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）アーキテクチャを有する。別の実施例では、エンコーダサブネットワークおよびデコーダサブネットワークは、フィードバックを伴う、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）アーキテクチャを有する。再帰層を伴うＲｏｏｍＮｅｔの特徴マップは、いくつかの実施形態では、方程式［２］を使用して決定されることができる。
【００７６】
ブロック１０１２では、部屋タイプ毎に複数の予測される２Ｄ特徴点が、ＲｏｏｍＮｅｔのエンコーダサブネットワークおよびデコーダサブネットワークおよび訓練用部屋画像を使用して、決定されることができる。訓練用部屋画像の次元は、予測されるヒートマップの次元より小さい、同一、またはより大きくあることができる。２Ｄ特徴点場所は、ある場合には、ヒートマップから抽出されることができる（例えば、ヒートマップ内の最大値として）。
【００７７】
ブロック１０１６では、予測される部屋タイプは、ＲｏｏｍＮｅｔのエンコーダサブネットワークおよびサイドサブネットワークおよび訓練用部屋画像を使用して、決定されることができる。例えば、サイドサブネットワークは、全結合層等の複数の層を備えることができる。いくつかの実施形態では、サイドサブネットワークは、３つの全結合層を備える。サイドサブネットワークの出力層の次元および複数の部屋タイプの数は、同じであることができる。
【００７８】
ブロック１０２０では、プロセス１０００は、訓練画像内の基準特徴点に対する予測される特徴点内の誤差を表す第１の損失と、訓練画像内の基準部屋タイプに対する予測される部屋タイプ内の誤差を表す第２の損失とに基づいて、損失関数を最適化する（例えば、低減または最小限にする）ことができる。損失関数Ｌの実施例は、方程式［１］を参照して説明される。第１の損失は、予測される特徴点と基準特徴点との間のユークリッド損失であることができる。いくつかの実装では、予測される特徴点は、ヒートマップによって表され、基準（例えば、グラウンドトゥルース）特徴点に関する基準ヒートマップは、ガウス分布を基準特徴点場所上を中心として設置することによって、生成されることができる。第１の損失は、特徴点が入力訓練画像内の基準部屋タイプに関して存在する場合のみ、予測される特徴点にペナルティを課すように設定されることができる。第２の損失は、サイドサブネットワークが正しい部屋タイプに対する高信頼度値を生産するように促す、部屋タイプ分類子（例えば、部屋タイプサイドサブネットワークから出力される）に基づく、クロスエントロピ（例えば、対数）損失であることができる。
【００７９】
いくつかの実施形態では、第１の損失を決定するステップは、基準特徴点を使用して、基準ヒートマップを決定するステップと、予測される特徴点に関して基準ヒートマップと予測されるヒートマップとの間の差異を決定するステップとを含む。基準ヒートマップは、各基準特徴点場所を中心とする分布を含むことができる。分布は、２次元ガウス分布を含むことができる。ガウス分布は、例えば、２、３、５、１０、またはそれを上回るピクセルの標準偏差を有することができる。ガウス分布は、５％、１０％、２０％、２５％、またはそれを上回る等、基準ヒートマップの次元のパーセンテージの標準偏差を有することができる。いくつかの実施形態では、基準ヒートマップを決定するステップは、例えば、ピクセル値を０．１、０．２、０．３等の１未満の減少係数で乗算することによって、ピクセルの閾値数であるピクセルの値を基準特徴点場所から離れるように減少させるステップを含むことができる。
【００８０】
ブロック１０２４では、ＲｏｏｍＮｅｔのためのニューラルネットワークパラメータは、最適化された損失関数に基づいて、更新されることができる。いくつかの実施形態では、ＲｏｏｍＮｅｔの加重は、誤差逆方向伝播法によって更新されることができる。
【００８１】
プロセス１０００は、訓練画像セット（例えば、ＨｅｄａｕまたはＬＳＵＮデータセット）内の訓練画像毎に反復され、ニューラルネットワークを調整し、低減または最小限にされた誤差（例えば、上記に説明されるように、ピクセル誤差または特徴点誤差）を伴う、ロバストなニューラルネットワークモデルを生産することができる。ＲｏｏｍＮｅｔの実施形態は、プロセス１０００を使用して訓練され、次いで、拡張現実または複合現実、屋内ナビゲーション、場面再構築またはレンダリング等において、実世界画像に適用されることができる。
部屋のレイアウト推定のためのＲｏｏｍＮｅｔを使用する例示的プロセス
【００８２】
図１１は、部屋のレイアウトを部屋画像から推定するためのＲｏｏｍＮｅｔを使用する例示的プロセス１１００のフロー図である。プロセス１１００は、画像、ＲｏｏｍＮｅｔアーキテクチャおよびパラメータ（例えば、ＮＮ加重）、部屋のレイアウトタイプ、ヒートマップ、部屋のレイアウト等を記憶するように構成される、非一過性メモリを備える、ハードウェアプロセッサによって実施されることができる。図１２を参照して下記に説明されるように、ウェアラブルディスプレイシステム１２００またはロボットシステムが、プロセス１１００の実施形態を実装するように構成されることができる。
【００８３】
プロセス１１００は、ブロック１１０４から開始し、そこで、システム（例えば、図１２を参照して説明されるウェアラブルディスプレイシステム１２００）が、可能性として考えられる部屋場面を含む、入力画像を受信する。画像は、１つの部屋場面を含むことができる。画像は、カラー画像（例えば、ＲＧＢまたはＲＧＢ−Ｄ）を備えることができ、画像は、単眼であってもよい。画像は、ビデオのフレームであってもよく、図１２を参照して説明されるウェアラブルディスプレイシステム１２００の外向きに面した結像システム１２４４を使用して取得されてもよい。
【００８４】
ブロック１１０８では、ウェアラブルディスプレイシステム１２００は、図１０に図示されるプロセス１０００によって訓練されたＲｏｏｍＮｅｔ等の部屋のレイアウト推定のためのニューラルネットワーク（ＲｏｏｍＮｅｔ）にアクセスすることができる。ＲｏｏｍＮｅｔは、エンコーダサブネットワークと、エンコーダネットワークに接続される、デコーダサブネットワークと、エンコーダネットワークに接続される、サイドサブネットワークとを含むことができる。いくつかの実施形態では、エンコーダサブネットワークおよびデコーダサブネットワークは、複数の再帰層を備える。例えば、エンコーダ−デコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークを備えることができる。再帰層を伴うＲｏｏｍＮｅｔの特徴マップが、上記の方程式［２］を使用して、決定されることができる。ＲｏｏｍＮｅｔのアーキテクチャは、異なる実装では、異なり得る。例えば、エンコーダサブネットワークおよびデコーダサブネットワークは、スタックされたエンコーダ−デコーダアーキテクチャを備えることができる。別の実施例として、エンコーダサブネットワークおよびデコーダサブネットワークは、複数のスキップコネクションを備えることができる。一実施例では、サイドサブネットワークは、複数のフィードバック層を備える。
【００８５】
ブロック１１１２では、プロセス１１００は、ＲｏｏｍＮｅｔのエンコーダサブネットワークおよびデコーダサブネットワークおよび部屋画像を使用して、複数の部屋タイプのそれぞれに対応する複数の２Ｄ特徴点を決定することができる。２Ｄ特徴点は、ヒートマップと関連付けられることができ、特徴点場所は、ヒートマップ内で生じる最大値としてヒートマップから抽出されることができる。部屋タイプの数は、５（例えば、ある場合には、１１）を上回ることができる。
【００８６】
ブロック１１１６では、ウェアラブルディスプレイシステム１２００は、ＲｏｏｍＮｅｔのサイドサブネットワークおよび部屋画像を使用して、予測される部屋タイプを複数の部屋タイプから決定することができる。
【００８７】
ブロック１１２０では、プロセス１１００は、部屋画像内の部屋のレイアウトを予測される部屋タイプおよび２Ｄ特徴点から決定することができる。部屋のレイアウトは、予測される部屋タイプと関連付けられた特徴点順序を有する、順序付けられた特徴点を含むことができる。特徴点の数は、２、３、４、６、８、１０、またはそれを上回る等、異なる実装では、異なり得る。部屋のレイアウトは、天井、床、壁等としてのレイアウト表面の識別等、レイアウト表面の意味論セグメント化を含むことができる。意味論セグメント化は、順序付けられた２Ｄ特徴点から導出されることができる。故に、ニューラルネットワークは、関連付けられた部屋タイプを伴う具体的順序であり得る、２Ｄ特徴点を使用して、３Ｄ部屋のレイアウト構造を提供することができる。
【００８８】
ブロック１１２４では、プロセス１１００は、部屋のレイアウトを拡張または複合現実用途において、自律的屋内ナビゲーションのため、場面再構築またはレンダリングのため等に利用することができる。
【００８９】
ウェアラブルディスプレイシステム１２００（下記の図１２を参照して説明される）は、入力画像内の部屋の予測されるレイアウトに基づいて、システムのユーザと相互作用することができる。いくつかの実施形態では、ウェアラブルディスプレイシステム１２００は、部屋画像内の予測される部屋のレイアウトに基づいて、屋内ナビゲーションを実施し、例えば、ユーザを部屋内の所望の場所に案内することができる（例えば、部屋のレイアウトおよび（随意に）場所までの経路をレンダリングすることによって）。他の実施形態では、ウェアラブルディスプレイシステム１２００は、部屋画像内の部屋の予測されるレイアウトに基づいて、部屋画像内の場面を再構築することができる。
（例示的ＮＮ層）
【００９０】
上記に説明されるように、ＲｏｏｍＮｅｔの実施形態は、ニューラルネットワークを備えることができる。深層ニューラルネットワーク（ＤＮＮ）等のニューラルネットワーク（ＮＮ）の層は、線形または非線形変換をその入力に適用し、その出力を生成することができる。深層ニューラルネットワーク層は、正規化層、畳み込み層、ソフトサイン層、正規化線形層、連結層、プーリング層、再帰層、インセプション様層、または任意のそれらの組み合わせであることができる。正規化層は、その入力の明度を正規化し、例えば、ユークリッドまたはＬ２正規化を用いて、その出力を生成することができる。正規化層は、例えば、複数の画像の明度を相互に対して一度に正規化し、複数の正規化された画像をその出力として生成することができる。明度を正規化するための方法の非限定的実施例は、ローカルコントラスト正規化（ＬＣＮ）またはローカル応答正規化（ＬＲＮ）を含む。ローカルコントラスト正規化は、ピクセルベースで画像のローカル領域を正規化し、ゼロの平均値および１の分散（または平均値および分散の他の値）を有することによって、画像のコントラストを非線形に正規化することができる。ローカル応答正規化は、ローカル入力領域にわたって画像を正規化し、ゼロの平均値および１の分散（または平均値および分散の他の値）を有することができる。正規化層は、訓練プロセスを加速させ得る。
【００９１】
畳み込み層は、その入力を畳み込み、その出力を生成する、カーネルのセットを適用することができる。ソフトサイン層は、ソフトサイン関数をその入力に適用することができる。ソフトサイン関数（ｓｏｆｔｓｉｇｎ（ｘ））は、例えば、（ｘ／（１＋｜ｘ｜））であることができる。ソフトサイン層は、要素毎誤対応の影響を無視してもよい。正規化線形層は、正規化線形層ユニット（ＲｅＬＵ）またはパラメータ化された正規化線形層ユニット（ＰＲｅＬＵ）であることができる。ＲｅＬＵ層は、ＲｅＬＵ関数をその入力に適用し、その出力を生成することができる。ＲｅＬＵ関数ＲｅＬＵ（ｘ）は、例えば、ｍａｘ（０，ｘ）であることができる。ＰＲｅＬＵ層は、ＰＲｅＬＵ関数をその入力に適用し、その出力を生成することができる。ＰＲｅＬＵ関数ＰＲｅＬＵ（ｘ）は、例えば、ｘ≧０である場合、ｘであって、ｘ＜０である場合、ａｘであることができ、ａは、正の数であることができる。連結層は、その入力を連結し、その出力を生成することができる。例えば、連結層は、４つの５×５画像を連結し、１つの２０×２０画像を生成することができる。プーリング層は、プーリング関数を適用することができ、これは、その入力をダウンサンプリングし、その出力を生成する。例えば、プーリング層は、２０×２０画像を１０×１０画像にダウンサンプリングすることができる。プーリング関数の非限定的実施例は、最大プーリング、平均プーリング、または最小プーリングを含む。
【００９２】
時間点ｔでは、再帰層は、隠蔽状態ｓ（ｔ）を計算することができ、再帰接続は、時間点ｔにおける隠蔽状態ｓ（ｔ）を再帰層に後続時間点ｔ＋１における入力として提供することができる。再帰層は、時間点ｔにおける隠蔽状態ｓ（ｔ）に基づいて、時間点ｔ＋１においてその出力を計算することができる。例えば、再帰層は、ソフトサイン関数を時間点ｔにおける隠蔽状態ｓ（ｔ）に適用し、時間点ｔ＋１におけるその出力を計算することができる。時間点ｔ＋１における再帰層の隠蔽状態は、その入力として、時間点ｔにおける再帰層の隠蔽状態ｓ（ｔ）を有する。再帰層は、例えば、ＲｅＬＵ関数をその入力に適用することによって、隠蔽状態ｓ（ｔ＋１）を計算することができる。インセプション様層は、正規化層、畳み込み層、ソフトサイン層、ＲｅＬＵ層およびＰＲｅＬＵ層等の正規化線形層、連結層、プーリング層、または任意のそれらの組み合わせのうちの１つ以上のものを含むことができる。
【００９３】
ＮＮ内の層の数は、異なる実装では、異なり得る。例えば、ＤＮＮ内の層の数は、５０、１００、２００、またはそれを上回ることができる。深層ニューラルネットワーク層の入力タイプは、異なる実装では、異なり得る。例えば、層は、いくつかの層の出力をその入力として受信することができる。層の入力は、５つの層の出力を含むことができる。別の実施例として、層の入力は、ＮＮの層の１％を含むことができる。層の出力は、いくつかの層の入力であることができる。例えば、層の出力は、５つの層の入力として使用されることができる。別の実施例として、層の出力は、ＮＮの層の１％の入力として使用されることができる。
【００９４】
層の入力サイズまたは出力サイズは、非常に大きくなることができる。層の入力サイズまたは出力サイズは、ｎ×ｍであることができ、ｎは、入力または出力の幅を示し、ｍは、高さを示す。例えば、ｎまたはｍは、１１、２１、３１、またはそれを上回ることができる。層の入力または出力のチャネルサイズは、異なる実装では、異なり得る。例えば、層の入力または出力のチャネルサイズは、４、１６、３２、６４、１２８、またはそれを上回ることができる。層のカーネルサイズは、異なる実装では、異なり得る。例えば、カーネルサイズは、ｎ×ｍであることができ、ｎは、カーネルの幅を示し、ｍは、高さを示す。例えば、ｎまたはｍは、５、７、９、またはそれを上回ることができる。層のストライドサイズは、異なる実装では、異なり得る。例えば、深層ニューラルネットワーク層のストライドサイズは、３、５、７、またはそれを上回ることができる。
【００９５】
いくつかの実施形態では、ＮＮは、ＮＮの出力をともに計算する、複数のＮＮを指し得る。複数のＮＮの異なるＮＮは、異なるタスクのために訓練されることができる。プロセッサ（例えば、図１２を参照して説明されるローカルデータ処理モジュール１２２４のプロセッサ）は、複数のＮＮのＮＮの出力を計算し、ＮＮの出力を決定することができる。例えば、複数のＮＮのＮＮの出力は、尤度スコアを含むことができる。プロセッサは、複数のＮＮの異なるＮＮの出力の尤度スコアに基づいて、複数のＮＮを含む、ＮＮの出力を決定することができる。
例示的ウェアラブルディスプレイシステム
【００９６】
いくつかの実施形態では、ユーザデバイスは、ウェアラブルディスプレイデバイスであることができる、またはその中に含まれることができ、これは、有利には、より没入型の仮想現実（ＶＲ）、拡張現実（ＡＲ）、または複合現実（ＭＲ）体験を提供し得、デジタル的に再現された画像またはその一部が、それらが現実であるように見える、またはそのように知覚され得る様式で装着者に提示される。
【００９７】
理論によって限定されるわけではないが、ヒトの眼は、典型的には、有限数の深度平面を解釈し、深度知覚を提供し得ると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数の深度平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。例えば、導波管のスタックを含有するディスプレイは、ユーザまたは視認者の眼の正面に位置付けられて装着されるように構成されてもよい。導波管のスタックは、複数の導波管を使用して、画像投入デバイス（例えば、１つ以上の光ファイバを介して画像情報を送出する、離散ディスプレイまたは多重化されたディスプレイの出力端）からの光を特定の導波管と関連付けられた深度平面に対応する特定の角度（および発散量）で視認者の眼に指向することによって、３次元知覚を眼／脳に提供するために利用され得る。
【００９８】
いくつかの実施形態では、視認者の眼毎に１つの導波管の２つのスタックが、異なる画像を各眼に提供するために利用されてもよい。一実施例として、拡張現実場面は、ＡＲ技術の装着者に、人々、木々、背景における建物、およびコンクリートプラットフォームを特徴とする実世界公園状設定が見えるようなものであってもよい。これらのアイテムに加え、ＡＲ技術の装着者はまた、実世界プラットフォーム上に立っているロボット像と、マルハナバチの擬人化のように見える飛んでいる漫画状アバタキャラクタとを「見ている」と知覚し得るが、ロボット像およびマルハナバチは、実世界には存在しない。導波管のスタックは、入力画像に対応するライトフィールドを生成するために使用されてもよく、いくつかの実装では、ウェアラブルディスプレイは、ウェアラブルライトフィールドディスプレイを備える。ライトフィールド画像を提供するためのウェアラブルディスプレイデバイスおよび導波管スタックの実施例は、米国特許公開第２０１５／００１６７７７号（それが含有する全てに関して参照することによってその全体として本明細書に組み込まれる）に記載されている。
【００９９】
図１２は、ＶＲ、ＡＲ、またはＭＲ体験をディスプレイシステム装着者または視認者１２０４に提示するために使用され得る、ウェアラブルディスプレイシステム１２００の実施例を図示する。ウェアラブルディスプレイシステム１２００は、本明細書に説明される用途または実施形態のいずれかを実施するようにプログラムされてもよい（例えば、ＲｏｏｍＮｅｔを使用して、部屋のレイアウトを推定する）。ディスプレイシステム１２００は、ディスプレイ１２０８と、そのディスプレイ１２０８の機能をサポートするための種々の機械的および電子モジュールおよびシステムとを含む。ディスプレイ１２０８は、フレーム１２１２に結合されてもよく、これは、ディスプレイシステム装着者または視認者１２０４によって装着可能であって、ディスプレイ１２０８を装着者１２０４の眼の正面に位置するように構成される。ディスプレイ１２０８は、ライトフィールドディスプレイであってもよい。いくつかの実施形態では、スピーカ１２１６は、フレーム１２１２に結合され、ユーザの外耳道に隣接して位置付けられ、いくつかの実施形態では、示されない別のスピーカが、ユーザの他の外耳道に隣接して位置付けられ、ステレオ／調節可能音制御を提供する。ディスプレイシステム１２００は、装着者１２０４の周囲の環境の画像（例えば、静止画像またはビデオ）を取得し得る、外向きに面した結像システム１２４４（例えば、１つ以上のカメラ）を含むことができる。外向きに面した結像システム１２４４によって取得される画像は、ＲｏｏｍＮｅｔの実施形態によって分析され、装着者１２０４の周囲の環境内の部屋のレイアウトの表現を決定することができる。
【０１００】
ディスプレイ１２０８は、有線導線または無線コネクティビティ等によって、ローカルデータ処理モジュール１２２４に動作可能に結合され１２２０、これは、フレーム１２１２に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ１２０４に除去可能に取り付けられる（例えば、リュック式構成において、ベルト結合式構成において）等、種々の構成において搭載され得る。
【０１０１】
ローカル処理およびデータモジュール１２２４は、ハードウェアプロセッサと、非一過性デジタルメモリ、例えば、不揮発性メモリ（例えば、フラッシュメモリ等）とを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、（ａ）画像捕捉デバイス（カメラ等）、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ等のセンサ（例えば、フレーム１２１２に動作可能に結合され得る、または別様に、装着者１２０４に取り付けられ得る）から捕捉されたデータ、および／または（ｂ）可能性として、処理または読出後にディスプレイ１２０８への通過のために、遠隔処理モジュール１２２８および／または遠隔データリポジトリ１２３２を使用して入手および／または処理されたデータを含む。ローカル処理およびデータモジュール１２２４は、これらの遠隔モジュール１２２８、１２３２が、相互に動作可能に結合され、ローカル処理およびデータモジュール１２２４へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク１２３６、１２４０によって、遠隔処理モジュール１２２８および遠隔データリポジトリ１２３２に動作可能に結合されてもよい。画像捕捉デバイスは、眼画像セグメント化または眼追跡プロシージャにおいて使用される眼画像を捕捉するために使用されることができる。
【０１０２】
いくつかの実施形態では、遠隔処理モジュール１２２８は、データおよび／または画像捕捉デバイスによって捕捉されたビデオ情報等の画像情報を分析および処理するように構成される、１つ以上のプロセッサを備えてもよい（例えば、ＲｏｏｍＮｅｔを実施することによって）。ビデオデータは、ローカル処理およびデータモジュール１２２４内にローカルで記憶されてもよいおよび／または遠隔データリポジトリ１２３２内に記憶されてもよい。いくつかの実施形態では、遠隔データリポジトリ１２３２は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュール１２２４において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【０１０３】
いくつかの実装では、ローカル処理およびデータモジュール１２２４および／または遠隔処理モジュール１２２８は、ＲｏｏｍＮｅｔの実施形態を実施し、部屋のレイアウトを決定するようにプログラムされる。例えば、ローカル処理およびデータモジュール１２２４および／または遠隔処理モジュール１２２８は、図１１を参照して説明されるプロセス１１００の実施形態を実施するようにプログラムされることができる。ローカル処理およびデータモジュール１２２４および／または遠隔処理モジュール１２２８は、本明細書に開示される部屋のレイアウト推定方法１１００を実施するようにプログラムされることができる。画像捕捉デバイスは、特定の用途（例えば、拡張現実（ＡＲ）または複合現実（ＭＲ）、人間−コンピュータ相互作用（ＨＣＩ）、自律車両、ドローン、またはロボット全般）のためのビデオを捕捉することができる。ビデオ（またはビデオからの１つ以上のフレーム）は、処理モジュール１２２４、１２２８の一方または両方によって、算出ＲｏｏｍＮｅｔアーキテクチャの実施形態を使用して分析されることができる。ある場合には、ＲｏｏｍＮｅｔの分析の少なくとも一部を遠隔処理モジュール（例えば、「クラウド」）にオフロードすることは、計算の効率または速度を改良し得る。ＲｏｏｍＮｅｔニューラルネットワークのパラメータ（例えば、加重、バイアス項、プーリング層のためのサブサンプリング係数、異なる層内のカーネルの数およびサイズ、特徴マップの数、部屋のレイアウトタイプ、特徴点ヒートマップ等）は、データモジュール１２２４および／または１２３２内に記憶されることができる。
【０１０４】
ＲｏｏｍＮｅｔ分析の結果（例えば、方法１１００の出力）は、付加的動作または処理のために、処理モジュール１２２４、１２２８の一方または両方によって使用されることができる。例えば、ウェアラブルディスプレイシステム１２００の処理モジュール１２２４、１２２８は、方法１１００の出力に基づいて、拡張または複合現実、屋内ナビゲーション、または場面再構築またはレンダリング等の付加的用途を実施するようにプログラムされることができる。故に、ウェアラブルシステム２００は、ＲｏｏｍＮｅｔを使用して、部屋のレイアウトをリアルタイムで提供することができる。
【０１０５】
例えば、ウェアラブルディスプレイシステム１２００は、オブジェクト、壁、床、天井、ドア等が、複合現実環境内で相互に対して位置する場所を説明する、世界マップ（例えば、ローカルまたは遠隔データリポジトリ１２２４、１２４０内に記憶される）を利用することができる。世界マップの使用に関するさらなる詳細は、米国特許公開第２０１５／００１６７７７号（それが含有する全てに関して、参照することによって本明細書に組み込まれる）に説明される。ＲｏｏｍＮｅｔの出力（例えば、方法１１００の出力）は、世界マップを更新し、システム１２００の装着者が位置する部屋に関する部屋のレイアウトを含めるために使用されることができる。
【０１０６】
ＲｏｏｍＮｅｔアーキテクチャは、ユーザの環境内のオブジェクトに関する画像を分析する、他のオブジェクト認識装置または深層学習システムと併用されることができる。例えば、２０１７年１１月１４日に出願され、「Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｃｕｂｏｉｄ  Ｄｅｔｅｃｔｉｏｎ」と題された米国特許出願第１５／８１２，９２８号（それが含有する全てに関して、参照することによってその全体として本明細書に組み込まれる）は、画像内の３Ｄの直方体形状のオブジェクトを検出するための機械学習技法を説明する。いくつかの実施形態では、ＲｏｏｍＮｅｔアーキテクチャは、部屋のレイアウトを識別するために使用されることができ、直方体検出アーキテクチャは、部屋のレイアウト内の直方体オブジェクトを識別または位置特定するために使用されることができる。本情報は、ウェアラブルディスプレイシステム１２００の世界マップに追加され、改良されたＡＲまたはＭＲユーザ体験を提供することができる。
【０１０７】
さらに別の実施例として、ロボットが、ＲｏｏｍＮｅｔの実施形態を利用し、部屋のレイアウトを決定し、次いで、部屋内のロボットの自動化されたナビゲーションのために、部屋のレイアウトを使用することができる。ロボットは、自律的屋内ロボット（例えば、ロボット吸引クリーナー、モップ、掃除機）、ウェアハウスロボット（例えば、自動保管、取出、および在庫管理動作のために使用される）、屋内飛行ドローン等を含むことができる。
付加的側面
【０１０８】
第１の側面では、部屋のレイアウトを推定するためのシステムが、開示される。本システムは、部屋のレイアウトの推定のための部屋画像と、部屋のレイアウトを推定するためのニューラルネットワークであって、エンコーダ−デコーダサブネットワークと、エンコーダ−デコーダサブネットワークに接続される、分類子サブネットワークとを備える、ニューラルネットワークとを記憶するように構成される、非一過性メモリと、非一過性メモリと通信するハードウェアプロセッサであって、部屋画像にアクセスし、エンコーダ−デコーダサブネットワークおよび部屋画像を使用して、複数の部屋タイプに対応する複数の予測される２次元（２Ｄ）特徴点マップを決定し、エンコーダ−デコーダサブネットワーク、分類子サブネットワーク、および部屋画像を使用して、予測される部屋タイプを複数の部屋タイプから決定し、複数の予測される２Ｄ特徴点マップおよび予測される部屋タイプを使用して、予測される部屋タイプと関連付けられた複数の順序付けられた特徴点を決定し、複数の順序付けられた特徴点を使用して、部屋画像内の部屋の予測されるレイアウトを決定するようにプログラムされる、ハードウェアプロセッサとを備える。
【０１０９】
第２の側面では、複数の部屋タイプ内の各部屋タイプは、部屋タイプ特徴点の順序付けられたセットを含む、側面１に記載のシステム。
【０１１０】
第３の側面では、複数の部屋タイプ内の各部屋タイプは、部屋タイプ内の領域に関する意味論セグメント化を含み、意味論セグメント化は、床、天井、または壁としての識別を含む、側面２に記載のシステム。
【０１１１】
第４の側面では、第１の特徴点順序は、複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、第１の特徴点順序および第２の特徴点順序は、異なる、側面２または側面３に記載のシステム。
【０１１２】
第５の側面では、部屋画像は、単眼画像を含む、側面１−４のいずれか１項に記載のシステム。
【０１１３】
第６の側面では、部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、側面１−５のいずれか１項に記載のシステム。
【０１１４】
第７の側面では、部屋画像の次元は、予測される２Ｄ特徴点マップの次元より大きい、側面１−６のいずれか１項に記載のシステム。
【０１１５】
第８の側面では、エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のプーリング層を含む、エンコーダサブネットワークを備える、側面１−７のいずれか１項に記載のシステム。
【０１１６】
第９の側面では、エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のアップサンプリング層を含む、デコーダサブネットワークを備える、側面１−８のいずれか１項に記載のシステム。
【０１１７】
第１０の側面では、エンコーダ−デコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークを備える、側面１−９のいずれか１項に記載のシステム。
【０１１８】
第１１の側面では、エンコーダ−デコーダサブネットワークは、複数の再帰層を備える、側面１−１０のいずれか１項に記載のシステム。
【０１１９】
第１２の側面では、複数の再帰層の再帰反復数は、２である、側面１１に記載のシステム。
【０１２０】
第１３の側面では、複数の再帰層の再帰反復数は、少なくとも３である、側面１１に記載のシステム。
【０１２１】
第１４の側面では、複数の再帰層はそれぞれ、加重行列を有し、加重行列は、複数の再帰層の全てに関して同一である、側面１１−１３のいずれか１項に記載のシステム。
【０１２２】
第１５の側面では、予測される２次元（２Ｄ）特徴点マップは、ヒートマップを含む、側面１−１４のいずれか１項に記載のシステム。
【０１２３】
第１６の側面では、ハードウェアプロセッサは、ヒートマップからの特徴点場所をヒートマップの最大値として抽出するようにプログラムされる、側面１５に記載のシステム。
【０１２４】
第１７の側面では、ハードウェアプロセッサは、部屋画像を分析するオブジェクト認識装置からオブジェクト情報にアクセスし、オブジェクト情報と部屋の予測されるレイアウトを組み合わせるようにプログラムされる、側面１−１６のいずれか１項に記載のシステム。
【０１２５】
第１８の側面では、オブジェクト認識装置は、部屋画像内の直方体を検出するように構成される、側面１７に記載のシステム。
【０１２６】
第１９の側面では、ウェアラブルディスプレイデバイスが、開示される。ウェアラブルディスプレイデバイスは、部屋のレイアウトの推定のための部屋画像を捕捉するように構成される、外向きに面した結像システムと、側面１−１８のいずれか１項に記載のシステムとを備える。
【０１２７】
第２０の側面では、部屋のレイアウトを推定するためのニューラルネットワークを訓練するのためのシステムが、開示される。本システムは、ニューラルネットワークのためのパラメータを記憶するように構成される、非一過性メモリと、非一過性メモリと通信する、ハードウェアプロセッサであって、訓練用部屋画像を受信し、訓練用部屋画像は、複数の部屋タイプからの基準部屋タイプと、部屋の基準レイアウトと関連付けられた基準特徴点と関連付けられ、部屋のレイアウト推定のためのニューラルネットワークを生成し、ニューラルネットワークは、複数の部屋タイプのそれぞれと関連付けられた予測される部屋のレイアウトと関連付けられた予測される２次元（２Ｄ）特徴点を出力するように構成される、エンコーダ−デコーダサブネットワークと、予測される部屋タイプを複数の部屋タイプから出力するように構成される、エンコーダ−デコーダネットワークに接続される、サイドサブネットワークとを備え、予測される２Ｄ特徴点に関する第１の損失および予測される部屋タイプに関する第２の損失に基づいて、損失関数を最適化し、最適化された損失関数に基づいて、ニューラルネットワークのパラメータを更新するようにプログラムされる、ハードウェアプロセッサとを備える。
【０１２８】
第２１の側面では、複数の部屋タイプの数は、５を上回る、側面２０に記載のシステム。
【０１２９】
第２２の側面では、基準特徴点および予測される２Ｄ特徴点は、特徴点順序と関連付けられる、側面２０または側面２１に記載のシステム。
【０１３０】
第２３の側面では、第１の特徴点順序は、複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、第１の特徴点順序および第２の特徴点順序は、異なる、側面２０−２２のいずれか１項に記載のシステム。
【０１３１】
第２４の側面では、訓練用部屋画像は、単眼画像を含む、側面２０−２３のいずれか１項に記載のシステム。
【０１３２】
第２５の側面では、訓練用部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、側面２０−２４のいずれか１項に記載のシステム。
【０１３３】
第２６の側面では、訓練用部屋画像の次元は、予測される２Ｄ特徴点と関連付けられたマップの次元より大きい、側面２０−２５のいずれか１項に記載のシステム。
【０１３４】
第２７の側面では、エンコーダサブネットワークおよびデコーダサブネットワークは、複数の再帰層を備える、側面２０−２６のいずれか１項に記載のシステム。
【０１３５】
第２８の側面では、再帰層の再帰反復数は、２または３である、側面２７に記載のシステム。
【０１３６】
第２９の側面では、深層監視が、再帰層に適用される、側面２７または側面２８に記載のシステム。
【０１３７】
第３０の側面では、再帰層の反復の第１の再帰反復と関連付けられた加重は、再帰層の反復の第２の再帰反復と関連付けられた加重と同じである、側面２７−２９のいずれか１項に記載のシステム。
【０１３８】
第３１の側面では、複数の再帰層は、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークとして構成される、側面２７−３０のいずれか１項に記載のシステム。
【０１３９】
第３２の側面では、サイドサブネットワークは、部屋タイプ分類子を含む、側面２０−３１のいずれか１項に記載のシステム。
【０１４０】
第３３の側面では、予測される２Ｄ特徴点に関する第１の損失は、複数の基準特徴点場所と予測される２Ｄ特徴点との間のユークリッド損失を含む、側面２０−３２のいずれか１項に記載のシステム。
【０１４１】
第３４の側面では、予測される部屋タイプに関する第２の損失は、クロスエントロピ損失を含む、側面２０−３３のいずれか１項に記載のシステム。
【０１４２】
第３５の側面では、予測される２Ｄ特徴点は、予測されるヒートマップから抽出される、側面２０−３４のいずれか１項に記載のシステム。
【０１４３】
第３６の側面では、ハードウェアプロセッサは、訓練画像の基準特徴点と関連付けられた基準ヒートマップを計算し、予測されるヒートマップと基準ヒートマップとの間の差異に基づいて、予測される２Ｄ特徴点に関する第１の損失を計算するようにプログラムされる、側面３５に記載のシステム。
【０１４４】
第３７の側面では、基準ヒートマップは、基準特徴点毎の場所を中心とする２次元分布を含む、側面３６に記載のシステム。
【０１４５】
第３８の側面では、基準ヒートマップは、基準特徴点から離れた背景と、基準特徴点と関連付けられた前景とを含み、ハードウェアプロセッサは、前景と背景との間の比率に基づいて、基準ヒートマップ内の勾配に加重するようにプログラムされる、側面３６または側面３７に記載のシステム。
【０１４６】
第３９の側面では、基準ヒートマップ内の勾配に加重するために、ハードウェアプロセッサは、１未満の減少係数によって、背景内のピクセルの値を減少させるようにプログラムされる、側面３８に記載のシステム。
【０１４７】
第４０の側面では、ウェアラブルディスプレイシステムが、開示される。本システムは、ウェアラブルディスプレイシステムの装着者の環境の部屋画像を取得するように構成される、外向きに面した結像システムと、部屋画像を記憶するように構成される、非一過性メモリと、非一過性メモリと通信する、ハードウェアプロセッサであって、環境の部屋画像にアクセスし、部屋画像を分析し、部屋画像内の予測される部屋のレイアウトを決定し、部屋画像内を分析するために、プロセッサは、ニューラルネットワークを使用して、部屋画像内の部屋に関する部屋タイプと関連付けられた２次元（２Ｄ）特徴点の順序付けられたセットを決定するようにプログラムされ、少なくとも部分的に、２Ｄ特徴点および部屋タイプに基づいて、部屋のレイアウトを提供するようにプログラムされる、プロセッサとを備える。
【０１４８】
第４１の側面では、ニューラルネットワークは、畳み込みエンコーダ−デコーダネットワークを備える、側面４０に記載のウェアラブルディスプレイシステム。
【０１４９】
第４２の側面では、畳み込みエンコーダ−デコーダネットワークは、メモリ増強再帰エンコーダ−デコーダネットワークを備える、側面４１に記載のウェアラブルディスプレイシステム。
【０１５０】
第４３の側面では、ニューラルネットワークは、部屋タイプを決定するように構成される、分類子を含む、側面４０−４２のいずれか１項に記載のウェアラブルディスプレイシステム。
【０１５１】
第４４の側面では、ハードウェアプロセッサはさらに、２Ｄ特徴点の順序付けられたセットをヒートマップから抽出するようにプログラムされる、側面４０−４３のいずれか１項に記載のウェアラブルディスプレイシステム。
【０１５２】
第４５の側面では、ハードウェアプロセッサはさらに、部屋画像を分析するオブジェクト認識装置からオブジェクト情報にアクセスし、オブジェクト情報と部屋のレイアウトを組み合わせるようにプログラムされる、側面４０−４４のいずれか１項に記載のウェアラブルディスプレイシステム。
【０１５３】
第４６の側面では、部屋のレイアウトを推定するための方法が、開示される。本方法は、部屋のレイアウトの推定のための部屋画像にアクセスするステップと、部屋のレイアウトを推定するためのニューラルネットワークのエンコーダ−デコーダサブネットワークおよび部屋画像を使用して、複数の部屋タイプに対応する複数の予測される２次元（２Ｄ）特徴点マップを決定するステップと、エンコーダ−デコーダサブネットワーク、エンコーダ−デコーダサブネットワークに接続される、ニューラルネットワークの分類子サブネットワーク、および部屋画像を使用して、予測される部屋タイプを複数の部屋タイプから決定するステップと、複数の予測される２Ｄ特徴点マップおよび予測される部屋タイプを使用して、予測される部屋タイプと関連付けられた複数の順序付けられた特徴点を決定するステップと、複数の順序付けられた特徴点を使用して、部屋画像内の部屋の予測されるレイアウトを決定するステップとを含む。
【０１５４】
第４７の側面では、複数の部屋タイプ内の各部屋タイプは、部屋タイプ特徴点の順序付けられたセットを含む、側面４６に記載の方法。
【０１５５】
第４８の側面では、複数の部屋タイプ内の各部屋タイプは、部屋タイプ内の領域に関する意味論セグメント化を含み、意味論セグメント化は、床、天井、または壁としての識別を含む、側面４７に記載の方法。
【０１５６】
第４９の側面では、第１の特徴点順序は、複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、第１の特徴点順序および第２の特徴点順序は、異なる、側面４７または側面４８に記載の方法。
【０１５７】
第５０の側面では、部屋画像は、単眼画像を含む、側面４６−４９のいずれか１項に記載の方法。
【０１５８】
第５１の側面では、部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、側面４６−５０のいずれか１項に記載の方法。
【０１５９】
第５２の側面では、部屋画像の次元は、予測される２Ｄ特徴点マップの次元より大きい、側面４６−５１のいずれか１項に記載の方法。
【０１６０】
第５３の側面では、エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のプーリング層を含む、エンコーダサブネットワークを備える、側面４６−５２のいずれか１項に記載の方法。
【０１６１】
第５４の側面では、エンコーダ−デコーダサブネットワークは、複数の畳み込み層および複数のアップサンプリング層を含む、デコーダサブネットワークを備える、側面４６−５３のいずれか１項に記載の方法。
【０１６２】
第５５の側面では、エンコーダ−デコーダサブネットワークは、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークを備える、側面４６−５４のいずれか１項に記載の方法。
【０１６３】
第５６の側面では、エンコーダ−デコーダサブネットワークは、複数の再帰層を備える、側面４６−５５のいずれか１項に記載の方法。
【０１６４】
第５７の側面では、複数の再帰層の再帰反復数は、２である、側面５６に記載の方法。
【０１６５】
第５８の側面では、複数の再帰層の再帰反復数は、少なくとも３である、側面５６に記載の方法。
【０１６６】
第５９の側面では、複数の再帰層はそれぞれ、加重行列を有し、加重行列は、複数の再帰層の全てに関して同一である、側面５６−５８のいずれか１項に記載の方法。
【０１６７】
第６０の側面では、予測される２次元（２Ｄ）特徴点マップは、ヒートマップを含む、側面４６−５９のいずれか１項に記載の方法。
【０１６８】
第６１の側面では、ヒートマップから特徴点場所をヒートマップの最大値として抽出するステップをさらに含む、側面６０に記載の方法。
【０１６９】
第６２の側面では、部屋画像を分析し、オブジェクト情報と部屋の予測されるレイアウトを組み合わせる、オブジェクト認識装置から、オブジェクト情報にアクセスするステップをさらに含む、側面４６−６１のいずれか１項に記載の方法。
【０１７０】
第６３の側面では、オブジェクト認識装置を使用して、部屋画像内の直方体を検出するステップをさらに含む、側面６２に記載の方法。
【０１７１】
第６４の側面では、部屋のレイアウトを推定するためのニューラルネットワークを訓練するための方法が、開示される。本方法は、訓練用部屋画像を受信するステップであって、訓練用部屋画像は、複数の部屋タイプからの基準部屋タイプと、部屋の基準レイアウトと関連付けられた基準特徴点と関連付けられる、ステップと、部屋のレイアウト推定のためのニューラルネットワークを生成するステップであって、ニューラルネットワークは、複数の部屋タイプのそれぞれと関連付けられた予測される部屋のレイアウトと関連付けられた予測される２次元（２Ｄ）特徴点を出力するように構成される、エンコーダ−デコーダサブネットワークと、予測される部屋タイプを複数の部屋タイプから出力するように構成される、エンコーダ−デコーダネットワークに接続される、サイドサブネットワークとを備える、ステップと、予測される２Ｄ特徴点に関する第１の損失および予測される部屋タイプに関する第２の損失に基づいて、損失関数を最適化するステップと、最適化された損失関数に基づいて、ニューラルネットワークのパラメータを更新するステップとを含む。
【０１７２】
第６５の側面では、複数の部屋タイプの数は、５を上回る、側面６４に記載の方法。
【０１７３】
第６６の側面では、基準特徴点および予測される２Ｄ特徴点は、特徴点順序と関連付けられる、側面６４または側面６５に記載の方法。
【０１７４】
第６７の側面では、第１の特徴点順序は、複数の部屋タイプのうちの第１の部屋タイプと関連付けられ、第２の特徴点順序は、複数の部屋タイプのうちの第２の部屋タイプと関連付けられ、第１の特徴点順序および第２の特徴点順序は、異なる、側面６４−６６のいずれか１項に記載の方法。
【０１７５】
第６８の側面では、訓練用部屋画像は、単眼画像を含む、側面６４−６７のいずれか１項に記載の方法。
【０１７６】
第６９の側面では、訓練用部屋画像は、赤色−緑色−青色（ＲＧＢ）画像を含む、側面６４−６８のいずれか１項に記載の方法。
【０１７７】
第７０の側面では、訓練用部屋画像の次元は、予測される２Ｄ特徴点と関連付けられたマップの次元より大きい、側面６４−６９のいずれか１項に記載の方法。
【０１７８】
第７１の側面では、エンコーダサブネットワークおよびデコーダサブネットワークは、複数の再帰層を備える、側面６４−７０のいずれか１項に記載の方法。
【０１７９】
第７２の側面では、再帰層の再帰反復数は、２または３である、側面７１に記載の方法。
【０１８０】
第７３の側面では、深層監視が、再帰層に適用される、側面７１または側面７２に記載の方法。
【０１８１】
第７４の側面では、再帰層の反復の第１の再帰反復と関連付けられた加重は、再帰層の反復の第２の再帰反復と関連付けられた加重と同じである、側面７１−７３のいずれか１項に記載の方法。
【０１８２】
第７５の側面では、複数の再帰層は、メモリ増強再帰エンコーダ−デコーダ（ＭＲＥＤ）ネットワークとして構成される、側面７１−７４のいずれか１項に記載の方法。
【０１８３】
第７６の側面では、サイドサブネットワークは、部屋タイプ分類子を含む、側面６４−７５のいずれか１項に記載の方法。
【０１８４】
第７７の側面では、予測される２Ｄ特徴点に関する第１の損失は、複数の基準特徴点場所と予測される２Ｄ特徴点との間のユークリッド損失を含む、側面６４−７６のいずれか１項に記載の方法。
【０１８５】
第７８の側面では、予測される部屋タイプに関する第２の損失は、クロスエントロピ損失を含む、側面６４−７７のいずれか１項に記載の方法。
【０１８６】
第７９の側面では、予測される２Ｄ特徴点は、予測されるヒートマップから抽出される、側面６４−７８のいずれか１項に記載の方法。
【０１８７】
第８０の側面では、訓練画像の基準特徴点と関連付けられた基準ヒートマップを計算し、予測されるヒートマップと基準ヒートマップとの間の差異に基づいて、予測される２Ｄ特徴点に関する第１の損失を計算するステップをさらに含む、側面７９に記載の方法。
【０１８８】
第８１の側面では、基準ヒートマップは、基準特徴点毎の場所を中心とする２次元分布を含む、側面８０に記載の方法。
【０１８９】
第８２の側面では、基準ヒートマップは、基準特徴点から離れた背景と、基準特徴点と関連付けられた前景とを含み、ハードウェアプロセッサは、前景と背景との間の比率に基づいて、基準ヒートマップ内の勾配に加重するようにプログラムされる、側面８０または側面８１に記載の方法。
【０１９０】
第８３の側面では、基準ヒートマップ内の勾配に加重するステップは、背景内のピクセルの値を１未満の減少係数によって減少させるステップを含む、側面８２に記載の方法。
【０１９１】
第８４の側面では、方法が、開示される。本方法は、環境の部屋画像にアクセスするステップと、ニューラルネットワークを使用して、部屋画像内の部屋に関する部屋タイプと関連付けられた２次元（２Ｄ）特徴点の順序付けられたセットを決定するステップを含む、部屋画像を分析し、部屋画像内の予測される部屋のレイアウトを決定するステップと、少なくとも部分的に、２Ｄ特徴点および部屋タイプに基づいて、部屋のレイアウトを提供するステップとを含む。
【０１９２】
第８５の側面では、ニューラルネットワークは、畳み込みエンコーダ−デコーダネットワークを備える、側面８４に記載の方法。
【０１９３】
第８６の側面では、畳み込みエンコーダ−デコーダネットワークは、メモリ増強再帰エンコーダ−デコーダネットワークを備える、側面８５に記載の方法。
【０１９４】
第８７の側面では、ニューラルネットワークは、部屋タイプを決定するように構成される、分類子を含む、側面８４−８６のいずれか１項に記載の方法。
【０１９５】
第８８の側面では、２Ｄ特徴点の順序付けられたセットをヒートマップから抽出するステップをさらに含む、側面８４−８７のいずれか１項に記載の方法。
【０１９６】
第８９の側面では、部屋画像を分析し、オブジェクト情報を決定するステップと、オブジェクト情報と部屋のレイアウトを組み合わせるステップとをさらに含む、側面８４−８８のいずれか１項に記載の方法。
（付加的考慮点）
【０１９７】
本明細書に説明される、および／または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、１つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および／または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ（例えば、サーバ）または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【０１９８】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、（適切な特殊化された実行可能命令を利用する）特定用途向けハードウェアまたは１つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスク（例えば、ＲｏｏｍＮｅｔ技法の性能）または用途を提供するようにビデオデータを処理する必要がある。
【０１９９】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および／または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール（またはデータ）はまた、無線ベースおよび有線／ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として（例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として）伝送され得、種々の形態（例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして）をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【０２００】
本明細書に説明される、および／または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能（例えば、論理または算術）またはステップを実装するための１つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合され得る、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【０２０１】
本プロセス、方法、およびシステムは、ネットワーク（または分散）コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【０２０２】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。本明細書で開示される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【０２０３】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの１つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【０２０４】
とりわけ、「〜できる（ｃａｎ）」、「〜し得る（ｃｏｕｌｄ）」、「〜し得る（ｍｉｇｈｔ）」、「〜し得る（ｍａｙ）」、「例えば（ｅ．ｇ．）」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および／またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および／またはステップが、１つまたはそれを上回る実施形態に対していかようにも要求されること、または１つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および／またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「〜を備える」、「〜を含む」、「〜を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され（およびその排他的意味において使用されず）、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの１つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「ａ」、「ａｎ」、および「ｔｈｅ」は、別様に規定されない限り、「１つ以上の」または「少なくとも１つ」を意味するように解釈されるべきである。
【０２０５】
本明細書で使用されるように、項目のリスト「〜のうちの少なくとも１つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」は、Ａ、Ｂ、Ｃ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、およびＡ、Ｂ、およびＣを網羅することが意図される。語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がＸ、Ｙ、またはＺのうちの少なくとも１つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在するように要求することを示唆することを意図されない。
【０２０６】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序または連続的順序で実施されること、または全ての図示される動作が実施されることの必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で１つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、１つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
【図１Ａ】
0006929953.tif 000019
【図１Ｂ】
0006929953.tif 000020
【図１Ｃ】
0006929953.tif 000021
【図２】
0006929953.tif 000022
【図３】
0006929953.tif 000023
【図４Ａ】
0006929953.tif 000024
【図４Ｂ】
0006929953.tif 000025
【図５】
0006929953.tif 000026
【図６Ａ】
0006929953.tif 000027
【図６Ｂ】
0006929953.tif 000028
【図７−１】
0006929953.tif 000029
【図７−２】
0006929953.tif 000030
【図７−３】
0006929953.tif 000031
【図８−１】
0006929953.tif 000032
【図８−２】
0006929953.tif 000033
【図９】
0006929953.tif 000034
【図１０】
0006929953.tif 000035
【図１１】
0006929953.tif 000036
【図１２】
0006929953.tif 000037