IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インペリアル カレッジ イノベイションズ リミテッドの特許一覧

<>
  • 特表-画像処理を使用したシーン表示 図1
  • 特表-画像処理を使用したシーン表示 図2
  • 特表-画像処理を使用したシーン表示 図3
  • 特表-画像処理を使用したシーン表示 図4
  • 特表-画像処理を使用したシーン表示 図5
  • 特表-画像処理を使用したシーン表示 図6
  • 特表-画像処理を使用したシーン表示 図7
  • 特表-画像処理を使用したシーン表示 図8
  • 特表-画像処理を使用したシーン表示 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-11
(54)【発明の名称】画像処理を使用したシーン表示
(51)【国際特許分類】
   G06T 7/50 20170101AFI20221104BHJP
   G06T 7/00 20170101ALI20221104BHJP
   G06V 10/82 20220101ALI20221104BHJP
【FI】
G06T7/50
G06T7/00 350C
G06V10/82
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022514766
(86)(22)【出願日】2020-08-21
(85)【翻訳文提出日】2022-05-06
(86)【国際出願番号】 GB2020052024
(87)【国際公開番号】W WO2021044122
(87)【国際公開日】2021-03-11
(31)【優先権主張番号】1912889.1
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】519426058
【氏名又は名称】インペリアル カレッジ イノベイションズ リミテッド
【氏名又は名称原語表記】IMPERIAL COLLEGE INNOVATIONS LIMITED
【住所又は居所原語表記】Level 1 Faculty Building, C/O Imperial College, Exhibition Road London SW7 2AZ, United Kingdom
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マイケル・ブローシュ
(72)【発明者】
【氏名】トリスタン・ウィリアム・レイドロー
(72)【発明者】
【氏名】ロナルド・クラーク
(72)【発明者】
【氏名】アンドリュー・デイヴィソン
(72)【発明者】
【氏名】シュテファン・ロイテンエッガー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA03
5L096AA06
5L096CA02
5L096DA02
5L096FA12
5L096FA69
5L096HA11
5L096KA04
(57)【要約】
シーンのメッシュ表示を取得するように構成された画像処理システムであって、メッシュ表示が、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を備えており、平面内位置が、第1の次元及び第2の次元を含む平面内にあり、頂点が、第1の次元及び第2の次元とは異なる第3の次元での関連する頂点深度値を有する、画像処理システム。画像処理システムは、メッシュ表示のそれぞれの頂点に関連する平面内位置を推定するように、シーンの画像を示す画像データを処理するように構成された平面内位置推定ネットワークを備えている。画像処理システムは、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値を推定するように、平面内位置及び画像データを処理するように構成された深度推定エンジンをさらに備えている。
【特許請求の範囲】
【請求項1】
シーンのメッシュ表示を取得するように構成された画像処理システムであって、
前記メッシュ表示が、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を含んでおり、前記平面内位置が、第1の次元及び第2の次元を含む平面内にあり、前記頂点が、前記第1の次元及び前記第2の次元とは異なる第3の次元での関連する頂点深度値を有し、
前記画像処理システムが、
前記メッシュ表示のそれぞれの頂点に関連する前記平面内位置を推定するように、前記シーンの画像を示す画像データを処理するように構成された平面内位置推定ネットワークであって、
前記平面内位置推定ネットワークが、予測深度マップと、グラウンドトゥルース深度マップとの間の比較に基づく損失関数を使用したトレーニングの間に取得されたパラメータを含むニューラルネットワークアーキテクチャを含んでおり、前記予測深度マップが、前記トレーニングの間に前記ニューラルネットワークアーキテクチャの出力から計算される、前記平面内位置推定ネットワークと、
前記メッシュ表示の前記それぞれの頂点に関する前記関連する頂点深度値を推定するように、前記平面内位置及び前記画像データを処理するように構成された深度推定エンジンと、
を備えている、前記画像処理システム。
【請求項2】
前記予測深度マップが、前記メッシュ表示の前記それぞれの頂点に関連する頂点深度値を、前記シーンのそれぞれの領域に関連するピクセル深度値に変換するための変換関数を使用したトレーニングの間に前記ニューラルネットワークアーキテクチャの前記出力から計算され、前記変換関数が、前記ニューラルネットワークアーキテクチャの前記出力に依存する、請求項1に記載の画像処理システム。
【請求項3】
前記変換関数が、前記予測深度マップのレンダリングによって取得される、請求項2に記載の画像処理システム。
【請求項4】
前記変換関数が、前記複数の多角形のそれぞれの多角形に関連する重心の重みを含んでいる、請求項2または請求項3に記載の画像処理システム。
【請求項5】
前記ニューラルネットワークアーキテクチャが、
前記画像の画像特徴を検出するための少なくとも1つのたたみ込み層と、
前記平面内位置を推定するために、前記画像の複数のパッチに関する画像特徴を処理するための少なくとも1つの全結合層と、
を含む、請求項1から請求項4のいずれか一項に記載の画像処理システム。
【請求項6】
前記メッシュ表示の前記それぞれの頂点に関する関連する前記頂点深度値が、逆深度値であり、前記予測深度マップが、前記シーンのそれぞれの空間的領域に関連する予測逆深度値を示し、前記グラウンドトゥルース深度マップが、前記それぞれの空間的領域に関連するグラウンドトゥルースの逆深度値を示す、請求項1から請求項5のいずれか一項に記載の画像処理システム。
【請求項7】
前記複数の多角形の各多角形が三角形である、請求項1から請求項6のいずれか一項に記載の画像処理システム。
【請求項8】
前記平面内位置推定ネットワークが、前記複数の多角形がサイズの条件を満たすように前記平面内位置を推定するように構成されており、任意選択的には、前記サイズの条件が、前記第1の次元及び前記第2の次元の少なくとも1つでの、前記画像の長さの所定の割合以下の長さを有する多角形によって満たされる、請求項1から請求項7のいずれか一項に記載の画像処理システム。
【請求項9】
前記平面内位置推定ネットワークが、前記複数の多角形が重なっていないように、前記平面内位置を推定するように構成されている、請求項1から請求項8のいずれか一項に記載の画像処理システム。
【請求項10】
前記深度推定エンジンが、前記画像データ及び前記平面内位置に依存する項を含むコスト関数を最適化させることにより、前記メッシュ表示の前記それぞれの頂点に関する前記関連する頂点深度値を推定するように構成されている、請求項1から請求項9のいずれか一項に記載の画像処理システム。
【請求項11】
シーンのメッシュ表示を取得するように構成された画像処理システムであって、
前記メッシュ表示が、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を含み、前記平面内位置が、第1の次元及び第2の次元を含む平面内にあり、前記頂点が、前記第1の次元及び前記第2の次元とは異なる第3の次元での関連する深度値を有し、
前記画像処理システムが、
前記メッシュ表示のそれぞれの頂点に関連する前記平面内位置を推定するように、前記シーンの画像を示す画像データを処理するように構成された平面内位置推定ネットワークと、
深度推定エンジンであって、
前記平面内位置及び前記画像データを受領することと、
前記メッシュ表示の前記それぞれの頂点に関する前記関連する頂点深度値を推定するように、前記画像データ及び前記平面内位置に依存する項を含むコスト関数を最適化させることと、
をするように構成された前記深度推定エンジンと、を備えている、
前記画像処理システム。
【請求項12】
前記画像データが、前記シーンの第1の画像を示す第1の画像データと、前記第1の画像に少なくとも部分的に重なる前記シーンの第2の画像を示す第2の画像データと、を含み、前記項が第1の項であり、前記コスト関数が、前記第1の画像データ、前記第2の画像データ、前記第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズを示す第1のポーズデータ、及び前記第2の画像のキャプチャの間の前記画像キャプチャデバイスの第2のポーズを示す第2のポーズデータに依存する第2の項を含む、請求項11に記載の画像処理システム。
【請求項13】
前記深度推定エンジンが、前記関連する頂点深度値及び前記画像キャプチャデバイスの前記第1のポーズを統合して推定するように、前記コスト関数を最適化させるように構成されている、請求項12に記載の画像処理システム。
【請求項14】
前記項が第1の項であり、前記深度推定エンジンが、前記平面内位置及び前記画像データに基づいて、少なくとも1つの残りの項を予測するように、深度ニューラルネットワークアーキテクチャを含み、前記少なくとも1つの残りの項が前記第1の項を含むとともに、前記関連する頂点深度値に依存し、前記コスト関数が、前記少なくとも1つの残りの項を含む、請求項12または請求項13に記載の画像処理システム。
【請求項15】
前記深度ニューラルネットワークアーキテクチャが、
前記深度ニューラルネットワークアーキテクチャのパラメータの決まった値が与えられると、前記コスト関数を最適化させる前記頂点深度値の最適化された値を取得することと、
前記頂点深度値の前記最適化された値を使用して取得された予測深度マップと、グラウンドトゥルース深度マップとの間の比較に基づく損失関数を最適化させる前記パラメータの最適化された値を取得することと、
を含む、トレーニングプロセスの間に取得された前記パラメータを含む、請求項14に記載の画像処理システム。
【請求項16】
前記頂点深度値の前記最適化された値を取得することが、複数の反復の各々に関する前記頂点深度値のそれぞれの値を取得することを含み、
前記パラメータの前記最適化された値を取得することが、前記頂点深度値の前記それぞれの値の各々に関する前記損失関数の損失値を計算することと、前記損失値に基づき、合わせられた損失を計算することと、を含む、請求項15に記載の画像処理システム。
【請求項17】
前記深度ニューラルネットワークアーキテクチャが、
前記平面内位置を使用して、前記メッシュ表示の前記それぞれの頂点に関連する頂点の残りの項を予測することと、
前記頂点の残りの項から、前記少なくとも1つの残りの項の項を取得することと、
をするように構成されている、請求項14から請求項16のいずれか一項に記載の画像処理システム。
【請求項18】
前記項が第1の項であり、
前記画像データが、前記シーンの第1の画像を示す第1の画像データと、前記第1の画像に少なくとも部分的に重なる前記シーンの第2の画像を示す第2の画像データと、を含み、
前記深度ニューラルネットワークアーキテクチャが、
前記第1の画像データを使用して前記第1の項を予測する第1のニューラルネットワークアーキテクチャと、
前記第1の画像データ及び前記第2の画像データを使用して、前記第1の画像データ、前記第2の画像データ、前記第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズ、及び前記第2の画像のキャプチャの間の前記画像キャプチャデバイスの第2のポーズに依存する第2の項を予測する第2のニューラルネットワークアーキテクチャと、
を含む、請求項14から請求項17のいずれか一項に記載の画像処理システム。
【請求項19】
前記深度推定エンジンが、前記第2の画像データ、及び前記シーンの少なくとも1つのさらなる画像を示すさらなる画像データを使用して、前記第2の画像データ、前記さらなる画像データ、前記第2の画像のキャプチャの間の前記画像キャプチャデバイスの前記第2のポーズ、及び前記少なくとも1つのさらなる画像のキャプチャの間の前記画像キャプチャデバイスの少なくとも1つのさらなるポーズに依存する少なくとも1つのさらなる項を予測するように、前記第2のニューラルネットワークアーキテクチャを使用するように構成されている、請求項18に記載の画像処理システム。
【請求項20】
前記第2のニューラルネットワークアーキテクチャが、前記第1の画像の第1の画像特徴を示す第1の特徴データ、及び、前記第2の画像の第2の画像特徴を示す第2の特徴データを生成するように構成されており、前記第2の項が、前記第1の画像の領域に関する前記第1の画像特徴と、前記第2の画像の対応する領域に関する前記第2の画像特徴との間の重み付けされた比較に基づいている、請求項18または請求項19に記載の画像処理システム。
【請求項21】
前記深度ニューラルネットワークアーキテクチャが、前記重み付けされた比較を計算するための重みを示す重み付けデータを取得するために、前記第1の特徴データ及び前記第2の特徴データを処理するように構成された第3のニューラルネットワークアーキテクチャを含んでいる、請求項20に記載の画像処理システム。
【請求項22】
前記平面内位置推定ネットワークが、予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づく損失関数を使用したトレーニングの間に取得されたパラメータを含む平面内ニューラルネットワークアーキテクチャを含んでおり、前記予測深度マップが、前記トレーニングの間に前記平面内ニューラルネットワークアーキテクチャの出力から計算される、請求項11から請求項21のいずれか一項に記載の画像処理システム。
【請求項23】
ロボットデバイスであって、
請求項1から請求項22のいずれか一項に記載の画像処理システムと、
前記ロボットデバイスが周囲の3次元環境と相互作用することを可能にする1つまたは複数のアクチュエータであって、前記周囲の3次元環境の少なくとも一部が、前記シーンに示される、前記1つまたは複数のアクチュエータと、
前記1つまたは複数のアクチュエータを制御する少なくとも1つのプロセッサを含む相互作用エンジンと、
を備えている、前記ロボットデバイス。
【請求項24】
平面内位置推定ネットワークのトレーニング方法であって、前記方法が、トレーニングの反復に関し、
トレーニングデータのセットからトレーニングサンプルのセットを取得することであって、前記トレーニングサンプルの各々が、シーンを示す画像データ、及び前記シーンのグラウンドトゥルース深度マップを含む、前記取得することと、
前記トレーニングサンプルのセット内の所与のトレーニングサンプルの各々に関し、
前記シーンのメッシュ表示の多角形のそれぞれの頂点に関連する、推定の平面内位置を取得するように、前記平面内位置推定ネットワークのニューラルネットワークアーキテクチャを使用して前記所与のトレーニングサンプルに関する前記画像データを処理することであって、前記推定の平面内位置が、第1の次元及び第2の次元を含む平面内にある、前記処理することと、
前記シーンの予測深度マップを取得するように、前記推定の平面内位置を使用することであって、前記予測深度マップが、前記第1の次元及び前記第2の次元とは異なる第3の次元での前記それぞれの頂点と関連する深度値を含んでいる、前記使用することと、
前記予測深度マップと、前記所与のトレーニングサンプルに関する前記グラウンドトゥルース深度マップとの間の比較に基づく損失関数を計算することと、
を含み、
前記トレーニングの反復が、前記ニューラルネットワークアーキテクチャに関するパラメータ値を判定するように、前記損失関数を最適化させるように繰り返される、前記トレーニング方法。
【請求項25】
前記所与のトレーニングサンプルに関する画像特徴を示す特徴データを取得するように、前記ニューラルネットワークアーキテクチャの少なくとも1つのたたみ込み層を使用して、前記所与のトレーニングサンプルに関する前記画像データを処理することと、
前記推定の平面内位置を取得するために、最初の平面内位置に対する乱れを計算するように、前記ニューラルネットワークアーキテクチャの全結合層を使用して、前記最初の平面内位置での前記メッシュ表示のそれぞれの頂点に関連する前記シーンの領域に対応する、前記所与のトレーニングサンプルの複数の画像パッチの前記特徴データを処理することと、を含み、
前記乱れの前に、前記メッシュ表示の前記頂点が、前記平面内で互いから規則的に離れている、
請求項24に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理を使用したシーンの表示を取得するための方法及びシステムに関する。本発明は、たとえば、その環境を誘導する、及び/または相互作用するように、ロボットデバイスによって使用される場合がある、シーンのメッシュ表示を取得することに特に関係する。
【背景技術】
【0002】
コンピュータビジョン及びロボット工学の分野では、ロボットデバイスを使用して誘導可能な3次元空間などの環境の表示を構築する必要がしばしばある。3次元空間の表示の構築により、現実世界の環境を、環境のマップが電子デバイスによって使用及び操作される場合がある、仮想またはデジタル領域にマッピングすることが可能になる。たとえば、移動可能なロボットデバイスは、3次元空間の表示を必要とする場合がある。3次元空間の表示は、その環境の誘導及び/または環境との相互作用を可能にするように、位置推定及びマッピングの同時実行(しばしば、「SLAM」と称される)を使用して生成される場合がある。
【0003】
環境の表示を構築するために利用可能であるいくつかの技術が存在する。たとえば、ストラクチャーフロムモーションとマルチビューステレオとが、このことをするために使用される場合がある技術の2つである。多くの技術は、環境の画像から特徴を抽出する。環境の画像は、次いで、3次元表示を構築するために画像毎に相関させられる。表示を生成するための低減された数のポイントまたは特徴を使用する特定の技術は、「スパース」技術と称される。たとえば、これら技術は、10から100の特徴及び/またはポイントを使用して、表示を生成する場合がある。これらは、多くの数千または数万のポイントでの表示を生成する「密な」技術で対比される場合がある。「スパース」技術は、たとえば毎秒30フレームなどのフレームレートで、リアルタイムで実施されることが容易である利点を有している。限定された数のポイントまたは特徴を使用することは、3次元表示を構築することが必要とされる処理の範囲を限定する。比較すると、計算の要件に起因して、環境のリアルタイムの「密な」マッピングを実施することはより困難である。たとえば、「密な」マッピングをオフラインで実施することがしばしば好ましい。たとえば、30分の提供された画像データから「密な」表示を生成するために、10時間かかる場合がある。
【0004】
Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognitionで公開された、Bloesch et al.による「CodeSLAM - Learning a Compact, Optimisable Representation for Dense Visual SLAM」の論文は、オートエンコーダの潜在空間にコードを生成することを記載している。このコードから、シーンの幾何学形状のコンパクトで密な表示を生成することができる。
【0005】
既存の技術では、シーンの効率的な表示に関する要請が依然として存在する。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、シーンのメッシュ表示を取得するように構成された画像処理システムであって、メッシュ表示が、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を含んでおり、平面内位置が、第1の次元及び第2の次元を含む平面内にあり、頂点が、第1の次元及び第2の次元とは異なる第3の次元での関連する頂点深度を有し、画像処理システムは、メッシュ表示のそれぞれの頂点に関連する平面内位置を推定するように、シーンの画像を示す画像データを処理するように構成された平面内位置推定ネットワークであって、平面内位置推定ネットワークが、予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づく損失関数を使用したトレーニングの間に取得されたパラメータを含むニューラルネットワークアーキテクチャを含んでおり、予測深度マップが、トレーニングの間にニューラルネットワークアーキテクチャの出力から計算される、平面内位置推定ネットワークと、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値を推定するように、平面内位置及び画像データを処理するように構成された深度推定エンジンと、を備えている、画像処理システムが提供される。
【0007】
特定の実施例では、予測深度マップは、メッシュ表示のそれぞれの頂点に関連する頂点深度値を、シーンのそれぞれの領域に関連するピクセル深度値に変換するための変換関数を使用したトレーニングの間にニューラルネットワークアーキテクチャの出力から計算され、変換関数が、ニューラルネットワークアーキテクチャの出力に依存する。これら実施例では、変換関数は、予測深度マップのレンダリングによって取得される場合がある。変換関数は、複数の多角形のそれぞれの多角形に関連する重心の重みを含んでいる場合がある。
【0008】
特定の実施例では、ニューラルネットワークアーキテクチャは、画像の画像特徴を検出するための少なくとも1つのたたみ込み層と、平面内位置を推定するために、画像の複数のパッチに関する画像特徴を処理するための少なくとも1つの全結合層と、を含んでいる。
【0009】
特定の実施例では、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値は、逆深度値であり、予測深度マップは、シーンのそれぞれの空間的領域に関連する予測逆深度値を示し、グラウンドトゥルース深度マップは、それぞれの空間的領域に関連するグラウンドトゥルース逆深度値を示している。
【0010】
特定の実施例では、複数の多角形の各多角形は三角形である。
【0011】
特定の実施例では、平面内位置推定ネットワークは、複数の多角形がサイズの条件を満たすように、平面内位置を推定するように構成されている。サイズの条件は、第1の次元及び第2の次元の少なくとも1つの、画像の長さの所定の割合以下の長さを有する多角形によって満たされる場合がある。
【0012】
特定の実施例では、平面内位置推定ネットワークは、複数の多角形が重なっていないように、平面内位置を推定するように構成されている。
【0013】
特定の実施例では、深度推定エンジンは、画像データ及び平面内位置に依存する項を含むコスト関数を最適化させることにより、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値を推定するように構成されている。
【0014】
本発明の第2の態様によれば、シーンのメッシュ表示を取得するように構成された画像処理システムであって、メッシュ表示が、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を含み、平面内位置が、第1の次元及び第2の次元を含む平面内にあり、頂点が、第1の次元及び第2の次元とは異なる第3の次元での関連する深度値を有し、画像処理システムが、メッシュ表示のそれぞれの頂点に関連する平面内位置を推定するように、シーンの画像を示す画像データを処理するように構成された平面内位置推定ネットワークと、深度推定エンジンであって、平面内位置及び画像データを受領することと、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値を推定するように、画像データ及び平面内位置に依存する項を含むコスト関数を最適化させることと、をするように構成された、深度推定エンジンとを備えている、画像処理システムが提供される。
【0015】
特定の実施例では、画像データは、シーンの第1の画像を示す第1の画像データと、第1の画像に少なくとも部分的に重なるシーンの第2の画像を示す第2の画像データと、を含み、項が第1の項であり、コスト関数が、第1の画像データ、第2の画像データ、第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズを示す第1のポーズデータ、及び第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズを示す第2のポーズデータに依存する第2の項を含んでいる。これら実施例では、深度推定エンジンは、関連する頂点深度値及び画像キャプチャデバイスの第1のポーズを統合して推定するように、コスト関数を最適化させるように構成されている場合がある。これら実施例では、項は第1の項である場合があり、深度推定エンジンは、平面内位置及び画像データに基づいて、少なくとも1つの残りの項を予測するように、深度ニューラルネットワークアーキテクチャを含む場合があり、少なくとも1つの残りの項は、第1の項を含むとともに、関連する頂点深度値に依存する場合があり、コスト関数は、少なくとも1つの残りの項を含む場合がある。そのようなケースでは、深度ニューラルネットワークアーキテクチャは、深度ニューラルネットワークアーキテクチャのパラメータの決まった値が与えられると、コスト関数を最適化させる頂点深度値の最適化された値を取得することと、頂点深度値の最適化された値を使用して取得された予測深度マップと、グラウンドトゥルース深度マップとの間の比較に基づき、損失関数を最適化させるパラメータの最適化された値を取得することと、を含むトレーニングプロセスの間に取得されるパラメータを含む場合がある。これらケースでは、頂点深度値の最適化された値を取得することは、複数の反復の各々に関する頂点深度値のそれぞれの値を取得することを含む場合があり、パラメータの最適化された値を取得することは、頂点深度値のそれぞれの値の各々に関する損失関数の損失値を計算することと、損失値に基づき、合わせられた損失を計算することと、を含む場合がある。
【0016】
深度推定エンジンが深度ニューラルネットワークアーキテクチャを含む実施例では、深度ニューラルネットワークアーキテクチャは、平面内位置を使用して、メッシュ表示のそれぞれの頂点に関連する頂点の残りの項を予測することと、頂点の残りの項から、少なくとも1つの残りの項の項を取得することと、をするように構成されている場合がある。
【0017】
深度推定エンジンが深度ニューラルネットワークアーキテクチャを含む実施例では、項は第1の項である場合があり、画像データは、シーンの第1の画像を示す第1の画像データと、第1の画像に少なくとも部分的に重なるシーンの第2の画像を示す第2の画像データと、を含む場合があり、深度ニューラルネットワークアーキテクチャは、第1の画像データを使用して第1の項を予測する第1のニューラルネットワークアーキテクチャと、第1の画像データ及び第2の画像データを使用して、第1の画像データ、第2の画像データ、第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズ、及び第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズに依存する第2の項を予測する第2のニューラルネットワークアーキテクチャと、を含む場合がある。これら実施例では、深度推定エンジンは、第2の画像データ、及びシーンの少なくとも1つのさらなる画像を示すさらなる画像データを使用して、第2の画像データ、さらなる画像データ、第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズ、及び少なくとも1つのさらなる画像のキャプチャの間の画像キャプチャデバイスの少なくとも1つのさらなるポーズに依存する少なくとも1つのさらなる項を予測するように、第2のニューラルネットワークアーキテクチャを使用するように構成されている場合がある。第2のニューラルネットワークアーキテクチャは、第1の画像の第1の画像特徴を示す第1の特徴データ、及び、第2の画像の第2の画像特徴を示す第2の特徴データを生成するように構成されている場合があり、第2の項は、第1の画像の領域に関する第1の画像特徴と、第2の画像の対応する領域に関する第2の画像特徴との間の重み付けされた比較に基づいている場合がある。深度ニューラルネットワークアーキテクチャは、重み付けされた比較を計算するための重みを示す重み付けデータを取得するために、第1の特徴データ及び第2の特徴データを処理するように構成された第3のニューラルネットワークアーキテクチャを含む場合がある。
【0018】
特定の実施例では、平面内位置推定ネットワークは、予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づく損失関数を使用したトレーニングの間に取得されたパラメータを含む平面内ニューラルネットワークアーキテクチャを含んでおり、予測深度マップは、トレーニングの間に平面内ニューラルネットワークアーキテクチャの出力から計算される。
【0019】
本発明の第3の態様によれば、ロボットデバイスであって、本発明の第1の態様または第2の態様に係る画像処理システムと、ロボットデバイスが周囲の3次元環境と相互作用することを可能にする1つまたは複数のアクチュエータであって、周囲の3次元環境の少なくとも一部がシーンに示される、1つまたは複数のアクチュエータと、1つまたは複数のアクチュエータを制御する少なくとも1つのプロセッサを含む相互作用エンジンと、を備えている、ロボットデバイスが提供される。
【0020】
本発明の第4の態様によれば、平面内位置推定ネットワークのトレーニング方法であって、方法が、トレーニングの反復に関し、トレーニングデータのセットからトレーニングサンプルのセットを取得することであって、トレーニングサンプルの各々が、シーンを示す画像データ、及びシーンのグラウンドトゥルース深度マップを含む、取得することと、トレーニングサンプルのセット内の所与のトレーニングサンプルの各々に関し、シーンのメッシュ表示の多角形のそれぞれの頂点に関連する、推定の平面内位置を取得するように、平面内位置推定ネットワークのニューラルネットワークアーキテクチャを使用して所与のトレーニングサンプルに関する画像データを処理することであって、推定の平面内位置が、第1の次元及び第2の次元を含む平面内にある、処理することと、シーンの予測深度マップを取得するように、推定の平面内位置を使用することであって、予測深度マップが、第1の次元及び第2の次元とは異なる第3の次元でのそれぞれの頂点と関連する深度値を含んでいる、使用することと、所与のトレーニングサンプルに関しての予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づく損失関数を計算することと、を含み、トレーニングの反復が、ニューラルネットワークアーキテクチャに関するパラメータ値を判定するように、損失関数を最適化させるように繰り返される、方法が提供される。
【0021】
特定の実施例では、本方法は、所与のトレーニングサンプルに関する画像特徴を示す特徴データを取得するように、ニューラルネットワークアーキテクチャの少なくとも1つのたたみ込み層を使用して、所与のトレーニングサンプルに関する画像データを処理することと、推定の平面内位置を取得するために、最初の平面内位置に対する乱れを計算するように、ニューラルネットワークアーキテクチャの全結合層を使用して、最初の平面内位置でのメッシュ表示のそれぞれの頂点に関連するシーンの領域に対応する、所与のトレーニングサンプルの複数の画像パッチの特徴データを処理することと、を含み、乱れの前に、メッシュ表示の頂点が、平面内で互いから規則的に離れている。
【0022】
さらなる特徴は、添付図面を参照して成される以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0023】
図1】各実施例に係る、シーンのメッシュ表示を取得するように構成された画像処理システムを示す概略図である。
図2】各実施例に係る、シーンのメッシュ表示の生成を使用するためのニューラルネットワークアーキテクチャを示す概略図である。
図3】各実施例に係る、メッシュ表示の頂点の平面内位置の推定を示す概略図である。
図4】各実施例に係る、平面内位置推定ネットワークのトレーニングのためのトレーニングの反復を示すフロー図である。
図5】各実施例に係る、メッシュ表示の頂点の頂点深度値を取得するように構成された深度推定エンジンを示す概略図である。
図6図5の深度推定エンジンのトレーニングを示す概略図である。
図7】各実施例に係るロボットデバイスの構成要素を示す概略図である。
図8】各実施例に係る非一時的なコンピュータ可読媒体を示す概略図である。
図9】各実施例に係る、シーンの表示を取得する方法を示すフロー図である。
【発明を実施するための形態】
【0024】
本明細書に記載の特定の実施例は、シーンのメッシュ表示を取得することを可能にする。メッシュ表示は、通常、それぞれの頂点によって規定された複数の多角形を含んでいる。多角形は、メッシュ表示によってモデル化されたシーンの表面を示す表面要素に対応するものと解される場合がある。本明細書の実施例におけるメッシュ表示の頂点は、3次元(3D)空間内の位置を示すか、別様に対応する場合がある。メッシュ表示から、シーン内の所与の領域の位置を判定することができる。メッシュ表示を使用することにより、密な方式でシーンの幾何学形状を示すことが可能になる。このことは、いずれにしろ、計算的に効率的である。たとえば、メッシュ表示は、深度マップよりもコンパクトなシーンの表示である場合がある。深度マップは、通常、シーンの所与の領域と所与の基準ポイントとの間の距離を示す深度値を含んでいる。
【0025】
様々な多角形がメッシュ表示で使用される場合がある。たとえば、多角形は、三角形または四辺形を含む場合があるが、このことは、限定することは意図していない。多角形は、メッシュ表示のレンダリングを簡略化するために、凸状の多角形を含む場合がある。多角形の少なくともいくつかは、非正多角形である場合があり、この多角形は、互いにすべて等しくはない内角、及び、長さが互いにすべて等しくはない辺を有している。多角形の各々は、互いに同じ数の辺を有する場合があるか、いくつかの多角形は、他のものとは異なる数の辺を有する場合がある。たとえば、多角形のいくつかは三角形である場合があり、他のものは四辺形である場合がある。
【0026】
本明細書の実施例では、メッシュ表示の多角形の頂点は、第1の次元及び第2の次元を含む平面内の、平面内位置と関連している。頂点は、第1の次元及び第2の次元とは異なる第3の次元内にある関連する頂点深度値をも有している。メッシュの多角形は、それ自体が2次元(2D)表面を示す場合があるが、多角形の頂点は、ゼロではない頂点深度値を有する場合があり、それにより、異なる頂点が、第1の次元及び第2の次元を含む平面に対して異なる距離にある場合がある。このようなメッシュ表示は、2.5Dのメッシュ表示と解される場合がある。
【0027】
メッシュ表示は、比較的少ない数のパラメータ(多角形の頂点の位置など)を有する3Dシーンを表示することができるが、メッシュ表示をカメラ情報に関連付けることは、通常、レンダリングプロセスを伴う。そのようなレンダリングプロセスは、複雑であるとともに、リアルタイムの密な視覚的SLAMには遅すぎる場合がある。しかし、本明細書の方法及び/またはシステムを使用して生成される場合がある、シーンの2.5Dのメッシュ表示を使用することにより、シーンの画像または他の表示をより効率的に、たとえば少ない計算上の要請で、レンダリングすることが可能になる場合がある。
【0028】
図1は、各実施例に係るシーンのメッシュ表示を取得するように構成された画像処理システム100を概略的に示している。画像処理システム100は、シーンの画像を示す画像データ102を受領するように構成されている。画像データ102は、たとえば、明度、輝度、または色など、シーンの測光特性を示す。画像データ102は、これら測光特性を示すピクセル値のアレイを使用して画像を示す場合がある。画像は、グレースケールまたはカラー画像である場合がある。画像データ102は、カメラまたはビデオカメラなどの任意の適切な画像キャプチャデバイスによって取得される場合がある。画像は、ビデオのフレーム(たとえば、ビデオデータから取得される)に対応する場合があるか、たとえばシーンの単一のキャプチャから取得される、スチール画像である場合がある。
【0029】
シーンは、たとえば3D空間であり、3D空間は、内部及び/または外部の物理的空間、たとえば、部屋または地理上の位置の少なくとも一部である場合がある。シーンは、下側表面、たとえばフロアを含む場合があるか、空中または地球外である場合がある。
【0030】
画像処理システム100の平面内位置推定ネットワーク104は、画像データ102を処理して、シーンのメッシュ表示のそれぞれの頂点に関連する平面内位置106を推定するように構成されている。平面内位置106は、x、y平面内の各頂点の位置を規定する(x,y)座標のセットを含む場合がある。この位置はピクセル位置に対応する場合があり、画像データ102のピクセルの位置に対応している。
【0031】
画像処理システム100の深度推定エンジン108は、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値110を推定するように、平面内位置106及び画像データ102を処理するように構成されている。所与の頂点に関する頂点深度値110は、深度が取得され得る任意の量である場合がある。たとえば、所与の頂点に関する頂点の深度の値110は、平面内位置106に関連する平面に対して表示される場合がある、深度または逆深度を示す値である場合がある。
【0032】
図1の画像処理システム100を使用して、3次元でのメッシュ表示の多角形の頂点の位置は、シーンの密な幾何学形状のコンパクトな表示を提供するために、取得される場合がある。平面内位置106及び頂点深度値110は、任意の適切な座標系の座標として表現される場合がある。たとえば、平面内位置及び頂点深度値は、シーンの画像をキャプチャするために使用される画像キャプチャデバイスに関連するフレームに対する座標として表現される場合がある。いくつかのケースでは、これら座標はデカルト座標である。しかし他のケースでは、同次座標など、他の座標系が使用される場合がある。同次座標を使用することにより、平行移動、回転、及び拡縮などの一般的な変換を行列として示すことが可能になる。この行列により、ベクトル(たとえば、同次座標を示す)が乗算される。このことは、これら変換のいくつかを行列乗算として示すことができない他の座標系よりも直接的である。
【0033】
頂点深度値は、逆深度値である場合がある。この方法で、k個の頂点の平面内位置がcとして表示され、それぞれの頂点の関連する逆深度値がxとして表示される場合、所与の頂点の位置vは、v=c/xとして表示される場合がある。cは、たとえば、x、y平面内の(x,y)座標の形態である場合がある。x、y平面は、画像の平面と平行であるか、同じである場合がある。たとえば、k個の頂点の位置は、画像の平面内の画像のピクセルのそれぞれのピクセル位置に対応する場合がある。逆深度値に関連する不確かさは、別のものよりも厳密にガウス分布に従い、これら不確かさをモデル化することを容易にする。さらに、逆深度マップ(たとえば、シーンのそれぞれの領域に対応する逆深度を、たとえば逆深度ピクセルとして示す)と、それぞれの頂点に関連する逆深度値との間の関係は、多角形が3D内で平らである場合、線形である。このことは、図4を参照してさらに論じるように、線形マップを使用して、逆深度マップを頂点の逆深度値から引き出すことを可能にする。
【0034】
画像処理システム100では、頂点の平面内位置106は、頂点深度値110とは別に取得される。平面内位置106と頂点深度値110とを別々に判定することにより、たとえば、シーンのメッシュ表示をより効率的に取得することが可能になる。たとえば、平面内位置推定ネットワーク104と深度推定エンジン108との両方は、メッシュ表示を使用して取得可能な深度マップの正確さを最適にするように別々に調整される場合がある。したがって、深度マップは、別のものよりもより効率的に取得される場合がある。シーンの深度の再構築に基づいて画像処理システム100を最適化させることは、このため、シーンのメッシュ表示が、シーンの幾何学形状をより密にキャプチャすることを確実にする。したがって、画像処理システム100を使用することは、シーンの正確かつ効率的な表示を取得することを可能にする。たとえば、平面内位置106は、平面内位置推定ネットワーク104のニューラルネットワークアーキテクチャによって予測される学習可能な量として処理される場合がある。しかし、頂点深度値110は、画像処理システム100の自由度として処理される場合がある。実施例の頂点深度値110は、ニューラルネットワークアーキテクチャによっては予測されない。そのような実施例では、頂点の深度値110は、代わりに、最適化手順を通して取得される。
【0035】
いくつかの実施例では、図1の平面内位置推定ネットワーク104は、予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づく損失関数を使用したトレーニングの間に取得されたパラメータを含むニューラルネットワークアーキテクチャを含んでいる。予測深度マップは、トレーニングの間にニューラルネットワークアーキテクチャの出力から計算される。平面内位置推定ネットワーク104のトレーニングは、図4を参照してさらに論じられる。
【0036】
いくつかの実施例では、深度推定エンジン108は、画像データ及び平面内位置に依存する項を含むコスト関数を最適化させることにより、メッシュ表示のそれぞれの頂点に関する関連する頂点深度値を推定するように構成されている。このことは、図5を参照してさらに記載される。
【0037】
各実施例に係るニューラルネットワークアーキテクチャ112は、図2に概略的に示されている。図1の平面内位置推定ネットワーク104は、ニューラルネットワークアーキテクチャ112などのニューラルネットワークアーキテクチャを使用する場合があるが、これが事例である必要はない。図2のニューラルネットワークアーキテクチャ112は、画像の画像特徴を検出するための少なくとも1つのたたみ込み層114と、メッシュ表示の頂点の平面内位置を推定するために、画像の複数のパッチに関する画像特徴を処理するための少なくとも1つの全結合層116と、を含んでいる。
【0038】
図3は、図2のニューラルネットワークアーキテクチャ112を使用した、メッシュ表示の頂点の平面内位置の推定を示す概略図である。シーンの画像118が受領される。図3の実施例では、画像118は、たとえば解析対象領域(ROI)に対応する、シーンのより大である画像の部分を示している。しかし、他のケースでは、受領された画像は、画像全体であるか、シーン全体のものである場合がある。
【0039】
画像118を示す画像データは、ニューラルネットワークアーキテクチャの少なくとも1つのたたみ込み層114によって処理される。このケースでは、5つのたたみ込み層が図示されているが、これは実施例に過ぎない。ニューラルネットワークアーキテクチャは、完全なたたみ込みネットワークなどのたたみ込みニューラルネットワーク(CNN)である場合がある。
【0040】
図3では、たたみ込み層114は、全たたみ込みネットワークの実施例である、いわゆる「U-Net」の一部を形成する。U-Netアーキテクチャは、Ronneberger et alによる2015年論文「U-Net: Convolutional networks for biomedical image segmentation」に記載されている(適用可能である場合は、参照することによって組み込まれる)。そのようなU-Netは、ときにはダウンサンプリングパスと称される、コントラクティングパスを含む場合がある。コントラクティングパスは、所与の解像度の画像特徴を取得するように各々が配置されたダウンサンプリングのセットを含む場合がある。各ダウンサンプリングブロックは、たたみ込みを含む場合があり、正規化線形ユニット(rectified linear unit、ReLU)及び最大プーリング演算が続く。コントラクティングパスの間は、空間的情報が低減される。しかし、特徴の情報は、たとえば各段階での特徴マップの数を増大させることによって増大される。この方法で、粗さが増大したが、画像特徴の次元の数が増大した画像の表示が取得される場合がある。U-Netは、ときにはアップサンプリングパスと称される拡大パスをも含んでいる。拡大パスは、アップサンプリングブロックのセットを含む場合がある。たとえば、各アップサンプリングブロックは、たとえばアップたたみ込み(up-convolution)及び連結を使用して、コントラクティングパスによって取得される特徴及び空間的情報を合わせる。この方法で、アップサンプリングブロックは、複数の異なる解像度で画像特徴を取得するように配置されている。U-Netは、たとえば、ダウンサンプリングたたみ込みの4つのペアと、対応するスキップ層とのアップサンプリングたたみ込みの4つのペアとを有する場合がある。各ペアの第1のたたみ込み層は、2のストライドを使用する場合があり、取得された特徴チャンネルのサイズは、ダウンサンプリングブロックに関してはアナログ設定で、アップサンプリングブロックに関して(16、16、32、32、64、64、128、128)である場合がある。たたみ込みは、7のカーネルサイズを有する場合がある第1のものを除き、3のカーネルサイズを有する場合がある。U-Netを使用することは実施例に過ぎないが、少なくとも1つのたたみ込み層114は、他の実施例では、異なるアーキテクチャで配置される場合がある。
【0041】
図3の少なくとも1つのたたみ込み層114の出力は、画像の画像特徴120を示す特徴データである。特徴データは、ピクセル毎に画像の特徴を示す場合がある。したがって、画像特徴は、ピクセル毎の画像特徴と称される場合がある。たとえば、画像特徴は、画像の角、エッジ、形状、色などである。メッシュ表示の頂点に関連する平面内の座標を判定するために、画像は、パッチと称される場合がある画像領域に分割される。画像パッチは、任意の形状またはサイズである場合があり、また、互いに異なるサイズ及び形状である場合があるか、すべて同じ形状及び/またはサイズである場合がある。図3では、画像パッチは、25×25ピクセルのサイズであるが、これは実施例に過ぎない。
【0042】
いくつかの実施例では、画像パッチは、最初の平面内位置のメッシュ表示のそれぞれの頂点に関連するシーンの領域に対応している。最初の平面内位置は、たとえば、平面内のメッシュ表示の多角形のそれぞれの頂点の平面内位置の最初の推定を示している。最初の平面内位置にある頂点を含むメッシュ表示は、最初のメッシュ表示に対応すると解される場合がある。最初のメッシュ表示は、平面内で互いから規則的に離間している多角形の頂点を有する、規則的なメッシュである場合がある。たとえば、規則的なメッシュは、N個の等距離の頂点行と、交互の行上のM個及び(M-1)個の頂点とを含む場合があり、所与の行の頂点間は等しい距離である。いくつかのケースでは、頂点は、規則的に離間していると考えられる場合があり、ここで、頂点は、規則的パターンまたは繰り返しのパターンで配置されている。このことは、頂点の各々の間の等しい距離を伴う必要はない。この実施例では、最初のメッシュ表示の多角形は三角形である。したがって、最初のメッシュ表示は、三角形のメッシュと称される場合がある。
【0043】
このため、画像パッチに関する対応する画像の特徴は、複数の画像特徴パッチを取得するために、たたみ込み層114の出力から取得される場合がある。画像特徴パッチの1つは、図3では参照符号122でラベルが付され、他のラベルは明確化のために省略されている。
【0044】
図3の実施例では、画像特徴パッチの各々は、全結合層116(このケースでは単一の層であるが、他のケースでは2つ以上の層が使用される場合がある)を使用して処理される。画像特徴パッチを全結合層116で処理することは、頂点の最初の平面内位置に対する乱れ、たとえば、図3の規則的な三角形グリッドに対する乱れを計算する。乱れは、たとえば、頂点の推定の平面内位置が頂点の最初の平面内位置からどれだけ異なるかの量を示す平面内の座標を示している。頂点の推定の平面内位置は、この乱れを最初の平面内位置に合わせる(たとえば、加算する)ことによって取得される場合がある。このアプローチにより、たたみ込み層114の寄与が最大にされ、頂点のすべてが同じ方法で処理される。
【0045】
いくつかのケースでは、画像の境界上にある最初の平面内位置の頂点は、画像の境界上にあるままであるように制約が加えられる。たとえば、そのような最初の平面内位置に対する乱れは、適用されない場合がある。このことは、推定の平面内位置の判定を簡略化する。
【0046】
この方法で、シーンの平面内メッシュ表示124が取得される場合がある。平面内メッシュ表示124は複数の多角形を含んでおり、この内の1つには、図3では参照符号126でラベルが付されている。この多角形は、この実施例では三角形である。多角形126は、頂点128a、128b、128cによって規定されている。頂点128a、128b、128cの各々は、ニューラルネットワークアーキテクチャによって取得されたそれぞれの推定の平面内位置を有している(図3では、たたみ込み層114及び全結合層116を含む)。
【0047】
多角形及び/または頂点に対するさらなる制約が、境界の頂点の平面内位置上の制約に加えて、またはその代わりに適用される場合がある。このことは、推定の平面内位置の計算を簡略化または加速させる場合がある。たとえば、平面内位置推定ネットワークは、複数の多角形がサイズの条件を満たすように、平面内位置を推定するように構成されている場合がある。サイズの条件は、たとえば、第1の次元と第2の次元との少なくとも1つでの、画像の長さの所定の割合以下の長さを有する多角形によって満たされる場合がある。たとえば、メッシュ表示の多角形のサイズは、画像の高さの半分以下であるように制約が付される場合がある。平面内位置推定ネットワークは、追加的または代替的に、複数の多角形が重なっていないように、平面内位置を推定するように構成されている場合がある。たとえば、各多角形は、少なくとも1つの頂点を別の多角形と共有する場合があるが、平面内の、多角形の各々によって占められる内部のエリアは、全体的には一致していない場合がある。これら制約は、図2及び図3を参照して記載したような平面内位置推定ネットワークのニューラルネットワークアーキテクチャによって強要される場合がある。
【0048】
図4は、図1から図3の実施例など、各実施例に係る、平面内位置推定ネットワークのトレーニングのためのトレーニングの反復130を示すフロー図である。トレーニングの反復は、平面内位置推定ネットワークに関するパラメータ値の最適化を可能にするように、損失関数を使用する。たとえば、トレーニングの目的は、損失関数を最小にして、パラメータ値をアップデートすることである場合がある。
【0049】
トレーニングプロセスは、たとえば、視覚ベースの3Dの幾何学形状を示すのに適切なシーンのメッシュ表示を生成するために使用される場合がある、トレーニングされた平面内位置推定ネットワークを取得するように設計されている。これをするために、3Dの再構築に依存する損失関数が、平面内位置推定ネットワークをトレーニングするために使用される場合がある。たとえば、シーンのメッシュ表示の頂点の平面内位置の所与のセットに関し、シーンの深度マップに最適にフィットする、対応する頂点深度値が取得される場合がある。この方法で、平面内位置推定ネットワークは、シーンのメッシュ表示の頂点の平面内位置を出力するようにトレーニングされる場合がある。このことは、より少ない再構築エラーに繋がり、たとえば、それにより、メッシュ表示から取得可能な深度マップが、シーンの実際の深度により密接にマッチするようになっている。
【0050】
図4のアイテム132では、トレーニングサンプルのセットがトレーニングデータのセットから取得される。トレーニングサンプルの各々は、シーンを示す画像データ、及びシーンのグラウンドトゥルース深度マップを含んでいる。
【0051】
図4のアイテム134では、所与のトレーニングサンプルに関する画像データは、シーンのメッシュ表示の多角形のそれぞれの頂点に関連する、推定の平面内位置を取得するように、平面内位置推定ネットワークのニューラルネットワークアーキテクチャを使用して処理される。図1から図3を参照して説明したように、推定の平面内位置は、第1の次元及び第2の次元を含む平面内にある。
【0052】
図4のアイテム134で使用されるニューラルネットワークアーキテクチャは、図2及び図3を参照して記載されたものに類似であるか同じである場合がある。たとえば、所与のトレーニングサンプルに関する画像データは、所与のトレーニングサンプルに関する画像特徴を示す特徴データを取得するように、ニューラルネットワークの少なくとも1つのたたみ込み層を使用して処理される場合がある。特徴データは、推定の平面内位置を取得するために、最初の平面内位置に対する乱れを計算するように、ニューラルネットワークアーキテクチャの全結合層を使用して、最初の平面内位置でのメッシュ表示のそれぞれの頂点に関連するシーンの領域に対応する、所与のトレーニングサンプルの複数の画像パッチに関して処理される場合がある。乱れの前に、メッシュ表示の頂点は、平面内で互いから規則的に離れている場合がある。この方法で、図3のものなどの平面内のメッシュ表示が取得される場合がある。
【0053】
図4のアイテム136では、推定の平面内位置が、所与のトレーニングサンプルに関するシーンの予測深度マップを取得するために使用される。予測深度マップは、第1の次元及び第2の次元とは異なる第3の次元でのそれぞれの頂点と関連する深度値を含んでいる。
【0054】
予測深度マップは、メッシュ表示のそれぞれの頂点に関連する頂点深度値を、シーンのそれぞれの領域に関連するピクセル深度値に変換するための変換関数を使用したトレーニングの間のニューラルネットワークアーキテクチャの出力から計算される場合がある。変換関数は、たとえば、ニューラルネットワークアーキテクチャの出力に依存する。
【0055】
たとえば、頂点深度値が逆深度値である場合、予測深度マップは、線形変換関数により、頂点深度値に関連する場合がある。このことは、線形マップと称される場合がある。このことは、以下のように表現される場合がある。
D(x)=J(c)x
ここで、D(x)はシーンの推定逆深度マップであり、xは頂点深度値(このケースでは、逆深度値である)を示しており、cは頂点の平面内位置を示しており、J(c)は変換関数である。このケースでは、予測深度マップは、シーンのそれぞれの空間的領域に関連する予測逆深度値を示している。
【0056】
変換関数は、たとえば、複数の多角形のそれぞれの多角形に関連する重心の重みを適用することを含む場合がある。たとえば、頂点の1つと一致しない、多角形内の頂点ではない位置に関連する深度値は、多角形の頂点の各々に関連する深度値の重み付けされた組合せに依存する場合がある。重み付けされた組合せのために使用される重みは、頂点の平面内位置に依存する場合があり、また、重心の重みに対応すると解釈される場合がある。
【0057】
変換関数は、所与の多角形に関する頂点深度値が、その所与の多角形の頂点の平面内位置に依存するのみである場合があることから、スパース行列である場合がある。たとえば、メッシュ表示が複数の三角形で形成されている場合、所与の多角形に関する頂点深度値は、3つの頂点の平面内位置に依存する場合がある。
【0058】
変換関数は、所与のトレーニングサンプルに関するニューラルネットワークアーキテクチャの出力を使用して、予測深度マップをレンダリングすることによって取得される場合がある。ニューラルネットワークアーキテクチャの出力は、このケースでは、ニューラルネットワークアーキテクチャの現在のパラメータ値を有する、所与のトレーニングサンプルの画像に示されるシーンのメッシュ表示の頂点の予測平面内位置に対応する。このことは、変換を直接的に取得することを可能にする。予測深度マップは、深度推定エンジンを使用した頂点深度値の最適化を簡略化する、区別可能なレンダラーを使用してレンダリングされる場合がある。
【0059】
図4のアイテム138では、所与のトレーニングサンプルに関する予測深度マップとグラウンドトゥルース深度マップとの間の比較に基づき、損失関数が計算される。頂点深度値が逆深度値であり、予測深度マップが予測逆深度値を示す実施例では、グラウンドトゥルース深度マップは、それぞれの空間的領域に関連するグラウンドトゥルース逆深度値を示す場合がある。
【0060】
頂点深度値とグラウンドトゥルース深度マップとの間の関係が線形である実施例では、グラウンドトゥルース深度マップに最適にフィットする頂点深度値を、以下の正規方程式を解くことによって計算することができる。
J(c)J(c)x=J(c)
ここで、J、c、及びxは、上で規定されたものであり、Dはグラウンドトゥルース深度マップを示している。しかし、メッシュ表示が概してシーンの推定であることから、通常は残りの再構築エラーが存在する。xを除去することにより、再構築エラーEは、以下のように表現される場合がある。
E=(I-J(c)(J(c)J(c))-1J(c))D
ここで、Iは単位行列である。このことは、たとえば、予測深度マップとグラウンドトゥルース深度マップとの間の差異に対応する。
【0061】
この再構築エラーは、損失関数で使用される場合がある。このため、損失関数を最小にすることは、たとえば、より少ない再構築エラーに繋がる平面内位置を予測するように平面内位置推定ネットワークをトレーニングするために、再構築エラーを最小にすることを伴う。概して、シーン内の高い曲率の領域に一致するように平面内位置を予測することにより、再構築エラーが最小にされる場合がある。この方法で、平面内位置推定ネットワークは、シーン内の高い曲率の領域に対応する、より高い密度の頂点を予測するようにトレーニングされる場合があり、これら領域に関連する深度をより正確に予測することを可能にする。このような実施例では、損失関数は、

【数1】
として表現される場合があり、このことは、たとえば、

【数2】
に対応する。ここで、Dは予測深度マップに対応する。
【0062】
このような損失関数を使用することにより、グラウンドトゥルース深度データが、画像のいくつかのピクセルに関して利用不可能である場合であっても、ニューラルネットワークアーキテクチャをトレーニングすることが可能になる。そのようなケースでは、これらピクセルは、損失関数を評価する場合に省略される場合がある。したがって、トレーニングプロセスは、トレーニングのために完全な深度マップに依存する他のアプローチよりも柔軟である。
【0063】
各実施例におけるトレーニングの反復130は、ニューラルネットワークアーキテクチャに関するパラメータ値を判定するように、損失関数を最適化させるように繰り返される。たとえば、逆伝搬法が、ニューラルネットワークアーキテクチャのそれぞれのパラメータに関する損失関数の勾配を計算するために、使用される場合がある。パラメータ値は、このため、逆伝搬法を介して計算された傾斜を使用して、確率論的勾配下降を介して、複数のトレーニングの反復の各々に関してアップデートされる場合がある。
【0064】
この方法で、ニューラルネットワークアーキテクチャは、予測するようにトレーニングされるパラメータ(メッシュ表示の頂点の平面内位置)とは異なるパラメータ(深度値)を使用してトレーニングされる場合がある。この方法でニューラルネットワークアーキテクチャをトレーニングすることにより、画像処理システムを全体として使用する場合、メッシュ表示から取得可能な深度マップに関連する再構築エラーを低減する。たとえば、画像処理システムは、深度の再構築エラーを最小にするシーンのメッシュ表示を予測するように、エンドツーエンド方式でトレーニングされる場合がある。
【0065】
図5は、各実施例に係る、メッシュ表示の頂点の頂点深度値を取得するように構成された深度推定エンジン140を示す概略図である。図1の深度推定エンジン108は、図5の深度推定エンジン140または異なる深度推定エンジンを使用する場合がある。
【0066】
深度推定エンジン140は、頂点深度値を取得するために、入力データ142を処理する。入力データ142は、たとえば、シーンのメッシュ表示の多角形の頂点の平面内位置、及び、少なくとも1つの画像を示す画像データを含んでいる。平面内位置は、平面内位置を推定するために、画像データを処理するように構成された平面内位置推定ネットワークによって生成される場合がある。平面内位置推定ネットワークは、図1から図4を参照して記載した平面内位置推定ネットワークと同じであるか類似である場合があるか、異なる場合がある。入力データ142は、少なくとも1つの画像のキャプチャの間の画像キャプチャデバイスのポーズを示すポーズデータをも含む場合がある。
【0067】
図5の深度推定エンジン140は、メッシュ表示のそれぞれの頂点に関する頂点深度値を推定するように、画像データ及び平面内位置に依存する項を含むコスト関数を最適化させるように構成されている場合がある。図5の深度推定エンジン140は、特定のアーキテクチャとともに示されている。しかし、このアーキテクチャは実施例に過ぎず、他のアーキテクチャが他の実施例で使用される場合がある。
【0068】
画像データ及び平面内位置に依存する項は、たとえば、シーンの画像に依存する第1の項である。たとえば、第1の項は、たとえば、実際のシーンに対応しないように思われるラフなメッシュ表示にペナルティを課すために、シーンの幾何学形状の以前の知識をエンコードすると考えられる場合がある。この方法で、頂点深度値がシーンの単一の画像から取得される場合がある。第1の項148の実施例は、以下にさらに論じられる。
【0069】
いくつかのケースでは、シーンの複数の画像、たとえば、ビデオデータの複数のフレームが、頂点深度値を取得するために使用される場合がある。そのようなケースでは、深度推定エンジン140によって受領された画像データは、シーンの第1の画像を示す第1の画像データと、第1の画像に少なくとも部分的に重なるシーンの第2の画像データと、を含んでいる。換言すると、第1の画像でキャプチャされたシーンの領域は、第2の画像にも存在する場合がある。第1の画像または第2の画像の少なくとも1つは、キーフレームである場合がある。キーフレームは、外部システム、たとえば外部のSLAMシステムによって指定されたキーフレームである場合がある。キーフレームは、たとえば前のキーフレームから一定の時間が経過した後、または、画像キャプチャデバイスが前のキーフレームから一定量だけ移動した後に、そのように指定される場合がある。キーフレームは、より完全な深度推定が取得されるビデオのフレームに対応する場合があり、また、メッシュ表示が前に取得されなかったシーンの新しい部分、または他の部分よりも特徴に富んでいるものと識別されたシーンの部分に対応するか、含む場合がある。たとえば、メッシュ表示が前に取得されなかったビデオの第1のフレームは、キーフレームと解される場合がある。キーフレームは、外部システム、たとえば外部のSLAMシステムによって指定されたキーフレームである場合がある。
【0070】
これらケースでのコスト関数は、第1の項に追加で、またはその代わりに、第1の画像データ、第2の画像データ、第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズを示す第1のポーズデータ、及び第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズを示す第2のポーズデータに依存する第2の項を含む場合がある。たとえば6DOF変換行列で説明される、画像キャプチャデバイスの向き及び位置は、画像キャプチャデバイスのポーズとして規定されている場合がある。画像キャプチャデバイスのポーズは、経時的に、たとえばビデオデータまたは一連のスチール画像が記録されるにつれて、変化する場合があり、それにより、キャプチャデバイスは、時間t(たとえば、第2の画像がキャプチャされる)とは異なるポーズを時間t+1(たとえば、第1の画像がキャプチャされる)で有する場合があるようになっている。
【0071】
第1のポーズと第2のポーズとの少なくとも1つは、第1のポーズと第2のポーズとの間の差異として表現される場合がある、画像キャプチャデバイスの相対的ポーズを推定するために、最適化できる量である場合がある。たとえば、深度推定エンジン140は、関連する頂点深度値及び画像キャプチャデバイスの第1のポーズ(相対的ポーズとして表現される場合がある)を統合して推定するように、コスト関数を最適化させるように構成されている場合がある。このアプローチでは、環境の幾何学形状の推定、及び画像キャプチャデバイスのモーションは、統合して推定される場合がある。このことは、因子グラフとして公式化することができる。この中では、各画像がポーズと頂点深度値との2つの変数に関連付けられる。
【0072】
他のケースでは、第1のポーズデータと第2のポーズデータとの少なくとも1つは、深度推定エンジン140を使用するよりむしろ、別々に取得される場合がある。たとえば、様々な異なるカメラのポーズ推定アルゴリズムが、第1のポーズデータ及び/または第2のポーズデータを取得するために使用される場合がある。第1のポーズデータ及び/または第2のポーズデータは、次いで、深度推定エンジン140への入力として使用される場合がある。
【0073】
図5では、深度推定エンジン140は、平面内位置及び画像データに基づいて、少なくとも1つの残りの項を予測するように、深度ニューラルネットワークアーキテクチャ144を含んでいる。残りの項の少なくとも1つは、画像データ及び平面内位置に依存する項を含んでいる。この項は、本明細書では第1の項と称される。残りの項は、たとえば、測定値と予測値との間の差異の測定を提供し、また、誤差の項に対応する場合がある。通常、測定値と予測値との間の差異がより大であると、この残りの項がより大となる。このため、(たとえば、残りの項、またはコスト関数などの、残りの項に基づく関数を最小にすることにより)測定値と予測値との間の差異を最小にすることは、予測値が取得される場合があるモデルの最適なパラメータを判定するために使用される場合がある。この実施例では、少なくとも1つの残りの項は、メッシュ表示の頂点に関連する頂点深度値に依存し、また、コスト関数は、少なくとも1つの残りの項を含んでいる。このため、コスト関数を最小にすることにより、関連する頂点深度値の最適な値が取得される場合がある。
【0074】
図5の実施例では、深度ニューラルネットワークアーキテクチャ144は、メッシュ表示の頂点の頂点深度値に依存する第1の項148を予測するように構成された第1のニューラルネットワークアーキテクチャ146を含んでいる。しかし、他の実施例では、第1の項148は、決定論的計算を通して取得される場合がある。図5の第1のニューラルネットワークアーキテクチャ146は、第1の項148を予測するために、シーンの第1の画像を示す第1の画像データを処理するように構成されている。このケースでの第1の項148は、第1の画像の深度に繋がる第1の残りの項である。第1の項148は、前の因子に対応するように解釈される場合があり、特定の入力画像が与えられると、頂点深度値の確率をエンコードする。第1の項は、滑らかさの制約をエンコードし、メッシュ表示の曲率を低減させるために使用され得る。
【0075】
このケースでは、第1のニューラルネットワークアーキテクチャ146は、データで駆動される第1の項を予測するようにトレーニングされる。任意の適切なアーキテクチャが使用される場合がある。たとえば、第1のニューラルネットワークアーキテクチャ146は、少なくとも1つのたたみ込み層及び少なくとも1つの全結合層を含め、図2及び図3のニューラルネットワークアーキテクチャ112の構造と類似であるか同じである構造を有する場合がある。
【0076】
いくつかのケースでは、深度ニューラルネットワークアーキテクチャ144(たとえば、深度ニューラルネットワークアーキテクチャ144の第1のニューラルネットワークアーキテクチャ146)は、平面内位置を使用して、頂点に関連する頂点の残りの項を予測するように構成されている場合がある。少なくとも1つの残りの項のある項(たとえば、第1の項148)は、頂点の残りの項から取得される場合がある。この方法で、メッシュ表示は、適切なメッシュ表示の前の知識に基づき、頂点毎に制約が付される場合がある。
【0077】
たとえば、第1のニューラルネットワークアーキテクチャ146は、U-Netである場合があり、このU-Netは、少なくとも1つのたたみ込み層を使用して、第1の画像の特徴を示す特徴データを取得するように構成されている。入力データ142として受領された平面内位置でのメッシュ表示のそれぞれの頂点に関連するシーンの領域に対応する画像特徴パッチは、たとえば図3を参照して記載したように抽出される場合がある。この方法で、頂点毎の画像特徴パッチが取得される場合がある。これら頂点毎の画像特徴パッチに基づき、少なくとも1つの前の項が計算される場合がある。あるケースでは、頂点毎の画像特徴パッチに基づき、3つの異なるタイプの線形スパースプライヤー(linear sparse prior)が計算される。頂点深度情報をエンコードするために、頂点毎の画像特徴パッチPが、第1のプライヤー
(x)=a(P)x+b(P
に変換される場合がある。ここで、xはk番目の頂点の頂点深度値を示し、a及びbは、第1のニューラルネットワークアーキテクチャ146の全結合層として実施される。このケースでの第2のプライヤーは、傾向のキューなど、多角形に関する情報をエンコードする。たとえば、頂点毎の画像特徴パッチ内のすべての多角形に関し、線形の残りのものが、第2のプライヤーとして計算される場合がある。このケースでの第3のプライヤーは、エッジ情報をエンコードする。たとえば、頂点毎の画像特徴パッチ内の2つの隣接する多角形の頂点を接続するエッジの各々に関し、線形の残りのものが、第3のプライヤーとして計算される場合がある。計算されたプライヤーは、スパース行列A(I)及びベクトルb(I)に統合されて、このケースでは統合された線形プライヤーp(x)である、第1の項148を取得する場合がある。ここでxは、
p(x)=A(I)+b(I)
である。ここで、Iは入力画像(このケースでは第1の画像)、A(I)及びb(I)は、上述したように、第1のニューラルネットワークアーキテクチャ146によって予測される。
【0078】
図5の実施例における深度ニューラルネットワークアーキテクチャ144は、第2の項152を予測するように構成された第2のニューラルネットワークアーキテクチャ150をも含んでいる。第2の項152は、シーンの第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズと、第1の画像に少なくとも部分的に重なっている、シーンの第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズとに繋がっている。たとえば、第1の画像及び第2の画像は、シーンの観測を示すビデオデータのキーフレームである場合がある。第2の項152も、第1の画像データ及び第2の画像データに依存する。第2のニューラルネットワークアーキテクチャ150は、第1の画像データ及び第2の画像データを処理することにより、第2の項152を予測する。第2のニューラルネットワークアーキテクチャ150は、第1のポーズを示す第1のポーズデータ、及び/または第2のポーズを示す第2のポーズデータをも処理する場合がある。代替的には、第1のポーズデータ及び/または第2のポーズデータは、たとえば頂点深度値とポーズ(複数可)との統合した最適化の間に、深度推定エンジン140によって取得される場合がある。
【0079】
この実施例では、第2の項152は、ステレオ因子に対応するものと考えられる場合がある第2の残りの項である。第2の項152が、情報が重なっているシーンの2つの画像のポーズ及び画像のコンテンツに繋がっていることから、第2の項152は、両方の画像からの情報を、両方が同じシーンで観測されたものであるとの知識と合わせる。この方法で、第1の画像と第2の画像との間の重なっている視野が利用される場合がある。
【0080】
図5では、第2のニューラルネットワークアーキテクチャ150が、適切な特性の第2の項152を予測するようにトレーニングされ、たとえば、それにより、第2の項152が拡縮に依存せず、また、計算上効率的な方式で計算することができるようになっている。しかし、他の実施例では、第2の項152は、決定論的計算を通して取得される場合がある。第2のニューラルネットワークアーキテクチャ150は、任意の適切な構造を有する場合がある。あるケースでは、第2のニューラルネットワークアーキテクチャ150は、少なくとも1つのたたみ込み層及び少なくとも1つの全結合層を含め、図2及び図3のニューラルネットワークアーキテクチャ112の構造と類似であるか同じである構造を有している。
【0081】
第2のニューラルネットワークアーキテクチャ150は、第1の画像の特徴を示す第1の特徴データを取得するように第1の画像データを処理し、また、第2の画像の特徴を示す第2の特徴データを取得するように第2の画像データを処理するように構成されている場合がある。そのようなケースでは、第2の項152は、第1の画像の領域に関する第1の画像特徴と、第2の画像の対応する領域に関する第2の画像特徴との間の重み付けされた比較に基づいて予測される場合がある。そのようなケースでの深度ニューラルネットワークアーキテクチャ144は、重み付けされた比較を計算するための重みを示す重み付けデータを取得するために、第1の特徴データ及び第2の特徴データを処理するように構成された第3のニューラルネットワークアーキテクチャを含む場合がある。
【0082】
一実施例では、第2の項152はステレオ因子Siju(X,X,T,T)として示される。ここで、xは第1の画像に関する頂点深度値を示し、xは第2の画像に関する頂点深度値を示し、Tは第1の画像のキャプチャの間の第1のポーズを示し、Tは第2の画像のキャプチャの間の第2のポーズを示している。このケースでは、第2のニューラルネットワークアーキテクチャ150による処理がYとして示される場合、第2の項152は、以下のように計算される場合がある。
iju(x,x,T,T)=r(Y(I)[u],Y(I)[u])
ここで、rはマッピング(以下にさらに論じる)を示し、Iは第1の画像を示し、Iは第2の画像を示し、[u]は第1の画像のピクセルにおけるピクセルルックアップを示し、[u]は第2の画像の対応するピクセルにおけるピクセルルックアップを示している。このケースでのステレオ因子が、第1の画像と第2の画像とのそれぞれに関する頂点深度値に依存するものと解される場合があるが、第1の画像及び第2の画像のメッシュ表示は、ステレオ因子の判定の間、明示的に計算される必要はないことを理解されたい。しかし、ステレオ因子は、いずれにしろ、たとえば第1の画像と第2の画像とのそれぞれのピクセル間の対応に基づき、第1の画像及び第2の画像の頂点深度値に関する、基本的な情報に依存するか、別様にキャプチャする場合がある。たとえば、第2の画像に関連する頂点深度値は、第2の画像に関連する別のメッシュ表示を明示的に計算することなく、第1の画像のピクセルと第2の画像のピクセルとの間の相関に基づき、第1の画像に関連するメッシュ表示から判定される場合がある。
【0083】
このケースでrによって適用されるマッピングは、第1の画像の所与のピクセルに関する第2のニューラルネットワークアーキテクチャ150の出力と、第1の画像における所与のピクセルと同じものの同じパートを示す、第2の画像の対応するピクセルに関する第2のニューラルネットワークアーキテクチャ150の出力との間にある。このケースでは、第2のニューラルネットワークアーキテクチャ150の出力は、入力画像の画像特徴を示す、図3のたたみ込み層114などの少なくとも1つのたたみ込み層の後の出力である場合がある。このケースでは、第2のニューラルネットワークアーキテクチャ150は、全結合層を含まない場合がある。このため、第1の画像と第2の画像との両方の特徴を予測し、たとえば密な相関の計算を介して、これらをマッチングさせた後に、マッピングrが、ピクセル毎の残りを生成する。このマッピングr(y,y)は、以下のように表現される場合がある。

【数3】
ここで、yは、第1の画像における所与のピクセルに関する第2のニューラルネットワークアーキテクチャ150の出力であり、yは、第2の画像における対応するピクセルに関する第2のニューラルネットワークアーキテクチャ150の出力であり、

【数4】
は、第1の画像と第2の画像とに関する(たとえば、特徴のベクトルの形態での)画像特徴のn番目の要素の差異を計算する。w(y,y)は、残りとしての第1の画像特徴と第2の画像特徴との間の重み付けされた比較を計算するための重みを示している。このケースでの重みの項は、第3のニューラルネットワークアーキテクチャ、たとえば、多層パセプトロン(MLP)によって取得される。重みは、第2の項152の重みを下げるか、第2の項152との当てにならない関連性の寄与を別様に低減するために使用することができる。たとえば、正確な対応を取得することが困難である場合がある、高い反射率のシーンの部分に対応する項の寄与は、重みによって重みが下げられる場合がある。
【0084】
図5では、第2の項152は、第2のニューラルネットワークアーキテクチャ150によって取得されるが、このことは実施例に過ぎない。他のケースでは、第2の項は別様に計算される場合がある。実施例として、第2の項は、測光誤差である場合があるが、このことは、図5のアプローチよりは強度が低い場合がある。
【0085】
図5の実施例では、第2のニューラルネットワークアーキテクチャ150は、第1の画像と第2の画像とからの情報を合わせる、第2の項152を予測するように構成されている。他の実施例では、深度推定エンジン140は、少なくとも1つのさらなる項、たとえば、少なくとも1つのさらなる残りの項を予測するように構成されている場合がある。たとえば、深度推定エンジン140は、第2の画像データ、及びシーンの少なくとも1つのさらなる画像を示すさらなる画像データを使用して、少なくとも1つのさらなる項を予測するように、第2のニューラルネットワークアーキテクチャ150を使用するように構成されている場合がある。少なくとも1つのさらなる項は、第2の画像データ、さらなる画像データ、第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズ、及び少なくとも1つのさらなる画像のキャプチャの間の画像キャプチャデバイスの少なくとも1つのさらなるポーズに依存する場合がある。この方法で、シーンのさらなる画像、たとえばビデオの追加のフレームに関する情報を、直接的な方法で、頂点深度値(第1の画像に関連するメッシュ表示に関する頂点の深度の値など)の判定に組み込むことができる。このことは、頂点深度値が判定され得る正確さを向上させる場合がある。たとえば、各実施例に係る深度推定エンジン140により、さらなる残りの項をコスト関数に追加して、任意の数のフレームを示すことができる。
【0086】
ふたたび図5を参照すると、深度推定エンジン140は、コスト関数推定エンジン154を含んでいる。コスト関数推定エンジン154は、シーンのメッシュ表示のそれぞれの頂点に関連する頂点深度値156を推定するように、コスト関数を最適化させるように構成されている。このケースでは、コスト関数L(x)は、第1の項148及び第2の項152を含んでおり、以下のように表現される場合がある。

【数5】
【0087】
メッシュ表示の頂点に関する頂点深度値を推定するために、コスト関数は最適化される場合がある。コスト関数の最適化は、任意の最適化手順を使用して実施される場合がある。たとえば、ガウス-ニュートンアルゴリズムが、コスト関数の値を最小にする頂点深度値を反復して見出すために使用される場合がある。ダンピングされたガウス-ニュートンアルゴリズムが、計算上の要請を制限するために、20回の反復など、所定の反復数で使用される場合がある。
【0088】
このケースでは、推定の頂点深度値は、第1の画像に関連する第1のメッシュ表示のものである。このケースの第1の画像は、第2の画像に続いてキャプチャされ、第2の画像に関連する第2のメッシュ表示に関する頂点深度値は、類似の方法を使用して前に取得されている場合がある。
【0089】
上で説明したように、いくつかのケースでは、コスト関数は、たとえば第1の画像のキャプチャの間に、画像キャプチャデバイスのポーズに依存する場合もある。そのようなケースでは、コスト関数は、類似のアプローチを使用して、頂点深度値及び第1のポーズを統合して推定するように最適化される場合がある。
【0090】
図6は、図5の深度推定エンジンのトレーニングを示す概略図である。図5の特徴と同じである図6の特徴は、同じ参照符号でラベルが付されており。対応する記載が適用するために取られる。
【0091】
第1の画像データ158及び第2の画像データ160が受領される。第1の画像データ及び第2の画像データは、図5を参照して記載されたものである。しかし、このケースでは、第1の画像データ及び第2の画像データが、メッシュ表示が取得されることになるシーンを示すよりむしろ、トレーニングデータのセットからトレーニングサンプルのセットの一部を形成する。グラウンドトゥルース深度マップ162も受領される。このグラウンドトゥルース深度マップ162は、トレーニングサンプルのセットの一部を形成もし、また、このケースでは、第1の画像と関連付けられるとともに、第1の画像によって示されたシーンのグラウンドトゥルース深度を示している。第1の画像データ158は、第1の画像に関連するメッシュ表示(第1のメッシュ表示と称される場合がある)のそれぞれの頂点に関連する平面内位置を推定するように構成されている、平面内位置推定ネットワーク164によって処理される。平面内位置推定ネットワーク164は、図1から図4など、本明細書の他の実施例を参照して記載されたものと同じである場合がある。
【0092】
平面内位置推定ネットワーク164によって出力された平面内位置は、予測深度マップを取得するように、頂点深度値の最初の推定とともに、深度マップ推定器166によって処理される。頂点深度値の最初の推定値は、一定の値である場合がある。深度マップ推定器166は、たとえば、図4を参照して記載したものなど、変換関数を使用して、頂点深度値の平面内位置及び最初の推定値から予測深度マップを計算する。ニューラルネットワークアーキテクチャの出力が、推定の間は一定のままであることから、ニューラルネットワークアーキテクチャの出力を取得した後は、変換関数は、トレーニングサンプル毎に一回取得される場合がある。
【0093】
予測深度マップと、このケースでは第1の画像のキャプチャと第2の画像のキャプチャとの間の画像キャプチャデバイスの相対的ポーズを示すポーズのデータ168とは、第1の画像のピクセルと、第2の画像の対応するピクセルとの間の密な相関を推定するために、対応する推定器170によって使用される。ポーズデータ168は、たとえば図7を参照して記載したように、外部のマッピングシステムから取得される場合がある。
【0094】
第1の画像データ158は、コスト関数の第1の項p(x)を計算するために、第1のニューラルネットワークアーキテクチャ146によって処理されもする。第1の画像データ158と第2の画像データ160との両方は、Y(I)とY(I)と、として示される場合がある、第1の特徴データと第2の特徴データとをそれぞれ取得するように第2のニューラルネットワークアーキテクチャ150によって処理される。
【0095】
特徴ルックアップ172は、第1の画像のピクセルと同じシーンの同じ部分を示す、第2の画像のピクセルに関する第2の特徴データを取得するために、相関推定器170による密な相関の出力を使用して実施される。次いで、マッピング推定器174は、第1の特徴データ及び第2の特徴データを使用して、上述したマッピングr(y,y)を取得する。マッピング推定器174は、マッピングの生成で使用するための重みを計算するために、第3のニューラルネットワークアーキテクチャを含む場合がある。マッピング推定器174の出力は、コスト関数の第2の項に対応するものと考えられる場合がある。
【0096】
コスト関数(このケースでは、第1のニューラルネットワークアーキテクチャ146によって出力された第2の項及び第1の項を含む)は、頂点深度値に対するアップデートを計算するように、ダンピングされたガウス-ニュートンアルゴリズム176を使用して処理される。これらアップデートされた頂点深度値は、頂点深度値の最適化された値に対応するものと考えられる場合がある。上で説明したように、ガウス-ニュートンアルゴリズムは、深度ニューラルネットワークアーキテクチャがトレーニングされた後に、推定の時間において、頂点深度値を推定するために使用される場合もある。そのようなケースでは、最適化の反復の数は、トレーニングにおいて、推定の時間よりも少ない場合がある。たとえば、トレーニングの間、ガウス-ニュートンアルゴリズム176は、計算を低減させるように、2回または3回の反復を含む場合がある。しかし、推定の時間においては、ガウス-ニュートンアルゴリズムは、20回の反復を含む場合がある。
【0097】
この段階では、深度ニューラルネットワークアーキテクチャ(このケースでは、第1のニューラルネットワークアーキテクチャ146及び第2のニューラルネットワークアーキテクチャ150を含む)のパラメータ値が決められる。たとえば、パラメータ値は、所定の値、たとえば、所定の一定値に初期化される場合がある。このため、少なくとも1つの深度ニューラルネットワークアーキテクチャのパラメータの決まった値が与えられると、頂点深度値の最適化された値は、たとえば、コスト関数を最適化させることによって取得される。
【0098】
頂点深度値の最適化された値は、深度マップ推定器166に後方伝播され、この深度マップ推定器166は、次いで、アップデートされた予測深度マップを計算する。アップデートされた予測深度マップ及びグラウンドトゥルース深度マップは、損失関数180を取得するように、損失関数推定器178を使用して処理される。損失関数180は、たとえば図4を参照して記載したような、平面内位置推定ネットワーク164のトレーニングにおいて使用されるものと同じである場合がある。このため、トレーニングプロセスは、たとえば、頂点深度値の最適化された値を使用して取得された予測深度マップと、グラウンドトゥルース深度マップとの間の比較に基づく損失関数を最適化させる、深度ニューラルネットワークアーキテクチャのパラメータの最適化された値を取得することを含んでいる。損失関数は、過度に高い損失に繋がり得る、非常に近いオブジェクトから生じる影響を制限するためにL1ノルムを使用する場合がある。
【0099】
深度ニューラルネットワークアーキテクチャのトレーニングは、通常、反復的プロセスを含み、このプロセスの中で、トレーニングの複数の反復が、深度ニューラルネットワークアーキテクチャに関するパラメータ値を判定するように、損失関数を最適化させるように繰り返される。説明したように、トレーニングプロセスは、それ自体が、複数のステージのプロセスである場合があり、頂点深度値の、取得された最適化された値を伴い、次いで、頂点深度値の最適化された値を使用して、深度ニューラルネットワークアーキテクチャのパラメータの最適化された値を取得する。そのようなケースでは、頂点深度値の最適化された値を取得することが、複数の反復の各々に関する頂点深度値のそれぞれの値を取得することを含む場合がある。パラメータの最適化された値を取得することは、頂点深度値のそれぞれの値の各々に関する損失関数の損失値を計算することと、損失値に基づき、合わせられた損失を計算することと、をさらに含む場合がある。たとえば、頂点深度値が最適化された後に損失値を使用するよりむしろ、各反復に関する損失値は、ともに加算され、前の反復の損失値によって重みが付される場合がある。このことは、トレーニングプロセスを妨害し得る、画像キャプチャデバイスに非常に近いオブジェクトを伴うトレーニングの実施例の重みを下げる。
【0100】
図7は、一実施例に係るロボットデバイス182の構成要素を示す概略図である。このロボットデバイス182は、コンピュータシステム184を含んでいる。コンピュータシステム184は、単一のコンピュータデバイス(たとえば、デスクトップ、ラップトップ、モバイル、及び/または埋込型コンピュータデバイス)である場合があるか、複数の別個のコンピュータデバイスにわたって分散されている、分散されたコンピュータシステムである場合がある(たとえば、特定の構成要素は、ネットワークにわたって形成された1つまたは複数のクライアントコンピュータデバイスからのリクエストに基づき、1つまたは複数のサーバコンピュータデバイスによって実施される場合がある)。コンピュータシステム184は、画像キャプチャデバイス、たとえば、ビデオのフレームを提供するように配置されたビデオカメラを含んでいる。ビデオのフレームは、たとえば、シーンの観測を含む。画像キャプチャデバイスは、ロボットデバイス182に対して固定して取り付けられる場合があるか、ロボットデバイス182に対して移動可能である場合がある。コンピュータシステム184は、本明細書に記載されたものなど、画像処理システムを含む場合がある。コンピュータシステム184は、シーンの観測の間にカメラのポーズを判定するように配置されたトラッキングシステムをも含む場合がある。コンピュータシステム184は、画像処理システムによって取得されたメッシュ表示から取得された深度マップなど、画像処理システムによって取得されたマップで、シーンのマップを占めるように配置されたマッピングシステムをさらに含む場合がある。トラッキング及びマッピングシステムは、位置推定及びマッピングの同時実行(SLAM)システムの一部を形成する場合がある。ロボットによるマッピング及びナビゲーションの分野のSLAMシステムは、環境内のマップに関連するロボットデバイスを同時に位置推定しつつ、未知の環境のマップを構築及びアップデートするように作用する。たとえば、ロボットデバイスは、マップを構築し、アップデートし、及び/または使用しているデバイスである場合がある。
【0101】
ロボットデバイス182は、ロボットデバイス182が周囲の3次元環境と相互作用することを可能にする1つまたは複数のアクチュエータ186をも含んでいる。アクチュエータ186は、トラック、穴掘り機構、ロータなどを含む場合があり、それにより、ロボットデバイス182は、3D空間の周りを移動するか、別様に3D空間と相互作用することができる。周囲の3次元環境の少なくとも一部は、コンピュータシステム184の画像キャプチャデバイスによってキャプチャされたシーン内に示される場合がある。図7のケースでは、ロボットデバイス182は、ロボットデバイス182が特定の環境を誘導する際に、たとえばビデオデータの形態で画像データをキャプチャするように構成されている場合がある。しかし、別のケースでは、ロボットデバイス182は、環境をスキャンする場合があるか、モバイルデバイスまたは別のロボットデバイスを有するユーザなど、サードパーティから受領された画像データを操作する場合がある。ロボットデバイス182が画像データを処理することから、ロボットデバイス182は、シーンのメッシュ表示を取得するように配置されている場合がある。このシーンから、たとえばロボットデバイス182がその環境をマッピングすることを可能にするように、深度マップが得られる場合がある。
【0102】
ロボットデバイス182は、1つまたは複数のアクチュエータ186を制御するために少なくとも1つのプロセッサを含む相互作用エンジン188をも含んでいる。図7の相互作用エンジン188は、周囲の3D環境と相互作用するようにロボットデバイス182を制御するように、ロボットデバイス182によって取得されたメッシュ表示及び/または深度マップを使用するように構成されている場合がある。たとえば、深度マップは、捕獲されるオブジェクトの位置を特定するため、及び/または、壁などのバリアとの衝突を避けるために使用される場合がある。
【0103】
図7を参照して本明細書に記載されたような機能的構成要素の実施例は、専用の処理用電子機器を含む場合があり、及び/または、少なくとも1つのコンピュータデバイスのプロセッサによって実行されるコンピュータプログラムコードによって実施される場合がある。特定のケースでは、1つまたは複数の埋込型コンピュータデバイスが使用される場合がある。本明細書に記載の構成要素は、コンピュータ可読媒体にロードされたコンピュータプログラムコードを実行するために、メモリと共同して動作する少なくとも1つのプロセッサを含む場合がある。この媒体は、消去可能なプログラマブルリードオンリメモリなどのソリッドステートの貯蔵媒体を含む場合があり、コンピュータプログラムコードは、ファームウェアを含む場合がある。他のケースでは、構成要素は、適切に構成されたシステムオンチップの、特定用途向け集積回路、及び/または、1つまたは複数の適切にプログラムされたフィールドプログラマブルゲートアレイを含む場合がある。あるケースでは、構成要素は、モバイルコンピュータデバイス及び/またはデスクトップコンピュータデバイス内のコンピュータプログラムコード及び/または専用の処理用電子機器によって実施される場合がある。あるケースでは、構成要素は、前のケースとともに、または前のケースの代わりに、コンピュータプログラムコードを実行する1つまたは複数のグラフィック処理ユニットによって実施される場合がある。特定のケースでは、構成要素は、たとえば、複数のプロセッサ、及び/または、グラフィック処理ユニットのコア上で、並列に実施される1つまたは複数の機能によって実施される場合がある。
【0104】
図8は、プロセッサ192と、コンピュータ実行可能な命令196を含む非一時的なコンピュータ可読記憶媒体194の実施例190を示す概略図である。コンピュータ実行可能な命令196は、プロセッサ192によって実行される場合、プロセッサ192を含むコンピュータデバイスなどのコンピュータデバイスに、シーンのメッシュ表示を取得させる。命令は、上述の例示的な方法に類似であるか同じである方法が実施されることに繋がる場合がある。たとえば、コンピュータ可読記憶媒体194は、シーンの少なくとも1つの画像を示す画像データ198を記憶するように配置されている場合がある。コンピュータ実行可能な命令196は、プロセッサ192によって実行される場合、コンピュータデバイスに、画像データ198を処理させて、コンピュータ可読記憶媒体194に記憶されている場合があるシーンのメッシュ表示200を生成するように構成されている場合がある。しかし、図8では、画像データ198及びメッシュ表示200が、コンピュータ可読記憶媒体194に記憶されているものとして図示されているが、他の実施例では、画像データ198及びメッシュ表示200の少なくとも1つは、コンピュータ可読記憶媒体194の外部にある(しかし、コンピュータ可読記憶媒体194によってアクセス可能である)ストレージに記憶されている場合がある。
【0105】
上述の実施例は、説明的な例として理解されるものとする。さらなる実施例が予見される。
【0106】
たとえば、本明細書に記載のものに類似の方法及び/またはシステムは、メッシュ表示または、潜在的な表示などの別の表示である場合がある、シーンの表示を取得するように適合されている場合がある。図9は、各実施例に係る、シーンの表示を取得する方法を示すフロー図である。図9の方法は、上述の画像処理システムに類似の特徴を有する場合がある画像処理システムによって実施される場合があり、また、たとえば、環境と相互作用するか、環境内で誘導可能であるように、ロボットデバイスによって使用される場合がある。図9の方法は、たとえば、画像処理システムの表示の推定エンジンによって実施される場合がある。
【0107】
図9のアイテム202では、シーンの第1の画像を示す第1の画像データと、前シーンの第2の画像を示す第2の画像データとが取得される。第2の画像は少なくとも部分的に第1の画像と重なっている。
【0108】
図9のアイテム204において、第1の画像のキャプチャの間の画像キャプチャデバイスの第1のポーズを示す第1のポーズデータと、第2の画像のキャプチャの間の画像キャプチャデバイスの第2のポーズを示す第2のポーズデータと、が取得される。
【0109】
図9のアイテム206では、第1の画像データが、第1の残りの項を予測するように第1のニューラルネットワークアーキテクチャで処理される。
【0110】
図9のアイテム208では、第1の画像データ、第2の画像データ、第1のポーズデータ、及び第2のポーズデータが、第2の残りの項を予測するように第2のニューラルネットワークアーキテクチャで処理される。
【0111】
図9のアイテム210では、コスト関数が、シーンの表示を推定するように最適化される。コスト関数は、第1の残りの項と第2の残りの項とを含んでいる。
【0112】
図5の第1の項及び第2の項と同様に、第1の残りの項は前の因子を示す場合があり、第2の残りの項はステレオ因子を示す場合がある。第1のニューラルネットワークアーキテクチャ及び第2のニューラルネットワークアーキテクチャは、図5及び図6を参照して記載したものに類似であるか同じである場合があるが、たとえば表示がメッシュ表示ではない場合、メッシュ表示の多角形の頂点の位置に依存しない場合がある。たとえば、表示の推定エンジンは、シーンの潜在的表示を取得するように構成されている場合があり、画像処理システムは、シーンの深度マップを取得するように、潜在空間からのシーンの潜在的表示を変換するように構成された深度のマッピングエンジンを含む場合がある。潜在的表示は、たとえば、(たとえば第1の画像及び第2の画像からの)測定から推定された表示である。潜在的表示は、この表示が環境から直接的に測定可能ではない場合があることから、ときには、変化する値の「隠れた」セットと称される。通常、潜在的表示は、直接の測定よりも、たとえばより少ない次元の数で、よりコンパクトである。このため、そのような潜在的表示は、より効率的に処理及び記憶される場合がある。
【0113】
他のケースでは、表示の推定エンジンは、たとえば図5及び図6を参照して記載したように、シーンのメッシュ表示を取得するように構成されており、メッシュ表示は、平面内位置に関連するそれぞれの頂点によって規定された複数の多角形を含んでおり、平面内位置は第1の次元及び第2の次元を含む平面内にあり、頂点は、第1の次元及び第2の次元とは異なる第3の次元での関連する頂点深度値を有する。
【0114】
表示の推定エンジンは、第2のニューラルネットワークアーキテクチャを使用して、第2の画像データ、シーンの少なくとも1つのさらなる画像を示すさらなる画像データ、第2のポーズデータ、及び、少なくとも1つのさらなる画像のキャプチャの間の画像キャプチャデバイスの少なくとも1つのさらなるポーズを示すさらなるポーズデータを処理して、少なくとも1つのさらなる残りの項を予測するように構成されている場合があり、コスト関数は、少なくとも1つのさらなる残りの項を含んでいる。
【0115】
第2のニューラルネットワークアーキテクチャは、第1の画像の第1の画像特徴を示す第1の特徴データ、及び、第2の画像の第2の画像特徴を示す第2の特徴データを生成するように構成されている場合があり、第2の残りの項は、第1の画像の領域に関する第1の画像特徴と、第2の画像の対応する領域に関する第2の画像特徴との間の重み付けされた比較に基づいている場合がある。これらケースでは、深度推定エンジンは、重み付けされた比較を計算するために、重みを示す重み付けデータを予測するように、第3のニューラルネットワークアーキテクチャを使用して、第1の特徴データ及び第2の特徴データを処理するように構成されている場合がある。このことは、図5を参照して記載した、重み付けされた比較に類似である場合がある。
【0116】
任意の1つの実施例に関して記載された任意の特徴が、単独で、または、記載の他の特徴と組み合わせて使用される場合があり、また、任意の他の実施例の1つまたは複数の機能と組み合わせて、または、任意の他の実施例の任意の組合せで使用される場合もあることを理解されたい。さらに、上述されていない均等及び変更も、添付の特許請求の範囲を逸脱することなく、採用される場合がある。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】