Diseño

Guía sobre el Splatting Gaussiano 3D y cómo crearlo

3D gaussian splatting es una técnica que permite renderizar una escena 3D en tiempo real utilizando imágenes desde diferentes puntos de vista. Sigue leyendo para saber más. 16 de enero de 2024
Guía sobre el Splatting Gaussiano 3D y cómo crearlo

El 3D Gaussian Splatting es una técnica única que promete revolucionar nuestra forma de crear entornos digitales e interactuar con ellos. Ofrece una alternativa innovadora a métodos tradicionales como la fotogrametría y los Neural Radiance Fields (NeRF), y ha abierto posibilidades para una amplia gama de aplicaciones, desde la arquitectura a los juegos, pasando por la realidad virtual o la visualización científica.

En este artículo, veremos más de cerca qué es el Splatting Gaussiano 3D, sus ventajas y usos, y cómo se compara con otras técnicas. También exploraremos las herramientas disponibles para crear diseños 3D con este método.

¿Qué es el 3D Gaussian Splatting?

El Splatting Gaussiano 3D es un método utilizado en infografía para generar una escena 3D a partir de imágenes 2D. Imagina que tienes varias imágenes diferentes de un objeto, cada una tomada desde un ángulo distinto. El Splatting Gaussiano toma todas estas imágenes y las mezcla para crear una representación tridimensional detallada de ese objeto.

El nombre "Splatting gaussiano" proviene del uso de una función gaussiana, que es un tipo de fórmula matemática que se asemeja a una curva en forma de campana. Esta función se utiliza para asignar pesos a los píxeles de la imagen, lo que ayuda a garantizar una transición suave y fluida entre distintos puntos de vista. El resultado final es un modelo 3D que puede verse desde cualquier ángulo, igual que un objeto real en el mundo físico.

Esta técnica proporciona una forma rápida y eficaz de crear modelos 3D, y es especialmente útil cuando se tienen muchos datos que procesar. También es muy versátil y puede utilizarse en muchos campos, desde los videojuegos a la imagen médica. Así que si eres diseñador gráfico, desarrollador de juegos o científico, el Splatting Gaussiano 3D puede ser una valiosa herramienta en tu caja de herramientas.

El proceso del Splatting gaussiano 3D

La creación de un modelo 3D mediante Gaussian Splatting implica varios pasos:

  • Aprovechamiento de la estructura a partir del movimiento: Este paso inicial utiliza la técnica de Estructura a partir del Movimiento (SfM) para crear una nube de puntos 3D a partir de un conjunto de imágenes. Esta técnica es eficaz para generar una representación 3D a partir de datos de imágenes 2D.

  • Conversión a gaussianas: Una vez obtenida la nube de puntos, cada punto se convierte en una gaussiana, lo que permite su rasterización. Sin embargo, en esta fase sólo se puede inferir la información de posición y color a partir de los datos SfM. Para obtener mejores resultados, es necesario un entrenamiento adicional.

  • Entrenamiento: En este paso se utiliza el método de descenso gradiente estocástico, similar al de las redes neuronales pero sin estratificación. El proceso de entrenamiento consiste en rasterizar las gaussianas en una imagen mediante rasterización gaussiana diferenciable, calcular la pérdida en función de la disparidad entre las imágenes rasterizadas y las reales, ajustar los parámetros gaussianos en función de la pérdida y, por último, aplicar la densificación y la poda automatizadas.

  • Implementación de la rasterización gaussiana diferenciable: 3D Gaussian Splatting emplea un método de rasterización que proyecta datos sobre la pantalla. Es importante señalar que este método es rápido y diferenciable. El proceso de rasterización incluye la proyección de cada gaussiano en 2D desde la perspectiva de la cámara, la clasificación de los gaussianos por profundidad y la mezcla de cada gaussiano de adelante hacia atrás para cada píxel.

Cómo es la función gaussiana

La función gaussiana, que se caracteriza por su forma de curva acampanada, es fundamental para el Splatting gaussiano 3D. Desempeña un papel fundamental en la transformación de puntos discretos en un panorama vibrante y cohesivo. A continuación te explicamos cómo aprovecharla en los splats gaussianos 3D:

Gaussian Function

Fuente de la imagen: mathworld.wolfram.com

  • Posición (XYZ): Decide la ubicación exacta de cada punto dentro del espacio 3D. 

  • Covarianza (matriz 3x3): Regula cómo se amplía o reduce cada punto, influyendo en su forma y magnitud. 

  • Color (RGB): Determina la tonalidad de cada punto, contribuyendo a la variedad visual. 

  • Alfa (α): Regula el nivel de transparencia, realzando la autenticidad de la escena. 

Usos prácticos del Splatting Gaussiano 3D

El Splatting Gaussiano 3D tiene un amplio espectro de aplicaciones prácticas que se extienden a través de varias industrias, convirtiéndolo en una herramienta versátil en la creación y visualización de modelos 3D. Profundicemos en sus características únicas y en las distintas ventajas que aportan a estos campos.

  • Arquitectura y construcción: Los arquitectos y profesionales de la construcción pueden utilizar el splatting gaussiano 3D para crear modelos realistas de edificios, lo que permite a los clientes visualizar el producto final antes de que tenga lugar la construcción real. Esto puede ayudar a ahorrar tiempo y recursos al identificar posibles fallos de diseño desde el principio.

  • Comercio electrónico: Los minoristas en línea pueden utilizar el 3D Gaussian splatting para mostrar sus productos de una manera más realista y atractiva, permitiendo a los clientes ver los artículos desde diferentes ángulos y perspectivas. La interacción virtual con los productos también puede ayudar a mejorar la satisfacción del cliente y reducir las devoluciones.

  • Educación y formación: el splatting gaussiano 3D permite crear simulaciones realistas con fines de formación, lo que puede resultar especialmente útil en campos como la medicina, la aviación y la formación militar. Esto permite una práctica segura y eficaz sin riesgos en el mundo real.

  • Realidad virtual y juegos: El uso del 3D Gaussian splatting en la realidad virtual y los juegos permite crear entornos más inmersivos y realistas, mejorando la experiencia general de los usuarios. También permite crear efectos de iluminación dinámicos que dan sensación de profundidad y realismo.

  • Diseño de productos y creación de prototipos: Con el splatting gaussiano 3D, los diseñadores pueden visualizar fácilmente sus ideas de forma realista, lo que permite iteraciones rápidas y precisas. Esto puede acelerar enormemente el proceso de diseño y creación de prototipos de productos.

  • Eventos y exposiciones virtuales: Con el reciente cambio hacia los eventos virtuales, el 3D Gaussian splatting puede utilizarse para crear entornos virtuales realistas para exposiciones, conferencias y ferias comerciales. Esto proporciona una experiencia interactiva y atractiva para los asistentes.

3D Gaussian Splatting vs Fotogrametría vs NeRP

A la hora de crear modelos 3D, existen varias técnicas, como el splatting gaussiano 3D, la fotogrametría y el NeRP (Neural Radiance Point). Aunque cada método tiene sus puntos fuertes y débiles, he aquí algunas diferencias clave entre ellos

Precisión

El splatting gaussiano 3D suele superar a otros métodos en cuanto a precisión. Utiliza una función matemática para estimar el color y la opacidad en cada vóxel, lo que da como resultado modelos 3D muy precisos y detallados. La fotogrametría, en cambio, se basa en múltiples fotografías y puede no captar los detalles con tanta precisión, sobre todo en zonas con texturas o patrones complejos. La neuronavegación, aunque es una tecnología impresionante que emplea la IA para construir escenas 3D, a veces puede tener problemas para ofrecer una precisión uniforme en diversas escenas debido a su dependencia de los datos de entrenamiento.

Velocidad

La velocidad es otro factor en el que brilla el splatting gaussiano 3D. Permite un cálculo rápido y eficaz, lo que lo convierte en una opción excelente para aplicaciones que requieren renderizado en tiempo real o visualización interactiva. La fotogrametría puede llevar más tiempo, ya que implica el procesamiento de múltiples imágenes, y a menudo requiere la intervención manual para corregir errores o rellenar los datos que faltan. NeRP, aunque eficiente, requiere importantes recursos computacionales y podría no ser viable para aplicaciones en tiempo real.

Aplicabilidad

En términos de aplicabilidad, los tres métodos tienen sus propios casos de uso. El splatting gaussiano 3D es extremadamente versátil y puede utilizarse en una amplia gama de aplicaciones, como imágenes médicas, visualización, RV/AR y muchas más. La fotogrametría destaca en la reconstrucción de objetos y entornos del mundo real, por lo que resulta ideal para la conservación del patrimonio cultural, la arquitectura y la arqueología. La neurorreproducción, un desarrollo más reciente, es muy prometedora en el campo de los gráficos por ordenador y los efectos visuales, sobre todo en situaciones en las que se puede utilizar un conjunto de datos para entrenar el modelo.

Herramientas para el Splatting Gaussiano 3D

Luma AI y Polycam son dos herramientas fáciles de usar para crear 3D Gaussian Splatting utilizando plataformas iOs, Android o web.

Con estas aplicaciones, puede crear estos modelos de forma rápida -aproximadamente en 30 minutos- y rentable. Son una herramienta práctica para los vendedores en línea que desean mostrar sus productos en 3D, así como para los creadores de efectos especiales de películas que buscan añadir una capa extra de profundidad y realismo a sus escenas.

Echa un vistazo a esta captura de salpicaduras gaussianas con Polycam.

Conclusión

El 3D Gaussian Splatting representa algo más que una técnica de renderizado adicional; desafía y transforma nuestra comprensión del renderizado 3D. Con su capacidad de ejecución en tiempo real y producción de resultados de alta calidad, es una tecnología que exige atención. Si te interesan los gráficos 3D, el desarrollo de juegos o cualquier otro campo que requiera un renderizado superior en tiempo real, no puedes perderte Gaussian Splatting.