AniPortrait: movimiento de imagen o vídeo basado en audio para generar vídeo digital realista de habla humana
Últimos recursos sobre IAActualizado hace 7 meses Círculo de intercambio de inteligencia artificial 2.3K 00
Introducción general
AniPortrait es un marco innovador para generar animaciones realistas de retratos a partir de audio. Desarrollado por Huawei, Zechun Yang y Zhisheng Wang de Tencent Game Know Yourself Lab, AniPortrait es capaz de generar animaciones de alta calidad a partir de audio e imágenes de retrato de referencia, e incluso puede serProporcionar vídeo para la recreación facial. Mediante el uso de técnicas avanzadas de representación intermedia en 3D y animación facial en 2D, el marco es capaz de generar efectos de animación naturales y suaves para diversos escenarios de aplicación, como la producción de cine y televisión, los presentadores virtuales y las personas digitales.

Dirección de demostración: https://huggingface.co/spaces/ZJYang/AniPortrait_official

Lista de funciones
- Animación basada en audio: Genera la animación de retrato correspondiente a partir de la entrada de audio.
- Animación por vídeo: proporciona vídeo para la reproducción facial, generando animaciones faciales realistas.
- Generación de animación de alta calidad: utilice técnicas de representación intermedia 3D y animación facial 2D para generar efectos de animación de alta calidad.
- Demostración Web UI: Proporcione una demostración en línea a través de Gradio Web UI para una experiencia fácil de usar.
- Entrenamiento e inferencia de modelos: para apoyar el entrenamiento y la inferencia de modelos, los usuarios pueden personalizar los datos para el entrenamiento y la generación.
Utilizar la ayuda
montaje
medio ambiente edificio
Se recomienda una versión de Python >= 3.10 y una versión de CUDA = 11.7. Siga los pasos que se indican a continuación para crear el entorno:
pip install -r requirements.txt
descargar ponderación
Todos los archivos de pesos deben colocarse en la carpeta./pretrained_weights
directorio. Descargue manualmente el archivo de pesos de la siguiente manera:
- Descarga los pesos entrenados, incluyendo las siguientes partes:
denoising_unet.pth
yreference_unet.pth
ypose_guider.pth
ymotion_module.pth
etc. - Descargue los pesos preentrenados para el modelo base y otros componentes:
- StableDiffusion V1.5
- sd-vae-ft-mse
- codificador_de_imágenes
- wav2vec2-base-960h
La estructura del archivo de pesos está organizada de la siguiente manera:
./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
Pruebe nuestra web demo con el siguiente comando. También proporcionamos elDemostración en línea.
python -m scripts.app
inferencia
Tenga en cuenta que es posible configurar el comando-L
para el número deseado de fotogramas generados, por ejemplo-L 300
.
Métodos de aceleraciónSi tarda demasiado en generarse el vídeo, puede descargar el archivofilm_net_fp16.pty se coloca en./pretrained_weights
Catálogo.
Los siguientes son los comandos CLI para ejecutar el script de razonamiento:
autoconducido
python -m scripts.pose2vid --config ./configs/prompts/animation.yaml -W 512 -H 512 -acc
referenciableanimation.yaml
para añadir su propia imagen de referencia o vídeo de pose. Para convertir el vídeo original en un vídeo de pose (secuencia de puntos clave), puede ejecutar el siguiente comando:
python -m scripts.vid2pose --video_path pose_video_path.mp4
reaparición facial
python -m scripts.vid2vid --config ./configs/prompts/animation_facereenac.yaml -W 512 -H 512 -acc
existeanimation_facereenac.yaml
Añade el vídeo de la cara de origen y la imagen de referencia al
Controlador de audio
python -m scripts.audio2vid --config ./configs/prompts/animation_audio.yaml -W 512 -H 512 -acc
existeanimation_audio.yaml
Añadir audio e imágenes de referencia Borraranimation_audio.yaml
ha dado en el clavopose_temp
Puede activar el modelo audio2pose. También puede utilizar este comando para generar el control de pose de la cabeza para el modelopose_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
tren
Preparación de datos
descargandoVFHQresponder cantandoCelebV-HQ. Extrae los puntos clave del vídeo original y escribe el archivo json de entrenamiento (aquí tienes un ejemplo de procesamiento de VFHQ):
python -m scripts.preprocess_dataset --input_dir VFHQ_PATH --output_dir SAVE_PATH --training_json JSON_PATH
Actualizar filas en el perfil de formación:
data:
json_path: JSON_PATH
Fase 1
Ejecutar comando:
accelerate launch train_stage_1.py --config ./configs/train/stage1.yaml
Fase 2
Ponderación de los módulos de movimiento preentrenadosmm_sd_v15_v2.ckpt
(enlace de descarga) colocado en./pretrained_weights
directorio. En el directoriostage2.yaml
El archivo de configuración especifica los pesos de entrenamiento para la etapa 1, por ejemplo:
stage1_ckpt_dir: './exp_output/stage1'
stage1_ckpt_step: 30000
Ejecutar comando:
accelerate launch train_stage_2.py --config ./configs/train/stage2.yaml
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...