더 많은 결과를 보려면 당사 홈페이지를 방문하세요.
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
: ? 우리는 jeethu의 PR #143을 수정한 Apple Silicon을 사용하여 macOS를 지원합니다.2024/07/10
: ? 개인정보 보호를 위해 오디오와 비디오 연결, 비디오 자동 자르기 구동, 템플릿 제작을 지원합니다. 여기에서 더 많은 것을 볼 수 있습니다.2024/07/09
: ? HF팀과 Gradio의 도움으로 HuggingFace Space를 출시하게 되었습니다!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.
그런 다음 해당 토치 버전을 설치하십시오. 다음은 다양한 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 또는 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
스크립트가 성공적으로 실행되면 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에서만 테스트되었습니다.
먼저 일반 키포인트 감지 프레임워크인 X-Pose에서 사용되는 MultiScaleDeformableAttention
이라는 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
또한 NVIDIA GPU를 사용하는 Linux에서만 테스트되는 동물 모드의 Gradio 인터페이스도 제공합니다.
python app_animals.py # animals mode ??
필요에 따라 --server_port
, --share
, --server_name
인수를 지정할 수 있습니다!
또한 가속 옵션 --flag_do_torch_compile
도 제공합니다. 첫 번째 추론은 최적화 프로세스(약 1분)를 트리거하여 후속 추론을 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 | ComfyUI-AdvancedLivePortrait에서 시작된 전용 그라데이션 기반 WebUI | @jhj0517 |
페이스포크 | 마우스로 제어하는 실시간 머리 변신 앱! | @jbilcke-hf |
페이스퓨전 | FaceFusion 3.0은 LivePortrait를 expression_restorer 및 face_editor 프로세서로 통합합니다. | @henryruhs |
sd-webui-라이브-초상화 | LivePortrait의 WebUI 확장으로, 원래 Stable Diffusion WebUI에 atab을 추가하여 LivePortrait 기능의 이점을 누릴 수 있습니다. | @dimitribarbot |
ComfyUI-LivePortraitKJ | Insightface의 대안으로 MediaPipe와 함께 LivePortrait를 사용하기 위한 ComfyUI 노드입니다. | @kijai |
ComfyUI-AdvancedLivePortrait | 다른 많은 커뮤니티 개발 도구 및 프로젝트에 영감을 준 실시간 미리보기 기능을 갖춘 더 빠른 ComfyUI 노드입니다. | @파워하우스맨 |
comfyui-liveportrait | LivePortrait를 사용하기 위한 ComfyUI 노드, 튜토리얼과 함께 다중 얼굴, 표현 보간 등을 지원합니다. | @shadowcz007 |
그리고 우리 커뮤니티의 놀라운 기여가 너무 많아서 모두 나열할 수 없을 정도로 많습니까?
공개 연구와 기여에 대해 FOMM, Open Facevid2vid, SPADE, InsightFace 및 X-Pose 저장소의 기여자들에게 감사의 말씀을 전하고 싶습니다.
인물 애니메이션 기술은 사회적 위험을 수반하며, 특히 딥페이크 제작 시 오용될 가능성이 있습니다. 이러한 위험을 완화하려면 윤리적 지침을 따르고 책임 있는 사용 관행을 채택하는 것이 중요합니다. 현재 합성된 결과에는 딥페이크를 탐지하는 데 도움이 될 수 있는 시각적 아티팩트가 포함되어 있습니다. 본 프로젝트를 통해 생성된 결과의 사용에 대해 당사는 어떠한 법적 책임도 지지 않는다는 점을 참고하시기 바랍니다.
LivePortrait가 연구에 유용하다고 생각되면 ?에 오신 것을 환영합니다. 이 저장소를 확인하고 다음 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]