Untuk hasil lebih lanjut, kunjungi beranda kami
2024/10/18
: ❗ Kami telah memperbarui versi transformers
dan perpustakaan gradio
untuk menghindari kerentanan keamanan. Detailnya di sini.2024/08/29
: ? Kami memperbarui penginstal sekali klik Windows dan mendukung pembaruan otomatis, lihat log perubahan.2024/08/19
: ?️ Kami mendukung mode berbasis gambar dan kontrol regional . Untuk detailnya, lihat di sini .2024/08/06
: ? Kami mendukung pengeditan potret yang presisi di antarmuka Gradio, yang terinspirasi oleh ComfyUI-AdvancedLivePortrait. Lihat di sini .2024/08/05
: ? Pengguna Windows sekarang dapat mengunduh penginstal sekali klik untuk mode Manusia dan mode Hewan sekarang! Untuk detailnya, lihat di sini .2024/08/02
: ? Kami merilis versi model Hewan , bersama dengan beberapa pembaruan dan peningkatan lainnya. Simak detailnya di sini !2024/07/25
: ? Pengguna Windows sekarang dapat mengunduh paket dari HuggingFace. Cukup unzip dan klik dua kali run_windows.bat
untuk menikmatinya!2024/07/24
: ? Kami mendukung pengeditan pose untuk potret sumber di antarmuka Gradio. Kami juga menurunkan ambang batas deteksi default untuk meningkatkan penarikan kembali. Selamat bersenang-senang!2024/07/19
: Kami mendukung pengeditan video potret (alias v2v) ! Lebih banyak untuk dilihat di sini.2024/07/17
: ? Kami mendukung macOS dengan Apple Silicon, dimodifikasi dari PR #143 jeethu.2024/07/10
: ? Kami mendukung penggabungan audio dan video, mendorong pemotongan otomatis video, dan pembuatan template untuk melindungi privasi. Lebih banyak untuk dilihat di sini.2024/07/09
: ? Kami merilis HuggingFace Space, terima kasih kepada tim HF dan Gradio!2024/07/04
: ? Kami merilis versi awal kode dan model inferensi. Pembaruan berkelanjutan, pantau terus!2024/07/04
: Kami merilis beranda dan laporan teknis di arXiv. Repo ini, bernama LivePortrait , berisi implementasi resmi PyTorch dari makalah kami LivePortrait: Animasi Potret Efisien dengan Kontrol Penggabungan dan Penargetan Ulang. Kami secara aktif memperbarui dan meningkatkan repositori ini. Jika Anda menemukan bug atau memiliki saran, silakan angkat masalah atau kirimkan permintaan tarik (PR)?.
Catatan
Pastikan sistem Anda telah menginstal git
, conda
, dan FFmpeg
. Untuk detail tentang instalasi FFmpeg, lihat cara menginstal 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 memerlukan versi torch
Anda agar kompatibel dengan versi CUDA.
Pertama, periksa versi CUDA Anda saat ini dengan:
nvcc -V # example versions: 11.1, 11.8, 12.1, etc.
Kemudian, instal versi obor yang sesuai. Berikut adalah contoh untuk versi CUDA yang berbeda. Kunjungi Situs Resmi PyTorch untuk perintah instalasi jika versi CUDA Anda tidak terdaftar:
# 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
# ...
Catatan : Pada sistem Windows, beberapa versi CUDA yang lebih tinggi (seperti 12.4, 12.6, dll.) dapat menyebabkan masalah yang tidak diketahui. Anda dapat mempertimbangkan untuk menurunkan versi CUDA ke versi 11.8 untuk stabilitas. Lihat panduan downgrade oleh @dimitribarbot.
Terakhir, instal dependensi yang tersisa:
pip install -r requirements.txt
Ketergantungan X-Pose tidak mendukung macOS, jadi Anda dapat melewati instalasinya. Meskipun mode Manusia berfungsi seperti biasa, mode Hewan tidak didukung. Gunakan file persyaratan yang disediakan untuk macOS dengan Apple Silicon:
# for macOS with Apple Silicon users
pip install -r requirements_macOS.txt
Cara termudah untuk mengunduh beban yang telah dilatih sebelumnya adalah dari HuggingFace:
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude " *.git* " " README.md " " docs "
Jika Anda tidak dapat mengakses Huggingface, Anda dapat menggunakan hf-mirror untuk mengunduh:
# !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 "
Alternatifnya, Anda dapat mengunduh semua beban yang telah dilatih sebelumnya dari Google Drive atau Baidu Yun. Buka zip dan letakkan di ./pretrained_weights
.
Memastikan struktur direktori seperti atau berisi 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
Jika skrip berhasil dijalankan, Anda akan mendapatkan file mp4 keluaran bernama animations/s6--d0_concat.mp4
. File ini mencakup hasil berikut: video penggerak, gambar atau video masukan, dan hasil yang dihasilkan.
Atau, Anda dapat mengubah input dengan menentukan argumen -s
dan -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
Mode Hewan HANYA diuji di Linux dan Windows dengan GPU NVIDIA.
Anda perlu membuat OP bernama MultiScaleDeformableAttention
terlebih dahulu, yang digunakan oleh X-Pose, kerangka deteksi titik kunci umum.
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # equal to cd ../../../../../../../
Kemudian
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
Jika skrip berhasil dijalankan, Anda akan mendapatkan file mp4 keluaran bernama animations/s39--wink_concat.mp4
.
Penting
Untuk menggunakan video mengemudi Anda sendiri, kami merekomendasikan :
--flag_crop_driving_video
. Di bawah ini adalah kasus pemotongan otomatis oleh --flag_crop_driving_video
:
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
Jika ternyata hasil pemotongan otomatis kurang baik, Anda dapat memodifikasi opsi --scale_crop_driving_video
, --vy_ratio_crop_driving_video
untuk menyesuaikan skala dan offset, atau melakukannya secara manual.
Anda juga dapat menggunakan file templat gerakan yang diakhiri dengan .pkl
yang dibuat secara otomatis untuk mempercepat inferensi, dan melindungi privasi , seperti:
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
Kami juga menyediakan antarmuka Gradio untuk pengalaman yang lebih baik, cukup dijalankan dengan:
# 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
Kami juga menyediakan antarmuka Gradio mode hewan, yang hanya diuji di Linux dengan GPU NVIDIA:
python app_animals.py # animals mode ??
Anda dapat menentukan argumen --server_port
, --share
, --server_name
untuk memenuhi kebutuhan Anda!
Kami juga menyediakan opsi akselerasi --flag_do_torch_compile
. Inferensi pertama kali memicu proses pengoptimalan (sekitar satu menit), membuat inferensi berikutnya 20-30% lebih cepat. Peningkatan kinerja mungkin berbeda pada versi CUDA yang berbeda.
# enable torch.compile for faster inference
python app.py --flag_do_torch_compile
Catatan : Metode ini tidak didukung di Windows dan macOS.
Atau, cobalah dengan mudah di HuggingFace?
Kami juga telah menyediakan skrip untuk mengevaluasi kecepatan inferensi setiap modul:
# For NVIDIA GPU
python speed.py
Hasilnya ada di sini .
Temukan sumber daya berharga yang disumbangkan oleh komunitas kami untuk meningkatkan pengalaman LivePortrait Anda.
Repo (diurutkan berdasarkan stempel waktu yang dibuat) | Keterangan | Pengarang |
---|---|---|
AdvancedLivePortrait-WebUI | WebUI khusus berbasis gradio dimulai dari ComfyUI-AdvancedLivePortrait | @jhj0517 |
Poke Wajah | Aplikasi transformasi kepala real-time, dikendalikan oleh mouse Anda! | @jbilcke-hf |
Fusi Wajah | FaceFusion 3.0 mengintegrasikan LivePortrait sebagai pemroses expression_restorer dan face_editor . | @henryruhs |
sd-webui-potret-langsung | Ekstensi WebUI dari LivePortrait, menambahkan atab ke WebUI Difusi Stabil asli untuk memanfaatkan fitur LivePortrait. | @dimitribarbot |
UI Nyaman-LivePortraitKJ | Node ComfyUI untuk menggunakan LivePortrait, dengan MediaPipe sebagai alternatif dari Insightface. | @kijai |
LivePortrait Canggih UI yang Nyaman | Node ComfyUI yang lebih cepat dengan pratinjau waktu nyata yang telah menginspirasi banyak alat dan proyek yang dikembangkan komunitas lainnya. | @PowerHouseMan |
nyamanui-liveportrait | Node ComfyUI untuk menggunakan LivePortrait, mendukung multi-wajah, interpolasi ekspresi, dll, dengan tutorial. | @ bayangancz007 |
Dan BANYAK kontribusi luar biasa dari komunitas kami, terlalu banyak untuk dicantumkan semuanya?
Kami mengucapkan terima kasih kepada para kontributor repositori FOMM, Open Facevid2vid, SPADE, InsightFace dan X-Pose, atas penelitian dan kontribusi terbuka mereka.
Teknologi animasi potret mempunyai risiko sosial, khususnya potensi penyalahgunaan dalam pembuatan deepfake. Untuk memitigasi risiko ini, sangat penting untuk mengikuti pedoman etika dan menerapkan praktik penggunaan yang bertanggung jawab. Saat ini, hasil sintesis berisi artefak visual yang dapat membantu mendeteksi deepfake. Harap dicatat bahwa kami tidak memikul tanggung jawab hukum apa pun atas penggunaan hasil yang dihasilkan oleh proyek ini.
Jika menurut Anda LivePortrait berguna untuk penelitian Anda, selamat datang di ? repo ini dan kutip pekerjaan kami menggunakan BibTeX berikut:
@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]