詳しい結果については、当社のホームページをご覧ください
2024/10/18
: ❗ セキュリティ上の脆弱性を回避するために、 transformers
とgradio
ライブラリのバージョンを更新しました。詳細はこちら。2024/08/29
: ? Windows ワンクリック インストーラーを更新し、自動更新をサポートします。変更ログを参照してください。2024/08/19
: ?️画像駆動モードと地域制御をサポートします。詳細については、こちらを参照してください。2024/08/06
: ? ComfyUI-AdvancedLivePortrait からインスピレーションを得た Gradio インターフェイスでの正確なポートレート編集をサポートしています。ここを参照してください。2024/08/05
: ? Windows ユーザーは、人間モードと動物モードのワンクリック インストーラーを今すぐダウンロードできるようになりました。詳細については、こちらを参照してください。2024/08/02
: ?他のいくつかの更新と改善とともに、動物モデルのバージョンをリリースしました。詳細はこちらをご覧ください!2024/07/25
: ? Windows ユーザーは、HuggingFace からパッケージをダウンロードできるようになりました。解凍してrun_windows.bat
ダブルクリックするだけでお楽しみいただけます。2024/07/24
: ? Gradio インターフェイスでのソース ポートレートのポーズ編集をサポートしています。また、再現率を高めるためにデフォルトの検出しきい値を下げました。楽しむ!2024/07/19
:ポートレートビデオ編集 (別名 v2v)をサポートしました!詳細については、こちらをご覧ください。2024/07/17
: ? jeethu の PR #143 から修正された Apple Silicon を使用して macOS をサポートします。2024/07/10
: ?オーディオとビデオの連結、ビデオの自動トリミングの実行、プライバシーを保護するためのテンプレートの作成をサポートしています。詳細については、こちらをご覧ください。2024/07/09
: ? HF チームと Gradio のおかげで、HuggingFace Space をリリースしました。2024/07/04
: ?推論コードとモデルの初期バージョンをリリースしました。継続的に更新していきますので、お楽しみに!2024/07/04
: arXiv のホームページと技術レポートを公開しました。 LivePortraitという名前のこのリポジトリには、論文 LivePortrait: ステッチングとリターゲット コントロールを使用した効率的なポートレート アニメーションの公式 PyTorch 実装が含まれています。私たちはこのリポジトリの更新と改善を積極的に行っています。バグを見つけたり、提案がある場合は、問題を提起するか、プル リクエスト (PR) を送信してください。
注記
システムにgit
、 conda
、およびFFmpeg
インストールされていることを確認してください。 FFmpeg のインストールの詳細については、 「FFmpeg のインストール方法」を参照してください。
git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
# create env using conda
conda create -n LivePortrait python=3.10
conda activate LivePortrait
X-Pose では、 torch
バージョンが CUDA バージョンと互換性がある必要があります。
まず、次の方法で現在の CUDA バージョンを確認します。
nvcc -V # example versions: 11.1, 11.8, 12.1, etc.
次に、対応するトーチ バージョンをインストールします。さまざまな CUDA バージョンの例を次に示します。 CUDA バージョンがリストにない場合は、PyTorch 公式 Web サイトにアクセスしてインストール コマンドを確認してください。
# for CUDA 11.1
pip install torch==1.10.1+cu111 torchvision==0.11.2 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
# for 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
# for 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
# ...
注: Windows システムでは、CUDA の一部の上位バージョン (12.4、12.6 など) によって未知の問題が発生する可能性があります。安定性を確保するために、CUDA をバージョン 11.8 にダウングレードすることを検討してください。 @dimitribarbot によるダウングレード ガイドを参照してください。
最後に、残りの依存関係をインストールします。
pip install -r requirements.txt
X-Pose の依存関係は macOS をサポートしていないため、インストールをスキップできます。人間モードは通常どおり動作しますが、動物モードはサポートされていません。 Apple Silicon を搭載した macOS 用に提供されている要件ファイルを使用します。
# for macOS with Apple Silicon users
pip install -r requirements_macOS.txt
事前トレーニングされた重みをダウンロードする最も簡単な方法は、HuggingFace からダウンロードすることです。
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude " *.git* " " README.md " " docs "
Huggingface にアクセスできない場合は、hf-mirror を使用して以下をダウンロードできます。
# !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 ドライブまたは Baidu Yun からすべての事前トレーニングされた重みをダウンロードすることもできます。解凍して./pretrained_weights
に配置します。
ディレクトリ構造が this であるか、 thisを含むことを確認します。
# For Linux and Windows users
python inference.py
# For macOS users with Apple Silicon (Intel is not tested). NOTE: this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
スクリプトが正常に実行されると、 animations/s6--d0_concat.mp4
という名前の出力 mp4 ファイルが得られます。このファイルには、運転ビデオ、入力画像またはビデオ、生成された結果の結果が含まれます。
または、 -s
および-d
引数を指定して入力を変更できます。
# source input is an image
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4
# source input is a video
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
# more options to see
python inference.py -h
動物モードは、NVIDIA GPU を搭載した Linux および Windows でのみテストされています。
まず、 MultiScaleDeformableAttention
という名前の OP を構築する必要があります。これは、一般的なキーポイント検出フレームワークである X-Pose によって使用されます。
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # equal to cd ../../../../../../../
それから
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
スクリプトが正常に実行されると、 animations/s39--wink_concat.mp4
という名前の出力 mp4 ファイルが得られます。
重要
独自の運転ビデオを使用するには、次のことをお勧めします。
--flag_crop_driving_video
による自動トリミングを有効にします。以下は、 --flag_crop_driving_video
による自動トリミングのケースです。
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 # portrait animation
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # portrait video editing
また、エクスペリエンスを向上させるための Gradio インターフェイスも提供しています。次の方法で実行できます。
# For Linux and Windows users (and macOS with Intel??)
python app.py # humans mode
# For macOS with Apple Silicon users, Intel not supported, this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py # humans mode
また、動物モードの Gradio インターフェイスも提供しています。これは、NVIDIA GPU を搭載した Linux でのみテストされています。
python app_animals.py # animals mode ??
ニーズを満たすために--server_port
、 --share
、 --server_name
引数を指定できます。
アクセラレーション オプション--flag_do_torch_compile
も提供します。初めての推論により最適化プロセス (約 1 分) がトリガーされ、それ以降の推論が 20 ~ 30% 高速化されます。パフォーマンスの向上は CUDA のバージョンによって異なる場合があります。
# enable torch.compile for faster inference
python app.py --flag_do_torch_compile
注: この方法は、Windows および macOS ではサポートされていません。
それとも、HuggingFace で簡単に試してみますか?
各モジュールの推論速度を評価するためのスクリプトも提供しました。
# For NVIDIA GPU
python speed.py
結果はここにあります。
LivePortrait エクスペリエンスを向上させるために、コミュニティが提供する貴重なリソースを発見してください。
リポジトリ (作成されたタイムスタンプでソート) | 説明 | 著者 |
---|---|---|
AdvancedLivePortrait-WebUI | ComfyUI-AdvancedLivePortraitから始まった専用のgradioベースのWebUI | @jhj0517 |
フェイスポケ | マウスで操作できるリアルタイムの頭部変形アプリ! | @jbilcke-hf |
フェイスフュージョン | FaceFusion 3.0 は、LivePortrait をexpression_restorer およびface_editor プロセッサとして統合します。 | @henryruhs |
sd-webui-ライブ-ポートレート | LivePortrait の WebUI 拡張機能。元の Stable Diffusion WebUI に atab を追加して LivePortrait の機能を活用します。 | @ディミトリバーボット |
ComfyUI-LivePortraitKJ | LivePortrait を使用する ComfyUI ノード。Insightface の代替として MediaPipe を使用します。 | @キジャイ |
ComfyUI-AdvancedLivePortrait | リアルタイム プレビューを備えた高速な ComfyUI ノードは、コミュニティで開発された他の多くのツールやプロジェクトに影響を与えました。 | @PowerHouseMan |
comfyui-liveportrait | LivePortrait を使用するための ComfyUI ノード、マルチフェイス、表情補間などをサポートするチュートリアル付き。 | @shadowcz007 |
そして、私たちのコミュニティからの素晴らしい貢献は多すぎてすべてをリストすることはできません。
FOMM、Open Facevid2vid、SPADE、InsightFace、および X-Pose リポジトリのオープンな調査と貢献に感謝します。
ポートレートアニメーション技術には社会的リスク、特にディープフェイクの作成における悪用の可能性が伴います。これらのリスクを軽減するには、倫理ガイドラインに従い、責任ある使用慣行を採用することが重要です。現時点では、合成結果にはディープフェイクの検出に役立つ可能性のある視覚的なアーティファクトが含まれています。このプロジェクトによって生成された結果の使用について、当社は一切の法的責任を負いませんのでご了承ください。
LivePortrait が研究に役立つと思われる場合は、? へようこそ。このリポジトリを作成し、次の BibTeX を使用して私たちの研究を引用します。
@article { guo2024liveportrait ,
title = { LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control } ,
author = { Guo, Jianzhu and Zhang, Dingyun and Liu, Xiaoqiang and Zhong, Zhizhou and Zhang, Yuan and Wan, Pengfei and Zhang, Di } ,
journal = { arXiv preprint arXiv:2407.03168 } ,
year = { 2024 }
}
Jianzhu Guo (郭建珠) ; [email protected]