AniPortrait: movimiento de imagen o vídeo basado en audio para generar vídeo digital realista de habla humana
Últimos recursos sobre IAActualizado hace 10 meses Círculo de intercambio de inteligencia artificial 27.7K 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_weightsdirectorio. Descargue manualmente el archivo de pesos de la siguiente manera:
- Descarga los pesos entrenados, incluyendo las siguientes partes:
denoising_unet.pthyreference_unet.pthypose_guider.pthymotion_module.pthetc. - 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-Lpara 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_weightsCatá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.yamlpara 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.yamlAñ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.yamlAñadir audio e imágenes de referencia Borraranimation_audio.yamlha dado en el clavopose_tempPuede 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_weightsdirectorio. En el directoriostage2.yamlEl 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...




