ディープ モーション リターゲティングのためのスケルトン認識ネットワーク

論文 Web サイト: Skeleton-Aware Networks for Deep Motion Retargeting
論文コード: https://github.com/DeepMotionEditing/deep-motion-editing
論文プロジェクト: https://deepmotionediting.github.io/retargeting
論文ソース: ACM Transactions on Graphics (TOG)、2020年論文
単位: 北京電影学院、テルアビブ大学、北京大学

まとめ

  • 異なる構造を持ちながらも同型グラフに対応するスケルトン間のデータ駆動型モーション リターゲットのための新しい深層学習フレームワークを導入します。
  • 重要なのは、私たちの方法は、トレーニング セット内の動作間の明示的なペアリングを必要とせずに、再局在化する方法を学習することです。
  • 私たちは、異なる同型スケルトンを、スケルトン プーリングと呼ぶ一連のエッジ マージ操作を通じて共通のプリミティブ スケルトンに還元できるという事実を利用します
  • したがって、私たちの主な技術貢献は、新しい微分可能な畳み込み、プーリングおよびアンプーリング演算子の導入です。
  • これらのオペレータはスケルトンを認識します。つまり、ボーンの階層とジョイントの隣接関係を明示的に考慮し、生のモーションを生のボーン ジョイントに関連付けられた深い時間的特徴のコレクションに変換します。
  • 言い換えれば、私たちのオペレーターは、一連の準同型スケルトンが共有する共通の潜在空間にモーションを埋め込む、新しいディープ モーション処理フレームワークの構成要素を形成します。
  • したがって、リダイレクションは、この潜在空間をエンコードおよびデコードするだけで実現できます。
  • 私たちの実験は、私たちのフレームワークが既存のフレームワーク手法と比較して、一般的なモーション処理だけでなくモーションのリダイレクトにも効果的であることを示しています。
  • 私たちの方法は、さまざまなスケルトンに適用されるペアごとのモーションを含む合成データセットでも定量的に評価されます。
  • 私たちの知る限り、私たちの方法は、ペアのサンプルなしで、異なるサンプリングされた運動連鎖を持つスケルトン間でリターゲットを実行する最初の方法です。

1 はじめに

  • 人間の動きを捉えることは、動作解析、コンピュータ アニメーション、および人間とコンピュータのインタラクションにおける基本的なタスクです。
  • モーション キャプチャ (MoCap)システムでは通常、出演者が一連のマーカーを着用する必要があり、その位置が磁気センサーまたは光学センサーによってサンプリングされ、3D 骨格ポーズの時系列が生成されます。
  • モーション キャプチャのセットアップが異なれば、マーカー構成やソフトウェアの使用も異なるため、キャプチャされたボーンの構造や関節の数が異なる場合があり、キャプチャされた個人ごとに骨の長さや比率が異なる場合があります
  • したがって、モーション リターゲットは、同じモーション キャプチャ セットアップ内で、キャプチャされたモーションを 1 つの多関節キャラクタから別のキャラクタに転送するだけでなく、異なるセットアップ間でも必要です。
  • 後者は、さまざまなモーション処理タスク向けに、設定に依存しない一般的なデータ駆動型モデルをトレーニングするために、複数の異なるモーション データセットのデータを使用する場合にも不可欠です。
  • ディープ ニューラル ネットワークは、畳み込みやプーリング操作に適した画像やビデオの規則的なグリッド表現を利用して、多くのコンピューター ビジョン タスクにおいて最先端の技術に革命をもたらしました。
  • 画像とは異なり、さまざまな特徴を持つ骨は不規則な接続を示します。さらに、骨格の構造は通常、層状になっています
  • これらの違いは、CNN で一般的に使用されている既存の演算子が関節動作の分析と合成には最適な選択ではない可能性があることを示唆しています。
  • この論文では、深層学習用の多関節スケルトン モーション表現と、畳み込み、プーリング、アンプーリングを含むいくつかの微分可能な演算子で構成される新しいモーション処理フレームワークを紹介します。これらの演算子は、この表現を操作します。
  • オペレーターはスケルトンを認識します。これは、スケルトン構造 (階層とジョイントの隣接関係) を明示的に考慮することを意味します。
  • これらの演算子は、新しい深いフレームワークの構成要素を形成し、浅い層は関節の回転間の局所的な低レベルの相関関係を学習し、より深い層は身体部分間のより高いレベルの相関関係を学習します
  • 提案されたモーション処理フレームワークは、モーション分析と合成学習に基づいたさまざまなタスクに使用できます。この作業では、同じエンドエフェクタのセットを持つスケルトン間のモーション リターゲットのタスクに焦点を当てていますが、ルートからこれらのエンドエフェクタまでの運動連鎖上のジョイントの数は異なる場合があります。
  • このスケルトンは同相グラフ (位相等価) で表すことができます。
  • モーションのリターゲットは長年の問題ですが、現在の方法では、構造や関節の数が異なるボーン間でリターゲットを自動的に実行することはできません。
  • このシナリオでは、異なるスケルトン間の対応を手動で指定する必要があり、これにより、避けられないリダイレクト エラーが発生することがよくあります。アニメーターはキーフレームを操作してこれらのエラーを手動で修正する必要があり、これは非常に面倒なプロセスです。
  • これまでの研究では、共有潜在空間を使用して、マルチモーダルのペアになっていない画像変換タスクを効率的に実行できることが示されています。
  • これらの作品では、異なるドメインの同じサイズの画像が、そのスタイルから分離された共有スペース、たとえば画像の内容に埋め込まれています。
  • 画像では、このような埋め込みは標準の畳み込み演算子とプーリング演算子を使用して簡単に実装できますが、異なる構造を持つボーンの場合は当てはまりません。
  • この作業では、スケルトン対応のモーション処理フレームワーク、特にスケルトン プーリングを活用して、さまざまなスケルトンによって実行されるモーションを共有の潜在ドメイン空間に埋め込みます。
  • 私たちの重要なアイデアは、隣接するエッジ/スケルトンのフェーズのペアをマージすることによって、異なるが同型のスケルトンを、トレーニング データ内のすべての異なるスケルトンの共通の祖先とみなすことができる、共通のプリミティブ スケルトンに還元できるという事実を利用します。
  • 骨の畳み込み層とプーリング層のインターリーブを通じて、共有潜在空間は、元の骨の関節に関連する深い時間的特徴のコレクションで構成されます。潜在空間は、各スケルトン構造 (ドメイン) のエンコーダーとデコーダーのペアによって共同で学習されます。
  • さらに、ディープ モーション表現を活用して、スケルトンの形状プロパティからモーション プロパティを分離します。これにより、ディープ フィーチャ空間でシンプルなアルゴリズムを使用してモーション リターゲットを実行できるようになります。
  • 静的 (関節オフセット) と動的 (関節回転) で構成される元の低レベルのモーション表現と同様に、ディープ モーション機能も静的部分と動的部分に分割されます。
  • ただし、生の入力モーションでは、これら 2 つの部分は強く結合されています。つまり、特定の関節回転シーケンスが特定の骨の長さと骨の構造にバインドされています。
  • 対照的に、私たちのエンコーダーはそれらを分離することを学習します。つまり、基礎となるコードの動的部分はスケルトンから独立し、静的部分は共通の元のスケルトンに対応します。
  • 潜在空間のこの特性により、A エンコーダーによって生成された潜在コードを B デコーダーに入力するだけで、スケルトン A からスケルトン B に動きをリダイレクトすることが可能になります。
  • 要約すると、この研究における私たちの 2 つの主要な貢献は次のとおりです。
    (1) ディープ モーション表現と微分可能なスケルトンを意識した畳み込み、プーリングおよびアンプーリング演算子で構成される新しいモーション処理フレームワーク。
    (2) ジョイント数が異なるトポロジー的に同等なスケルトン間で、ペアになっていないモーションの方向転換を行うための新しい構造。

2. 関連作品

2.1 モーションリターゲティング

  • 従来のモーション リターゲティング手法は、特定のモーションに対して手動で作成された運動学的制約の最適化に依存しており、仮定を単純化する必要があります。
  • キャプチャされたモーション データの可用性が向上すると、データ駆動型のアプローチがより魅力的になります。すべてのデータ駆動型メソッドは、ソースとターゲットのアーティキュレーション構造が同一であることを前提としています。
  • いくつかの作品では、人間のモーション データを非ヒューマノイド キャラクターにリターゲットすることが検討されています。この場合、ソース スケルトンとターゲット スケルトンは大きく異なる可能性がありますが、上記の方法では、ターゲット キャラクタのスタイルで人物の動きをキャプチャする必要があります。
  • また、キャプチャしたアクション シーケンスからいくつかのキー ポーズを選択し、対応するキャラクター ポーズと一致させるか、対応する動きを組み合わせてマッピングを学習する必要もあります。
  • 前述の方法と同様に、このようなマッピングを学習するには、多くのポーズ間の対応が必要です。
  • キャラクターの動きのスタイルは、ボディ パーツのグループ (GBP) の動きによって表現できます。したがって、GBP 間の対応関係を確立し、元のモーションを維持するために制約付きの最適化を実行することにより、スケルトン構造全体でモーション スタイルの再方向付けを実現できます。これには、文字のペアごとに GBP とそれらの間の対応を定義する必要があります。
  • 密接に関連するもう 1 つの問題は、メッシュ変形伝達問題です。

2.2 神経運動処理

  • CNN を3D アニメーションに適用します。動きは 3 次元の関節位置の時系列として表され、コンボリューション カーネルは時間次元ではローカルですが、関節次元ではグローバルです (骨を含むすべての関節をサポートします)。したがって、関節の接続性と骨の階層構造は無視されます。
  • さらに、3D 関節位置を使用してモーションを表現することはモーションを完全には記述せず、アニメーションを抽出するには IK が必要です。
  • ジョイントの回転からのみ抽出された畳み込み特徴は、3D モーションを完全にキャプチャすることはできません。これは、同じセットのジョイント クォータニオンを異なるボーンに適用すると、異なるポーズが生じるためです。
  • 多関節特徴のスケルトンはグラフィカルに表現できるため、グラフ畳み込みネットワーク (GCN) をモーション データの処理に考慮できます。このようなネットワークでは、畳み込みフィルターがグラフ ノードとその近傍に直接適用されます。
  • 畳み込みに基づかないもう 1 つのオプションは、ディープ RNNを使用して時空間グラフを学習することです。
  • これらの方法の目的は、私たちの方法とは異なります (移動を予測することではなく、動きを予測することです)。

3. 概要

  • 私たちの目標は、構造は異なるがトポロジが同じであるボーン間でモーションをリターゲットするタスクを処理することです。

  • 重要なアイデアは、位相的に等価なスケルトンが同相グラフで表現できるという事実を利用することです。

  • 線形分岐に沿って 2 次ノードを削除すると、図 2 に示すように、そのようなグラフのペアを共通の最小グラフに縮小できます。簡略化されたパブリック グラフで表されるスケルトンをプリミティブ スケルトンと呼びます。
    ここに画像の説明を挿入します
    プーリング オペレーターはセカンダリ ノード (緑色の点) を削除し、それらの隣接するエッジをマージします。いくつかの集約ステップを経た後、異なる骨格構造は位相的に等価になり、骨格は共通のプリミティブ骨格に単純化されます。

  • この観察は、異なる同形骨格によって実行される動きを、元の骨格構造や骨格比率から独立した深い表現にエンコードすることを示唆しています。

  • 結果として得られる潜在空間は、異なる構造を持つスケルトンによって実行されるモーションに共通であり、ペアのトレーニング データを必要とせずに、データ駆動型のモーション リターゲットを学習するためにそれを使用します。

  • リターゲット プロセスは図 3 に示されています。モーション ドメインでトレーニングされたエンコーダー E_Aを使用し、同じ構造を持つスケルトンによって実行され、ソース モーションを共通の潜在空間にエンコードします。
    ここに画像の説明を挿入します
    ペアになっていないクロス構造モーションのリダイレクト。私たちのアーキテクチャは、さまざまな同形スケルトンの動きを、共通のプリミティブ スケルトンに対応する共有の深い潜在空間にエンコードします。この表現は、同じ領域内の骨によって実行される動き(構造内リターゲティング)、または別の同型領域から実行される動き (クロス構造リターゲティング)にデコードできます。

  • この空間から、潜在的な表現をターゲットのスケルトンによって実行される動きにデコードできます。

  • ターゲットのボーンは、構造は同じでもボーンの長さが異なる場合があります。その場合、デコードは同じドメインでトレーニングされたデコーダ D_Aによって行われます。

  • ただし、異なるドメインでトレーニングされたデコーダ D_Bを使用すると、異なる骨格構造間で動きを再局在化することもできます。

  • 上記の方法を実装するために、次の 2 つの新しいコンポーネントで構成される新しいディープ モーション処理フレームワーク
    を導入します。 (1)ディープ モーション表現モーション シーケンスは、グラフを構成する時間アーマチュアのセットとして表されます。各アーマチュアは、動的で時間に依存する特徴ベクトル (関節回転と呼ばれることが多い) と静的で時間に依存しない特徴ベクトル (バイアスと呼ばれることが多い) で構成されます。シフト)、図 4 に示すように。
    ここに画像の説明を挿入します
    静的-動的構造はキャラクター アニメーションにおける一般的な低レベル表現であり、私たちのフレームワークはそれを処理チェーンに沿って保持します。具体的には、2 つのブランチ (静的および動的) を使用して、低レベルの情報をモーション特徴の深い静的動的表現に変換します。
    (2)ディープスケルトンオペレーターアニメーション スケルトンに適用できる新しい微分オペレーターを定義しました。オペレーターはスケルトンを認識します。つまり、オペレーターはスケルトン構造 (階層とジョイントの隣接関係) を考慮します。
    これらのオペレーターを最適化可能なニューラル ネットワークに接続すると、浅い低レベルの局所的な関節相関と、深い高レベルのグローバルな身体部位の相関を表す深い時間的特徴を学習できるようになります。

4. スケルトンを意識した深度モーション処理

  • 以下では、モーション表現と新しいスケルトン畳み込み、プーリングおよびアンプーリング オペレーターを含むモーション処理フレームワークについて説明します。

4.1 動きの表現

  • 多関節フィーチャの運動学的表現を図 4 に示します。
  • 長さ T のモーション シーケンスは、静的コンポーネント S∈R J×Sと動的コンポーネント Q∈R T×J×Qによって記述されます。ここで、J はアーマチュア (スケルトン) の数、S と Q は静的特徴と動的特徴です。寸法 (通常は S = 3 および Q = 4)。
  • 静的コンポーネント S は、初期ポーズのスケルトンを記述する一連のオフセット(3D ベクトル) で構成され、動的コンポーネント Q は、各ジョイントの回転時間を指定します (運動チェーン内の親座標フレームを基準とした)。単位四元数で表されます
  • ルート ノード R ∈R Tx(S+Q)は、一連のグローバルな平行移動と回転(方向) として J 個のアーマチュア (その子) で個別に表されます。
  • 図 4 に示すように、スケルトン構造はツリー グラフで表され、ノードはジョイントとエンド エフェクターに対応し、エッジはアーマチュアに対応します。
  • したがって、J 個のアーマチュアを持つスケルトンの場合、グラフには J +1 個のノードがあります。
  • 接続性は運動連鎖 (ルート ジョイントからエンド エフェクターまでのパス) によって決定され、隣接リスト N d = {N1 d , N2 d ,…, NJ d } によって表されます。ここで、Ni d はi 番目のエッジを表します。ツリー内 距離は d 以下です (図 4 を参照)。

4.2 スケルトンの畳み込み

  • モーションは、時間依存の深度特徴を生成する動的ブランチと、静的深度特徴を生成する静的ブランチの 2 つの並列ブランチで処理されます両方のブランチには共通の機能があります。つまり、図 5 に示すように、コンボリューション カーネルはスケルトン構造を考慮してアーマチュア全体の局所的な特徴を計算します。
    ここに画像の説明を挿入します
    私たちのフレームワークは、2 つの並列ブランチ (動的および静的) で構成されるブロックを使用して、スケルトンの畳み込み、アクティベーション、およびスケルトンのプーリングを実行します。動的ブランチは、スケルトン時間畳み込み層への入力の一部として、タイル化および連結された静的フィーチャを受け取ります。静的ブランチは静的フィーチャでのみ動作します。
  • 図 6 に示すように、ダイナミック ブランチは、アーマチュアとタイムラインのローカル サポートを備えたカーネルを使用して、スケルトンから時間への畳み込みを実行します。
    ここに画像の説明を挿入します
    スケルトンの畳み込みとプーリング。スケルトン時間畳み込みカーネル (青や紫など) はローカル サポートを備えています。
    サポートは時間軸に沿って連続しています。アーマチュアの場合、各コアのサポートは、接続マップと、コアの「中心」にあるアーマチュアまでの距離 (d=1) によって決まります (左のスケルトンに示されています)。
    タイムラインに沿った重みは時間に対して不変ですが、異なるアーマチュア間では共有されません。
    右側のスケルトンは、連続するアーマチュア フィーチャのペアを 1 つのアーマチュア フィーチャにマージする、トポロジ保持スケルトン プーリングの結果を示しています。
  • タイムライン上のカーネルは時間的に不変ですが (つまり、カーネルの重みは時間の経過とともに共有されます)、異なるアーマチュア間では共有されないことに注意してください。これは、体のさまざまな部分がさまざまなモードで動くためです。したがって、各部分で抽出される特徴は固有のものになる可能性があります。たとえば、脊椎関節を中心としたカーネルによって抽出された特徴は、膝を中心とした特徴とは異なる可能性があると考えるのが合理的です。
  • 動きは静的特徴と動的特徴の組み合わせによって完全に記述されるため、コンボリューション カーネルが計算中にこれら 2 つのコンポーネントを考慮することが重要です。したがって、静的表現 S を時間軸に沿って並べて、その結果をチャネル軸に沿って Q に結合し、 M∈R T×J×(Q+S)を与えます。
  • 実際のアプリケーションでは、各アーマチュアにローカル サポート d を備えた動的ブランチでスケルトン時間畳み込みを適用することにより、次のようになります。
    ここに画像の説明を挿入します
    ここで、 M_j∈R T×(Q+S) はj 番目のアーマチュアの特性を表します。 W_ij∈ R k×( Q+S)×Kと b i_j∈R K は時間サポート k を持つ K 学習フィルターであり、∗ は時間 1 次元畳み込みを表します。畳み込み前後のアーマチュアの数が保持されることに注意してください。
  • 図 6 は 2 つのフレームワーク コンボリューション カーネル (赤と青) を示しており、それぞれが隣接するアーマチュアの異なるグループに適用されます。
  • 動的ブランチと比較すると、静的ブランチは静的特徴行列 S のみを入力として受け取り、動的部分を無視します。
  • これは、結果として得られる深い特徴空間の静的コンポーネントがスケルトンの構造のみに依存し、特定の動きには依存しないようにするための選択です。
  • したがって、静的畳み込み演算子は、(1) の動的畳み込み演算子の特殊なケースとみなすことができます。ここで、Q = 0 (つまり S 入力チャネル)、T = 1、k = 1 です。実際には、これは行列乗算演算子です。
  • 静的ブランチと動的ブランチは接続マップ Nd を共有するためブランチ間の次元と意味の一貫性を維持しながら、モーション シーケンスにスケルトンの畳み込みを再帰的に適用できます。
  • 特別なアーマチュアとみなされている root には 2 つの動的部分があることに注意してください。グローバル位置とグローバル回転です。これらは、サポートに最も近いアーマチュア (距離 d まで) と最後のアクチュエーターを含むカーネルによって畳み込まれます
  • サポートは、グローバル ルートの動きとエンドエフェクターのローカルな動きの間に低レベルの相関関係があるため、この方法で選択されます。これは、たとえば、ランニングやウォーキングで明確に観察できます。この接続により、グローバル情報をより深い動的プロパティに注入できます。

4.3 トポロジーを保持するスケルトン プール

  • スケルトン認識ネットワークがより高レベルの深いスケルトン時間的特徴を学習できるようにするために、次にアーマチュアのプーリングを定義します。これは、深い特徴をプーリングしながらメッシュ エッジをマージする MeshCNN フレームワークからインスピレーションを得たものです。
  • 一般に、プーリングにより、ネットワークは、指定された損失関数を満たすように最適化された低次元の特徴を抽出できる効率的な基礎 (カーネル) を学習することができます。
  • 時間信号や画像などの通常のデータをプーリングする場合、信号構造には本質的に連続性が暗黙的に含まれており、カーネル サイズによってプーリング領域が決まります。
  • この場合、対応する領域の特徴が (通常は平均化または最大化によって) 小さな均一なグリッドにマージされ、連続性も明確に定義されます。
  • アーマチュア上のプーリングを定義するにはさまざまな方法があります。私たちのプーリングはトポロジーを保持します。これは、アーマチュア (エッジ) が少なく含まれるプールされたスケルトン (グラフ) が入力に対して準同型であることを意味します。
  • 具体的には、プーリング オペレーターは、隣接するエッジのフィーチャをマージすることで次数 2 のノードを削除します。この定義については次のセクションで説明します。
  • プーリングは、次数 2 のノードを接続する連続エッジ シーケンスを持つスケルトン ブランチに適用されます。ここで、プーリング領域は、サイズが p 以下の互いに素なエッジのセット {P1, P2,…,PJ≈} です。ルートに最も近い剰余のセットを選択します。実際には、人間の骨格における連続した枝は短いため、常に p = 2 を使用します。
  • スケルトン プーリングは、次の式で与えられる静的および動的機能のアクティブ化の両方に適用されます。
    ここに画像の説明を挿入します
    ここで、プールは最大値または平均値です。
  • アーマチュア軸上のスケルトン プール オペレーターを図 6 に示します。たとえば、最終的なスケルトンで 1 つのアーマチュアに収束する 2 つのアーマチュアを含む、首から頭までの連続した分岐 (赤でマーク) がわかります。
  • 私たちのプーリングは、元のスケルトンの動きに近似する、より少ないアーマチュアを備えた深いスケルトンをネットワークが学習できるようにする操作として直感的に説明できます。
  • 動的ブランチでは、標準のダウンサンプリングがタイムラインに追加で適用されることに注意してください。

アンプール

  • Unpooling オペレーターはプーリングに相当し、情報を増やすことなく機能アクティブ化の解像度を高めます。
  • この例では、以前にプールされたスケルトンのレコード構造に基づいてアンプーリングが実行されます。
  • 対応するプーリング ステップで 2 つのエッジをマージした結果として得られる各エッジの機能アクティブ化をコピーすることで、エッジ (アーマチュア) の数を拡張します。
  • アンプーリングには学習可能なパラメーターがないため、プーリング操作で失われた元の解像度を回復するために、畳み込みと組み合わせて使用​​されることがよくあります。
  • 動的ブランチでは、標準のアップサンプリングがタイムラインに追加で適用されることに注意してください。

4.4 評価

  • 私たちのフレームワークは、さまざまな学習ベースのモーション処理タスクに使用できます。次に、アクション編集のための深層学習フレームワークを導入したホールデンらによって提案されたフレームワークの構成要素に基づいて評価します。そのビルディング ブロックは、チャネル (ユニオン) 軸を完全にサポートする標準的な 1 次元の時間畳み込みと、時間軸上でのみ実行されるプーリング オペレーターで構成されます。
  • これら 2 つのフレームワークの有効性を評価するために、同じ数のコンポーネントと同じ種類のレイヤーを共有する 2 つのオートエンコーダーを実装しました。
  • 最初のアプローチでは、Holden et al. によって提案された標準的な畳み込みおよびプーリング手法を使用します。一方、2 番目のアプローチでは、スケルトン認識演算子を使用します。
  • 図 7 は、静的エンコーダーと動的エンコーダー (それぞれ E Sと E Q )のセットとデコーダー Dを含むオートエンコーダーの概略図を示しています。
    ここに画像の説明を挿入します
    ネットワーク構造の詳細は次のとおりです。
    ここに画像の説明を挿入します
  • どちらのオートエンコーダーも再構築損失 (2 ノルム) でトレーニングされます。
  • 公平な比較のために、両方のオートエンコーダは単位四元数で表される関節回転でトレーニングされています(ただし、元の論文では、Holden らは動きを表すために関節位置を使用しています)。
  • ただし、運動連鎖に沿った誤差の蓄積を避けるために、順運動学 (FK) による回転から取得された対応する関節位置に再構成損失が適用されます。
  • トレーニング中に、各オートエンコーダーはモーション多様体を表す潜在空間、つまり自然な動きの連続空間を学習します。したがって、モーションのノイズ除去は、トレーニングされたエンコーダーを使用してノイズの多いモーションを多様体に投影し、それをデコードして空間に戻すだけで実現できます。 -時間。
  • 入力に次の 2 種類のノイズが注入される、目に見えないモーション テスト セットの再構成 (l2 損失) を測定することによってオートエンコーダーのパフォーマンスを評価します。 (1) ガウス ホワイト ノイズ (μ = 0 、σ = 0.01 ) (2)ランダム ゼロ: ジョイントとフレームのペアをランダムに選択し、既存の値をゼロで上書きします (モーション キャプチャの失敗をシミュレートするため)。
  • 図 8 はビデオ シーケンスから抽出されたフレームを示しており、補足資料に記載されています。表 1 は 2 つの方法間の定量的な比較を示しています。
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します
  • ご覧のとおり、スケルトンを認識するオペレーターは、両方のノイズ タイプの下でより優れたパフォーマンスを実現します。
  • ビデオで見られるように、私たちの結果は、ジョイント位置の局所誤差が小さく、全体的な位置が向上し、安定性が向上していることを示しています。
  • 従来のオペレーターはスケルトン構造を無視しますが、当社のオペレーターはより構造化された方法で情報をプールし、圧縮します。

5. クロス構造モーションリターゲティング

  • モーション リターゲットは、正確に定義されたタスクではありません。アニメータがソース モーションをターゲット キャラクタに手動でリターゲットする場合、通常、次の 2 つの主な目標を達成しようとします:
    (1) 結果として得られるモーションは、元のソース モーションとの一貫性を保ちながら、ターゲット キャラクタにとって自然で視覚的に合理的である必要があります。
    (2) ジョイントの位置は、足と手の接触などの知覚に敏感な制約を満たします。これは通常、IK 最適化を適用することで実現されます。

  • 以下では、フレームワークが上記のルールに従って教師なしリダイレクトを実装する方法を説明します。

5.1 問題設定

  • モーション リターゲティングを、ペアになっていないクロスドメイン変換タスクとして説明します。
  • 具体的には、M_A と M_B が 2 つの動作ドメインを表すとします。各ドメインの動作は、同じ骨構造 (それぞれ S_A と S_B) を持つ骨によって実行されますが、骨の長さと比率が異なる可能性があります。この定式化は、既存のパブリック モーション キャプチャ データセットに適合します。各データセットには、骨格構造を共有し、さまざまなアクションを実行する異なるキャラクターが含まれています。
  • さらに、S_A と S_B の骨格構造は準同型であると仮定します。これらのドメインはペアになっていないことに注意してください。これは、2 つのドメイン間に明示的なモーションのペアが存在しないことを意味します (異なるスケルトンによって実行されます)。
  • 各モーション i∈M_A を (S_A, Qi_A) ペアで表すとします。4.1 で説明したように、S_A∈S_A はスケルトン オフセット セット、Qi_A は関節回転です。
  • ターゲット スケルトン S_B∈S_B のオフセットが与えられた場合、私たちの目標は、(S_A, Qi_A) を、S_B が実行するモーションを記述するリダイレクトされた回転セット Qi_B~ にマッピングすることです。形式的には、データ駆動型マッピング G A→Bを求めます
    ここに画像の説明を挿入します
    この設定では、変換マッピング G A→Bはマッピング G B→Aと同時に学習されます。

5.2 ネットワークアーキテクチャ

  • 私たちのアーキテクチャは、エンコーダ、デコーダ、および弁別器で構成され、各ドメイン Mm, m∈{A, B } に対してトレーニングされたエンコーダ Em = [Em Q , Em S ]、デコーダ Dm および弁別器 Cm の個別の組み合わせを使用します。
  • ここで、図 7 に示すように、Em Qは動的エンコーダ、Em Sは静的エンコーダです。もう一度、図 9(a) を参照してください。これは、ネットワーク内の情報フローの概要を示しています。
    ここに画像の説明を挿入します
  • 各動作ドメインに対して上記のコンポーネントをトレーニングした後、テスト時に、図に示すように、E_A Qによって生成された動的動作表現と E_S Bによって生成された静的表現をデコーダ D_B を使用して組み合わせることで、目的のマッピング G A → Bを取得できます。 9(B)。
    ここに画像の説明を挿入します
  • これが可能となるのは、エンコーダが元のボーン属性から独立したディープ モーション エンコーディングを生成し、共有潜在空間が共通の元のボーン構造に関連付けられているためです。
  • 言い換えれば、エンコーダーは、低レベルの関連する動的パラメーターと静的パラメーターをアンラップし、それらの深くアンワインドされた表現を使用してリダイレクトを実行するだけで済みます。
  • 以下では、図 9(a) に示すように、ネットワークのトレーニングに使用されるさまざまな損失について説明します。損失項は一方向 (A→B) のみを説明していることに注意してください。対称項は、A と B の役割を交換することで得られます。

復興損失

  • 同じドメイン ([EA Q , EA S ], DA)内のモーションのオートエンコーダーをトレーニングするために、関節の回転と関節の位置の標準的な再構成損失を使用します。
    ここに画像の説明を挿入します
    ここで、FK は関節の位置 (指定された回転と位置を返す) を返す順運動学演算子です。スケルトン)

潜在的な整合性の損失

  • 前述したように、スケルトン プーリング オペレーターは、図 2 に示すように、連続するアーマチュアの特徴をプールすることによって、同型スケルトンの動きを共通の深いプリミティブ スケルトン潜在空間に埋め込むことができます。
  • 共有潜在空間に異なるドメインからのサンプルを埋め込むことは、マルチモーダル画像変換タスクに効果的であることが証明されています。制約をこの中間表現に直接適用して、もつれの解除を容易にすることができます。
  • これにヒントを得て、潜在的な整合性損失を共有表現に適用して、リダイレクトされたモーション QiB ~ が元のクリップと同じ動的特性を確実に保持できるようにします。
    ここに画像の説明を挿入します
    ここで、∥·∥1 は L1 ノルムです。

敵対的損失

  • データはペアになっていないため、位置変更の動きには比較できる根拠がありません。
  • したがって、敵対的損失を使用します。この場合、識別器 C_B は、デコードされた時間回転 Qi_B~ のセットがスケルトン S_B の合理的な動きであると思われるかどうかを評価します。
    ここに画像の説明を挿入します

エンドエフェクターの損失

  • 同型スケルトンはジョイントの数が異なる場合がありますが、同じエンドエフェクターのセットを共有します。
  • この機能を利用して、元のスケルトンとリダイレクトされたスケルトンのエンドエフェクタが同じ正規化された速度を持つことを要求します。
  • 速度はキャラクターごとに異なるスケールになる可能性があるため、標準化が必要です。
  • この要件は、足の滑りなどの一般的なリターゲット アーティファクトを回避するのに特に役立ちます。動作中の足の速度がゼロの入力フレームは、動作中の足の速度がゼロのリターゲット モーションになるはずです。この式は
    ここに画像の説明を挿入します
  • エンドエフェクターの損失により足の滑りアーチファクトが大幅に軽減されますが、標準の逆運動学 (IK) 最適化を使用して足の接触をさらにきれいにします。
  • クリーニングは完全に自動です。モーション入力シーケンスからバイナリの足接触ラベルを抽出し、IK を適用して足の位置を接触時間スロットの平均位置に固定することで足接触を強制します。
  • トレーニングに使用される合計損失は、上記の損失条件を組み合わせたものです。
    ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/gaoqing_dream163/article/details/132239275