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

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

▶ ディープモーション、インコーポレイテッドの特許一覧

特開2024-435862D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム
<>
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図1
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図2
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図3
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図4
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図5
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図6
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図7
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図8
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図9
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図10
  • 特開-2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024043586
(43)【公開日】2024-04-01
(54)【発明の名称】2D画像から3Dポーズを検出し、3Dポーズを編集するための方法及びシステム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240325BHJP
【FI】
G06T7/00 660B
G06T7/00 350C
【審査請求】未請求
【請求項の数】25
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023150758
(22)【出願日】2023-09-19
(31)【優先権主張番号】63/408,037
(32)【優先日】2022-09-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/244,142
(32)【優先日】2023-09-08
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.iPhone
3.iPad
4.MAGIC MOUSE
5.AZURE
6.GCP
7.AWS
(71)【出願人】
【識別番号】519211845
【氏名又は名称】ディープモーション、インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100158551
【弁理士】
【氏名又は名称】山崎 貴明
(72)【発明者】
【氏名】カイチュアン ハー
(72)【発明者】
【氏名】ヤクブ ステピエン
(72)【発明者】
【氏名】ゼナン リ
(72)【発明者】
【氏名】グジェゴシュ カブザ
(72)【発明者】
【氏名】マルシン フリシュト
(72)【発明者】
【氏名】ミコワイ コルツ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096CA02
5L096DA02
5L096FA09
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096HA11
5L096KA04
(57)【要約】      (修正有)
【課題】被写体の三次元(3D)ポーズを、ビデオのフレームなどの二次元(2D)入力画像から検出する方法及びシステムを提供する。
【解決手段】システム1000における方法は、少なくとも1つの画像キャプチャデバイス1004によりキャプチャされた、被写体S1を描写する少なくとも1つの入力画像から、少なくとも1つの機械学習プロセスにより推論され、かつ、前記被写体に関連付けられた少なくとも1つの第1のランドマークを取得することを含む。少なくとも1つの第1のランドマークのそれぞれは、第1のx座標、第1のy座標及び第1のz座標を含み、第1のz座標は、第1のx座標及び第1のy座標から連結解除されている。方法はまた、1つ以上の第2のランドマークを計算することを含む。
【選択図】図10
【特許請求の範囲】
【請求項1】
少なくとも1つの画像キャプチャデバイスによりキャプチャされた、被写体を描写する少なくとも1つの入力画像から、少なくとも1つの機械学習プロセスにより推論され、かつ前記被写体に関連付けられた少なくとも1つの第1のランドマークを取得することであって、前記少なくとも1つの第1のランドマークのそれぞれは、第1のx座標、第1のy座標、及び第1のz座標を含み、前記第1のz座標は、前記第1のx座標及び前記第1のy座標から連結解除されている、前記取得することと、
1つ以上の第2のランドマークを計算することと、
を含む方法であって、前記計算することは、
前記少なくとも1つの第1のランドマークのそれぞれに関して、前記少なくとも1つの画像キャプチャデバイスから、前記第1のx座標及び前記第1のy座標の位置までの投影方向及び投影距離を特定することと、
前記少なくとも1つの第1のランドマークのそれぞれに関して、前記第1のz座標、前記投影方向、及び前記投影距離に少なくとも部分的に基づいて、前記1つ以上の第2のランドマークのうちの対応する少なくとも1つの第2のランドマークの座標セットを推定することであって、前記座標セットは、相互連結された第2のx座標、第2のy座標、及び第2のz座標を含む、前記推定することと、
により実行される、前記方法。
【請求項2】
前記少なくとも1つの機械学習プロセスは、1つ以上の知覚ディープニューラルネットワークを含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの第1のランドマークの一部に少なくとも部分的に基づいて、寸法値を特定することと、
z軸に沿って前記z軸の原点と前記少なくとも1つの画像キャプチャデバイスとの間に延びる被写体距離を特定することであって、前記被写体距離は、前記寸法値と、前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値とに少なくとも部分的に基づいて特定される、前記特定することと、
前記被写体距離及び前記焦点長値に少なくとも部分的に基づいて倍率を計算することであって、前記少なくとも1つの第1のランドマークのそれぞれに関して、前記対応する少なくとも1つの第2のランドマークの前記座標セットは、前記倍率に少なくとも部分的に基づいて推定される、前記計算することと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記寸法値は、前記少なくとも1つの画像に描写される前記被写体のボーン長の推定値である、請求項3に記載の方法。
【請求項5】
前記少なくとも1つの第1のランドマークのそれぞれに関して、前記対応する少なくとも1つの第2のランドマークの前記座標セットは、前記第1のz座標、前記投影方向、前記投影距離、前記倍率、及び前記焦点長値に少なくとも部分的に基づいて計算された相対値に少なくとも部分的に基づいて推定される、請求項3に記載の方法。
【請求項6】
前記少なくとも1つの第1のランドマークのそれぞれは、ジョイントまたは最終的頂点の推定位置に対応する、請求項1に記載の方法。
【請求項7】
前記少なくとも1つの第1のランドマークのうちの1つ以上、または前記1つ以上の第2のランドマークのうちの少なくとも1つを含む1つ以上の編集ランドマークに対し、修正を受け取るための編集ツールを表示することと、
前記1つ以上の編集ランドマークを、前記少なくとも1つの機械学習プロセスに対しトレーニングデータセットで提供することと、
をさらに含む、請求項1に記載の方法。
【請求項8】
前記少なくとも1つの第1のランドマークのうちの1つ、または前記1つ以上の第2のランドマークのうちの1つを含む特定のランドマークに対し、修正を受け取るための編集可能な表示を表示することであって、前記編集可能な表示は、x軸またはy軸の少なくとも1つに沿ってのみ、前記特定のランドマークの移動を許可する、前記表示すること
を、さらに含む、請求項1に記載の方法。
【請求項9】
前記少なくとも1つの第1のランドマークのうちの第1の選択されたランドマーク、または前記1つ以上の第2のランドマークのうち、前記第1の選択されたランドマークに関して計算された第2の選択されたランドマークを含む特定のランドマークに対し、修正を受け取るための編集可能な表示を表示することであって、前記編集可能な表示は、前記第1の選択されたランドマークに関して特定された前記投影方向に沿ってのみ、前記特定のランドマークの移動を許可する、前記表示すること
を、さらに含む、請求項1に記載の方法。
【請求項10】
少なくとも1つのプロセッサと、
命令を格納するメモリと、
を備えたシステムであって、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
少なくとも1つの画像キャプチャデバイスによりキャプチャされた少なくとも1つの画像に少なくとも部分的に基づいて特定された入力座標セットを取得することであって、前記入力座標セットは、第1の座標、第2の座標、及び第3の座標を含み、前記第3の座標は、前記第1の座標及び前記第2の座標から連結解除されている、前記取得することと、
前記第3の座標には基づかないが、前記第1の座標及び前記第2の座標に少なくとも部分的に基づいて、中間的座標セットを推定することと、
前記第3の座標に少なくとも部分的に基づいて、出力座標セットを推定することと、
を、前記システムに実行させる、前記システム。
【請求項11】
前記第3の座標は、深度に対応する、請求項10に記載のシステム。
【請求項12】
前記入力座標セットは、1つ以上の知覚ディープニューラルネットワークにより生成された、請求項10に記載のシステム。
【請求項13】
前記中間的座標セットを推定することは、
z軸に沿って前記入力座標セットと前記少なくとも1つの画像キャプチャデバイスとの間に延びる被写体距離を特定することと、
前記被写体距離と、前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値とに少なくとも部分的に基づいて、倍率を計算することと、
前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向及び投影距離を特定することであって、前記中間的座標セットは、前記第1の座標、前記第2の座標、前記被写体距離、前記投影方向、前記投影距離、前記倍率、及び前記焦点長値に少なくとも部分的に基づいて計算される、前記特定することと、
を含む、請求項10に記載のシステム。
【請求項14】
前記被写体距離を特定することは、
前記入力座標セットに少なくとも部分的に基づいて、寸法値を特定することを含み、前記被写体距離は、前記寸法値及び前記焦点長値に少なくとも部分的に基づいて特定される、
請求項13に記載のシステム。
【請求項15】
前記寸法値は、前記少なくとも1つの画像に描写された被写体のボーン長の推定値である、請求項14に記載のシステム。
【請求項16】
前記出力座標セットを推定することは、
倍率を計算することと、
前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向及び投影距離を特定することと、
前記中間的座標セットから相対値を減算することであって、前記相対値は、前記第3の座標、前記投影方向、前記投影距離、前記倍率、及び前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値に少なくとも部分的に基づいて計算される、前記減算することと、
を含む、請求項10に記載のシステム。
【請求項17】
前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記入力座標セットまたは前記出力座標セットのうちの少なくとも1つを含む編集座標セットに対し、修正を受け取るための編集ツールを表示すること
を、前記システムに実行させる、請求項10に記載のシステム。
【請求項18】
前記編集座標セットは、x座標、y座標、及びz座標を含み、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向を特定することと、
前記編集ツールを使用するグラフィカルユーザインターフェース(「GUI」)を生成することであって、前記GUIは、前記x座標または前記y座標の少なくとも1つにのみ関わる第1のポジションに対し、修正を受け取る2Dビューを生成するように動作可能であり、前記GUIは、前記投影方向に沿ってのみ、前記編集座標セットの第2のポジションに対し、修正を受け取る3Dビューを生成するように動作可能である、前記生成することと、
を前記システムに実行させる、請求項17に記載のシステム。
【請求項19】
前記入力座標セットは、1つ以上の機械学習プロセスにより生成され、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記編集座標セットを、前記1つ以上の機械学習プロセスに対しトレーニングデータセットで提供すること
を、前記システムに実行させる、請求項17に記載のシステム。
【請求項20】
前記入力座標セットは、ジョイントまたは最終的頂点の位置を推定する、請求項10に記載のシステム。
【請求項21】
前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記出力座標セットに少なくとも部分的に基づいて、少なくとも1つの新たな画像を生成すること
を、前記システムに実行させる、請求項10に記載のシステム。
【請求項22】
前記少なくとも1つの画像をキャプチャするビデオカメラを備えた前記少なくとも1つの画像キャプチャデバイスをさらに備え、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記少なくとも1つの画像から前記入力座標セットを推論する1つ以上の機械学習プロセスを実行すること
を、前記システムに実行させる、請求項10に記載のシステム。
【請求項23】
少なくとも1つのプロセッサと、
命令を格納するメモリと、
を備えたシステムであって、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
第1の座標、第2の座標、及び第3の座標を含むランドマークの投影方向を特定することと、
第1の編集可能な表示及び第2の編集可能な表示を生成するように動作可能なグラフィカルユーザインターフェース(「GUI」)を表示することであって、前記第1の編集可能な表示は、前記第1の座標及び前記第2の座標のみに対する修正を受け取り、前記第2の編集可能な表示は、前記投影方向に沿ってのみ、前記ランドマークに対する修正を受け取る、前記表示することと、
を、前記システムに実行させる、前記システム。
【請求項24】
前記ランドマークは、1つ以上の機械学習プロセスにより生成され、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記ランドマークを、前記1つ以上の機械学習プロセスに対しトレーニングデータセットで提供すること
を、前記システムに実行させる、請求項23に記載のシステム。
【請求項25】
前記命令は、前記少なくとも1つのプロセッサにより実行された場合、
前記ランドマークを使用して1つ以上の画像を生成するために、前記ランドマークを1つ以上のプロセスに提供すること
を、前記システムに実行させる、請求項23に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願(複数可)の相互参照
本出願は、2022年9月19日に出願された「ROTOSCOPING POSE EDITING METHOD VIA HYBRID PLANER AND DEPTH COMPONENTS」と題する米国仮特許出願第63/408,037号の利益を主張するものであり、その内容は、参照によりその全体が本明細書に組み込まれるものとする。
【0002】
少なくとも1つの実施形態は、概して、被写体(例えば生物または無生物)の三次元(3D)ポーズを、ビデオのフレームなどの二次元(2D)入力画像から検出することを対象とする。少なくとも1つの実施形態は、3Dポーズの少なくとも一部を編集するために使用され得るロトスコープ型編集ツールを開示する。
【背景技術】
【0003】
関連技術の説明
アニメーション及びモーションキャプチャなどの数多くの目的で、画像データから被写体のポーズを検出するために、ポーズ推定などの機械学習ベースプロセスが使用され得る。機械学習ベースプロセスが出力する推定ポーズの品質及び/または精度は、向上し得る。
【0004】
本開示による様々な実施形態が、以下の図面を参照して説明される。
【図面の簡単な説明】
【0005】
図1図10に示される画像キャプチャデバイス(複数可)をモデル化するのに使用され得る第1のピンホールカメラモデルの成分を示す図である。
図2図10に示される画像キャプチャデバイス(複数可)をモデル化するのに使用され得る第2のピンホールカメラモデルの成分を示す図である。
図3】薄型レンズ近似モデルの成分を示す図である。
図4図11に示される方法の理解を促すために変数名がラベル表示された、図2の第2のピンホールカメラモデルを示す。
図5図10のシステムが実装するロトスコープツールにより生成された2Dビューを示す。
図6図5の2Dビューで表示される2Dギズモを示し、これはユーザがランドマーク(例えばジョイントまたは最終的頂点)をx軸及び/またはy軸に沿って再配置するために使用され得る。
図7図10のシステムが実装するロトスコープツールにより生成された3Dビューを示す。
図8図7の3Dビューで表示される深度マーカを示し、これはユーザがランドマーク(例えばジョイントまたは最終的頂点)を投影方向に沿って再配置し、その深度(すなわちz座標)を変更するために使用可能である。
図9図10のシステムを実施するために使用され得るハードウェアプラットフォームの図である。
図10】1つ以上の入力画像(複数可)から被写体のポーズを自動的に検出するために使用され得、及び/またはポーズを編集するためのツールを提供し得る、例示的なシステムを示す。
図11】例示的なシステムにより実行され得る方法のフロー図である。
【発明を実施するための形態】
【0006】
図面では、同様の参照番号を使用して、同様の構成要素が識別される。
【0007】
図10は、入力画像から被写体S1のポーズを自動的に検出するために使用され得、及び/またはポーズを編集するためのツールを提供し得る、例示的なシステム1000を示す。システム1000は、コンピューティングシステム1002及び1つ以上の画像キャプチャデバイス1004(例えばカメラ及び/またはビデオカメラなど)を含む。画像キャプチャデバイス(複数可)1004を使用して、被写体S1の画像データ1022がキャプチャされ得る。非限定的な例として、画像データ1022は、カラー(例えば赤、緑、青(「RGB」))画像データ及び/または白黒画像データなどを含み得る。図10では、画像キャプチャデバイス(複数可)1004は、有線接続及び/または無線接続1006によりコンピューティングシステム1002に接続されるものとして、かつ接続1006を介してコンピューティングシステム1002に画像データ1022を転送するものとして示されるが、代替的または付加的に、画像キャプチャデバイス(複数可)1004は、コンピューティングシステム1002に直接接続されなくてもよい。例えば、画像キャプチャデバイス(複数可)1004は、ネットワーク及び/または1つ以上の他のデバイスを介してコンピューティングシステム1002に接続され得、ネットワーク及び/または他のデバイス(複数可)を介してコンピューティングシステム1002に画像データ1022を転送し得る。別の非限定的な例として、画像キャプチャデバイス(複数可)1004を使用して、記憶媒体(例えばメモリ及び/または記憶デバイスなど)に画像データ1022が格納され得、コンピューティングシステム1002は、記憶媒体から画像データ1022を取得し得る。
【0008】
被写体S1は、現実世界内で現実世界のポーズで配向される。被写体S1は、1つ以上のジョイント(例えばジョイントJ1~J5)を含み得る。被写体S1は、人間、ジョイントの有無にかかわらない動物、ジョイントのあるデバイス(例えばロボット及び/またはリンケージなど)、ジョイントのないデバイス、及び/または無生オブジェクトなどであり得る。
【0009】
コンピューティングシステム1002は、1つ以上のプロセッサ1010、メモリ1012、及びユーザインターフェース1014を含み得る。プロセッサ(複数可)1010は、メモリ1012に格納された命令1030の少なくとも一部を実行する1つ以上の回路を含み得る。プロセッサ(複数可)1010は、例えば、処理ユニット902(図9を参照)、メイン中央処理装置(「CPU」)複合体、1つ以上のマイクロプロセッサ、1つ以上のマイクロコントローラ、1つ以上の並列処理装置(「PPU(複数可)」)(例えば1つ以上のグラフィックス処理装置(「GPU(複数可)」))、及び/または1つ以上の演算論理装置(「ALU(複数可)」)などを使用して実装され得る。メモリ1012(例えば1つ以上の非一時的プロセッサ可読媒体)は、プロセッサ実行可能命令1030(例えば図9に示されるソフトウェア912)を格納し得、これはプロセッサ(複数可)1010により実行されるとき、1つ以上の機械学習アルゴリズムもしくは人工知能(「AI」)アルゴリズム(例えば1つ以上のニューラルネットワーク1032)、編集ツール(ロトスコープツール1034と称される)、逆投影(unprojection)機能1036、及び/または1つ以上のプロセス1038などを実施する。追加の非限定的な例として、図9を参照すると、メモリ1012(例えば1つ以上の非一時的プロセッサ可読媒体)は、例えば、揮発性記憶装置904(例えば動的ランダムアクセスメモリ(「DRAM」))及び/または永続的記憶装置906(例えばハードドライブ及び/またはソリッドステートデバイス(「SSD」)など)を使用して実装され得る。図10に戻ると、ユーザインターフェース1014は、ユーザがコンピューティングシステム1002により生成及び/または表示される情報を見るために使用し得る表示デバイス910(図9を参照)を含み得る。ユーザインターフェース1014は、ユーザがコンピューティングシステム1002に情報を入力するために使用し得るポインタ入力デバイス908(図9を参照)などの1つ以上のデバイスを含み得る。プロセッサ(複数可)1010、メモリ1012、及び/またはユーザインターフェース1014は、バス及び/または周辺機器相互接続エクスプレス(「PCIe」)接続(もしくはバス)などの1つ以上の接続1016を介して、相互通信を行い得る。
【0010】
命令1030(例えばソフトウェア912)は、永続的記憶装置906に格納され、実行時に処理ユニット902で実行され、ポインタ入力デバイス908からユーザ入力を受け入れ、必要に応じて揮発性記憶装置904を利用し、表示デバイス910に出力を表示し得る。
【0011】
AWS、GCP、及び/またはAzureクラウドなどのパブリッククラウドサービスプロバイダによりホストされる仮想マシン及び記憶装置を含み及び/または実施する特定タイプの適切なハードウェアシステムにより、システム1000は実施され得る。このようなクラウドベースのハードウェアシステムの非限定的な例として、コンパイル済みソフトウェアを格納するために使用されるGoogle Cloudストレージバケット、格納されたソフトウェアをウェブページに埋め込むサービスをホストするために使用される、Intel Skylake CPUとNVIDIA Tesla 4 GPUを搭載したGoogle Cloud仮想マシン、サービスウェブページに埋め込まれたコンパイル済みソフトウェアにアクセスするために使用される、Intel i5 3500k CPU、8GBのRAM、2TBのハードドライブ、有線インターネット接続、15インチスクリーン、及びマウスを搭載したWindowsベースのラップトップなどが挙げられる。特定タイプの適切なハードウェアプラットフォームの別の非限定的な例として、16GBの統合メモリ、2TBの記憶装置、及びMagic Mouseを搭載したiMac24インチなどのスタンドアロンパーソナルコンピュータシステムが挙げられる。特定タイプの適切なハードウェアプラットフォームのさらに別の非限定的な例として、iPhoneまたはiPadなどのモバイルデバイスが挙げられる。
【0012】
いくつかの実施形態では、システム1000の少なくとも一部を実施するために使用されるハードウェアプラットフォーム(複数可)は、ソフトウェアを介して完全にまたは部分的に仮想化され得る。このような仮想化されたハードウェア環境を介して図9のハードウェアプラットフォーム900に含まれるコア機能モジュールが提供される限り、システム1000を実施するために、及び/または命令1030の少なくとも一部を実行するために、完全にまたは部分的に仮想化されたプラットフォームが使用され得る。本明細書の仕様は、現在知られている他のハードウェアプラットフォームまたは将来のハードウェアプラットフォームに合わせて修正され得ることを理解されたい。
【0013】
画像データ1022は、画像キャプチャデバイス(複数可)1004によりキャプチャされた1つ以上の入力画像(例えばビデオのフレーム)を含み得る。入力画像(複数可)のそれぞれの中で、被写体S1は、画像キャプチャデバイス(複数可)1004により三次元(「3D」)の現実世界から二次元(「2D」)の画像に投影された。入力画像(複数可)は、x軸及びy軸を有するものとして特徴付けられ得る。入力画像内のポジションは、平面座標または画像空間座標と称され、画像内の点またはピクセルは、x軸及びy軸に沿ってx座標及びy座標をそれぞれ有するものとして言及され得る。
【0014】
入力画像(複数可)は、1つ以上の機械学習プロセス(例えばニューラルネットワーク(複数可)1032)に提供され得、1つ以上の機械学習プロセスは、入力画像(複数可)内の1つ以上のランドマーク1040(例えばジョイント)の位置を推論する。機械学習プロセス(複数可)は、ランドマーク(複数可)1040を識別し、ランドマーク(複数可)1040のそれぞれに、(1)正規化された2D画像空間座標(X、Y)と、(2)キャラクタ(被写体S1の仮想表現である)の境界ボックスの重心などのキャラクタに関する基準点に相対的である深度値(Z)と、を割り当てる。よって、ランドマーク(複数可)1040のそれぞれは、ポジションまたは位置に関連付けられる。ランドマーク(複数可)1040は任意で、ランドマーク(例えば左膝関節、右肘など)を識別するラベルを含み得る。位置は、画像空間座標(例えばx座標値及びy座標値)で表され得、相対的深度値(例えば深度値に近似するz座標値)をそれぞれ含み得る。深度値は、画像キャプチャデバイス(複数可)1004の「投影線」に沿った、ランドマークで表される被写体S1の一部(例えばジョイント)の3Dポジションと、画像キャプチャデバイス(複数可)1004との間の距離であり得る。このような投影線は、焦点距離が無限に長い場合を除き、必ずしもZ軸に平行であるとは限らない。しかし、画像キャプチャデバイス(複数可)1004の投影方向は、ほぼZ軸に沿っている。したがって、z座標値は、相対的深度値の推定値として使用され得る。ランドマーク(複数可)1040は、ベクトルで表現され得る(入力ランドマーク座標ベクトルと称され得る)。入力画像(複数可)内の要素の現実世界の寸法は、機械学習プロセス(複数可)に利用できない場合がある及び/または利用できなかった場合があるため、深度値は、相対的深度値と称される。よって、ランドマーク(複数可)1040のうちの特定の1つのランドマークの深度値は、キャラクタに関する基準点(例えばキャラクタの境界ボックスの重心など)に相対的に特定されている場合がある。例えば、z座標値は、基準点を基準とし得、x座標値及びy座標値は、画面空間座標または画像空間座標のx軸及びy軸の原点を基準とし得ることから、z座標値は、x座標値及びy座標値から連結解除され得る。z座標値は、3D空間内の元のランドマーク位置に対応し、x座標値及びy座標値は、画像キャプチャデバイス(複数可)1004が元のランドマーク位置を3D空間から2D画面空間へ投影したものに対応することから、同様に、z座標値は、x座標値及びy座標値から連結解除され得る。基準点が原点と位置が合わない(または位置合わせできない)場合、x座標及びy座標は、z座標から連結解除され得る。このように、特定のランドマークの相対的深度値は、特定のランドマークの現実世界の実際の深度とは異なり得る。機械学習プロセス(複数可)により特定される座標は、ハイブリッド2D/3D成分、またはハイブリッド平面及び深度成分と称される。ハイブリッド2D/3D成分を使用して、ランドマーク(複数可)1040のハイブリッド2D/3D表現が生成され得る。
【0015】
ロトスコープは、アニメータが動画及び/またはビデオの一部をフレームごとにトレースして、アニメーション内に現実的なアクションを生み出すために使用するアニメーション技法である。よって、ロトスコープは、ポーズ推定など、機械学習ベースプロセスにより検出された被写体のポーズを改良または編集するために使用され得る技法である。例えば、オペレータまたはユーザは、ロトスコープツール1034を使用して、ランドマーク(複数可)1040を編集することができる。例えば、ユーザは、ロトスコープツール1034を使用して、ランドマーク(複数可)1040のうちの1つ以上のランドマークのx座標、y座標、及び/またはz座標を編集することができる。ロトスコープツール1034は、ユーザインターフェース1014を使用して、ランドマーク(複数可)1040を含むグラフィカルユーザインターフェース(「GUI」)1050を生成し、ユーザインターフェース1014(例えば図9に示される表示デバイス910)に対し、GUI1050を表示するように命令し得る。ユーザは、ユーザインターフェース1014を使用して、ランドマーク(複数可)1040のポジションを調整することができる。ロトスコープツール1034は、ランドマーク(複数可)1040の3D位置(複数可)1042を出力し得る。
【0016】
ロトスコープツール1034は、GUI1050を使用して、ハイブリッド2D/3D成分(例えばランドマーク(複数可)1040)の2D成分及び3D成分をそれぞれ使用した2Dビュー500(図5及び図6を参照)及び3Dビュー700(図7及び図8を参照)の両方で推論結果(例えばランドマーク(複数可)1040)を含む視覚化を、ユーザに表示し得る。2Dビュー500(図5及び図6を参照)は、平面成分(例えばx座標及びy座標)の「ロトスコープ」型ポーズ編集を実行する容易かつ直観的な方法を、ユーザに提供し得る。より具体的には、ユーザは、推論結果の平面/2D成分を、入力(基準)画像(複数可)(例えば1つ以上の入力ビデオから取得された画像)と一致させるように、調整することが可能であり得る。3Dビュー700(図7及び図8を参照)は、3D/深度成分を調整した結果として対応平面/2D成分を手動で調整する必要なく、カメラ投影線(または投影方向)に沿って、推論結果における3D/深度成分(例えばZ座標)変化ならびに連結されたx座標及びy座標の小さい変化を調整する容易な方法を、ユーザに提供し得る。3D位置(複数可)1042(例えばリファインされたアニメーション結果)は、ハイブリッド2D/3D成分で表され、機械学習プロセス(複数可)(例えばポーズ推定のための知覚ニューラルネットワークモデルなどのニューラルネットワーク(複数可)1032)の精度を反復的に向上させるためのトレーニングデータセットに含まれ得る。3D位置(複数可)1042を使用して、アニメーションシーケンスが生成され得、及び/または改良されたアニメーションシーケンスが再生成され得る(例えばプロセス(複数可)1038により)。ロトスコープツール1034は、オペレータがランドマーク(複数可)1040を平面画像空間座標及び深度に関して直観的に変更するための手段を提供し得る。
【0017】
特定のランドマーク(例えばジョイントポジションに対応する)に対応する深度成分(z座標値により推定される)及び平面成分(x座標値及びy座標値)は、独立していない。よって、ユーザが深度成分を変更するとき、ロトスコープツール1034は、平面成分が入力画像(複数可)と一致するように、平面成分を自動的に調整または変更する。よって、ロトスコープツール1034により、ユーザは、対応する平面成分を手動で編集する必要なく、独立して深度を編集することが可能となり得る。対照的に、従来の3D編集ツールでは、ユーザは深度成分及び平面成分を一緒に修正する必要があり、これを手動で行うのは非常に困難であった。言い換えると、従来の3D編集ツールは、深度成分に変更が加えられたとき、x座標値及びy座標値を自動的に調整または変更することが不可能である。例えば、従来のキーフレームアニメーション編集方法では、ユーザは、キャラクタのポーズの完全3D表現を直接修正することのみ可能であり、これは、ニューラルネットワーク(複数可)1032がアニメーションのポーズを推論した参照画像に、直接マッピングされることは不可能であった。よって、ユーザは、推論結果の2D平面成分を、エディタの背景にある入力画像(複数可)と位置合わせすることにより、推論結果(例えばランドマーク(複数可)1040)に対して正確なロトスコープ型アニメーション編集を行うために、従来のキーフレームアニメーション編集方法を使用することはできない。ロトスコープツール1034は、完全3D表現(例えば推定3D位置(複数可)1044)を使用してポーズを編集する代わりに、またはそれに加えて、ハイブリッド平面成分及び深度成分を介してポーズを編集可能にすることにより、従来のキーフレーム法のこれらの制限を回避し得る。
【0018】
3D位置(複数可)1042は、逆投影機能1036に提供され得、逆投影機能1036は、(相対的)3D位置(複数可)1042に少なくとも部分的に基づいて、(現実世界の)3D位置(複数可)1044を推定し、任意で推定3D位置(複数可)1044を使用して、被写体S1のポーズを特定する。言い換えると、逆投影機能1036は、3D位置(複数可)1042を逆投影し、これらのハイブリッド2D/3D成分から、これらの元の(現実世界における)3Dポジションを特定しようと試みる。よって、逆投影機能1036は、3D位置(複数可)1042のそれぞれに関して、実際の深度またはz座標値を推定する。逆投影機能1036により出力される推定3D位置(複数可)1044は、世界空間に属するものとして説明され、ベクトルで表現され得る(出力ランドマーク座標ベクトルと称され得る)。ロトスコープツール1034が使用されない及び/または存在しない場合、ランドマーク(複数可)1040は、逆投影機能1036に提供され得、逆投影機能1036は、ランドマーク(複数可)1040に少なくとも部分的に基づいて、推定3D位置(複数可)1044を推定し、任意で推定3D位置(複数可)1044を使用して、被写体S1のポーズを特定し得る。逆投影機能1036は、例えば、必要に応じて、推定3D位置(複数可)1044を再投影することにより、推定(現実世界)3D位置(複数可)1044のハイブリッド2D/3D成分セットを特定し得る。このような再投影3D位置(複数可)は、ロトスコープツール1034に提供され得、これらを使用して、これらのポジションが修正され得る。別の非限定的な例として、再投影3D位置(複数可)は、トレーニングデータセットで機械学習プロセス(複数可)に提供され得る。
【0019】
ハイブリッド2D/3D成分は、深度情報の一部を平面画像座標にエンコードする透視投影の性質により連結されており、互いに独立していないことから、特定の課題の原因となり得る。3Dラベリングが利用可能な場合、トレーニングデータの前処理段階の間に、完全3D表現からこのハイブリッド表現へ移行することは比較的簡単であるが、ハイブリッド2D/3D成分で表現された推論結果から、真の3Dポーズの完全3D表現を再作成することは、難しくなる。
【0020】
逆投影機能1036は、人型モデル(例えばニューラルネットワーク(複数可)1032により出力されたランドマーク(複数可)1040及び/またはロトスコープツール1034により出力された3D位置(複数可)1042をつなぐことにより生成される)の現実世界のジョイントポジション(例えばランドマーク(複数可)1040及び/または3D位置(複数可)1042)のハイブリッド平面及び相対的深度表現を逆投影して、アニメーションまたは他のモーションキャプチャ(例えばプロセス(複数可)1038により実行される)のために、現実世界における人型モデルのポーズ、ポジション、及び配向の完全3D表現を再構築し得る、方法(例えば図11に示される方法1100)及びアルゴリズムを実施し得る。
【0021】
逆投影機能1036は、推定3D位置(複数可)1044をプロセス(複数可)1038に出力し得、プロセス(複数可)1038は、推定3D位置(複数可)1044を使用して、1つ以上の異なる画像及び/または1つ以上の新たなビデオセグメントを生成し得る。非限定的な例として、プロセス(複数可)1038は、アニメーションを生成し、またはモーションキャプチャパイプラインを部分的に実行し得る。
【0022】
逆投影機能1036は、推定3D位置(複数可)1044をロトスコープツール1034に出力し得、ロトスコープツール1034は、GUI1050を使用して、推定3D位置(複数可)1044の逆投影x座標値及びy座標値を2Dビュー500(図5及び図6を参照)で表示し、逆投影深度成分(例えばz座標値により推定される)を3Dビュー700(図7及び図8を参照)で表示し得る。ユーザは、2Dビュー500を使用して、推定3D位置(複数可)1044の逆投影x座標値及びy座標値のポジションを編集し得、及び/または3Dビュー700を使用して、推定3D位置(複数可)1044の逆投影x座標値、y座標値、及びz座標値で表される深度を編集し得る。ロトスコープツール1034を使用して生成された編集推定3D位置(複数可)1046は、プロセス(複数可)1038に提供され得る。
【0023】
ロトスコープツール1034は、ユーザに「ロトスコープ」型のアニメーション編集ツールを提供し得、これを使用して、知覚ディープニューラルモデル(例えばニューラルネットワーク(複数可)1032)を少なくとも部分的に使用して生成されたアニメーションを改良し、このようなビデオベース知覚ディープニューラルネットワークモデルをトレーニングするために使用されるグラウンドトゥルーストレーニングデータセットを増強することができる。このようなグラウンドトゥルーストレーニングデータセットは、通常、3Dポーズラベルでラベル付けされたビデオで構成される。ロトスコープツール1034により出力された3D位置(複数可)1042及び/または編集推定3D位置(複数可)1046は、トレーニングデータに含まれ、機械学習プロセス(複数可)(例えばビデオベース知覚ディープニューラルネットワークモデルなどのニューラルネットワーク(複数可)1032)をトレーニングするために使用され得る。このようにして、機械学習プロセス(複数可)による推論結果の向上が促進され得る。ロトスコープツール1034を使用して、ランドマーク(複数可)1040、3D位置(複数可)1042、及び/または編集推定3D位置(複数可)1046でラベル付けされた2D入力画像(複数可)が提供され、これはトレーニングデータとして使用され得る。2D画像から人間の3Dポーズを推定するための知覚ニューラルモデル(例えばニューラルネットワーク(複数可)1032)のトレーニングは、以下の理由のうちの1つ以上により、2D(画像ベース)ラベルと3Dラベルの混合に依存することが多い。
【0024】
第1に、知覚ディープニューラルネットワーク(「DNN」)モデルは、直接画像空間内で特徴を見つけるように設計される。
【0025】
第2に、結果得られたジョイントポジションを、元の画像にマッピングし直す必要があり得る。
【0026】
第3に、3Dジョイントポジションと、十分な種類の身体形状、被写体(複数可)の外観、被写体のポーズ、及び1つ以上の環境を表す対応画像とを含む、3Dラベル付き高品質トレーニングデータへのアクセスは、限定され得る。3Dポーズ推定モデルをトレーニングするには、3Dデータとともに2Dデータが必要になり得る。2Dデータは主に、画像空間内の被写体のジョイントポジションの平面XY座標を手動でラベル付けすることにより、作成される。2Dデータセットと共に使用するために、3Dデータセット内の3Dジョイントポジションは、入力画像と一致する平面XY成分と、ジョイントがカメラからどのくらい離れているかを反映する深度成分(z座標値で近似される)とに、スライスされ得る。
【0027】
第4に、被写体のジョイントポジションの全体的な深度を推論する知覚ニューラルネットワークモデルを構築することは困難であることから、知覚ニューラルネットワークモデル(例えばニューラルネットワーク(複数可)1032)から得られる推論結果の深度成分は、多くの場合、被写体の局所座標フレームに対するジョイントポジションの深度のみをキャプチャする。
【0028】
第5に、「ロトスコープ」型ポーズ編集で、ユーザが、デカルト座標(例えばx座標、y座標、及びz座標)で表現されたキャラクタのジョイントの完全3D表現を直接修正して、参照画像のピクセル空間内のキャラクタのジョイントと一致させることは、非常に困難である。
【0029】
第6に、正投影カメラを使用してキャラクタのジョイントの3Dポジションを平面画像空間に投影するとき、平面XY成分は、デカルト座標(例えばx座標、y座標、及びz座標)で表現されたキャラクタのジョイントポジションの完全3D表現のx座標値及びy座標値の部分と、同一である。しかし、現実世界のカメラは、「正投影」ではなく「透視投影」により画像を作成し、「透視投影」は、メートル単位で測定される人間を、ミリメートル単位で測定されるカメラの電荷結合素子(「CCD」)でキャプチャする実用的な設計である。したがって、トレーニングデータを準備し、DNNモデルが入力画像から推論した人型ジョイントランドマークより導出されたアニメーション結果をレンダリングし、アニメーション結果を編集し、ならびにランドマークを再ラベル付けする間、透視投影カメラモデルが採用され得る。
【0030】
さらに、RGBビデオからの3Dラベル付き高品質トレーニングデータへのアクセスは限定されるため、結果的に、画像平面に投影されたジョイントポジションの2D座標は、高精度に推定されるが、ジョイントポジションの深度は、大幅に低下した精度で推定され得る。
【0031】
本明細書で言及されるように、ニューラルネットワーク(複数可)1032により推論されるランドマーク(複数可)1040はそれぞれ、画像空間平面座標(「2Dポジション」または「XY座標」と称される)と、別個の三次元成分との組み合わせを含み得、別個の三次元成分は、ランドマーク(複数可)1040で表される被写体S1の部分(例えばジョイント)の相対的深度(「Z座標」により推定される)とみなされ得る。ロトスコープツール1034が存在するとき、これを使用して、ランドマーク(複数可)1040のうちの1つ以上のランドマークの位置が編集され得る。次に、逆投影機能1036は、想定投影カメラモデル(下記で論述される)を活用して、ハイブリッド2D/3D成分(ランドマーク(複数可)1040及び/または3D位置(複数可)1042に関する)を、デカルト座標で表されるランドマーク(例えばジョイント)ポジションの完全3D表現に変換し得る。言い換えると、逆投影機能1036を使用して、推論結果のハイブリッド2D/3D成分(例えばランドマーク(複数可)1040及び/または3D位置(複数可)1042)は、被写体S1のジョイントポジションの完全3D表現(例えば推定3D位置(複数可)1044)に、逆投影され得る。完全3D表現(例えば推定3D位置(複数可)1044)により、ニューラルネットワーク(複数可)1032に入力された入力画像(複数可)を使用して、アニメーションまたはモーションキャプチャを作成することが可能となる。
【0032】
逆投影機能1036は、画像キャプチャデバイス(複数可)1004をモデル化するカメラモデルを使用して、ハイブリッド2D/3D成分(ランドマーク(複数可)1040及び/または3D位置(複数可)1042に関する)を、デカルト座標で表される推定3D位置(複数可)1044に逆投影し得る。図1は、画像キャプチャデバイス(複数可)1004をモデル化するのに使用され得る第1のピンホールカメラモデル100の成分を示す図である。画像キャプチャデバイス(複数可)1004のモデル化は、XY画像空間座標の逆投影を実行するために必要である。図1では、第1のピンホールカメラモデル100が被写体S1の画像104をキャプチャする様子が示される。ピンホールカメラモデル100では、画像キャプチャデバイス(複数可)1004にはレンズがなく、単一点サイズの開口部102が含まれると想定される。第1のピンホールカメラモデル100によりキャプチャされた画像104は、開口部102の背後に現れ、反転される。
【0033】
図2は、画像キャプチャデバイス(複数可)1004をモデル化するのに使用され得る第2のピンホールカメラモデル200の成分を示す図である。第2のピンホールカメラモデル200では、単一点サイズの開口部202の前に画像204が形成され、これは物理的に正確ではあり得ないが、最終結果に変化は生じ得ず、画像204が反転されないという利点がある。カメラフレームのZ軸210の向きが、撮影される被写体S1から離れるようにカメラフレームは選択され、画像面P2はZ=0に配置され、画像の中心(図示せず)はX=0、Y=0である。被写体S1のポーズを編集するために、被写体S1が視覚化されるとき(例えばロトスコープツール1034により)、画像距離(画像204と開口部202との間)より短い人工オブジェクト距離(被写体S1と開口部202との間)が選択され得、これにより、被写体S1が画像204の前でレンダリングされ、「ロトスコープ」型ポーズ編集がより容易になり得る。
【0034】
画像キャプチャデバイス(複数可)1004にはレンズがなく、単一点サイズの開口部202を有するという想定では、ビュー内の各世界点は単一光線のみを開口部202に投じ得、よって開口部202と画像平面P2との間の距離に関係なく、形成される画像204は常に焦点が合うことが、暗示される。これは、焦点が多数の要素に依存する本物のレンズを有するカメラの場合には該当し得ず、要素の関係は一般に、レンズ近似式と称される以下の等式(式)1とともに、薄型レンズ近似モデル300(図3を参照)を使用して表される。
【数1】
【0035】
上記の式1では、変数fは、画像キャプチャデバイス(複数可)1004の焦点距離(または焦点長)を表し、変数oは、画像キャプチャデバイス(複数可)1004から(例えば開口部202から)のオブジェクト距離を表し、変数iは、画像キャプチャデバイス(複数可)1004から(例えば開口部202から)の画像距離を表す。変数iの値は、固定ではなく、引き出すまたは取得することが容易ではない場合がある。しかし、実際のシナリオでは、変数iの値は、変数oの値と比較して非常に小さい。したがって、下記の式2に示されるように、ピンホールカメラモデル200を使用してレンズ付きカメラをモデル化するとき、画像距離(変数iで表される)は、焦点距離(変数fで表される)とほぼ等しくあり得る。
【数2】
よって、開口部から画像平面までの距離(変数iで表される)は、モデル化されるカメラの焦点距離と等しく設定され得る。
【0036】
さらに、薄型レンズ近似モデル300(図3を参照)を使用して、薄型レンズ倍率式と称される式3が得られ得る。式3では、変数Mは倍率を表し、変数gは像高を表し、変数hはオブジェクト高を表す。
【数3】
上記の式3に示されるように、倍率(変数Mで表される)は、オブジェクト距離(変数oで表される)に対する画像距離(変数iで表される)の比率に等しい。
【0037】
特定の写真をキャプチャするために使用される画像キャプチャデバイス(複数可)1004の詳細が不明な実施形態では、焦点長(kFocalLengthInMeter)及び/またはカメラセンサ寸法(kCCDSizeInMeter)などの固有のカメラパラメータに、妥当な値またはデフォルト値が使用され得る。固有のカメラパラメータのデフォルト値は、製品及び/またはドメインの状況に少なくとも部分的に基づき得る。特定の写真をキャプチャするために使用される画像キャプチャデバイス(複数可)1004の詳細が判明している実施形態では、カメラパラメータの実際の値(例えば焦点長及び/またはカメラセンサの寸法など)を使用して、ニューラルネットワーク(複数可)1032により推論されたランドマーク(複数可)1040のより高精度な逆投影が得られ、ならびに世界空間における被写体S1の完全3D表現(例えば推定3D位置(複数可)1044)が取得され得る。さらに、いくつかの実施形態では、固有のカメラパラメータのデフォルト値は、実際のカメラ固有パラメータ値と一致するように、オペレータによりカスタマイズまたは修正され得る。
【0038】
図11は、システム1000により実行され得る方法1100のフロー図である。第1のブロック1102にて、逆投影機能1036は、被写体S1に関連付けられたハイブリッド平面及び深度成分セットを取得する。例えば、ブロック1102にて、逆投影機能1036は、ランドマーク(複数可)1040及び/または3D位置(複数可)1042を取得し得る。ハイブリッド平面及び深度成分セットは、入力ランドマーク座標ベクトル(例えば変数inputLandmarksで表される)のアレイなどの入力データ構造に格納され得る。ランドマーク(複数可)1040及び/または3D位置(複数可)1042のそれぞれについて、ハイブリッド平面及び深度成分セットのうち、入力ランドマーク座標ベクトル(例えば入力x座標、y座標、及びz座標)を定義する対応ハイブリッド平面及び深度成分は、入力データ構造内のinputLandmarkiに格納され得る。逆投影機能1036は、推定3D位置(複数可)1044を、出力ランドマーク座標ベクトル(例えば変数outputLandmarkで表される)のアレイなどの出力データ構造に格納し得る。ランドマーク(複数可)1040及び/または3D位置(複数可)1042のそれぞれについて、出力ランドマーク座標ベクトル(例えば出力x座標、y座標、及びz座標)は、出力データ構造内のoutputLandmarkiに格納され得る。
【0039】
次に、ブロック1104にて、逆投影機能1036は、被写体S1と画像キャプチャデバイス(複数可)1004との間のオブジェクト距離(例えば変数subjectDistInMeterで表される)を特定する。被写体S1またはその一部の寸法(例えば高さ及び/または長さなど)を使用して、オブジェクト距離が特定され得る。
【0040】
例えば、被写体S1が成人である場合、平均ボーン長(例えば変数avgBoneLengthで表される)など、被写体S1に関連付けられたボーン長値が使用され得る。成人の妥当な身長または平均身長(例えば変数kHumanHeightInMeterで表される)に、乗数(例えば0.2)を乗算して、平均的な人の平均的な現実世界ボーン長(例えば変数kHumanBoneLengthInMeterで表される)が推定され得る(例えばkHumanBoneLengthInMeter=kHumanHeightInMeter*0.2)。乗数(例えば0.2)は、平均的な人間の身長に対するボーン長の比率の統計に基づき得る。撮影された被写体S1の身長が判明している実施形態では、ボーン長値を得るために、その身長に0.2を乗算することによりボーン長値が計算され、ニューラルネットワーク(複数可)1032により推論されるランドマーク(複数可)1040及び/またはロトスコープツール1034から取得される3D位置(複数可)1042のより精度の高い逆投影が達成され得る。さらに、いくつかの実施形態では、ボーン長値は、現実世界の被写体S1の実際の身長と一致または対応するように、オペレータによりカスタマイズまたは修正され得る。被写体S1のボーン長値が判明している場合、逆投影機能1036は、メモリ1012から及び/またはユーザインターフェース1014を介してユーザから、ボーン長値を取得し得る。
【0041】
逆投影機能1036は、ハイブリッド平面及び深度成分セットを使用して、寸法(例えばボーン長値)を取得し得る。例えば、被写体S1が人間である場合、ブロック1104にて、逆投影機能1036は、ハイブリッド平面及び深度成分セットを使用して、被写体S1のボーン長値を取得し得る。ボーン長値は、ジョイントを表すハイブリッド平面及び深度成分セットに少なくとも部分的に基づいて計算される平均ボーン長(例えば変数avgBoneLengthで表される)であり得る。逆投影機能1036は、変数avgBoneLengthの値を、ハイブリッド平面及び深度成分セット(例えば変数inputLandmarksで表される)から算出される3D距離として、計算し得る。ハイブリッド平面及び深度成分セットは、ランドマーク(複数可)1040及び/または3D位置(複数可)1042のそれぞれのx座標、y座標、及びz座標を含み得るが、Z座標がX座標及びY座標と未連結であり得るため、x座標、y座標、及びz座標の値は、正確なデカルト座標ではあり得ない。言い換えると、x座標及びy座標は、第1の基準点(例えばx軸とy軸の原点)に関連し得、z座標は、別の第2の基準点(例えばキャラクタの境界ボックスの重心)に関連し得る。しかし、特にx軸とy軸の原点が入力画像(複数可)により定義される空間内の中心に配置される場合(例えば中心から外側に広がっていく場合)、x座標、y座標、及びz座標は、同じスケールを有し得るため、正確なデカルト座標に十分近いとみなされ、ボーン長値の算出及び近似を行うことができる。
【0042】
ハイブリッド平面及び深度成分セット(例えば変数inputLandmarksで表される)が正規化画像空間内ですべてエンコードされる場合、逆投影機能1036は、ボーン長値(例えば変数avgBoneLengthの値)をカメラセンサメトリックサイズ(例えば変数kCCDSizeInMeterで表される)で乗算することにより、ボーン長値をメトリック表現に変換し得る(例えばavgBoneLengthInMeter=avgBoneLength*kCCDSizeInMeter)。
【0043】
次に、ブロック1104にて、逆投影機能1036(図10を参照)は、寸法(例えば変数avgBoneLengthInMeterの値)を使用して、現実世界におけるz軸に沿った被写体S1(例えば図4では「実際のオブジェクト」とラベル表示される)と画像キャプチャデバイス(複数可)1004の開口部との間のオブジェクト距離(例えば変数subjectDistInMeterで表される)を特定し得る。図4は、方法1100の理解を促すために変数名がラベル表示された、第2のピンホールカメラモデル200を示す。図4に示されるように、逆投影機能1036(図10を参照)は、ピンホールカメラモデル200、想定カメラ焦点長(例えば変数kFocalLengthInMeterで格納される)、平均的な人の平均的な現実世界ボーン長(例えば変数kHumanBoneLengthInMeterで格納される)、及びボーン長値を利用することで、画像キャプチャデバイス(複数可)1004から被写体S1のオブジェクト距離の近似を算出し得る(例えばsubjectDistInMeter=kHumanBoneLengthInMeter/avgBoneLengthInMeter*kFocalLengthInMeter)。
【0044】
次に、ブロック1106にて、逆投影機能1036(図10を参照)は、倍率(例えば変数magnificationScalerで表される)を計算する。例えば、逆投影機能1036は、ブロック1104で取得されたオブジェクト距離(例えば変数subjectDistInMeterで表される)を使用して、倍率を計算し得る(例えばmagnificationScaler=subjectDistInMeter/kFocalLengthInMeter)。非限定的な例として、逆倍率式(式3)を使用して、以下の式4が得られ得る。
【数4】
【0045】
ブロック1108にて、逆投影機能1036(図10を参照)は、投影方向及び投影距離を特定する(inputLandmark内のinputLandmarkiごとに)。ブロック1108にて、逆投影機能1036は、任意で、例えば以下の式5を使用して、正規化された画像空間のx座標及びy座標を中心に配置し得る。
inputLandmarki.xy=inputLandmarki.xy-[0.5,0.5] 式5
逆投影機能1036は、例えば式6を使用して、正規化された画像空間座標から、想定されるカメラセンサのメトリックサイズを利用したメトリック表現に、座標を変換し得る。
inputLandmarki=inputLandmarki*kCCDSizeInMeter 式6
図2を参照すると、座標系は、画像204(例えばCCD平面)をz=0に配置し、開口部202(カメラ点とも称される)を、[0,0,kFocalLengthInMeter]に、-zを見る(すなわち-z方向を向く)ように配置するため(図2を参照)、逆投影機能1036(図10を参照)は、例えば以下の式7を使用して、投影方向(例えば変数projectDirectionで表される)を、変数inputLandmarkiに格納されたx座標及びy座標、ならびにゼロを用いたz座標から、開口部202への方向として、計算し得る。
projectionDirection=normalize([inputLandmarki.xy,0]-[0,0,kFocalLengthInMeter] 式7
逆投影機能1036は、例えば以下の式8を使用して、変数inputLandmarkiに格納されたx座標及びy座標、ならびにゼロを用いたz座標から、開口部202までの投影距離(例えば変数projectedPointDistanceで表される)を計算し得る。
projectedPointDistance=magnitude([inputLandmarki.xy,0]-[0,0,kFocalLengthInMeter] 式8
【0046】
次いで、ブロック1112にて、逆投影機能1036(図10を参照)は、例えば以下の式9を使用して、ランドマーク(複数可)1040(または3D位置(複数可)1042)のうちの対応するものから、開口部202すなわちカメラ点までの逆投影距離(例えば変数unprojectedPointDistanceで表される)を特定する(inputLandmark内のinputLandmarkiごとに)。
unprojectedPointDistance=projectedPointDistance*magnificationScaler式9
式9では、被写体S1が平坦であると想定され得る。用語「平坦」は、Z軸に垂直な垂直平面(開口部202からオブジェクト距離に位置する)に、被写体S1が投影されたことを意味する。
【0047】
次に、ブロック1114にて、逆投影機能1036(図10を参照)は、例えば以下の式10を使用して、逆投影出力ランドマーク座標ベクトル(例えば変数outputLandmarkiで表される)を推定する(inputLandmark内のinputLandmarkiごとに)。
outputLandmarki=[0,0,kFocalLengthInMeter]+projectionDirection*unprojectedPointDistance 式10
ブロック1114で生成された推定は、被写体S1が平らであるかのように被写体S1を扱い、機械学習プロセス(複数可)(例えばニューラルネットワーク(複数可)1032)により特定されたz座標を無視する。
【0048】
次に、ブロック1116にて、逆投影機能1036(図10を参照)は、例えば以下の式11を使用して、inputLandmark内の各inputLandmarkiの相対的深度に倍率を適用して、拡大ランドマーク相対的深度(例えば変数depthDeltaで表される)を取得する。
depthDelta=inputLandmarki.z*magnificationScaler/subjectDistInMeter*unprojectedPointDistance 式11
【0049】
次に、ブロック1118にて、逆投影機能1036は、例えば以下の式12を使用して、outputLandmark内の各outputLandmarkiの相対的深度を逆投影する。
outputLandmarki=outputLandmarki-(projectionDirection*depthDelta) 式12
よって、ブロック1118にて、逆投影機能1036(図10を参照)は、変数outputLandmarkに格納される推定3D位置(複数可)1044(図10を参照)を推定する。ブロック1118の後、方法1100は終了し得る。
【0050】
図10を参照すると、推定3D位置(複数可)1044(変数outputLandmarkに格納される)は、世界空間から画像空間(例えばハイブリッド平面及び深度成分セット)に再投影し戻され得、変数inputLandmarksに格納される。例えば、逆投影機能1036は、推定3D位置(複数可)1044を変数inputLandmarksに格納し得る。次に、逆投影機能1036は、方法1100に関して説明された動作を逆に行い、逆投影された被写体S1を表す世界空間入力ランドマーク座標ベクトル(例えば変数inputLandmarksで表される)を再投影し、被写体画像を表すランドマーク座標ベクトル(例えば変数outputLandmarksで表される)を出力し得る。
【0051】
図5に示されるように、ロトスコープツール1034は、2Dジョイントポジション(例えばランドマーク(複数可)1040及び/または3D位置(複数可)1042のx座標及びy座標)を、入力画像(複数可)(例えばビデオフレーム)の上に重ねられた平面画像座標でレンダリングし得る。ユーザ(例えばアニメータまたは手動ラベラー)は、図6に示されるように、対応するジョイントランドマークが画像空間内の被写体のジョイントと正確に重なるように、2Dギズモ602をドラッグすることにより、平面座標におけるこのような投影された2Dジョイントポジションを修正し得る。しかし、深度座標は平面座標と連結されているため、手動のラベラーが深度座標を修正することは難しい。
【0052】
3Dポーズ推定の目標は、自然かつ連続的に見え、かつ入力画像に具現化された3Dポーズの2D投影結果を解釈する無限の解を、少なくとも1つ見つけることである。
【0053】
ロトスコープツール1034では、深度座標を修正する難しさは、ユーザがランドマークポジションを修正できる独立したビューで解決される。図6は、2D/平面ビューを示し、これは、入力画像(複数可)(ビデオフレーム)に描写された実際のオブジェクトの上にXY画像空間座標が重ねられた画像の直交ビューを表示し、これにより、ユーザは、ランドマークポジションの平面XT編集のみを行うことが可能となる。図8は、3D/深度ビューを示し、これは、逆投影された(例えば方法1100により取得された)ランドマークを3Dビューで表示し、これにより、ユーザは、カメラ点(すなわち開口部)から投影されたランドマークまで逆投影されたランドマークを通って延びる「投影線」に沿って(例えば画像キャプチャデバイス(複数可)1004の投影方向に沿って)のみ、任意の所与のランドマークポジションを修正することが可能となる。逆投影されたランドマークは、ランドマークごとに、投影カメラポジションからの光線が、逆投影されたランドマークポジション及び画像上の対応するランドマークポジションを通過するように、配置される。このように、ロトスコープツール1034により、ユーザは、整合している2D平面座標を変更することなく、入力画像に対応するように被写体S1のジョイントを通る画像キャプチャデバイス(複数可)1004の投影軸に沿って、単一の深度座標のみを手動で調整することが可能となり、よって、結合された3D座標は、入力画像(複数可)(例えばビデオフレーム)に具現化された2D投影ポーズと一致する。
【0054】
「Z反転」ポジションなど、ポーズ推定用のニューラルネットワークモデルにより生じる一般的な「深度」推論エラーは、ジョイントの深度マーカ802を被写体のルートジョイントの反対側へドラッグすることで、直観的に修正される。
【0055】
従来のキーフレームベースの3Dポーズエディタでは、ユーザは、3Dデカルト座標のx成分及びy成分から独立して、3Dデカルト座標の「z」成分を修正することが可能である。しかし、デカルトz成分を修正した結果、画像平面に投影されたジョイントの平面XYは、参照画像内の被写体の対応するジョイントに重ならなくなる場合がある。ジョイントポジションのデカルトx成分及びy成分は、画像平面に投影されたジョイントポジションの平面XY成分とは大きく異なるため、オペレータが、投影されたランドマークの平面XY成分が参照画像内の対応するジョイントと重ならなければならないという制約を破ることなく、逆投影されたジョイントポジションのデカルト座標を編集することは、非常に難しくあり得る。
【0056】
ボーン長及びボーン対称性の厳密な想定を使用して、ユーザの座標調整を制限し、手動調整の次元をさらに削減することができる。
【0057】
人間をモデル化する(例えば多関節人型モデルを作成することによる)ことに加えて、システム1000を使用して、任意の多関節型多体構造または単一3Dオブジェクトのモデルが生成され得る。方法1100(図11を参照)及びロトスコープツール1034は、多関節人型モデルから得られたランドマーク(複数可)1040とともに使用されるものとして説明及び図示されたが、システム1000は、このような多関節人型モデルとの使用に限定されない。具体的な例として、被写体S1は、多関節人型モデル以外であってもよく、2D入力画像(複数可)(例えばビデオ)からニューラルネットワーク(複数可)1032により推論されたハイブリッド平面及び深度成分は、ロトスコープツール1034を介してリファインまたは編集され得る。多関節人型スケルトンモデルは、6自由度(DOF)を有するルートジョイントを除き、ジョイント当たり最大3DOFを有する多関節型多体モデルであり得る。このような多関節人型モデルを、ジョイントに任意のDOFを有する任意の多関節型多体モデルに一般化することは、簡単である。ロトスコープツール1034を使用して、多関節型多体モデルを描写する2D入力画像(複数可)(例えばビデオ)から推論された(例えばニューラルネットワーク(複数可)1032による)3Dポーズに基づいて、任意の多関節型多体モデルの3Dポーズがリファイン及び編集され得る。
【0058】
多関節人型スケルトンモデルは、6DOFを有する単一3Dオブジェクトにも一般化され得る。このような一般化では、「ジョイント」(例えばランドマーク(複数可)1040で表される)は、3Dオブジェクトの最終的頂点に一般化され得る。3Dオブジェクトの最終的頂点は、3Dオブジェクトの3Dモデルの3Dポーズ(ポジション及び配向)、形状、及び寸法を一意に定義し得る頂点セットである。例えば、3D立方体形状の3Dオブジェクトの場合、最終的頂点の例は、立方体の4つの角である。このような一般化により、ロトスコープツール1034を使用して、3Dオブジェクトを描写する2D入力画像(複数可)(例えばビデオ)から推論された(例えばニューラルネットワーク(複数可)1032による)3Dオブジェクトの3Dポーズ(複数可)及び/または形状(複数可)がリファイン及び編集され得る。
【0059】
システム1000を使用して、機械学習プロセス(複数可)(例えば知覚ディープニューラルネットワークモデル(複数可))により推論された、ランドマーク(複数可)1040に関連付けられたハイブリッド平面XY及び深度から、アニメーション及びモーションキャプチャのための被写体S1のポーズ、ポジション、及び配向の完全3D表現が再構成され得る。システム1000により、オペレータ及び/またはユーザは、「ロトスコープ」スタイル(例えばロトスコープ1034)で、ランドマーク(例えばランドマーク(複数可)1040、3D位置(複数可)1042、及び/または推定3D位置(複数可)1044)の平面XY成分と深度成分(z座標値により推定される)を独立して編集することにより、2D入力画像(複数可)から機械学習プロセス(複数可)(例えば知覚ディープニューラルネットワークモデル(複数可))により推論された3Dポーズ(例えば人間に関する)を編集することが可能になり得る。編集結果(例えば3D位置(複数可)1042)は、トレーニングデータセットに統合され、機械学習プロセス(複数可)(例えば3Dポーズ推定DNNと称され得る知覚ディープニューラルネットワークモデル(複数可))を、より高い精度と汎用性でトレーニングするために使用され得る。編集結果は、2D入力画像(複数可)及び/またはビデオからAIにより生成される3Dアニメーションの品質を向上させるために使用され得る。
【0060】
本開示の少なくとも1つの実施形態は、以下の25個の条項を考慮して説明され得る。
1.少なくとも1つの画像キャプチャデバイスによりキャプチャされた、被写体を描写する少なくとも1つの入力画像から、少なくとも1つの機械学習プロセスにより推論され、かつ前記被写体に関連付けられた少なくとも1つの第1のランドマークを取得することであって、前記少なくとも1つの第1のランドマークのそれぞれは、第1のx座標、第1のy座標、及び第1のz座標を含み、前記第1のz座標は、前記第1のx座標及び前記第1のy座標から連結解除されている、前記取得することと、1つ以上の第2のランドマークを計算することと、を含む方法であって、前記計算することは、前記少なくとも1つの第1のランドマークのそれぞれに関して、前記少なくとも1つの画像キャプチャデバイスから、前記第1のx座標及び前記第1のy座標の位置までの投影方向及び投影距離を特定することと、前記少なくとも1つの第1のランドマークのそれぞれに関して、前記第1のz座標、前記投影方向、及び前記投影距離に少なくとも部分的に基づいて、前記1つ以上の第2のランドマークのうちの対応する少なくとも1つの第2のランドマークの座標セットを推定することであって、前記座標セットは、相互連結された第2のx座標、第2のy座標、及び第2のz座標を含む、前記推定することと、により実行される、前記方法。
【0061】
2.前記少なくとも1つの機械学習プロセスは、1つ以上の知覚ディープニューラルネットワークを含む、条項1に記載の方法。
【0062】
3.前記少なくとも1つの第1のランドマークの一部に少なくとも部分的に基づいて、寸法値を特定することと、z軸に沿って前記z軸の原点と前記少なくとも1つの画像キャプチャデバイスとの間に延びる被写体距離を特定することであって、前記被写体距離は、前記寸法値と、前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値とに少なくとも部分的に基づいて特定される、前記特定することと、前記被写体距離及び前記焦点長値に少なくとも部分的に基づいて倍率を計算することであって、前記少なくとも1つの第1のランドマークのそれぞれに関して、前記対応する少なくとも1つの第2のランドマークの前記座標セットは、前記倍率に少なくとも部分的に基づいて推定される、前記計算することと、をさらに含む、条項1または2に記載の方法。
【0063】
4.前記寸法値は、前記少なくとも1つの画像に描写される前記被写体のボーン長の推定値である、条項3に記載の方法。
【0064】
5.前記少なくとも1つの第1のランドマークのそれぞれに関して、前記対応する少なくとも1つの第2のランドマークの前記座標セットは、前記第1のz座標、前記投影方向、前記投影距離、前記倍率、及び前記焦点長値に少なくとも部分的に基づいて計算された相対値に少なくとも部分的に基づいて推定される、条項3または4に記載の方法。
【0065】
6.前記少なくとも1つの第1のランドマークのそれぞれは、ジョイントまたは最終的頂点の推定位置に対応する、条項1~5のいずれか1項に記載の方法。
【0066】
7.前記少なくとも1つの第1のランドマークのうちの1つ以上、または前記1つ以上の第2のランドマークのうちの少なくとも1つを含む1つ以上の編集ランドマークに対し、修正を受け取るための編集ツールを表示することと、前記1つ以上の編集ランドマークを、前記少なくとも1つの機械学習プロセスに対しトレーニングデータセットで提供することと、をさらに含む、条項1~6のいずれか1項に記載の方法。
【0067】
8.前記少なくとも1つの第1のランドマークのうちの1つ、または前記1つ以上の第2のランドマークのうちの1つを含む特定のランドマークに対し、修正を受け取るための編集可能な表示を表示することであって、前記編集可能な表示は、x軸またはy軸の少なくとも1つに沿ってのみ、前記特定のランドマークの移動を許可する、前記表示することを、さらに含む、条項1~7のいずれか1項に記載の方法。
【0068】
9.前記少なくとも1つの第1のランドマークのうちの第1の選択されたランドマーク、または前記1つ以上の第2のランドマークのうち、前記第1の選択されたランドマークに関して計算された第2の選択されたランドマークを含む特定のランドマークに対し、修正を受け取るための編集可能な表示を表示することであって、前記編集可能な表示は、前記第1の選択されたランドマークに関して特定された前記投影方向に沿ってのみ、前記特定のランドマークの移動を許可する、前記表示することを、さらに含む、条項1~8のいずれか1項に記載の方法。
【0069】
10.少なくとも1つのプロセッサと、命令を格納するメモリと、を備えたシステムであって、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、少なくとも1つの画像キャプチャデバイスによりキャプチャされた少なくとも1つの画像に少なくとも部分的に基づいて特定された入力座標セットを取得することであって、前記入力座標セットは、第1の座標、第2の座標、及び第3の座標を含み、前記第3の座標は、前記第1の座標及び前記第2の座標から連結解除されている、前記取得することと、前記第3の座標には基づかないが、前記第1の座標及び前記第2の座標に少なくとも部分的に基づいて、中間的座標セットを推定することと、前記第3の座標に少なくとも部分的に基づいて、出力座標セットを推定することと、を、前記システムに実行させる、前記システム。
【0070】
11.前記第3の座標は、深度に対応する、条項10に記載のシステム。
【0071】
12.前記入力座標セットは、1つ以上の知覚ディープニューラルネットワークにより生成された、条項10または11に記載のシステム。
【0072】
13.前記中間的座標セットを推定することは、z軸に沿って前記入力座標セットと前記少なくとも1つの画像キャプチャデバイスとの間に延びる被写体距離を特定することと、前記被写体距離と、前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値とに少なくとも部分的に基づいて、倍率を計算することと、前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向及び投影距離を特定することであって、前記中間的座標セットは、前記第1の座標、前記第2の座標、前記被写体距離、前記投影方向、前記投影距離、前記倍率、及び前記焦点長値に少なくとも部分的に基づいて計算される、前記特定することと、を含む、条項10~12のいずれか1項に記載のシステム。
【0073】
14.前記被写体距離を特定することは、前記入力座標セットに少なくとも部分的に基づいて、寸法値を特定することを含み、前記被写体距離は、前記寸法値及び前記焦点長値に少なくとも部分的に基づいて特定される、条項13に記載のシステム。
【0074】
15.前記寸法値は、前記少なくとも1つの画像に描写された被写体のボーン長の推定値である、条項14に記載のシステム。
【0075】
16.前記出力座標セットを推定することは、倍率を計算することと、前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向及び投影距離を特定することと、前記中間的座標セットから相対値を減算することであって、前記相対値は、前記第3の座標、前記投影方向、前記投影距離、前記倍率、及び前記少なくとも1つの画像キャプチャデバイスに関連付けられた焦点長値に少なくとも部分的に基づいて計算される、前記減算することと、を含む、条項10~15のいずれか1項に記載のシステム。
【0076】
17.前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記入力座標セットまたは前記出力座標セットのうちの少なくとも1つを含む編集座標セットに対し、修正を受け取るための編集ツールを表示することを、前記システムに実行させる、条項10~16のいずれか1項に記載のシステム。
【0077】
18.前記編集座標セットは、x座標、y座標、及びz座標を含み、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記少なくとも1つの画像キャプチャデバイスから前記第1の座標及び前記第2の座標の位置までの投影方向を特定することと、前記編集ツールを使用するグラフィカルユーザインターフェース(「GUI」)を生成することであって、前記GUIは、前記x座標または前記y座標の少なくとも1つにのみ関わる第1のポジションに対し、修正を受け取る2Dビューを生成するように動作可能であり、前記GUIは、前記投影方向に沿ってのみ、前記編集座標セットの第2のポジションに対し、修正を受け取る3Dビューを生成するように動作可能である、前記生成することと、を前記システムに実行させる、条項17に記載のシステム。
【0078】
19.前記入力座標セットは、1つ以上の機械学習プロセスにより生成され、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記編集座標セットを、前記1つ以上の機械学習プロセスに対しトレーニングデータセットで提供することを、前記システムに実行させる、条項17または18に記載のシステム。
【0079】
20.前記入力座標セットは、ジョイントまたは最終的頂点の位置を推定する、条項10~19のいずれか1項に記載のシステム。
【0080】
21.前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記出力座標セットに少なくとも部分的に基づいて、少なくとも1つの新たな画像を生成することを、前記システムに実行させる、条項10~20のいずれか1項に記載のシステム。
【0081】
22.前記少なくとも1つの画像をキャプチャするビデオカメラを備えた前記少なくとも1つの画像キャプチャデバイスをさらに備え、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記少なくとも1つの画像から前記入力座標セットを推論する1つ以上の機械学習プロセスを、前記システムに実行させる、条項10~21のいずれか1項に記載のシステム。
【0082】
23.少なくとも1つのプロセッサと、命令を格納するメモリと、を備えたシステムであって、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、第1の座標、第2の座標、及び第3の座標を含むランドマークの投影方向を特定することと、第1の編集可能な表示及び第2の編集可能な表示を生成するように動作可能なグラフィカルユーザインターフェース(「GUI」)を表示することであって、前記第1の編集可能な表示は、前記第1の座標及び前記第2の座標のみに対する修正を受け取り、前記第2の編集可能な表示は、前記投影方向に沿ってのみ、前記ランドマークに対する修正を受け取る、前記表示することと、を、前記システムに実行させる、前記システム。
【0083】
24.前記ランドマークは、1つ以上の機械学習プロセスにより生成され、前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記ランドマークを、前記1つ以上の機械学習プロセスに対しトレーニングデータセットで提供することを、前記システムに実行させる、条項23に記載のシステム。
【0084】
25.前記命令は、前記少なくとも1つのプロセッサにより実行された場合、前記ランドマークを使用して1つ以上の画像を生成するために、前記ランドマークを1つ以上のプロセスに提供することを、前記システムに実行させる、条項23または24に記載のシステム。
【0085】
先述の実施形態は、異なる構成要素を示し、これは、異なる他の構成要素内に含まれ、または異なる他の構成要素と接続される。このような示されたアーキテクチャは単なる例であり、実際に、同じ機能を達成する数多くの他のアーキテクチャが実装されてもよいことが理解されよう。同じ機能を達成する構成要素のいずれの配置も、所望の機能が達成されるように、概念的な意味で、効果的に「関連付け」られる。ゆえに、アーキテクチャまたは介在構成要素に関係なく、本明細書で特定の機能を達成するために組み合わせられた任意の2つの構成要素は、所望の機能が達成されるように、相互に「関連付けられる」と見なされ得る。同様に、このように関連付けられた任意の2つの構成要素は、所望の機能を達成するために、相互に「動作可能に接続される」または「動作可能に連結される」ともみなされ得る。
【0086】
本発明の特定の実施形態が示され説明されたが、本明細書の教示に基づいて、本発明及びそのより広範な態様から逸脱することなく、変更及び修正が行われてもよく、ゆえに、添付の特許請求は、すべてのこのような変更及び修正を、本発明の真の趣旨及び範囲内にあるものとして、特許請求の範囲内に包含する意図があることが、当業者には明らかであろう。さらに、本発明は添付の特許請求の範囲によってのみ定義されることを、理解されたい。一般的に、本明細書、特に添付の特許請求の範囲(例えば添付の特許請求の範囲の本文)で使用される用語は、通常、「非限定」用語が意図されることが、当業者には理解されよう(例えば用語「~を含む(including~)」は、「~を含むがこれに限定されない」と解釈されるべきであり、用語「~有する(having~)」は、「~を少なくとも有する」と解釈されるべきであり、用語「~含む(includes~)」は、「~を含むがこれに限定されない」と解釈されるべきである、など)。導入される請求項の記述に特定の数が意図される場合、請求項にこのような意図が明示的に記述され、このような記述がない場合は、このような意図が存在しないことが、当業者にはさらに理解されよう。理解を促すために、例えば、下記の添付の特許請求の範囲には、請求項の記述を導入する導入句「少なくとも1つの(at least one)」及び「1つ以上の(one or more)」の使用が含まれ得る。しかし、このような句の使用は、不定冠詞「a」または「an」による請求項の記述の導入により、このように導入された請求項の記述を含むいずれの特定の請求項も、このような記述を1つのみ含む発明に限定されることを意味すると、解釈されるべきではなく、同一の請求項が導入句「1つ以上の(one or more)」または「少なくとも1つの(at least one)」、及び「a」または「an」などの不定冠詞を含む場合でも、そのように解釈されるべきではなく(例えば「a」及び/または「an」は通常、「少なくとも1つの(at least one)」または「1つ以上の(one or more)」を意味すると解釈されるべきである)、請求項の記述を導入するために用いられる定冠詞の使用に対しても、同じことが当てはまる。さらに、導入される請求項の記述に特定の数が明示的に記述される場合でも、このような記述は、通常、少なくとも記述された数を意味すると解釈されるべきであることを、当業者は理解するであろう(例えば他の修飾語句のない「2つの記述」だけの記述は、通常、少なくとも2つの記述、または2つ以上の記述を意味する)。
【0087】
本明細書で使用される一連の項目をつなぐ用語(例えば用語「または」、用語「及び、」など)は、具体的に別段の明記がない限り、または文脈と明らかに矛盾しない限り、一連の項目全体には適用されない。例えば、「複数のA、B、及びC」という語句(オックスフォードカンマの有無にかかわらず)は、列挙された一連の項目のうちの少なくとも2つを含む部分集合を指す。よって、この語句は、(1)少なくとも1つのAと少なくとも1つのB(Cを除く)、(2)少なくとも1つのAと少なくとも1つのC(Bを除く)、(3)少なくとも1つのBと少なくとも1つのC(Aを除く)、及び(4)少なくとも1つのAと少なくとも1つのBと少なくとも1つのC、を指す。同様に、「複数のA、B、またはC」という語句(オックスフォードコンマの有無にかかわらず)は、列挙された一連の項目のうちの少なくとも2つを含む部分集合を指す。よって、この語句も、(1)少なくとも1つのAと少なくとも1つのB(Cを除く)、(2)少なくとも1つのAと少なくとも1つのC(Bを除く)、(3)少なくとも1つのBと少なくとも1つのC(Aを除く)、及び(4)少なくとも1つのAと少なくとも1つのBと少なくとも1つのC、を指す。
【0088】
別の例として、「A、B、及びCのうちの少なくとも1つ」または「A、B及びCのうちの少なくとも1つ」という形式の語句(すなわちオックスフォードコンマの有無にかかわらず同じ語句)などの接続語は、具体的に別段の明記がない限り、または文脈と明らかに矛盾しない限り、項目、用語などが、AまたはBまたはCのいずれか、A及びB及びCの集合のうちの任意の非空部分集合、あるいは少なくとも1つのA、少なくとも1つのB、または少なくとも1つのCを含む、文脈に矛盾しない、矛盾する場合は除外される任意の集合であり得ることを示すために一般的に使用される文脈で、別様に理解される。例えば、3つの要素を有する集合の実施例では、接続語句「A、B、及びCのうちの少なくとも1つ」及び「A、B及びCのうちの少なくとも1つ」は、{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}、及び明示的にまたは文脈的に矛盾しない場合は、部分集合として{A}、{B}、及び/または{C}を有する任意の集合(例えば複数の「A」を有する集合)、以上の集合のうちのいずれかを指す。よって、このような接続語には、通常、少なくとも1つのA、少なくとも1つのB、及び少なくとも1つのCがそれぞれ、特定の実施形態に存在する必要があることを意味する意図はない。同様に、「A、B、またはCのうちの少なくとも1つ」及び「A、BまたはCのうちの少なくとも1つ」などの語句は、「A、B、及びCのうちの少なくとも1つ」及び「A、B及びCのうちの少なくとも1つ」が、異なる意味が明示的に記載されない限り、または文脈から明らかでない限り、{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}、以上の集合のうちのいずれかを指すことと、同じことを指す。
【0089】
従って、本発明は、添付の特許請求の範囲による場合を除き、限定されない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【外国語明細書】