JoyGen: herramienta de edición de vídeo sonoro 3D con profundidad de campo para retratos hablados

Introducción general

JoyGen es un innovador marco de generación de vídeo de caras hablantes en dos fases que se centra en resolver el problema de la generación de expresiones faciales basadas en audio. Desarrollado por un equipo de Jingdong Technology, el proyecto emplea técnicas avanzadas de reconstrucción 3D y métodos de extracción de características de audio para capturar con precisión los rasgos de identidad y los coeficientes de expresión del hablante con el fin de lograr una sincronización labial y una síntesis visual de alta calidad.El marco JoyGen consta de dos fases principales: en primer lugar, la generación de movimiento labial basada en audio y, en segundo lugar, la síntesis de apariencia visual. Al integrar las características de audio y los mapas de profundidad facial, proporciona una supervisión exhaustiva para una sincronización labial precisa. El proyecto no sólo es compatible con controladores de audio en chino e inglés, sino que también ofrece un completo proceso de formación e inferencia, lo que lo convierte en una potente herramienta de código abierto.

JoyGen:音频驱动的3D深度感知人像说话视频编辑工具

 

Lista de funciones

  • Generación y edición de expresiones faciales en 3D basadas en audio
  • Tecnología de sincronización labial precisa
  • Admite entrada de audio en chino e inglés
  • Síntesis visual para la percepción de la profundidad 3D
  • Función de retención de la identidad facial
  • Funciones de generación y edición de vídeo de alta calidad
  • Formación completa y apoyo al marco de razonamiento
  • Los modelos preentrenados facilitan el despliegue rápido
  • Formación personalizada de conjuntos de datos
  • Proporcionar herramientas detalladas de preprocesamiento de datos

 

Utilizar la ayuda

1. Configuración medioambiental

1.1 Requisitos de infraestructura

  • GPU compatibles: V100, A800
  • Versión de Python: 3.8.19
  • Dependencias del sistema: ffmpeg

1.2 Pasos de la instalación

  1. Crea y activa el entorno conda:
conda create -n joygen python=3.8.19 ffmpeg
conda activate joygen
pip install -r requirements.txt
  1. Instale la biblioteca Nvdiffrast:
git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .
  1. Descargar modelo preentrenado
    A partir delenlace de descargaObtenga el modelo preentrenado y colóquelo según la estructura de directorios especificada en la carpeta./pretrained_models/Catálogo.

2. Flujo de utilización

2.1 Proceso de razonamiento

Ejecutar todo el proceso de razonamiento:

bash scripts/inference_pipeline.sh 音频文件 视频文件 结果目录

Ejecutar el proceso de razonamiento por etapas:

  1. Extracción de coeficientes de expresión facial a partir de audio:
python inference_audio2motion.py --a2m_ckpt ./pretrained_models/audio2motion/240210_real3dportrait_orig/audio2secc_vae --hubert_path ./pretrained_models/audio2motion/hubert --drv_aud ./demo/xinwen_5s.mp3 --seed 0 --result_dir ./results/a2m --exp_file xinwen_5s.npy
  1. Renderiza mapas de profundidad fotograma a fotograma utilizando nuevos coeficientes de expresión:
python -u inference_edit_expression.py --name face_recon_feat0.2_augment --epoch=20 --use_opengl False --checkpoints_dir ./pretrained_models --bfm_folder ./pretrained_models/BFM --infer_video_path ./demo/example_5s.mp4 --infer_exp_coeff_path ./results/a2m/xinwen_5s.npy --infer_result_dir ./results/edit_expression
  1. Generación de animaciones faciales basadas en características de audio y mapas de profundidad facial:
CUDA_VISIBLE_DEIVCES=0 python -u inference_joygen.py --unet_model_path pretrained_models/joygen --vae_model_path pretrained_models/sd-vae-ft-mse --intermediate_dir ./results/edit_expression --audio_path demo/xinwen_5s.mp3 --video_path demo/example_5s.mp4 --enable_pose_driven --result_dir results/talk --img_size 256 --gpu_id 0

2.2 Proceso de formación

  1. Preprocesamiento de datos:
python -u preprocess_dataset.py --checkpoints_dir ./pretrained_models --name face_recon_feat0.2_augment --epoch=20 --use_opengl False --bfm_folder ./pretrained_models/BFM --video_dir ./demo --result_dir ./results/preprocessed_dataset
  1. Examinar los datos preprocesados y generar listas de entrenamiento:
python -u preprocess_dataset_extra.py data_dir
  1. Empieza a entrenar:
    Modifique el archivo config.yaml y ejecútelo:
accelerate launch --main_process_port 29501 --config_file config/accelerate_config.yaml train_joygen.py
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...