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

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

일반 소개

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

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

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

 

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

 

기능 목록

  • 오디오 기반 애니메이션: 오디오 입력에서 해당 인물 애니메이션을 생성합니다.
  • 비디오 기반 애니메이션: 얼굴 재현을 위한 비디오를 제공하여 사실적인 얼굴 애니메이션을 생성합니다.
  • 고품질 애니메이션 생성: 3D 중간 표현 및 2D 얼굴 애니메이션 기술을 사용하여 고품질 애니메이션 효과를 생성합니다.
  • 웹 UI 데모: 사용자 친화적인 경험을 위해 Gradio 웹 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 웹 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_tempaudio2pose 모델을 활성화할 수 있습니다. 이 명령을 사용하여 헤드 포즈 컨트롤을 생성할 수도 있습니다.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
© 저작권 정책

관련 문서

댓글 없음

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