3D Gaussian Splatting

Splatting Gaussiano 3D es una técnica revolucionaria de reconstrucción de escenas 3D en tiempo real con más de 15.000 estrellas en GitHub. A diferencia de los métodos basados en NeRF, Gaussian Splatting representa escenas como millones de pequeños Gaussianos 3D que pueden renderizarse a velocidades de fotogramas en tiempo real (100+ FPS) mientras logra una calidad fotorrealista. Desplégalo en la nube GPU de Clore.ai para reconstruir y explorar escenas 3D a partir de tus propias fotos.


¿Qué es 3D Gaussian Splatting?

Los métodos tradicionales NeRF codifican implícitamente una escena en una red neuronal, requiriendo ray marching por píxel en el momento del renderizado. Gaussian Splatting adopta un enfoque fundamentalmente distinto:

  1. Inicialización: Comienza a partir de una nube de puntos dispersa (proveniente de COLMAP)

  2. Representación: Expande cada punto en un Gaussiano 3D con posición, escala, rotación, opacidad y color en armónicos esféricos

  3. Optimización: Renderiza diferenciablemente los Gaussianos y optimiza frente a las imágenes de entrenamiento

  4. Renderizado: Proyecta los Gaussianos en el plano de la imagen mediante composición alfa (extremadamente rápido)

Principales ventajas sobre NeRF:

  • Renderizado en tiempo real (100+ FPS a 1080p)

  • Mejor reconstrucción de detalles finos

  • Representación 3D explícita (editable, exportable)

  • Entrenamiento más rápido (30–60 min frente a horas)

  • Funciona en GPUs de consumo


Prerrequisitos

Requisito
Mínimo
Recomendado

VRAM GPU

12 GB

24 GB

GPU

RTX 3080 12GB

RTX 4090 / A100

RAM

16 GB

32 GB

Almacenamiento

30 GB

60 GB

CUDA

11.7+

12.1+

circle-exclamation

Paso 1 — Alquila una GPU en Clore.ai

  1. Inicia sesión en clore.aiarrow-up-right.

  2. Haz clic Marketplace y filtra por VRAM ≥ 16 GB.

  3. Selecciona un servidor: la RTX 4090 ofrece la mejor relación precio/rendimiento.

  4. Establece la imagen Docker a tu imagen personalizada (ver Paso 2).

  5. Establecer puertos abiertos: 22 (SSH) y 8080 (visor web).

  6. Haz clic Alquilar.


Paso 2 — Dockerfile

Construye una imagen Docker personalizada con todas las dependencias:

Compilar y subir

Construye la imagen y súbela a tu cuenta de Docker Hub (reemplaza YOUR_DOCKERHUB_USERNAME con tu nombre de usuario real):

circle-info

No existe una imagen Docker preconstruida oficial para 3D Gaussian Splatting en Docker Hub. El repositorio oficial en graphdeco-inria/gaussian-splattingarrow-up-right no proporciona una — constrúyela a partir del Dockerfile anterior. La imagen debe construirse con las banderas de arquitectura CUDA correctas que coincidan con tu GPU objetivo.

Usa TU_NOMBRE_DE_DOCKERHUB/gaussian-splatting:latest en tu configuración de Clore.ai.


Paso 3 — Conéctate vía SSH

Verifica la compilación:


Paso 4 — Prepara tu conjunto de datos

Opción A: Usar el conjunto de datos Tandt (Tanks and Temples)

Conjunto de pruebas clásico para pruebas rápidas:

Opción B: Procesar tus propias fotos

circle-info

El convert.py el script ejecuta la tubería completa de COLMAP: extracción de características, matching, reconstrucción dispersa y undistortion. Esto toma 5–30 minutos dependiendo del número de imágenes.

Opción C: Procesar desde video


Paso 5 — Entrenar un Gaussian Splat

Entrenamiento estándar

Entrenamiento en el conjunto Tandt

Entrenamiento rápido (vista previa rápida)

circle-info

Entrenar hasta 7.000 iteraciones lleva ~10 minutos en una RTX 4090 y proporciona una buena vista previa de calidad. Las 30.000 iteraciones completas llevan ~30–40 minutos y producen la calidad final.

Progreso del entrenamiento

Monitorea la salida del entrenamiento: verás métricas como:

PSNR por encima de 30 dB indica una reconstrucción de alta calidad.


Paso 6 — Renderizar y visualizar

Renderizar desde el modelo entrenado

Los renders se guardan en /workspace/output/my_scene/test/ours_30000/renders/.

Crear un video de vuelo

Evaluar métricas

Salida esperada:


Paso 7 — Visor web interactivo

Para explorar la escena entrenada de forma interactiva:

Usando nerfview/viser

Luego abre: http://<clore-host>:<public-port-8080>

Alternativa: Usar SuperSplat (visor basado en navegador)

Descarga el .ply archivo y ábrelo en SuperSplatarrow-up-right:

Luego arrastra y suelta el .ply en el navegador SuperSplat en: https://playcanvas.com/super-splat


Opciones avanzadas

Controlar el número de Gaussianos

Fondo blanco (para objetos)

Escenas a gran escala


Alternativa: Gaussian Splatting con gsplat

gsplat es una implementación más rápida y eficiente en memoria:


Solución de problemas

Fallo en la compilación de la extensión CUDA

Solución: Reconstruye para la arquitectura específica de tu GPU:

COLMAP falla al reconstruir

Soluciones:

  • Asegura ≥ 50% de solapamiento entre imágenes

  • Usa más fotos (se recomiendan 100+)

  • Prueba matching secuencial para fotogramas de video: añade --match sequential a convert.py

Memoria insuficiente durante el entrenamiento

Elementos flotantes en la escena

Artefactos flotantes por la inicialización de Gaussianos:

  • Aumente --densify_grad_threshold para ser más selectivo

  • Usa --prune_opacity_threshold 0.005 para eliminar Gaussianos de baja opacidad antes


Recomendaciones de GPU en Clore.ai

El entrenamiento de Gaussian Splatting es intensivo en cómputo GPU con llamadas frecuentes a kernels CUDA. La VRAM determina la complejidad máxima de la escena (número de Gaussianos); el cómputo determina la velocidad de entrenamiento.

GPU
VRAM
Precio en Clore.ai
Entrenamiento de 30K iteraciones
Máx. Gaussianos

RTX 3090

24 GB

~$0.12/h

~45–55 min

~6M

RTX 4090

24 GB

~$0.70/h

~30–35 min

~6M

A100 40GB

40 GB

~$1.20/h

~12–18 min

~10M+

RTX 3080 12GB

12 GB

~$0.08/h

~70 min

~3M (limitado)

circle-info

La RTX 3090 a ~$0.12/h es la mejor opción para Gaussian Splatting. Una ejecución completa de entrenamiento de 30K iteraciones cuesta ~$0.09–0.11 en tiempo de GPU. Para múltiples escenas en una sesión, el costo es insignificante.

Para experimentos rápidos: entrena primero hasta 7.000 iteraciones (~15 min en RTX 3090, ~$0.03). Comprueba la calidad en el visor web. Solo ejecuta las 30K iteraciones completas para la salida final.

Nota sobre el preprocesamiento COLMAP: COLMAP (Structure from Motion) se ejecuta en CPU/GPU pero el cómputo pesado se realiza en CPU. La mayoría de servidores de Clore.ai tienen CPUs adecuadas para escenas con menos de 200 imágenes. Para conjuntos de datos de 500+ imágenes, busca servidores con 16+ núcleos de CPU.


Recursos Útiles

Última actualización

¿Te fue útil?