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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7528383測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法
<>
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図1
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図2
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図3
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図4A
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図4B
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図5
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図6
  • 特許-測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】測地線距離を使用して画像における密な対応を予測するためのモデルをトレーニングするためのシステムおよび方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240729BHJP
   G06V 10/82 20220101ALI20240729BHJP
【FI】
G06T7/00 350C
G06V10/82
【請求項の数】 17
(21)【出願番号】P 2023555366
(86)(22)【出願日】2021-03-11
(65)【公表番号】
(43)【公表日】2024-02-21
(86)【国際出願番号】 CN2021080137
(87)【国際公開番号】W WO2022188086
(87)【国際公開日】2022-09-15
【審査請求日】2023-10-31
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チャン,インダ
(72)【発明者】
【氏名】タン,フェイトン
(72)【発明者】
【氏名】タン,ダンハン
(72)【発明者】
【氏名】ドウ,ミンソン
(72)【発明者】
【氏名】グオ,カイウェン
(72)【発明者】
【氏名】ファネロ,ショーン・リャン・フランセスコ
(72)【発明者】
【氏名】ボウアジズ,ソフィエン
(72)【発明者】
【氏名】ケスキン,セム
(72)【発明者】
【氏名】ドゥ,ルオフェイ
(72)【発明者】
【氏名】パンディ,ロヒット・クマール
(72)【発明者】
【氏名】スン,デチン
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】米国特許出願公開第2009/0028442(US,A1)
【文献】米国特許出願公開第2019/0026917(US,A1)
【文献】中国特許出願公開第112016677(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
画像における対応を予測するためのニューラルネットワークをトレーニングする方法であって、
処理システムの1つまたは複数のプロセッサが、前記ニューラルネットワークを使用して、被写体の第1の画像に基づく第1の特徴マップと、前記被写体の第2の画像に基づく第2の特徴マップとを生成するステップを含み、前記第1の画像および前記第2の画像は異なり、前記被写体の3次元モデルを使用して生成され、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような第1の点と、前記第2の特徴マップにおいて表されるような第2の点との間の第1の特徴距離を決定するステップを含み、前記第1の点および前記第2の点は、前記被写体の前記3次元モデルの同じ特徴に対応し、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような第3の点と、前記第1の特徴マップにおいて表されるような第4の点との間の第2の特徴距離を決定するステップと、
前記1つまたは複数のプロセッサが、第1の表面マップにおいて表されるような、前記第3の点と前記第4の点との間の第1の測地線距離を決定するステップとを含み、前記第1の表面マップは、前記第1の画像に対応し、前記被写体の前記3次元モデルを使用して生成され、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような前記第3の点と、前記第1の特徴マップにおいて表されるような第5の点との間の第3の特徴距離を決定するステップと、
前記1つまたは複数のプロセッサが、前記第1の表面マップにおいて表されるような、前記第3の点と前記第5の点との間の第2の測地線距離を決定するステップと、
前記1つまたは複数のプロセッサが、損失値のセットの第1の損失値を決定するステップとを含み、前記第1の損失値は前記第1の特徴距離に基づき、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記損失値のセットの第2の損失値を決定するステップを含み、前記第2の損失値は、前記第2の特徴距離と、前記第3の特徴距離と、前記第1の測地線距離と、前記第2の測地線距離とに基づき、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記損失値のセットに少なくとも部分的に基づいて、前記ニューラルネットワークの1つまたは複数のパラメータを変更するステップを含む、方法。
【請求項2】
前記第1の損失値は、追加の特徴距離のセットにさらに基づき、前記追加の特徴距離のセットの各所与の特徴距離は、前記第1の特徴マップにおいて表されるような選択された点と、前記第2の特徴マップにおいて表されるような対応する点との間にあり、前記選択された点および前記対応する点は、前記被写体の前記3次元モデルにおける同じ特徴に対応する、請求項1に記載の方法。
【請求項3】
前記第1の点および各選択された点は、前記第1の画像内の全てのピクセルを集合的に表す、請求項2に記載の方法。
【請求項4】
前記第2の損失値は、特徴距離の少なくとも1つの追加の対と、測地線距離の少なくとも1つの追加の対とにさらに基づき、
前記特徴距離の少なくとも1つの追加の対の特徴距離の各所与の追加の対は、前記第1の特徴マップにおいて表されるような3つの選択された点のセット間の2つの特徴距離を含み、
前記測地線距離の少なくとも1つの追加の対の測地線距離の各所与の追加の対は、前記第1の表面マップにおいて表されるような前記3つの選択された点のセット間の2つの測地線距離を含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような第6の点と、前記第1の特徴マップにおいて表されるような前記第1の画像の全ての他の点との間の第4の特徴距離のセットを決定するステップと、
前記1つまたは複数のプロセッサが、前記第1の表面マップにおいて表されるような前記第6の点と、前記第1の表面マップにおいて表されるような前記第1の画像の全ての他の点との間の第3の測地線距離のセットを決定するステップと、
前記1つまたは複数のプロセッサが、前記損失値のセットの第3の損失値を決定するステップとをさらに含み、前記第3の損失値は前記第4の特徴距離のセットと前記第3の測地線距離のセットとに基づく、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記第3の損失値は、特徴距離の少なくとも1つの追加のセットと、測地線距離の少なくとも1つの追加のセットとにさらに基づき、
前記特徴距離の少なくとも1つの追加のセットのうちの、特徴距離の各所与の追加のセットは、前記第1の特徴マップにおいて表されるような選択された点と、前記第1の特徴マップにおいて表されるような前記第1の画像の全ての他の点との間にあり、
前記測地線距離の少なくとも1つの追加のセットのうちの、測地線距離の各所与の追加のセットは、前記第1の表面マップにおいて表されるような前記選択された点と、前記第1の表面マップにおいて表されるような前記第1の画像の全ての他の点との間にある、請求項5に記載の方法。
【請求項7】
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような第6の点と、前記第2の特徴マップにおいて表されるような前記第2の画像の全ての点との間の第4の特徴距離のセットを決定するステップと、
前記1つまたは複数のプロセッサが、第2の表面マップにおいて表されるような第1の点と、前記第2の表面マップにおいて表されるような前記第2の画像の全ての点との間の第3の測地線距離のセットを決定するステップとをさらに含み、前記第2の表面マップは前記第2の画像に対応し、前記被写体の前記3次元モデルを使用して生成されており、前記第2の表面マップにおける前記第1の点および前記第1の特徴マップにおける前記第6の点は、前記被写体の前記3次元モデルにおける同じ特徴に対応し、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記損失値のセットの第3の損失値を決定するステップを含み、前記第3の損失値は前記第4の特徴距離のセットと前記第3の測地線距離のセットとに基づく、請求項1~のいずれか1項に記載の方法。
【請求項8】
前記第3の損失値は、特徴距離の少なくとも1つの追加のセットと、測地線距離の少なくとも1つの追加のセットとにさらに基づき、
前記特徴距離の少なくとも1つの追加のセットのうちの、特徴距離の各所与の追加のセットは、前記第1の特徴マップにおいて表されるような選択された点と、前記第2の特徴マップにおいて表されるような前記第2の画像の全ての点との間にあり、
前記測地線距離の少なくとも1つの追加のセットのうちの、測地線距離の各所与の追加のセットは、第2の表面マップにおいて表されるような対応する点と、前記第2の表面マップにおいて表されるような前記第2の画像の全ての点との間にあり、前記第2の表面マップにおける前記対応する点および前記第1の特徴マップにおける前記選択された点は、前記被写体の前記3次元モデルにおける同じ特徴に対応する、請求項7に記載の方法。
【請求項9】
前記1つまたは複数のプロセッサが、前記第1の特徴マップにおいて表されるような第7の点と、前記第2の特徴マップにおいて表されるような前記第2の画像の全ての点との間の第5の特徴距離のセットを決定するステップと、
前記1つまたは複数のプロセッサが、第2の表面マップにおいて表されるような第1の点と、前記第2の表面マップにおいて表されるような前記第2の画像の全ての点との間の第4の測地線距離のセットを決定するステップとを含み、前記第2の表面マップは前記第2の画像に対応し、前記被写体の前記3次元モデルを使用して生成されており、前記第2の表面マップにおける前記第1の点および前記第1の特徴マップにおける前記第7の点は、前記被写体の前記3次元モデルにおける同じ特徴に対応し、前記方法はさらに、
前記1つまたは複数のプロセッサが、前記損失値のセットの第4の損失値を決定するステップを含み、前記第4の損失値は前記第5の特徴距離のセットと前記第4の測地線距離のセットとに基づく、請求項5~8のいずれか1項に記載の方法。
【請求項10】
前記第2の表面マップにおいて表されるような前記第1の点は、前記第2の特徴マップにおいて表されない前記被写体の前記3次元モデル上の特徴に対応する、請求項7~9のいずれか1項に記載の方法。
【請求項11】
前記1つまたは複数のプロセッサが前記第1の画像、前記第2の画像、または前記第1の表面マップのうちの少なくとも1つを生成するステップをさらに含む、請求項1~10のいずれか1項に記載の方法。
【請求項12】
前記1つまたは複数のプロセッサが前記第1の画像、前記第2の画像、前記第1の表面マップ、または前記第2の表面マップのうちの少なくとも1つを生成するステップをさらに含む、請求項7に記載の方法。
【請求項13】
前記1つまたは複数のプロセッサが前記第1の画像、前記第2の画像、前記第1の表面マップ、または前記第2の表面マップのうちの少なくとも1つを生成するステップをさらに含む、請求項9に記載の方法。
【請求項14】
前記被写体は、人間、または人間の表現である、請求項1~13のいずれか1項に記載の方法。
【請求項15】
前記被写体は、前記第1の画像において、前記第2の画像における姿勢とは異なる姿勢にある、請求項14に記載の方法。
【請求項16】
前記第1の画像は、前記被写体の前記3次元モデルの、前記第2の画像とは異なる視点から生成される、請求項14または15に記載の方法。
【請求項17】
ニューラルネットワークを記憶するメモリと、
前記メモリに結合され、前記ニューラルネットワークを使用して画像内の対応を予測するように構成された1つまたは複数のプロセッサとを備える処理システムであって、
前記ニューラルネットワークは、請求項1~16のいずれか1項に記載の方法に従って画像内の対応を予測するようにトレーニングされる、処理システム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
コンピュータビジョンにおける様々なタスクは、システムが、画像間の対応を識別するように構成されることに依拠する。これは、被写体の身体の向き、衣服、カメラの角度等に基づいて広く変動する可能性があり、被写体の右手および左手間等の混乱を招く類似性を含み得る、人間の画像の場合等のある特定の状況において達成が特に困難であり得る。これは、動物、ロボットまたは機械デバイス等の他のタイプの被写体でも課題となり得る。いくつかの手法において、モデルは、人間の注釈者によって、類似の特徴を識別するように手動で符号化される画像を使用してトレーニングすることができる(例えば、人間の画像の場合、各画像は、眼、耳、鼻、肩、肘、手等を識別するように符号化することができる)。
【発明の概要】
【発明が解決しようとする課題】
【0002】
しかしながら、人間の注釈者が各基準画像内の全てのピクセルを識別することは可能でないことに起因して、また、人間は特徴を十分精密に識別できない場合があることに起因して、人間が注釈付けしたトレーニング例を解釈するモデルは、通常、各識別された特徴を取り囲むピクセルを、その特徴に関連付けられる可能性がより高いものとして関連付けることよって、追加の結論を引き出すように構成されなくてはならない。これは、誤った関連付けが学習されることにつながり得る。例えば、人間が注釈付けしたトレーニングデータを使用すると、人間の被写体の頭部が、頬が肩に乗るほど傾けられている場合、最近傍探索は、被写体の頬のピクセルを、被写体の肩に対応するものとして誤って識別する場合があり、逆もまた同様である。そしてこれは、推論中、モデルが更なる画像において人間の形態を誤って理解することにつながり得る。人間が注釈付けしたトレーニング例を使用することの更なる欠点は、そのようなトレーニングデータの作成コストが高いことである。
【課題を解決するための手段】
【0003】
概要
本技術は、人間の画像等の画像にわたる密な対応を予測するようにモデルをトレーニングするためのシステムおよび方法に関する。より詳細には、本技術は、被写体の1つまたは複数の3次元コンピュータモデル(「3Dモデル」)、例えば人間の被写体の3Dモデルから作成された合成トレーニングデータを使用したモデルのトレーニングを提供する。加えて、本技術は、3Dモデルのうちの1つまたは複数の3Dモデルの表面から導出された1つまたは複数の測地線距離を使用して、トレーニング中にモデルのパラメータを変更する際に使用される1つまたは複数の損失値を生成することを提供する。
【0004】
本技術は、仮想的に無限量の多岐にわたるトレーニングデータが自動的に作成されることを可能にし、さらに、3Dモデルからの測地線表面情報が、トレーニングデータに統合されることを可能にし、それによって、予測モデルは、そうでなければ関係しているように見え得る2次元画像(「2D画像」)における特徴を正確に区別するように学習することができる。このため、本技術に従ってトレーニングされる予測モデルは、双方の画像において可視の点(例えば、ピクセル)間を含む、画像の対間の対応の予測、および1つの画像内で可視の点が遮蔽され、このため他の画像において可視でないときの認識において、大幅に低い誤り率を達成することができる。加えて、本技術に従ってトレーニングされた予測モデルは、双方の画像内の(例えば、人間の被写体の左手および右手間の)曖昧な特徴における点を対応させる際の誤りを減らすことができる。これらの利点は、単一の被写体の画像間の対応の予測、および2つの異なる被写体の画像間の対応の予測の双方において見ることができる。加えて、本技術に従ってトレーニングされる予測モデルは、画像間の対応を予測することに依拠する他のエンドツーエンドネットワークアーキテクチャ(例えば、動き推定または「オプティカルフロー」、人間の姿勢推定等を行うようにトレーニングされたモデル)と統合することができ、その結果として、本技術の利点を示し、このためより良好な性能を達成する統合モデルを得ることができる。
【0005】
1つの態様において、本開示は、画像における対応を予測するためのニューラルネットワークをトレーニングする方法を記載する。方法は、処理システムの1つまたは複数のプロセッサが、ニューラルネットワークを使用して、被写体の第1の画像に基づく第1の特徴マップを生成し、被写体の第2の画像に基づく第2の特徴マップを生成するステップを含み、第1の画像および第2の画像は異なり、被写体の3次元モデルを使用して生成される。方法はさらに、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような第1の点と、第2の特徴マップにおいて表されるような第2の点との間の第1の特徴距離を決定するステップを含み、第1の点および第2の点は、被写体の3次元モデルの同じ特徴に対応する。方法はさらに、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような、第3の点と第4の点との間の第2の特徴距離を決定するステップと、1つまたは複数のプロセッサが、第1の表面マップによって表されるような、第3の点と第4の点との間の第1の測地線距離を決定するステップとを含み、第1の表面マップは、第1の画像に対応し、被写体の3次元モデルを使用して生成されている。方法はさらに、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような第3の点と、第1の特徴マップにおいて表されるような第5の点との間の第3の特徴距離を決定するステップと、1つまたは複数のプロセッサが、第1の表面マップにおいて表されるような、第3の点と第5の点との間の第2の測地線距離を決定するステップと、1つまたは複数のプロセッサが、損失値のセットの第1の損失値を決定するステップとを含み、第1の損失値は第1の特徴距離に基づく。方法はさらに、1つまたは複数のプロセッサが、損失値のセットの第2の損失値を決定するステップを含み、第2の損失値は、第2の特徴距離と、第3の特徴距離と、第1の測地線距離と、第2の測地線距離とに基づく。方法はさらに、1つまたは複数のプロセッサが、損失値のセットに少なくとも部分的に基づいて、ニューラルネットワークの1つまたは複数のパラメータを変更するステップを含む。いくつかの態様において、第1の損失値は、追加の特徴距離のセットにさらに基づき、追加の特徴距離のセットの各所与の特徴距離は、第1の特徴マップにおいて表されるような選択された点と、第2の特徴マップにおいて表されるような対応する点との間にあり、選択された点および対応する点は、被写体の3次元モデルにおける同じ特徴に対応する。いくつかの態様において、第1の点および各選択された点は、第1の画像内の全てのピクセルを集合的に表す。いくつかの態様において、第2の損失値は、特徴距離の少なくとも1つの追加の対と、測地線距離の少なくとも1つの追加の対とにさらに基づき、特徴距離の少なくとも1つの追加の対の特徴距離の各所与の追加の対は、第1の特徴マップにおいて表されるような3つの選択された点のセット間の2つの特徴距離を含み、測地線距離の少なくとも1つの追加の対の測地線距離の各所与の追加の対は、第1の表面マップにおいて表されるような3つの選択された点のセット間の2つの測地線距離を含む。いくつかの態様において、方法は、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような第6の点と、第1の特徴マップにおいて表されるような第1の画像の全ての他の点との間の第4の特徴距離のセットを決定するステップと、1つまたは複数のプロセッサが、第1の表面マップにおいて表されるような第6の点と、第1の表面マップにおいて表されるような第1の画像の全ての他の点との間の第3の測地線距離のセットを決定するステップと、1つまたは複数のプロセッサが、損失値のセットの第3の損失値を決定するステップとをさらに含み、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。いくつかの態様において、第3の損失値は、特徴距離の少なくとも1つの追加のセットと、測地線距離の少なくとも1つの追加のセットとにさらに基づき、特徴距離の少なくとも1つの追加のセットのうちの、特徴距離の各所与の追加のセットは、第1の特徴マップにおいて表されるような選択された点と、第1の特徴マップにおいて表されるような第1の画像の全ての他の点との間にあり、測地線距離の少なくとも1つの追加のセットのうちの、測地線距離の各所与の追加のセットは、第1の表面マップにおいて表されるような選択された点と、第1の表面マップにおいて表されるような第1の画像の全ての他の点との間にある。いくつかの態様において、方法は、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような第6の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第4の特徴距離のセットを決定するステップと、1つまたは複数のプロセッサが、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第3の測地線距離のセットを決定するステップとをさらに含み、第2の表面マップは第2の画像に対応し、被写体の3次元モデルを使用して生成されており、第2の表面マップにおける第1の点および第1の特徴マップにおける第6の点は、被写体の3次元モデルにおける同じ特徴に対応する。方法はさらに、1つまたは複数のプロセッサが、損失値のセットの第3の損失値を決定するステップを含み、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。いくつかの態様において、第3の損失値は、特徴距離の少なくとも1つの追加のセットと、測地線距離の少なくとも1つの追加のセットとにさらに基づき、特徴距離の少なくとも1つの追加のセットのうちの、特徴距離の各所与の追加のセットは、第1の特徴マップにおいて表されるような選択された点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間にあり、測地線距離の少なくとも1つの追加のセットのうちの、測地線距離の各所与の追加のセットは、第2の表面マップにおいて表されるような対応する点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間にあり、第2の表面マップにおける対応する点および第1の特徴マップにおける選択された点は、被写体の3次元モデルにおける同じ特徴に対応する。いくつかの態様において、方法は、1つまたは複数のプロセッサが、第1の特徴マップにおいて表されるような第7の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第5の特徴距離のセットを決定するステップと、1つまたは複数のプロセッサが、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第4の測地線距離のセットを決定するステップとをさらに含み、第2の表面マップは第2の画像に対応し、被写体の3次元モデルを使用して生成されており、第2の表面マップにおける第1の点および第1の特徴マップにおける第7の点は、被写体の3次元モデルにおける同じ特徴に対応する。方法はさらに、1つまたは複数のプロセッサが、損失値のセットの第4の損失値を決定するステップを含み、第4の損失値は第5の特徴距離のセットと第4の測地線距離のセットとに基づく。いくつかの態様において、第2の表面マップにおいて表されるような第1の点は、第2の特徴マップにおいて表されない被写体の3次元モデル上の特徴に対応する。いくつかの態様において、方法は、1つまたは複数のプロセッサが第1の画像、第2の画像または第1の表面マップのうちの少なくとも1つを生成するステップをさらに含む。いくつかの態様において、方法は、1つまたは複数のプロセッサが第1の画像、第2の画像、第1の表面マップまたは第2の表面マップのうちの少なくとも1つを生成するステップをさらに含む。いくつかの態様において、被写体は人間または人間の表現である。いくつかの態様において、被写体は、第1の画像において、第2の画像における姿勢とは異なる姿勢にある。いくつかの態様において、第1の画像は、被写体の3次元モデルの、第2の画像とは異なる視点から生成される。
【0006】
別の態様において、本開示は、ニューラルネットワークを記憶するメモリと、メモリに結合され、ニューラルネットワークを使用して画像内の対応を予測するように構成された1つまたは複数のプロセッサと、を備える処理システムを記載する。ニューラルネットワークは、トレーニング方法に従って画像内の対応を予測するようにトレーニングされ、このトレーニング方法は、被写体の第1の画像に基づいて第1の特徴マップを生成し、被写体の第2の画像に基づいて第2の特徴マップを生成することを含み、第1の画像および第2の画像は異なり、被写体の3次元モデルを使用して生成されている。トレーニング方法はさらに、第1の特徴マップにおいて表されるような第1の点と、第2の特徴マップにおいて表されるような第2の点との間の第1の特徴距離を決定することを含み、第1の点および第2の点は、被写体の3次元モデルの同じ特徴に対応する。トレーニング方法はさらに、第1の特徴マップにおいて表されるような、第3の点と第4の点との間の第2の特徴距離を決定することと、第1の表面マップにおいて表されるような、第3の点と第4の点との間の第1の測地線距離を決定することとを含み、第1の表面マップは、第1の画像に対応し、被写体の3次元モデルを使用して生成されている。トレーニング方法はさらに、第1の特徴マップにおいて表されるような第3の点と、第1の特徴マップにおいて表されるような第5の点との間の第3の特徴距離を決定することと、第1の表面マップにおいて表されるような、第3の点と第5の点との間の第2の測地線距離を決定することと、損失値のセットの第1の損失値を決定することとを含み、第1の損失値は第1の特徴距離に基づく。トレーニング方法はさらに、損失値のセットの第2の損失値を決定することを含み、第2の損失値は、第2の特徴距離と、第3の特徴距離と、第1の測地線距離と、第2の測地線距離とに基づく。トレーニング方法はさらに、損失値のセットに少なくとも部分的に基づいて、ニューラルネットワークの1つまたは複数のパラメータを変更することを含む。いくつかの態様において、ニューラルネットワークは、トレーニング方法に従って画像内の対応を予測するようにトレーニングされ、このトレーニング方法は、第1の特徴マップにおいて表されるような第6の点と、第1の特徴マップにおいて表されるような第1の画像の全ての他の点との間の第4の特徴距離のセットを決定することと、第1の表面マップにおいて表されるような第6の点と、第1の表面マップにおいて表されるような第1の画像の全ての他の点との間の第3の測地線距離のセットを決定することと、損失値のセットの第3の損失値を決定することとをさらに含み、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。いくつかの態様において、ニューラルネットワークは、トレーニング方法に従って画像内の対応を予測するようにトレーニングされ、このトレーニング方法は、第1の特徴マップにおいて表されるような第6の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第4の特徴距離のセットを決定することと、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第3の測地線距離のセットを決定することとをさらに含み、第2の表面マップは第2の画像に対応し、被写体の3次元モデルを使用して生成されており、第2の表面マップにおける第1の点および第1の特徴マップにおける第6の点は、被写体の3次元モデルにおける同じ特徴に対応する。トレーニング方法はさらに、損失値のセットの第3の損失値を決定することを含み、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。いくつかの態様において、ニューラルネットワークは、トレーニング方法に従って画像内の対応を予測するようにトレーニングされ、トレーニング方法は、第1の特徴マップにおいて表されるような第7の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第5の特徴距離のセットを決定することと、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第4の測地線距離のセットを決定することとをさらに含み、第2の表面マップは第2の画像に対応し、被写体の3次元モデルを使用して生成されており、第2の表面マップにおける第1の点および第1の特徴マップにおける第7の点は、被写体の3次元モデルにおける同じ特徴に対応する。トレーニング方法はさらに、損失値のセットの第4の損失値を決定することであって、第4の損失値は第5の特徴距離のセットと第4の測地線距離のセットとに基づく。
【図面の簡単な説明】
【0007】
図1】本開示の態様による例示的なシステムの機能図である。
図2】本開示の態様による例示的なシステムの機能図である。
図3】対応する特徴マップおよび3D表面マップにおいて所与の2D画像における点をどのように表すことができるかを示す図である。
図4A】本技術の態様による、画像内の対応を識別するようにニューラルネットワークをトレーニングするための例示的な方法を示す流れ図である。
図4B】本技術の態様による、画像内の対応を識別するようにニューラルネットワークをトレーニングするための例示的な方法を示す流れ図である。
図5】本技術の態様による、図4A図4Bの方法400a、400bの損失値と組み合わせるための追加の損失値を決定するための例示的な方法を示す流れ図である。
図6】本技術の態様による、図4A図4Bの方法400a、400bの損失値と組み合わせるための追加の損失値を決定するための例示的な方法を示す流れ図である。
図7】本技術の態様による、図4A図4Bおよび図5の方法400a、400bおよび500の損失値と組み合わせるための追加の損失値を決定するための例示的な方法を示す流れ図である。
【発明を実施するための形態】
【0008】
詳細な説明
ここで、以下の例示的なシステムおよび方法に関して本技術を説明する。
【0009】
本明細書に記載の方法を実行するための例示的な処理システムの高レベルのシステム図100図1に示されている。処理システム102は、1つまたは複数のプロセッサ104およびメモリ106を含むことができる。メモリ106は、プロセッサ104によって実行するかたまたは他の形で使用することができる命令108およびデータ110を含む、1つまたは複数のプロセッサ104によってアクセス可能な情報を記憶する。メモリ106は、プロセッサ104によってアクセス可能な情報を記憶することが可能な任意の非一時的タイプのものとすることができる。例えば、メモリ106は、ハードドライブ、メモリカード、光ディスク、ソリッドステート、テープメモリ等の非一時的媒体を含むことができる。命令108およびデータ110は、本明細書に記載の予測モデル、トレーニングデータ(例えば、2D画像および対応する3Dモデルデータ)、およびトレーニングデータを作成するのに使用される3Dモデルを含むことができる。
【0010】
処理システム102は、任意のタイプの一般的なコンピューティングデバイス、サーバ、またはそのセット等の任意のタイプのコンピューティングデバイスにおいて実施することができ、汎用コンピューティングデバイスまたはサーバにおいて一般的に存在する他の構成要素をさらに含むことができる。このため、処理システム102は、サーバ、パーソナルコンピュータまたはモバイルデバイス等の単一のコンピューティングデバイス上に常駐することができ、このため、本明細書に記載のモデルは、その単一のコンピューティングデバイスにローカルとすることができる。同様に、処理システム102は、本明細書に記載のトレーニングデータを作成するのに使用される予測モデル、トレーニングデータおよび/または3Dモデルが、2つ以上の異なる物理的コンピューティングデバイスにわたって分散するように、クラウドコンピューティングシステムまたは他の分散システム上に常駐することができる。
【0011】
これに関して、図2は、追加の高レベルシステム図200を示し、ここで、本明細書に記載の方法を実行するための例示的な処理システム202は、第1のコンピューティングデバイス202aと、第2のコンピューティングデバイス202bと、データベース202cとを含むものとして示され、これらはそれぞれ、1つまたは複数のネットワーク216を介して互いに接続されている。第1のコンピューティングデバイス202a、第2のコンピューティングデバイス202bおよびデータベース202cはそれぞれ、単一のコンピューティングデバイスであってもよく、または2つ以上の異なる物理的コンピューティングデバイスにわたって分散されてもよい。図1の例に関して、第1のコンピューティングデバイス202aおよび第2のコンピューティングデバイス202bはそれぞれ、命令(208a、208b)およびデータ(210a、210b)を記憶する1つまたは複数のプロセッサ(204a、204b)およびメモリ(206a、206b)を含む。図示されていないが、データベース202cはまた、1つまたは複数のプロセッサと、命令およびデータを記憶するメモリとを含むことができる。
【0012】
図2の例に示すように、第1のコンピューティングデバイス202aのデータ210aは、予測モデル212と、予測モデル212をトレーニングするのに使用される、2D画像および対応する3Dモデルデータを含むトレーニングデータ214aとを記憶する。第2のコンピューティングデバイス202bのデータ210bは、1つまたは複数の3Dモデル218と、1つまたは複数の3Dモデル218を使用して作成される、2D画像および対応する3Dモデルデータを含むトレーニングデータ214bのセットとを記憶することができる。最後に、データベース202cは、第2のコンピューティングデバイス202bによって1つまたは複数の3Dモデル218を使用して作成された、2D画像および対応する3Dモデルデータを同様に含むトレーニングデータ214cのセットも記憶することができる。これに関して、トレーニングデータ214a、214bおよび214cのセットは互いに同一であってもよく、または1つもしくは複数は別のもののサブセットであってもよい。例えば、第2のコンピューティングデバイス202bは、1つまたは複数の3Dモデル218からトレーニングデータ214bを作成し、そのトレーニングデータを、マスターセット214cに記憶されるようにデータベース202cに通信するように構成することができる。そして、第1のコンピューティングデバイス202aは、トレーニングデータ214cのうちのいくつかまたは全てをデータベース202cから取得し、これを予測モデル212のトレーニングにおいて使用するためのトレーニングデータ214aとしてメモリ206a内にローカルで記憶するように構成することができる。
【0013】
全ての場合に、本明細書に記載のコンピューティングデバイスは、ユーザインタフェースサブシステム等の、コンピューティングデバイスと接続して通常使用される任意の他の構成要素をさらに含むことができる。ユーザインタフェースサブシステムは、1つまたは複数のユーザ入力(例えば、マウス、キーボード、タッチスクリーンおよび/またはマイクロフォン)および1つまたは複数の電子ディスプレイ(例えば、スクリーンを有するモニタ、または情報を表示するように動作可能な任意の他の電気デバイス)を含むことができる。スピーカ、ライト、振動、パルスまたは触覚要素等の電子ディスプレイ以外の出力デバイスも、本明細書に記載のコンピューティングデバイスに含めることができる。
【0014】
各コンピューティングデバイスに含まれる1つまたは複数のプロセッサは、市販の中央処理ユニット(「CPU」)、グラフィック処理ユニット(「GPU」)、テンソル処理ユニット(「TPU」)等の任意の従来のプロセッサとすることができる。代替的に、1つまたは複数のプロセッサは、ASICまたは他のハードウェアベースのプロセッサ等の専用デバイスとすることができる。各プロセッサは、並列に動作することが可能な複数のコアを有することができる。単一のコンピューティングデバイスのプロセッサ、メモリおよび他の要素は、単一の物理的ハウジング内に記憶されてもよく、または2つ以上のハウジング間で分散されてもよい。同様に、コンピューティングデバイスのメモリは、外部データベースまたはネットワーク化されたストレージデバイス等、プロセッサのハウジングと異なるハウジングに位置するハードドライブまたは他のストレージ媒体を含むことができる。したがって、プロセッサまたはコンピューティングデバイスへの言及は、並列に動作している場合もしていない場合もあるプロセッサまたはコンピューティングデバイスまたはメモリの集合、および負荷分散サーバファームまたはクラウドベースのシステムの1つまたは複数のサーバへの言及を含むことが理解される。
【0015】
本明細書に記載のコンピューティングデバイスは、プロセッサによって直接(マシンコード等)または間接的に(スクリプト等)実行されることが可能な命令を記憶することができる。コンピューティングデバイスは、命令に従って1つまたは複数のプロセッサが索出、記憶または変更することができるデータも記憶することができる。命令は、コンピューティングデバイス可読媒体上にコンピューティングデバイスコードとして記憶されてもよい。その点において、「命令」および「プログラム」という用語は、本明細書では互換的に用いられてもよい。命令はまた、プロセッサによる直接の処理のためのオブジェクトコード形式で、または要求に応じて解釈されるかもしくは事前にコンパイルされた独立したソースコードモジュールのスクリプトまたは集合を含む任意の他のコンピューティングデバイス言語で記憶されてもよい。例として、プログラミング言語は、C#、C++、JAVA(登録商標)または別のコンピュータプログラミング言語であり得る。同様に、命令またはプログラムの任意の構成要素は、JavaScript(登録商標)、PHP、ASPまたは任意の他のスクリプト言語等のコンピュータスクリプト言語で実施することができる。さらに、これらの構成要素のうちの任意のものは、コンピュータプログラミング言語およびコンピュータスクリプト言語の組合せを用いて実施することができる。
【0016】
図2の例に示すように、第1のコンピューティングデバイス202aのデータ210aは、予測モデル212と、予測モデル212をトレーニングするのに使用される、2D画像および対応する3Dモデルデータを含むトレーニングデータ214aとを記憶する。第2のコンピューティングデバイス202bのデータ210bは、1つまたは複数の3Dモデル218と、1つまたは複数の3Dモデル218を使用して作成される、2D画像および対応する3Dモデルデータを含むトレーニングデータ214bのセットとを記憶することができる。最後に、データベース202cは、第2のコンピューティングデバイス202bによって作成された、2D画像および対応する3Dモデルデータも含むトレーニングデータ214cのセットも記憶することができる。これに関して、トレーニングデータ214a、214bおよび214cのセットは互いに同一であってもよく、または1つもしくは複数は別のもののサブセットであってもよい。例えば、第2のコンピューティングデバイス202bは、1つまたは複数の3Dモデル218からトレーニングデータ214bを作成し、そのトレーニングデータをマスターセット214cに記憶されるデータベース202cに通信するように構成することができる。そして、第1のコンピューティングデバイス202aは、トレーニングデータ214cのうちのいくつかまたは全てをデータベース202cから取得し、これを予測モデル212のトレーニングにおいて使用するためのトレーニングデータ214aとしてメモリ206a内にローカルで記憶するように構成することができる。
【0017】
図3は、対応する特徴マップおよび表面マップにおいて所与の2D画像における点をどのように表すことができるかを示す。それに関して、図3は、人間の被写体の3Dモデル(図示せず)から生成された2D画像302を示す。3Dモデルを使用して、2D画像302を生成するのに使用されるのと同じ姿勢の被写体の対応する表面マップ306を生成することもできる。完全な3D表面マップ306の2つの抜粋306aおよび306bが図3に示されている。画像302は、例えば、学習された埋め込み関数によって、特徴マップ304を生成するために処理することができる。特徴マップ304は図3において図式的に示されているが、実際には任意の適切な形態および次元、例えば、データベース、テンソル、ベクトル等を取ることができる。例えば、ピクセル単位でHの高さ、ピクセル単位でWの幅を有する画像について、特徴マップFを、式1に従って以下のように表すことができる。
【0018】
【数1】
【0019】
そのような場合、画像の各ピクセルは、特徴マップFにおいて、任意の適切な整数(例えば、1、16等)とすることができる次元Cのベクトルとして表される。
【0020】
図3の例において、3つの点A、BおよびCは、2D画像302、特徴マップ304および3D表面マップ抜粋306aおよび/または306bの各々において識別される。ここでもまた、点は特徴マップ304において図式的に示されているが、実際には、これらの点は、代わりに、データベースにおける別個の値として表されてもよく、またはテンソルもしくはベクトルにおける異なる要素として表されてもよい。見てとることができるように、特徴マップ304を使用して、点Aと点Bとの間の第1の特徴距離dA,B、および点Bと点Cとの間の第2の特徴距離dB,Cを決定することができる。これらの特徴距離は、任意の適切な式を用いて決定することができる。例えば、2D画像302の各点が特徴マップ304において別個のベクトルとして表される場合、点AおよびBを表すベクトル間の特徴距離は、2つのベクトルのドット積を計算することによって、2つのベクトルのクロス積を計算することによって、2つのベクトルを加算することによって、2つのベクトルを減算することによって等により決定することができる。それに関して、上記で式1に関して説明したような特徴マップFの場合、画像Iにおける点pと、画像Iにおける点qとの間の特徴距離dは、以下の式2に従って計算することができる。
【0021】
【数2】
【0022】
いくつかの態様において、それぞれ画像I内の点pおよび画像I内の点qを表す特徴ベクトルF(p)およびF(q)は、単位ベクトルとなるように最初に正規化することができる。
【0023】
同様に、3D表面マップ306を使用して、点Aと点Bとの間の第1の測地線距離gA,B、および点Bと点Cとの間の第2の測地線距離gB,Cを決定することができる。測地線距離は、これらの点間の距離を3D表面に沿って測定されるように表し、3D表面上のこれらの点間の最も短い距離を計算(または推定)するための任意の適切な式または方法に従って決定することができる。
【0024】
図4Aおよび図4Bは、処理システム(例えば、処理システム102または202)によって、画像内の対応を識別するようにニューラルネットワークをどのようにトレーニングすることができるかを示す例示的な方法400a、400bを示す。それに関して、ステップ402において、第1の画像および第1の表面マップが被写体の3Dモデルから生成される。同様に、ステップ404において、第1の画像と異なる第2の画像が3Dモデルから生成される。第1の画像は、第1の姿勢においてかつ/または第1のカメラの向きから生成することができ、対応する第1の表面マップは、少なくとも、その第1の姿勢における3Dモデルの表面を表す。第2の画像は、第1の画像と異なる画像を作成する任意の方式で生成することができる。例えば、第2の画像は、異なる視点から3Dモデルを撮像すること(例えば、異なる仮想カメラ位置から画像を生成すること)、3Dモデルを第1の画像を生成するのに使用されたのと異なる照明条件にかけること等によって、3Dモデルを第2の姿勢に配置することから生成することができる。第1の画像、第1の表面マップおよび第2の画像は、ニューラルネットワークをトレーニングするのに使用される処理システム(例えば、処理システム102または202)によって生成することもできるし、または別個のシステムによって生成し、ニューラルネットワークをトレーニングする処理システムに提供することもできる。
【0025】
ステップ406において、処理システムは、第1の画像から第1の特徴マップを生成し、第2の画像から第2の特徴マップを生成する。図3に関して上記で説明したように、処理システムは、任意の適切な方式で特徴マップを生成することができる。例えば、処理システムは、学習した埋め込み関数を用いて、エントリ、要素、または所与の画像内の各点(例えば、ピクセル)を表す他の値を含む、データベース、ベクトルまたはテンソルを生成することができる。
【0026】
ステップ408において、処理システムは、第1の特徴マップにおいて表されるような第1の点と、第2の特徴マップにおいて表されるような第2の点との間の第1の特徴距離を決定し、第1の点および第2の点は、3Dモデルの同じ特徴に対応する。例えば、第1および第2の画像が人間の被写体のものである場合、第1の画像における第1の点および第2の画像における第2の点は、共に、被写体の右手の人差し指の先端に対応することができる。加えて、第1の画像および第2の画像の各点がそれぞれ第1および第2の特徴マップにおいてベクトルとして表される場合、第1の特徴距離は、第1の特徴マップにおける第1の点を表すベクトルおよび第2の特徴マップにおける第2の点を表すベクトルを用いて式2に関して上記で説明したように決定することができる。同様に、上記で説明したように、第1の特徴距離は、これらの2つのベクトルのストレートドット積(straight dot product)を計算すること、これらの2つのベクトルのクロス積を計算すること、2つのベクトルを加算すること、2つのベクトルを減算すること等によって、任意の他の適切な式を用いて決定することができる。
【0027】
ステップ410において、処理システムは、第1の特徴距離に基づいて損失値のセットの第1の損失値を決定する。この第1の損失値は、任意の適切な式に従って決定することができる。同様に、この第1の損失値は、第1の画像および第2の画像内の任意の数の点の対について決定することができる。例えば、第1の損失値は、以下の式3に従って計算される一貫性損失値Lとすることができ、ここで、特徴距離dは、第1の画像内の(合計n個の点のうちの)全ての点pと、第2の画像内の対応する点corr(p)との間で計算される。
【0028】
【数3】
【0029】
式3の例において、損失値Lは、第1の特徴距離と、第1の画像および第2の画像における対応する点の対間の全ての他の特徴距離とに基づいて計算される。それに関して、各点pと、第2の画像におけるその対応する点corr(p)との間の関係は、処理システムによって、各点pを3Dモデルの対応する点に相関付け、次に、3Dモデルのその点を、第2の画像における対応するcorr(p)に相関付けることによって決定することができる。加えて、いくつかの態様では、トレーニングデータは、処理システムがこれらの決定を行う必要がないように、全ての対応する点対を識別するリストまたは他のデータ構造をさらに含むことができる。
【0030】
ステップ412(図4B)において、処理システムは、第1の特徴マップにおいて表されるような第3の点と、第1の特徴マップにおいて表されるような第4の点との間の第2の特徴距離を決定する。同様に、ステップ414において、処理システムは、第1の特徴マップにおいて表されるような第3の点と、第1の特徴マップにおいて表されるような第5の点との間の第3の特徴距離を決定する。例えば、第3の点は、第1の画像における任意のランダムに選択された基準点pとすることができ、第4および第5の点はそれぞれ、第1の画像における任意の他のランダムに選択された点pおよびpとすることができる。ここでもまた、第1の画像における各点は、第1の特徴マップにおけるベクトルとして表され、第2および第3の特徴距離は、式2に関して上記で説明したように決定することができる。同様に、上記で説明したように、第2および第3の特徴距離は、ベクトルの各対のストレートドット積を計算すること、ベクトルの各対のクロス積を計算すること、ベクトルの各対を加算すること、ベクトルの各対を減算すること等によって、任意の他の適切な式を用いて決定することができる。いくつかの態様において、第2および第3の特徴距離を計算するのに用いられる式は、第1の特徴距離を計算するのに用いられる式と異なっていてもよい。
【0031】
ステップ416において、処理システムは、第1の表面マップにおいて表されるような、第3の点と第4の点との間の第1の測地線距離を決定する。同様に、ステップ418において、処理システムは第1の表面マップにおいて表されるような、第3の点と第5の点との間の第2の測地線距離を決定する。第1の表面マップは、第1の画像を生成するのに使用されたのと同じ姿勢において被写体の3Dモデルを使用して生成された第1の画像に対応する。このため、ステップ412および414の記載において呼び出された例示的な点を使用して、第1の表面マップにおいて表される第3の点は、第1の画像において表される点pに対応し、第1の表面マップにおける第4および第5の点はそれぞれ、第1の画像における点pおよびpに対応する。そのような場合、第1および第2の測地線距離g(p,p)およびg(p,p)はそれぞれ、第1の表面マップの3D表面に沿って測定されるような点間の距離を表す。
【0032】
ステップ420において、処理システムは、第2の特徴距離と、第3の特徴距離と、第1の測地線距離と、第2の測地線距離とに基づいて、損失値のセットの第2の損失値を決定する。例えば、第2の損失値は、基準点pに対する2つの点pおよびpの特徴空間における順序が、対応する測地線距離によって測定される順序と同じになることを奨励するように構成することができ、それによって、3D表面において物理的に離れた点の対がより大きな特徴距離を有する傾向にある。この第2の損失値は、任意の適切な式に従って決定することができる。例えば、第2の損失値は、第2および第3の特徴距離間の差に基づくことができ、さらに、第1および第2の測地線距離間の差の符号(シグナムまたはsgn関数とも呼ばれる)に基づくことができる。それに関して、第2の損失値は、以下の式4および式5に従って計算されるスパースな測地線損失値Lsとすることができる。
【0033】
【数4】
【0034】
同様に、この第2の損失値は、第1の画像における2つ以上のトリプレット{p,p,p}に基づくことができる。このため、第2の損失値は、第2および第3の特徴距離ならびに第1および第2の測地線距離を使用して式4および式5に従って計算された損失値Lsと、他のランダムに選択されたトリプレットについて計算された追加の損失値Lsとに基づく値、ベクトルまたはテンソルとすることができる。例えば、第2の損失値は、所定の数のランダムに選択されたトリプレット、例えば、1、16、128等について計算された損失値Lsの平均とすることができる。同様に、第2の損失値は、所定の数のランダムに選択されたトリプレットについて計算された損失値Lsを連結することによって決定することができる。
【0035】
ステップ422において、処理システムは、損失値のセットに少なくとも部分的に基づいて、ニューラルネットワークの1つまたは複数のパラメータを変更する。これに関して、ニューラルネットワークは、画像間の密な対応を予測するようにトレーニングされる任意のモデル(例えば、予測モデル212)とすることができる。損失値のセットを任意の適切な方式で使用して、ニューラルネットワークの1つまたは複数のパラメータの変さらに影響を与えることができる。それに関して、処理システムは、第1および第2の損失値を合算して合計損失値を得、その合計損失値に基づいて予測モデルのパラメータを変更することができる。同様に、第1および第2の損失値(またはそのセット)に、1つまたは複数の予め選択された重み係数(例えば、特定のwおよびw値)を乗算し、その後、これを組み合わせて合計損失値を形成することができる。いくつかの態様において、処理システムは、各トレーニング例の直後に各合計損失値を使用し、これを後方伝播中に適用してモデルのパラメータを調節し、次に、次のトレーニング例中に新たな合計損失値を計算するように構成することができる。いくつかの態様において、処理システムは、複数のトレーニング例のバッチ処理をするように構成することができる。そのような場合、処理システムは、バッチにおける各トレーニング例中に計算される損失値を組み合わせ(例えば、合算または平均)、バッチの完了後の後方伝播フェーズ中に、組み合わされた合計損失値を適用し、次にトレーニング例の次のバッチ中に新たな組み合わされた合計損失値を計算するように構成することができる。
【0036】
図5は、図4の方法400a、400bの損失値と組み合わせるための追加の損失値を決定する例示的な方法500を示す。それに関して、ステップ502において、処理システムは、上記で説明したように、方法400aおよび400bのステップ402~420を実行する。
【0037】
ステップ504において、処理システムは、第1の特徴マップにおいて表されるような第6の点と、第1の特徴マップにおいて表されるような第1の画像の全ての他の点との間の第4の特徴距離のセットを決定する。第6の点は、第1の画像における任意のランダムに選択された基準点pとすることができる。ラベルpが便宜上使用されるが、このランダムに選択された基準点が、方法400bのステップ412において使用される基準点と同じでなくてはならないことを示すものではない。ここでもまた、第1の画像における各点は、第1の特徴マップにおけるベクトルとして表され、第4の特徴距離のセットは、式2に関して上記で説明したように決定することができる。それに関して、第4の特徴距離のセットは、点pおよびpを表すベクトルを用いて計算された、第1の画像の全ての点pごとに別個の特徴距離d(p,p)を含む。同様に、上記で説明したように、第4の特徴距離のセットは、ベクトルの各対のストレートドット積を計算すること、ベクトルの各対のクロス積を計算すること、ベクトルの各対を加算すること、ベクトルの各対を減算すること等によって、任意の他の適切な式を用いて決定することができる。いくつかの態様において、第4の特徴距離のセットを計算するのに用いられる式は、第1、第2および/または第3の特徴距離を計算するのに用いられる式と異なっていてもよい。
【0038】
ステップ506において、処理システムは、第1の表面マップにおいて表されるような第6の点と、第1の表面マップにおいて表されるような第1の画像の全ての他の点との間の第3の測地線距離のセットを決定する。ここでも同様に、第1の表面マップにおいて表される第6の点は、第1の画像における点pに対応する。このため、第3の測地線距離のセットは、第1の画像の点pおよびpに対応する点間の第1の表面マップの3D表面に沿った距離を表す第1の画像の全ての点pごとの別個の測地線距離g(p,p)を含む。
【0039】
ステップ508において、処理システムは、損失値のセットの第3の損失値を決定し、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。例えば、第3の損失値は、離れた不一致点間の特徴距離を、これらのピクセル間の測地線距離に応じてプッシュするように作用することができる。ここでも同様に、この第3の損失値は、任意の適切な式に従って決定することができる。例えば、第3の損失値は、第3の測地線距離のセット内の各測地線距離と、第4の特徴距離のセットにおける各対応する特徴距離との差に基づくことができる。本技術のいくつかの態様において、第3の測地線距離のセットおよび第4の特徴距離のセットは、選択された基準点(またはピクセル)と、第1の画像内の全ての他の点(またはピクセル)との間で測定することができる。それに関して、第3の損失値は、選択された点pおよび第1の画像内の(合計n個の点のうちの)全ての点pについて、以下で式6に従って計算される密な測地線損失値Lとすることができる。
【0040】
【数5】
【0041】
同様に、この第3の損失値は、第1の画像における2つ以上の選択された点pに基づくことができる。このため、第3の損失値は、第4の特徴距離のセットならびに第3の測地線距離のセットを使用して式6に従って計算された損失値Lと、他のランダムに選択された点pについて計算された追加の損失値Lとに基づく値、ベクトルまたはテンソルとすることができる。例えば、第3の損失値は、所定の数のランダムに選択された点p、例えば、1、5、16、128等について計算された損失値Lの平均とすることができる。同様に、第3の損失値は、所定の数のランダムに選択された点pについて計算された損失値Lを連結することによって決定することができる。
【0042】
ステップ510において、処理システムは、上記で説明したように、結果として得られる損失値のセットを使用して方法400bのステップ422を実行する。この場合、損失値のセットは、ステップ410および420において決定される第1および第2の損失値と、ステップ508において決定される第3の損失値とを含む。ここでもまた、損失値のセットを任意の適切な方式で使用して、ニューラルネットワークの1つまたは複数のパラメータの変さらに影響を与えることができる。それに関して、処理システムは、第1、第2および第3の損失値を合算して合計損失値を得、その合計損失値に基づいて予測モデルのパラメータを変更することができる。同様に、第1、第2および第3の損失値に、1つまたは複数の予め選択された重み係数(例えば、特定のw、wおよびw値)を乗算し、その後、これを組み合わせて合計損失値を形成することができる。
【0043】
図6は、図4の方法400a、400bの損失値と組み合わせるための追加の損失値を決定する例示的な方法600を示す。それに関して、ステップ602において、処理システムは、上記で説明したように、方法400aおよび400bのステップ402~420を実行する。
【0044】
ステップ604において、処理システムは、第1の特徴マップにおいて表されるような第6の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第4の特徴距離のセットを決定する。方法600に関して説明される「第6の点」および「第4の特徴距離のセット」は、図5の方法500の文脈に記載のものと同じではない。方法600において、第6の点は、第1の画像における任意のランダムに選択された基準点pとすることができる。いくつかの態様において、処理システムは、第1の画像において可視であるが、第2の画像において可視でない基準点pを選択するように構成することができる。例えば、第1および第2の画像が歩いている人間被写体のものである場合、基準点pは、第1の画像において可視であるが、第2の画像において被写体の右脚に覆われ、このため第2の画像において可視でない被写体の左脚上の点に対応する場合がある。第2の画像において可視でない基準点pを選択するように処理システムを構成することにより、ニューラルネットワークが、第2の画像の点が、(例えば、双方の画像、カメラ位置、照明等において被写体がどのように姿勢をとったかの差に起因して)第1の画像においてのみ可視である点に、どのように対応することができるかを学習することを可能にすることができる。ここでもまた、ラベルpが便宜上使用されるが、この選択された基準点が、方法400bのステップ412において使用される基準点と同じでなくてはならないことを示すものではない。
【0045】
第1の画像の各点が第1の特徴マップにおいてベクトルとして表され、第2の画像における各点が、第2の特徴マップにおいてベクトルとして表される場合、第4の特徴距離のセットは、式2に関して上記で説明したように決定することができる。それに関して、第4の特徴距離のセットは、点pおよびpを表すベクトルを用いて計算された、第2の画像の全ての点pごとに別個の特徴距離d(p,p)を含む。同様に、上記で説明したように、第4の特徴距離のセットは、ベクトルの各対のストレートドット積を計算すること、ベクトルの各対のクロス積を計算すること、ベクトルの各対を加算すること、ベクトルの各対を減算すること等によって、任意の他の適切な式を用いて決定することができる。いくつかの態様において、第4の特徴距離のセットを計算するのに用いられる式は、第1、第2および/または第3の特徴距離を計算するのに用いられる式と異なっていてもよい。
【0046】
ステップ606において、処理システムは、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第3の測地線距離のセットを決定する。第2の表面マップは、第2の画像を生成するのに使用されたのと同じ姿勢において被写体の3Dモデルを使用して生成された第2の画像に対応する。加えて、第2の表面マップにおける第1の点および第1の特徴マップにおける第6の点は、被写体の3Dモデルにおける同じ特徴に対応する。例えば、上述したように、第2の表面マップにおける第1の点は、第1の画像において可視であり、このため第1の特徴マップにおいて表されるが、第2の画像において可視でなく、このため第2の特徴マップにおいて表されない、被写体の左脚上の点に対応する場合がある。このため、ステップ604の記載において呼び出された例示的な点を使用すると、第2の表面マップにおいて表される第1の点は、第1の画像において表される点pに対応する。そのような場合、第3の測地線距離のセットは、第1の画像の点pに対応する点(ここではcorr(p)と呼ばれる)と、第2の画像の点pに対応する点との間の第2の表面マップの3D表面に沿った距離を表す第2の画像の全ての点pについての別個の測地線距離g(corr(p),p)を含む。
【0047】
ステップ608において、処理システムは、損失値のセットの第3の損失値を決定し、第3の損失値は第4の特徴距離のセットと第3の測地線距離のセットとに基づく。ここでも同様に、方法600に関して説明される「第3の損失値」は、図5の方法500の文脈に記載のものと同じではない。それに関して、方法600の第3の損失値は、不一致点間の特徴距離を、これらのピクセル間の測地線距離に応じてプッシュするように作用することもでき、第3の測地線距離のセット内の各測地線距離と、第4の特徴距離のセット内の各対応する特徴距離との間の差に基づくことができる。しかしながら、方法600の「第3の損失値」は、ステップ604および606に関して上記で説明した「第3の測地線距離」および「第4の特徴距離」の異なるセットに基づくため、これは、図5の方法500に記載の「第3の損失値」とは異なる。ここでもまた、方法600の第3の損失値は、任意の適切な式に従って決定することができる。例えば、第3の損失値は、第1の画像の選択された点pおよび第2の画像内の(合計n個の点のうちの)全ての点pについて、以下で式7に従って計算される断面図測地線損失値Lcdとすることができる。
【0048】
【数6】
【0049】
同様に、この第3の損失値は、第1の画像における2つ以上の選択された点pに基づくことができる。このため、第3の損失値は、第4の特徴距離のセットならびに第3の測地線距離のセットを使用して式7に従って計算された損失値Lcdと、他のランダムに選択された点pについて計算された追加の損失値Lcdとに基づく値、ベクトルまたはテンソルとすることができる。例えば、第3の損失値は、所定の数の選択された点p、例えば、1、5、16、128等について計算された損失値Lcdの平均とすることができる。同様に、第3の損失値は、所定の数の選択された点pについて計算された損失値Lcdを連結することによって決定することができる。
【0050】
ステップ610において、処理システムは、上記で説明したように、結果として得られる損失値のセットを使用して方法400bのステップ422を実行する。この場合、損失値のセットは、図4のステップ410および420において決定される第1および第2の損失値と、ステップ608において決定される第3の損失値とを含む。ここでもまた、損失値のセットを任意の適切な方式で使用して、ニューラルネットワークの1つまたは複数のパラメータの変さらに影響を与えることができる。それに関して、処理システムは、第1、第2および第3の損失値を合算して合計損失値を得、その合計損失値に基づいて予測モデルのパラメータを変更することができる。同様に、第1、第2および第3の損失値に、1つまたは複数の予め選択された重み係数(例えば、特定のw、wおよびwcd値)を乗算し、その後、これを組み合わせて合計損失値を形成することができる。
【0051】
図7は、図4および図5の方法400a、400bおよび500の損失値と組み合わせるための追加の損失値を決定する例示的な方法700を示す。それに関して、方法700の結果として、図6の方法600において決定された損失値と同一であるが、方法400a、400bおよび500において計算される損失値と組み合わされることになる「第4の損失値」が得られる。このため、ステップ702において、処理システムは、上記で説明したように、方法400aおよび400bのステップ402~420、ならびに方法500のステップ504~508を実行する。
【0052】
ステップ704において、処理システムは、第1の特徴マップにおいて表されるような第7の点と、第2の特徴マップにおいて表されるような第2の画像の全ての点との間の第5の特徴距離のセットを決定する。ここでも同様に、第7の点は、第1の画像における任意のランダムに選択された基準点pとすることができる。いくつかの態様において、処理システムは、第1の画像において可視であるが、第2の画像において可視でない基準点pを選択するように構成することができる。例えば、第1および第2の画像が歩いている人間被写体のものである場合、基準点pは、第1の画像において可視であるが、第2の画像において被写体の右脚に覆われ、このため第2の画像において可視でない被写体の左脚上の点に対応する場合がある。ここでも、第2の画像において可視でない基準点pを選択するように処理システムを構成することにより、ニューラルネットワークが、第2の画像の点が、(例えば、双方の画像、カメラ位置、照明等において被写体がどのように姿勢をとったかの差に起因して)第1の画像においてのみ可視である点に、どのように対応することができるかを学習することを可能にすることができる。ここでもまた、ラベルpが便宜上使用されるが、この選択された基準点が、方法400bのステップ412または方法500のステップ504において使用される基準点と同じでなくてはならないことを示すものではない。
【0053】
第1の画像の各点が第1の特徴マップにおいてベクトルとして表され、第2の画像における各点が、第2の特徴マップにおいてベクトルとして表される場合、第5の特徴距離のセットは、式2に関して上記で説明したように決定することができる。それに関して、第5の特徴距離のセットは、点pおよびpを表すベクトルを用いて計算された、第2の画像の全ての点pについて別個の特徴距離d(p,p)を含む。同様に、上記で説明したように、第5の特徴距離のセットは、ベクトルの各対のストレートドット積を計算すること、ベクトルの各対のクロス積を計算すること、ベクトルの各対を加算すること、ベクトルの各対を減算すること等によって、任意の他の適切な式を用いて決定することができる。いくつかの態様において、第5の特徴距離のセットを計算するのに用いられる式は、第1、第2、第3および/または第4の特徴距離を計算するのに用いられる式と異なっていてもよい。
【0054】
ステップ706において、処理システムは、第2の表面マップにおいて表されるような第1の点と、第2の表面マップにおいて表されるような第2の画像の全ての点との間の第4の測地線距離のセットを決定する。ここでも同様に、第2の表面マップは、第2の画像を生成するのに使用されたのと同じ姿勢において被写体の3Dモデルを使用して生成された第2の画像に対応する。加えて、第2の表面マップにおける第1の点および第1の特徴マップにおける第7の点は、被写体の3Dモデルにおける同じ特徴に対応する。例えば、上述したように、第2の表面マップにおける第1の点は、第1の画像において可視であり、このため第1の特徴マップにおいて表されるが、第2の画像において可視でなく、このため第2の特徴マップにおいて表されない、被写体の左脚上の点に対応する場合がある。このため、ステップ704の記載において呼び出された例示的な点を使用すると、第2の表面マップにおいて表される第1の点は、第1の画像において表される点pに対応する。そのような場合、第4の測地線距離のセットは、第1の画像の点pに対応する点(ここではcorr(p)と呼ばれる)と、第2の画像の点pに対応する点との間の第2の表面マップの3D表面に沿った距離を表す第2の画像の全ての点pについての別個の測地線距離g(corr(p),p)を含む。
【0055】
ステップ708において、処理システムは、損失値のセットの第4の損失値を決定し、第4の損失値は第5の特徴距離のセットと第4の測地線距離のセットとに基づく。方法600の第4の損失値は、任意の適切な式に従って決定することができる。例えば、第4の損失値は、第1の画像の選択された点pおよび第2の画像内の(合計n個の点のうちの)全ての点pについて、上記で式7に従って計算される断面図測地線損失値Lcdとすることができる。
【0056】
同様に、この第4の損失値は、第1の画像における2つ以上の選択された点pに基づくことができる。このため、第4の損失値は、第5の特徴距離のセットならびに第4の測地線距離のセットを使用して式7に従って計算された損失値Lcdと、他のランダムに選択された点pについて計算された追加の損失値Lcdとに基づく値、ベクトルまたはテンソルとすることができる。例えば、第4の損失値は、所定の数の選択された点p、例えば、1、5、16、128等について計算された損失値Lの平均とすることができる。同様に、第4の損失値は、所定の数の選択された点pについて計算された損失値Lcdを連結することによって決定することができる。
【0057】
ステップ710において、処理システムは、上記で説明したように、結果として得られる損失値のセットを使用して方法400bのステップ422を実行する。この場合、損失値のセットは、図4のステップ410および420において決定される第1および第2の損失値と、図5のステップ508において決定される第3の損失値と、ステップ708において決定される第4の損失値とを含む。ここでもまた、損失値のセットを任意の適切な方式で使用して、ニューラルネットワークの1つまたは複数のパラメータの変さらに影響を与えることができる。それに関して、処理システムは、第1、第2、第3および第4の損失値を合算して合計損失値を得、その合計損失値に基づいて予測モデルのパラメータを変更することができる。同様に、第1、第2、第3および第4の損失値に、1つまたは複数の予め選択された重み係数(例えば、特定のw、w、wおよびwcd値)を乗算し、その後、これを組み合わせて合計損失値を形成することができる。
【0058】
特に明記しない限り、上述の代替例は相互に排他的ではなく、特有の利点を達成するために様々な組合せで実施され得る。上記で論じた特徴のこれらおよび他の変形例および組合せは、特許請求の範囲によって定義される主題から逸脱することなく利用することができるので、例示的システムおよび方法の上記の説明は、特許請求の範囲によって定義される主題の限定としてではなく、例示として解釈されるべきである。加えて、本明細書に記載される例の規定、ならびに「等(such as)」、「含む(including)」、「含む(comprising)」などの語句は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではなく、むしろ、これらの例は、多くの可能な実施形態のうちのいくつかのみを例示することを意図している。さらに、異なる図面における同じ参照番号は同じまたは同様の要素を識別し得るものである。
図1
図2
図3
図4A
図4B
図5
図6
図7