Weitere Ergebnisse finden Sie auf unserer Homepage
2024/10/18
: ❗ Wir haben die Versionen der transformers
und gradio
-Bibliotheken aktualisiert, um Sicherheitslücken zu vermeiden. Details hier.2024/08/29
: ? Wir aktualisieren den Windows One-Click-Installer und unterstützen automatische Updates, siehe Changelog.2024/08/19
: ?️ Wir unterstützen den bildgesteuerten Modus und die regionale Steuerung . Einzelheiten finden Sie hier .2024/08/06
: ? Wir unterstützen die präzise Porträtbearbeitung in der Gradio-Oberfläche, inspiriert von ComfyUI-AdvancedLivePortrait. Siehe hier .2024/08/05
: ? Windows-Benutzer können jetzt das Ein-Klick-Installationsprogramm für den Menschenmodus und den Tiermodus herunterladen! Einzelheiten finden Sie hier .2024/08/02
: ? Wir haben eine Version des Animals-Modells zusammen mit mehreren anderen Updates und Verbesserungen veröffentlicht. Schauen Sie sich hier die Details an!2024/07/25
: ? Windows-Benutzer können das Paket jetzt von HuggingFace herunterladen. Einfach entpacken und auf run_windows.bat
doppelklicken, um es zu genießen!2024/07/24
: ? Wir unterstützen die Posenbearbeitung für Quellporträts in der Gradio-Benutzeroberfläche. Wir haben außerdem den standardmäßigen Erkennungsschwellenwert gesenkt, um die Erinnerung zu erhöhen. Viel Spaß!2024/07/19
: Wir unterstützen die Bearbeitung von Porträtvideos (auch bekannt als v2v) ! Mehr gibt es hier zu sehen.2024/07/17
: ? Wir unterstützen macOS mit Apple Silicon, modifiziert nach Jeethus PR #143.2024/07/10
: ? Wir unterstützen die Verkettung von Audio und Video, steuern das automatische Zuschneiden von Videos und erstellen Vorlagen zum Schutz der Privatsphäre. Mehr gibt es hier zu sehen.2024/07/09
: ? Dank des HF-Teams und Gradio haben wir den HuggingFace Space veröffentlicht!2024/07/04
: ? Wir haben die erste Version des Inferenzcodes und der Modelle veröffentlicht. Kontinuierliche Updates, bleiben Sie dran!2024/07/04
: Wir haben die Homepage und den technischen Bericht zu arXiv veröffentlicht. Dieses Repo mit dem Namen LivePortrait enthält die offizielle PyTorch-Implementierung unseres Artikels LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control. Wir aktualisieren und verbessern dieses Repository aktiv. Wenn Sie Fehler finden oder Vorschläge haben, können Sie gerne Probleme ansprechen oder Pull-Requests (PR) einreichen.
Notiz
Stellen Sie sicher, dass auf Ihrem System git
, conda
und FFmpeg
installiert sind. Einzelheiten zur FFmpeg-Installation finden Sie unter „Installation von FFmpeg“ .
git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
# create env using conda
conda create -n LivePortrait python=3.10
conda activate LivePortrait
Für X-Pose muss Ihre torch
mit der CUDA-Version kompatibel sein.
Überprüfen Sie zunächst Ihre aktuelle CUDA-Version durch:
nvcc -V # example versions: 11.1, 11.8, 12.1, etc.
Installieren Sie dann die entsprechende Brennerversion. Hier finden Sie Beispiele für verschiedene CUDA-Versionen. Besuchen Sie die offizielle Website von PyTorch für Installationsbefehle, wenn Ihre CUDA-Version nicht aufgeführt ist:
# 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
# ...
Hinweis : Auf Windows-Systemen können einige höhere Versionen von CUDA (z. B. 12.4, 12.6 usw.) zu unbekannten Problemen führen. Aus Stabilitätsgründen können Sie ein Downgrade von CUDA auf Version 11.8 in Betracht ziehen. Sehen Sie sich den Downgrade-Leitfaden von @dimitribarbot an.
Installieren Sie abschließend die verbleibenden Abhängigkeiten:
pip install -r requirements.txt
Die X-Pose-Abhängigkeit unterstützt macOS nicht, daher können Sie die Installation überspringen. Während der Menschenmodus wie gewohnt funktioniert, wird der Tiermodus nicht unterstützt. Verwenden Sie die bereitgestellte Anforderungsdatei für macOS mit Apple Silicon:
# for macOS with Apple Silicon users
pip install -r requirements_macOS.txt
Der einfachste Weg, die vortrainierten Gewichte herunterzuladen, ist von HuggingFace:
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude " *.git* " " README.md " " docs "
Wenn Sie keinen Zugriff auf Huggingface haben, können Sie mit hf-mirror Folgendes herunterladen:
# !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 "
Alternativ können Sie alle vortrainierten Gewichte von Google Drive oder Baidu Yun herunterladen. Entpacken Sie sie und legen Sie sie in ./pretrained_weights
ab.
Sicherstellen, dass die Verzeichnisstruktur dieser entspricht oder diese enthält.
# 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
Wenn das Skript erfolgreich ausgeführt wird, erhalten Sie eine MP4-Ausgabedatei mit dem Namen animations/s6--d0_concat.mp4
. Diese Datei enthält die folgenden Ergebnisse: Fahrvideo, Eingabebild oder -video und generiertes Ergebnis.
Sie können die Eingabe auch ändern, indem Sie die Argumente -s
und -d
angeben:
# 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
Der Tiermodus wird NUR unter Linux und Windows mit NVIDIA-GPU getestet.
Sie müssen zunächst ein OP mit dem Namen MultiScaleDeformableAttention
erstellen, das von X-Pose, einem allgemeinen Framework zur Schlüsselpunkterkennung, verwendet wird.
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # equal to cd ../../../../../../../
Dann
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
Wenn das Skript erfolgreich ausgeführt wird, erhalten Sie eine MP4-Ausgabedatei mit dem Namen animations/s39--wink_concat.mp4
.
Wichtig
Um Ihr eigenes Fahrvideo zu verwenden, empfehlen wir:
--flag_crop_driving_video
. Unten sehen Sie einen Fall des automatischen Zuschneidens durch --flag_crop_driving_video
:
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
Wenn Sie feststellen, dass die Ergebnisse des automatischen Zuschneidens nicht zufriedenstellend sind, können Sie die Optionen --scale_crop_driving_video
und --vy_ratio_crop_driving_video
ändern, um Skalierung und Versatz anzupassen, oder dies manuell tun.
Sie können auch die automatisch generierten Bewegungsvorlagendateien mit der Endung .pkl
verwenden, um die Schlussfolgerung zu beschleunigen und die Privatsphäre zu schützen , wie zum Beispiel:
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
Für ein besseres Erlebnis bieten wir auch eine Gradio-Schnittstelle an, die einfach ausgeführt wird von:
# 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
Wir bieten auch eine Gradio-Schnittstelle für den Tiermodus an, die nur unter Linux mit NVIDIA-GPU getestet wurde:
python app_animals.py # animals mode ??
Sie können die Argumente --server_port
, --share
, --server_name
entsprechend Ihren Anforderungen angeben!
Wir bieten auch eine Beschleunigungsoption --flag_do_torch_compile
. Die erstmalige Inferenz löst einen Optimierungsprozess aus (etwa eine Minute), wodurch nachfolgende Inferenzen 20–30 % schneller werden. Die Leistungssteigerungen können je nach CUDA-Version variieren.
# enable torch.compile for faster inference
python app.py --flag_do_torch_compile
Hinweis : Diese Methode wird unter Windows und macOS nicht unterstützt.
Oder probieren Sie es einfach auf HuggingFace aus?
Wir haben auch ein Skript bereitgestellt, um die Inferenzgeschwindigkeit jedes Moduls zu bewerten:
# For NVIDIA GPU
python speed.py
Die Ergebnisse gibt es hier .
Entdecken Sie die unschätzbaren Ressourcen, die unsere Community zur Verfügung stellt, um Ihr LivePortrait-Erlebnis zu verbessern.
Repo (sortiert nach erstelltem Zeitstempel) | Beschreibung | Autor |
---|---|---|
AdvancedLivePortrait-WebUI | Dedizierte, auf Gradio basierende WebUI, gestartet von ComfyUI-AdvancedLivePortrait | @jhj0517 |
FacePoke | Eine Kopftransformations-App in Echtzeit, gesteuert durch Ihre Maus! | @jbilcke-hf |
FaceFusion | FaceFusion 3.0 integriert LivePortrait als expression_restorer und face_editor -Prozessoren. | @henryruhs |
sd-webui-live-portrait | WebUI-Erweiterung von LivePortrait, die atab zur ursprünglichen Stable Diffusion WebUI hinzufügt, um von LivePortrait-Funktionen zu profitieren. | @dimitribarbot |
ComfyUI-LivePortraitKJ | Ein ComfyUI-Knoten zur Verwendung von LivePortrait mit MediaPipe als Alternative zu Insightface. | @kijai |
ComfyUI-AdvancedLivePortrait | Ein schnellerer ComfyUI-Knoten mit Echtzeitvorschau, der viele andere von der Community entwickelte Tools und Projekte inspiriert hat. | @PowerHouseMan |
Comfyui-Liveportrait | Ein ComfyUI-Knoten zur Verwendung von LivePortrait, der mehrere Gesichter, Ausdrucksinterpolation usw. unterstützt, mit einem Tutorial. | @shadowcz007 |
Und so VIELE tolle Beiträge aus unserer Community, zu viele, um sie alle aufzuzählen?
Wir möchten den Mitwirkenden der Repositories FOMM, Open Facevid2vid, SPADE, InsightFace und X-Pose für ihre offene Forschung und Beiträge danken.
Porträtanimationstechnologien bergen soziale Risiken, insbesondere das Potenzial für Missbrauch bei der Erstellung von Deepfakes. Um diese Risiken zu mindern, ist es wichtig, ethische Richtlinien zu befolgen und verantwortungsvolle Nutzungspraktiken einzuführen. Derzeit enthalten die synthetisierten Ergebnisse visuelle Artefakte, die bei der Erkennung von Deepfakes hilfreich sein können. Bitte beachten Sie, dass wir keine rechtliche Verantwortung für die Nutzung der im Rahmen dieses Projekts generierten Ergebnisse übernehmen.
Wenn Sie LivePortrait für Ihre Recherche nützlich finden, sind Sie herzlich willkommen bei ? dieses Repo und zitieren Sie unsere Arbeit mit dem folgenden 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]