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

演示地址:https://huggingface.co/spaces/ZJYang/AniPortrait_official

기능 목록
- 音频驱动动画:通过音频输入生成对应的肖像动画。
- 视频驱动动画:提供视频进行面部重现,生成逼真的面部动画。
- 高质量动画生成:使用3D中间表示和2D面部动画技术,生成高质量的动画效果。
- 网络界面演示:通过Gradio Web 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 Web 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 공유 서클 所有,未经允许请勿转载。
관련 문서
댓글 없음...