(57)【要約】  オブジェクト認識パイプラインをビデオデータのフレームに適用することを含む方法。オブジェクト認識パイプラインは、フレーム内に検出されるオブジェクトのマスク出力を提供する。本方法は、オブジェクトインスタンスのマップを生成するように、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することを含み、カメラのポーズの概算及び奥行きデータを使用して、オブジェクトインスタンスのマップに関するモデルスペースにマスク出力を投影することを含む。オブジェクトインスタンスのマップ内のオブジェクトインスタンスは、３次元オブジェクトボリューム内の表面−距離のメトリックの値を使用して規定され、かつ、オブジェクトインスタンスの、モデルスペースへの変換を示すオブジェクトのポーズの概算を有している。オブジェクトのポーズの概算及びカメラのポーズの概算は、モデルインスタンスのマップに関するポーズグラフのノードを形成する。
2021534495.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト認識パイプラインをビデオデータのフレームに適用することであって、前記オブジェクト認識パイプラインが、前記フレーム内に検出されるオブジェクトのマスク出力を提供する、前記適用することと、
オブジェクトインスタンスのマップを生成するように、前記オブジェクト認識パイプラインの前記マスク出力を、前記ビデオデータのフレームに関連付けられた奥行きデータと融合することと、を含み、
カメラのポーズの概算及び前記奥行きデータを使用して、前記オブジェクトインスタンスのマップに関するモデルスペースに前記マスク出力を投影することを含み、
前記オブジェクトインスタンスのマップ内のオブジェクトインスタンスが、３次元オブジェクトボリューム内の表面−距離のメトリックの値を使用して規定され、かつ、前記オブジェクトインスタンスの、前記モデルスペースへの変換を示すオブジェクトのポーズの概算を有しており、
前記オブジェクトのポーズの概算及び前記カメラのポーズの概算が、モデルインスタンスのマップに関するポーズグラフのノードを形成する、方法。
【請求項２】
前記オブジェクト認識パイプラインの前記マスク出力を、前記ビデオデータのフレームに関連付けられた奥行きデータと融合することが、
前記カメラのポーズの概算を使用してオブジェクトインスタンスに関するマスク出力を概算することと、
概算された前記マスク出力を、前記オブジェクト認識パイプラインの前記マスク出力と比較して、前記オブジェクトインスタンスのマップからのオブジェクトインスタンスが、前記ビデオデータのフレーム内に検出されるかを判定することと、を含む、請求項１に記載の方法。
【請求項３】
前記ビデオデータのフレーム内にオブジェクトインスタンスが存在しないことに応じて、前記オブジェクト認識パイプラインの前記マスク出力を、前記ビデオデータのフレームに関連付けられた奥行きデータと融合することが、
新たなオブジェクトインスタンスを前記オブジェクトインスタンスのマップに追加することと、
新たなオブジェクトのポーズの概算を前記ポーズグラフに追加することと、を含む、請求項２に記載の方法。
【請求項４】
前記オブジェクト認識パイプラインの前記マスク出力を、前記ビデオデータのフレームに関連付けられた奥行きデータと融合することが、
検出されたオブジェクトインスタンスに応じて、前記ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つに基づき、前記表面−距離のメトリックの値をアップデートすることを含む、請求項２または請求項３に記載の方法。
【請求項５】
前記３次元オブジェクトボリュームが３Ｄ画素のセットを含み、異なるオブジェクトインスタンスが、前記オブジェクトインスタンスのマップ内の異なる３Ｄ画素の解像度を有する、請求項１から請求項４のいずれか一項に記載の方法。
【請求項６】
前記表面−距離のメトリックの値が、端が切られた符号付き距離関数（ＴＳＤＦ）値である、請求項１から請求項５のいずれか一項に記載の方法。
【請求項７】
オブジェクトインスタンスに関する前記３次元オブジェクトボリュームの一部が、最前面の一部を形成するかを確率的に判定することを含む、請求項１から請求項６のいずれか一項に記載の方法。
【請求項８】
前記オブジェクトインスタンスのマップ内のオブジェクトインスタンスに関する存在の確率を判定することと、
前記存在の確率の値が予め規定された閾値未満であることの判定に応じて、前記オブジェクトインスタンスを前記オブジェクトインスタンスのマップから除去することと、を含む、請求項１から請求項７のいずれか一項に記載の方法。
【請求項９】
前記マスク出力が、複数の検出されたオブジェクト、及びそれぞれの確実性の値に関する２要素のマスクを含み、前記方法が、
前記マスク出力を融合する前に、前記確実性の値に基づき、前記オブジェクト認識パイプラインの前記マスク出力をフィルタリングすることを含む、請求項１から請求項８のいずれか一項に記載の方法。
【請求項１０】
前記オブジェクトを包含する３次元環境のオブジェクト非依存モデルを計算することと、
オブジェクトが検出されないことに応じて、前記３次元環境の前記オブジェクト非依存モデルを使用して、フレーム対モデルのトラッキングを提供することと、を含む、請求項１から請求項９のいずれか一項に記載の方法。
【請求項１１】
前記ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、前記オブジェクト非依存モデルとの間の誤差をトラッキングすることと、
前記誤差が予め規定された閾値を超えることに応じて、前記ポーズグラフの最適化を含む、現在の前記ビデオデータのフレームを、前記オブジェクトインスタンスのマップへ整列させるための再位置決めを実施することと、を含む、請求項１０に記載の方法。
【請求項１２】
ビデオデータのフレーム内にオブジェクトを検出し、かつ、前記フレーム内に検出されたオブジェクトのマスク出力を提供する、少なくとも１つのプロセッサを備えているオブジェクト認識パイプラインと、
オブジェクトインスタンスのマップを規定するデータを貯蔵するメモリであって、前記オブジェクトインスタンスのマップ内のオブジェクトインスタンスが、３次元オブジェクトボリューム内の表面−距離のメトリックの値を使用して規定される、前記メモリと、
前記オブジェクトインスタンスのマップに関するポーズグラフを規定するデータを貯蔵するメモリであって、前記ポーズグラフが、カメラのポーズの概算及びオブジェクトのポーズの概算を示すノードを含み、前記オブジェクトのポーズの概算が、モデルスペース内の前記オブジェクトインスタンスの位置及び向きを示す、前記メモリと、
前記オブジェクトインスタンスのマップを占めるように、前記オブジェクト認識パイプラインの前記マスク出力を、前記ビデオデータのフレームに関連付けられた奥行きデータと融合するための、少なくとも１つのプロセッサを備えている融合エンジンであって、前記融合エンジンが、前記ポーズグラフのノードを使用して、前記オブジェクトインスタンスのマップに関し、前記モデルスペースに前記マスク出力を投影するように構成されている、前記融合エンジンと、を備えた、システム。
【請求項１３】
前記融合エンジンが、前記カメラのポーズの概算を使用して、前記オブジェクトインスタンスのマップ内のオブジェクトインスタンスに関するマスク出力を生成することと、生成された前記マスク出力を、前記オブジェクト認識パイプラインの前記マスク出力と比較して、前記オブジェクトインスタンスのマップからのオブジェクトインスタンスが、ビデオデータのフレーム内に検出されるかを判定することと、を行うように構成されている、請求項１２に記載のシステム。
【請求項１４】
前記融合エンジンが、前記ビデオデータのフレーム内にオブジェクトインスタンスの存在がないことに応じて、新たなオブジェクトインスタンスを前記オブジェクトインスタンスのマップに追加し、新たなノードを前記ポーズグラフに追加するように構成されており、前記新たなノードが、前記新たなオブジェクトインスタンスに関して概算されるオブジェクトのポーズに対応する、請求項１２に記載のシステム。
【請求項１５】
前記オブジェクトを包含する３次元環境のオブジェクト非依存モデルを示すデータを貯蔵するメモリを備え、
前記融合エンジンが、前記３次元環境の前記オブジェクト非依存モデルを使用して、オブジェクトインスタンスが検出されないことに応じたフレーム対モデルのトラッキングを提供する、請求項１２または請求項１３に記載のシステム。
【請求項１６】
前記ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、前記オブジェクト非依存モデルとの間の誤差をトラッキングする少なくとも１つのプロセッサを備えたトラッキング構成要素を備え、
前記誤差が予め規定された閾値を超えることに応じて、前記モデルトラッキングエンジンが、前記ポーズグラフを最適化させる、請求項１５に記載のシステム。
【請求項１７】
前記ビデオデータのフレームを提供する少なくとも１つのカメラであって、ビデオデータのフレームの各々が、画像構成要素及び奥行き構成要素を含んでいる、前記少なくとも１つのカメラを備えた、請求項１２から請求項１６のいずれか一項に記載のシステム。
【請求項１８】
前記オブジェクト認識パイプラインが、画像の区分けマスクを予測するためのパスを伴う、領域ベースのたたみ込みのニューラルネットワークＲＣＮＮを含む、請求項１２から請求項１７のいずれか一項に記載のシステム。
【請求項１９】
ロボットデバイスであって、
少なくともカラーデータを含むビデオデータのフレームを提供する少なくとも１つのキャプチャデバイスと、
請求項１２から請求項１８のいずれか一項に記載のシステムと、
前記ロボットデバイスが周囲の３次元環境と相互作用することを可能にする１つまたは複数のアクチュエータと、
前記１つまたは複数のアクチュエータを制御する少なくとも１つのプロセッサを含む相互作用エンジンと、を備え、
前記相互作用エンジンが、前記周囲の３次元環境内のオブジェクトと相互作用するために、前記オブジェクトインスタンスのマップを使用する、前記ロボットデバイス。
【請求項２０】
プロセッサによって実行された際に、コンピュータデバイスに、請求項１から請求項１１のいずれか一項に記載の方法を実施させる、コンピュータ実行可能な命令を含む非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関する。具体的には、本発明は、オブジェクトインスタンスが３次元（３Ｄ）環境内に存在するオブジェクトに対応する、オブジェクトインスタンスのマップを生成するためのビデオデータのフレーム処理に関する。本発明は、排他的ではないが、その環境をナビゲーション及び／または相互作用するロボットデバイスによって使用される場合がある、オブジェクトインスタンスのマップを生成することに特に関する。
【背景技術】
【０００２】
コンピュータの視覚及びロボット工学の分野では、３Ｄ空間の表示を構築することがしばしば必要である。３Ｄ空間の表示の構築により、現実世界の環境を、その環境が電子デバイスによって使用及び操作される場合がある、仮想またはデジタル領域にマッピングすることが可能になる。たとえば、拡張現実の用途では、ユーザは、周囲の環境内の存在に対応するバーチャルオブジェクトと相互作用するためにハンドヘルドデバイスを使用する場合がある。または、可動ロボットデバイスは、位置特定とマッピングとを同時に可能にし、ひいてはその環境のナビゲーションを可能にするために、３Ｄ空間の表示を必要とする場合がある。多くの用途では、知的システムが、デジタル情報ソースを物理的オブジェクトに結合するように、環境の表示を有することが必要とされる場合がある。これにより、人の周りの物理的環境がインターフェースとなる、向上されたヒューマンマシンインターフェースが可能になる。同様の方式で、そのような表示は、向上された機械世界のインターフェースをも可能にする場合がある。たとえば、ロボットデバイスが現実世界の環境における物理的オブジェクトと相互作用及び操作することを可能にする。
【０００３】
３Ｄ空間の表示を構築するために利用可能であるいくつかの技術が存在する。たとえば、ストラクチャフロムモーションとマルチビューステレオとが、そのような技術の２つである。多くの技術は、たとえば、Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ（ＳＩＦＴ）及び／またはＳｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ（ＳＵＲＦ）のアルゴリズムを使用して、角及び／またはエッジなどの、３Ｄ空間の画像から特徴を抽出する。これら抽出された特徴は、次いで、３Ｄ表示を構築するために、画像から画像に相関される場合がある。この３Ｄ表示は、通常、３Ｄポイントクラウドとして、すなわち、３Ｄ空間に関する規定のボリューム内の、一連の規定されたＸ、Ｙ、及びＺ座標として、提供される。特定のケースでは、ポイントクラウドは、サーフェスレンダリングとして知られるプロセスにおいて、ディスプレイ上でのレンダリングのためのポリゴンメッシュに変換される場合がある。
【０００４】
空間の３Ｄ表示が生成されると、次いで、表示のユーティリティのさらなる問題が存在する。たとえば、多くのロボット工学の用途では、空間内のポイントの規定を必要とするのみならず、空間内に何が存在するかに関する有用な情報をも必要とする。このことは、コンピュータの視覚の分野において、空間の「意味的」知識と称される。空間内に何が存在するかを知ることは、人間の脳で、潜在意識下で起こるプロセスである。したがって、等しい能力を有する機械を構築することの困難性を過小評価しやすい。たとえば、人間が３Ｄ空間内でカップなどのオブジェクトを観察する場合、自己受容（たとえば、オブジェクトに向かう動き）及び言語処理に関するものを含むコアの視覚処理ネットワークに加え、脳内の多くの異なるエリアが動作する。しかし、多くのコンピュータの視覚システムは、空間の理解には、非常に単純である。たとえば、画像内の可視ポイントが色情報を有するが、各ポイントを個別の存在に区分するあらゆるデータが欠如している場合、環境の「マップ」が、３Ｄ画素として見られる場合がある。
【０００５】
３Ｄ空間の有用な表示の生成の研究は、依然としてその初期段階にある。過去には、２次元（２Ｄ）画像の分類（たとえば、「このシーンの画像には猫が含まれているか？」）と、Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ（ＳＬＡＭ）システムなどの３Ｄシーンのマッピングとの、比較的分かれた分野間に、基本的に成果が分けられていた。３Ｄシーンのマッピングのカテゴリーには、リアルタイムで動作できる、効果的なマッピングシステムの設計におけるさらなる課題が存在する。たとえば、既存のシステムの多くは、大量のデータセット上で、オフラインで（たとえば、夜通しか数日にわたって）動作する必要がある。現実世界の用途のために、リアルタイムで３Ｄシーンのマッピングを提供することが必要である。
【０００６】
Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ／ＲＳＪ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ（ＩＲＯＳ），２０１７．２に説明された、Ｎ．Ｓｕｎｄｅｒｈａｕｆ、Ｔ．Ｔ．Ｐｈａｍ、Ｙ．Ｌａｔｉｆ、Ｍ．Ｍｉｌｆｏｒｄ、そしてＩ．Ｒｅｉｄによる「Ｍｅａｎｉｎｇｆｕｌ  Ｍａｐｓ  Ｗｉｔｈ  Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ  Ｓｅｍａｎｔｉｃ  Ｍａｐｐｉｎｇ」の文書には、知能ロボットが、意味のある方法でその環境と相互作用するために、その知能ロボットの周りのシーンの幾何学的特性と意味論的特性との両方をどのように理解しなければならないかが記載されている。上に説明したように、彼らは、データに対するリサーチの大部分が、これらマッピングの課題に別々に対処し、幾何学的マッピングまたは意味論的マッピングのいずれかに注目していることを述べている。本文書では、彼らは、意味論的に有意義である、オブジェクトレベルの存在と、ポイントまたはメッシュベースの幾何学的表示との両方を含む環境的マップを構築することを追求している。既知のオブジェクトクラスの、以前は見られなかったインスタンスの幾何学的なポイントクラウドのモデルは、これらオブジェクトモデルを中心の存在として包含するマップと同時に構築される。提供されるシステムは、散在する、特徴ベースのＳＬＡＭ、画像ベースのディープラーニングのオブジェクト検出、及び３Ｄの管理されていない区分けを使用する。このアプローチには見込みがあるが、このアプローチは、ＯＲＢ−ＳＬＡＭパスと、Ｓｉｎｇｌｅ−ｓｈｏｔ  Ｍｕｌｔｉ−ｂｏｘ  Ｄｅｔｅｃｔｏｒ（ＳＳＤ）パスと、３Ｄ区分けパスとで形成された、複雑な３つのレーンの画像処理のパイプラインを使用する。別々のパスは、レッド、グリーン、ブルー（ＲＧＢ）、及び奥行き（すなわち、ＲＧＢ−Ｄ）のデータ上で並行して実行する。著者は、偽陰性の検出を含む、オブジェクト検出に特定の問題点が存在することをも示している。すなわち、このシステムは、しばしば存在しているオブジェクトのマッピングを失敗する。
【０００７】
Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ／ＲＳＪ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ（ＩＲＯＳ），２０１４．２に説明された、Ｓ．Ｃｈｏｕｄｈａｒｙ、Ａ．Ｊ．Ｂ．Ｔｒｅｖｏｒ、Ｈ．Ｉ．Ｃｈｒｉｓｔｅｎｓｅｎ、そしてＦ．Ｄｅｌｌａｅｒｔによる「ＳＬＡＭ  ｗｉｔｈ  ｏｂｊｅｃｔ  ｄｉｓｃｏｖｅｒｙ，  ｍｏｄｅｌｉｎｇ  ａｎｄ  ｍａｐｐｉｎｇ」の文書では、オンラインでのオブジェクトの発見及びオブジェクトのモデル化のためのアプローチが記載されている。ＳＬＡＭシステムは、発見され、モデル化されたオブジェクトを、オンラインの方式でロボットを位置決めすることを補助するために、ランドマークとして利用するように拡大される。そのようなランドマークは、より大であるマップ内のループ閉じ込みを検出するために有用であると見なされている。マップに加え、本システムは、将来のＳＬＡＭまたはサービスロボットの作業で使用するために、検出されたオブジェクトモデルのデータベースをも出力する。これら方法は、ＲＧＢ−Ｄデータからポイントクラウドを生成し、管理されていない方式で３Ｄオブジェクトの区分けを生成するために、ポイントクラウドの、接続された構成要素の分析を実施する。提案された方法が、反復的なオブジェクトからの結果であるものなど、偽陽性のマッチからどのように悪影響を受けるかが記載されている。
【０００８】
Ｍ．ＲｕｎｚとＬ．Ａｇａｐｉｔｏとによる「ＭａｓｋＦｕｓｉｏｎ：  Ｒｅａｌ−Ｔｉｍｅ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｔｒａｃｋｉｎｇ  ａｎｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｍｏｖｉｎｇ  Ｏｂｊｅｃｔｓ」の文書は、「ＭａｓｋＦｕｓｉｏｎ」と称されるＲＧＢ−Ｄ  ＳＬＡＭシステムを記載している。ＭａｓｋＦｕｓｉｏｎは、複数のオブジェクトをマッピング及びトラッキングするための（Ｍａｓｋ−ＲＣＮＮを使用する）意味論的なシーンの理解を利用するリアルタイムの視覚的ＳＬＡＭシステムであるものとして記載されている。しかし、この文書は、小さいオブジェクトが、ＭａｓｋＦｕｓｉｏｎシステムを使用してトラッキングするのは潜在的に困難であることを説明している。さらに、分類の誤りには対処されていない。
【０００９】
所与の既存の技術では、３次元空間に存在するオブジェクトのマッピングを可能にするための、有用かつ効果的なビデオデータの処理方法が望まれている。
【発明の概要】
【００１０】
本発明の第１の態様によれば、オブジェクト認識パイプラインをビデオデータのフレームに適用することであって、オブジェクト認識パイプラインが、フレーム内に検出されるオブジェクトのマスク出力を提供する、適用することと、オブジェクトインスタンスのマップを生成するように、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することと、を含み、カメラのポーズの概算及び奥行きデータを使用して、オブジェクトインスタンスのマップに関するモデルスペースにマスク出力を投影することを含み、オブジェクトインスタンスのマップ内のオブジェクトインスタンスが、３次元オブジェクトボリューム内の表面−距離のメトリックの値を使用して規定され、かつ、オブジェクトインスタンスの、モデルスペースへの変換を示すオブジェクトのポーズの概算を有しており、オブジェクトのポーズの概算及びカメラのポーズの概算が、モデルインスタンスのマップに関するポーズグラフのノードを形成する、方法が提供される。
【００１１】
特定の実施例では、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することが、カメラのポーズの概算を使用してオブジェクトインスタンスに関するマスク出力を概算することと、概算されたマスク出力を、オブジェクト認識パイプラインのマスク出力と比較して、オブジェクトインスタンスのマップからのオブジェクトインスタンスが、ビデオデータのフレーム内に検出されるかを判定することと、を含んでいる。ビデオデータのフレーム内にオブジェクトインスタンスが存在しないことに応じて、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することが、新たなオブジェクトインスタンスをオブジェクトインスタンスのマップに追加することと、新たなオブジェクトのポーズの概算をポーズグラフに追加することと、を含む場合がある。オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することは、検出されたオブジェクトインスタンスに応じて、ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つに基づき、表面−距離のメトリックの値をアップデートすることを含む場合がある。
【００１２】
特定の実施例では、３次元オブジェクトボリュームが３Ｄ画素のセットを含み、異なるオブジェクトインスタンスが、オブジェクトインスタンスのマップ内の異なる３Ｄ画素の解像度を有する。
【００１３】
特定の実施例では、表面−距離のメトリックの値は、端が切られた符号付き距離関数（ＴＳＤＦ：ｔｒｕｎｃａｔｅｄ  ｓｉｇｎｅｄ  ｄｉｓｔａｎｃｅ  ｆｕｎｃｔｉｏｎ）値である。
【００１４】
特定の実施例では、本方法は、オブジェクトインスタンスに関する３次元オブジェクトボリュームの一部が、最前面の一部を形成するかを確率的に判定することを含む。
【００１５】
特定の実施例では、本方法は、オブジェクトインスタンスのマップ内のオブジェクトインスタンスに関する存在の確率を判定することと、存在の確率の値が予め規定された閾値未満であることの判定に応じて、オブジェクトインスタンスをオブジェクトインスタンスのマップから除去することと、を含んでいる。
【００１６】
特定の実施例では、マスク出力は、複数の検出されたオブジェクト、及びそれぞれの確実性の値に関する２要素のマスクを含んでいる。これら実施例では、本方法は、マスク出力を融合する前に、確実性の値に基づき、オブジェクト認識パイプラインのマスク出力をフィルタリングすることを含む場合がある。
【００１７】
特定の実施例では、本方法は、オブジェクトを包含する３次元環境のオブジェクト非依存モデルを計算することと、オブジェクトが検出されないことに応じて、３次元環境のオブジェクト非依存モデルを使用して、フレーム対モデルのトラッキングを提供することと、を含んでいる。これら実施例では、本方法は、ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、オブジェクト非依存モデルとの間の誤差をトラッキングすることと、誤差が予め規定された閾値を超えることに応じて、ポーズグラフの最適化を含む、現在のビデオデータのフレームを、オブジェクトインスタンスのマップへ整列させるための再位置決めを実施することと、を含む場合がある。
【００１８】
本発明の第２の態様によれば、ビデオデータのフレーム内にオブジェクトを検出し、かつ、フレーム内に検出されたオブジェクトのマスク出力を提供する、少なくとも１つのプロセッサを備えているオブジェクト認識パイプラインと、オブジェクトインスタンスのマップを規定するデータを貯蔵するメモリであって、オブジェクトインスタンスのマップ内のオブジェクトインスタンスが、３次元オブジェクトボリューム内の表面−距離のメトリックの値を使用して規定される、メモリと、オブジェクトインスタンスのマップに関するポーズグラフを規定するデータを貯蔵するメモリであって、ポーズグラフが、カメラのポーズの概算及びオブジェクトのポーズの概算を示すノードを含み、オブジェクトのポーズの概算が、モデルスペース内のオブジェクトインスタンスの位置及び向きを示す、メモリと、オブジェクトインスタンスのマップを占めるように、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合するための、少なくとも１つのプロセッサを備えている融合エンジンであって、融合エンジンが、ポーズグラフのノードを使用して、オブジェクトインスタンスのマップに関し、モデルスペースにマスク出力を投影するように構成されている、融合エンジンと、を備えたシステムが提供される。
【００１９】
特定の実施例では、融合エンジンは、カメラのポーズの概算を使用して、オブジェクトインスタンスのマップ内のオブジェクトインスタンスに関するマスク出力を生成することと、生成されたマスク出力を、オブジェクト認識パイプラインのマスク出力と比較して、オブジェクトインスタンスのマップからのオブジェクトインスタンスが、ビデオデータのフレーム内に検出されるかを判定することと、を行うように構成されている。
【００２０】
特定の実施例では、融合エンジンは、ビデオデータのフレーム内にオブジェクトインスタンスの存在がないことに応じて、新たなオブジェクトインスタンスをオブジェクトインスタンスのマップに追加し、新たなノードをポーズグラフに追加するように構成されており、新たなノードは、新たなオブジェクトインスタンスに関して概算されるオブジェクトのポーズに対応する。
【００２１】
特定の実施例では、本システムは、オブジェクトを包含する３次元環境のオブジェクト非依存モデルを示すデータを貯蔵するメモリを備えている。これら実施例では、融合エンジンは、３次元環境のオブジェクト非依存モデルを使用して、オブジェクトインスタンスが検出されないことに応じたフレーム対モデルのトラッキングを提供するように構成されている場合がある。そのようなケースでは、本システムは、ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、オブジェクト非依存モデルとの間の誤差をトラッキングする少なくとも１つのプロセッサを備えたトラッキング構成要素を含み得、誤差が予め規定された閾値を超えることに応じて、モデルトラッキングエンジンが、ポーズグラフを最適化させる。
【００２２】
特定の実施例では、本システムは、ビデオデータのフレームを提供する少なくとも１つのカメラであって、ビデオデータのフレームの各々が、画像構成要素及び奥行き構成要素を含んでいる、少なくとも１つのカメラを含んでいる。
【００２３】
特定の実施例では、オブジェクト認識パイプラインは、画像の区分けマスクを予測するためのパスを伴う、領域ベースのたたみ込みのニューラルネットワークＲＣＮＮを含んでいる。
【００２４】
第２の態様のシステムは、本発明の第１の態様の任意の特徴を実施するように構成されている場合がある。
【００２５】
本発明の第３の態様によれば、ロボットデバイスであって、少なくともカラーデータを含むビデオデータのフレームを提供する少なくとも１つのキャプチャデバイスと、第２の態様に記載のシステムと、ロボットデバイスが周囲の３次元環境と相互作用することを可能にする１つまたは複数のアクチュエータと、１つまたは複数のアクチュエータを制御する少なくとも１つのプロセッサを含む相互作用エンジンと、を備え、相互作用エンジンが、周囲の３次元環境内のオブジェクトと相互作用するために、オブジェクトインスタンスのマップを使用する、ロボットデバイスが提供される。
【００２６】
本発明の第４の態様によれば、プロセッサによって実行された際に、コンピュータデバイスに、上述の方法のいずれかを実施させる、コンピュータ実行可能な命令を含む非一時的なコンピュータ可読記録媒体が提供される。
【００２７】
本発明のさらなる特徴及び利点は、例としてのみ与えられ、添付図面を参照して成される、本発明の好ましい実施形態の以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２８】
【図１Ａ】３次元（３Ｄ）空間の実施例を示す概略図である。
【図１Ｂ】３Ｄ空間の例示的なオブジェクトに利用可能な自由度を示す概略図である。
【図１Ｃ】例示的なキャプチャデバイスによって生成されたビデオデータを示す概略図である。
【図２】実施例に係るビデオデータを使用したオブジェクトインスタンスのマップの生成のためのシステムの概略図である。
【図３】例示的なポーズグラフを示す概略図である。
【図４】実施例に係る表面−距離のメトリックの使用を示す概略図である。
【図５】オブジェクト認識パイプラインのための例示的なマスク出力を示す概略図である。
【図６】実施例に係るオブジェクトインスタンスのマップの生成のためのシステムの構成要素を示す概略図である。
【図７】実施例に係るオブジェクトインスタンスのマップを生成するための例示的プロセスを示すフロー図である。
【発明を実施するための形態】
【００２９】
本明細書に記載の特定の実施例は、環境の観測を含むビデオデータに基づき、周囲の環境内のオブジェクトをマッピングすることを可能にする。オブジェクト認識パイプラインが、たとえば一連の２Ｄ画像の形態で、このビデオデータのフレームに適用される。オブジェクト認識パイプラインは、マスク出力を提供するように構成されている。マスク出力は、特定のフレームで検出されるオブジェクトに関するマスク画像の形態で提供される場合がある。マスク出力は、オブジェクトインスタンスのマップを生成するために、ビデオデータのフレームに関連付けられた奥行きデータと融合される。奥行きデータは、レッド、グリーン、ブルー−奥行き（ＲＧＢ−Ｄ）のキャプチャデバイスからのデータを含む場合があり、及び／または、ＲＧＢ画像データから（たとえば、ストラクチャフロムモーションのアプローチを使用して）計算される場合がある。融合には、カメラのポーズの概算及び奥行きデータを使用して、オブジェクトインスタンスのマップのためのモデルスペースにマスク出力を投影することが含まれる場合がある。たとえば、マスク出力に関連付けられた３Ｄ表示を判定し、次いで、判定された３Ｄ表示に基づき、既存の３Ｄ表示をアップデートする。ここで、３Ｄ表示は、オブジェクトを中心としている。すなわち、３Ｄ表示は、検出されたオブジェクトの各々に関して規定される。
【００３０】
本明細書に記載の特定の実施例は、オブジェクトインスタンスのマップを生成する。このマップは、オブジェクトインスタンスのセットを含む場合があり、ここで、オブジェクトインスタンスの各々が、３Ｄオブジェクトボリューム内の表面−距離のメトリックの値を使用して規定される。各オブジェクトインスタンスは、モデルスペースへのオブジェクトインスタンスの変換を示す、対応するオブジェクトのポーズの概算をも有する場合がある。表面−距離のメトリックの値は、３Ｄオブジェクトボリュームの表面に対する正規化された距離を示す場合がある。オブジェクトのポーズの概算は、次いで、３Ｄオブジェクトボリュームがどのように、この３Ｄオブジェクトボリュームをモデルスペースに整列させるように変換されるかを示す。たとえば、オブジェクトインスタンスは、モデルスペースとは独立した３Ｄ表示と、その表示をモデルスペース内に整列させる変換とを含むように見られる場合がある。
【００３１】
本明細書に記載の特定の実施例は、オブジェクトのポーズの概算と、カメラのポーズの概算との両方をトラッキングするために、ポーズグラフを使用する。たとえば、両方の概算のセットは、ポーズグラフのノードを形成する場合がある。カメラのポーズの概算は、カメラ（すなわち、キャプチャデバイス）が周囲の環境周りを移動した際、たとえば、カメラが移動し、ビデオデータを記録する際に、カメラの位置及び向きがどのように変化するかを示している。ポーズグラフのノードは、６つの自由度（６ＤＯＦ）を使用して規定される場合がある。
【００３２】
本明細書に記載の実施例を使用して、オンラインのオブジェクト中心のＳＬＡＭシステムが提供され得る。このシステムは、任意の再構築されたオブジェクトの永続的かつ正確な３Ｄグラフのマップを構築する。オブジェクトインスタンスは、最適化可能な６ＤｏＦのポーズグラフの一部として貯蔵される場合がある。この６ＤｏＦのポーズグラフは、環境のマップ表示として使用される場合がある。奥行きデータの融合は、オブジェクトインスタンスを徐々に精錬することを可能にする場合があり、精錬されたオブジェクトインスタンスは、トラッキング、再度の位置決め、及びループ閉じ込みの検出のために使用される場合がある。３Ｄオブジェクトボリューム内の表面−距離のメトリックの値を使用して規定されたオブジェクトインスタンスを使用することにより、ループ閉じ込み及び／またはポーズグラフの最適化が、オブジェクトのポーズの概算を調整するが、オブジェクト内部のゆがみを避ける。たとえば、３Ｄオブジェクトボリューム内の表示の変形が避けられる。
【００３３】
本明細書に記載の特定の実施例は、３Ｄ環境のオブジェクトを中心とする表示を、ビデオデータから生成することを可能にする。すなわち、３Ｄ座標系内のポイントクラウドとは反対に、スペースは、別個の存在のセットを示すデータを使用してマッピングされる。このことは、シーン内に視認可能である「オブジェクトを検出している」として見られる場合がある。ここで、「検出」は、物理的存在に対応する別個のデータの規定が、３Ｄ環境の観測または測定を示すビデオデータに基づいて生成されたことを示す（たとえば、別個の存在が、３Ｄ環境内に存在しないオブジェクトに関しては生成されない）。ここで、「オブジェクト」は、たとえばロボットが相互作用し得る、材料の存在を伴う、任意の視認可能なものまたは存在に関する場合がある。「オブジェクト」は、人間がラベルを付すことができる物体の集合に対応する場合がある。ここで、オブジェクトは、おおまかに解釈され、多くの他のものの中で、壁、ドア、フロア、及び人、ならびに、家庭、オフィス、及び／または外部の空間内の家具、他のデバイス、及び慣習的なオブジェクトなどの存在を含んでいる。
【００３４】
本明細書に記載の実施例によって生成されるような、オブジェクトインスタンスのマップは、コンピュータの視覚及び／またはロボットのアプリケーションが、３Ｄ環境と相互作用することを可能にする。たとえば、家庭用ロボットのためのマップが、空間内のオブジェクトを識別するデータを含む場合、ロボットは、「テーブル」から「ティーカップ」を区別することができる。ロボットは、こうして、マッピングされたオブジェクトインスタンスを有するオブジェクト上のエリアを把握するための適切なアクチュエータのパターンを適用する場合があり、たとえば、ロボットが、「ティーカップ」を「テーブル」とは別々に移動することを可能にする。
【００３５】
図１Ａ及び図１Ｂは、３Ｄ空間、及びその空間に関連付けられたビデオデータのキャプチャの実施例を概略的に示している。次いで、図１Ｃは、空間を視認している際にビデオデータを生成するように構成されたキャプチャデバイスを示している。これら実施例は、本明細書に記載の特定の特徴をより良好に説明するために提供されており、限定するものと解釈されるべきではない。特定の特徴は、説明を容易にするために、省略及び簡略化されている。
【００３６】
図１Ａは、３次元空間１１０の実施例１００を示している。３Ｄ空間１１０は、内部及び／または外部の物理的空間、たとえば、部屋または地理的な位置の少なくとも一部である場合がある。この実施例１００内の３Ｄ空間１１０は、３Ｄ空間内に位置する複数の物理的オブジェクト１１５を含んでいる。これらオブジェクト１１５は、他のものの内、人、電子デバイス、家具、動物、建物の一部、及び設備の１つまたは複数を含む場合がある。図１Ａの３Ｄ空間１１０が、下側表面を伴って示されているが、このことは、すべての実施態様におけるケースである必要はない。たとえば、環境が空中であるか、地球外の空間内にある場合がある。
【００３７】
実施例１００は、３Ｄ空間１１０と関連付けられたビデオデータを取得するために使用される場合がある、様々な例示的なキャプチャデバイス１２０−Ａ、１２０−Ｂ、及び１２０−Ｃ（集合的に、参照符号１２０で参照される）をも示している。図１Ａのキャプチャデバイス１２０−Ａなどのキャプチャデバイスは、デジタルまたはアナログのいずれかの形態で、３Ｄ空間１１０の観測の結果として生じるデータを記録するように配置されているカメラを備えている場合がある。特定のケースでは、キャプチャデバイス１２０−Ａは、移動可能であり、たとえば、３Ｄ空間１１０の様々な観測される部分に対応する様々なフレームを取得するように配置されている場合がある。キャプチャデバイス１２０−Ａは、静的な土台に対して移動可能である場合があり、たとえば、３Ｄ空間１１０に関し、カメラの位置及び／または向きを変更するためのアクチュエータを備えている場合がある。別のケースでは、キャプチャデバイス１２０−Ａは、人間のユーザによって操作及び移動されるハンドヘルドデバイスである場合がある。
【００３８】
図１Ａでは、複数のキャプチャデバイス１２０−Ｂ、１２０−Ｃも、３Ｄ空間１１０内を移動するように配置されたロボットデバイス１３０に結合されて示されている。ロボットデバイス１３５は、自立型の空中及び／または陸上のモバイルデバイスを含む場合がある。本実施例１００では、ロボットデバイス１３０は、デバイスが３Ｄ空間１１０をナビゲーションすることを可能にするアクチュエータ１３５を含んでいる。これらアクチュエータ１３５は、図ではホイールを含んでいる。他のケースでは、これらアクチュエータ１３５は、トラック、穴掘り機構、ロータなどを備えている場合がある。１つまたは複数のキャプチャデバイス１２０−Ｂ、１２０−Ｃは、静的にまたは移動可能にそのようなデバイスに取り付けられている場合がある。特定のケースでは、ロボットデバイスは、静的に３Ｄ空間１１０内に取り付けられている場合があるが、デバイスの一部、アームまたは他のアクチュエータなどは、空間内で移動するように配置され、空間内のオブジェクトと相互作用する場合がある。各キャプチャデバイス１２０−Ｂ、１２０−Ｃは、異なるタイプのビデオデータを取得する場合があり、及び／または、ステレオ画像ソースを備えている場合がある。あるケースでは、キャプチャデバイス１２０−Ｂは、たとえば、赤外、超音波、及び／またはレーダー（光検知測距−ＬＩＤＡＲ技術を含む）などのリモート検知技術を使用して、奥行きデータを取得する場合があり、一方、キャプチャデバイス１２０−Ｃは、光度測定データ、たとえば、カラーまたはグレースケールの画像を取得する（または、逆の場合もある）。あるケースでは、キャプチャデバイス１２０−Ｂ、１２０−Ｃの１つまたは複数は、ロボットデバイス１３０とは独立して移動可能である場合がある。あるケースでは、キャプチャデバイス１２０−Ｂ、１２０−Ｃの１つまたは複数は、回転機構上に取り付けられている場合がある。たとえば、この回転機構は、斜めになっている弧状に回転する、及び／または、３６０度回転する、及び／または、パノラマのシーン（たとえば、３６０度全体のパノラマまで）を取得するために、光学系が適合されて配置されている。
【００３９】
図１Ｂは、キャプチャデバイス１２０及び／またはロボットデバイス１３０に利用可能である自由度の実施例１４０を示している。１２０−Ａなどのキャプチャデバイスのケースでは、デバイスの方向１５０は、レンズまたは他の撮像装置の軸と同一線上にある場合がある。３つの軸の１つの周りを回転する実施例として、垂直軸１５５が図に示されている。同様に、ロボットデバイス１３０のケースでは、ロボットデバイス１３０の整列の方向１４５が規定されている場合がある。このことは、ロボットデバイスの向いている方向、及び／または移動方向を示す場合がある。垂直軸１５５も示されている。単一の垂直軸のみが、キャプチャデバイス１２０またはロボットデバイス１３０に関して示されているが、これらデバイスは、以下に記載のように、１４０として概略的に示された軸の任意の１つまたは複数の周りに回転する場合がある。
【００４０】
より概略的には、キャプチャデバイスの向き及び位置は、６つの自由度（６ＤＯＦ）を参照して３次元で規定される場合がある。位置は、たとえば［ｘ，ｙ，ｚ］の座標系により、３つの次元の各々の内で規定される場合があり、向きは、たとえば［θｘ，θｙ，θｚ］である、３つの軸の各々の周りの回転を示す角度ベクトルによって規定される場合がある。位置及び向きは、たとえば、３Ｄ座標系内に規定された原点に対する、３次元内の変位として見られる場合がある。たとえば、［ｘ，ｙ，ｚ］座標は、３Ｄ座標系内の原点から特定の位置への移動を示す場合があり、角度ベクトル［θｘ，θｙ，θｚ］は、３Ｄ座標系内の回転を規定する場合がある。６ＤＯＦを有する変位は、マトリクスによる乗法が変位に適用されるように、マトリクスとして規定される場合がある。特定の実施態様では、キャプチャデバイスは、たとえば、ｙ次元が一定である場合がある、地上の車両のキャプチャデバイスに関し、これら６つの自由度の限定されたセットを参照して規定される場合がある。ロボットデバイス１３０などの特定の実施態様では、別のデバイスに結合されたキャプチャデバイスの向き及び位置は、その他のデバイスの向き及び位置を参照して規定される場合があり、たとえば、ロボットデバイス１３０の向き及び位置を参照して規定される場合がある。
【００４１】
本明細書に記載の実施例では、たとえば６ＤＯＦの変形マトリクスで説明されるような、キャプチャデバイスの向き及び位置は、キャプチャデバイスのポーズとして規定されている場合がある。同様に、たとえば６ＤＯＦの変形マトリクスで説明されるような、オブジェクト表示の向き及び位置は、オブジェクト表示のポーズとして規定されている場合がある。キャプチャデバイスのポーズは、たとえばビデオデータが記録されるにつれて、経時的に変化する場合があり、それにより、キャプチャデバイスは、時間ｔとは異なるポーズを時間ｔ＋１において有する場合があるようになっている。キャプチャデバイスを備えているハンドヘルドのモバイルコンピュータデバイスのケースでは、ポーズは、ハンドヘルドデバイスが３Ｄ空間１１０内でユーザによって移動される際に、変化する場合がある。
【００４２】
図１Ｃは、キャプチャデバイスの構成の実施例を概略的に示している。図１Ｃの実施例１６０では、キャプチャデバイス１６５は、ビデオデータ１７０を生成するように構成されている。ビデオデータは、時間とともに変化する画像データを含んでいる。キャプチャデバイス１６５がデジタルカメラである場合、このことは、直接実施される場合がある。たとえば、ビデオデータ１７０は、電荷結合デバイスまたは相補型金属酸化膜半導体（ＣＭＯＳ）センサからの処理されたデータを含む場合がある。たとえば、アナログ信号ソースを変換するなど、他の画像ソースの処理を通して、関節的にビデオデータ１７０を生成することも可能である。
【００４３】
図１Ｃでは、画像データ１７０は、複数のフレーム１７５を含んでいる。各フレーム１７５は、ある期間内の特定の時間ｔに関する場合がある。この期間にわたり、図１の１１０などの３Ｄ空間の画像（すなわち、Ｆｔ）が取得される。フレーム１７５は、概して、測定されたデータの２Ｄ表示で構成される。たとえば、フレーム１７５は、時間ｔにおける記録されたピクセル値の２Ｄのアレイまたはマトリクスを含む場合がある。図１Ｃの実施例では、ビデオデータ内のすべてのフレーム１７５が同じサイズであるが、このことは、すべての実施例のケースである必要はない。フレーム１７５内のピクセル値は、３Ｄ空間の特定の部分の測定値を示している。
【００４４】
図１Ｃの実施例では、各フレーム１７５は、画像データの２つの異なる形態に関する値を含んでいる。値の第１のセットは、奥行きデータ１８０（たとえば、Ｄｔ）に関する。奥行きデータは、キャプチャデバイスからの距離の表示を含む場合がある。たとえば、各ピクセルまたは画像要素の値は、３Ｄ空間の一部の、キャプチャデバイス１６５からの距離を示す場合がある。値の第２のセットは、光度測定データ１８５（たとえば、カラーデータＣｔ）に関する。これら値は、所与の解像度に関し、レッド、グリーン、ブルーのピクセル値を含む場合がある。他の実施例では、他のカラーの空間が使用される場合がある、及び／または、光度測定データ１８５が、モノラルもしくはグレースケールのピクセル値を含む場合がある。あるケースでは、ビデオデータ１７０は、圧縮されたビデオストリーミングまたはファイルを含む場合がある。このケースでは、ビデオデータのフレームは、ストリームまたはファイルから、たとえば、ビデオデコーダの出力として再構築される場合がある。ビデオデータは、ビデオストリーミングまたはファイルの前処理の後に、メモリ位置から回収される場合がある。
【００４５】
図１Ｃのキャプチャデバイス１６５は、いわゆるＲＧＢ−Ｄカメラを備えている場合がある。ＲＧＢ−Ｄカメラは、ＲＧＢデータ１８５と奥行き（「Ｄ」）データ１８０との両方を取得するように配置されている。あるケースでは、ＲＧＢ−Ｄカメラは、ビデオデータを経時的に取得するように配置されている。奥行きデータ１８０とＲＧＢデータ１８５との１つまたは複数は、任意のある時間において使用される場合がある。特定のケースでは、ＲＧＢ−Ｄデータは、単一のフレームにおいて、４つ以上のチャンネルと組み合わせられる場合がある。奥行きデータ１８０は、立体照明のアプローチなどの、当該技術で知られている１つまたは複数の技術によって生成される場合がある。ここで、赤外レーザープロジェクタが、３次元空間の観測される部分上に赤外光のパターンを投影し、この部分が、次いで、モノクロＣＭＯＳ撮像センサによって撮像される。これらカメラの実施例には、ｔｈｅ  Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  ｏｆ  ＡｍｅｒｉｃａのＲｅｄｍｏｎｄ，ＷａｓｈｉｎｇｔｏｎのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＫｉｎｅｃｔ（登録商標）カメラの範囲、Ｔａｉｐｅｉ，ＴａｉｗａｎのＡＳＵＳＴｅＫ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃ．によって製造されたＸｔｉｏｎ（登録商標）カメラの範囲、及び、ｔｈｅ  Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ  ｏｆ  ＡｍｅｒｉｃａのＣｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａの、Ａｐｐｌｅ  Ｉｎｃ．の傘下のＰｒｉｍｅＳｅｎｓｅによって製造されたＣａｒｍｉｎｅ（登録商標）のカメラの範囲が含まれる。特定の実施例では、ＲＧＢ−Ｄカメラは、タブレット、ラップトップ、または移動電話などのモバイルコンピュータデバイスに組み込まれている場合がある。他の実施例では、ＲＧＢ−Ｄカメラは、スタティックコンピュータデバイスの周辺機器として使用される場合があるか、専用の処理能力を有するスタンドアロンデバイスに組み込まれている場合がある。あるケースでは、キャプチャデバイス１６５は、結合されたデータの貯蔵デバイス内にビデオデータ１７０を貯蔵するように配置されている場合がある。別のケースでは、キャプチャデバイス１６５は、たとえば、データのストリームとして、またはフレーム毎に、結合されたコンピュータデバイスにビデオデータ１７０を送信する場合がある。結合されたコンピュータデバイスは、たとえばユニバーサルシリアルバス（ＵＳＢ）の接続を介して、直接結合されている場合があるか、たとえばビデオデータ１７０が１つまたは複数のコンピュータネットワークを越えて送信される場合があるなど、間接的に結合されている場合がある。さらに別のケースでは、キャプチャデバイス１６５は、ネットワークに取り付けられた貯蔵デバイス内に貯蔵するために、１つまたは複数のコンピュータネットワークを越えてビデオデータ１７０を送信するように構成されている場合がある。ビデオデータ１７０は、フレーム毎に、またはバッチベースで貯蔵及び／または送信される場合がある。たとえば、複数のフレームがともにまとめられている場合がある。奥行きデータ１８０は、光度測定データ１８５と同じ解像度またはフレームレートである必要はない。たとえば、奥行きデータ１８０は、光度測定データ１８５よりも低い解像度で測定される場合がある。１つまたは複数の前処理操作が、ビデオデータ１７０が後に記載する実施例で使用される前に、ビデオデータ１７０に実施される場合もある。あるケースでは、前処理は、２つのフレームのセットが共通のサイズ及び解像度を有するように適用される場合がある。特定のケースでは、別々のキャプチャデバイスが、奥行きデータと光度測定データとをそれぞれ生成する場合がある。本明細書に記載されていないさらなる構成も可能である。
【００４６】
特定のケースでは、キャプチャデバイスは、奥行きデータを生成するために前処理を実施するように配置されている場合がある。たとえば、ハードウェア検知デバイスは、差異データ、または複数のステレオ画像の形態のデータを生成する場合があり、ここで、ソフトウェア及びハードウェアの１つまたは複数が、このデータを処理して、奥行き情報を計算するために使用される。同様に、奥行きデータは、代替的に、フェイズ画像を出力する飛行時間カメラから生じる場合がある。フェイズ画像は、奥行き情報を再構築するために使用される場合がある。したがって、任意の適切な技術が、本明細書の実施例に記載のように、奥行きデータを生成するために使用される場合がある。
【００４７】
図１Ｃは実施例として提供されており、理解されるように、この図に示す構成とは異なる構成が、以下に記載の方法及びシステムで使用するためのビデオデータ１７０を生成するために使用される場合がある。ビデオデータ１７０は、３Ｄ空間の、取得されたか記録されたビューの二次元の形態の表示で配置された、任意の測定された知覚の入力をさらに含む場合がある。たとえば、このことは、他のものの内、奥行きデータまたは光度測定データ、電磁撮像、超音波撮像、及びレーダー出力のただ１つを含む場合がある。これらケースでは、特定の形態のデータと関連する撮像デバイスのみ、たとえば奥行きデータを伴わないＲＧＢデバイスが、必要とされる場合がある。上述の実施例では、奥行きデータＤｔのフレームが、奥行きの値の２次元マトリクスを含む場合がある。このことは、たとえば、ｘＲ１対ｙＲ１の解像度を有するフレーム内の各［ｘ，ｙ］ピクセル値が、３次元空間内の表面のキャプチャデバイスからの距離を示す奥行きの値ｄを含む場合、グレースケールの画像として表示される場合がある。光度測定データＣｔのフレームは、カラー画像を含む場合があり、ここで、ｘＲ２対ｙＲ２の解像度を有するフレーム内の各［ｘ，ｙ］のピクセル値が、ＲＧＢベクトル［Ｒ，Ｇ，Ｂ］を含んでいる。実施例として、データの両方のセットの解像度が６４０×４８０のピクセルである場合がある。
【００４８】
図２は、オブジェクトインスタンスのマップを生成するための例示的システム２００を示している。図２のシステムは、オブジェクト認識パイプライン２１０、融合エンジン２２０、及びメモリ２３０を備えている。オブジェクト認識パイプライン２１０及び融合エンジン２２０は、本明細書に記載のように、データを処理するための少なくとも１つのプロセッサを備えている。オブジェクト認識パイプライン２１０及び融合エンジン２２０は、プロセッサを有する専用の集積回路の方法で実施される場合がある。たとえば、特定用途の集積回路（ＡＳＩＣ）もしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及び／または、１つまたは複数の中央処理ユニット及びグラフィック処理ユニットなどの多目的プロセッサである。オブジェクト認識パイプライン２１０及び融合エンジン２２０のプロセッサは、１つまたは複数のプロセッシングコアを有する場合があり、プロセッシングがコアにわたって分配されている。オブジェクト認識パイプライン２１０及び融合エンジン２２０は、別々の電子構成要素として、たとえば、データを送信及び受信する外部のインターフェースを伴って実施される場合があり、及び／または、共通のコンピュータシステムの一部を形成する場合がある（たとえば、それらのプロセッサは、コンピュータデバイス内の１つまたは複数のプロセッサの共通のセットを含む場合がある）。オブジェクト認識パイプライン２１０及び融合エンジン２２０は、本明細書に記載の機能性を提供するために、プロセッサによる実行のためのコンピュータプログラムコードを貯蔵するように、関連するメモリ及び／または永続的貯蔵部を含む場合がある。あるケースでは、オブジェクト認識パイプライン２１０及び融合エンジン２２０は、実行のためのコンピュータプログラムコードを貯蔵するために、メモリ２３０を使用する場合がある。他のケースでは、オブジェクト認識パイプライン２１０及び融合エンジン２２０は、別々のメモリを使用する場合がある。
【００４９】
図２では、オブジェクト認識パイプライン２１０は、ビデオデータのフレーム２４０内のオブジェクトを検出し、フレーム内に検出されたオブジェクトのマスク出力２５０を提供するように構成されている。ビデオデータは、前述のようなビデオデータ、たとえば、ＲＧＢまたはＲＧＢ−Ｄのデータである場合がある。マスク出力は、画像のセットを含む場合があり、ここで、各画像は、オブジェクト認識パイプライン２５０によってビデオデータの所与のフレーム内に検出されたオブジェクトに対応する。マスク出力は、２要素の画像の形態である場合があり、ここで、「１」の値は、ビデオデータのフレーム内のピクセルが、検出されたオブジェクトと関連づけられると考えられることを示し、「０」の値は、ビデオデータのフレーム内のピクセルが、検出されたオブジェクトとは関連付けられていないことを示している。他のケースでは、マスク出力は、１つまたは複数のチャンネルを含んでいる。たとえば、各マスク画像は、ｎビットのグレースケールの値を含む場合があり、ここで、その値は、ピクセルが特定のオブジェクトと関連付けられている確率を示している（たとえば、８ビットの画像に関し、２５５の値は、１の確率を示す場合がある）。特定のケースでは、マスク出力は、０チャンネルの画像を含む場合があり、各チャンネルは、０オブジェクトの異なるオブジェクトを示している。他のケースでは、異なる画像は、検出されたオブジェクトの各々に関して出力される場合がある。
【００５０】
融合エンジン２２０は、メモリ２３０にアクセスし、このメモリ２３０に貯蔵されたデータをアップデートするように構成されている。図２では、メモリ２３０は、ポーズグラフ２６０を規定するデータと、オブジェクトインスタンスのマップ２７０を規定するデータとを貯蔵している。これらが、２つの別々のデータの存在を含むものとして図２に示されているが、これらは、周囲の環境のマップまたは表示など、共通のデータの存在の一部を形成する場合がある。メモリは、ランダムアクセスメモリまたはハードディスクドライブなど（たとえば、固体記憶装置または磁気記憶装置）の揮発性及び／または不揮発性のメモリを含む場合がある。使用時には、完全なポーズグラフ２６０及びオブジェクトインスタンスのマップ２７０を規定するデータは、揮発性メモリに貯蔵されている場合がある。他のケースでは、一部のみが揮発性メモリ内に貯蔵され、このデータの永続的なコピーが、不揮発性記憶装置に維持されている場合がある。メモリ２３０の構成は、用途及び利用可能なリソースに応じる。
【００５１】
図２では、融合エンジン２２０は、オブジェクト認識パイプラインのマスク出力２５０を、ビデオデータのフレーム２４０に関連付けられた奥行きデータと融合させて、オブジェクトインスタンスのマップ２７０を占めるように構成されている。たとえば、融合エンジン２２０は、ＲＧＢ−Ｄビデオデータのフレームの奥行きチャンネルに貯蔵された奥行きデータ（Ｄ）を使用する場合がある。代替的には、融合エンジン２２０は、ビデオデータのフレーム２４０から奥行きデータを生成するように配置された奥行きプロセッサを備えるか、通信するように結合されている場合がある。融合エンジン２２０は、ポーズグラフ２６０のノードを使用して、オブジェクトインスタンスのマップに関し、モデルスペースにマスク出力２５０を投影するように構成されている。このケースでは、「モデルスペース」は、３Ｄ座標系を含む場合がある。この３Ｄ座標系は、ビデオデータのフレーム２４０内での特色となっている、周囲の環境をモデル化するように規定されている。このモデルスペースの原点は、任意に規定される場合がある。モデルスペースは、周囲の環境の「世界」を示し、また、各オブジェクトインスタンスの「オブジェクト空間」によって際立たせられている場合がある。本実施例では、オブジェクトインスタンスのマップ２７０は、たとえばマスク出力２５０によって規定されるような、周囲の環境内に検出されるオブジェクトに対応する１つまたは複数の別個の存在に関するデータの規定を含んでいる。オブジェクトインスタンスのマップ内のオブジェクトインスタンスは、３Ｄオブジェクトボリューム（「オブジェクト空間」）内の表面−距離のメトリックの値を使用して規定される場合がある。オブジェクトのポーズの概算は、このため、モデルスペースに対し、オブジェクト空間内に規定されるようにオブジェクトをマッピングするように、検出されたオブジェクトに関して規定される場合もある。たとえば、オブジェクト空間内の規定は、オブジェクトのデフォルトの位置及び向き（たとえば、平らな水平表面上で向けられた「ティーカップ」）を示す場合があり、オブジェクトのポーズの概算は、オブジェクト空間内の場所（すなわち、位置）及び向きを、周囲の環境の世界の位置及び向きにマッピングする変換を含む場合がある（たとえば、「ティーカップ」は、ビデオデータに観測される環境内で、回転されるか、傾けられるが、上下逆に置かれる場合があり、モデルスペースの規定の原点に対して移動される場合がある−たとえば、周囲の環境内の他のオブジェクトに対する場所または位置を反映するモデルスペースの場所または位置を有する）。オブジェクトのポーズの概算は、カメラのポーズの概算とともに、ポーズグラフ２６０のノードとして貯蔵される場合がある。カメラのポーズの概算は、ビデオデータのフレームを通して時間が進むにつれての、キャプチャデバイスの位置及び向きを示している。たとえば、ビデオデータは、キャプチャデバイス（ＲＧＢ−Ｄカメラなど）を環境（部屋の内部など）の周りを移動させることによって記録される場合がある。ビデオデータのフレームの少なくともサブセットが、このため、フレームが記録された時点におけるキャプチャデバイスの位置及び向きを示す、対応するカメラのポーズの概算を有する場合がある。カメラのポーズの概算は、ビデオデータのすべてのフレームに関しては存在しない場合があるが、ビデオデータの記録された時間の範囲内の時間のサブセットに関して判定される場合がある。
【００５２】
図２のシステムは、少なくとも２つの平行なプロセッシングスレッドを使用して実施される場合がある。一方のスレッドは、オブジェクト認識パイプライン２１０を実施し、他方のスレッドは、融合エンジン２２０を実施する。オブジェクト認識パイプライン２１０は、２Ｄ画像に作用し、一方、融合エンジン２２０は、オブジェクトの３Ｄ表示を操作する。図２に示す配置は、このため、効果的に提供される場合があり、また、得られたビデオデータにリアルタイムで作用する。しかし、他のケースでは、ビデオデータの処理のいくつかまたはすべては、リアルタイムでは発生しない場合がある。マスク出力を生成するオブジェクト認識パイプラインを使用することにより、管理されていない３Ｄの区分けを伴わない、奥行きデータとのシンプルな融合が可能になる。管理されていない３Ｄの区分けは、本明細書の実施例の方法よりも正確ではない場合がある。融合エンジン２２０の作用の結果として生じるオブジェクトインスタンスは、カメラのポーズの概算のポーズグラフに組み込まれる場合があり、ここで、オブジェクトのポーズの概算は、オブジェクトが検出された際にポーズグラフに加えられる場合がある。このことは、トラッキングと、３Ｄオブジェクト検出との両方を合わせることを可能にする。ここで、カメラのポーズの概算は、奥行きデータを融合するために使用される。カメラのポーズの概算とオブジェクトのポーズの概算とは、たとえばトラッキングが失われた際に、ともに最適化される場合もある。
【００５３】
あるケースでは、オブジェクトインスタンスは、オブジェクト認識パイプライン２１０によって検出されたオブジェクトに基づいて初期化される。たとえば、オブジェクト認識パイプライン２１０が、ビデオデータのフレーム内の特定のオブジェクト（たとえば、「カップ」または「コンピュータ」）を検出した場合、オブジェクト認識パイプライン２１０は、マスク出力２５０の一部として、そのオブジェクトに関するマスク画像を出力する場合がある。始動時に、オブジェクトインスタンスのマップ２７０内にオブジェクトインスタンスが貯蔵されていない場合、オブジェクトの初期化ルーチンが開始される場合がある。このルーチンでは、検出されたオブジェクトに関するマスク画像からのピクセル（たとえば、６８０×４８０の解像度などで２Ｄ座標空間に規定される）は、ビデオデータのフレーム及び、たとえば、Ｄの奥行きチャンネルからの奥行きデータに関するカメラのポーズの概算を使用して、モデルスペースに投影される場合がある。あるケースでは、フレームｋに関するモデルスペース内のポイントｐｗ（たとえば、「Ｗ」、「世界」を示す３Ｄ座標系内）は、フレームに関するカメラのポーズの概算
【数１】
2021534495.tif 000003
、固有のカメラマトリクスＫ（たとえば、３×３のマトリクス）、画像の座標系ｕ＝（ｕ１，ｕ２）を有するｉ番目に検出されたオブジェクトに関する２要素のマスク
【数２】
2021534495.tif 000004
、及び奥行きマップＤｋ（ｕ）を使用して、たとえば以下の通りに計算される場合がある。
【００５４】
【数３】
2021534495.tif 000005
【００５５】
こうして、各マスク画像に関し、モデルスペース内のポイントのセットがマッピングされる場合がある。これらポイントは、検出されたオブジェクトと関連すると考えられる。このポイントのセットからオブジェクトインスタンスを生成するために、ボリュームの中心が計算される場合がある。このことは、ポイントのセットの中心に基づいて計算される場合がある。ポイントのセットは、ポイントクラウドを形成するものと考えられる場合がある。特定のケースでは、ポイントクラウドの百分位数が、ボリュームの中心及び／またはボリュームのサイズを規定するために使用される場合がある。これにより、たとえば、遠くの背景の表面からの干渉を避ける。この干渉は、所与のオブジェクトに関する奥行きの境界に対して誤って整列されたマスク画像の予期された境界によって生じる場合がある。これら百分位数は、各軸に関して別々に規定される場合があり、また、たとえば、ポイントクラウドの１０番目の百分位数と９０番目の百分位数として選択される場合がある（たとえば、ｘ、ｙ、及び／またはｚ軸の値の下１０％と上１０％とを除去する）。したがって、ボリュームの中心が、各軸に沿う値の８０％に関する中心として規定される場合があり、ボリュームのサイズは、９０番目の百分位数と１０番目の百分位数との間の距離として規定される場合がある。充填要素が、浸食及び／または他の要素に対処するために、ボリュームのサイズに対して適用される場合がある。特定のケースでは、ボリュームの中心及びボリュームのサイズが、後の検出からのマスク画像に基づいて再計算される場合がある。
【００５６】
あるケースでは、３Ｄオブジェクトボリュームは、３Ｄ画素のセット（たとえば、３Ｄ空間内の規則的なグリッド内のボリューム）を含み、表面−距離のメトリックは、各３Ｄ画素に関連付けられている。様々なオブジェクトインスタンスが、様々な解像度の３Ｄオブジェクトボリュームを有する場合がある。３Ｄオブジェクトボリュームの解像度は、オブジェクトのサイズに基づいて設定される場合がある。このオブジェクトのサイズは、上述のボリュームのサイズに基づく場合がある。たとえば、異なるボリュームを有する、たとえば、モデルスペース内にポイントを包含する２つのオブジェクトが存在する場合、より小さいボリュームを有するオブジェクトは、より大であるボリュームを有するオブジェクトよりも小さいサイズの３Ｄ画素を有する場合がある。あるケースでは、各オブジェクトインスタンスには、最初の決まった解像度（たとえば、６４×６４×６４）の３Ｄオブジェクトボリュームが割り当てられる場合があり、このため、３Ｄ画素サイズは、オブジェクトボリュームのサイズのメトリックを最初の決まった解像度によって割ることにより、オブジェクトインスタンスに関して計算される場合がある。このことは、小さいオブジェクトを、細かい細部を伴って再構築し、大きいオブジェクトを、より粗く再構築することを可能にする。したがって、このことは、オブジェクトインスタンスのマップをメモリ効率のよいものにする。たとえば、所与の利用可能なメモリに抑制する。
【００５７】
上述の特定のケースでは、オブジェクトインスタンスは、得られた奥行きデータ（上のＤｋなど）に基づき、３Ｄオブジェクトボリュームに関する表面−距離のメトリックの値を計算することによって貯蔵される場合がある。たとえば、３Ｄオブジェクトボリュームは、上述のように初期化される場合があり、次いで、奥行きデータからの表面の測定値が、３Ｄオブジェクトボリュームの３Ｄ画素に関する表面−距離のメトリックの値として貯蔵される場合がある。オブジェクトインスタンスは、このため、複数の場所に３Ｄ画素のセットを含む場合がある。
【００５８】
表面−距離のメトリックが正規化された、端が切られた符号付き距離関数（ＴＳＤＦ）値（図４を参照してさらに記載する）を含む実施例として、ＴＳＤＦ値は、０に初期化される場合がある。次いで、３Ｄオブジェクトボリューム内の各３Ｄ画素は、オブジェクトのポーズの概算を使用してモデルスペース内に投影され、次いで、カメラのポーズの概算を使用してカメラフレーム内に投影される場合がある。この投影の後に生成されたカメラフレームは、このため、奥行きデータと比較される場合があり、表面−距離のメトリックの値は、この比較に基づき、３Ｄ画素に関してアップデートされる。たとえば、カメラフレーム内に投影された３Ｄ画素の奥行きは、３Ｄ画素が投影するピクセルに関し、測定された奥行き（奥行きデータによって示される）から減じられる場合がある。これにより、３Ｄ画素とオブジェクトインスタンスの表面との間の距離を計算する（このことは、たとえば、符号付き距離関数値などの、表面−距離のメトリックである）。符号付き距離関数が、所定の端切りの閾値よりオブジェクトの表面内により深く入り込んでいる場合（奥行きの測定値に端切りの閾値を足したものよりも大である奥行きの値を有するなど）、表面−距離のメトリックの値は、アップデートされない。そうでなければ、フリースペース、及び、ちょうど表面内にある３Ｄ画素は、符号付き距離関数の値を計算するために使用される場合がある。符号付き距離関数の値は、端切りの閾値へ、端の値が切られて、ＴＳＤＦ値を生成する場合がある。後の奥行き画像に関し、加重平均のアプローチが、ＴＳＤＦ値を合算し、サンプル数で割ることによって取られる場合がある。
【００５９】
本明細書に記載の特定の実施例は、こうして、一定のオブジェクトインスタンスのマッピングを提供し、実際の、雑然とした室内のシーンにおける、以前は形状が不明である複数のオブジェクトの分類を可能にする。特定の記載の実施例は、モジュール式のアプローチに基づき、画像ベースのオブジェクトインスタンスの区分け、データ融合及びトラッキング、ならびにポーズグラフ生成のためのモジュールによる、リアルタイム、またはほぼリアルタイムの作用を可能にするように設計されている。これら実施例により、シーン内の顕著なオブジェクト要素に注目し、多様なオブジェクトのサイズに応じた解像度を可能にする、長期間のマップを生成することが可能になる。
【００６０】
図３は、図２のポーズグラフ２６０を規定するデータ内に示される場合があるなど、ポーズグラフ３００の実施例を示している。ポーズグラフは、そのノードが、たとえば、静的シーンにおいて時間的に変化しないオブジェクトのポーズ、または異なる時点におけるカメラのポーズに対応するグラフであり、そのエッジは、ポーズ間の制約を示している。制約は、（たとえばビデオデータからの）環境の観測から、及び／または、（たとえば、路程測定を使用して）環境内のロボットデバイスによって実施される移動動作から得られる場合がある。ポーズグラフは、エッジによってモデル化された測定値にもっとも合ったノードの空間的構成を見出すことによって最適化される場合がある。
【００６１】
説明の簡略化のために、図３は、小さい例示的なポーズグラフ３００を示している。得られたデータに基づく実際のポーズグラフは、さらにより複雑である場合があることに留意されたい。ポーズグラフは、ノード３１０、３２０と、これらノードを接続するエッジ３３０とを含んでいる。図３の実施例では、各ノードは、たとえばシステム２００によって検出されるような、カメラまたはオブジェクトの位置及び向きを示す、関連する変換を有している。たとえば、ノード３１０は、第１のカメラのポーズの概算Ｃ１と関連付けられており、ノード３２０は、第１のオブジェクトに関するオブジェクトのポーズの概算Ｏ１に関連付けられている。各エッジ３３０は、Δ（デルタ）によって示される制約を有する（しかし、エッジ３３０とは別のエッジに関連する制約は、明確化のために、図３では省略されている）。エッジの制約は、Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ（ＩＣＰ）の誤差項に基づいて判定される場合がある。これら誤差項は、連続したカメラのポーズの概算を比較すること、及び／または、カメラのポーズの概算とオブジェクトのポーズの概算とを（たとえば、ポーズグラフの接続されたノードとして）比較することによって規定される場合がある。この方法で、ＩＣＰアルゴリズムは、入力フレームを、（たとえば、ポーズグラフ内に貯蔵された）シーン内のオブジェクトのセットの現在のモデルと整列させるために使用される場合がある。シーン内の各オブジェクトに関する最終的なポーズは、ポーズグラフの現在の状態に関する測定誤差を提供する場合があり、ポーズグラフの最適化が、最適な現在のポーズグラフ構成を提供するように、測定誤差を最小化するために使用される場合がある。この方法で計算される測定誤差は、通常、逆共分散に依存し、このことは、ＩＣＰコスト関数の、ヘッセ曲線またはガウス−ニュートン曲線（ときにはＪｔＪと称される）などの曲線を使用して概算される場合がある。
【００６２】
特定のケースでは、図２の２１０などのオブジェクト認識パイプラインが、オブジェクトを検出し、そのオブジェクトに関するデータを包含するマスク出力を提供し、新たなカメラのポーズの概算が、ノードとしてポーズグラフ３００に追加される。同様に、新たなオブジェクトインスタンスが、オブジェクトインスタンスのマップ内で初期化された場合、新たなオブジェクトのポーズの概算が、ノードとしてポーズグラフに追加される場合がある。オブジェクトのポーズの概算は、３Ｄオブジェクトボリュームに関するボリュームの中心に添付された座標のフレームに関して規定される場合がある。オブジェクトのポーズの概算は、ポーズグラフ３００内のランドマークのノードとして考慮される場合がある。たとえば、「ランドマーク」と関連付けられたポーズの概算、すなわち、位置及び向きを判定するために有用なオブジェクトである。ポーズグラフ内の各ノード３１０、３２０は、６ＤＯＦの変換を含む場合がある。カメラのポーズの概算に関し、この変換は、「カメラから世界へ」の変換ＴＷＣを含む場合があり、オブジェクトのポーズの概算に関し、この変換は、６ＤＯＦの「オブジェクトから世界へ」の変換ＴＷＯを含む場合がある。ここで、「世界」は、モデルスペースによって示される。変換には、固定の特殊ユークリッド（Ｓｐｅｃｉａｌ  Ｅｕｃｌｉｄｅａｎ）群ＳＥ（３）の変換が含まれる場合がある。このケースでは、エッジには、ＩＣＰ誤差項に基づいて判定される場合がある、ＳＥ（３）のノード間の相対的なポーズの制限が含まれる場合がある。特定のケースでは、ポーズグラフは、モデルスペースの原点として規定された、決まった第１のカメラのポーズの概算で初期化される場合がある。
【００６３】
作動時には、融合エンジン２２０は、カメラ及び／またはオブジェクトのポーズの概算をアップデートするために、ポーズグラフ２６０を規定するデータを処理する場合がある。たとえば、あるケースでは、融合エンジン２２０は、カメラ対オブジェクト、及びカメラ対カメラからのエッジのすべてにわたる合算として計算された、グラフに関する誤差全体を低減するように、ポーズグラフを最適化する場合があり、ポーズの概算は、ノード及びエッジの値に基づいて変位する。たとえば、グラフを最適化するものは、ローカルポーズの測定値の乱れの原因をモデル化し、これらを使用して、たとえば、ＩＣＰ誤差に基づく逆測定の共分散とともに、誤差合計の計算で使用される情報マトリクスに関するヤコビ項を計算する場合がある。
【００６４】
図４は、オブジェクトインスタンスに関する３Ｄオブジェクトボリューム４１０の実施例４００と、そのボリュームを通る関連する２Ｄスライスとを示しており、そのスライスに関連する３Ｄ画素のセットに関する表面−距離のメトリックの値を示している。
【００６５】
図４に示すように、オブジェクトインスタンスのマップ内の各オブジェクトインスタンスは、関連する３Ｄオブジェクトボリューム４１０を有している。たとえばオブジェクトボリューム４１０内の３Ｄ画素の数である、３Ｄ画素の解像度は、初期値で固定される場合がある（たとえば、６４×６４×６４）。そのようなケースでは、３Ｄ画素サイズは、オブジェクトボリューム４１０に依存する場合があり、このことは、ひいてはオブジェクトのサイズに依存する。たとえば、１立方メートルのサイズであり、６４×６４×６４の３Ｄ画素の解像度を有するオブジェクトに関し、３Ｄ画素は、０．０１５６立方メートルのサイズである場合がある。同様に、２立方メートルのサイズであり、同じ６４×６４×６４の３Ｄ画素の解像度を有するオブジェクトに関し、３Ｄ画素は、０．０３１３立方メートルのサイズである場合がある。換言すると、より小さいオブジェクトは、より粗く再構築される場合がある、より大であるオブジェクトよりも、（たとえば、より小さい３Ｄ画素を使用して）より細かいディテールを伴って再構築される場合がある。３Ｄオブジェクトボリューム４１０は、立方体のボリュームとして示されているが、ボリュームは、マッピングされる構成及び／またはオブジェクトに応じて、様々である、及び／または不規則的な形状である場合がある。
【００６６】
図４では、３Ｄオブジェクトボリューム４１０内のオブジェクト４２０の範囲が、ボリュームの３Ｄ画素と関連付けられた表面−距離のメトリックの値によって規定されている。これら値を図示するために、３Ｄオブジェクトボリューム４１０を通る２Ｄスライス４３０が図示されている。この実施例では、２Ｄスライス４３０は、オブジェクト４２０の中心を通っており、共通のｚ空間の値を有する３Ｄ画素４４０のセットに関連している。２Ｄスライス４３０のｘ及びｙの範囲は、図の右上に示されている。右下には、３Ｄ画素に関する表面−距離のメトリックの値４６０が示されている。
【００６７】
本ケースでは、表面−距離のメトリックは、３Ｄ空間内の観測された表面からの距離を示している。図４では、表面−距離のメトリックは、３Ｄオブジェクトボリューム４１０の３Ｄ画素が、オブジェクト４２０の外部のフリースペースに属するか、オブジェクト４２０内の充填されたスペースに属するかを示している。表面−距離のメトリックは、正規化された、端が切られた符号付き距離関数（ＴＳＤＦ）値を含む場合がある。図４では、表面−距離のメトリックは、１から−１の値を有している。したがって、スライス４３０に関する値は、２Ｄ画像４５０として考慮される場合がある。１の値は、オブジェクト４２０の外部のフリースペースを示しており、一方、−１の値は、オブジェクト４２０内の充填されたスペースを示している。このため、０の値は、オブジェクト４２０の表面を示している。３つの異なる値（「１」、「０」、及び「−１」）のみが、説明の簡略化のために示されているが、実際の値は、表面に対する相対距離を示す小数値（たとえば、「０．５４」、または「−０．３１」）である場合がある。負であるか正である値が、表面の外部の距離を示すかは、実施態様間で変化し得る取り決めであることにも留意されたい。値は、実施態様に応じて端の値が切られる場合があるか、切られない場合がある。端の値を切ることは、特定の閾値を超える距離が、「１」及び「−１」のフロアまたは天井の値に設定されることを意味する。同様に、平準化が適用される場合があるか、適用されない場合があり、「１」から「−１」以外の範囲が使用される場合がある（たとえば、値は、８ビット表示に関し、「−１２７から１２８」である場合がある）。図４では、オブジェクト４２０のエッジは、「０」の値によって見られる場合があり、オブジェクトの内部は、「−１」の値によって見られる場合がある。特定の実施例では、表面−距離のメトリックの値とともに、３Ｄオブジェクトボリュームの各３Ｄ画素が、融合エンジン２２０によって使用するための関連する重みをも有する場合がある。特定のケースでは、重みは、フレーム毎に設定される場合がある（たとえば、以前のフレームからのオブジェクトに関する重みが、後のフレームに関し、奥行きデータを表面−距離のメトリックの値と融合するために使用される）。重みは、加重平均の方式で奥行きデータを融合するために使用される場合がある。表面−距離のメトリックの値及び重みの値を使用して奥行きデータを融合する方法の１つが、ｔｈｅ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＩＧＧＲＡＰＨ’９６，ｔｈｅ  ２３ｒｄ  ａｎｎｕａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｔｅｃｈｎｉｑｕｅｓ，  ＡＣＭ，  １９９６に公開された、Ｃｕｒｌｅｓｓ  ａｎｄ  Ｌｅｖｏｙによる「Ａ  Ｖｏｌｕｍｅｔｒｉｃ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｂｕｉｌｄｉｎｇ  Ｃｏｍｐｌｅｘ  Ｍｏｄｅｌｓ  ｆｒｏｍ  Ｒａｎｇｅ  Ｉｍａｇｅｓ」の文書に記載されている（この文書は、適用可能である場合、参照することによって組み込まれる）。表面−距離のメトリックの値及び重みの値を使用して奥行きデータを融合するさらなる方法が、ｔｈｅ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２４ｔｈ  ａｎｎｕａｌ  ＡＣＭ  ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ，  ＡＣＭ，  ２０１１に公開された、Ｎｅｗｃｏｍｂｅ  ｅｔ  ａｌによる「ＫｉｎｅｃｔＦｕｓｉｏｎ：  Ｒｅａｌ−Ｔｉｍｅ  Ｄｅｎｓｅ  Ｓｕｒｆａｃｅ  Ｍａｐｐｉｎｇ  ａｎｄ  Ｔｒａｃｋｉｎｇ」の文書に記載されている（この文書は、適用可能である場合、参照することによって組み込まれる）。
【００６８】
図５は、図２のオブジェクト認識パイプライン２１０などの、オブジェクト認識パイプラインによって生成されたマスク出力の実施例５００を示している。図の左上には、２つのオブジェクト５２５、５３０を包含する環境５１０が存在する。環境５１０は、ビデオカメラ５２０によって観測されている。図の右上には、ビデオカメラ５２０からのＲＧＢビデオデータの例示的フレーム５３５が示されている。たとえば、このフレームは、各カラーチャンネルに関する８ビットのカラー値を有する６４０対４８０のＲＧＢ画像である場合がある。フレーム５３５は、オブジェクト認識パイプラインへの入力として提供されている。オブジェクト認識パイプラインは、次いで、検出されたオブジェクトのセットの各々に関するマスク画像を含むマスク出力を生成するために、フレーム５３５を処理する。本実施例では、第１のオブジェクト５２５に関する第１のマスク画像５４０が、図の中間の左側に示されており、第２のオブジェクト５３０に関する第２のマスク画像５６０が、図の中間の右側に示されている。本ケースにおけるマスク画像は、２要素のマスク画像であり、たとえば、ピクセルが、２つの値の１つを有している。マスク画像５４０及び５６０に関するピクセル値の簡略化された実施例が、図の底部のそれぞれのグリッド５７５及び５８０として示されている。ピクセル５９０に関するピクセル値５８５は、（たとえば、２要素のマスク画像を形成するものとして）０または１として示されているが、オブジェクト認識パイプラインの構成に応じて、他の値である場合がある。見ることができるように、オブジェクト５２５の検出の結果であるマスク画像５４０に関し、ピクセル値は、エリア５４５に関しては１に設定され、エリア５５０に関しては０に設定される。ここで、エリア５４５は、検出されたオブジェクトの範囲を示している。同様に、オブジェクト５３０の検出の結果であるマスク画像５６０に関し、ピクセル値は、エリア５６５に関しては１に設定され、エリア５７０に関しては０に設定される。ここで、エリア５６５は、検出されたオブジェクトの範囲を示している。オブジェクト認識パイプラインからのマスク出力は、このため、検出されたオブジェクトに関する画像のセグメントの出力として見られる場合がある。
【００６９】
マスク出力の構成は、実施態様によって変化する場合がある。あるケースでは、マスク画像は、入力画像と同じ解像度である（また、たとえば、グレースケールの画像を含む場合がある）。特定のケースでは、追加のデータも、オブジェクト認識パイプラインによって出力される場合がある。図５の実施例では、オブジェクト認識パイプラインは、検出されたオブジェクトに関する確実性または確率を示す確実性の値５９５をも出力するように配置されている。たとえば、図５は、オブジェクト認識パイプラインが、オブジェクト５２５がフレーム５３５内に存在する８８％の確率であるが、オブジェクト５３０がフレーム５３５内に存在する６４％の確率を出力することを示している。各実施例では、オブジェクト認識パイプラインは、検出されたオブジェクトが、特定の意味論的クラスに関連付けられていることの確率を、代替的または追加的に出力する場合がある。たとえば、オブジェクト認識パイプラインは、オブジェクト５２５が「いす」であることの８８％の確率、オブジェクト５２５が「テーブル」であることの１０％の確率、及びオブジェクト５２５が「他の」オブジェクトタイプであることの２％の確率を出力する場合がある。このことは、検出されたオブジェクトのクラスを判定するために使用される場合がある。いくつかのケースでは、オブジェクトが特定の意味論的クラスに関連付けられていることの確率または確実性が、オブジェクトが確かに検出されたことを承認する前に、閾値（５０％の確実性のレベルなど）に対して比較される。検出されたオブジェクトに関するバウンディングボックスも出力される場合があり（たとえば、画像の空間内の２Ｄの矩形の規定）、検出されたオブジェクトを包含するエリアを示している。そのようなケースでは、マスク出力は、バウンディングボックス内で計算される場合がある。
【００７０】
特定の実施例では、オブジェクト認識パイプラインは、管理された（すなわち、ラベルが付された）データ上で扱われる、たたみ込みのニューラルネットワークなどのニューラルネットワークを含んでいる。管理されたデータは、画像の対と、オブジェクトのセットに関する区分けマスクとを含む場合がある。たたみ込みのニューラルネットワークは、たとえば複数の層を含む、いわゆる「ディープ」ニューラルネットワークである場合がある。オブジェクト認識パイプラインは、画像の区分けマスクを予測するためのパスを伴う、領域ベースのたたみ込みのニューラルネットワークＲＣＮＮを含む場合がある。マスク出力を伴うＲＣＮＮに関する例示的構成は、Ｋ．  Ｈｅ  ｅｔ  ａｌ．により、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＩＣＣＶ），２０１７（１，５）に公開された「Ｍａｓｋ  Ｒ−ＣＮＮ」の文書内に記載されている（適用可能である場合、参照することによって組み込まれる）。様々なアーキテクチャが、これらが拡張されるにつれて（「プラグイン」の方式で）使用される場合がある。特定のケースでは、オブジェクト認識パイプラインは、クラスラベルの確率のベクトルとは独立して区分けするためのマスク画像を出力する場合がある。このケースでは、クラスラベルの確率ベクトルは、予め規定されたクラスに属していないオブジェクトに関する「他の」ラベルを有する場合がある。このため、これらは、たとえば利用可能なクラスのリストに追加するために、マニュアルの注釈に関してフラグが付される場合がある。
【００７１】
特定のケースでは、ビデオデータのフレーム（たとえば、２４０、５３５）は、オブジェクト認識パイプラインの本来の解像度に再スケーリングされる場合がある。同様に、特定のケースでは、オブジェクト認識パイプラインの出力も、融合エンジンによって使用された解像度にマッチするように再スケーリングされる場合がある。ニューラルネットワークのアプローチとともに、または代わりに、オブジェクト認識パイプラインは、他のものの内、サポートベクトルマシン（ＳＶＭ）、ベイズ的ネットワーク、ランダムフォレスト、最隣接クラスター法などを含む、様々なマシンラーニング方法の少なくとも１つを実施する場合がある。１つまたは複数のグラフィック処理ユニットは、オブジェクト認識パイプラインを扱う及び／または実施するために使用される場合がある。
【００７２】
あるケースでは、オブジェクト認識パイプラインは、図１Ｃの光度測定データ１８５など、連続した光度測定（たとえば、ＲＧＢ）画像の形態で、ビデオデータのフレームを受領する。特定の実施例では、オブジェクト認識パイプラインは、光度測定データとともに、または代わりに、奥行きデータ、たとえば、図１Ｃの１８０などの奥行き画像を受領するようにも適合されている場合がある。したがって、オブジェクト認識パイプラインは、ＲＧＢ−Ｄデータの各々に対応する４つの入力チャンネルを含む場合がある。
【００７３】
本明細書に記載のようなオブジェクト認識パイプラインは、１つまたは複数のラベルが付されたデータセット、すなわち、オブジェクトのラベルが予めアサインされている場合のビデオデータのフレームを使用して扱われる場合がある。たとえば、１つのそのようなデータセットは、ＥＣＣＶ  ２０１２に公開された、Ｉｎｄｏｏｒ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｓｕｐｐｏｒｔ  Ｉｎｆｅｒｅｎｃｅ  ｆｒｏｍ  ＲＧＢＤ  Ｉｍａｇｅｓに、Ｎ．  Ｓｉｌｂｅｒｍａｎ  ｅｔ  ａｌ．によって論じられるＮＹＵＤｅｐｔｈ  Ｄａｔａｓｅｔ  Ｖ２を含んでいる。オブジェクトまたはクラスのラベルの数は、用途に依存する場合がある。
【００７４】
マスク出力が、複数の検出されたオブジェクトとそれぞれの確実性の値（たとえば、図５の５９０などの値）とに関する２要素のマスクを含む実施例では、マスク出力は、奥行きデータとの融合のために融合エンジンに渡される前にフィルタリングされる場合がある。あるケースでは、マスク出力は、確実性の値に基づいてフィルタリングされる場合があり、たとえば、トップのｋの確実性の値に関連付けられたマスク画像のみが、後の処理のために維持される場合があり、及び／または、予め規定された閾値未満の確実性の値を有するマスク画像は、廃棄される場合がある。特定のケースでは、フィルタリングは、たとえば、ビデオデータの予め規定された数のフレームにわたって検出されたような、オブジェクトに関する複数のマスク画像に基づく場合がある。特定のケースでは、フィルタリングにより、画像のエッジまたは境界の予め規定された数のピクセル内での検出を除外する場合がある。
【００７５】
図２に戻り、かつ、図４の例示的オブジェクトインスタンス４００及び図５に示すマスク出力５７５、５８０を考慮すると、融合プロセスの間、図２の融合エンジン２２０は、ポーズグラフ２６０内のカメラのポーズの概算を使用して、オブジェクトインスタンスのマップ２７０内のオブジェクトインスタンスに関する仮想または合成マスク出力を生成するように構成されている場合がある。たとえば、ビデオデータの所与のフレームに関する仮想マスク画像は、たとえば、オブジェクトインスタンスが、図４に示すように、それぞれの３Ｄオブジェクトボリューム内の表面−距離のメトリックの値によって示される場合、オブジェクトインスタンスのマップ２７０内のオブジェクトインスタンスに基づくレイキャスティングと、所与のフレームに関する現在のカメラのポーズの概算とを使用して生成（すなわち、レンダリング）される場合がある。これら生成された仮想マスク出力は、次いで、オブジェクト認識パイプライン２１０のマスク出力２５０と比較されて、オブジェクトインスタンスのマップ２７０からの存在するオブジェクトインスタンスが、ビデオデータのフレーム２４０内に検出されるかを判定する場合がある。特定のケースでは、比較には、オブジェクト認識パイプライン２１０のマスク出力２５０内のマスク画像の、オブジェクトインスタンスのマップ２７０内のオブジェクトインスタンスに関する仮想マスク画像との交差部を評価することが含まれる。存在するオブジェクトの検出は、もっとも大である交差部を有する仮想マスク画像に基づく場合がある。比較は、交差のメトリック（たとえば、２Ｄ画像空間内の重なるエリアに基づく）を予め規定された閾値と比較することをも含む場合がある。たとえば、もっとも大である交差部が、予め規定された閾値未満の交差のメトリックを有する場合、オブジェクト認識パイプラインからのマスク画像は、アサインされていないと考えられる場合がある。アサインされていないマスク画像は、こうして、オブジェクトの初期化のルーチンを引き起こす場合がある。したがって、融合エンジン２２０は、ビデオデータのフレーム内にオブジェクトインスタンスが存在しないことに応じて、新たなオブジェクトインスタンスをオブジェクトインスタンスのマップ２７０に追加し、新たなノードをポーズグラフ２６０に追加するように構成されている場合がある。この新たなノードは、新たなオブジェクトインスタンスに関して概算されるオブジェクトのポーズに対応する。
【００７６】
特定のケースでは、マスク出力内のオブジェクトラベル（すなわち、クラス）の確率（たとえば、図５の確実性の値５９５）は、たとえば上述のマスクマッチングを伴うか伴わずに、オブジェクト認識パイプライン２１０によって検出されたオブジェクトにマッチするように使用される場合がある。たとえば、オブジェクトインスタンスのマップ内のオブジェクトインスタンスは、オブジェクトラベルの確率分布をさらに含む場合がある。このオブジェクトラベルの確率分布は、オブジェクト認識パイプライン２１０によって出力されたオブジェクトラベルの確率の値に基づいてアップデートされる場合がある。オブジェクトラベルの確率分布は、各要素が、オブジェクトラベルまたは識別子（たとえば、「カップ」または「Ｃ１２３４」）にマッピングされ、確率値を貯蔵する場合、ベクトルを含む場合がある。このため、オブジェクトラベルの判定は、確率分布のサンプリング、または、もっとも高い確率値を取得することによって行われる場合がある。あるケースでは、オブジェクトラベルの確率分布は、ベイズ的方法を使用してアップデートされる場合がある。特定のケースでは、オブジェクトラベルの確率分布は、オブジェクト認識パイプラインによって出力されたピクセル毎及び／または画像毎のオブジェクトラベルの確率に、平準化及び／または平均化することによって判定される場合がある。
【００７７】
特定のケースでは、融合エンジン２２０は、オブジェクトインスタンスのマップ内のそれぞれのオブジェクトインスタンスに関する存在の確率を判定するためにさらに適合されている場合がある。存在の確率は、０と１との間（または０％と１００％との間）の値を含む場合がある。この値は、関連するオブジェクトが周囲の環境に存在する確率を示している。ベータ分布が、存在の確率をモデル化するために使用される場合があり、分布に関するパラメータは、オブジェクト検出のカウントに基づいている。たとえば、オブジェクトインスタンスは、上述のように仮想マスク画像を形成するように投影される場合があり、検出のカウントは、仮想マスク画像と、マスク出力２５０の一部を形成するマスク画像との間のピクセルのオーバーラップに基づく場合がある。存在する確率がオブジェクトインスタンスとともに貯蔵される場合、この確率は、オブジェクトインスタンスのマップ２７０を切り詰めるために使用される場合がある。たとえば、オブジェクトインスタンスの存在する確率は、監視される場合があり、存在する確率の値が予め規定された閾値（たとえば、０．１）未満であることの判定に応じて、オブジェクトインスタンスのマップからの関連するオブジェクトインスタンスが除去される場合がある。たとえば、判定には、存在の確率の予測を取ることが含まれる場合がある。オブジェクトインスタンスを除去することには、表面−距離のメトリックの値を伴う３Ｄオブジェクトボリュームを、オブジェクトインスタンスのマップ２７０から除去し、オブジェクトに関するポーズの概算に関連付けられたポーズグラフのノード及びエッジを除去することが含まれる場合がある。
【００７８】
図６は、ビデオデータを使用して、周囲の、または周りの環境内のオブジェクトをマッピングするためのシステム６００の別の実施例を示している。システム６００は、ビデオデータ６０５のフレームＦｔ上で作用して示されており、ここで、関連する構成要素は、経時的に、周囲の環境の観測または「取得」を示すビデオデータからのフレームのシークエンスを反復的に処理する。観測は、継続的である必要はない。図２に示すシステム２００のように、システム６００の構成要素は、１つまたは複数のプロセッサ、専用の処理回路（ＡＳＩＣ、ＦＰＧＡ、もしくは特別なＧＰＵ）、及び／またはこれら２つの組合せによって処理されるコンピュータプログラムコードによって実施される場合がある。システム６００の構成要素は、単一のコンピュータデバイス（たとえば、デスクトップ、ラップトップ、モバイル、及び／または埋込型コンピュータデバイス）内で実施される場合があるか、複数の別個のコンピュータデバイスにわたって分布されている場合がある（たとえば、特定の構成要素は、ネットワークにわたって形成された１つまたは複数のクライアントコンピュータデバイスからのリクエストに基づき、１つまたは複数のサーバコンピュータデバイスによって実施される場合がある）。
【００７９】
図６に示すシステム６００の構成要素は、２つの処理経路にグループ化されている。第１の処理経路は、オブジェクト認識パイプライン６１０を含んでおり、このオブジェクト認識パイプライン６１０は、図２のオブジェクト認識パイプライン２１０に類似である場合がある。第２の処理経路は、融合エンジン６２０を含んでおり、この融合エンジン６２０は、図２の融合エンジン２２０に類似である場合がある。図６を参照して記載された特定の構成要素は、オブジェクト認識パイプライン６１０及び融合エンジン６２０の特定のものを参照して記載されているが、特定の実施態様では、オブジェクト認識パイプライン６１０及び融合エンジン６２０の他のものの一部として提供される場合があり、一方、図示の処理経路は維持していることに留意されたい。実施態様に応じて、特定の構成要素は、省略もしくは変更されている場合があり、及び／または他の構成要素が追加されている場合があり、一方、本明細書の実施例に記載の概略的作用を維持していることにも留意されたい。構成要素間の相互接続も、説明の簡略化のために示されており、同様に、実際の実施態様では変更される場合があるか、さらなる通信経路が存在する場合がある。
【００８０】
図６では、オブジェクト認識パイプライン６１０は、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＣＮＮ）６１２と、フィルタ６１４と、Ｉｎｔｅｒｓｅｃｔｉｏｎ  ｏｖｅｒ  Ｕｎｉｏｎ（ＩＯＵ）構成要素６１６と、を備えている。ＣＮＮ６１２は、前述のようにマスク出力（たとえば、Ｍａｓｋ  Ｒ−ＣＮＮの実施態様）を生成する領域ベースのＣＮＮを含む場合がある。ＣＮＮ６１２は、１つまたは複数のラベルが付された画像データセット上で扱われる場合がある。フィルタ６１４は、それぞれの検出されたオブジェクト及び、検出されたオブジェクトの同じセットに関する対応するオブジェクトラベルの確率分布のセットに関するマスク画像のセットの形態で、ＣＮＮ６１２のマスク出力を受領する。検出されたオブジェクトの各々は、このため、マスク画像及びオブジェクトラベルの確率を有している。マスク画像は、２要素のマスク画像を含む場合がある。フィルタ６１４は、たとえば、オブジェクトラベルの確率などの１つまたは複数のオブジェクトの検出のメトリック、画像の境界に対する近接性、及びマスク内のオブジェクトのサイズに基づき、ＣＮＮ６１２のマスク出力をフィルタリングするために使用される場合がある（たとえば、Ｘピクセル２未満のエリアが除外される場合がある）。フィルタ６１４は、リアルタイムの操作及びメモリ要求の助けになるマスク画像のサブセット（たとえば、０から１００のマスク画像）にマスク出力を低減するように作用する場合がある。フィルタリングされたマスク出力を含むフィルタ６１４の出力は、こうして、ＩＯＵ構成要素６１６によって受領される。ＩＯＵ構成要素６１６は、オブジェクトインスタンスのマップ内の任意の存在するオブジェクトインスタンスに基づいて生成された、レンダリングされたか「仮想」のマスク画像にアクセスする。オブジェクトインスタンスのマップは、以下に記載のように融合エンジン６２０によって生成される。レンダリングされたマスク画像は、オブジェクトインスタンスを使用して、たとえば、それぞれの３Ｄオブジェクトボリューム内に貯蔵された表面−距離のメトリックの値を使用して、レイキャスティングによって生成される場合がある。レンダリングされたマスク画像は、オブジェクトインスタンスのマップ内の各オブジェクトインスタンスに関して生成される場合があり、かつ、フィルタ６１４からのマスク出力にマッチするように、２要素のマスクを含む場合がある。ＩＯＵ構成要素６１６は、オブジェクトインスタンスに関するレンダリングされたマスク画像の各々との、フィルタ６１４からの各マスク画像の交差部を計算する場合がある。もっとも大きい交差部を有するレンダリングされたマスク画像は、オブジェクト「マッチ」として選択される場合があり、そのレンダリングされたマスク画像は、次いで、オブジェクトインスタンスのマップ内の対応するオブジェクトインスタンスと関連付けられる。ＩＯＵ構成要素６１６によって計算されたもっとも大である交差部は、予め規定された閾値と比較される場合がある。もっとも大である交差部が閾値より大である場合、ＩＯＵ構成要素６１６は、ＣＮＮ６１２からのマスク画像、及び、オブジェクトインスタンスとの関連性を��力する。もっとも大である交差部が閾値未満である場合、ＩＯＵ構成要素６１６は、存在するオブジェクトインスタンスが検出されなかったことの通知を出力する。ＩＯＵ構成要素６１６の出力は、こうして、融合エンジン６２０に渡される。たとえば、このパイプラインがＣＮＮ６１２に基づくタイミングで２Ｄ画像に作用することから、ＩＯＵ構成要素６１６が図６においてオブジェクト認識パイプライン６１０の一部を形成する場合であっても、他の実施態様では、このパイプラインは、代替的に、融合エンジン６２０の一部を形成する場合があることに留意されたい。
【００８１】
図６の実施例では、融合エンジン６２０は、ローカルＴＳＤＦ構成要素６２２、トラッキング構成要素６２４、エラーチェッカー６２６、レンダリング装置６２８、オブジェクトＴＳＤＦ構成要素６３０、データ融合構成要素６３２、再位置決め構成要素６３４、及びポーズグラフ最適化装置６３６を備えている。図６には明確化のために示されていないが、使用時には、融合エンジン６２０は、ポーズグラフ及びオブジェクトインスタンスのマップ上で、たとえば図２の融合エンジン２２０と同様の方式で動作する。特定のケースでは、単一の表示が貯蔵される場合があり、ここで、オブジェクトインスタンスのマップは、ポーズグラフによって形成され、オブジェクトインスタンスに関連する３Ｄオブジェクトボリュームは、ポーズグラフのノードの一部として（たとえば、ノードに関連付けられたデータとして）貯蔵される。他のケースでは、別々の表示が、ポーズグラフ及びオブジェクトインスタンスのセットのために貯蔵される場合がある。本明細書に論じるように、「マップ」との用語は、オブジェクトインスタンスに関するデータの規定の集合に言及する場合があり、ここで、それらデータの規定には、それぞれのオブジェクトインスタンスに関する位置及び／または向きの情報が含まれ、たとえば、それにより、観測された環境に関するオブジェクトインスタンスの位置及び／または向きが、記録され得るようになっている。
【００８２】
図６の実施例では、オブジェクトインスタンスに関連付けられた表面−距離のメトリックの値は、ＴＳＤＦ値である。他の実施例では、他のメトリックの値が使用される場合がある。この実施例では、これら値を貯蔵するオブジェクトインスタンスのマップとともに、周囲の環境のオブジェクト非依存モデルが、同様に使用される。このことは、ローカルＴＳＤＦ構成要素６２２によって生成及びアップデートされる。オブジェクト非依存モデルは、検出されたオブジェクトがない状態でトラッキングが実施されることを可能にする、環境の「粗い」か低解像度のモデルを提供する。ローカルＴＳＤＦ構成要素６２２、及びオブジェクト非依存モデルは、別々に配置されたオブジェクトを有する環境を観測することになる実施態様に関して有用である場合がある。このことは、オブジェクトが密に分布された環境に関しては、使用されない場合がある。図２のシステム２００を参照して論じたように、オブジェクト非依存モデルを規定するデータは、たとえばポーズグラフ及びオブジェクトインスタンスのマップとともに、融合エンジン６２０にアクセス可能なメモリ内に貯蔵される場合がある。
【００８３】
図６の実施例では、ローカルＴＳＤＦ構成要素６２２は、ビデオデータ６０５のフレームを受領し、周囲の（３Ｄ）環境のオブジェクト非依存モデルを生成して、オブジェクトインスタンスが検出されないことに応じたフレーム対モデルのトラッキングを提供する。たとえば、オブジェクト非依存モデルは、３Ｄオブジェクトボリュームに類似の３Ｄボリュームを含む場合がある。この３Ｄボリュームは、環境に形成されたような表面に対する距離を示す表面−距離のメトリックの値を貯蔵する。本実施例では、表面−距離のメトリックの値は、ＴＳＤＦ値を含んでいる。オブジェクト非依存モデルは、環境を別個のオブジェクトインスタンスに区分けしない。全体の環境を示す「オブジェクトインスタンス」が考慮される場合がある。オブジェクト非依存モデルは、比較的大きいサイズの限定された数の３Ｄ画素が、環境を示すために使用される場合がある事実において、粗いか低解像度である場合がある。たとえば、あるケースでは、オブジェクト非依存モデルに関する３Ｄボリュームは、２５６×２５６×２５６の解像度を有する場合があり、そのボリューム内の３Ｄ画素は、環境内の約２ｃｍのキューブを示す。図２の融合エンジン２２０と同様に、ローカルＴＳＤＦ構成要素６２２は、オブジェクト非依存モデルに関する３Ｄボリュームのボリュームサイズ及びボリューム中心を判定する場合がある。ローカルＴＳＤＦ構成要素６２２は、ビデオデータのさらなるフレームを受領すると、たとえば、カメラが移動された場合に、アップデートされたカメラのポーズに対処するために、ボリュームサイズ及びボリューム中心をアップデートする場合がある。
【００８４】
図６の実施例６００では、オブジェクト非依存モデル及びオブジェクトインスタンスのマップが、トラッキング構成要素６２４に提供される。トラッキング構成要素６２４は、ビデオデータ６０５のフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、オブジェクトインスタンスの非依存モデル及びオブジェクトインスタンスのマップの１つまたは複数との間の誤差をトラッキングするように構成されている。あるケースでは、層をなした参照データが、オブジェクト非依存モデル及びオブジェクトインスタンスから、レイキャスティングによって生成される場合がある。参照データは積層される場合があり、その中で、オブジェクト非依存モデル及びオブジェクトインスタンスの各々に基づいて生成されたデータ（たとえば、各オブジェクトインスタンスに基づく）は、画像編集アプリケーションにおける層と類似の方式で、独立してアクセスされる場合がある。参照データは、頂点のマップ、規定のマップ、及びインスタンスのマップの１つまたは複数を含む場合があり、ここで、各「マップ」は、最近のカメラのポーズの概算（たとえば、ポーズグラフにおける前のカメラのポーズの概算）に基づいて形成された２Ｄ画像の形態である場合があり、それぞれのマップの頂点及び規定は、たとえば世界のフレームを参照して、モデルスペースに規定される。頂点及び規定の値は、これらマップにおけるピクセル値として表示される場合がある。トラッキング構成要素６２４は、このため、参照データから、ビデオデータ６０５の現在のフレームから得られるデータへマッピングする変換を判定する場合がある（たとえば、いわゆる「ライブ」フレーム）。たとえば、時間ｔに関する現在の奥行きマップは、頂点のマップ及び規定のマップに投影され、基準の頂点及び規定のマップと比較される場合がある。双方のフィルタリングは、特定のケースにおいて奥行きマップに適用される場合がある。トラッキング構成要素６２４は、ビデオデータの現在のフレームと関連付けられたデータを、反復最近点（ＩＣＰ：ｉｔｅｒａｔｉｖｅ  ｃｌｏｓｅｓｔ  ｐｏｉｎｔ）関数を使用して参照データに整列させる場合がある。トラッキング構成要素６２４は、ビデオデータの現在のフレームに関連付けられたデータの、オブジェクト非依存モデル及びオブジェクトインスタンスのマップの少なくとも１つから得られた参照データとの比較を使用して、現在のフレームに関するカメラのポーズの概算（たとえば、
【数４】
2021534495.tif 000006
）を判定する場合がある。このことは、たとえば、オブジェクト非依存モデルの再計算の前（たとえば、再位置決めの前）に実施される場合がある。最適化されたＩＣＰポーズ（及び不変性、共分散の概算）は、カメラのポーズ間の測定の制限として使用される場合があり、このことは、各々が、たとえば、ポーズグラフのそれぞれのノードと関連付けられる。比較は、ピクセル毎に実施される場合がある。しかし、オブジェクトインスタンスに属するピクセルに過度に重み付けすることを避けるため、たとえば、２重にカウントすることを避けるために、オブジェクト−カメラの制限を得るためにすでに使用されたピクセルは、カメラのポーズ間の測定の制限の最適化からは省略される場合がある。
【００８５】
トラッキング構成要素６２４は、エラーチェッカー６２６によって受信された誤差メトリックのセットを出力する。これら誤差のメトリックには、ＩＣＰ関数及び／または妥当にトラッキングされたピクセルの比率からの、２乗平均平方根誤差（ＲＭＳＥ）のメトリックが含まれる場合がある。これらエラーチェッカー６２６は、誤差メトリックのセットを予め規定された閾値のセットと比較して、トラッキングが維持されている場合、または、再位置決めが実施されることになるかを判定する。再位置決めが実施されることになる場合、たとえば、誤差メトリックが予め規定された閾値を超えた場合、エラーチェッカー６２６は、再位置決め構成要素６３４を作動させる。再位置決め構成要素６３４は、オブジェクトインスタンスのマップを、現在のビデオデータのフレームからのデータと整列させるように作用する。再位置決め構成要素６３４は、様々な再位置決め方法の１つを使用する場合がある。ある方法では、画像の特徴は、現在の奥行きマップを使用して、モデルスペースに投影される場合があり、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ）が、画像の特徴及びオブジェクトインスタンスのマップを使用して適用される場合がある。この方法で、現在のフレームの画像の特徴から生成された３Ｄポイントは、（たとえばオブジェクトボリュームから変換された）オブジェクトインスタンスのマップ上のオブジェクトインスタンスから得られた３Ｄポイントと比較される場合がある。たとえば、オブジェクトインスタンスのマップ内のオブジェクトインスタンスのクラス分布に密にマッチする、現在のフレーム内の各インスタンスに関し（たとえば、０．６より大である内積を伴う）、３Ｄ−３Ｄ  ＲＡＮＳＡＣが実施される場合がある。境界内（ｉｎｌｉｅｒ）の特徴の数が所定の閾値を超える場合、たとえば、２ｃｍの半径内に５つの境界内の特徴がある場合、現在のフレーム内のオブジェクトインスタンスは、マップ内のオブジェクトインスタンスにマッチするものと見なされる場合がある。マッチするオブジェクトインスタンスの数が、閾値、たとえば３を満たすか超える場合、３Ｄ−３Ｄ  ＲＡＮＳＡＣは、修正されたカメラのポーズの概算を生成するために、５ｃｍの半径内に最小で５０の境界内の特徴を伴って、（背景のポイントを含む）すべてのポイントに対してふたたび実施される場合がある。再位置決め構成要素６３４は、修正されたカメラのポーズの概算を出力するように構成されている。この修正されたカメラのポーズの概算は、次いで、ポーズグラフを最適化させるために、ポーズグラフの最適化装置６３６によって使用される。
【００８６】
ポーズグラフの最適化装置６３６は、カメラ及び／またはオブジェクトのポーズの概算をアップデートするために、ポーズグラフを最適化させるように構成されている。このことは、上述のように実施される場合がある。たとえば、あるケースでは、ポーズグラフの最適化装置６３６は、カメラ対オブジェクト、及びカメラ対カメラからのエッジのすべてにわたる合算として計算されたグラフに関する誤差全体を低減するように、ポーズグラフを最適化する場合があり、ポーズの概算は、ノード及びエッジの値に基づいて変位する。たとえば、グラフを最適化するものは、ローカルポーズの測定値の乱れの原因をモデル化し、これらを使用して、たとえば、ＩＣＰ誤差に基づく逆測定の共分散とともに、誤差合計の計算で使用される情報マトリクスに関するヤコビ項を計算する場合がある。システム６００の構成に応じて、ポーズグラフ最適化装置６３６は、ノードがポーズグラフに追加された際に、最適化を実施するように構成されている場合があるか、構成されていない場合がある。たとえば、誤差のメトリックのセットに基づいて最適化を実施することにより、処理の要求が低減される場合がある。この理由は、ノードがポーズグラフに追加される毎に最適化を実施する必要がないためである。ポーズグラフの最適化における誤差は、トラッキング構成要素６２４によって得られる場合があるトラッキングのエラーとは独立していない場合がある。たとえば、ポーズ構成の変化によって生じるポーズグラフの誤差は、入力奥行き画像全体の場合、ＩＣＰ内の点対面の誤差のメトリックと同じである場合がある。しかし、新たなカメラのポーズに基づくこの誤差の再計算は、通常、全奥行き画像測定の使用及びオブジェクトモデルの再レンダリングを伴う。このことは、計算的に費用がかかる場合がある。計算的コストを低減するために、ＩＣＰ誤差関数のヘッセ行列を使用して生成されるＩＣＰ誤差に対する線形近似が、代わりに、ポーズグラフの最適化の間にポーズグラフの制限として使用される場合がある。
【００８７】
エラーチェッカー６２６からの処理経路に戻ると、（たとえば、操作または後の再位置決めの間）誤差のメトリックが許容可能な範囲の中にある場合、レンダリング装置６２８は、融合エンジン６２０の他の構成要素による使用のためのレンダリングされたデータを生成するように作動する。レンダリング装置６２８は、奥行きマップ（すなわち、画像の形態の奥行きデータ）、頂点マップ、規定マップ、光度測定（たとえば、ＲＧＢ）画像、マスク画像、及びオブジェクトインデックスの１つまたは複数をレンダリングするように構成されている場合がある。オブジェクトインスタンスのマップ内の各オブジェクトインスタンスは、たとえば、そのインスタンスに関連するオブジェクトインデックスを有している。たとえば、マップ内にｎのオブジェクトインスタンスが存在する場合、オブジェクトインスタンスには、１からｎ（ここで、ｎは整数である）のラベルが付される場合がある。レンダリング装置６２８は、オブジェクト非依存モデル、及び、オブジェクトインスタンスのマップ内のオブジェクトインスタンスの１つまたは複数で作動する場合がある。レンダリング装置６２８は、２Ｄ画像またはピクセルマップの形態のデータを生成する場合がある。前述のように、レンダリング装置６２８は、レイキャスティング及び３Ｄオブジェクトボリューム内の表面−距離のメトリックの値を使用して、レンダリングされたデータを生成する場合がある。レイキャスティングは、所与のステップサイズ内に投影された光線に沿って進むために、かつ、３Ｄオブジェクトボリューム内の表面−距離のメトリックの値によって規定されるようなゼロの交差ポイントを探すために、カメラのポーズの概算及び３Ｄオブジェクトボリュームを使用することを含む場合がある。レンダリングは、３Ｄ画素がシーンの最前面または背景に属する確率に応じる場合がある。所与のオブジェクトインスタンスに関し、レンダリング装置６２８は、ゼロの交差ポイントとのもっとも近い交差部の光線の長さを貯蔵する場合があり、かつ、後のオブジェクトインスタンスに関し、この光線の長さを超えて探さない場合がある。この方式で、閉塞する表面は、正確にレンダリングされる場合がある。存在の確率に関する値が、最前面及び背景の検出のカウントに基づいて設定される場合、存在の確率に対するチェックにより、環境内でオーバーラップするオブジェクトのレンダリングが向上する場合がある。
【００８８】
レンダリング装置６２８は、こうしてオブジェクトＴＳＤＦ構成要素６３０によってアクセスされるデータを出力する。オブジェクトＴＳＤＦ構成要素６３０は、レンダリング装置６２８及びＩＯＵ構成要素６１６の出力を使用して、オブジェクトインスタンスのマップを初期化及びアップデートするように構成されている。たとえば、フィルタ６１４から受領されたマスク画像が、たとえば、上述の交差部に基づき、存在するオブジェクトインスタンスにマッチすることを示す信号をＩＯＵ構成要素６１６が出力する場合、オブジェクトＴＳＤＦ構成要素６３０は、関連するオブジェクトインスタンス、たとえば、本実施例では、ＴＳＤＦ値である、表面−距離のメトリックの値を貯蔵する３Ｄオブジェクトボリュームを回収する。マスク画像及びオブジェクトインスタンスは、こうして、データ融合構成要素６３２に渡される。このことは、たとえば、フィルタ６１４から受領した際に、フィルタリングされたマスク出力を形成するマスク画像のセットに関して繰り返される場合がある。したがって、データ融合構成要素６３２は、マスク画像のセット及び対応するオブジェクトインスタンスのセットの少なくとも通知またはアドレスを受領する場合がある。特定のケースでは、データ融合構成要素６３２は、マスク画像のセットに関連付けられたオブジェクトラベルの確率のセットを受領またはアクセスする場合もある。データ融合構成要素６３２における統合には、オブジェクトＴＳＤＦ構成要素６３０によって示される所与のオブジェクトインスタンスに関し、かつ、所与のオブジェクトインスタンスに関する３Ｄオブジェクトボリュームの規定の３Ｄ画素に関し、３Ｄ画素をカメラフレームピクセル内に投影すること、すなわち、最新のカメラのポーズの概算を使用することと、投影された値を、ビデオデータ６０５のフレームに関して受領された奥行きマップと比較することと、が含まれる場合がある。特定のケースでは、３Ｄ画素が、（たとえば、奥行きマップまたはＲＧＢ−Ｄキャプチャデバイスから受領された画像からの）奥行きの測定値に、端を切る値をプラスしたものより小である、カメラフレームピクセル内に奥行きの値（すなわち、３Ｄ画素に関する投影されたＴＳＤＦ値に基づく、投影された「仮想」の奥行きの値）とともに投影される場合、奥行きの測定値は、３Ｄオブジェクトボリュームに融合される場合がある。特定のケースでは、ＴＳＤＦ値とともに、各３Ｄ画素も、関連する重みを有する。これらケースでは、融合は、加重平均の方式で適用される場合がある。
【００８９】
特定のケースでは、この統合は、選択的に実施される場合がある。たとえば、統合は、トラッキング構成要素６２４からの誤差のメトリックが予め規定された閾値未満である場合など、１つまたは複数の条件に基づいて実施される場合がある。このことは、エラーチェッカー６２６によって示される場合がある。統合は、ビデオデータのフレームを参照して実施される場合もあり、ここで、オブジェクトインスタンスは、可視であるものと考えられる。これら条件は、カメラフレームが揺れるケースにおいて、オブジェクトインスタンスの再構築の品質を維持する助けになる場合がある。
【００９０】
特定のケースでは、データ融合構成要素６３２によって実施される統合は、たとえば、マスク画像として投影された場合、３Ｄオブジェクトボリュームの特定の部分がオブジェクト認識パイプライン６１０の出力にマッチするかにかかわらず、オブジェクトインスタンスの３Ｄオブジェクトボリューム全体にわたって実施される場合がある。特定のケースでは、判定は、オブジェクトインスタンスに関する３Ｄオブジェクトボリュームの一部が、（たとえば、最前面の一部ではないか、背景の一部ではないこととは反対に）最前面の一部を形成するかに関して行われる場合がある。たとえば、最前面の確率は、３Ｄオブジェクトボリュームの各３Ｄ画素に関し、検出、またはマスク出力からのマスク画像のピクセルと、投影された画像からのピクセルとの間のマッチに基づいて貯蔵される場合がある。あるケースでは、「最前面」及び「最前面ではない」ことに関する検出のカウントは、ベータ分布として（たとえば、（α，β）の形状のパラメータとして）モデル化され、（１，１）で初期化される。ＩＯＵ構成要素６１６が、オブジェクトインスタンスに関するマッチまたは検出を示す場合、データ融合構成要素６３２は、マスク出力からの対応するマスク画像に関するピクセルと、投影されたマスク画像からのピクセル（たとえば、レンダリング装置６２８の出力として）との間の比較に基づく、３Ｄ画素に関する「最前面」及び「最前面ではない」ことの検出のカウントをアップデートするように構成されている場合がある。たとえば、「最前面である」ことのカウントは、両方のピクセルが、マスク画像を埋めることを示す正の値を有する場合、アップデートされ、「最前面ではない」ことのカウントは、ピクセルの１つが、画像内にオブジェクトが存在しないことを示すゼロの値を有する場合、アップデートされる。これら検出のカウントは、特定の３Ｄ画素が最前面の一部を形成することの予測（すなわち、確率または確実性の値）を判定するために使用される場合がある。この予測は、最前面の状態に関する別個の決定を出力するために、予め規定された閾値（たとえば、０．５）と比較される場合がある（たとえば、３Ｄ画素が、最前面の一部であることが判定されたか否かを示す）。いくつかのケースでは、異なるオブジェクトインスタンスに関する３Ｄオブジェクトボリュームは、少なくとも部分的に互いに重なっている場合がある。このため、同じ表面要素が、複数の異なる３Ｄ画素と関連付けられている場合がある（各々が、異なるそれぞれの３Ｄオブジェクトボリュームと関連付けられている）が、いくつかの３Ｄ画素では「最前面」である場合があり、他の３Ｄ画素は「最前面ではない」場合がある。データ融合構成要素６３２によってデータが融合されると、オブジェクトインスタンスのアップデートされたマップが、融合エンジン６２０に利用可能である（たとえば、それぞれの３Ｄオブジェクトボリューム内のアップデートされたＴＳＤＦ値を伴う）。このオブジェクトインスタンスのアップデートされたマップは、このため、トラッキング構成要素６２４により、フレーム対モデルのトラッキングで使用されるようにアクセスされる場合がある。
【００９１】
図６のシステム６００は、オブジェクトのポーズ及びカメラのポーズを示すポーズグラフとともに、経時的にオブジェクトインスタンスの強固なマップを構築するように、ビデオデータ６０５のフレームに反復的に作用する場合がある。オブジェクトインスタンスのマップ及びポーズグラフは、このため、マッピングされた環境のナビゲーション及び／または相互作用を可能にするように、他のデバイス及びシステムに利用可能とされる場合がある。たとえば、ユーザからのコマンド（たとえば、「カップを持ってこい」）が、（たとえば、オブジェクトラベルの確率の分布または３Ｄ形状のマッチングに基づき）オブジェクトインスタンスのマップ内のオブジェクトインスタンスにマッチされる場合があり、オブジェクトインスタンス及びオブジェクトのポーズは、対応するオブジェクトを環境から抽出するようにアクチュエータを制御するために、ロボットデバイスによって使用される場合がある。同様に、オブジェクトインスタンスのマップは、たとえば、正確な３Ｄモデルのインベントリを提供するために、環境内のオブジェクトを記録するために使用される場合がある。拡張現実のアプリケーションでは、オブジェクトインスタンス及びオブジェクトのポーズは、リアルタイムのカメラのポーズとともに、リアルタイムのビデオの供給に基づき、バーチャル空間内のオブジェクトを正確に増大させるために使用される場合がある。
【００９２】
図６に示すシステム６００には、ＲＧＢ−Ｄの入力に適用される場合がある。このシステム６００では、融合エンジン６２０内のローカルＴＳＤＦ構成要素６２２、トラッキング構成要素６２４、及びエラーチェッカー６２６などの構成要素が、粗い背景のＴＳＤＦモデルを、ローカルトラッキング及び閉塞の扱いのために初期化することを可能にする。ポーズが十分に変化したか、システムが失われたように見えた場合、再位置決めが、再位置決め構成要素６３４によって実施される場合があり、グラフの最適化が、ポーズグラフ最適化装置６３６によって実施される場合がある。再位置決め及びグラフの最適化は、新たなカメラの位置（たとえば、新たなカメラのポーズの概算）に到達するように実施される場合があり、ローカルＴＳＤＦ構成要素６２２によって管理される粗いＴＳＤＦモデルは、リセットされる場合がある。このことが発生している間は、オブジェクト認識パイプライン６１０は、別のスレッドとして、または並列したプロセスとして実施される場合がある。ＲＧＢフレームは、ＣＮＮ構成要素６１２によって処理される場合があり、検出は、フィルタ６１４によってフィルタリングされ、ＩＯＵ構成要素６１６により、オブジェクトＴＳＤＦ構成要素６３０によって管理されたオブジェクトインスタンスの存在するマップにマッチさせられる。マッチが生じない場合、新たなＴＳＤＦオブジェクトインスタンスが、オブジェクトＴＳＤＦ構成要素６３０によって形成され、サイズが設定され、また、ローカルトラッキング、全体のポーズグラフの最適化、及び再位置決めのためにマップに追加される。将来のフレーム上では、関連する検出は、こうして、オブジェクトラベル及び存在の確率とともに、オブジェクトインスタンスに融合される場合がある。
【００９３】
このため、本明細書に記載の特定の実施例は、ＲＧＢ−Ｄカメラが、雑然としたインドアのシーンを閲覧または観察すること、及びオブジェクトの区分けを提供することを可能にし、ここで、オブジェクトの区分けは、コンパクトなオブジェクト毎の表面−距離のメトリックの再構築を初期化するために使用される。このことは、オブジェクトサイズに応じた解像度を有する場合がある。各実施例は、各オブジェクトインスタンスが、経時的にリファインされるクラスにわたる、関連するオブジェクトラベルの（たとえば、「意味論的」）確率の分布、及び、存在する確率をも有するように、適合されて、誤ったオブジェクトインスタンスの予測に対処する場合がある。
【００９４】
本明細書に記載の特定の実施例の実施態様を、多数の様々なオブジェクトインスタンスを含む雑然としたオフィスのシーンから、ハンドヘルドのＲＧＢ−Ｄシークエンスでテストされた。これらテストには、インドアのシーンのデータセット上で細かく調整されたオブジェクト認識パイプライン内のＣＮＮ構成要素に関し、たとえば、ＲｅｓＮｅｔベースのモデルを使用した。この環境では、これら実施態様は、複数のオブジェクトの整列に基づいてループを閉じ、繰り返されるループに、存在するオブジェクトを十分に利用することができた（たとえば、ここで「ループ」は、環境内の円形またはほぼ円形の観測経路を示す）。これら実施態様は、こうして、首尾良くかつ強固に、存在するオブジェクトをマッピングするように示され、特定の比較のアプローチと比べた場合、向上されている。これら実施態様では、軌道誤差が、ＲＧＢ−ＤのＳＬＡＭのベンチマークなど、ベースラインのアプローチに対し、常に上にあるように見られた。同様に、オブジェクトインスタンスのマップのオブジェクトインスタンスの３Ｄレンダリングが、一般的なグラウンドトルスモデルと比較された際に、良好な、高品質のオブジェクト再構築が観測された。実施態様は、かなりメモリ効率があり、かつ、オンラインの、リアルタイムの用途に適切であるように見られた。特定の構成では、メモリの使用が、３Ｄオブジェクトボリュームのサイズでは立体的にスケーリングされるように見られ、このため、解像度がもっとも小さいオブジェクトに適していた環境に関する、単一の大きいボリュームとは反対に、オブジェクトインスタンスのマップが多くの比較的小さく、かなり詳細な、対象の密なエリアのボリュームで構成されている場合に、メモリ効率が得られた。
【００９５】
図７は、実施例に応じてオブジェクトインスタンスをマッピングするための方法７００を示している。図７では、方法７００は、オブジェクト認識パイプラインをビデオデータのフレームに適用する第１の操作７１０を含んでいる。オブジェクト認識パイプラインは、それぞれ図２及び図６に示されるような、パイプライン２１０またはパイプライン６１０である場合がある。オブジェクト認識パイプラインを適用することは、オブジェクトのマスク出力が、ビデオデータのフレーム内に検出される結果となる。たとえば、オブジェクト認識パイプラインは、フレームのシークエンス内のすべてのフレーム、または、フレームのサンプリングされたサブセット（たとえば、すべてのＸフレーム）に適用される場合がある。マスク出力は、検出されたオブジェクトに関し、２Ｄマスク画像のセットを備えている場合がある。オブジェクト認識パイプラインは、ラベルが付された画像データ上で扱われる場合がある。第２の操作７２０では、オブジェクト認識パイプラインのマスク出力は、オブジェクトインスタンスのマップを生成するように、ビデオデータのフレームに関連付けられた奥行きデータと融合される。オブジェクトインスタンスのマップは、環境内に検出されたそれぞれのオブジェクトに関する３Ｄオブジェクトボリュームのセットを含む場合がある。これら３Ｄオブジェクトボリュームは、ＴＳＤＦ値など、関連する表面−距離のメトリックの値を有するボリューム要素（たとえば、３Ｄ画素）を含む場合がある。オブジェクトのポーズの概算は、各オブジェクトインスタンスに関して規定される場合があり、このことは、３Ｄオブジェクトボリュームがどのように、たとえば、オブジェクトに関するローカル座標系（「オブジェクトフレーム」）から、環境に関する全体の座標系（「世界のフレーム」）に、環境に関するモデルスペースにマッピングされ得るかを示す。このマッピングは、オブジェクトのポーズの概算により、たとえば、環境内のオブジェクトの位置及び向きの通知である場合がある。このことは、６ＤＯＦの変換などの、変換によって規定される場合がある。融合には、カメラのポーズの概算及び奥行きデータを使用して、オブジェクトインスタンスのマップのためのモデルスペースにマスク出力を投影することを含むことが伴われる場合がある。たとえば、このことは、３Ｄオブジェクトボリューム及びカメラのポーズの概算に基づく「仮想」マスク画像のレンダリングと、このことを、マスク出力からの１つまたは複数のマスク画像ご比較することと、を含む場合がある。方法７００では、オブジェクトのポーズの概算及びカメラのポーズの概算は、モデルインスタンスのマップに関するポーズグラフのノードを形成する。これにより、カメラの移動と、オブジェクトの位置及び向きとの両方に関し、ポーズグラフを一定にすることが可能になる。
【００９６】
特定のケースでは、オブジェクト認識パイプラインのマスク出力を、ビデオデータのフレームに関連付けられた奥行きデータと融合することは、カメラのポーズの概算を使用してオブジェクトインスタンスに関するマスク出力を概算することと、概算されたマスク出力を、オブジェクト認識パイプラインのマスク出力と比較して、オブジェクトインスタンスのマップからのオブジェクトインスタンスが、ビデオデータのフレーム内に検出されるかを判定することと、を含んでいる。たとえば、このことは、上述のＩＯＵ構成要素６１６を参照して記載されている。ビデオデータのフレーム内にオブジェクトインスタンスが存在しないことに応じて、たとえば、マスク出力内に特定のマスク画像に関するマッチが見受けられない場合、新たなオブジェクトインスタンスがオブジェクトインスタンスのマップに追加される場合があり、また、新たなオブジェクトのポーズの概算が、ポーズグラフに追加される場合がある。このことは、ポーズグラフ内のランドマークのノードを形成する場合がある。検出されたオブジェクトインスタンスに応じて、オブジェクトインスタンスに関する表面−距離のメトリックの値が、ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つに基づいてアップデートされる場合がある。
【００９７】
特定のケースでは、オブジェクトインスタンスは、最前面の確率、存在の確率、及びオブジェクトラベルの確率の１つまたは複数を規定するデータを含む場合がある。これら確率は、確率の分布として規定される場合があり、この確率の分布は、次いで、（たとえば、サンプリングまたは予測を取ることにより）確率の値を判定するために評価される。これらケースでは、方法７００は、オブジェクトインスタンスに関する３次元オブジェクトボリュームの一部が、最前面の一部を形成するかを確率的に判定すること、及び／または、オブジェクトインスタンスのマップ内のオブジェクトインスタンスに関する存在の確率を判定することを含む場合がある。存在の確率を判定するケースでは、存在の確率の値が予め規定された閾値未満であることの判定に応じて、オブジェクトインスタンスが、オブジェクトインスタンスのマップから除去される場合がある。
【００９８】
たとえば上述したような、特定のケースでは、マスク出力は、複数の検出されたオブジェクトに関する２要素のマスクを備えている。マスク出力は、確実性の値をも含む場合がある。これらケースでは、本方法は、マスク出力を融合する前に、確実性の値に基づき、オブジェクト認識パイプラインのマスク出力をフィルタリングすることを含む場合がある。
【００９９】
特定のケースでは、オブジェクトを包含する３次元環境のオブジェクト非依存モデルが計算される場合がある。たとえば、このことは、上述のローカルＴＳＤＦ構成要素６２２を少なくとも参照して説明されている。このケースでは、３次元環境のオブジェクト非依存モデルが、フレームまたはシーン内に検出されるオブジェクトがない場合、たとえば、オブジェクトのポーズの概算を、トラッキングのために使用することが不可能であるケース、及び／または、オブジェクトがまばらに分布されたケースにおいて、フレーム対モデルのトラッキングを提供するように使用される場合がある。誤差は、たとえば、少なくともエラーチェッカー６２６を参照して説明されるように、ビデオデータのフレームに関連付けられた画像及び奥行きデータの少なくとも１つと、オブジェクト非依存モデルとの間でトラッキングされる場合がある。誤差が予め規定された閾値を超えるのに応じて、再位置決めが、たとえば、少なくとも再位置決め構成要素６３４を参照して説明したように、実施される場合がある。このことは、ビデオデータの現在のフレームを、オブジェクトインスタンスのマップと少なくとも整列させることを可能にする。このことは、たとえば、ポーズグラフ最適化装置６３６を少なくとも参照して説明したように、ポーズグラフを最適化させることを含んでいる場合がある。
【０１００】
本明細書に記載の特定の実施例は、３Ｄオブジェクトインスタンスの再構築を使用するマッピングを実施する、一般的なオブジェクト指向のＳＬＡＭシステムを提供する。特定のケースでは、フレーム毎のオブジェクトインスタンスの検出は、たとえば、３Ｄ画素の最前面のマスクを使用して強固に融合される場合があり、検出されなかったことには、「存在すること」の確率を使用して対処される場合がある。オブジェクトインスタンスのマップ及び関連するポーズグラフにより、全体的に一定のループが閉じたオブジェクトベースのＳＬＡＭマップを伴う、高品質のオブジェクトの再構築が可能になる。
【０１０１】
多くの相対的に密な再構築システム（たとえば、環境及びその中のオブジェクトを示すために、高解像度のポイントクラウドを使用するシステム）とは異なり、本明細書に記載の特定の実施例は、シーン全体の密な表示を維持することは必要ではない。最新の実施例では、永続的なマップが、それら自体で再構築されたオブジェクトインスタンスから構築される場合がある。本明細書に記載の特定の実施例は、高品質のオブジェクト再構築のための厳密な表面−距離のメトリックのボリュームの使用を、オブジェクトボリューム内の変形を実施することの複雑さを伴わずに、ポーズグラフのシステムの柔軟性と合わせる。特定の実施例では、各オブジェクトは、別々のボリューム内に表示され、各オブジェクトインスタンスが、そのより小であるオブジェクトよりも低い忠実度の表面−距離のメトリックのボリューム内により大であるオブジェクトが組み込まれた、様々な、適切な解像度を有することを可能にする。このことは、大ボリュームのフリースペースを除外することにより、比較的小さいメモリ使用で、かつ、高い忠実度の再構築で、大きいシーンのトラッキングをも可能にする。特定のケースでは、識別されていない構造を有する環境の「使い捨ての」ローカルモデルが、トラッキング及びモデルの閉塞を補助するために使用される場合がある。特定の実施例は、シーンに存在するオブジェクトのタイプの先天的な強い知識を伴わずに、意味論的にラベルが付されたオブジェクトの再構築を可能にする。特定の実施例では、オブジェクトの再構築の品質は最適化され、残りの誤差はポーズグラフのエッジで吸収される。特定の実施例のオブジェクト中心のマップは、オブジェクトを「インスタンス」として作り上げる幾何学的要素と合わさる。このオブジェクトは、たとえば、３Ｄ空間または表面のポイントなどの、密な幾何学形状に個別にラベルを付すアプローチとは反対に、「ユニット」としてラベルが付されるとともに処理される場合がある。そのようなアプローチは、たとえばインドア環境において、マシン−環境の相互作用と、動的なオブジェクトの推理とを容易にする。
【０１０２】
本明細書に記載の実施例は、オブジェクトインスタンスの詳細な幾何学的形状を含む、オブジェクトインスタンスのフルセットを、認識する、または予め提供することは必要としない。本明細書に記載の特定の実施例は、２Ｄ画像の分類及び区分けの発達に影響を与え、既知の３Ｄオブジェクトまたは複雑な３Ｄの区分けの、予め占められたデータベースを必要とすることなく、それらを３Ｄシーンの探査に適合させる。特定の実施例は、オンラインでの使用のために設計され、オブジェクトをマッピングまたは発見するために、観測される環境に変化を生じさせる必要なはい。本明細書に記載の特定の実施例では、発見されたオブジェクトインスタンスは、ＳＬＡＭシステム自体に密に組み込まれ、検出されたオブジェクトは、マスク画像の比較を使用して、別のオブジェクトボリュームに融合される（たとえば、３Ｄオブジェクトボリュームからの投影によって生成される最前面の「仮想」画像を、オブジェクト認識パイプラインによって出力されるマスク画像と比較することによる）。３Ｄオブジェクトボリュームを分離することにより、オブジェクト中心のポーズグラフの最適化が可能になる。このことは、オブジェクトの規定に関して共有される３Ｄボリュームでは不可能である。本明細書に記載の特定の実施例は、同様に、全体の意味論的３Ｄオブジェクト認識（たとえば、何の３Ｄオブジェクトがシーン内に存在するかを認識すること）は必要としないが、２Ｄ画像の区分けに確率的に作用する。
【０１０３】
図２及び図６を参照して本明細書に記載される機能的構成要素の実施例は、専用の処理用電子機器を備えている場合があり、及び／または、少なくとも１つのコンピュータデバイスのプロセッサによって実行されるコンピュータプログラムコードによって実施される場合がある。特定のケースでは、１つまたは複数の埋込型コンピュータデバイスが使用される場合がある。本明細書に記載の構成要素は、コンピュータ可読媒体にロードされたコンピュータプログラムコードを実行するために、メモリと共同して動作する少なくとも１つのプロセッサを備えている場合がある。この媒体は、消去可能なプログラマブルリードオンリメモリなどのソリッドステートの貯蔵媒体を備えている場合があり、コンピュータプログラムコードは、ファームウェアを含む場合がある。他のケースでは、構成要素は、適切に構成されたシステムオンチップの、特定用途の集積回路、及び／または、１つまたは複数の適切にプログラムされたフィールドプログラマブルゲートアレイを含む場合がある。あるケースでは、構成要素は、コンピュータプログラムコード、及び／または、モバイルコンピュータデバイス内の専用の処理用電子機器、及び／または、デスクトップコンピュータデバイスによって実施される場合がある。あるケースでは、構成要素は、前のケースとともに、または前のケースの代わりに、コンピュータプログラムコードを実行する１つまたは複数のグラフィック処理ユニットによって実施される場合がある。特定のケースでは、構成要素は、たとえば、複数のプロセッサ、及び／または、グラフィック処理ユニットのコア上で、並列に実施される１つまたは複数の機能によって実施される場合がある。
【０１０４】
特定のケースでは、上述の装置、システム、または方法が、ロボットデバイスで、またはロボットデバイスのために実施される場合がある。これらケースでは、オブジェクトインスタンスのマップは、３次元空間と相互作用するため、及び／または、３次元空間をナビゲーションするために、デバイスによって使用される場合がある。たとえば、ロボットデバイスは、キャプチャデバイス、図２または図６に示されるシステム、オブジェクトインスタンスのマップ及びポーズグラフを貯蔵するように構成されたデータ貯蔵デバイス、相互作用エンジン、ならびに１つまたは複数のアクチュエータを含む場合がある。１つまたは複数のアクチュエータは、ロボットデバイスが周囲の３次元環境と相互作用することを可能にする場合がある。あるケースでは、ロボットデバイスは、（たとえば、図１Ａのデバイス１３０の通りに）ロボットデバイスが特定の環境をナビゲーションする際に、ビデオデータを取得するように構成されている場合がある。別のケースでは、ロボットデバイスは、環境をスキャンする場合があるか、モバイルデバイスを有するユーザまたは別のロボットデバイスなど、サードパーティから受領されたビデオデータを操作する場合がある。ロボットデバイスがビデオデータを処理する際に、このロボットデバイスは、本明細書に記載のようにオブジェクトインスタンスのマップ及び／またはポーズグラフを生成し、これをデータ貯蔵デバイスに貯蔵するように配置されている場合がある。相互作用エンジンは、次いで、環境と相互作用するために、１つまたは複数のアクチュエータを制御するように、生成されたデータにアクセスするように構成されている場合がある。あるケースでは、ロボットデバイスは、１つまたは複数の機能を実施するように配置されている場合がある。たとえば、ロボットデバイスは、マッピング機能を実施し、特定の人及び／またはオブジェクト（たとえば、緊急時）を位置決めし、オブジェクトを移送し、クリーニングまたはメンテナンスなどを実施するように配置されている場合がある。１つまたは複数の機能を実施するために、ロボットデバイスは、環境と相互作用するように、さらなる知覚デバイス、バキュームシステム、及び／またはアクチュエータなどの、追加の構成要素を備えている場合がある。これら機能は、次いで、オブジェクトインスタンスに基づいて適用される場合がある。たとえば、家庭用ロボットは、「植木鉢」のオブジェクトインスタンスの３Ｄモデルを使用する機能の１つのセットと、「洗濯機」のオブジェクトインスタンスの３Ｄモデルを使用する機能の別のセットとを適用するように構成されている場合がある。
【０１０５】
上述の実施例は、説明的ものとして理解されるものとする。さらなる実施例が予見される。任意の１つの実施例に関して記載された任意の特徴が、単独で、または、記載の他の特徴と組み合わせて使用される場合があり、また、任意の他の実施例の１つまたは複数の特徴と組み合わせて、または、任意の他の実施例の任意の組合せで使用される場合もあることを理解されたい。さらに、上述されていない均等及び変更も、本発明の範囲を逸脱することなく、採用される場合がある。本発明の範囲は、添付の特許請求の範囲に規定されている。
【符号の説明】
【０１０６】
165  キャプチャデバイス
170  ビデオデータ
210  オブジェクト認識パイプライン
220  融合エンジン
614  フィルタ
622  ローカルＴＳＤＦ
624  トラッキング
626  エラーチェック
628  レンダリング
630  オブジェクトＴＳＤＦ
632  データ融合
634  再位置決め
636  ポーズグラフ最適化装置
【図１Ａ】
2021534495.tif 000007
【図１Ｂ】
2021534495.tif 000008
【図１Ｃ】
2021534495.tif 000009
【図２】
2021534495.tif 000010
【図３】
2021534495.tif 000011
【図４】
2021534495.tif 000012
【図５】
2021534495.tif 000013
【図６】
2021534495.tif 000014
【図７】
2021534495.tif 000015
【国際調査報告】
2021534495.tif 000016
2021534495.tif 000017