일반 소개
AniPortrait는 오디오로 사실적인 초상화 애니메이션을 생성하는 혁신적인 프레임워크입니다. 화웨이, Tencent Game Know Yourself Lab의 양제준, 왕즈셩이 개발한 AniPortrait는 오디오와 참조 인물 이미지에서 고품질 애니메이션을 생성할 수 있으며, 심지어 다음과 같은 기능도 지원합니다.얼굴 재현을 위한 비디오 제공. 고급 3D 중간 표현과 2D 얼굴 애니메이션 기법을 사용하여 영화 및 TV 제작, 가상 앵커, 디지털 인물 등 다양한 응용 시나리오에 자연스럽고 부드러운 애니메이션 효과를 생성할 수 있는 프레임워크입니다.

데모 주소: https://huggingface.co/spaces/ZJYang/AniPortrait_official

기능 목록
- 오디오 기반 애니메이션: 오디오 입력에서 해당 인물 애니메이션을 생성합니다.
- 비디오 기반 애니메이션: 얼굴 재현을 위한 비디오를 제공하여 사실적인 얼굴 애니메이션을 생성합니다.
- 고품질 애니메이션 생성: 3D 중간 표현 및 2D 얼굴 애니메이션 기술을 사용하여 고품질 애니메이션 효과를 생성합니다.
- 웹 UI 데모: 사용자 친화적인 경험을 위해 Gradio 웹 UI를 통해 온라인 데모를 제공합니다.
- 모델 훈련 및 추론: 모델 훈련 및 추론을 지원하며, 사용자는 훈련 및 생성을 위해 데이터를 사용자 지정할 수 있습니다.
도움말 사용
마운팅
환경 구축
권장 Python 버전 >= 3.10 및 CUDA 버전 = 11.7. 아래 단계에 따라 환경을 빌드하세요:
pip install -r requirements.txt
가중치 다운로드
모든 웨이트 파일은./pretrained_weights
디렉토리에 있습니다. 다음과 같이 가중치 파일을 수동으로 다운로드합니다:
- 다음 부분을 포함하여 훈련된 가중치를 다운로드하세요:
denoising_unet.pth
및reference_unet.pth
및pose_guider.pth
및motion_module.pth
등 - 기본 모델 및 기타 컴포넌트에 대해 사전 학습된 가중치를 다운로드하세요:
- StableDiffusion V1.5
- SD-VAE-FT-MSE
- image_encoder
- WAV2VEC2-BASE-960H
가중치 파일 구조는 다음과 같이 구성됩니다:
./pretrained_weights/
|-- image_encoder
| |-- config.json
| `-- pytorch_model.bin
|-- sd-vae-ft-mse
| |-- config.json
| |-- diffusion_pytorch_model.bin
| `-- diffusion_pytorch_model.safetensors
|-- stable-diffusion-v1-5
| |-- feature_extractor
| | `-- preprocessor_config.json
| |-- model_index.json
| |-- unet
| | |-- config.json
| | `-- diffusion_pytorch_model.bin
| `-- v1-inference.yaml
|-- wav2vec2-base-960h
| |-- config.json
| |-- feature_extractor_config.json
| |-- preprocessor_config.json
| |-- pytorch_model.bin
| |-- README.md
| |-- special_tokens_map.json
| |-- tokenizer_config.json
| `-- vocab.json
|-- audio2mesh.pt
|-- audio2pose.pt
|-- denoising_unet.pth
|-- film_net_fp16.pt
|-- motion_module.pth
|-- pose_guider.pth
`-- reference_unet.pth
Gradio 웹 UI
다음 명령어로 웹 데모를 사용해 보세요. 또한온라인 데모.
python -m scripts.app
추론
다음 명령을 설정할 수 있습니다.-L
를 원하는 생성 프레임 수로 설정합니다.-L 300
.
가속 방법동영상을 생성하는 데 시간이 너무 오래 걸리면film_net_fp16.pt에 배치하고./pretrained_weights
카탈로그.
다음은 추론 스크립트를 실행하는 CLI 명령어입니다:
자기 주도적
python -m scripts.pose2vid --config ./configs/prompts/animation.yaml -W 512 -H 512 -acc
참조 가능animation.yaml
형식을 사용하여 나만의 참조 이미지 또는 포즈 동영상을 추가할 수 있습니다. 원본 동영상을 포즈 동영상(키포인트 시퀀스)으로 변환하려면 다음 명령을 실행하면 됩니다:
python -m scripts.vid2pose --video_path pose_video_path.mp4
얼굴 재현
python -m scripts.vid2vid --config ./configs/prompts/animation_facereenac.yaml -W 512 -H 512 -acc
존재animation_facereenac.yaml
소스 얼굴 비디오와 참조 이미지를 추가합니다.
오디오 드라이버
python -m scripts.audio2vid --config ./configs/prompts/animation_audio.yaml -W 512 -H 512 -acc
존재animation_audio.yaml
오디오 및 참조 이미지 추가 삭제animation_audio.yaml
정곡을 찌르세요pose_temp
audio2pose 모델을 활성화할 수 있습니다. 이 명령을 사용하여 헤드 포즈 컨트롤을 생성할 수도 있습니다.pose_temp.npy
::
python -m scripts.generate_ref_pose --ref_video ./configs/inference/head_pose_temp/pose_ref_video.mp4 --save_path ./configs/inference/head_pose_temp/pose.npy
기차
데이터 준비
다운로드VFHQ노래로 응답CelebV-HQ. 원본 비디오에서 키포인트를 추출하고 트레이닝 json 파일을 작성합니다(다음은 VFHQ 처리 예제입니다):
python -m scripts.preprocess_dataset --input_dir VFHQ_PATH --output_dir SAVE_PATH --training_json JSON_PATH
교육 프로필에서 행을 업데이트합니다:
data:
json_path: JSON_PATH
1단계
실행 명령을 실행합니다:
accelerate launch train_stage_1.py --config ./configs/train/stage1.yaml
2단계
사전 학습된 모션 모듈에 가중치 부여하기mm_sd_v15_v2.ckpt
(다운로드 링크)에 배치된./pretrained_weights
디렉토리에 저장합니다. 에서stage2.yaml
구성 파일은 예를 들어 1단계의 트레이닝 가중치를 지정합니다:
stage1_ckpt_dir: './exp_output/stage1'
stage1_ckpt_step: 30000
실행 명령을 실행합니다:
accelerate launch train_stage_2.py --config ./configs/train/stage2.yaml
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...