หากต้องการผลลัพธ์เพิ่มเติม โปรดไปที่ หน้าแรก ของเรา
2024/10/18
: ❗ เราได้อัปเดตเวอร์ชันของ transformers
และไลบรารี gradio
เพื่อหลีกเลี่ยงช่องโหว่ด้านความปลอดภัย รายละเอียดที่นี่2024/08/29
: ? เราอัปเดตตัวติดตั้งด้วยคลิกเดียวของ Windows และรองรับการอัปเดตอัตโนมัติ ดูบันทึกการเปลี่ยนแปลง2024/08/19
: ⁉️ เรารองรับ โหมดขับเคลื่อนด้วยรูปภาพ และ การควบคุมระดับภูมิภาค สำหรับรายละเอียด โปรดดู ที่นี่2024/08/06
: ? เราสนับสนุน การแก้ไขแนวตั้งที่แม่นยำ ในอินเทอร์เฟซ Gradio ซึ่งได้รับแรงบันดาลใจจาก ComfyUI-AdvancedLivePortrait ดู ที่นี่2024/08/05
: ? ผู้ใช้ Windows สามารถดาวน์โหลดตัวติดตั้งเพียงคลิกเดียวสำหรับโหมดมนุษย์และ โหมดสัตว์ ได้แล้วตอนนี้! สำหรับรายละเอียด โปรดดู ที่นี่2024/08/02
: ? เราได้เปิด ตัวโมเดล Animals เวอร์ชันหนึ่ง พร้อมด้วยการอัปเดตและการปรับปรุงอื่นๆ หลายประการ ดูรายละเอียด ได้ที่นี่ !2024/07/25
: ? ผู้ใช้ Windows สามารถดาวน์โหลดแพ็คเกจได้จาก HuggingFace เพียงแตกไฟล์และดับเบิลคลิก run_windows.bat
เพื่อสนุกได้เลย!2024/07/24
: ? เรารองรับการแก้ไขท่าทางสำหรับภาพบุคคลต้นฉบับในอินเทอร์เฟซ Gradio นอกจากนี้เรายังได้ลดเกณฑ์การตรวจจับเริ่มต้นลงเพื่อเพิ่มการเรียกคืนอีกด้วย มีความสุข!2024/07/19
: เรารองรับ การตัดต่อวิดีโอแนวตั้ง (aka v2v) ! เพิ่มเติมเพื่อดูที่นี่2024/07/17
: ? เรารองรับ macOS ด้วย Apple Silicon ซึ่งดัดแปลงจาก PR #143 ของ jeethu2024/07/10
: ? เรารองรับการเชื่อมต่อเสียงและวิดีโอ ขับเคลื่อนการครอบตัดวิดีโออัตโนมัติ และการสร้างเทมเพลตเพื่อปกป้องความเป็นส่วนตัว เพิ่มเติมเพื่อดูที่นี่2024/07/09
: ? เราเปิดตัว HuggingFace Space ต้องขอบคุณทีมงาน HF และ Gradio!2024/07/04
: ? เราเผยแพร่โค้ดและโมเดลการอนุมานเวอร์ชันเริ่มต้น อัปเดตอย่างต่อเนื่องคอยติดตาม!2024/07/04
: เราเผยแพร่หน้าแรกและรายงานทางเทคนิคเกี่ยวกับ arXiv repo นี้ชื่อ LivePortrait ประกอบด้วยการใช้งาน PyTorch อย่างเป็นทางการของรายงาน LivePortrait ของเรา: แอนิเมชั่นแนวตั้งที่มีประสิทธิภาพพร้อมการเย็บและการควบคุมการกำหนดเป้าหมายใหม่ เรากำลังอัปเดตและปรับปรุงพื้นที่เก็บข้อมูลนี้อย่างแข็งขัน หากคุณพบข้อบกพร่องหรือมีข้อเสนอแนะ ยินดีที่จะแจ้งปัญหาหรือส่งคำขอดึง (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 เวอร์ชันต่างๆ เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ PyTorch เพื่อดูคำสั่งการติดตั้งหากไม่มีเวอร์ชัน CUDA ของคุณอยู่ในรายการ:
# 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 ดังนั้นคุณจึงสามารถข้ามการติดตั้งได้ แม้ว่าโหมดมนุษย์จะทำงานตามปกติ แต่ไม่รองรับโหมดสัตว์ ใช้ไฟล์ข้อกำหนดที่ให้มาสำหรับ macOS กับ Apple Silicon:
# 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 หรือ Baidu Yun แตกไฟล์และวางไว้ใน ./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
หากสคริปต์ทำงานได้สำเร็จ คุณจะได้รับไฟล์เอาต์พุต MP4 ชื่อ animations/s6--d0_concat.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
โหมดสัตว์ได้รับการทดสอบบน Linux และ Windows ด้วย NVIDIA GPU เท่านั้น
คุณต้องสร้าง OP ชื่อ MultiScaleDeformableAttention
ก่อน ซึ่งใช้โดย 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
หากสคริปต์ทำงานได้สำเร็จ คุณจะได้รับไฟล์เอาต์พุต MP4 ชื่อ animations/s39--wink_concat.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 ของโหมดสัตว์ ซึ่งทดสอบบน Linux ด้วย NVIDIA GPU เท่านั้น:
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 ของคุณ
Repo (จัดเรียงตามการประทับเวลาที่สร้างขึ้น) | คำอธิบาย | ผู้เขียน |
---|---|---|
AdvancedLivePortrait-WebUI | WebUI ที่ใช้ gradio โดยเฉพาะเริ่มต้นจาก ComfyUI-AdvancedLivePortrait | @jhj0517 |
เฟซโปเก | แอปแปลงหัวแบบเรียลไทม์ ควบคุมด้วยเมาส์ของคุณ! | @jbilcke-hf |
เฟซฟิวชั่น | FaceFusion 3.0 ผสานรวม LivePortrait เป็นตัวประมวลผล expression_restorer และ face_editor | @henryruhs |
sd-webui-ภาพสด | ส่วนขยาย WebUI ของ LivePortrait โดยเพิ่ม atab ให้กับ Stable Diffusion WebUI ดั้งเดิมเพื่อรับประโยชน์จากฟีเจอร์ LivePortrait | @dimitribarbot |
ComfyUI-LivePortraitKJ | โหนด ComfyUI เพื่อใช้ LivePortrait โดยมี MediaPipe เป็นทางเลือกแทน Insightface | @kijai |
ComfyUI-AdvancedLivePortrait | โหนด ComfyUI ที่เร็วขึ้นพร้อมการแสดงตัวอย่างแบบเรียลไทม์ซึ่งเป็นแรงบันดาลใจให้กับเครื่องมือและโครงการที่พัฒนาโดยชุมชนอื่นๆ มากมาย | @พาวเวอร์เฮาส์แมน |
Comfyui-LivePortrait | โหนด ComfyUI เพื่อใช้ LivePortrait รองรับหลายหน้า การแก้ไขนิพจน์ ฯลฯ พร้อมบทช่วยสอน | @shadowcz007 |
และการมีส่วนร่วมที่น่าทึ่งมากมายจากชุมชนของเรา มากเกินไปที่จะแสดงรายการทั้งหมด ?
เราขอขอบคุณผู้ร่วมให้ข้อมูลของ FOMM, Open Facevid2vid, SPADE, InsightFace และ X-Pose สำหรับการวิจัยแบบเปิดและการมีส่วนร่วมของพวกเขา
เทคโนโลยีแอนิเมชันแนวตั้งมาพร้อมกับความเสี่ยงทางสังคม โดยเฉพาะอย่างยิ่งโอกาสที่จะถูกนำไปใช้ในทางที่ผิดในการสร้าง Deepfake เพื่อลดความเสี่ยงเหล่านี้ การปฏิบัติตามหลักเกณฑ์ด้านจริยธรรมและนำแนวปฏิบัติการใช้งานอย่างมีความรับผิดชอบมาใช้เป็นสิ่งสำคัญ ปัจจุบันผลลัพธ์ที่สังเคราะห์ขึ้นมีสิ่งประดิษฐ์ทางการมองเห็นที่อาจช่วยในการตรวจจับ Deepfakes โปรดทราบว่าเราไม่รับผิดชอบทางกฎหมายใด ๆ สำหรับการใช้ผลลัพธ์ที่สร้างโดยโครงการนี้
หากคุณพบว่า 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]