欲了解更多結果,請訪問我們的主頁
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
: ?我們支援帶有 Apple Silicon 的 macOS,修改自 jeehu 的 PR #143。2024/07/10
: ?支援影音拼接、驅動影片自動裁切、模板製作等功能,保護隱私。更多內容請看這裡。2024/07/09
: ?我們發布了 HuggingFace Space,感謝 HF 團隊和 Gradio!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.
然後,安裝對應的torch版本。以下是不同 CUDA 版本的範例。如果您的 CUDA 版本未列出,請造訪 PyTorch 官方網站以取得安裝指令:
# 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 Drive 或百度雲下載所有預訓練的權重。解壓縮並將它們放入./pretrained_weights
中。
確保目錄結構與此相同或包含此。
# 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 使用該 OP。
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
。首次推理會觸發最佳化過程(約一分鐘),使後續推理速度提高 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 體驗。
倉庫(按建立時間戳排序) | 描述 | 作者 |
---|---|---|
高級LivePortrait-WebUI | 基於專用漸層的 WebUI 從 ComfyUI-AdvancedLivePortrait 開始 | @jhj0517 |
臉戳 | 即時頭部變換應用程序,由滑鼠控制! | @jbilcke-hf |
臉部融合 | FaceFusion 3.0 將LivePortrait 集成為expression_restorer 和face_editor 處理器。 | @henryruhs |
SD-WebUI-即時肖像 | LivePortrait 的 WebUI 擴展,將 atab 添加到原始的 Stable Diffusion WebUI 中,以受益於 LivePortrait 功能。 | @dimitribarbot |
ComfyUI-LivePortraitKJ | 使用 LivePortrait 的 ComfyUI 節點,使用 MediaPipe 作為 Insightface 的替代品。 | @kijai |
ComfyUI-高級即時肖像 | 具有即時預覽功能的更快 ComfyUI 節點啟發了許多其他社群開發的工具和專案。 | @PowerHouseMan |
comfyui liveportrait | 使用LivePortrait的ComfyUI節點,支援多臉、表情內插等,並附有教學。 | @shadowcz007 |
我們社區做出瞭如此多令人驚嘆的貢獻,太多了,無法一一列舉?
我們要感謝 FOMM、Open Facevid2vid、SPADE、InsightFace 和 X-Pose 儲存庫的貢獻者的開放研究和貢獻。
肖像動畫技術伴隨著社會風險,尤其是在創造深度贗品時被濫用的可能性。為了減輕這些風險,遵循道德準則並採取負責任的使用實踐至關重要。目前,合成結果包含可能有助於檢測深度贗品的視覺偽影。請注意,我們對本項目產生的結果的使用不承擔任何法律責任。
如果您發現 LivePortrait 對您的研究有用,歡迎來到?這個 repo 並使用以下 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 }
}
郭建珠; [email protected]