diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..3d4f8ac1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.8' +services: + app: + build: ./docker + image: liveportrait:latest + volumes: + - ./:/LivePortrait + ports: + - "8890:8890" + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [ gpu ] + tty: true + command: python3 app.py diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..c00693fb --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,36 @@ +FROM nvidia/cuda:12.0.1-cudnn8-runtime-ubuntu22.04 +# FROM nvidia/cuda:12.5.0-devel-ubuntu22.04 +# FROM pytorch/pytorch:2.3.1-cuda12.1-cudnn8-devel + +WORKDIR /LivePortrait + +# Install necessary system packages +RUN apt-get update && apt-get install -y \ + git \ + cmake \ + libsm6 \ + libxext6 \ + libxrender-dev \ + libglib2.0-0 \ + libx11-dev + +# Install required system-level packages +RUN apt-get update && apt-get install -y python3-pip python3-dev + +# Upgrade pip +RUN pip install --upgrade pip + +# Install required Python packages +COPY requirements.txt . +RUN pip install -r requirements.txt + +# Set the timezone +# Example: Set to Asia/Tokyo +RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime +# Set timezone +ENV TZ Asia/Tokyo + +RUN apt-get install libopencv-dev -y + +# Set the working directory +WORKDIR /LivePortrait diff --git a/docker/requirements_cu12.txt b/docker/requirements_cu12.txt new file mode 100644 index 00000000..2c47c97b --- /dev/null +++ b/docker/requirements_cu12.txt @@ -0,0 +1,21 @@ +torch +torchvision +torchaudio + +numpy==1.26.4 +pyyaml==6.0.1 +opencv-python==4.10.0.84 +scipy==1.13.1 +imageio==2.34.2 +lmdb==1.4.1 +tqdm==4.66.4 +rich==13.7.1 +ffmpeg==1.4 +onnxruntime-gpu==1.18.0 +onnx==1.16.1 +scikit-image==0.24.0 +albumentations==1.4.10 +matplotlib==3.9.0 +imageio-ffmpeg==0.5.1 +tyro==0.8.5 +gradio==4.37.1 diff --git a/docs/README_JP.md b/docs/README_JP.md new file mode 100644 index 00000000..669986c5 --- /dev/null +++ b/docs/README_JP.md @@ -0,0 +1,163 @@ +# LivePortrait: ステッチングとリターゲティング制御による効率的なポートレートアニメーション + +
+ +
+
+
+ 🔥 より多くの結果については、ホームページをご覧ください 🔥
+
+ +
+ +または、`-s` および `-d` 引数を指定して入力を変更することもできます。 + +```bash +python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 + +# または、貼り付けを無効にする +python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 --no_flag_pasteback + +# 詳細なオプションを表示する +python inference.py -h +``` + +**より興味深い結果は、[ホームページ](https://liveportrait.github.io)** 😊 にあります。 + +### 4. Gradio インターフェース + +より良い体験のために、Gradio インターフェースも提供しています。 + +```bash +python app.py +``` + +### 5. 推論速度の評価 🚀🚀🚀 +各モジュールの推論速度を評価するためのスクリプトも提供しています。 + +```bash +python speed.py +``` + +以下は、`torch.compile` を使用したネイティブ PyTorch フレームワークを使用して RTX 4090 GPU で 1 フレームを推論した結果です。 + +| モデル | パラメータ数(M) | モデルサイズ(MB) | 推論時間(ms) | +|-----------------------------------|:-------------:|:--------------:|:-------------:| +| Appearance Feature Extractor | 0.84 | 3.3 | 0.82 | +| Motion Extractor | 28.12 | 108 | 0.84 | +| Spade Generator | 55.37 | 212 | 7.59 | +| Warping Module | 45.53 | 174 | 5.21 | +| Stitching and Retargeting Modules| 0.23 | 2.3 | 0.31 | + +*注: Stitching and Retargeting Modules の値は、3 つの MLP ネットワークのパラメータ数と合計推論時間の合計を表しています。* + +## Docker Composeを使用した起動 + +LivePortraitアプリケーションをDocker Composeで簡単に起動することもできます。リポジトリにはすでに`docker-compose.yml`ファイルが含まれています。以下の手順に従ってください: + +1. プロジェクトのルートディレクトリに移動していることを確認します。 + +2. Docker Composeを使用してアプリケーションを起動します: + +```bash +docker-compose up +``` + +これにより、LivePortraitアプリケーションがDockerコンテナ内で起動し、ポート8890でアクセス可能になります。 + +> [!NOTE] +> この設定はNVIDIA GPUを使用するように構成されています。GPUが利用できない場合は、`docker-compose.yml`ファイルの`deploy`セクションを適宜調整してください。 + +アプリケーションが起動したら、ウェブブラウザで`http://localhost:8890`にアクセスしてGradioインターフェースを使用できます。 + + +## 謝辞 +オープンな研究と貢献に対して、[FOMM](https://github.com/AliaksandrSiarohin/first-order-model)、[Open Facevid2vid](https://github.com/zhanglonghao1992/One-Shot_Free-View_Neural_Talking_Head_Synthesis)、[SPADE](https://github.com/NVlabs/SPADE)、[InsightFace](https://github.com/deepinsight/insightface) リポジトリの貢献者に感謝します。 + +## 引用 💖 +LivePortrait があなたの研究に役立った場合は、このリポジトリを🌟し、以下の BibTeX を使用して私たちの仕事を引用してください。 +```bibtex +@article{guo2024live, + title = {LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control}, + author = {Jianzhu Guo and Dingyun Zhang and Xiaoqiang Liu and Zhizhou Zhong and Yuan Zhang and Pengfei Wan and Di Zhang}, + year = {2024}, + journal = {arXiv preprint:2407.03168}, +} +``` diff --git a/readme.md b/readme.md index bcfacb15..c95321c2 100644 --- a/readme.md +++ b/readme.md @@ -23,6 +23,7 @@ +