Splatting gaussiano

miniatura|Distribución gaussiana multivariante (en tres dimensións).
O **splatting gaussiano** (*gaussian splatting*) ou dispersión gaussiana, é o nome que reciben un conxunto de técnicas de renderización 3D creadas nos anos 90. Adquiriu especial importancia no renderizado en tempo real a partir dun conxunto de imaxes tomadas desde diferentes puntos de vista. Xunto aos campos de radiación neural (NeRF) é unha das ferramentas de xeración de imaxes, vídeos e contornas 3D baseadas en intelixencia artificial máis empregadas do comezo dos 2020s.

## Idea 
O splatting gaussiano crea imaxes e contornas 3D fotorrealistas a través da proxección de nubes de puntos dun conxunto de imaxes bidimensionais cara a un espazo tridimensional.
miniatura|Cadro puntillista: *Plage à Heist* (1981) - Georges Lemmen.
A idea principal do splatting gaussiano é moi semellante a como un pintor impresionista elabora os seus cadros, todo o contrario á aproximación puntillista. Nesta última, os puntos conforman unha imaxe que se percibe ben na distancia, pero cun achegamento queda en evidencia que só son puntos moi pegados os uns aos outros. A maioría de técnicas de visualización 3D a partir de nubes de puntos obteñen un resultado similar a este. 
miniatura|Cadro impresionista: *Woman with a Parasol* (1875) - Claude Monet
Con todo, os cadros impresionistas mesturan as cores e crean unha sensación de realismo grazas ás salpicaduras ou "splats" que se xuntan. Podería dicirse que, desde certo punto de vista, cada salpicadura é unha nova unidade que substitúe aos puntos, unha néboa que se superpón suavizando os bordos dos obxectos.

## Modelaxe 3D e renderización 
Tradicionalmente empregábase a fotogrametría para xerar polígonos 3D a partir de imaxes tomadas en diferentes vistas. Tomábanse fotografías desde cámaras e drons para delimitar os extremos de estruturas da enxeñaría civil como pontes ou estradas e, así, poder medilas.

Nos anos 90 da man dos laboratorios de Google Brain xurdiron os campos de radiación neural (NeRF), tecnoloxía de *deep-learning* que explota ao máximo a capacidade computacional e de renderización dos equipos. 

O splatting gaussiano, en cambio, emprega un tipo especial de renderizado coñecido como rasterización en tempo real. Nela, o espazo descrito a través dun vector (conxunto de píxeles ou puntos) transfórmase nun conxunto de novos puntos gaussianos, os "splats" ou salpicaduras.

## Distribución normal multivariante 
[miniatura|[Distribución normal ou gaussiana.]]
A distribución normal multivariante de Gauss, moi empregada na estatística, explica a forma na que se distribúen os datos ao redor dun valor medio. Como distribución de probabilidades serve para modelar todo tipo de fenómenos, e no caso do splatting gaussiano é o concepto matemático que explica o suavizado da malla 3D no proceso de conversión de puntos a gaussianos.

## Parámetros 
O conxunto de imaxes 2D trátase para obter os gausianos (salpicaduras) e posteriormente modificalos con parámetros como a cor, posición ou transparencia.
* **Posición** (X,Y,Z).
* **Covarianza** (matriz \Sigma de varianzas-covarianzas 3x3).
* **Cor** (RGB).
* **Parámetro \alpha** (transparencia).
[miniatura|[Descenso do gradiente, algoritmo de intelixencia artificial encargado de optimizar os parámetros.]]

## Técnica 
O espazo 3D constrúese como un conxunto de gaussianos, cada un deles con posición, cor, opacidade/transparencia. Os pasos a seguir para xerar o espazo tridimensional suavizado son os seguintes:
* Xeración de nube de puntos a través de *Structure for Motion* (SfM).
* Creación de gaussianos.
* Adestramento (axuste de gaussianos).

# **Rasterización gaussiana diferenciable**.
# **Densificación automatizada**.
# **Optimización** (algoritmo de descenso do gradiente estocástico).
A fase de converter as imaxes de *input* en puntos coñécese como ***Structure for Motion***. Ao finalizar esta etapa, só coñecemos cor e posición dos puntos. Na fase de **adestramento** o algoritmo de descenso do gradiente encárgase de calcular a perda en función da diferenza entre a imaxe rasterizada e a imaxe real para axustar os parámetros gaussianos (os descoñecidos inicialízanse a valores aleatorios). **Densificación automatizada** engade máis puntos (gaussianos) nas zonas de menor resolución.

## Aplicacións 
miniatura|Ferramenta de creación de xemelgos dixitais.

* Realidade virtual (VR) e Realidade Aumentada (AR).
* Xemelgos dixitais (planificación urbanística, creación de modelos rápidos de obxectos e vehículos).
* Deseño gráfico (renderización 3D de produtos).
* Avatares dixitais (replicación de caras, reconstrución 3D).
* Videoxogos, gráficos en tempo real (contornas inmersivas e dinámicas), integración en motores (Unity, Unreal Engine).
* [miniatura|Realidade Virtual (VR) empregada pola [Axencia Espacial Europea|ESA en Darmstadt, Alemaña.]]Modelaxe de estruturas anatómicas con propósitos médicos.
[[Ficheiro:Polycam gaussian splatting exemplo.png|miniatura|Imaxe dun espazo tridimensional xerado por splatting gaussiano en Polycam Capture. A néboa branca que se aprecia no fondo exemplifica defectos na xeración do ambiente.]]
## Ferramentas 
* 3D Gaussian Splatting - Polycam.
* COLMAP (Structure From Motion).

## Notas