あらゆるポートレートをアニメーションに:オープンソースAIアニメーター、LivePortrait登場!</blockquote>
June 04, 2025
LivePortrait
プロジェクト概要
LivePortraitは、効率的なポートレートアニメーションを実現するオープンソースのPyTorch実装です。静止画像(人物、猫、犬)から、ドライビングビデオやモーションテンプレートを使って、まるで生きているかのようにアニメーションを作成できます。詳細な結合・再ターゲティング制御が可能です。本プロジェクトは、快手科技、中国科学技術大学、復旦大学の研究者によって活発に更新・改善されています。
利用方法
環境構築
- リポジトリのクローン:
git clone https://github.com/KwaiVGI/LivePortrait cd LivePortrait
- Conda環境の作成と有効化:
conda create -n LivePortrait python=3.10 conda activate LivePortrait
- PyTorchのインストール(Linux/WindowsはCUDA対応版):
まず、
nvcc -V
でCUDAのバージョンを確認し、それに対応するPyTorchバージョンをインストールしてください。- CUDA 11.8の場合:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118
- CUDA 12.1の場合:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
- 他のCUDAバージョンの場合は、PyTorch公式サイトを参照してください。
- Windowsユーザーへの注意: より新しいCUDAバージョンで問題が発生する場合、CUDAを11.8にダウングレードすると解決することがあります。
- CUDA 11.8の場合:
- 残りの依存関係をインストール:
pip install -r requirements.txt
- Apple Silicon搭載Macの場合:
(X-Poseへの依存はスキップされ、動物モードには対応していません)
pip install -r requirements_macOS.txt
- Apple Silicon搭載Macの場合:
事前学習済みモデルのダウンロード
- HuggingFaceから(推奨):
# !pip install -U "huggingface_hub[cli]" huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- hf-mirrorを使用(HuggingFaceにアクセスできない場合):
# !pip install -U "huggingface_hub[cli]" export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- Google DriveまたはBaidu Yunからダウンロードし、
./pretrained_weights
ディレクトリに配置することもできます。
推論実行
人物モード
- デフォルトの入力で実行:
(Apple Silicon搭載Macの場合、
python inference.py
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
を使用) - ソース画像とドライビング入力を指定して実行:
# ソースが画像の場合 python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 # ソースが動画の場合 python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
動物モード(Linux/WindowsでNVIDIA GPU搭載の場合のみ)
- MultiScaleDeformableAttention OPのビルド:
cd src/utils/dependencies/XPose/models/UniPose/ops python setup.py build install cd -
- 推論の実行:
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
ドライビング動画の自動クロップ
- 自動クロップを有効にする:
(より良い結果を得るには、
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
--scale_crop_driving_video
または--vy_ratio_crop_driving_video
を調整してください。)
モーションテンプレートの作成
- 自動生成された
.pkl
ファイルを使用すると、推論が高速化され、プライバシー保護にも役立ちます。python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # ポートレートアニメーション python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # ポートレート動画の編集
Gradioインターフェース
- 人物モード:
# LinuxおよびWindowsの場合 python app.py # Apple Silicon搭載Macの場合 PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py
- 動物モード(LinuxでNVIDIA GPU搭載の場合のみ):
python app_animals.py
- 高速化:
--flag_do_torch_compile
を使用すると、2回目以降の推論が20〜30%高速化されます(Windows/macOSでは非対応)。python app.py --flag_do_torch_compile
- HuggingFace Space上でオンラインデモも利用可能です。
主要機能
- 効率的なポートレートアニメーション: 人物、猫、犬の静止画像をアニメーション化します。
- 結合と再ターゲティング制御: アニメーションプロセスにおいて、きめ細やかな制御を提供します。
- 多様なドライビング入力: 動画、画像、または事前に生成されたモーションテンプレート(.pklファイル)からのモーション駆動をサポートします。
- 動画から動画への編集(v2v): 既存のポートレート動画の編集をサポートします。
- Gradioインターフェース: 使いやすく、正確なポートレート編集が可能なウェブインターフェースを提供します。
- 地域制御と画像駆動モード: 高度な制御オプションと多様な駆動方式を提供します。
- ポーズ編集: Gradioインターフェース内で、ソースポートレートのポーズを編集できます。
- 自動クロップ: ドライビング動画を自動で頭部に焦点を当てた1:1のアスペクト比にクロップします。
- プライバシー保護: モーションテンプレートを使用することで、ドライビング動画の被写体のプライバシーを保護できます。
- クロスプラットフォーム対応: Linux、Windows(NVIDIA GPU必須)、Apple Silicon搭載Macをサポートします。
- 最適化されたパフォーマンス:
torch.compile
オプションにより、推論を高速化できます。
想定されるユーザー
- 動画コンテンツクリエイター: 動画内でポートレートをアニメーション化したい方。
- アニメーター: キャラクターの表情アニメーションを素早く生成したい方。
- 研究者および開発者: ポートレートアニメーション、画像/動画生成、顔アニメーション分野でのさらなる開発の基盤として。
- 一般的な愛好家: 自分の写真を生き生きとさせたい方や、AIアニメーションを試してみたい方。
- 主要な動画プラットフォーム: 快手、抖音(TikTok)、剪映、微信チャンネルなどのプラットフォームで既に採用されています。
プロジェクトリンク
- GitHubリポジトリ: https://github.com/KwaiVGI/LivePortrait
- プロジェクトホームページ: liveportrait.github.io
- HuggingFaceオンラインデモ: https://huggingface.co/spaces/KwaiVGI/LivePortrait
- arXiv論文: arXiv:2407.03168
応用例
- ソーシャルメディアコンテンツ: 静止画像から魅力的なアニメーションプロフィール画像や短い動画クリップを作成。
- マーケティングと広告: 静止画像からアニメーションキャラクターや話すアバターを生成。
- 映画とゲーム開発: 表情アニメーションのキャラクターを迅速にプロトタイピング。
- バーチャルアバターとデジタルヒューマン: バーチャル会議やシミュレーション向けに静止アバターをアニメーション化。
- 個人利用: 古い家族写真や大切なペットの写真を生き生きとさせる。