V-Express: 条件付きドロップアウトによるポートレート動画生成の段階的トレーニング (V-Express: Conditional Dropout for Progressive Training of Portrait Video Generation)

画像生成

論文の概要

この論文は、シングル画像からポートレート動画を生成するための新しい手法V-Expressを紹介します。V-Expressは、異なる強度の制御信号(テキスト、音声、参照画像、ポーズ、深度マップなど)をバランス良く扱うことで、高品質な動画生成を実現します。特に、音声信号のように弱い制御信号が強い制御信号の影響を受けずに効果的に作用するように設計されています。

1枚の画像から話す動画を作る「V-Express」の仕組みと使い方
はじめにポートレートビデオ生成とは、1枚の画像からその人物が話している動画を作ることです。これまでの手法では、次のような課題がありました。テキスト、音声、ポーズなどの制御信号のバランスを取るのが難しい特に音声の影響が他の信号に隠れてしまいが...

はじめに (Introduction)

ポートレート動画生成の課題

近年、画像生成分野では拡散モデル (diffusion models) が主流となり、生成されたコンテンツの品質と制御性の向上を目指した様々な手法やモデルが開発されています。特にポートレート動画生成は、バーチャルアバター、デジタルエンターテイメント、パーソナライズされた動画コンテンツの作成など、様々な用途で注目されています。

ポートレート動画生成では、生成モデルに制御信号を与えることで、生成される動画の質や精度を制御します。しかし、制御信号にはその強さにばらつきがあり、強い信号の影響で弱い信号が効果を発揮できないという課題があります。

V-Expressの提案

V-Expressは、段階的トレーニング (progressive training)条件付きドロップアウト (conditional dropout) を用いることで、異なる強度の制御信号をバランス良く扱うことを目的とした手法です。V-Expressは、潜在拡散モデル (Latent Diffusion Model, LDM) を用いて動画フレームを生成し、ReferenceNet, V-Kps Guider, Audio Projection の3つのモジュールを組み合わせることで、様々な制御信号を効率的に処理します。

 方法 (Method)

V-Expressは、参照画像、音声、V-Kps画像の3つの制御信号を用いて、人物の顔の動画を生成します。

制御信号

  • 参照画像 (Reference Image): 背景と人物の顔の識別を制御します。
  • 音声 (Audio): 口の動きを制御します。
  • V-Kps画像 (V-Kps Image): 顔の位置とポーズを制御します。V-Kps画像は、顔の3つのキーポイント(左目、右目、鼻)を黒い背景の画像上にマッピングしたもので、キーポイントを結ぶ線によって「V」の字を形成します。

潜在拡散モデル (Latent Diffusion Model, LDM)

V-Expressは、LDMを用いて動画フレームを生成します。LDMは、変分オートエンコーダー (Variational Auto-Encoder, VAE) を用いて、潜在空間 (latent space) 内で拡散モデルの拡散と逆拡散プロセスを実行します。

拡散プロセス: 入力画像xをVAEエンコーダーEによって潜在変数z = E(x)に変換します。zに段階的にガウスノイズを追加することで、最終的に完全なノイズに変換します。

逆拡散プロセス: サンプリングされたノイズを含む潜在変数zから、拡散モデルを用いて段階的にノイズを除去し、目標の潜在変数zを生成します。最後に、VAEデコーダーDを用いて、zを復元して出力画像x = D(z)を得ます。

トレーニング: 潜在変数z0 = E(x0)と制御信号cが与えられた場合、ノイズ除去損失Ldenoisingは次のように定義されます。

Ldenoising = Ezt,ϵ∼N (0,I),c,t∥ϵθ(zt, c, t)− ϵt∥2 . (1)

ここで、zt = √ αtz0 + √ 1− αtϵt は時刻t ∈ [1, T]におけるノイズを含む潜在変数、ϵtは追加されたノイズ、ϵθはパラメーターθを持つ拡散モデルによって予測されたノイズです。

V-Expressのアーキテクチャ (Model Architecture)

V-Expressのアーキテクチャは、ノイズ除去U-Netがベースになっています。U-Netは、入力された複数のフレームのノイズを含む潜在変数を、制御信号に基づいてノイズ除去を行います。SDv1.5と類似した構造ですが、各Transformerブロックに4つのアテンションレイヤー(自己アテンションレイヤー1つ、交差アテンションレイヤー3つ)が追加されています。

  • 自己アテンションレイヤー (Self Attention Layer): 入力信号内の関係性を学習します。
  • 参照アテンションレイヤー (Reference Attention Layer): 参照画像との関係性を学習します。
  • 音声アテンションレイヤー (Audio Attention Layer): 音声との関係性を学習します。
  • モーションアテンションレイヤー (Motion Attention Layer): 動画フレーム間の時間的な関係性を学習します。

さらに、V-Expressは、参照画像、V-Kps画像、音声のエンコーディングを行うための3つのモジュールを備えています。

  • ReferenceNet: 参照画像をエンコードします。SDv1.5と同じアーキテクチャを持ち、ノイズ除去U-Netと並行に配置されています。
  • V-Kps Guider: V-Kps画像をエンコードします。軽量な畳み込みモデルで、各V-Kps画像を潜在変数のサイズと一致するV-Kps特徴に変換します。
  • Audio Projection: 音声をエンコードします。Wav2Vec2という事前学習された音声エンコーダーを用いて、音声信号をベクトルに変換し、Q-Formerを用いて潜在変数のサイズと一致するように変換します。

段階的トレーニング戦略 (Progressive Training Strategy)

V-Expressのトレーニングは、3つの段階で進められます。

Stage I: シングルフレーム生成に焦点を当て、入力された1フレームから対応するノイズ除去損失を計算します。この段階では、ReferenceNet、V-Kps Guider、ノイズ除去U-Netのみが訓練されます。

Stage II: マルチフレーム生成に焦点を当て、入力された複数のフレームから追加されたノイズを予測します。この段階では、Audio Projection、音声アテンションレイヤー、モーションアテンションレイヤーのみが訓練されます。

Stage III: Stage IIと同様にマルチフレーム生成に焦点を当てますが、すべてのモジュールのパラメータを微調整します。

トレーニングの工夫 (Training Tricks)

  • 口の損失重み (Mouth Loss Weight): 口の動きは画像全体に比べて占める割合が小さいので、口の領域に対するノイズ除去損失に大きな重みを与えて、口の同期を加速させます。
  • 条件付きドロップアウト (Conditional Dropout): V-Kpsと参照画像の影響が強いため、モデルは直接V-Kpsの影響を受けた参照画像を生成フレームにコピーしてしまうというショートカットパターンを学習してしまうことがあります。この問題を解決するために、条件付きドロップアウトを用いて、特定のフレームに対して、参照画像やV-Kps画像の特徴をランダムにゼロ化します。これにより、これらのフレームは参照画像やV-Kps画像に直接制御されるのではなく、モーションアテンションレイヤーに依存することになり、ショートカット問題を抑制します。

推論 (Inference)

推論時には、t秒の音声とFPSがfの動画が与えられた場合、生成されるフレーム数は[tf ]となります。V-Kpsシーケンスは、このフレーム数に合わせて線形補間されます。フレームは複数のセグメントに分割されて生成され、隣接するセグメントはいくつかのフレームを共有します。これらの重複するフレームの潜在変数は、デコード前に平均化されます。

V-Kpsが参照画像の対応するキーポイントと一致しない場合は、リターゲティングが必要です。この論文では、簡単なリターゲティング方法を提案しています。まず、左目と鼻、右目と鼻の距離比を比較して、参照画像に最も近いV-Kpsフレームを選択します。次に、顔の大きさの比率に基づいてリスケールパラメータを計算します。最後に、リスケールされたV-Kpsを元の鼻の軌跡に基づいて調整します。

実験 (Experiments)

実装 (Implementation)

V-Expressは、HDTF、VFHQ、その他の収集された動画を用いて訓練されました。これらの動画の顔領域はクロップされ、512×512にリサイズされました。トレーニングデータセット全体は、約300時間の動画で構成されています。VFHQは音声を含まない動画が含まれているため、Stage Iの訓練に使用されました。

V-ExpressはPyTorchを用いて実装され、Adamで最適化されました。Stage IIとStage IIIのマルチフレーム訓練では、フレーム数は12に設定されました。推論では、動画セグメントの長さも12で、セグメント間で4フレームの重複があります。口の損失重みは100に設定されました。V-Kps画像と参照画像のドロップアウト率は、それぞれ50%と20%に設定されました。

定量的評価 (Quantitative Comparison)

V-Expressは、Wav2LipとDiffusedHeadsの2つの手法と比較されました。

TalkingHead-1KHとAVSpeechの2つの公開データセットのサブセットで、各データセットからランダムに100個の動画をサンプリングしました。これらのデータセットの動画は、トレーニングデータには含まれていません。

以下の5つの指標を用いて定量的評価を行いました。

  • FID (Fréchet Image Distance): 生成されたフレームの質を評価します。
  • FVD (Fréchet Video Distance): 生成された動画の質を評価します。
  • ∆FaceSim: 参照画像と生成された動画の顔の同一性の保存状況を評価します。
  • KpsDis: 生成されたフレームの顔のポーズとターゲットV-Kpsとのアライメントを評価します。
  • SyncNet: 音声との口の同期の精度を評価します。

表1に示すように、V-Expressは他の2つの手法と比較して、動画の質と他の制御信号とのアライメントにおいて優れています。

結果 (Results)

file

図2は、V-Expressを用いて生成されたポートレート動画の例です。V-Expressは、音声とV-Kpsによって制御された高品質な動画を生成することができます。

file

図3は、交差アテンションの隠れ状態の重みが、対応する制御信号の強度を変化させる様子を示しています。音声アテンションの重みを大きくすると、口の動きがより顕著になります。参照画像の影響を減らすには、参照アテンションの重みを小さくする必要があります。

まとめ (Conclusion)

V-Expressは、異なる強度の制御信号をバランス良く扱うという課題に対する解決策を提案します。段階的トレーニングと条件付きドロップアウトを用いることで、音声信号のような弱い制御信号を効果的に制御し、顔のポーズや参照画像のような強い制御信号の影響を維持することができます。実験結果は、V-Expressが音声入力と同期した高品質なポートレート動画を生成できることを示しています。

今後の課題 (Future Work)

V-Expressは、V-Kpsと音声によって制御された高品質なポートレート動画を生成できますが、いくつかの課題が残されています。

  • 多言語対応 (Multi-lingual Support): 現行バージョンは英語では良好な結果を得られますが、中国語などの他の言語ではうまく機能しません。これは、使用しているWav2Vecモデルが複数の言語に対応していないことが原因と考えられます。多言語対応の音声エンコーダーを統合することで、この課題を解決できる可能性があります。
  • 計算量の削減 (Reduce Computational Burden): 現行バージョンは、マルチフレーム生成における自己回帰型の拡散プロセスのため、生成速度が遅いです。LCMやLCM-LoRAを使用することで、推論時のノイズ除去ステップ数を減らし、速度を向上させることができます。
  • 顔属性の明示的な制御 (Explicit Face Attribute Control): 現行バージョンでは、顔の属性をユーザーが指定した信号によって明示的に制御することができません。注釈付きのデータセットを用いて新しい交差アテンションレイヤーを訓練することで、この課題を解決できる可能性があります。

参考サイト

V-Express: Conditional Dropout for Progressive Training of Portrait Video Generation
In the field of portrait video generation, the use of single images to generate portrait videos has become increasingly prevalent. A common approach involves le...

コメント

タイトルとURLをコピーしました