DisPose: generación de vídeos con control preciso de la postura humana, creación de bailarinas

Introducción general

DisPose es un innovador proyecto de inteligencia artificial de código abierto centrado en la generación controlada de imágenes de animación de personajes. Desarrollado por un equipo de investigadores y de código abierto en GitHub, el proyecto emplea técnicas avanzadas de aprendizaje profundo para lograr un control preciso de la animación de personajes mediante la descomposición de la información de la pose del esqueleto. Este enfoque único hace que la animación generada sea más natural y suave, y más controlable. El proyecto no sólo proporciona una implementación completa del código, sino que también incluye modelos preentrenados para que los investigadores y desarrolladores puedan implantar y utilizar rápidamente esta tecnología.

Artículos similares:StableAnimator: genera animaciones de vídeo de alta calidad que mantienen los rasgos del personaje.

DisPose:生成人体姿态精准控制的视频,创作跳舞的小姐姐

 

Lista de funciones

  • Detección de posturas humanas y extracción de puntos clave
  • Generación y control de campos deportivos
  • Composición de animación de imágenes de personajes
  • Control preciso de múltiples articulaciones
  • Detallado facial y manual
  • Procesamiento de vídeo por lotes
  • Migración postural y redirección del movimiento
  • Estimación y seguimiento de la actitud en tiempo real
  • Ajuste personalizado de los parámetros de control de la animación
  • Animación de alta calidad

 

Utilizar la ayuda

1. Configuración medioambiental

DisPose requiere la siguiente configuración básica del entorno:

  • Python 3.10 o posterior
  • PyTorch 2.0.1 y superior
  • TorchVision 0.15.2 y superior
  • CUDA 12.4 (para aceleración de GPU)

Pasos de la instalación:

# 创建conda环境
conda create -n dispose python==3.10
conda activate dispose
# 安装依赖
pip install -r requirements.txt

2. Preparación del modelo

  1. Descargue el archivo de pesos del modelo preentrenado de Hugging Face:
    • Visite https://huggingface.co/lihxxx/DisPose
    • Descargar el archivo DisPose.pth
    • Coloque el archivo en el directorio . /pretrained_weights/ directorio

3. Flujos de uso de las funciones básicas

3.1 Detección de la actitud

El sistema utiliza un detector DWPose para la detección de la postura humana que identifica los siguientes puntos clave:

  • Puntos de articulación del esqueleto corporal (18)
  • Puntos de rasgos faciales (68)
  • Puntos clave de la mano (21/mano)

3.2 Preprocesamiento de imágenes

# 处理参考图像
ref_image = load_image(image_path)
pose_img, ref_pose = get_image_pose(ref_image)

3.3 Tratamiento de vídeo

# 处理视频序列
video_pose, body_points, face_points = get_video_pose(
video_path=video_path,
ref_image=ref_image,
sample_stride=1
)

3.4 Control de la generación de animaciones

El sistema ofrece varios parámetros para controlar la generación de animaciones:

  • Regulación de la intensidad de los estadios
  • Los puntos clave corresponden a pesos
  • Grado de migración postural
  • Suavidad temporal

4. Descripción de las funciones avanzadas

  1. Migración postural:
    • Admite la migración gestual del vídeo de origen al de destino
    • Mantener la identidad del personaje
    • Se adapta automáticamente a las diferencias de tamaño corporal
  2. Editor de acción:
    • Apoyo a la modificación de la acción local
    • Función de edición de fotogramas clave
    • Velocidad y amplitud de movimiento ajustables
  3. Capacidad de procesamiento por lotes:
    • Admite el procesamiento de vídeo por lotes
    • Ofrece opciones de procesamiento en paralelo
    • Optimización automática de la programación de recursos

5. Precauciones

  • Garantizar que la calidad de la imagen de entrada sea clara y que la pose de la persona sea totalmente visible.
  • Se recomienda que la memoria de vídeo de la GPU sea de al menos 8 GB o más.
  • Ajuste el parámetro sample_stride al procesar vídeo de alta resolución.
  • Compruebe y actualice periódicamente la versión de los paquetes dependientes
  • Se recomienda realizar pruebas a pequeña escala antes de procesar grandes cantidades de datos

6. Resolución de problemas comunes

  1. Problemas de memoria:
    • Libera los recursos no utilizados con release_memory()
    • Redimensionar los lotes adecuadamente
    • Pruebas con baja resolución
  2. Optimización del rendimiento:
    • Activar la aceleración de la GPU
    • Utilizar un tamaño de muestreo adecuado
    • Resolución de imagen de entrada optimizada
  3. Mejora de la calidad:
    • Uso de imágenes de referencia de alta calidad
    • Ajuste de los parámetros del modelo
    • Optimización posterior al tratamiento
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

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