GenXD: framework de código abierto para generar vídeos de escenas arbitrarias en 3D y 4D

Introducción general

GenXD es un proyecto de código abierto desarrollado por la Universidad Nacional de Singapur (NUS) y el equipo de Microsoft. Se centra en la generación de escenas arbitrarias en 3D y 4D, resolviendo los retos que plantea la generación en 3D y 4D en el mundo real debido a la insuficiencia de datos y al complejo diseño de los modelos. El proyecto construye un marco de generación flexible analizando el movimiento de la cámara y el objeto y combinándolo con datos reales a gran escala. genXD proporciona el primer conjunto de datos 4D de código abierto, CamVid-30K, que contiene información sobre la pose y el movimiento de la cámara de más de 30.000 vídeos. Los usuarios pueden utilizarlo para generar vídeos o vistas 3D coherentes que coincidan con la trayectoria de la cámara. El proyecto ha sido aceptado por el ICLR 2025 en enero de 2025 y es ampliamente seguido en GitHub por investigadores y desarrolladores.

GenXD:生成任意3D和4D场景视频的开源框架

 

Lista de funciones

  • Genera escenas 3D arbitrarias y admite la salida de vistas 3D coherentes desde múltiples puntos de vista.
  • Genera escenas de movimiento en 4D para crear vídeos que cambian con el tiempo.
  • Descomponga el movimiento de la cámara y los objetos para garantizar un flujo natural de los contenidos generados.
  • El conjunto de datos CamVid-30K está disponible para apoyar estudios de misiones dinámicas en 3D y 4D.
  • Admite múltiples entradas condicionales (por ejemplo, imágenes o un pequeño número de vistas) para ajustar con flexibilidad los resultados generados.
  • Convierta vistas 3D en activos digitales editables.
  • Módulo temporal multivista integrado para optimizar la fusión de datos 3D y 4D.

 

Utilizar la ayuda

GenXD es un framework de investigación de código abierto, los usuarios necesitan construir el entorno localmente para utilizarlo. A continuación se ofrece una guía detallada de instalación y funcionamiento para ayudar a los usuarios a empezar a utilizarlo rápidamente.

Proceso de instalación

GenXD requiere soporte de entorno de programación y es adecuado para usuarios con cierta base técnica. Los pasos de instalación son los siguientes:

  1. Preparar el entorno base
    • Asegúrese de que Python 3.10 o posterior está instalado en su ordenador.
    • Instala Git para descargar el código. Ejecútalo en el terminal:
      git clone https://github.com/HeliosZhao/GenXD.git
      
    • Vaya al catálogo de proyectos:
      cd GenXD
      
  2. Instalación de dependencias básicas
    • Instala PyTorch (versión recomendada 2.1.2 con soporte CUDA). Ejecútalo:
      pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
      
    • Instale otras dependencias (por ejemplo, difusores 0.30.3). Ejecutar:
      pip install -r requirements.txt
      
    • en caso de que requirements.txt No se proporciona, puede consultar las instrucciones oficiales para instalar NumPy, OpenCV y otras bibliotecas.
  3. Descargar modelo preentrenado
    • Descarga el modelo de Hugging Face:
      pip install -U "huggingface_hub[cli]"
      huggingface-cli download Yuyang-z/genxd --local-dir ./genxd-model
      
    • Coloque los archivos del modelo en el directorio del proyecto, en la carpeta genxd-model Carpeta.
  4. Descargar conjunto de datos
    • El conjunto de datos CamVid-30K puede descargarse en Hugging Face:
      • El subconjunto VIPSeg y el subconjunto OpenVid están disponibles en https://huggingface.co/datasets/Yuyang-z/CamVid-30K.
      • El subconjunto WebVid-10M no está disponible debido a una limitación, debe obtenerlo usted mismo.
    • Descargar y descomprimir en data/camvid-30k Carpeta.
  5. Comprobación del entorno
    • Asegúrate de que tienes una GPU NVIDIA en funcionamiento:
      python -c "import torch; print(torch.cuda.is_available())"
      

      exportaciones True Indica un entorno normal.

Utilización de las funciones principales

GenXD soporta una variedad de tareas de generación, y a continuación se explica cómo hacerlo.

1. Personalizar imágenes para generar escenas 3D

  • Prepárese para entrarColoque una imagen (en formato PNG o JPG) en el campo example-images Carpeta.
  • Ajustar el modo de la cámara: Apoyo forward(Adelante) y orbit(Surround) dos modos.
  • Ejecutar comando::
DATA_ROOT="example-images"
OUTPUT_DIR="outputs/example-images"
accelerate launch --main_process_port 1223 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="$OUTPUT_DIR" 
+evaluator.data_name="static_cam_single" 
+evaluator.data_root="$DATA_ROOT" 
+evaluator.camera_info.mode="forward" 
+evaluator.camera_info.elevation=0. 
+evaluator.camera_info.azimuth_range=[-30,30] 
+evaluator.focal=1.0938 
+evaluator.camera_info.radius=2.0
  • ResultadosLa vista 3D multivista generada se guarda en el archivo outputs/example-imagesA continuación se muestra un ejemplo de una herramienta que puede abrirse con Blender, por ejemplo.

2. Generación de escenas 3D sin muestras

  • Preparar los datosDescargue el conjunto de datos ReconFusion (https://huggingface.co/datasets/Yuyang-z/reconfusion-torch) y extráigalo a la carpeta data/reconfusion-torch/re10k.
  • Paso 1: Generar pistas de cámara::
python tools/pose_traj_generate.py -d data/reconfusion-torch/re10k -o outputs/pose_dataset --save_data_pose -sx 0.2 0.4 -0.2 -0.4 -sz 0.2 0.4 -0.2 -0.4 -n 18
  • Paso 2: Generar vistas::
accelerate launch --main_process_port 1224 inference.py 
diffusion.pretrain_unet="./genxd-model" 
diffusion.output_dir="outputs/re10k-group" 
+evaluator.data_name="reconfgroup" 
+evaluator.data_root="data/reconfusion-torch/re10k" 
+evaluator.pose_dir="outputs/pose_dataset/re10k" 
+evaluator.num_context_views=3 
+evaluator.n_views=3 
+evaluator.save_target_only=True 
+evaluator.pad_to_square=True
  • ResultadosLa vista 3D generada se muestra en la ventana outputs/re10k-group.

3. Generación de escenas dinámicas en 4D

  • Preparar los datosUtiliza el vídeo del conjunto de datos CamVid-30K e introdúcelo en el archivo data/camvid-30k.
  • Ejecutar comando: Debe ajustar los parámetros en función de la tarea específica; consulte la actualización de GitHub para ver comandos de ejemplo.
  • Resultados: El vídeo generado se guarda en el directorio de salida especificado.

Función destacada Operación

Descomposición del movimiento de la cámara y el objeto

  • GenXD utiliza un módulo de tiempo multivista para separar el movimiento de la cámara y del objeto.
  • ejemplo de funcionamiento::
python motion_decompose.py --input data/camvid-30k/sample_video --output outputs/motion_data
  • utiliceLos datos de movimiento generados pueden utilizarse para ajustar la escena 4D.

Uso del conjunto de datos CamVid-30K

  • estructura de datos: Desempaquetado, contiene imágenes y archivos COLMAP (por ejemplo. cameras.bin).
  • Datos de carga: Poner en data/camvid-30kejecute el script de prueba:
python test_dataset.py --dataset data/camvid-30k

advertencia

  • La memoria de la GPU debe ser de 16 GB o más, y generar tareas 4D lleva mucho tiempo.
  • Consulta la última actualización del código para ver la versión oficial del modelo preentrenado del 26 de marzo de 2025.
  • Si tiene preguntas, póngase en contacto con .

 

escenario de aplicación

  1. experimento de investigación
  • Los investigadores utilizaron GenXD para probar algoritmos de generación 3D y 4D y validar los nuevos modelos.
  1. Creación virtual de contenidos
  • Los creadores generan escenas dinámicas para utilizarlas en proyectos de animación o realidad virtual.
  1. Educación y formación
  • Los estudiantes aprenden técnicas de visión por ordenador y generativas utilizando el conjunto de datos CamVid-30K.

 

CONTROL DE CALIDAD

  1. ¿GenXD es gratuito?
  • Sí, es un proyecto de código abierto bajo licencia Apache-2.0.
  1. ¿Necesito una conexión a Internet para utilizarlo?
  • No es necesario, está instalado y listo para funcionar localmente.
  1. ¿Son reales los resultados generados?
  • Al no ser totalmente realista, el modelo no alcanza una sensación perfecta de realismo y es sólo para uso en investigación.
© declaración de copyright

Artículos relacionados

Sin comentarios

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