GenXD: framework de código abierto para generar vídeos de escenas arbitrarias en 3D y 4D
Últimos recursos sobre IAPublicado hace 10 meses Círculo de intercambio de inteligencia artificial 45.1K 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.txtNo 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-modelCarpeta.
- 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-30kCarpeta.
- 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
TrueIndica 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-imagesCarpeta. - 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-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
- 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...




