
De dónde viene
El 3D Gaussian Splatting (3DGS) se presentó en SIGGRAPH 2023, en un artículo de un equipo de Inria y el Instituto Max Planck de Informática. Llegó después de los campos de radiancia neuronales (NeRF, 2020), que ya conseguían imágenes fotorrealistas a partir de fotos, pero eran lentos de renderizar.
La palabra splatting viene de la informática gráfica: es una forma de dibujar en la que cada elemento se proyecta sobre la pantalla como una mancha. En este caso, las manchas tienen forma de gaussiana, la curva de campana de la estadística. De ahí el nombre.
Cómo funciona
- 01Se toman muchas fotografías del sujeto o del espacio desde ángulos distintos.
- 02Un proceso llamado structure from motion calcula desde dónde se hizo cada foto y genera una nube de puntos inicial.
- 03Cada punto se convierte en una gaussiana. Un proceso de optimización dibuja la escena, la compara con las fotos y ajusta las gaussianas una y otra vez hasta que coinciden.
- 04Durante ese ajuste se añaden gaussianas donde falta detalle y se eliminan las que sobran. Al final, una escena puede tener millones.
- 05Para verla, las gaussianas se ordenan por profundidad y la tarjeta gráfica las dibuja mezclando sus transparencias, a velocidad de tiempo real.
Qué guarda cada gaussiana
- Posición
- Dónde está en el espacio.
- Forma
- Una escala y una rotación que la convierten en un elipsoide más o menos alargado.
- Opacidad
- Cuánto deja ver lo que hay detrás.
- Color
- Un color que cambia según el ángulo de visión, guardado con armónicos esféricos. Así se reproducen los brillos y los reflejos.
En el formato original sin comprimir, cada gaussiana ocupa unos 250 bytes. Con millones de gaussianas, una escena puede pesar cientos de megas, por eso existen formatos comprimidos para la web y los móviles.
Formatos de Gaussian SplattingFrente a otras técnicas
- Fotogrametría
- Produce una malla de polígonos con textura. Da geometría útil para medir o imprimir en 3D, pero simplifica el pelo, los reflejos y las transparencias.
- NeRF
- Representa la escena con una red neuronal. La calidad es alta, pero renderizar es lento. El Gaussian Splatting consigue una calidad comparable en tiempo real.
- Escaneo láser
- Mide la geometría con mucha precisión, pero no reproduce la apariencia con el mismo realismo.
Límites a tener en cuenta
- No genera una superficie cerrada. Si un proyecto necesita una malla para simulaciones físicas o impresión 3D, se combina con otras técnicas.
- La iluminación del momento de la captura queda guardada en el color, así que conviene planificarla según dónde se vaya a integrar.
- Los archivos son grandes y necesitan compresión para la web y los dispositivos móviles.
- Las herramientas de edición y los estándares todavía evolucionan.
Con movimiento: 4D Gaussian Splatting
Si se añade el tiempo, la técnica reconstruye personas y escenas en movimiento a partir de un rig de cámaras sincronizadas. Es lo que se conoce como 4D Gaussian Splatting, y es la base del vídeo volumétrico que grabamos en nuestro estudio.
Qué es el 4D Gaussian SplattingDónde se puede ver
En el navegador, con motores web como PlayCanvas, Babylon.js o three.js; en Unity y Unreal Engine, mediante plugins; y en gafas de realidad virtual. Cada destino tiene su formato y su optimización.
Cómo integrarlo en web, Unity y UnrealReferencias
- 3D Gaussian Splatting for Real-Time Radiance Field Rendering
Kerbl, Kopanas, Leimkühler, Drettakis. ACM Transactions on Graphics 42(4), SIGGRAPH 2023.
- NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
Mildenhall, Srinivasan, Tancik, Barron, Ramamoorthi, Ng. ECCV 2020.
- Splat File Formats
PlayCanvas Developer Documentation.