Dai-Wenxun/MotionLCM

[ ECCV 2024 ] MotionLCM: This repo is the official implementation of "MotionLCM: Real-time Controllable Motion Generation via Latent Consistency Model"

MotionLCM – 実時間制御可能人間の動き生成

何であるか

  • MotionLCM はテキストプロンプト および オプションの制御信号(特定の関節の希望する軌道など)から3次元人間の動きを生成する研究用コードベースです。これは、動きの潜在空間に適用された潜在一貫性モデル(拡散モデルの高速代替)を、動き潜在拡散バックボーンに組み合わせており、1ステップまたは少数ステップの推論を可能にし、実時間生成を実現しています。

主なアイデア

  • 潜在一貫性モデル(LCM):多数の拡散ステップを1つ(または少数)の決定論的更新に置き換え、実行時間を劇的に短縮します。
  • Motion ControlNet:明示的な制御信号(初期動きや関節軌道)を潜在空間に注入する条件付けネットワークであり、高速推論を維持しつつ、制御性を保持します。
  • Motion VAE および Motion 潜在拡散(MLD):パイプラインはまず人間の動きのコンパクトな潜在表現(VAE)を学習し、その空間で拡散モデルを構築します。その後、MotionLCM はこの拡散モデルを高速サンプリング用に微調整します。

できること

  • 動きの再構成 – 実際の動きを潜在空間にエンコードし、再デコードすることで、表現品質の評価に役立ちます。
  • テキストから動きへ – 自然言語の記述(例:"人がジャンプして手を振る")を与えると、妥当な3次元動きを生成できます。
  • 動きの制御 – 関節(骨盤、手首など)の疎な軌道を入力し、テキストプロンプトを尊重しながらそのパスに従う全身の動きを生成させます。
  • SMPLメッシュのレンダリング – 生成された関節軌道をフルSMPLボディメッシュに変換し、Blenderでレンダリングできます。

クイックスタート(概要)

  1. conda環境の作成(python=3.10、requirements.txt のインストール)。
  2. システムツールのインストール – ffmpeg(GIF用)および git-lfs。
  3. アセットのダウンロード – GloVe埋め込み、T5テキストエンコーダ、SMPLモデル、および事前学習済みチェックポイントを、提供された prepare/*.sh スクリプトで取得。
  4. HumanML3Dデータセットの準備(またはミニデモデータセットを使用)。リポジトリはREADMEに示されたデータセットのレイアウトを想定しています。
  5. デモの実行:
    # 再構成
    python demo.py --cfg configs/vae.yaml
    # テキストから動きへ
    python demo.py --cfg configs/motionlcm_t2m.yaml --example assets/example.txt
    # ControlNet付きの動き制御
    python demo.py --cfg configs/motionlcm_control_s.yaml
    
    出力(GIF + .pkl ファイル)は experiments_*_test/.../demo_<timestamp> に保存されます。
  6. SMPLのレンダリング – chumpy をインストール後、python fit.py --pkl assets/example.pkl を実行してメッシュデータを取得し、同梱のBlenderスクリプトで画像や動画を生成します。

独自モデルの学習

  • 作業内容に応じて、YAML設定ファイル(configs/*.yaml)を更新します(VAE、MLD、MotionLCM、ControlNet)。
  • 対応する学習モジュールを実行します。例:
    python -m train_vae --cfg configs/vae.yaml
    python -m train_motionlcm --cfg configs/motionlcm_t2m.yaml
    
  • 評価も同様に python -m test --cfg <config> で実行します。

位置づけ

  • テキスト条件付き人間の動き合成という新興分野の一環であり、MotionDiffuse、TEMOS、OmniControl などの研究と類似しています。
  • LCMを活用することで、インタラクティブで実時間対応の応用(仮想アバター、ゲームアニメーション、ロボットシミュレーションなど)におけるレイテンシの重要性を考慮した境界を押し進めています。

リソース

  • 論文(arXiv:2404.19759) – https://arxiv.org/abs/2404.19759
  • YouTube / Bilibili でのデモ動画(バッジバー内のリンク)。
  • Hugging Face Space でのオンラインデモ。
  • より多くの視覚的結果を含むプロジェクトウェブページ。

ライセンス

  • 非営利利用のみ(LICENSE を参照)。依存ライブラリはそれぞれ独自のライセンスを保持しています。

上記のすべての詳細は、リポジトリのREADMEから直接抜粋したものであり、追加機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト