GenXD: framework de código abierto para generar vídeos de escenas arbitrarias en 3D y 4D
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 11.5K 00
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.

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:
- 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
- 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.
- Instala PyTorch (versión recomendada 2.1.2 con soporte CUDA). Ejecútalo:
- 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.
- Descarga el modelo de Hugging Face:
- 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.
- El conjunto de datos CamVid-30K puede descargarse en Hugging Face:
- 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.
- Asegúrate de que tienes una GPU NVIDIA en funcionamiento:
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) yorbit
(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-images
A 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-30k
ejecute 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
- experimento de investigación
- Los investigadores utilizaron GenXD para probar algoritmos de generación 3D y 4D y validar los nuevos modelos.
- Creación virtual de contenidos
- Los creadores generan escenas dinámicas para utilizarlas en proyectos de animación o realidad virtual.
- 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
- ¿GenXD es gratuito?
- Sí, es un proyecto de código abierto bajo licencia Apache-2.0.
- ¿Necesito una conexión a Internet para utilizarlo?
- No es necesario, está instalado y listo para funcionar localmente.
- ¿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
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...