GitHub - GVCLab/PersonaLive: [CVPR 2026] PersonaLive! : Hoạt hình ảnh chân dung biểu cảm cho phát trực tiếp
Hoạt hình ảnh chân dung biểu cảm cho phát trực tiếp
Zhiyuan Li1,2,3 · Chi-Man Pun1,📪 · Chen Fang2 · Jue Wang2 · Xiaodong Cun3,📪
1 Đại học Macau 2 Dzine.ai 3 GVC Lab, Đại học Vịnh Lớn
📋 TODO
Nếu bạn thấy PersonaLive hữu ích hoặc thú vị, vui lòng cho chúng tôi một ngôi sao 🌟! Sự ủng hộ của bạn thúc đẩy chúng tôi tiếp tục cải thiện.
Sửa lỗi (Nếu bạn gặp bất kỳ vấn đề nào, vui lòng mở một issue hoặc liên hệ với tôi! 🙏)
Phát hành mã huấn luyện.
[21/02/2026] 🥳 PersonaLive được chấp nhận bởi CVPR2026 🎉.
[29/12/2025] 🔥 Cải thiện WebUI (Hỗ trợ thay thế ảnh tham khảo).
[22/12/2025] 🔥 Hỗ trợ chiến lược phát trực tiếp trong suy luận ngoại tuyến để tạo video dài trên 12GB VRAM!
[17/12/2025] 🔥 ComfyUI-PersonaLive hiện được hỗ trợ! (Cảm ơn @okdalto)
[15/12/2025] 🔥 Phát hành bài báo!
[12/12/2025] 🔥 Phát hành mã suy luận, cấu hình và trọng số đã được huấn luyện trước!
⚖️ Tuyên bố từ chối trách nhiệm
Dự án này chỉ được phát hành cho mục đích nghiên cứu học thuật. Người dùng không được sử dụng kho lưu trữ này để tạo ra nội dung có hại, phỉ báng hoặc bất hợp pháp. Các tác giả không chịu trách nhiệm cho bất kỳ hành vi sử dụng sai mục đích hoặc hậu quả pháp lý nào phát sinh từ việc sử dụng công cụ này. Bằng cách sử dụng mã này, bạn đồng ý rằng bạn hoàn toàn chịu trách nhiệm cho bất kỳ nội dung nào được tạo ra.
⚙️ Khung
Chúng tôi giới thiệu PersonaLive, một khung khuếch tán phát trực tuyến và theo thời gian thực có khả năng tạo ra các hoạt ảnh chân dung có độ dài vô hạn.
🚀 Bắt đầu
🛠 Cài đặt
# clone repo này
git clone https://github.com/GVCLab/PersonaLive
cd PersonaLive
# Tạo môi trường conda
conda create -n personalive python=3.10
conda activate personalive
# Cài đặt các gói bằng pip
pip install -r requirements_base.txt
⏬ Tải xuống trọng số
Tùy chọn 1: Tải xuống các trọng số đã được huấn luyện trước của các mô hình cơ sở và các thành phần khác (sd-image-variations-diffusers và sd-vae-ft-mse). Bạn có thể chạy lệnh sau để tải xuống trọng số tự động:
python tools/download_weights.py
Tùy chọn 2: Tải xuống các trọng số đã được huấn luyện trước vào thư mục ./pretrained_weights từ một trong các URL bên dưới:
Cuối cùng, các trọng số này sẽ được tổ chức như sau:
pretrained_weights
├── onnx
│ ├── unet_opt
│ │ ├── unet_opt.onnx
│ │ └── unet_opt.onnx.data
│ └── unet
├── personalive
│ ├── denoising_unet.pth
│ ├── motion_encoder.pth
│ ├── motion_extractor.pth
│ ├── pose_guider.pth
│ ├── reference_unet.pth
│ └── temporal_module.pth
├── sd-vae-ft-mse
│ ├── diffusion_pytorch_model.bin
│ └── config.json
├── sd-image-variations-diffusers
│ ├── image_encoder
│ │ ├── pytorch_model.bin
│ │ └── config.json
│ ├── unet
│ │ ├── diffusion_pytorch_model.bin
│ │ └── config.json
│ └── model_index.json
└── tensorrt
└── unet_work.engine
🎞️ Suy luận ngoại tuyến
Chạy suy luận ngoại tuyến với cấu hình mặc định:
python inference_offline.py -L: Số lượng khung hình tối đa để tạo. (Mặc định: 100) --use_xformers: Bật tính năng chú ý hiệu quả bộ nhớ xFormers. (Mặc định: True) --stream_gen: Bật chiến lược tạo phát trực tuyến. (Mặc định: True) --reference_image: Đường dẫn đến ảnh tham khảo cụ thể. Ghi đè cài đặt trong cấu hình. --driving_video: Đường dẫn đến video điều khiển cụ thể. Ghi đè cài đặt trong cấu hình.
⚠️ Lưu ý cho người dùng RTX 50-Series (Blackwell):
xformers chưa hoàn toàn tương thích với kiến trúc mới. Để tránh sự cố, vui lòng tắt nó bằng cách chạy:
python inference_offline.py --use_xformers False
📸 Suy luận trực tuyến
📦 Thiết lập Web UI
# cài đặt Node.js 18+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install 18
source web_start.sh
🏎️ Tăng tốc (Tùy chọn)
Chuyển đổi mô hình sang TensorRT có thể tăng tốc đáng kể suy luận (~ 2x ⚡️). Xây dựng engine có thể mất khoảng 20 phút tùy thuộc vào thiết bị của bạn. Lưu ý rằng các tối ưu hóa TensorRT có thể dẫn đến các biến thể nhỏ hoặc giảm nhẹ chất lượng đầu ra.
# Cài đặt các gói bằng pip
pip install -r requirements_trt.txt
# Chuyển đổi mô hình sang TensorRT
python torch2trt.py
💡 Các vấn đề về cài đặt PyCUDA:
Nếu bạn gặp lỗi "Failed to build wheel for pycuda" trong quá trình cài đặt ở trên, vui lòng làm theo các bước sau:
# Cài đặt PyCUDA thủ công bằng Conda (tránh các vấn đề về biên dịch):
conda install -c conda-forge pycuda "numpy<2.0"
# Mở requirements_trt.txt và nhận xét hoặc xóa dòng "pycuda==2024.1.2"
# Cài đặt các gói khác bằng pip
pip install -r requirements_trt.txt
# Chuyển đổi mô hình sang TensorRT
python torch2trt.py
⚠️ Mô hình TensorRT được cung cấp là từ H100. Chúng tôi khuyên TẤT CẢ người dùng (bao gồm cả người dùng H100) chạy lại python torch2trt.py cục bộ để đảm bảo khả năng tương thích tốt nhất.
▶️ Bắt đầu phát trực tuyến
python inference_online.py --acceleration none (cho RTX 50-Series) hoặc xformers hoặc tensorrt
Sau đó, mở http://0.0.0.0:7860 trong trình duyệt của bạn. (*Nếu http://0.0.0.0:7860 không hoạt động tốt, hãy thử http://localhost:7860)
Cách sử dụng:
Tải ảnh lên ➡️ Hợp nhất tham chiếu ➡️ Bắt đầu hoạt ảnh ➡️ Thưởng thức! 🎉
Liên quan đến độ trễ:
Độ trễ khác nhau tùy thuộc vào sức mạnh tính toán của thiết bị của bạn. Bạn có thể thử các phương pháp sau để tối ưu hóa nó:
- Giảm cài đặt "Driving FPS" trong WebUI để giảm khối lượng công việc tính toán.
- Bạn có thể tăng hệ số nhân
Góc nhìn từ cộng đồng
Hãy là người đầu tiên thêm một góc nhìn hữu ích để mạch đọc này trở nên sâu hơn.