(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-14
(54)【発明の名称】画像処理を用いたシーン表現
(51)【国際特許分類】
G06T 7/174 20170101AFI20220407BHJP
G06T 7/579 20170101ALI20220407BHJP
G06T 7/00 20170101ALI20220407BHJP
【FI】
G06T7/174
G06T7/579
G06T7/00 350C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021550037
(86)(22)【出願日】2020-02-18
(85)【翻訳文提出日】2021-08-26
(86)【国際出願番号】 GB2020050381
(87)【国際公開番号】W WO2020174216
(87)【国際公開日】2020-09-03
(32)【優先日】2019-02-26
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】518067272
【氏名又は名称】インペリアル・カレッジ・オブ・サイエンス・テクノロジー・アンド・メディスン
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】シュアイフェン・ジ
(72)【発明者】
【氏名】マイケル・ブローシュ
(72)【発明者】
【氏名】シュテファン・ロイテンエッガー
(72)【発明者】
【氏名】アンドリュー・デイヴィソン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096AA09
5L096BA05
5L096CA04
5L096DA02
5L096EA03
5L096FA02
5L096FA12
5L096FA66
5L096FA67
5L096FA69
5L096HA11
5L096KA04
(57)【要約】
本明細書に記述される、ある特定の例は、画像データを処理するシステムに関する。それらのような例では、システムは、シーンの少なくとも1つのビューを表す、画像データを受信する入力インタフェースを含む。また、システムは、シーンの少なくとも1つの第一ビューの第一セグメンテーションに関連する第一潜在表現を生成する初期化エンジンを含み、そこでは第一セグメンテーションはセマンティックセグメンテーションである。また、初期化エンジンは、シーンの少なくとも1つの第二ビューに関連する第二潜在表現を生成するように構成される。加えて、システムは、最適化エンジンを含み、この最適化エンジンは、潜在空間では第一潜在表現及び第二潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現を取得する。
【特許請求の範囲】
【請求項1】
画像データを処理するシステムであって、
前記画像データを受信する入力インタフェースであって、前記画像データはシーンの少なくとも1つのビューを表す、前記入力インタフェースと、
初期化エンジンであって、
前記シーンの少なくとも第一ビューの第一セグメンテーションに関連する第一潜在表現であって、前記第一セグメンテーションはセマンティックセグメンテーションである、前記第一潜在表現、及び
前記シーンの少なくとも第二ビューに関連する第二潜在表現、
を生成する、
前記初期化エンジンと、
潜在空間では前記第一潜在表現及び前記第二潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現を取得する最適化エンジンと、
を含む、前記システム。
【請求項2】
前記最適化された第一潜在表現を復号し、前記シーンの前記第一ビューの復号された第一表現を取得することであって、前記シーンの前記第一ビューの最適化された第一セグメンテーションは前記復号された第一表現から導出可能である、前記取得することと、
前記最適化された第二潜在表現を復号し、前記シーンの前記第二ビューの復号された第二表現を取得することであって、前記シーンの前記第二ビューの最適化された第二セグメンテーションは前記復号された第二表現から導出可能である、前記取得することと、
のうちの少なくとも1つを行う、デコーダシステムを含む、請求項1に記載のシステム。
【請求項3】
前記画像データの画像特徴量を識別する特徴量識別エンジンを含み、
前記デコーダシステムは、前記画像特徴量を用いて条件付けされる少なくとも1つのデコーダを含む、請求項2に記載のシステム。
【請求項4】
前記特徴量識別エンジンは、複数の異なる解像度のそれぞれにおいて画像特徴量を識別するように構成され、
前記少なくとも1つのデコーダのうちの1つのデコーダは、
復号された出力を前記複数の異なる解像度のそれぞれに生成し、
前記複数の異なる解像度のそれぞれについて、所与の解像度についての前記画像特徴量を前記所与の解像度について前記復号された出力と組み合わせる、
ように構成される、請求項3に記載のシステム。
【請求項5】
前記デコーダシステムは、
前記復号された第一表現を正規化して前記最適化された第一セグメンテーションを取得することと、
前記復号された第二表現を正規化して前記最適化された第二セグメンテーションを取得することと、
のうちの少なくとも1つのために構成される、請求項2から4のいずれか1項に記載のシステム。
【請求項6】
前記シーンの観測中にカメラの姿勢を決定する追跡システムと、
マッピングシステムであって、
前記シーンの前記第一ビューの前記最適化された第一セグメンテーション、及び前記シーンの前記第一ビューのキャプチャ中にカメラの第一姿勢を表す第一姿勢データ、ならびに
前記シーンの前記第二ビューの前記最適化された第二セグメンテーション、及び前記シーンの前記第二ビューのキャプチャ中の前記カメラの前記姿勢を表す第二姿勢データ、
のうちの少なくとも1つを前記シーンのマップに読み込むように構成される、前記マッピングシステムと、
を含む、請求項2から5のいずれか1項に記載のシステム。
【請求項7】
前記画像データは、前記シーンの前記第一ビューを表す第一フレーム、及び前記シーンの前記第二ビューを表す第二フレームを含み、
前記第一セグメンテーションは、前記シーンの前記第一ビューのセマンティックセグメンテーションであり、
前記第二潜在表現は、前記シーンの前記第二ビューのセマンティックセグメンテーションである第二セグメンテーションに関連付けられる、
請求項1から6のいずれか1項に記載のシステム。
【請求項8】
前記最適化エンジンは、
前記第一潜在表現と前記第二潜在表現との間の差分を示すセマンティック誤差項を決定することと、
前記セマンティック誤差項を最小にする、前記第一潜在表現の値、及び前記第二潜在表現の値を決定することと、
によって、前記第一潜在表現及び前記第二潜在表現を共同して最適化するように構成される、請求項7に記載のシステム。
【請求項9】
前記第一潜在表現を復号し、復号された第一表現を取得し、
前記第二潜在表現を復号し、復号された第二表現を取得する、
ように構成されるデコーダシステムを含み、
前記最適化エンジンは前記復号された第一表現、及び前記復号された第二表現を使用して、前記セマンティック誤差項を決定するように構成される、請求項8に記載のシステム。
【請求項10】
前記デコーダシステムは、入力画像データ、及びグランドトゥルースセマンティックセグメンテーションの対を用いてトレーニングされる、請求項9に記載のシステム。
【請求項11】
前記初期化エンジンは、
前記シーンの前記第一ビューのデプスマップに関連する第三潜在表現と、
前記シーンの前記第二ビューのデプスマップに関連する第四潜在表現と、
を生成するように構成され、
前記最適化エンジンは、前記潜在空間では前記第一潜在表現、前記第二潜在表現、前記第三潜在表現及び前記第四潜在表現を共同して最適化し、前記最適化された第一潜在表現、及び前記最適化された第二潜在表現、ならびに最適化された第三潜在表現、及び最適化された第四潜在表現を取得するように構成される、請求項7から10のいずれか1項に記載のシステム。
【請求項12】
前記最適化エンジンは、
前記第一潜在表現と前記第二潜在表現との間の差分を示すセマンティック誤差項を決定することと、
前記第三潜在表現と前記第四潜在表現との間の差分を示す幾何学的誤差項を決定することと、
前記セマンティック誤差項及び前記幾何学的誤差項を共同して最小にし、前記最適化された第一潜在表現、前記最適化された第二潜在表現、前記最適化された第三潜在表現、及び前記最適化された第四潜在表現を取得する、前記第一潜在表現、前記第二潜在表現、前記第三潜在表現及び前記第四潜在表現のそれぞれの値を決定することと、
によって前記第一潜在表現、前記第二潜在表現、前記第三潜在表現及び前記第四潜在表現を共同して最適化するように構成される、請求項11に記載のシステム。
【請求項13】
第一デコーダであって、
前記最適化された第一潜在表現を復号し、前記シーンの前記第一ビューの最適化されたセマンティックセグメンテーションを取得すること、及び
前記最適化された第二潜在表現を復号し、前記シーンの前記第二ビューの最適化されたセマンティックセグメンテーションを取得すること、
のうちの少なくとも1つのために構成される、前記第一デコーダと、
第二デコーダであって、
前記最適化された第三潜在表現を復号し、前記シーンの前記第一ビューの最適化されたデプスマップを取得すること、及び
前記最適化された第四潜在表現を復号し、前記シーンの前記第二ビューの最適化されたデプスマップを取得すること、
のうちの少なくとも1つのために構成される、前記第二デコーダと、
を有する、デコーダシステムを含む、請求項12に記載のシステム。
【請求項14】
前記最適化エンジンは、
前記シーンの前記第一ビューと、前記シーンの前記第二ビューとの間の光整合性を示す測光誤差項を決定し、
前記測光誤差項を最小にする前記第一潜在表現、前記第二潜在表現、第三潜在表現及び第四潜在表現のうちの少なくとも1つのそれぞれの値を決定する、
ように構成される、請求項7から13のいずれか1項に記載のシステム。
【請求項15】
前記第一セグメンテーションは、前記シーンの前記第一ビューの前記セマンティックセグメンテーションであり、
前記第二潜在表現は、前記シーンの前記第二ビューについてのデプスマップに関連付けられる、請求項1から6のいずれか1項に記載のシステム。
【請求項16】
前記第一潜在表現及び前記第二潜在表現のうちの少なくとも1つは、所定の表現である、請求項1から15のいずれか1項に記載のシステム。
【請求項17】
請求項1から15のいずれか1項に記載の前記システムと、
ロボットデバイスが周囲の3次元環境とインタラクトすることを可能にする1つ以上のアクチュエータであって、前記周囲の3次元環境の少なくとも一部分は前記シーンに示される、前記1つ以上のアクチュエータと、
前記1つ以上のアクチュエータを制御する少なくとも1つのプロセッサを有するインタラクションエンジンと、
を含む、ロボットデバイス。
【請求項18】
画像データを処理する方法であって、
前記画像データによって表現されるシーンの第一ビューの第一セグメンテーションに関連する第一潜在表現を取得することであって、前記第一セグメンテーションはセマンティックセグメンテーションである、前記取得することと、
前記シーンの第二ビューに関連する第二潜在表現を取得することと、
潜在空間では前記第一潜在表現及び前記第二潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現を取得することと、
を含む、前記方法。
【請求項19】
前記画像データは、前記シーンの前記第一ビューを表す第一フレーム、及び前記シーンの前記第二ビューを表す第二フレームを含み、
前記第一セグメンテーションは、前記シーンの前記第一ビューのセマンティックセグメンテーションであり、
前記第二潜在表現は、前記シーンの前記第二ビューのセマンティックセグメンテーションである第二セグメンテーションに関連付けられる、
請求項18に記載の方法。
【請求項20】
前記シーンについての深度データに関連する第三潜在表現を取得することと、
前記シーンについての深度データに関連する第四潜在表現を取得することと、
前記潜在空間では前記第一潜在表現、前記第二潜在表現、前記第三潜在表現及び前記第四潜在表現を共同して最適化し、前記最適化された第一潜在表現、及び前記最適化された第二潜在表現、ならびに最適化された第三表現、及び最適化された第四表現を取得することと、
を含む、請求項19に記載の方法。
【請求項21】
潜在表現予測エンジンが入力画像のセマンティックセグメンテーションを予測するようにトレーニングする方法であって、
画像の画像特徴量を検出することと、
オートエンコーダのエンコーダを使用して前記画像のグランドトゥルースセマンティックセグメンテーションを符号化し、前記グランドトゥルースセマンティックセグメンテーションの潜在表現を取得することと、
前記オートエンコーダのデコーダを使用して前記グランドトゥルースセマンティックセグメンテーションの前記潜在表現を復号し、前記画像の予測されたセマンティックセグメンテーションを取得することであって、前記オートエンコーダは前記画像特徴量を使用して条件付けされる、前記取得することと、
前記画像の前記予測されたセマンティックセグメンテーションと、前記画像の前記グランドトゥルースセマンティックセグメンテーションとの間の比較に基づく損失関数を使用して前記潜在表現予測エンジンを更新することと、
を含む、前記方法。
【請求項22】
前記デコーダは前記画像特徴量を使用して条件付けされる、または
前記エンコーダは前記画像特徴量を使用して条件付けされ、前記デコーダは前記画像特徴量を使用して条件付けされる、請求項21に記載の方法。
【請求項23】
前記セマンティックセグメンテーション及び前記入力画像に関連するデプスマップを予測するように、前記潜在表現予測エンジンをトレーニングすることを含む、請求項21または請求項22に記載の方法。
【請求項24】
前記エンコーダは第一エンコーダであり、
前記デコーダは第一デコーダであり、
前記オートエンコーダは第一オートエンコーダであり、
前記損失関数は第一損失関数であり、
前記方法は、
第二オートエンコーダの第二エンコーダを使用して前記画像に関連するグランドトゥルースデプスマップを符号化し、前記グランドトゥルースデプスマップの潜在表現を取得することと、
前記第二オートエンコーダの第二デコーダを使用して前記グランドトゥルースデプスマップの前記潜在表現を復号し、前記画像について予測されたデプスマップを取得することであって、前記第二オートエンコーダは前記画像特徴量を使用して条件付けされる、前記取得することと、
前記予測されたデプスマップと、前記グランドトゥルースデプスマップとの間の比較に基づいて、第二損失関数を使用して前記潜在表現予測エンジンを更新することと、
を含む、請求項23に記載の方法。
【請求項25】
前記第二デコーダは前記画像特徴量を使用して条件付けされる、または
前記第二エンコーダは前記画像特徴量を使用して条件付けされ、前記第二デコーダは前記画像特徴量を使用して条件付けされる、請求項24に記載の方法。
【請求項26】
前記潜在表現予測エンジンをトレーニングすることは、前記入力画像の入力されたセマンティックセグメンテーションの変分自己符号化を実行するように、前記エンコーダ及び前記デコーダをトレーニングすることを含む、請求項21から25のいずれか1項に記載の方法。
【請求項27】
前記デコーダは線形デコーダを含む、請求項21から26のいずれか1項に記載の方法。
【請求項28】
前記エンコーダは、複数の異なる解像度のそれぞれにおいて符号化された出力を生成するように構成され、
前記方法は、
前記複数の異なる解像度のそれぞれにおいて前記画像の前記画像特徴量を検出することと、
前記複数の異なる解像度のそれぞれについて、所与の解像度についての前記画像特徴量を前記所与の解像度について前記符号化された出力と組み合わせることによって、前記画像特徴量を使用して前記エンコーダを条件付けすることと、
を含む、請求項21から27のいずれか1項に記載の方法。
【請求項29】
前記デコーダは、複数の異なる解像度のそれぞれにおいて復号された出力を生成するように構成され、
前記方法は、
前記複数の異なる解像度のそれぞれにおいて前記画像の前記画像特徴量を検出することと、
前記複数の異なる解像度のそれぞれについて、所与の解像度についての前記画像特徴量を前記所与の解像度について前記復号された出力と組み合わせることによって、前記画像特徴量を使用して前記デコーダを条件付けすることと、
を含む、請求項21から28のいずれか1項に記載の方法。
【請求項30】
前記画像はカラー画像である、請求項21から29のいずれか1項に記載の方法。
【請求項31】
前記損失関数は正則化項を含む、請求項21から30のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理を使用してシーンの表現を取得するための方法及びシステムに関する。本発明は、シーンの潜在表現を取得することに特に関連しているが、排他的ではなく、例えば、そのシーンの潜在表現をロボットデバイスが使用して、その環境に関してナビゲートする、及び/またはその環境とインタラクトすることができる。
【背景技術】
【0002】
コンピュータビジョン及びロボット工学の分野では、多くの場合、ロボットデバイスを使用してナビゲート可能な3次元空間などの環境の表現を構築する必要がある。3次元空間の表現を構築することによって、現実世界の環境を仮想領域またはデジタル領域にマッピングすることができ、そこで電子デバイスは環境マップを使用して、操作することができる。例えば、可動ロボットデバイスは、同時のローカライズ及びマッピング(「SLAM」と称されることが多い)、したがって、その環境のナビゲーションを可能にするために、3次元空間の表現を必要とする場合がある。ロボットデバイスは、屋内の家庭内環境もしくは商業施設環境、または屋外の自然環境中で動作することができる。環境の表現は、識別される、及び/または抽出される、その空間内のオブジェクトのモデルを有効にすることができる。これらは、現実世界の環境上での測定を実行するために使用される、及び/またはアディティブマニュファクチャリングシステムなどを介して、3次元複製を製作するために使用されることができる。同様に、3次元空間における人体の部位の検出は、物理世界での動作を使用して操作されるオブジェクトの仮想表現を可能にする、新規のマンマシンインタラクションを可能にすることができる。
【0003】
環境の表現を構築するために利用可能ないくつかの技法がある。例えば、モーション及びマルチビューステレオからの構造は、これを行うために使用されることができる2つの技法である。多くの技法は、この環境の画像から特徴量を抽出することに続き、これらの特徴量を画像間で相関させ、3次元表現を構築する。ある特定の技法は、減少した数のポイントまたは特徴量を使用して表現を生成し、「疎」の技法と称される。例えば、これらの技法は、10から100個の特徴量及び/またはポイントを使用して、この表現を生成することができる。これらは、何千個または何百万個ものポイントを用いて表現を生成する、「密」の技法とは対照的であることができる。「疎」の技法は、限定された数のポイントまたは特徴量を使用することによって、3次元表現を構築するために必要とされる処理範囲が限定される、例えば、1秒あたり30フレームほどのフレームレートで、実時間に実施することをより容易にするという利点を有する。計算必要量が原因で環境の実時間で「密」のマッピングを実行することが比較的より難しい。例えば、30分の提供された画像データから「密」の表現を生成するために10時間かかる可能性があるため、例えば、多くの場合、「密」のマッピングをオフラインで実行することが好ましい。
【0004】
空間の3次元(3D)表現が生成されると、この表現の有用性の問題がさらにある。例えば、多くのロボット工学用途は、空間のジオメトリの定義を必要とするだけでなく、その空間内に何が存在するかに関する有用な情報も必要とする。これは、コンピュータビジョン分野では空間の「セマンティック」ナレッジと称される。空間内に何が存在するかを知ることは、例えば、同等の能力を有するマシンを構築することの難しさを過小評価しやすいなど、人間の脳内の潜在意識下で起こるプロセスである。例えば、人間が3D空間内のコップなどのオブジェクトを観測しているときに、脳の多くの異なる領域を、固有受容性感覚(例えば、オブジェクトに向けた運動)及び言語処理に関するそれらの領域を含むコア視覚処理ネットワークに加えてアクティブにする。ただし、多くのコンピュータビジョンシステムは、空間に対する理解が非常に素朴で、これらのシステムは、空間のジオメトリを「知る」だけである。
【0005】
コンピュータビジョン及びロボット工学分野では、空間の表現内にリッチセマンティック情報を含むことで、ジオメトリ単独よりもはるかに幅広い機能が可能になる。例えば、家庭用ロボット工学では、単純なフェッチタスクは、置かれているものが何か、またそれが置かれているのはどこかという両方のナレッジを必要とする。同様に、表現内のセマンティック情報のクエリを行う能力は、例えば、以前に生成された表現のセマンティックについての音声クエリ、「会議室に椅子が何脚ある?講演台と講演台に最も近い椅子との間の距離は?」に回答するためにデータベースを提供するなど、人間にとって直接有用である。
【0006】
2017年のIEEE International Conference on Robotics and Automation(ICRA)のProceedingsに発表されたMcCormac et al.による論文「SemanticFusion:Dense 3D Semantic Mapping with Convolutional Neural Networks」は、畳み込みニューラルネットワーク(CNN)を含むシステム、及びSLAMシステムの用途を説明する。CNNは、2D画像(例えば、ビデオのフレーム)を受信し、画素ごとのクラス確率セットを返す。SLAMシステムは、表面要素(「サーフェル」と称される場合があり、3D座標系内に定義される表面を使用して空間のジオメトリをモデル化することを可能にする)のグローバルに一貫性のあるマップを作成する。加えて、SLAMシステムは、カメラの単純に制限された回転とは対照的に、複数の異なる位置及び/または向きからシーンの部分を表示する、「ループ状」の動きの中でも、ビデオフレーム間の長期の密な対応を提供する。これらの対応によって、複数の視点からのCNNのセマンティック予測を表面要素のマップと確率論的に融合させ、セマンティック3Dマップを作成することができる。そのような方法は、比較的に計算集約型であり、オブジェクトのラベル付けでは不正確になることがある、または一貫性がなくなることがある。
【0007】
その対極は、オブジェクトインスタンスを明示的に認識し、シーンモデルを3Dオブジェクトグラフとして構築するアプローチである。2018 International Conference on 3D Visionに提出されたMcCormac et al.による論文「Fusion++:Volumetric Object-Level SLAM」は、任意の再構築されたオブジェクトのパーシステント3Dグラフマップを構築するオブジェクトレベルSLAMシステムを記述する。ただし、そのようなアプローチは、記述されていないシーンの大きなフラクションを残すことがある。したがって、このようなアプローチは、環境のナビゲーション、または環境とのインタラクションにあまり適していない場合がある。
【0008】
既存の技法を考慮すると、シーン内で何が可視であるかに関する情報を提供する、シーンの効率的な表現への要望が依然としてある。例えば、そのような表現は、人間のものに似た直感的な方式で空間及び形状について推論する能力を人工システムに与えることができる。
【発明の概要】
【課題を解決するための手段】
【0009】
本発明の第一態様によれば、画像データを処理するためのシステムが提供され、このシステムは、画像データを受信する入力インタフェースであって、画像データはシーンの少なくとも1つのビューを表す、入力インタフェースと、初期化エンジンであって、シーンの少なくとも第一ビューの第一セグメンテーションに関連する第一潜在表現であって、第一セグメンテーションはセマンティックセグメンテーションである、第一潜在表現、及びシーンの少なくとも第二ビューに関連する第二潜在表現を生成する、該初期化エンジンと、潜在空間では第一潜在表現及び第二潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現を取得する最適化エンジンとを含む。
【0010】
ある特定の例では、システムは、最適化された第一潜在表現を復号して、シーンの第一ビューの復号された第一表現を取得することであって、シーンの第一ビューの最適化された第一セグメンテーションは復号された第一表現から導出可能である、取得することと、最適化された第二潜在表現を復号して、シーンの第二ビューの復号された第二表現を取得することであって、シーンの第二ビューの最適化された第二セグメンテーションは復号された第二表現から導出可能である、取得することとのうちの少なくとも1つを行うデコーダシステムを含む。これらの例では、システムは、画像データの画像特徴量を識別する特徴量識別エンジンを含むことができ、そこではデコーダシステムは画像特徴量を用いて条件付けされる少なくとも1つのデコーダを含む。これらの例では、特徴量識別エンジンは、複数の異なる解像度のそれぞれにおいて画像特徴量を識別するように構成されることができ、少なくとも1つのデコーダのうちの1つのデコーダは、複数の異なる解像度のそれぞれにおいて復号された出力を生成し、複数の異なる解像度のそれぞれについて、所与の解像度についての画像特徴量を所与の解像度について復号された出力と組み合わせるように構成されることができる。
【0011】
システムがデコーダシステムを含む、ある特定の例では、デコーダシステムは、復号された第一表現を正規化して最適化された第一セグメンテーションを取得することと、復号された第二表現を正規化して最適化された第二セグメンテーションを取得することとのうちの少なくとも1つのために構成されることができる。
【0012】
システムがデコーダシステムを含む、ある特定の例では、システムは、シーンの観測中にカメラの姿勢を決定する追跡システムと、マッピングシステムであって、シーンの第一ビューの最適化された第一セグメンテーション、及びシーンの第一ビューのキャプチャ中のカメラの第一姿勢を表す第一姿勢データ、ならびにシーンの第二ビューの最適化された第二セグメンテーション、及びシーンの第二ビューのキャプチャ中のカメラの姿勢を表す第二姿勢データのうちの少なくとも1つをシーンのマップに読み込むように構成される、該マッピングシステムとをさらに含むことができる。
【0013】
ある特定の例では、画像データは、シーンの第一ビューを表す第一フレーム、及びシーンの第二ビューを表す第二フレームを含み、第一セグメンテーションはシーンの第一ビューのセマンティックセグメンテーションであり、第二潜在表現はシーンの第二ビューのセマンティックセグメンテーションである第二セグメンテーションに関連付けられる。これらの例では、最適化エンジンは、第一潜在表現と第二潜在表現との間の差分を示すセマンティック誤差項を決定することと、セマンティック誤差項を最小にする第一潜在表現及び第二潜在表現の値を決定することとによって、第一潜在表現及び第二潜在表現を共同して最適化するように構成されることができる。それらの例では、システムは、第一潜在表現を復号して復号された第一表現を取得し、第二潜在表現を復号して復号された第二表現を取得するように構成されるデコーダシステムをさらに含むことができ、そこでは最適化エンジンは復号された第一表現、及び復号された第二表現を使用してセマンティック誤差項を決定するように構成される。デコーダシステムは、入力された画像データ及びグランドトゥルースセマンティックセグメンテーションの対を用いてトレーニングされることができる。これらの例では、初期化エンジンは、シーンの第一ビューのデプスマップに関連する第三潜在表現と、シーンの第二ビューのデプスマップに関連する第四潜在表現とを生成するように構成されることができ、そこでは最適化エンジンは潜在空間では第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現、ならびに最適化された第三潜在表現、及び最適化された第四潜在表現を取得するように構成される。最適化エンジンは、第一潜在表現と第二潜在表現との間の差分を示すセマンティック誤差項を決定することと、第三潜在表現と第四潜在表現との間の差分を示す幾何学的誤差項を決定することと、セマンティック誤差項及び幾何学的誤差項を共同して最小にし、最適化された第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現を取得する、第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現のそれぞれの値を決定することとによって、第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現を共同して最適化するように構成されることができる。これらの例では、システムは、第一デコーダであって、最適化された第一潜在表現を復号してシーンの第一ビューの最適化されたセマンティックセグメンテーションを取得すること、及び最適化された第二潜在表現を復号してシーンの第二ビューの最適化されたセマンティックセグメンテーションを取得することのうちの少なくとも1つのために構成される、該第一デコーダと、第二デコーダであって、最適化された第三潜在表現を復号してシーンの第一ビューの最適化されたデプスマップを取得すること、及び最適化された第四潜在表現を復号してシーンの第二ビューの最適化されたデプスマップを取得することのうちの少なくとも1つのために構成される、該第二デコーダとを有するデコーダシステムを含むことができる。最適化エンジンは、シーンの第一ビューとシーンの第二ビューとの間の光整合性(photo-consistency)を示す測光誤差項を決定し、測光誤差項を最小にする第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現のうちの少なくとも1つのそれぞれの値を決定するように構成されることができる。
【0014】
ある特定の例では、第一セグメンテーションはシーンの第一ビューのセマンティックセグメンテーションであり、第二潜在表現はシーンの第二ビューについてのデプスマップに関連付けられる。
【0015】
ある特定の例では、第一潜在表現及び第二潜在表現のうちの少なくとも1つは、所定の表現である。
【0016】
本発明の第二態様によれば、上記の例のいずれか1つによるシステムと、ロボットデバイスが周囲の3次元環境とインタラクトすることを可能にする1つ以上のアクチュエータであって、周囲の3次元環境の少なくとも一部分はシーンに示される、1つ以上のアクチュエータと、これら1つ以上のアクチュエータを制御する少なくとも1つのプロセッサを含むインタラクションエンジンとを含む、ロボットデバイスが提供される。
【0017】
本発明の第三態様によれば、画像データを処理する方法が提供され、この方法は、画像データによって表現されるシーンの第一ビューの第一セグメンテーションに関連する第一潜在表現を取得することであって、第一セグメンテーションはセマンティックセグメンテーションである、取得することと、シーンの第二ビューに関連する第二潜在表現を取得することと、潜在空間では第一潜在表現及び第二潜在表現を共同して最適化して最適化された第一潜在表現、及び最適化された第二潜在表現を取得することとを含む。
【0018】
ある特定の例では、画像データは、シーンの第一ビューを表す第一フレーム、及びシーンの第二ビューを表す第二フレームを含み、第一セグメンテーションはシーンの第一ビューのセマンティックセグメンテーションであり、第二潜在表現はシーンの第二ビューのセマンティックセグメンテーションである第二セグメンテーションに関連付けられる。これらの例では、方法は、シーンについての深度データに関連する第三潜在表現を取得することと、シーンについての深度データに関連する第四潜在表現を取得することと、潜在空間では第一潜在表現、第二潜在表現、第三潜在表現及び第四潜在表現を共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現、ならびに最適化された第三表現、及び最適化された第四表現を取得することとを含むことができる。
【0019】
本発明の第四態様によれば、潜在表現予測エンジンが入力画像のセマンティックセグメンテーションを予測するようにトレーニングする方法が提供され、この方法は、画像の画像特徴量を検出することと、オートエンコーダのエンコーダを使用して画像のグランドトゥルースセマンティックセグメンテーションを符号化してグランドトゥルースセマンティックセグメンテーションの潜在表現を取得することと、オートエンコーダのデコーダを使用してグランドトゥルースセマンティックセグメンテーションの潜在表現を復号して画像の予測されたセマンティックセグメンテーションを取得することであって、オートエンコーダは画像特徴量を使用して条件付けされる、取得することと、画像の予測されたセマンティックセグメンテーションと、画像のグランドトゥルースセマンティックセグメンテーションとの間の比較に基づく損失関数を使用して潜在表現予測エンジンを更新することとを含む。
【0020】
ある特定の例では、デコーダは画像特徴量を使用して条件付けされる、またはエンコーダは画像特徴量を使用して条件付けされ、デコーダは画像特徴量を使用して条件付けされる。
【0021】
ある特定の例では、方法は、セマンティックセグメンテーション、及び入力画像に関連するデプスマップを予測するように潜在表現予測エンジンをトレーニングすることを含む。これらの例では、エンコーダは第一エンコーダであることができ、デコーダは第一デコーダであることができ、オートエンコーダは第一オートエンコーダであることができ、損失関数は第一損失関数であることができ、この方法は、第二オートエンコーダの第二エンコーダを使用して画像に関連するグランドトゥルースデプスマップを符号化してグランドトゥルースデプスマップの潜在表現を取得することと、第二オートエンコーダの第二デコーダを使用してグランドトゥルースデプスマップの潜在表現を復号して画像について予測されたデプスマップを取得することであって、第二オートエンコーダは画像特徴量を使用して条件付けされる、取得することと、予測されたデプスマップと、グランドトゥルースデプスマップとの間の比較に基づく第二損失関数を使用して潜在表現予測エンジンを更新することとを含むことができる。第二デコーダは画像特徴量を使用して条件付けされる、または第二エンコーダは画像特徴量を使用して条件付けされることができ、第二デコーダは画像特徴量を使用して条件付けされる。
【0022】
ある特定の例では、潜在表現予測エンジンをトレーニングすることは、入力画像の入力されたセマンティックセグメンテーションの変分自己符号化を実行するようにエンコーダ及びデコーダをトレーニングすることを含む。
【0023】
ある特定の例では、デコーダは線形デコーダを含む。
【0024】
ある特定の例では、エンコーダは複数の異なる解像度のそれぞれにおいて符号化された出力を生成するように構成され、方法は、複数の異なる解像度のそれぞれにおいて画像の画像特徴量を検出することと、複数の異なる解像度のそれぞれについて、所与の解像度についての画像特徴量を所与の解像度について符号化された出力と組み合わせることによって、画像特徴量を使用してエンコーダを条件付けすることとを含む。
【0025】
ある特定の例では、デコーダは、複数の異なる解像度のそれぞれにおいて復号された出力を生成するように構成され、方法は、複数の異なる解像度のそれぞれにおいて画像の画像特徴量を検出することと、複数の異なる解像度のそれぞれについて、所与の解像度についての画像特徴量を所与の解像度について復号された出力と組み合わせることによって、画像特徴量を使用してデコーダを条件付けすることとを含む。
【0026】
ある特定の例では、画像はカラー画像である。
【0027】
ある特定の例では、損失関数は正則化項を含む。
【0028】
本発明の第五態様によれば、コンピュータ実行可能命令を含む非一時的なコンピュータ可読記憶媒体が提供され、これらのコンピュータ実行可能命令は、プロセッサによって実行されると、コンピューティングデバイスに上記の方法のいずれかを実行させる。
【0029】
さらなる特徴は、添付の図面を参照して行われる、以下の説明から明らかになるであろう。
【図面の簡単な説明】
【0030】
【
図1A】マッピングされる環境の一例を示す概略図である。
【
図1B】例示的なデバイスに利用可能な自由度を示す概略図である。
【
図1C】例示的なキャプチャデバイスによって生成されるビデオデータを示す概略図である。
【
図2】実施例による画像データを処理する方法を示す流れ図である。
【
図3】さらなる実施例による画像データを処理する方法を示す流れ図である。
【
図4】実施例による画像データを処理するシステムの概略図である。
【
図5】さらなる実施例による画像データを処理するシステムの概略図である。
【
図6】実施例による画像特徴量を用いて条件付けされるオートエンコーダの概略図である。
【
図7】実施例による最適化方法を示す流れ図である。
【
図8】さらなる実施例による最適化方法を示す流れ図である。
【
図9】さらに別の実施例による最適化方法を示す流れ図である。
【
図10A】実施例によるコンピューティングシステムのコンポーネントを示す概略図である。
【
図10B】実施例によるロボットデバイスのコンポーネントを示す概略図である。
【
図11】実施例による非一時的なコンピュータ可読媒体を示す概略図である。
【
図12】実施例によるトレーニング中の潜在表現予測エンジンの概略図である。
【
図13】実施例による潜在表現予測エンジンをトレーニングする方法を示す流れ図である。
【
図14】さらなる実施例による潜在表現予測エンジンをトレーニングする方法を示す流れ図である。
【発明を実施するための形態】
【0031】
本明細書に記述される、ある特定の例は、シーンの潜在表現を取得することを可能にする。潜在表現は、例えば、測定から推論される表現である。潜在表現は、環境から直接測定可能ではない場合があるため、時として「隠れた」変数値セットと称される。この場合には、シーンの測定は、例えば、シーンの画像であることができ、このシーンの画像はRGB(赤色、緑色、青色)画像などの2次元(2D)カラー画像、またはRGB-D画像(深度「D」のデータを含む)などの深度情報を含む画像であることができる。一般に、潜在表現は、直接測定よりも、次元数が低いなど、よりコンパクトである。したがって、それらのような潜在表現は、より効率的に処理され、保存されることができる。潜在表現は、例えば、確率モデルを使用して、またはニューラルネットワークアーキテクチャの1つ以上の「隠れた」層を使用して生成されることができる。
【0032】
ある特定の場合には、本明細書に記述される例を使用して、シーンの潜在表現からシーンのセマンティックセグメンテーションを取得することができる。セマンティックセグメンテーションは、画像部分のラベル付けなどのオブジェクトセグメンテーションであるとみなされることができ、そこでは各ラベルは特定のオブジェクト、またはオブジェクトクラスとの関連性を有する。オブジェクトは、例えばロボットがインタラクトすることができるなど、物質的な存在感を有する、いずれかの可視な物体または実体を指すことができる。したがって、本明細書でのオブジェクトは、他にも多数あるが、自宅、オフィス及び/または屋外空間内の家具、他のデバイス、及び従来のオブジェクトだけでなく、壁、ドア、床及び人々などの実体と広くみなされ、これらを含む。セマンティックセグメンテーションを使用して、例えば、ロボットデバイスと環境との間で向上したインタラクションを可能にするなど、環境のマッピングを向上させることができる。例えば、特定のオブジェクトに関連付けられる空間領域を識別する、セマンティックセグメンテーションを家事ロボット用のマップが有する場合、ロボットは、「ドア」を「壁」と区別することができる。
【0033】
場合によっては、本明細書に記述される例を使用して、シーンの潜在表現からシーンのデプスマップを取得することができる。デプスマップは、例えば、シーンの画像の、画素または画像部分などの空間要素に関連する深度を示す。画素または画像部分についての深度値は、シーンをとらえるカメラから照準線に沿った環境内の表面までの距離を表すことができる。したがって、シーンのマッピングは、デプスマップを使用することによって向上することができ、そのうえ、ロボットデバイスとシーンとの間のインタラクションを強化する、または向上させることができる。例えば、このデプスマップを使用して、ロボットデバイスの把持機構を、把持されるオブジェクトの深度により近くで対応する環境内の位置に移動させることによって、オブジェクトを正確に把持するように、ロボットデバイスを制御することができる。
【0034】
本明細書に記述される、ある特定の例では、潜在表現は、例えば、潜在表現の初期推定値よりも潜在表現のより洗練化された推定値、またはそうでなければ、より正確な推定値などである、最適化された潜在表現であることができる。それらのような場合には、シーンの第一ビューの第一セグメンテーションに関連する第一潜在表現、及びシーンの第二ビューに関連する第二潜在表現を取得することができる。セグメンテーションは、所与の画像部分の特性を表す適切なラベルによる画像部分のラベル付けを一般的に指すとみなされることができる。例えば、第一セグメンテーションは、セマンティックセグメンテーションであることができ、セマンティックセグメンテーションでは、画像部分は特定のオブジェクト、またはオブジェクトのクラスに関連付けられる。これらの例での第一潜在表現及び第二潜在表現を潜在空間に共同して最適化し、最適化された第一潜在表現、及び最適化された第二潜在表現を取得する。第一潜在表現及び第二潜在表現を共同して最適化することは、第一ビューと第二ビューとの間の相関を保ち、潜在表現の一貫性を向上させる。したがって、最適化された第一潜在表現及び第二潜在表現は、シーンの特性をより正確に表すことができる。さらに、セグメンテーションまたはマップは、第一潜在表現及び第二潜在表現のうちの少なくとも1つから取得されることができ、より内部に一貫性があることができる。セマンティックセグメンテーションなどである、最適化された第一セグメンテーションは、最適化された第一潜在表現から導出されることができる。最適化された第一セグメンテーションのセマンティックラベルの分布は、そうでない場合よりも平滑であることができる。
【0035】
一例として、以前のアプローチでは、1画素に関連するセマンティックラベルは、隣接する画素に関連するセマンティックラベルから独立していることができる。そのため、それらのような以前のアプローチの使用は、画像全体で急速かつシャープに変化するセマンティックセグメンテーションとなる可能性がある。一例として、画像がテーブルのものである場合、このテーブルの隣接する3画素は、これらの画素のそれぞれが同じラベル(「テーブル」)に関連付けられるべきであるにもかかわらず、異なるそれぞれのラベル(例えば、「テーブル」、「ベッド」、「椅子」)に各関連付けられることがある。
【0036】
対照的に、本明細書に記述される例にあるように、第一潜在表現及び第二潜在表現を共同して最適化することは、最適化された潜在表現から取得されるセグメンテーション(例えば、セマンティックセグメンテーション)の平滑性を改善することができる。例えば、テーブルの画像に関して、隣接する3画素は、共同最適化によって保たれる相関が原因で、本明細書での方法を使用して、同じラベル(「テーブル」)に各関連付けられることができる。これらの例では、したがって、本明細書に記述される方法を使用して、シーンのいずれかの所与の部分が視点に関係なく同じセマンティックラベルを有するように、改善されたセマンティック一貫性を有する最適化されたセマンティックセグメンテーション(例えば、最適化された潜在表現から)を取得することができる。例えば、シーンのビューを表すデータ(例えば、相関された、または共有されたカメラ姿勢からのデータ)について異なるモダリティ及び/または異なる時間にわたって共同して最適化するなど、セマンティックセグメンテーション及びデプスマップなどの異なる表現を、及び/またはセマンティックセグメンテーション及びデプスマップのうちの1つ以上について異なるフレームを共同して最適化することができる。したがって、ロボットデバイスとその環境とのインタラクションは、そのようなセグメンテーションを使用することによって向上することができる。
【0037】
図1A及び1Bは、3D空間、及びその空間に関連する画像データのキャプチャの一例を概略的に示す。次いで、
図1Cは、この空間をとらえるときに画像データを生成するように設定されるキャプチャデバイスを示す。これらの例は、本明細書に記述されるある特定の特徴をより良く説明するために提示されるが、限定するものとみなされるべきではなく、ある特定の特徴は、説明を容易にするために省略されており、簡略化されている。
【0038】
図1Aは、3次元空間110の一例100を示す。3D空間110は、内部の物理空間、及び/または外部の物理空間、例えば、部屋の少なくとも一部分、または地理的位置などであることができる。この例100での3D空間110は、3D空間内に位置している複数の物理オブジェクト115を含む。これらのオブジェクト115は、とりわけ、人々、電子デバイス、家具、動物、建物の部分、及び設備のうちの1つ以上を含むことができる。
図1Aには表面が低い3D空間110が示されるが、これはこの場合すべての実装にある必要はなく、例えば、環境は空中にあっても、地球外空間内にあってもよい。
【0039】
また、例100は、さまざまな例示的なキャプチャデバイス120-A、120-B、120-C(参照番号120と総称される)を示し、これらのキャプチャデバイスを使用して、3D空間110に関連するビデオデータをキャプチャすることができる。
図1Aのキャプチャデバイス120-Aなどのキャプチャデバイスは、カメラを含むことができ、このカメラは、デジタル形式かアナログ形式かいずれかで、3D空間110を観測することから生じるデータを記録するように構成される。例えば、キャプチャデバイス120-Aは、単眼カメラなどの単眼キャプチャデバイスであることができる。単眼カメラは、シーンの画像を1回で1つの位置から一般にキャプチャし、単レンズまたはレンズ系を含むことができる。対照的に、ステレオカメラは、レンズごとに別個のイメージセンサを有する、少なくとも2枚のレンズを一般的に含む。キャプチャデバイス120-Aとして使用可能な単眼キャプチャデバイスは、3D空間110の画像を複数の角度位置からキャプチャするように構成される、単眼多方向カメラデバイスであることができる。使用に際し、複数の画像をつぎつぎにキャプチャすることができる。ある特定の場合には、複数の角度位置は、広い視野をカバーする。特定の場合には、キャプチャデバイス120-Aは、全方位カメラ、例えば、実質的に360度の視野をキャプチャするように構成されるデバイスなどを含むことができる。この場合には、全方位カメラは、パノラマ環状レンズを備えたデバイスを含むことができ、例えば、このレンズを電荷結合アレイに関して取り付けることができる。
【0040】
3D空間の複数の画像を複数の異なる位置からキャプチャするために、キャプチャデバイス120-Aは可動であることができる。例えば、キャプチャデバイス120-Aは、3D空間110の異なる観測された部分に対応する異なるフレームをキャプチャするように構成されることができる。キャプチャデバイス120-Aは、静止マウントに関して可動であることができ、例えば、3D空間110に関してカメラの位置及び/または向きを変えるアクチュエータを含むことができる。別の場合には、キャプチャデバイス120-Aは、人間の使用者が操作し、動かすハンドヘルドデバイスであることができる。1つの場合には、キャプチャデバイス120-Aは、画像シーケンスをキャプチャするように構成される静止画像デバイスを含むことができ、もう1つの場合には、キャプチャデバイス120-Aは、ビデオフレーム形式で画像シーケンスを有するビデオデータをキャプチャするビデオデバイスを含むことができる。例えば、キャプチャデバイス120-Aは、ビデオデータのフレームをキャプチャする、またはその他の方法により取得する、単眼カメラまたは単眼キャプチャデバイスであってもよい。
【0041】
図1Aでは、3D空間110内で移動するように構成されるロボットデバイス130に結合される、複数のキャプチャデバイス120-B、Cも示される。ロボットデバイス130は、自律空中及び/または地上モバイルデバイスを含むことができる。本発明の例100では、ロボットデバイス130は、デバイスが3D空間110をナビゲートすることを可能にするアクチュエータ135を含む。これらのアクチュエータ135は、図では車輪を含み、他の場合には、トラック、掘進機構、ロータなどを含むことができる。そのようなデバイスに、1つ以上のキャプチャデバイス120-B、Cを静的に、または可動に取り付けることができる。ある特定の場合には、ロボットデバイスは、3D空間110内に静的に取り付けられることができるが、アームまたは他のアクチュエータなどのデバイスの一部分は、この空間内で移動し、空間内でオブジェクトとインタラクトするように構成されることができる。各キャプチャデバイス120-B、Cは、異なるタイプの画像データ、ビデオデータをキャプチャすることができる、及び/またはステレオ画像ソースを含むことができる。ある場合には、キャプチャデバイス120-B、Cのうちの少なくとも1つは、測光データ、例えば、カラー画像またはグレースケール画像などをキャプチャするように構成される。ある場合には、キャプチャデバイス120-B、Cのうちの1つ以上は、ロボットデバイス130から独立して可動であることができる。ある場合には、キャプチャデバイス120-B、Cのうちの1つ以上は、例えば、角度を付けた弧を描いて回転する、及び/または360度で回転する、回転機構上に取り付けられることができる、及び/またはシーンのパノラマ(例えば、360度のフルパノラマまで)をキャプチャするように適合された光学系と共に構成される。場合によっては、キャプチャデバイス120-Aに類似している、またはこれと同じであるキャプチャデバイスを、
図1Aのキャプチャデバイス120-B、Cの一方または両方として使用することができることが理解されよう。
【0042】
図1Bは、キャプチャデバイス120及び/またはロボットデバイス130に利用可能な自由度の一例140を示す。120-Aなどのキャプチャデバイスの場合には、このデバイスの方向150は、レンズまたは他の撮像装置の軸と同一直線上にあることができる。3軸のうちの1軸を中心にする回転の一例として、法線軸155を図中に示す。同様に、ロボットデバイス130の場合には、ロボットデバイス130のアライメント145の方向を定義することができる。これは、ロボットデバイスの向き、及び/または進行方向を示すことができる。また、法線軸155を示す。キャプチャデバイス120またはロボットデバイス130に関して単一の法線軸のみを示すが、これらのデバイスは、下記のように概略的に140として示される軸のうちのいずれか1つ以上の周囲で回転することができる。
【0043】
より一般的には、キャプチャデバイスの向き及び位置は、6つの自由度(6DOF)に関して3次元に定義されることができ、位置は例えば[x,y,z]座標などによって3次元のそれぞれの内に定義されることができ、向きは例えば[θx,θy,θz]などの3軸のそれぞれの周囲での回転を表す角度ベクトルによって定義されることができる。位置及び向きは、例えば3D座標系内で定義される原点などに関して、3次元内の変換とみなされることができる。例えば、[x,y,z]座標は原点から3D座標系内の特定の位置への変換を表すことができ、角度ベクトル[θx,θy,θz]は3D座標系内の回転を定義することができる。行列による乗算が変換を適用するように、6DOFを有する変換を行列として定義することができる。ある特定の実施態様では、キャプチャデバイスは、例えばy次元が一定であることができる地上車両上のキャプチャデバイスなどについて、これらの6つの自由度の制限されたセットに関して定義されることができる。ロボットデバイス130のそのようなものとして、ある特定の実施態様では、別のデバイスに結合されるキャプチャデバイスの向き及び位置は、その他のデバイスの向き及び位置に関して定義されることができ、例えば、ロボットデバイス130の向き及び位置に関して定義されることができる。
【0044】
本明細書に記述される例では、例えば6DOFの変換行列に示されるような、キャプチャデバイスの向き及び位置は、キャプチャデバイスの姿勢として定義されることができる。同様に、例えば6DOFの変換行列に示されるような、オブジェクト表現の向き及び位置は、オブジェクト表現の姿勢として定義されることができる。例えばビデオデータまたは一連の静止画像が記録されると、キャプチャデバイスが時間t+1では時間tとは異なる姿勢を有することができるように、キャプチャデバイスの姿勢は経時的に異なることができる。キャプチャデバイスを含むハンドヘルドモバイルコンピューティングデバイスの場合には、このハンドヘルドデバイスをユーザが3D空間110内で移動させるため、姿勢は異なることができる。
【0045】
図1Cは、キャプチャデバイス構成の一例を概略的に示す。
図1Cの例160では、キャプチャデバイス165は、画像データ170を生成するように構成される。
図1Cでは、画像データ170は、複数のフレーム175を含む。各フレーム175は、一定期間中の特定の時間tに関することができ、この一定期間にわたって、
図1A中の110などの3D空間の画像(すなわち、F
t)をキャプチャする。フレーム175は、測定されたデータの2D表現を一般に含む。例えば、フレーム175は、時間tに記録された画素値の2Dアレイまたは行列を含むことができる。
図1Cの例では、画像データ内のすべてのフレーム175は同じサイズであるが、これがすべての例に当てはまる必要はない。フレーム175内の画素値は、3D空間の特定の部分の測定を表す。
図1Cでは、画像データは、単眼キャプチャデバイスからのシーンの複数のビューを表現し、これら複数のビューのそれぞれは、異なるそれぞれの時間tにキャプチャされる。ただし、他の場合には、キャプチャデバイス(または画像もしくはビデオキャプチャシステム)によってキャプチャされる画像データは、互いに同じ時間に、または互いに少なくとも部分的に重複している時間にキャプチャされるシーンの複数のビューを表すことができる。これは、キャプチャデバイスがステレオキャプチャシステムである場合に当てはまることができる。
【0046】
図1Cの例では、各フレーム175は、測光データを含む。一般に、測光データは、輝度、強度または色などの画像の測光特性を表す。
図1Cでは、各フレーム175は、フレーム175の各画素の強度値を含み、これらの強度値を、例えばカラーバンドまたはカラーチャネルごとに0から255などのグレースケールまたは輝度レベルによって保存することができる。0のグレースケールレベルは、例えば最も暗い強度(例えば、黒色)に対応し、255のグレースケールレベルは、例えば最も明るい強度(例えば、白色)に対応し、0から255の間のグレースケールレベルは黒色と白色との間の中間の強度に対応する。
図1Cでは、測光データは所与の解像度について赤色、緑色、青色の画素強度値を表す。したがって、各フレーム175は、カラー画像を表現し、そこではフレーム内の各[x,y]画素値は、RGBベクトル[R,G,B]を含む。一例として、カラーデータの解像度は、640×480画素であることができる。他の例では、他のカラー空間を使用することができる、及び/または測光データは他の測光特性を表すことができる。
【0047】
キャプチャデバイス165は、画像データ170を結合されたデータストレージデバイスに保存するように構成されることができる。別の場合には、キャプチャデバイス165は、例えばデータストリームとして、またはフレームごとになど、画像データ170を結合されたコンピューティングデバイスに伝送することができる。結合されたコンピューティングデバイスは、例えばユニバーサルシリアルバス(USB)接続などを介して直接結合されることができる、または例えば画像データ170が1つ以上のコンピュータネットワーク経由で伝送されることができるなど、間接的に結合されることができる。さらに別の場合には、キャプチャデバイス165は、ネットワークアタッチドストレージデバイスに保存のために1つ以上のコンピュータネットワークにわたって画像データ170を伝送するように構成されることができる。フレームごとに、または例えば複数のフレームが合わせて束ねられることができる、バッチに基づいて、画像データ170を保存する、及び/または伝送することができる。
【0048】
1つ以上の前処理操作もまた、後述される例に使用される前に、画像データ170に対して実行されることができる。ある場合には、前処理は、2つのフレームセットが共通のサイズ及び解像度を有するように適用されることができる。
【0049】
場合によっては、キャプチャデバイス165は、ビデオデータを画像データとして生成するように構成されることができる。ビデオデータは、異なるそれぞれの時間にキャプチャされた複数のフレームを同様に表すことができる。ある場合には、キャプチャデバイス165によってキャプチャされたビデオデータは、圧縮されたビデオストリームまたはファイルを含むことができる。この場合には、ビデオデータのフレームは、このストリームまたはファイルから、例えばビデオデコーダの出力などとして再構築されることができる。ビデオストリームまたはファイルの前処理に次いで、ビデオデータをメモリ位置から取得することができる。
【0050】
図1Cを一例として提供するが、理解されるように、以下に記述される方法及びシステムでの使用のために、図に示される構成とは異なる構成を使用して画像データ170を生成することができる。画像データ170は、3D空間のキャプチャされた、または記録されたビューを表す2次元形式で構成される、いずれかの測定された感覚入力をさらに含むことができる。例えば、これは、とりわけ、測光データ、深度データ、電磁撮像、超音波撮像、及びレーダー出力を含むことができる。これらの場合には、デプスデータを含まないRGBデバイスなど、特定のデータ形式に関連する撮像デバイスのみが必要とされる場合がある。
【0051】
図2は、本明細書での実施例による画像データを処理する方法200を示す流れ図である。
図2の項目202では、第一潜在表現L
1を取得する。第一潜在表現は、画像データによって表現されるシーンの第一ビューの第一セグメンテーションに関連付けられる。例えば
図3を参照してさらに議論されるように潜在表現を処理することなどによって、セグメンテーションが潜在表現から導出可能である場合、潜在表現は、シーンのビューのセグメンテーションに関連付けられるとみなされることができる。
【0052】
図2では、第一セグメンテーションは、セマンティックセグメンテーションである。第一潜在表現は、より低い次元数であること、よりコンパクトであること、またはその他の方法により、セマンティックセグメンテーションよりも少ないパラメータを使用して表現可能であることができる。この方法では、第一潜在表現は、より効率的にセマンティックセグメンテーションを表すことができるが、詳細(もしあれば)を多く犠牲にすることはない。第一潜在表現は、例えば、セマンティックセグメンテーションを表すために使用される、一連の、または他の構成の数字、文字及び/または記号などである、コードなどであることができる。一例として、コードは、数値または他の値のベクトルなどのテンソルであってもよい。第一潜在表現は、所定の、または固定のデータサイズを有することができる。この方法では、第一潜在表現のサイズは、セマンティックセグメンテーションを正確に再構築することを可能にするのに十分な量の詳細を保存することができるが、効率的に処理する、または保存するのに十分に小さいように選択されることができる。
図3をさらに参照して、第一潜在表現を取得する一例を議論する。
【0053】
図2の項目204では、第二潜在表現L
2を取得する。第二潜在表現は、シーンの第二ビューに関連付けられる。第一ビュー及び第二ビューは、互いに同じであってもよい。換言すれば、画像データをキャプチャするために使用されるキャプチャデバイスは、第一及び第二ビューのキャプチャ間で移動していなくてもよい。他の例では、けれども、第一及び第二ビューは互いに異なってもよい。それにもかかわらず、第一及び第二ビューは、互いに部分的に重複することがあるため、第一ビューの少なくとも一部分は第二ビューにも存在する(異なる位置にあるにもかかわらず)。第二潜在表現は、第一潜在表現と同じセグメンテーションに関連付けられることができる。例えば、第二潜在表現は、シーンの第二ビューのセマンティックセグメンテーションに関連付けられることができる。他の例では、けれども、第二潜在表現は、第一潜在表現とは異なるセグメンテーションまたは他のマップに関連付けられることができる。例えば、第一潜在表現はセマンティックセグメンテーションに関連付けられるが、第二潜在表現はデプスマップに関連付けられてもよい。
【0054】
図2の項目206では第一潜在表現及び第二潜在表現を潜在空間内で共同して最適化し、項目208では最適化された第一潜在表現を取得し、項目210では最適化された第二潜在表現を取得する。最適化された第一及び第二潜在表現を、互いに同じ時間になど、同時に取得することができる、または一方を他方の前に取得することができることを理解されたい。シーンの第一ビューの最適化されたセマンティックセグメンテーションを最適化された第一潜在表現から導出することができる。ただし、最適化された第一潜在表現は、最適化されたセマンティックセグメンテーションを再生することを可能にしながら、最適化されたセマンティックセグメンテーション自体よりもさらに小さくなることができるため、より効率的に保存され、処理されることができる。
【0055】
潜在空間内で第一及び第二潜在表現を共同して最適化することは、例えば、第一及び第二潜在表現の値を反復更新して残差を最小にする最適化プロシージャを参照する。それが反復更新される第一及び第二潜在表現自体の値であるため、この最適化は、潜在空間にあるとみなされることができる。対照的に、最適化プロシージャは、この最適化プロシージャでは他の変数の値を反復更新することに続き、これらの他の変数から第一及び第二潜在表現を導出するため、潜在空間にあるとみなされないことができる。
図2による例では潜在空間内で最適化することによって、第一潜在表現と第二潜在表現との間の相関を有することができ、これらの相関は、この最適化によって取得される最適化された第一及び第二潜在表現がシーンの詳細をキャプチャする精度を向上させることができる。これは、例えば、最適化された第一潜在表現から導出される最適化されたセマンティックセグメンテーションがシーンのセマンティックコンテンツを表す精度を向上させることができる。
【0056】
別々にキャプチャ及びストレージを必要とする他のデータからよりも、ロボットマッピングシステムに一般に容易にアクセス可能である、画像データ自体から、最適化された潜在表現を取得することができる。例えば、最適化プロシージャ中に画像データを使用することができる。この画像データは、例えば、シーンの少なくとも1つの第一ビュー(第一潜在表現に関連付けられる)、及びシーンの少なくとも1つの第二ビュー(第二潜在表現に関連付けられる)を表す。それらのような場合には、画像データを使用して、シーンの第一ビューの一部分と、シーンの第二ビューの一部分との間の対応関係を識別することができる。例えば、画像データを使用して、第一ビューの所与の一部分に対応する第二ビューの一部分(換言すれば、シーンの同じ部分を示す)を識別することができる。第一及び第二ビューの対応する部分がシーンの同じ部分のものであるため、第一及び第二ビューのこれらの部分の所与の特性(例えば、セマンティックラベルまたは深度)は同じである。これは、最適化プロシージャ中に活用されることができ、例えば、シーンの同じ部分を示すと識別される第一及び第二ビューの部分について、第一潜在表現から導出される特性と、第二潜在表現から導出される同じ特性との間の差分を最小にする第一及び第二潜在表現の値を識別するように構成されることなどができる。
【0057】
図3は、本明細書でのさらなる実施例による画像データを処理する方法300を示す流れ図である。
図3の方法300は、
図2の方法に類似している。ただし、
図3の方法300は、
図2の方法200がどのように実装されることができるかの一例として、より詳細に説明されている。けれども、
図3の方法300が
図2の方法200を実行することができる1つの方法に過ぎず、他の方法が他の例では可能であることを理解されたい。
【0058】
項目302では、L
1initと称されることができる、第一潜在表現の初期値L
1を取得する。同様に、項目304では、L
2initと称されることができる、第一潜在表現の初期値L
2を取得する。この例では、第一潜在表現は、処理される画像データ中でキャプチャされるシーンの第一ビューのセマンティックセグメンテーションに関連付けられる。
図2のように、第二潜在表現は、シーンの第二ビューに関連付けられ、セマンティックセグメンテーション、またはデプスマップなどの異なるセグメンテーションもしくはマップであることができる。
【0059】
第一潜在表現及び第二潜在表現のうちの少なくとも1つは、所定の表現であってもよい。例えば、第一及び/または第二潜在表現は、デフォルト値、またはゼロ値などの他の所定の値であってもよい。この方法では、所定の表現は、シーン(及び画像データ)から独立している、第一及び/または第二潜在表現の初期推定値であってもよい。その後、この初期推定値は、この例では
図3の最適化プロシージャによって洗練化される。
【0060】
項目306では、それが最適化プロシージャの第一パスであるかどうかについて決定を行う。そうである場合、第一及び第二潜在表現の初期値を入力L1in、L2inとして項目308での最適化に使用する。
【0061】
項目308では、入力された第一及び第二潜在表現L
1in、L
2inを復号して、復号された第一及び第二潜在表現L
1d、L
2dを取得する。この場合には、入力から所与のセグメンテーションまたはマップを取得する際に使用するためにトレーニングされるデコーダシステムを使用して、入力された第一及び第二潜在表現を復号する。例えば、デコーダシステムは、入力された第一潜在表現からセマンティックセグメンテーションを取得する際に使用するためにトレーニングされる第一デコーダと、入力された第二潜在表現からデプスマップを取得する際に使用するためにトレーニングされる第二デコーダとを含むことができる。これは、
図4をさらに参照して記述される。それらのような場合には、デコーダシステムは、所定の範囲の値に正規化されるセグメンテーションまたはマップを取得する、正規化エンジンを含むことができる。これらの場合には、復号された第一及び第二潜在表現をそれらの正規化前に取得することができる。
【0062】
復号された第一及び第二潜在表現を使用して、最適化プロシージャを実行し、最適化された第一及び第二潜在表現を識別することができる。最適化は、いずれかの最適化プロシージャを使用して実行されることができる。
図3の例では、最適化プロシージャは、ガウス・ニュートンアルゴリズムの使用を必要とし、このアルゴリズムを使用して非線形最小二乗問題を解くことができる(これは一例に過ぎないが)。n個の変数β=(β
1,...,β
n)のm個の残差r=(r
1,...,r
m)が与えられ、m≧nであると、ガウス・ニュートンアルゴリズムを使用して、二乗和を最小にする変数の値を反復して求めることができる。
【0063】
【0064】
変数の値を次の通りに反復計算する。
【0065】
【0066】
式中、Tは行列転置を示し、Jは以下のように表されることができるヤコビ行列である。
【0067】
【0068】
これは
図3に示されている。
図3の項目312では、少なくとも1つの残差は、復号された第一及び第二潜在表現を使用して決定される。残差は、例えば、測定値と予測値との間の差分の尺度であり、例えば、誤差項に対応する。一般に、測定値と予測値との間の差分が大きくなるほど、残差が大きくなる。したがって、測定値と予測値との間の差分の最小化(例えば、残差またはこの残差に基づいた関数を最小にすることによる)を使用して、最適なパラメータのモデルを決定することができ、このモデルから、予測値を取得することができる。一例として、項目312は、復号された第一潜在表現と、復号された第二潜在表現との間の差分を表す残差を計算することを含むことができる。
【0069】
図3を参照して説明されるように、画像データは、シーンの第一及び第二ビューを含むことができる。画像データは、シーンの第一ビューの所与の一部分(画素または他の空間要素でもあることができる)に対応する、シーンの第二ビューの一部分(例えば、画素または他の空間要素)を識別する最適化プロシージャ中に画像データを使用することができる。それらのような場合には、残差は、シーンの第一ビューの画素について復号された第一潜在表現と、シーンの第一ビューの画素とシーンの同じ部分を示すと識別されるシーンの第二ビューの画素について復号された第二潜在表現との間の差分を表すことができる。
【0070】
項目314では、少なくとも1つの残差を使用して、例えば、上記の式を使用して、少なくとも1つのヤコビアンを決定する。したがって、このような例では、残差(複数可)は、対応するヤコビアン(複数可)を計算することができるように微分可能であることができる。項目316では、ヤコビアン(複数可)を使用して、第一及び第二潜在表現の値L1out、L2outを決定し、これらの値は、残差の関数(例えば、1つより多い残差がある例での残差の二乗和)を最小にする。この方法において、潜在空間では第一及び第二潜在表現を共同して最適化する。
【0071】
場合によっては、1つ以上のヤコビアンを事前に計算し、ヤコビアンの値を評価することができる速度を上げることができる。例えば、ヤコビアン(複数可)は、他の特徴量に依存することなく、画像データによって表現される画像に依存することができる。それらのような場合には、ヤコビアン(複数可)を、最適化プロシージャの反復ごとに再計算することなく、入力画像ごとに1回計算することができる。この方法では、最適化プロシージャのその後の反復中に事前に計算されたヤコビアン(複数可)を繰り返し使用することができ、同じ入力画像に基づいて後の最適化に再使用することができる。例えば、ヤコビアン(複数可)を、ビデオのキーフレームについて計算することに続き、同じキーフレームを含む今後の最適化に使用するために保存することができる。キーフレームは、外部のSLAMシステムなどの外部システムによって指定されるようなキーフレームであってもよい。他の場合には、シーンを観測するキャプチャデバイスが閾値距離を上回る距離まで移動した後に取得されるフレームがキーフレームであってもよい。
図3の項目318では、最適化が完了したかどうかを決定する。最適化は、例えば、コスト関数(上記に議論される二乗和S(β)など)が所定の値を満たす、もしくは所定の値未満である場合、または所定の反復回数後などに、完了したとみなされることができる。最適化が完了していない場合、
図3の方法は、
図3の項目320に示されるように、その後の反復への入力L
1in、L
2inとして、前の反復の出力L
1out、L
2outを使用することを含む。最適化は、項目310、312、314、316及び318を介して、上述されるように進行する。例示的な最適化のさらなる詳細は、
図7、8及び9を参照して説明される。
【0072】
項目318で最適化が完了したと決定される場合、最適化プロセスによって出力される第一及び第二潜在表現の値L
1out、L
2outは、それぞれ最適化された第一及び第二潜在表現であるとみなされることができる。場合によっては、最適化された第一及び第二潜在表現は、例えば
図3の方法を実行するためにシステムのストレージなどに保存されることができる、または例えば他の箇所への保存のためにストレージ容量の大きいストレージシステムなどに転送されることができる。この方法では、その後に使用するために、最適化された第一及び第二潜在表現を保持することができる。
図3の例において、けれども、項目322では、最適化された第一潜在表現を復号し、シーンの第一ビューの復号された第一表現を取得する。項目324では、最適化された第二潜在表現を復号し、シーンの第二ビューの復号された第二表現を取得する。最適化プロシージャに入力される第一及び第二潜在表現を復号する項目310に使用されるデコーダシステムのような、デコーダシステムが最適化された第一及び第二潜在表現を復号してもよい。
図3の例では、最適化された第一及び第二潜在表現の両方を復号する。ただし、場合によっては、最適化された第一及び第二潜在表現のうちの一方または両方の復号を省略してもよいことを理解されたい。
【0073】
復号された第一及び第二表現は、最適化された第一及び第二潜在表現ほどコンパクトではない方法でシーンの観測可能な特性、または測定可能な特性を表すとみなされることができる。復号された第二表現は、復号された第一表現に類似しているが、シーンの第二ビュー(シーンの第一ビューと同じであっても、異なってもよい)を表すことができ、復号された第一表現とは異なる特性を表すことができる。例えば、復号された第一表現の値がこれらの値に関連するシーンの第一ビューの一部分のセマンティックコンテンツを示すことができるが、復号された第二表現の値はこれらの値に関連するシーンの第二ビューの一部分の深度を示すことができる。ただし、他の場合には、復号された第一及び第二表現は、互いに同じ特性を表すが、同じシーンの異なるビューについてのものであることができる。
【0074】
復号された第一及び第二表現の値は、正規化されていない値であることができる。この方法では、復号された第一及び第二表現の値は、それぞれ内部に一貫性があるが、互いに異なるスケールのものであることができる。
図3は、そのような場合を示す。
図3の例において、項目326では、復号された第一表現を正規化して、例えばシーンの第一ビューのセマンティックセグメンテーションなどである、最適化された第一セグメンテーションを取得する。
図3の項目328では、復号された第二表現を正規化して、例えば、セマンティックセグメンテーションなど、シーンの第二ビューのセグメンテーションなどである、最適化された第二セグメンテーションを取得する。最適化中に第一及び第二潜在表現を復号するために使用されるデコーダシステム(それ自体が最適化された第一及び第二潜在表現を復号するために使用されるデコーダシステムであることができる)のような、デコーダシステムは、復号された第一及び第二表現のうちの少なくとも1つの正規化を実行することができる。
図3の例では、復号された第一及び第二表現の両方を正規化する。ただし、場合によっては、復号された第一及び第二表現のうちの一方または両方の正規化を省略してもよいことを理解されたい。
【0075】
復号された第一及び第二表現を正規化することによって、より有意義な、またはその他の方法により直感的な表現を取得することができる。例えば、ソフトマックス関数を使用することができる。このソフトマックス関数は、実数値のn次元ベクトルを0から1の範囲内の実数値のn次元ベクトルにマッピングする。これは、数学的に以下のように要約されることができる。
【0076】
【0077】
式中、(0,1)の範囲内にそれぞれあり、ベクトルσ(z)のすべての値の合計が1になるように、実数値のK次元ベクトルσ(z)に実数値のK次元ベクトルをマッピングする。
【数6】
はK次元に関するすべての実数値タプルのセットを示す。ただし、他の例では他の正規化関数を使用することができる。
【0078】
一例として、復号された第一表現を正規化して、シーンの第一ビューの最適化されたセマンティックセグメンテーションを取得することができる。そのようなセマンティックセグメンテーションは、(0,1)の範囲内にそれぞれあり、シーンの第一ビューの画素が対応するセマンティックセグメンテーション値を有するような、値のアレイであることができる。そのような場合には、セマンティックセグメンテーション値の特定の範囲は、特定のクラスのオブジェクト(「テーブル」など)に対応するとみなされることができ、異なる範囲は、異なるクラスのオブジェクト(「ベッド」など)に対応するとみなされることができる。この方法では、最適化されたセマンティックセグメンテーションを使用して、特定のクラスのオブジェクト(または特定のオブジェクト)に対応するシーンの第一ビューの領域を識別することができる。
【0079】
図4は、
図2及び3の例などの実施例による画像データを処理するシステム400の概略図である。システム400は、画像データ404を受信し、処理するために画像データ404を転送する入力インタフェース402を含む。画像データ404は、シーンの少なくとも1つのビューを表す。入力インタフェース402は、カメラなどのキャプチャデバイスに結合されることができる、画像取得インタフェースであってもよい。画像取得インタフェースは、USBまたはネットワークインタフェースなどのハードウェアインタフェース、及びソフトウェアドライバを実装するコンピュータプログラムコードを含んでもよい。1つの場合には、システム400は、システム400の画像取得インタフェースが受信することができる、ライブビデオデータなどのストリーミングデータ上で動作するように構成されることができる。もう1つの場合には、システム400は、カメラに通信可能に結合されることができ、永続データストレージ及び非永続データストレージのうちの1つ以上にカメラデバイスから受信する画像データ404を保存するように構成されることができ、例えば、データフレームを、メモリにコピーすることができる、及び/またはハードディスクドライブまたはソリッドステートストレージに保存することができる。もう1つの場合には、システム400の外部の所与のファイルフォーマットに、例えば、データストレージデバイスにアクセス可能な1つ以上のファイルなどに、画像データ404を保存することができる。この場合には、システム400は、1つ以上のファイルからデータを少なくとも読み出すためにファイルシステムの部分を使用する、または実装することができる。それらのような場合には、入力インタフェース402は、システム400がデータストレージデバイスから画像データ404を受信することを可能にする、いずれかの適切なインタフェースであってもよい。システム400は、専用の処理用電子機器を含んでもよい、及び/または少なくとも1つのコンピューティングデバイスのプロセッサによって実行されるコンピュータプログラムコードとして実装されてもよい。
【0080】
システム400は、1つ以上の組み込みコンピューティングデバイスを含むことができる。これは、コンピュータ可読媒体上にロードされるコンピュータプログラムコードを実行するために、メモリと共に動作する少なくとも1つのプロセッサを含むことができる。この媒体は、消去可能でプログラム可能な読み出し専用メモリなどのソリッドステートストレージを含んでもよく、コンピュータプログラムコードは、ファームウェアを含んでもよい。他の場合には、システム400は、適切に設定されたシステムオンチップ、特定用途向け集積回路、及び/または1つ以上の適切にプログラムされたフィールドプログラマブルゲートアレイを含んでもよい。ある場合には、システム400は、モバイルコンピューティングデバイス及び/またはデスクトップコンピューティングデバイスにコンピュータプログラムコード及び/または専用の処理用電子機器として実装されてもよい。この場合には、システム400は、ロボットデバイスから送信される画像を受信する、及び/または決定された潜在表現(または決定された潜在表現から導出されるセグメンテーションもしくはマップ)を送信してロボットデバイスに返すように構成されることができる。本明細書に記述された例から逸脱することなく、分散コンピューティングの他の実装も使用することができる。ある場合には、システム400は、コンピュータプログラムコードを実行する1つ以上のGPUによって、前の場合と同様に、または前の場合の代替に、全体が、または部分が実装されてもよい。ある特定の場合には、システム400は、例えば複数のプロセッサ、及び/またはGPUのコアなどに、並列に実装される1つ以上の機能として実装されることができる。
【0081】
図4のシステム400は、初期化エンジン406も含み、この初期化エンジン406は、画像データ404内でキャプチャされるシーンの少なくとも1つの第一ビューの第一セグメンテーションに関連する第一潜在表現L
1、408を生成するように構成される。第一セグメンテーションは、この例ではセマンティックセグメンテーションである。また、初期化エンジン406は、シーンの少なくとも1つの第二ビューに関連する第二潜在表現L
2、410を生成するように構成される。
図3を参照して説明されるように、第一及び第二ビューは、互いに異なっても、同じであってもよい。第二潜在表現は、第一潜在表現と同じ、または異なる特性を表すことができる。例えば、第二潜在表現は、シーンの少なくとも1つの第二ビューのセマンティックセグメンテーション、またはこのシーンの少なくとも1つの第二ビューのデプスマップに関連付けられることができる。「生成する」という用語は、新規に生成された第一及び第二潜在表現を示すか、例えばシステム400のストレージから、またはシステム400にアクセス可能な、初期化エンジン406によって取得される、またはその他の方法により得られる第一及び第二潜在表現を示すかいずれかであるように、この文脈の中では広く使用されることができる。
【0082】
システム400は、画像データ404、ならびに第一及び第二潜在表現を最適化エンジン412に入力するように構成され、この最適化エンジン412は、潜在空間では第一潜在表現408及び第二潜在表現410を共同して最適化し、最適化された第一潜在表現414、及び最適化された第二潜在表現416を取得するように構成される。
【0083】
図4の例では、最適化エンジン412は、
図3を参照して記述される最適化プロシージャを実装するように構成される(これは一例に過ぎず、他の最適化プロシージャが可能であるが)。最適化エンジン412は、デコーダシステム418を含み、この例では、デコーダシステム418は、第一潜在表現408を復号するように構成される第一デコーダ420、及び第二潜在表現410を復号するように構成される第二デコーダ422を含む。この場合には、
図3の項目310を参照して説明されるように、最適化中に第一及び第二潜在表現408、410を復号する。
【0084】
図4では、第一デコーダ420は、セマンティックセグメンテーションの第一潜在表現を復号して、セマンティックセグメンテーション自体を取得するように、入力された画像データ及びグランドトゥルースセマンティックセグメンテーションの対上でトレーニングされている。第一デコーダ420は、例えば、
図12から14を参照してさらに議論されるように、入力された画像データ及びグランドトゥルースセマンティックセグメンテーションの対を使用してトレーニングされる、オートエンコーダのデコーダなどである。
【0085】
図4の例での第二デコーダ422は、第二潜在表現が表すことが意図される特性に対応する、入力された画像データ及びグランドトゥルースセグメンテーションまたはマップの対上でトレーニングされている。例えば、第二デコーダ422は、デプスマップの第二潜在表現を復号してデプスマップ自体を取得するように、入力された画像データ及びグランドトゥルースデプスマップの対上でトレーニングされていてもよい。また、第二デコーダ422は、第一デコーダ420が部分を形成することができるものとは一般に異なるオートエンコーダである、オートエンコーダのデコーダであってもよい。
【0086】
場合によっては、第一及び第二潜在表現が(それぞれ、シーンの第一及び第二ビューの)セマンティックセグメンテーションをそれぞれ表すことができることを理解されたい。それらのような場合には、デコーダシステム418は、第二デコーダ422を含まなくてもよい。それらの場合には、第一及び第二潜在表現は、両方とも同じデコーダ(例えば、第一デコーダ420)によって復号されることができる。
【0087】
第一デコーダ420は、所定の潜在表現を最も可能性の高い潜在表現として出力するようにトレーニングされてもよい。例えば、第一デコーダ420は、セマンティックセグメンテーションの最も可能性の高い潜在表現としてゼロコードを出力するようにトレーニングされることができる。第一デコーダ420のこのビヘイビアは、ゼロを中心とする多変量ガウス事前分布を使用して第一デコーダ420をトレーニングすることによって課せられることができる。この方法でトレーニングされる第一デコーダ420に関して、初期化エンジン406は、例えば最も可能性の高い潜在表現である、第一潜在表現として所定の表現を生成するように構成されることができる。例えば、初期化エンジン406は、ゼロの潜在表現を第一潜在表現として生成するように構成されることができる。第二デコーダ422は、同様にトレーニングされることができる。したがって、初期化エンジン406は、ゼロの潜在表現など、例えば最も可能性の高い潜在表現である、第二潜在表現として所定の表現を、その上、または代替に生成するように構成されることができる。
【0088】
最適化された第一及び第二潜在表現414、416を出力することに加えて、最適化エンジン412は、その上、例えば
図3の項目322、324、326、328を参照して記述されるように、復号された第一及び第二表現424、426、ならびに最適化された第一及び第二セグメンテーション428、430を出力するように構成される。場合によっては、最適化された第一及び第二潜在表現414、416、復号された第一及び第二表現424、426、ならびに最適化された第一及び第二セグメンテーション428、430のうちの少なくとも1つが、最適化エンジン412によって出力されなくてもよい、または他のものとは異なる時間に出力されてもよいことを理解されたい。さらに、場合によっては、デコーダシステム418は、最適化エンジン412の部分を形成しなくてもよいが、代替に、最適化エンジン412がそれらと通信することができる、またはデータをそれらの間で転送することができる、別個の、またはその他の異なるコンポーネントであることができる。
【0089】
図5は、さらなる実施例による画像データ504を処理するシステム500の概略図である。
図4の特徴に類似から対応している
図5の特徴は、同じであるが、100ずつ増加している参照番号を用いてラベル付けされる。対応する説明が適用される。
【0090】
図5のシステム500は、画像データ504の画像特徴量534を識別するように構成される特徴量識別エンジン532をさらに含むことを除き、
図4のシステム400と同じである。特徴量識別エンジン532は、識別される、コーナー、エッジ、形状、色など、画像特徴量534を可能にするいずれかのエンジンであることができる。例えば、特徴量識別エンジン532は、ニューラルネットワークアーキテクチャとして実装されることができ、このニューラルネットワークアーキテクチャは、ソフトウェア、ハードウェア、またはソフトウェア及びハードウェアの組み合わせに実装されることができる。そのようなニューラルネットワークアーキテクチャは、完全畳み込みネットワークなど、畳み込みニューラルネットワーク(CNN)であってもよい。一例では、特徴量識別エンジン532は、完全畳み込みネットワークの一例である、いわゆる「U-Net」を含む。U-Netアーキテクチャは、Ronneberger et alによる2015年の論文、「U-Net:Convolutional networks for biomedical image segmentation」に記載されている(該当する場合は参照により援用されている)。
【0091】
図5の例では、デコーダシステム512は、画像特徴量534を用いて条件付けされる。第一デコーダ520及び第二デコーダ522の一方または両方は、画像特徴量534を用いて条件付けされることができる。
【0092】
図6は、実施例による画像特徴量を用いて条件付けされるオートエンコーダ600の概略図である。オートエンコーダは、エンコーダまたはデコーダのうちの少なくとも1つが画像特徴量を用いて条件付けされる場合、画像特徴量を用いて条件付けされるとみなされることができる。例えば、場合によっては、オートエンコーダのデコーダは、オートエンコーダのエンコーダが画像特徴量を用いて条件付けされることなく、画像特徴量を用いて条件付けされることができる。
【0093】
図6では、入力画像を畳み込み特徴量に分解するように構成される、U-Net601を使用して画像特徴量を取得する。U-Net601は、参照番号604によって概略的に示される、縮小パス(contracting path)(時としてダウンサンプリングパスと称される)を含む。
図6では、縮小パス604は、1セットのダウンサンプリングブロック602a~602cを含み、これらのダウンサンプリングブロックは、所与の解像度を有する画像特徴量を取得するようにそれぞれ構成される。各ダウンサンプリングブロックは、正規化線形ユニット(ReLU)及び最大プーリング演算を後に伴う、畳み込みを有することができる。縮小パス604中では、空間情報を減少させる。ただし、例えば、各ステージでの特徴量マップ数を増加させることなどによって、特徴量情報を増加させる。この方法では、画像特徴量の、粗さが増加しているが、次元数が増加している、画像の表現を取得することができる。
【0094】
また、U-Net601は、時としてアップサンプリングパスと称される、拡張パス606を含む。
図6では、拡張パス606は、1セットのアップサンプリングブロック603a~603cを含む。各アップサンプリングブロックは、例えば、アップコンボリューション及び連結(concatenation)(
図6では602a及び603a、602b及び603b、ならびに602c及び603cの間の矢印によって示される)などを使用して、縮小パス604によって取得される特徴量及び空間情報を組み合わせる。この方法では、アップサンプリングブロック603a~603cは、画像特徴量を複数の異なる解像度で取得するように構成される。
【0095】
図6中のアップサンプリングブロック603a~603cによって取得される画像特徴量を使用して、オートエンコーダ600を条件付けする。オートエンコーダは、例えば、人工ニューラルネットワークであり、この人工ニューラルネットワークは、自己符号化されるデータのコンパクトな表現をオートエンコーダに学習させるボトルネックの影響を受けやすい中で、恒等写像を学習するようにトレーニングされる。例えば、オートエンコーダ600は、画像のセマンティックセグメンテーションのコンパクトな表現(本明細書では潜在表現と称されることがある)を学習するようにトレーニングされることができる。オートエンコーダ600は、エンコーダ608及びデコーダ610を含む。
図6のデコーダ610などのデコーダは、
図5の第一デコーダ520及び第二デコーダ522のうちの少なくとも1つとして使用されることができる。
【0096】
図6の例では、オートエンコーダ600は、変分部分612を有する、条件付き変分オートエンコーダである。変分オートエンコーダの使用は、潜在表現と、この潜在表現から導出可能である(例えば、オートエンコーダを使用して潜在表現を復号することによって)セグメンテーション(例えば、セマンティックセグメンテーション)との間のマッピングの平滑性を増加させることができる。それらのような場合には、潜在表現中の小さな変化は、オートエンコーダによって出力されるセグメンテーション中の小さな変化をもたらす傾向がある。
【0097】
エンコーダ608は、1セットの符号化ブロック614a~614cを有する一連の符号化コンポーネントを含み、この一連の符号化コンポーネントは、例えばオートエンコーダ600が自己符号化するようにトレーニングされるグランドトゥルースセグメンテーションなど、受信したデータを符号化する。また、エンコーダ608は、例えば符号化ブロック614a~614cの前に、入力データの畳み込み及びサブサンプリングを実行するように構成される第一コンポーネントを含むことができる。符号化ブロック614a~614cは、ダウンサンプリング操作を実装するとみなされることができる。ダウンサンプリングは、エンコーダ608の所与のステージに関連するフィルタ(時としてカーネルと称される)と、エンコーダ608への入力との間の一連の畳み込みのストライドを変えることによって達成されることができる。エンコーダ608は、例えば、ICLR2015で会議論文として発表されたK.Simonyan and A.Zissermanによる論文「Very Deep Convolutional Networks for Large-Scale Image Recognition」(該当する場合には参照により援用されている)に記述されている畳み込みネットワークに基づいて、完全畳み込み認識モデルなどの畳み込みニューラルネットワークであってもよい。
【0098】
この場合には、エンコーダ608は、バニラエンコーダよりもむしろ変分オートエンコーダ600の部分を形成する。したがって、この場合には、エンコーダ608は、エンコーダ608が符号化するようにトレーニングされている特性の平均値及び不確かさを出力するようにトレーニングされる。これらの例では、エンコーダ608は、複数の空間要素を有する、入力されたセグメンテーションまたはマップを使用してトレーニングされることができる。例えば、エンコーダ608は、入力画像の画素に対応する画素アレイを有する、グランドトゥルースセマンティックセグメンテーションを使用してトレーニングされることができる。ただし、グランドトゥルースセマンティックセグメンテーションの画素は、測光値よりもむしろセマンティック値(例えば、入力画像の対応する画素に関連するセマンティックラベルを示す、またはその他の方法で表す値)を含むことができる。それらのような場合には、エンコーダ608は、例えば、所与の画素についてセマンティックセグメンテーションの潜在表現を直接出力することよりもむしろ、グランドトゥルースセマンティックセグメンテーションの画素のそれぞれについて、平均セマンティック値、及びこの平均セマンティック値に関連する不確かさ(または平均値及び関連する不確かさのベクトル)を出力する。これらの場合には、変分部分612は、平均セマンティック値に対応する平均値、及び平均セマンティック値に関連する不確かさに対応する不確かさに関する分布からサンプリングし、特定の画素について潜在表現を取得する。この分布は、例えば、ガウス分布である。これは、オートエンコーダ600が自己符号化するようにトレーニングされる特性に関連する潜在空間からのサンプリングに対応するとみなされることができる。
【0099】
次いで、例えば入力データの減少した次元数の符号化である、変分部分612によって取得される潜在表現をデコーダ610が復号し、エンコーダ608に入力されるデータの推定された再構築(例えば、セマンティックセグメンテーションまたはデプスマップ)を取得することができる。デコーダ610は、1セットの復号ブロック615a~615cを含む。デコーダ610は、アップサンプリング操作を実装するとみなされることができる。アップサンプリングは、例えば、バイリニア補間または逆畳み込みを使用して達成されることができる。復号中に、デコーダ610は、複数の特徴量マップ(例えば、それぞれ復号された出力に対応するとみなされることができる)を複数の異なる解像度で出力する。例えば、各復号ブロック615a~615cは、復号された出力を異なるそれぞれの解像度で出力することができる。
図6のこの例では、復号ブロック615a~615cによって生成される、復号された出力の解像度は、復号ブロック615aから復号ブロック615cに低下する。デコーダ610の出力は、例えば、復号された潜在表現であり、この復号された潜在表現は、例えば
図3の項目326及び328を参照して議論されるように、正規化されることができる。
【0100】
図6では、エンコーダ608及びデコーダ610は、U-Net601(特徴量識別エンジンの一例である)のアップサンプリングブロック603a~603cによって取得される画像特徴量を使用して条件付けされる。ただし、他の場合には、デコーダ610は、エンコーダ608が画像特徴量を使用して条件付けされることなく、画像特徴量を使用して条件付けされる(またはその逆も同様である)。画像特徴量は、複数の解像度である。この場合には、特徴量識別エンジンによって(この場合には、アップサンプリングブロック603a~603cによって)取得される画像特徴量を使用して、エンコーダ608及びデコーダ610を条件付けする。この場合にはエンコーダ608は、符号化された出力(例えば、特徴量マップ)を複数の異なる解像度のそれぞれに生成する。複数の異なる解像度のそれぞれについて、エンコーダ608は、所与の解像度についての画像特徴量を、この所与の解像度について符号化された出力と組み合わせることによって条件付けされることができる。同様に、この場合にはデコーダ610は、復号された出力(例えば、特徴量マップ)を複数の異なる解像度のそれぞれに生成する。複数の異なる解像度のそれぞれについて、エンコーダ608は、所与の解像度についての画像特徴量を、この所与の解像度について復号された出力と組み合わせることによって条件付けされることができる。これは、
図6中の矢印を使用して示され、
図6では、U-Net601aの第一アップサンプリングブロック603aによって出力される最低解像度の画像特徴量を、第三符号化ブロック614cによって生成される最低解像度の符号化された出力、及び第一復号ブロック615aによって生成される最低解像度の復号された出力と組み合わせる。同様に、第三アップサンプリングブロック603cによって出力される最高解像度の画像特徴量を、第一符号化ブロック614aによって生成される最高解像度の符号化された入力、及び第三復号ブロック615cによって生成される最高解像度の復号された出力と組み合わせる。画像特徴量を、符号化された、または復号された出力と組み合わせることは、例えば、画像特徴量(例えばテンソル形式での)を、符号化された、または復号された出力(同様に、テンソル形式であることができる)と連結することによって実行されることができる。
【0101】
図6の構成が説明を容易にするために簡略化されており、他の層が他の構成に含まれることができることを理解されたい。例えば、オートエンコーダ600は、エンコーダ608と変分部分612との間に少なくとも1つの全結合層を含むことができる。
【0102】
一例として、
図6のものと同様の構成は、
図5のシステム500に使用されることができる。例えば、システム500は、U字型マルチタスクネットワークを含むことができ、このU字型マルチタスクネットワークは、共有エンコーダ、及び2つの別個のデコーダ(場合によっては、画像特徴量を用いて第一及び第二デコーダのうちの少なくとも1つを条件付けしていないことがあるが、1つは第一デコーダ520を条件付けするためのものであり、もう1つは第二デコーダ522を条件付けするためのものである)を含むことができる。エンコーダは、Kaiming He et alによる2015年の論文「Deep Residual Learning for Image Recognition」(該当する場合には参照により援用されている)に記述されるように、「ResNet」モデル(例えば、ResNet101)に基づくことができる。エンコーダは、ImageNet(該当する場合には参照により援用されている、2009年、Deng et alによる「ImageNet:A Large-Scale Hierarchical Image Database」に記述されているような)などの1つ以上の画像データセットを用いてトレーニングされることができる。エンコーダは、実装の部分としてトレーニングされること、及び/または事前にトレーニングされたパラメータ値のセットを使用することのいずれかができる。デコーダは、例えば、IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2017の抄録集に発表された、G.Lin et al.による「RefineNet:Multi-Path Refinement Networks for High-Resolution Semantic Segmentation」(該当する場合には参照により援用されている)に記述されるような、RefineNetユニットを含むことができる。さらに、システム500は、2つの変分オートエンコーダ(第一及び第二デコーダ520、522を提供する)を含むことができる。これらのオートエンコーダのエンコーダ部分は、決定される特性のグランドトゥルース値(例えば、セマンティックセグメンテーションまたはデプスマップ)が一般に利用できない場合、トレーニング中にのみ使用されることができるが、推論中に省略されることができる。これらの場合には、エンコーダ部分は、例えば、VGG-like完全畳み込み認識モデルであることができ、デコーダ部分は、例えば、線形生成モデルであることができる。
【0103】
このような例では、第一または第二デコーダ520、522は、線形デコーダであることができる。このアプローチを使用して、潜在表現と、この潜在表現に関連するセグメンテーションとの間の線形関係を取得することができ、この線形関係は、非線形方式で入力画像を用いて条件付けされる。この線形性により、例えば、最適化中などに使用される、ヤコビアンの事前計算ができる。したがって、この最適化は、その他のものよりもさらに迅速に実行されることができる。
【0104】
図7は、実施例による最適化方法700を示す流れ図である。
図7の項目702では、画像データを受信する。この場合には、画像データは、シーンの第一ビューを表す第一フレーム、及びシーンの第二ビューを表す第二フレームを含む。例えば
図4及び5の入力インタフェース402、502などの入力インタフェースを使用して、画像データを受信することができる。
【0105】
図7の項目704では、例えば
図4及び5の初期化エンジン406、506などの初期化エンジンを使用して、第一及び第二潜在表現L
1、L
2を取得する。この例では、第一潜在表現は、第一セグメンテーションに関連付けられ、この第一セグメンテーションは、シーンの第一ビューのセマンティックセグメンテーションである。この場合には、第二潜在表現は、第二セグメンテーションに関連付けられ、この第二セグメンテーションは、シーンの第二ビューのセマンティックセグメンテーションである。シーンの第一及び第二ビューは、互いに同じであっても、異なってもよい。これらの例では、第一及び第二潜在表現は、所定の表現、例えば、ゼロ表現である。
【0106】
図7の項目706では、例えば
図2または3による最適化方法を実装する、例えば
図4及び5の最適化エンジン412、512などの最適化エンジンを使用して、第一及び第二潜在表現を共同して最適化する。
図7のこの例では、最適化は、第一潜在表現と第二潜在表現との間の差分を示すセマンティック誤差項の決定を含む。そのような差分は、2つの要素間の距離または非類似度を測定する、さまざまな関数の形式で表現されることができる。
【0107】
一例では、シーンの第一及び第二ビューI
1、I
2は、部分的に重複しているため、共通の視野を共有する。この例では、
図4及び5の第一デコーダ420、520などのデコーダを使用して、第一及び第二潜在表現L
1、L
2を復号し、復号された第一及び第二潜在表現L
1d、L
2dを取得することができる。復号された第一及び第二潜在表現L
1d、L
2dは、例えば、正規化されていないため、デコーダから取得されるソフトマックス前の予測であることができる。復号された第一及び第二潜在表現を使用して、例えば、
【数7】
を使用して、セマンティック誤差項r
sを決定することができる。式中、DSはユークリッド距離関数などの差分関数を表し、L
1d
iはシーンの第一ビュー中の画像領域iについて復号された第一潜在表現を表し、L
2d
jはシーンの第二ビュー中の画像領域jについて復号された第二潜在表現を表す。シーンの第一ビュー中の画像領域iは、シーンの第二ビュー中の画像領域jに対応する。換言すれば、シーンの同じ部分は、画像領域i及びjの両方に存在している。シーンの第二ビュー中の画像領域jは、シーンの第一ビュー中の画像領域iに対応し、密な対応関数を使用して見いだされることができる。この密な対応関数は、例えば、第一ビューから第二ビューへのシーンの推定された相対的な剛体変換に基づく。
【0108】
図4及び5の最適化エンジン412、512などの最適化エンジンを使用して、セマンティック誤差項r
sを決定することができ、このセマンティック誤差項r
sを残差(例えば、
図3の項目312で決定されるような)として使用することができる。このセマンティック誤差項r
sを残差(例えば、
図3の項目314を参照して記述されるような)として使用して、ヤコビアンを決定することができる。次に、このヤコビアンを使用して、二乗和関数などのセマンティック誤差項r
sの関数を最小にする第一及び第二潜在表現の値を決定することができる。
【0109】
このプロセスは、例えば
図3を参照して記述されるように、反復して実行されることができる。これに基づいて、
図7の項目708では、セマンティック誤差項を最小にする第一潜在表現及び第二潜在表現の値を見いだすことができる。これらの値は、それぞれ最適化された第一及び第二潜在表現に対応することができる。ただし、場合によっては、最適化された第一及び第二潜在表現を取得するために、これらの値のさらなる最適化、またはさらなる処理を実行することができる。シーンの第一及び第二ビューにそれぞれ関連付けられる、最適化された第一及び第二セマンティックセグメンテーションは、例えば最適化された第一及び第二潜在表現を復号して正規化プロシージャを実行することによって、最適化された第一及び第二潜在表現から導出されることができる。
【0110】
図8は、さらなる実施例による最適化方法800を示す流れ図である。
図8の最適化方法800は、
図7の最適化方法700に類似している。
図7に類似して、
図8の最適化方法800は、最適化された第一及び第二潜在表現を取得するために使用されることができ、これら最適化された第一及び第二潜在表現は、それぞれシーンの第一及び第二ビューに関連する最適化された第一及び第二セマンティックセグメンテーションに関連付けられる。加えて、けれども、
図8の最適化方法800は、最適化された第三及び第四潜在表現を取得するために使用されることができ、これら最適化された第三及び第四潜在表現は、それぞれシーンの第一及び第二ビューに関連する最適化された第一及び第二デプスマップに関連付けられる。
【0111】
図8の項目802は、
図7の項目702に類似しており、対応する説明が適用される。
【0112】
図8の項目804では、例えば
図4及び5の初期化エンジン406、506などの初期化エンジンを使用して、第一及び第二潜在表現L
1、L
2を取得する。この例では、第一潜在表現は、シーンの第一ビューのセマンティックセグメンテーションである、第一セグメンテーションに関連付けられる。この場合には、第二潜在表現は、シーンの第二ビューのセマンティックセグメンテーションである、第二セグメンテーションに関連付けられる。シーンの第一及び第二ビューは、互いに同じであっても、異なってもよい。これらの例では、第一及び第二潜在表現は、ゼロ表現などの所定の表現である。
【0113】
また、
図8の項目804は、シーンの第一ビューのデプスマップに関連する第三潜在表現L
3、及びシーンの第二ビューのデプスマップに関連する第四潜在表現L
4を取得することを含む。第三及び第四潜在表現L
3、L
4は、
図4及び5の初期化エンジン406、506などの初期化エンジンを使用して取得されることができ、ゼロ表現などの所定の表現であることができる。
【0114】
図8による例において、潜在空間では第一、第二、第三及び第四潜在表現を共同して最適化し、最適化された第一及び第二潜在表現、ならびに最適化された第三及び第四潜在表現を取得する。そのような最適化は、
図3の方法などの方法を使用して実行されることができ、
図4及び5の最適化エンジン412、512などの最適化エンジンを使用して実装されることができる。
【0115】
特に、
図8の例において、項目806では、潜在空間での第一、第二、第三及び第四潜在表現の共同最適化は、第一潜在表現と第二潜在表現との間の差分を示すセマンティック誤差項を決定することを含む。セマンティック誤差項は、
図7の項目706を参照して記述されるように決定されることができる。
【0116】
この例において、項目808では、潜在空間での第一、第二、第三及び第四潜在表現の共同最適化は、第三潜在表現と第四潜在表現との間の差分を示す幾何学的誤差項r
dを決定することも含む。幾何学的誤差項r
dは、第一デプスマップD
1を使用して決定されることができ、この第一デプスマップD
1は、第三潜在表現を復号する(そして場合によっては、復号された第三潜在表現を正規化する)ことによって取得されることができる。第三潜在表現は、
図4及び5の第二デコーダ422、522などのデコーダを使用して復号されることができ、このデコーダは、デプスマップの潜在表現を復号し、デプスマップを取得するようにトレーニングされている。この場合には、その上、幾何学的誤差項r
dの決定は、第二デプスマップD
2を使用し、この第二デプスマップD
2は、第四潜在表現を復号する(そして場合によっては、復号された第四潜在表現を正規化する)ことによって取得されることができる。シーンの第一ビュー中の画像領域iについて、幾何学的誤差項r
dは以下のように表現されることができる。
【0117】
【0118】
式中、D
1
iはシーンの第一ビュー中の画像領域iについての深度値(第一デプスマップD
1から取得されるような)を表し、D
2
jはシーンの第二ビュー中の画像領域jについての深度値(第二デプスマップD
2から取得されるような)を表す。シーンの第一ビュー中の画像領域iは、シーンの第二ビュー中の画像領域jに対応する。この例では、幾何学的誤差項r
dは、D
1
iとD
2
jとの間の差分である。ただし、他の場合には、幾何学的誤差項r
dは、D
1
i及びD
2
jに基づく差分関数(ユークリッド距離関数など)であってもよいし、この差分関数を含んでもよい。幾何学的誤差項r
dは、
図4及び5の最適化エンジン412、512などの最適化エンジンを使用して決定されることができ、残差(例えば、
図3の項目312で決定されるような)として使用されることができる。
【0119】
図8の項目810では、セマンティック誤差項及び幾何学的誤差項を共同して最小にするように、第一、第二、第三及び第四潜在表現のそれぞれの値を決定する。この共同最適化は、残差として少なくともセマンティック誤差項及び幾何学的誤差項を使用してヤコビアンを評価することを含むことができる。次に、そのようなヤコビアンを使用して、二乗和関数など、これらの残差の関数を最小にする、第一、第二、第三及び第四潜在表現の値を決定することができる。この方法では、最適化された第一、第二、第三及び第四潜在表現を取得することができる。
【0120】
最適化されたセマンティックセグメンテーション及びデプスマップは、例えばこれらの表現を復号することによって、最適化された第一、第二、第三及び第四潜在表現から取得されることができる。例えば、最適化された第一及び第二潜在表現を復号して、それぞれシーンの第一及び第二ビューの最適化されたセマンティックセグメンテーションを取得することができる。最適化された第三及び第四潜在表現を復号し、それぞれシーンの第一及び第二ビューの最適化されたデプスマップを取得することができる。場合によっては、セマンティックセグメンテーションの入力された潜在表現からセマンティックセグメンテーションを取得するようにトレーニングされている第一デコーダを使用して、最適化された第一及び第二潜在表現を復号し、デプスマップの入力された潜在表現からデプスマップを取得するようにトレーニングされている第二デコーダを使用して、最適化された第三及び第四潜在表現を復号する。
【0121】
図9は、さらなる実施例による最適化方法900を示す流れ図である。
図9の最適化方法900は、
図8の最適化方法800に類似している。ただし、
図9の最適化方法900は、画像データの第一及び第二フレームに関連する測光データに基づく最適化も含む。
【0122】
図9の項目902及び904は、それぞれ
図8の項目802及び804に類似しており、対応する説明が適用される。
【0123】
項目906では、シーンの第一ビュー(第一フレーム中でキャプチャされるような)と、シーンの第二ビュー(第二フレーム中でキャプチャされるような)との間の光整合性(photo-consistency)を示す測光誤差項を決定する。シーンの第一ビューの一部分は、色または強度値などの測光特性が類似している、または同じである、第二ビューの対応する部分と光整合性があるとみなされることができる。換言すれば、シーンの同じ部分は、シーンのこの部分の画像を取得するために使用されるカメラの視点に関係なく同様に、または同じに見えるはずである。測光誤差項は、例えば、第一ビューの所与の部分(例えば、第一ビューの画像領域i)が第二ビューの対応する部分(例えば、第二ビューの画像領域j)と光整合性がある程度の尺度を提供する。
【0124】
一例として、シーンの第一ビュー中の画像領域iについて、測光誤差項rpは以下のように表現されることができる。
【0125】
【0126】
式中、I
1
iはシーンの第一ビュー中の画像領域iの強度を表し、I
2
jはシーンの第二ビュー中の画像領域jの強度を表す。シーンの第一ビュー中の画像領域iは、シーンの第二ビュー中の画像領域jに対応する。この強度は、例えば、シーンの所与の部分から受光する光の量の尺度である。画像領域i、jがそれぞれ第一及び第二ビューの画素に各対応する一例では、第一及び第二フレーム中の画素i、jの画素値は、測光誤差項を決定するための強度I
1
i、I
2
jとみなされることができる。これは、一例に過ぎないが、他の場合には、測光誤差項は、輝度(例えば、シーンの明るさによって得られる視覚の尺度である)、または色(色空間に位置として表現されることができる)などの強度とは異なる測光特性に基づくことができる。この例では、測光誤差項r
pは、I
1
iとI
2
jとの間の差分である。ただし、他の場合には、測光誤差項r
pは、I
1
i及びI
2
jに基づく差分関数(ユークリッド距離関数など)であっても、この差分関数を含んでもよい。測光誤差項r
pは、
図4及び5の最適化エンジン412、512などの最適化エンジンを使用して決定されることができる。
【0127】
図9の項目908は、第一潜在表現と第二潜在表現(それぞれシーンの第一及び第二ビューのセマンティックセグメンテーションに関連付けられる)との間の差分を示すセマンティック誤差項r
sを決定することを含む。セマンティック誤差項r
sは、
図8の項目806を参照して記述されるように決定されることができる。
【0128】
図9の項目910は、第三潜在表現と第四潜在表現(それぞれシーンの第一及び第二ビューのデプスマップに関連付けられる)との間の差分を示す幾何学的誤差項r
dを決定することを含む。幾何学的誤差項r
dは、
図8の項目808を参照して記述されるように決定されることができる。
【0129】
測光誤差項r
p、セマンティック誤差項r
s、及び幾何学的誤差項r
dのうちの少なくとも1つを、残差(例えば、
図3の項目312で決定されるような)として使用することができる。これらの残差のうちの1つ以上は、例えば、残差を使用するヤコビアンの決定と、
図3の項目314及び316を参照して記述されるような残差の関数を最小にする第一、第二、第三及び第四潜在表現の値を決定するヤコビアンの使用とを含む、最適化プロシージャに使用されることができる。場合によっては、最適化プロセスは、これらの誤差項のうちの2つの少なくとも1つの共同最適化を含む。この最適化は、複数の最適化を含むことができる。これら複数の最適化は、単一の誤差項の最適化、または誤差項のうちの少なくとも2つの共同最適化を含むことができる。例えば、測光誤差項が決定される場合によっては、最適化は、測光誤差項を最小にする第一、第二、第三及び第四潜在表現のうちの少なくとも1つのそれぞれの値を決定することを含むことができる。測光誤差項を最小にすることによって、カメラの姿勢(例えば、第一及び第二フレームのキャプチャ中の)をより正確に決定することができる。
【0130】
図9の例は、項目912では、測光誤差項及び幾何学的誤差項を共同して最小にする第三及び第四潜在表現の値を決定することを含む。したがって、
図9の項目912は、測光誤差項及び幾何学的誤差項に基づいてヤコビアンを決定することと、このヤコビアンを使用して、測光及び幾何学的誤差項の関数を最小にする第三及び第四潜在表現の値を決定することとを含むことができる。
【0131】
図9の項目914では、例えば、共同最適化プロセスを使用して、セマンティック誤差項を最小にする第一及び第二潜在表現の値を決定する。したがって、
図9の項目914は
図7の項目708に類似していることができる。
【0132】
最後に、
図9の項目916では、セマンティック誤差項及び幾何学的誤差項を共同して最小にする、第一、第二、第三及び第四潜在表現の値を決定する。したがって、
図9の項目916は、セマンティック誤差項及び幾何学的誤差項に基づいてヤコビアンを決定することと、このヤコビアンを使用して、セマンティック及び幾何学的誤差項の関数を最小にする、第一、第二、第三及び第四潜在表現の値を決定することとを含むことができる。項目914で取得される第一及び第二潜在表現の最適化された値、ならびに項目912で取得される第三及び第四潜在表現の最適化された値を、項目916の最適化への入力として使用することができる。この方法では、ジオメトリ及びセマンティクスの両方を最適化フレームワークにおいて結合することができ、この最適化フレームワークは、第三及び第四潜在表現から導出される幾何学的推定値(例えば、デプスマップ)と、第一及び第二潜在表現から導出されるセマンティック推定値(例えば、セマンティックセグメンテーション)との両方を改善することができる。
【0133】
図7から9は、本明細書では方法を使用して決定されることができる潜在表現の例に過ぎない。これらの方法が他の潜在表現を取得するために使用されることができることを理解されたい。例えば、場合によっては、第一潜在表現はシーンの第一ビューのセマンティックセグメンテーションに関連付けられることができ、第二潜在表現はシーンの第二ビューについてのデプスマップに関連付けられることができる。
【0134】
図10Aは、本明細書に記述される方法のいずれかを実装するために使用されることができるコンピューティングシステム1000のコンポーネントを示す概略図である。コンピューティングシステム1000は、単一のコンピューティングデバイス(例えば、デスクトップ、ラップトップ、モバイル及び/または組み込みコンピューティングデバイス)であっても、分散コンピューティングシステムであってもよく、この分散コンピューティングシステムは、複数のディスクリートコンピューティングデバイスに分散される(例えば、ある特定のコンポーネントはネットワーク経由で行われる1つ以上のクライアントコンピューティングデバイスからの要求に基づいて1つ以上のサーバコンピューティングデバイスによって実装されることができる)。
【0135】
コンピューティングシステム1000は、カメラ1002を含み、この場合には、カメラは、例えばシーンの観測値を有する、ビデオフレームを提供するように構成されるビデオカメラである。コンピューティングシステム1000は、本明細書に記述されるものによる方法を実装するように構成される、画像処理システム1004を含む。
図10Aでは、画像処理システム1004は、カメラ1002によって取得される画像データを処理して、シーンの少なくとも1つのビューの最適化されたセグメンテーション、例えばセマンティックセグメンテーションを取得するように構成される。ある場合には、画像処理システム1004は、シーンの第一ビューの最適化された第一セグメンテーション、及びシーンの第二ビューの最適化された第二セグメンテーションを取得するように構成される。最適化された第一及び第二セグメンテーションは、例えば、セマンティックセグメンテーションである。画像処理システム1004は、その上、他の最適化されたセグメンテーションまたはマップ、例えばシーンの少なくとも1つのビューについて最適化されたデプスマップなどを取得するように構成されることができる。
【0136】
また、コンピューティングシステム1000は、シーンの観測中にカメラ1002の姿勢を決定するように構成される追跡システム1006を含む。コンピューティングシステム1000は、マッピングシステム1008を含み、このマッピングシステム1008は、画像処理システム1004が取得する最適化されたセグメンテーションまたはマップをシーンのマップに読み込むように構成される。
図10Aでは、マッピングシステム1008は、シーンの第一ビューの最適化された第一セグメンテーション、及びシーンの第一ビューのキャプチャ中のカメラの第一姿勢を表す第一姿勢データ、ならびにシーンの第二ビューの最適化された第二セグメンテーション、及びシーンの第二ビューのキャプチャ中のカメラの姿勢を表す第二姿勢データのうちの少なくとも1つをシーンのマップに読み込むように構成される。
【0137】
追跡システム及びマッピングシステム1006、1008は、同時ローカライゼーションとマッピング(SLAM)システムの部分を形成することができる。ロボットマッピング及びナビゲーションの分野におけるSLAMシステムは、未知の環境のマップを構築して更新すると同時に、この環境内のマップに関連するロボットデバイスを位置特定する。例えば、ロボットデバイスは、マップを構築している、更新している、及び/または使用しているデバイスであることができる。
【0138】
図10Bは、一実施例によるロボットデバイス1010のコンポーネントを示す概略図である。ロボットデバイス1010は、
図10Aのコンピューティングシステム1000を含む。また、ロボットデバイス1010は、ロボットデバイス1010が周囲の3次元環境とインタラクトすることを可能にする、1つ以上のアクチュエータ1012を含む。周囲の3次元環境の少なくとも一部分は、コンピューティングシステム1000のカメラ1002によってキャプチャされるシーンに示されることができる。
図10Bの場合には、ロボットデバイス1010が特定の環境をナビゲートする場合(例えば、
図1A中のデバイス130のように)、ロボットデバイス1010は、ビデオデータ形式などで、画像データをキャプチャするように構成されることができる。別の場合には、けれども、ロボットデバイス1010は、環境を走査することができる、またはモバイルデバイスもしくは別のロボットデバイスを用いるユーザなどの第三者から受信する画像データに基づいて動作することができる。ロボットデバイス1010は、画像データを処理すると、セグメンテーション及び/またはマップ(例えば、セマンティックセグメンテーションまたはデプスマップ)を導出することができる最適化された潜在表現を取得し、例えば、ロボットデバイス1010がその環境をマッピングすることを可能にするように構成されることができる。
【0139】
また、ロボットデバイス1010は、1つ以上のアクチュエータ1012を制御する少なくとも1つのプロセッサを有するインタラクションエンジン1014を含む。
図10Bのインタラクションエンジン1014は、ロボットデバイス1010によって取得されるセグメンテーション及び/またはマップを使用して、周囲の3次元環境とインタラクトするようにロボットデバイス1010を制御するように構成されることができる。例えば、セマンティックセグメンテーションを使用して、把持される環境内の特定のオブジェクトを識別することができる、またはデプスマップを使用して、把持されるオブジェクトの位置を識別することができる、及び/または壁などの障害物との衝突を回避することができる。
【0140】
図10A及び10Bを参照して本明細書に記述されるような機能コンポーネントの例は、専用の処理用電子機器を含むことができる、及び/または少なくとも1つのコンピューティングデバイスのプロセッサによって実行されるコンピュータプログラムコードとして実装されることができる。ある特定の場合には、1つ以上の組み込みコンピューティングデバイスを使用することができる。本明細書に記述されるようなコンポーネントは、コンピュータ可読媒体上にロードされるコンピュータプログラムコードを実行するために、メモリと共に動作する少なくとも1つのプロセッサを含むことができる。この媒体は、消去可能でプログラム可能な読み出し専用メモリなどのソリッドステートストレージを含んでもよく、コンピュータプログラムコードは、ファームウェアを含んでもよい。他の場合には、コンポーネントは、適切に設定されたシステムオンチップ、特定用途向け集積回路、及び/または1つ以上の適切にプログラムされたフィールドプログラマブルゲートアレイを含んでもよい。ある場合には、コンポーネントは、モバイルコンピューティングデバイス及び/またはデスクトップコンピューティングデバイスにコンピュータプログラムコード及び/または専用の処理用電子機器として実装されてもよい。ある場合には、コンポーネントは、コンピュータプログラムコードを実行する1つ以上のグラフィカルプロセッシングユニットによって、前の場合と同様に、または前の場合の代替に、実装されてもよい。ある特定の場合には、コンポーネントは、例えば複数のプロセッサ、及び/またはグラフィックスプロセッシングユニットのコアなどの上で、並列に実装される1つ以上の機能として実装されることができる。
【0141】
図11は、プロセッサ1102、及びコンピュータ実行可能命令1104を含む非一時的なコンピュータ可読記憶媒体1104の一例1100を示す概略図である。コンピュータ実行可能命令1104は、プロセッサ1102によって実行されると、プロセッサ1102を含むコンピューティングデバイスなどのコンピューティングデバイスに、シーンのビュー(例えば、画像データにキャプチャされるような)に関連する少なくとも1つの潜在表現を取得させる。これらの命令により、上述される例示的な方法に類似している方法が実行されることができる。例えば、コンピュータ可読記憶媒体1106は、シーンの観測値を表す画像データ1108を保存するように構成されることができる。コンピュータ実行可能命令1104は、プロセッサ1102によって実行されると、コンピューティングデバイスに、画像データ1108を処理させ、少なくとも1つの最適化された潜在表現1110を生成させるように構成されることができ、この少なくとも1つの最適化された潜在表現1110は、コンピュータ可読記憶媒体1106に保存されることができる。
図11では、画像データ1108及び最適化された潜在表現1110をコンピュータ可読記憶媒体1106に保存するように示しているが、他の例では、コンピュータ可読記憶媒体1106の外部にある(けれども、コンピュータ可読記憶媒体によってアクセス可能である)ストレージに、画像データ1108及び最適化された潜在表現1110のうちの少なくとも1つを保存することができる。
【0142】
本明細書ではさらなる例は、入力画像のセマンティックセグメンテーションを予測するような潜在表現エンジンのトレーニングに関する。これらの例は、
図12から14を参照してここでは記述される。
【0143】
図12は、実施例による、トレーニング中の潜在表現予測エンジン1200の概略図である。潜在表現予測エンジン1200は、画像データ1202を受信する。この場合に、画像データ1202は、トレーニングデータであり、このトレーニングデータを使用して、潜在表現予測エンジン1200が入力画像のセマンティックセグメンテーションを予測するようにトレーニングする。この例では、画像データ1202は、例えば画素値の2Dアレイ(画素強度値など)として、入力画像を表す画像データを含む。例えば、画像は、カラー画像であることができる。この画像データは、潜在表現予測エンジン1200の特徴量識別エンジン1204によって処理される。特徴量識別エンジン1204は、入力画像の画像特徴量1206を検出する(例えば、画像データ1202を処理することによって)ように構成される。
図12の特徴量識別エンジン1204及び画像特徴量1206は、
図5の特徴量識別エンジン532及び画像特徴量534に類似していても、これらと同じであってもよく、対応する説明が適用される。
【0144】
画像データ1202に戻り参照して、
図12の例での画像データ1202は、入力画像のグランドトゥルースセマンティックセグメンテーション1208も含む。グランドトゥルースセマンティックセグメンテーションは、例えば、入力画像のそれぞれの部分に各関連する、複数の空間要素を含む。空間要素のそれぞれは、セマンティックラベルによってラベル付けされ、このセマンティックラベルは、入力画像のそれぞれの部分の実際のコンテンツを示す。実際のコンテンツは、例えば、「テーブル」、「ベッド」、「椅子」など、入力画像の部分に存在するオブジェクトのタイプまたはクラスである。セマンティックラベルは、テキストラベル(例えば、ストリング)である必要はないが、代替に、それにもかかわらず特定のクラスのオブジェクトを示す数値または他のラベルであることができる。グランドトゥルースセマンティックセグメンテーション1208の空間要素と、入力画像の画素との間で1対1マッピングである必要はないが、1対1マッピングがあってもよい。
【0145】
また、
図12の画像データ1202は、入力画像のグランドトゥルースデプスマップ1210を含む。グランドトゥルースデプスマップ1210は、グランドトゥルースセマンティックセグメンテーション1208に類似していてもよいが、セマンティックラベルよりもむしろ深度値を含むことができる。グランドトゥルースセマンティックセグメンテーション1208に関しては、グランドトゥルースデプスマップ1210の深度要素と、入力画像の画素との間で1対1マッピングである必要はないが、1対1マッピングがあってもよい。
【0146】
グランドトゥルースセマンティックセグメンテーション及びデプスマップ1208、1210は、潜在表現予測エンジン1200のエンコーダシステム1212によって処理される。この例では、エンコーダシステム1212は、第一エンコーダ1214及び第二エンコーダ1216を含む。第一エンコーダ1214は、グランドトゥルースセマンティックセグメンテーション1208を符号化して、グランドトゥルースセマンティックセグメンテーション1208の潜在表現を生成するようにトレーニングされる。第二エンコーダ1216は、グランドトゥルースデプスマップ1210を符号化して、グランドトゥルースデプスマップ1210の潜在表現を生成するようにトレーニングされる。この例では、第一エンコーダ1214及び第二エンコーダ1216は、特徴量識別エンジン1204によって取得される画像特徴量1206を使用して各条件付けされ、
図6のエンコーダ608に類似していても、これと同じであってもよい。例えば、第一エンコーダ1214は、符号化された出力を複数の異なる解像度のそれぞれで生成するように構成されることができ、画像特徴量1206は、複数の異なる解像度のそれぞれにあることができる。この場合には、第一エンコーダ1214は、複数の異なる解像度のそれぞれについて、例えば連結を使用して、所与の解像度についての画像特徴量1206を、所与の解像度について符号化された出力と組み合わせることによって、画像特徴量1206を用いて条件付けされることができる。他の例では、けれども、第二エンコーダ1216は、画像特徴量1206を使用して条件付けされていないことがある。第二エンコーダ1216は、構造では第一エンコーダ1214に類似していても、これとは異なってもよい。
【0147】
図12の第一エンコーダ1214は、グランドトゥルースセマンティックセグメンテーション1208の潜在表現である、第一潜在表現1218を出力する。第二エンコーダ1216は、グランドトゥルースデプスマップ1210の潜在表現である、第二潜在表現1220を出力する。
【0148】
第一及び第二潜在表現1218、1220は、
図12のデコーダシステム1222を使用して処理される。デコーダシステム1222は、第一デコーダ1224及び第二デコーダ1226を含む。第一デコーダ1224は、グランドトゥルースセマンティックセグメンテーション1208の潜在表現を復号して、入力画像の予測されたセマンティックセグメンテーションを取得するようにトレーニングされる。第二デコーダ1226は、グランドトゥルースデプスマップ1210の潜在表現を復号して、入力画像の予測されたデプスマップを取得するようにトレーニングされる。第一デコーダ1224及び第二デコーダ1226は、特徴量識別エンジン1204によって取得される画像特徴量1206を使用して各条件付けされ、
図6のデコーダ610に類似していても、これと同じであってもよい。例えば、第一デコーダ1224は、復号された出力を複数の異なる解像度のそれぞれで生成するように構成されることができ、画像特徴量1206は、複数の異なる解像度のそれぞれにあることができる。この場合には、第一デコーダ1224は、複数の異なる解像度のそれぞれについて、例えば連結を使用して、所与の解像度についての画像特徴量1206を、所与の解像度について復号された出力と組み合わせることによって、画像特徴量1206を用いて条件付けされることができる。第二デコーダ1226は、構造では第一デコーダ1224に類似していても、これとは異なってもよい。例えば、場合によっては、第二デコーダ1226は、画像特徴量1206を使用して条件付けされないことがある。さらに、場合によっては、第一及び/または第二デコーダ1224、1226は、第一及び/または第二エンコーダ1214、1216が画像特徴量1206を使用して条件付けされることなく、画像特徴量1206を使用して条件付けされることができる。特定の場合に、第一及び第二デコーダ1224、1226のそれぞれは、画像特徴量1206を使用して条件付けされ、第一及び第二エンコーダ1214、1216のいずれも、画像特徴量1206を使用して条件付けされないが、これは一例に過ぎない。
【0149】
この例では、第一エンコーダ1214及び第一デコーダ1224は、第一オートエンコーダに対応し、この第一オートエンコーダは、入力画像のセマンティックセグメンテーションを自己符号化するようにトレーニングされる。この例では、第二エンコーダ1216及び第二デコーダ1226は、第二オートエンコーダに対応し、この第二オートエンコーダは、入力画像のデプスマップを自己符号化するようにトレーニングされる。
図6を参照して説明されるように、オートエンコーダは、オートエンコーダのエンコーダまたはデコーダのうちの少なくとも1つが画像特徴量を使用して条件付けされる場合、画像特徴量を使用して条件付けされるとみなされることができる。したがって、
図12の例では、第一オートエンコーダ及び第二オートエンコーダの両方は、画像特徴量を使用して条件付けされている。
【0150】
図6を参照して記述されるように、第一及び第二オートエンコーダは、変分オートエンコーダであり、オートエンコーダの潜在表現と出力との間のマッピングの平滑性を改善することができる。例えば、第一エンコーダ1214及び第一デコーダ1224は、
図6を参照して説明されるように、入力画像の入力されたセマンティックセグメンテーションの変分自己符号化を実行するようにトレーニングされることができる。場合によっては、第一デコーダ1224及び/または第二デコーダ1226は、デコーダシステム1222が線形デコーダを含むように線形デコーダであることができる。
【0151】
第一デコーダ1224は、入力画像の予測されたセマンティックセグメンテーション1228を出力するように構成され、第二デコーダ1226は、入力画像の予測されたデプスマップ1230を出力するように構成される。予測されたセマンティックセグメンテーション1228及び予測されたデプスマップ1230は、正規化されたセマンティックセグメンテーションまたはデプスマップであることができる。正規化は、デコーダシステム1222によって(例えば、第一デコーダ1224及び/または第二デコーダ1226によって)、または別のコンポーネントによって実行されることができる。
【0152】
予測されたセマンティックセグメンテーション1228を使用して、第一エンコーダ1214及び第一デコーダ1224に関連する重みまたは他のパラメータを調整することで、第一エンコーダ及びデコーダ1214、1224が入力されたセマンティックセグメンテーションをより正確に自己符号化するようにトレーニングすることができる。例えば、潜在表現予測エンジン1200は、予測されたセマンティックセグメンテーション1228と、グランドトゥルースセマンティックセグメンテーション1208との間の比較に基づく損失関数を使用して更新されることができる。
【0153】
同様の方法で、第二エンコーダ1216及び第二デコーダ1226に関連する重みを更新することができる。例えば、潜在表現予測エンジン1200は、予測されたセマンティックセグメンテーション1228と、グランドトゥルースセマンティックセグメンテーション1208との間の比較に基づく損失関数を使用して更新されることができる。
【0154】
次に、さらなる入力画像は、更新された重みを有するエンコーダシステム1212及びデコーダシステム1222を使用して処理されることができ、これらの重みは、同様の方法で再度、更新されることができる。このプロセスは、入力画像データ及びグランドトゥルースセマンティックセグメンテーション及び/またはグランドトゥルース深度データの対を含むトレーニングデータセットを使用して、繰り返し実行されることができる。この方法では、潜在表現予測エンジン1200は、セマンティックセグメンテーションに関連する入力された潜在表現を復号してセマンティックセグメンテーションを取得する(例えば、第一デコーダ1224を使用して)ように、そしてデプスマップに関連する入力された潜在表現を復号してデプスマップを取得する(例えば、第二デコーダ1226を使用して)ようにトレーニングされることができる。したがって、第一及び第二デコーダ1224、1226は、
図3から11を参照して上述される方法では、最適化された潜在表現を取得すること、及び/または最適化されたセグメンテーションまたはマップを取得することができる。
【0155】
図12が潜在表現予測エンジン1200の一例に過ぎないことを理解されたい。他の場合には、特徴量識別エンジン1204を省略してもよい。それらのような場合には、エンコーダシステム1212及びデコーダシステム1222は、画像特徴量1206を用いて条件付けされる必要はない。さらに、
図12の潜在表現予測エンジン1200が入力画像に関連するセマンティックセグメンテーション及びデプスマップを予測するように構成されるが、他の場合には、潜在表現予測エンジンは、セマンティックセグメンテーションまたはデプスマップの1つのみを予測するように構成されてもよい(または異なるセグメンテーションもしくはマップを予測するように構成されてもよい)。例えば、ある場合には、潜在表現予測エンジン1200は、予測されたデプスマップ1230を取得することなく、予測されたセマンティックセグメンテーション1228を取得するように構成される。この場合には、画像データ1202は、グランドトゥルースデプスマップ1210を含まなくてもよく、第二エンコーダ1216及び第二デコーダ1226は、省略されてもよい。この場合には、第一エンコーダ1214または第一デコーダ1224のうちの少なくとも1つは、セマンティックセグメンテーションを自己符号化するオートエンコーダ(この場合には第一エンコーダ1214及び第一デコーダ1224を含む)が画像特徴量1206を使用して条件付けされるように、画像特徴量1206を使用して条件付けされることができる。
【0156】
図13は、実施例による潜在表現予測エンジンをトレーニングする方法1300を示す流れ図である。
図13の方法1300に、
図12の潜在表現予測エンジン1200を、または同様の潜在表現予測エンジンを使用することができるが、第二エンコーダ及びデコーダ1216、1226を使用することが省略されてもよい。方法1300は、本明細書に記述されるような最適化された潜在表現を取得する方法を実行する(例えば、方法1300を使用してトレーニングされることができるデコーダシステムを使用する)前に、コンフィグレーションステージで実行されることができる。
【0157】
図13の項目1302では、画像の画像特徴量を検出する。これは、
図12の特徴量識別エンジン1204を使用して実行されることができる。この場合には、画像は、画像データによって表現され、この画像データは、例えば、複数の異なるシーンについてのサンプルを含むトレーニングデータである。トレーニングデータの各サンプルは、シーンを表す測光データ(画像特徴量を検出するために処理されることができる)、及びシーンの少なくとも1つのグランドトゥルースセグメンテーションまたはマップを含むことができる。
【0158】
図13の項目1304では、エンコーダを使用して、画像のグランドトゥルースセマンティックセグメンテーションを符号化する。このエンコーダ、例えば
図12の第一エンコーダ1214は、画像特徴量を使用して条件付けされることができるが、そのように条件付けされる必要はない。この方法では、グランドトゥルースセマンティックセグメンテーションの潜在表現を取得することができる。
【0159】
図13の項目1306では、デコーダを使用してグランドトゥルースセマンティックセグメンテーションの潜在表現を復号し、画像の予測されたセマンティックセグメンテーションを取得する。この場合には、デコーダは、画像特徴量を使用して条件付けされ、
図12の第一デコーダ1224に類似していても、これと同じであってもよい。
【0160】
図13の項目1308では、画像の予測されたセマンティックセグメンテーションと、画像のグランドトゥルースセマンティックセグメンテーションとの間の比較に基づく損失関数を使用して、潜在表現予測エンジンを更新する。この場合には、潜在表現予測エンジンは、エンコーダシステム及びデコーダシステムを含み、ニューラルネットワークアーキテクチャを含んでもよい。一般に、損失関数は、予測値とグランドトゥルース値との間の差分の尺度を提供し、さまざまな形式をとることができる。例えば、損失関数は、予測されたセマンティックセグメンテーションと、グランドトゥルースセマンティックセグメンテーションとの間の二乗誤差を含んでもよい。
【0161】
損失関数は、再構成項(時として再構成損失と称される)を含むことができ、この再構成項は、潜在表現予測エンジンが入力(例えば、所与のサンプルについてのグランドトゥルースセマンティックセグメンテーション)を正確に自己符号化することを学習するように制約する。一例として、離散した数であってもよい、グランドトゥルースセマンティックセグメンテーションのセグメンテーションラベルは、潜在表現予測エンジンによって処理される前にワンホットエンコードされることができる。そのような場合には、多クラス交差エントロピー関数を再構成損失R:
【数10】
として使用することができる。式中、Cはクラス数であり、k
c
(i)はグランドトゥルースセマンティックセグメンテーションでi番目の画素についてワンホットエンコードされたセマンティックラベルのc番目の要素であり、p
c
(i)はi番目の画素について予測されたセマンティックセグメンテーション(例えば、正規化後のデコーダシステムの出力である)である。ただし、これは一例に過ぎず、他の場合には他の再構成項を使用することができる。
【0162】
また、損失関数は、正則化項(時として正則化損失と称される)を含むことができ、この正則化項は、潜在表現予測エンジンが意味のある潜在空間内で潜在表現を予測することを学習するように制約する(例えば、潜在空間では互いにより近い潜在表現がさらに離れている潜在表現よりも類似しているように)。一例として、正則化項は、例えば、2014年のInternational Conference on Learning Representations(ICLR)の抄録集に発表されたD.P.Kingma及びJ.Ba.Adamによる「Auto-Encoding Variational Bayes」に説明されるように、カルバックライブラーダイバージェンスに基づくことができる。
【0163】
潜在表現予測エンジンのために1セットのパラメータ値(例えば、ニューラルネットワークアーキテクチャに関連する重み)を決定し、セマンティックセグメンテーションに関連する潜在表現からセマンティックセグメンテーションを予測することができるまで、項目1302から1308を複数のサンプルに繰り返すことができる。
【0164】
図14は、実施例による潜在表現予測エンジンをトレーニングする方法1400を示す流れ図である。
図14の方法1400が入力画像のセマンティックセグメンテーション及びデプスマップの両方を予測するように潜在表現予測エンジンをトレーニングするために使用されることができることを除き、
図14の方法1400は、
図13の方法1300に類似している。
図14の方法1400に
図12の潜在表現予測エンジン1200を使用することができるが、他の例では他のエンジンを使用することができる。方法1400は、本明細書に記述されるように最適化された潜在表現を取得する方法を実行する(例えば、方法1400を使用してトレーニングされることができるデコーダシステムを使用する)前に、コンフィグレーションステージに実行されることができる。
【0165】
図14の項目1402から1406は、
図13の項目1302から1306と同じであり、対応する説明が適用される。
【0166】
図14の項目1408は、
図13の項目1308に類似している。ただし、潜在表現予測エンジンがデプスマップを予測するようにトレーニングするために、
図14の方法1400が第二損失関数の使用(項目1414を参照して記述される)も伴う場合、1408の損失関数は、この場合には第一損失関数である。
【0167】
図14の項目1410では、画像(画像特徴量が項目1402で検出される)に関連するグランドトゥルースデプスマップを決定する。エンコーダシステムを使用してグランドトゥルースデプスマップを決定し、グランドトゥルースデプスマップの潜在表現を取得する。この場合には、エンコーダシステムを使用して、グランドトゥルースセマンティックセグメンテーション及びグランドトゥルースデプスマップの両方の潜在表現を取得する。ただし、グランドトゥルースセマンティックセグメンテーションの潜在表現はエンコーダシステムの第一エンコーダを使用して取得されることができるが、グランドトゥルースデプスマップの潜在表現はデコーダシステムの第二エンコーダを使用して取得されることができる。第一エンコーダ及び/または第二エンコーダは、画像特徴量を用いて条件付けされることができるが、条件付けされる必要はない。
【0168】
図14の項目1412では、グランドトゥルースデプスマップの潜在表現は、デコーダシステムを使用して、画像について予測されたデプスマップを取得する。この場合には、デコーダシステムを使用して、グランドトゥルースセマンティックセグメンテーション及びグランドトゥルースデプスマップの両方の潜在表現を取得する。ただし、グランドトゥルースセマンティックセグメンテーションの潜在表現はデコーダシステムの第一デコーダを使用して取得されることができるが、グランドトゥルースデプスマップの潜在表現はデコーダシステムの第二デコーダを使用して取得されることができる。第一デコーダ及び第二デコーダのうちの少なくとも1つは、画像特徴量を用いて条件付けされることができる。
【0169】
図14の項目1414では、潜在表現予測エンジンは、予測されたデプスマップと、グランドトゥルースデプスマップとの間の比較に基づく第二損失関数を使用して更新される。第一損失関数に関しては、第二損失関数は、再構成項及び/または正則化項を含むことができる。ただし、再構成項は、例えば、予測されたデプスマップと、グランドトゥルースデプスマップとの間の差分を表す。一例として、次式は、第二損失関数についての再構成損失R
2として使用されることができる。
【0170】
【0171】
式中、Nはデプスマップ中の画素数であり、
【数12】
は画素iの予測された深度であり、p
iは画素iのグランドトゥルース深度であり、b
iは画素iの予測された不確かさである(例えば、第二デコーダによって予測されるような)。ただし、これは一例に過ぎず、他の場合には他の再構成項を使用することができる。
【0172】
潜在表現予測エンジンについて1セットのパラメータ値(例えば、ニューラルネットワークアーキテクチャに関連する重み)を決定し、セマンティックセグメンテーションに関連する潜在表現からセマンティックセグメンテーション、または深度に関連する潜在表現からデプスマップを予測することができるまで、項目1410から1414を複数のサンプルに繰り返すことができる。
【0173】
場合によっては、潜在表現予測エンジンは、セマンティックセグメンテーション及びデプスマップを自己符号化するように共同してトレーニングされることができる。それらのような場合には、例えば第一損失関数及び第二損失関数の関数である、組み合わされた損失関数は、潜在表現予測エンジンについてのパラメータ値を更新するために最小にされることができる。
【0174】
上記の実施形態を例示として理解されたい。さらなる例は想起される。最適化された第一及び第二潜在表現(または本明細書に記述されるようなシーンの他の表現)がビデオフレームごとに取得される必要がなく、代替にキーフレームなどのフレームのサブセットに実行されることができることを理解されたい。
【0175】
いずれかの一例に関して記述されるいずれかの特徴が単独で、または記述される他の特徴と組み合わせて使用されることができ、そのうえ、いずれかの他の例の1つ以上の特徴と組み合わせて、またはいずれかの他の例のいずれかの組み合わせで使用されることができることを理解されたい。さらに、上述されていない均等物及び修正形態もまた、添付の特許請求の範囲から逸脱することなく用いられることができる。
【符号の説明】
【0176】
1102 プロセッサ
1106 コンピュータ可読記憶媒体
【国際調査報告】