AniPortrait: 오디오 기반 사진 또는 비디오 모션으로 사실적인 디지털 사람 음성 비디오를 생성합니다.

최신 AI 리소스7개월 전 업데이트 AI 공유 서클
2.1K 00

일반 소개

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

AniPortrait:音频驱动图片或视频动作生成逼真的数字人讲话视频

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

 

AniPortrait:音频驱动图片或视频动作生成逼真的数字人讲话视频

 

기능 목록

  • 音频驱动动画:通过音频输入生成对应的肖像动画。
  • 视频驱动动画:提供视频进行面部重现,生成逼真的面部动画。
  • 高质量动画生成:使用3D中间表示和2D面部动画技术,生成高质量的动画效果。
  • 网络界面演示:通过Gradio Web UI提供在线演示,方便用户体验。
  • 模型训练与推理:支持模型的训练与推理,用户可以自定义数据进行训练和生成。

 

도움말 사용

마운팅

환경 구축

推荐使用Python版本>=3.10和CUDA版本=11.7。按照以下步骤搭建环境:

pip install -r requirements.txt

가중치 다운로드

所有权重文件应放置在./pretrained_weights目录下。手动下载权重文件如下:

  1. 下载训练好的权重,包括以下部分:denoising_unet.pthreference_unet.pthpose_guider.pthmotion_module.pth
  2. 下载基础模型和其他组件的预训练权重:
    • 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
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...