project
MotionCtrl - テンセントなどが開発した動画生成モデル向けのモーションコントローラー。
MotionCtrlは、テンセント、香港大学、その他の研究機関の研究者によって開発された、ビデオ生成モデル向けに設計された統一的で柔軟なモーションコントローラーです。ビデオ内のカメラの動きとオブジェクトの動きの視点を独立して制御できます。
MotionCtrlとは何ですか?
MotionCtrlは、動画生成モデル向けに設計された、統一性と柔軟性に優れたモーションコントローラです。Tencent、香港大学、上海AI研究所、清華大学、広東工業大学などの研究者によって開発されました。動画内のカメラの動きとオブジェクトの動きの視点を個別に制御できます。システムは、カメラモーション制御モジュールとオブジェクトモーション制御モジュールの2つの主要モジュールで構成されています。これらのモジュールは、潜在的動画拡散モデルと連携して動作し、生成される動画のモーションの視点を精密に制御します。
MotionCtrl公式サイトへの入り口
- 公式プロジェクトホームページ:https://wzhouxiff.github.io/projects/MotionCtrl/
- Arxivの研究論文:https://arxiv.org/pdf/2312.03641.pdf
- GitHubリポジトリ:https://github.com/TencentARC/MotionCtrl
- Hugging Face(MotionCtrl + VideoCrafter):https://huggingface.co/spaces/TencentARC/MotionCtrl
- Hugging Face(MotionCtrl + SVD):https://huggingface.co/spaces/TencentARC/MotionCtrl_SVD
MotionCtrlの機能
- マッチングモデルによる動画生成MotionCtrlは、ビデオ生成モデル(VideoCrafterやStable Video Diffusionなど)と組み合わせて使用することで、テキストプロンプトに基づいてビデオを生成できます。これらのビデオには静止画だけでなく、一貫性のある滑らかなモーションエフェクトも含まれます。
- カメラの動きを制御するユーザーは、動画内のカメラの動き(パン(左右上下の移動)、拡大縮小(ズームインまたはズームアウト)、回転(時計回りまたは反時計回りの回転)など)を指定できます。MotionCtrlは、これらの指示に基づいて対応する動画を生成します。
- 物体の動きを制御するMotionCtrlは、動画内のオブジェクトの動きの軌跡(シーン内でのオブジェクトの移動経路、速度、方向など)を制御することができ、オブジェクトの動きがテキストによる説明やユーザーが指定した軌跡と一致するようにします。
- 複合モーションコントロールMotionCtrlは、カメラと被写体の動きを個別に制御できるだけでなく、両方を同時に制御することで、被写体を追跡しながらカメラを移動させたり回転させたりするなど、複雑なモーション効果を実現できます。
- 様々なカメラのポーズや軌道に対応可能トレーニング後、MotionCtrlは様々なカメラの姿勢や物体の動きの軌跡に適応することができ、新たな状況ごとにモデルを再トレーニングする必要はありません。
MotionCtrlの仕組み
MotionCtrlは主に2つのコアモジュール、すなわちカメラモーションコントロールモジュール(CMCM)とオブジェクトモーションコントロールモジュール(OMCM)に基づいて動作し、これらのモジュールは潜在ビデオ拡散モデル(LVDM)と連携します。
MotionCtrlの仕組みに関する詳細な手順は以下のとおりです。
- カメラモーションコントロール(CMCM):
- CMCMは、ビデオ内のカメラの動きの経路を記述する一連のカメラ姿勢(回転行列と並進行列を含む)を受け取ります。
- CMCMは、LVDM内の時間変換器と相互作用することで、カメラの姿勢情報をビデオ生成プロセスに組み込みます。
- タイムトランスフォーマーの2番目の自己注意モジュールでは、カメラの姿勢シーケンスが拡張され、時間ステップ情報と組み合わされた後、全結合層を通して処理され、後続のタイムトランスフォーマーで使用されます。
- このようにして生成されるビデオは、移動、拡大縮小、回転などの指定されたカメラの動きに追従し、それによってシーン全体の動きを制御することが可能になります。
- 物体動作制御(OMCM):
- OMCMは、動画内の物体の動きの軌跡を処理する役割を担っており、これは通常、各フレームにおける物体の空間的な位置として表現されます。
- OMCMは、畳み込み層とダウンサンプリング操作を使用して軌跡からマルチスケールの特徴を抽出し、これらの特徴をLVDMの畳み込み層に空間的に融合します。
- このようにして、OMCMはビデオの各フレームにおけるオブジェクトの位置を示すことができ、オブジェクトの局所的な動きを制御することを可能にする。
- トレーニング戦略:
- MotionCtrlのトレーニングは2つの段階に分かれています。まず、CMCMはRealestate10Kデータセットを使用してトレーニングされます。このデータセットにはビデオクリップとカメラの姿勢アノテーションが含まれていますが、物体の動きの軌跡は含まれていません。
- OMCMは、WebVidデータセットとParticleSfMアルゴリズムを用いて合成されたオブジェクトの動きの軌跡を使用してトレーニングされました。このデータセットには、ビデオクリップ、タイトル、およびオブジェクトの動きの軌跡が含まれています。
- トレーニング中、CMCMとOMCMは、事前学習済みのLVDMモデルにアダプターのようなモジュールとして追加され、LVDMの他の部分に影響を与えることなく独立してトレーニングできるようになります。
- ビデオ生成:
- ビデオ生成段階では、MotionCtrlはテキストプロンプトに基づいて、カメラの姿勢とオブジェクトの動きの軌跡を組み合わせて、テキストの説明に一致するビデオを生成します。
- LVDMはまずノイズからビデオの潜在表現を生成し、次にCMCMとOMCMが与えられた動きの条件に従ってビデオの全体的および局所的な動きを調整し、最終的に指定された動きの効果を持つビデオを生成します。