Gaussian Splatting
Explore o Gaussian Splatting para reconstrução de cenas 3D fotorrealistas. Aprenda como ele permite renderização em tempo real e se integra ao Ultralytics YOLO26 para visão.
Gaussian Splatting é uma técnica moderna de rasterização usada em computação gráfica e visão computacional para reconstruir cenas 3D fotorrealistas a partir de um conjunto de imagens 2D. Ao contrário da modelagem 3D tradicional que depende de malhas poligonais, ou de avanços recentes de IA como Neural Radiance Fields (NeRF) que usam redes neurais para aproximar uma cena, o Gaussian Splatting representa uma cena como uma coleção de milhões de distribuições Gaussianas 3D (elipsoides). Este método permite renderização em tempo real com altas taxas de quadros (frequentemente excedendo 100 FPS) enquanto mantém uma fidelidade visual excepcional, resolvendo um grande gargalo de desempenho encontrado em métodos anteriores de síntese de visão.
Link to this sectionComo funciona o Gaussian Splatting#
A ideia central gira em torno de representar o espaço 3D explicitamente em vez de implicitamente. Em um fluxo de trabalho típico, o processo começa com uma point cloud esparsa gerada a partir de um conjunto de fotos usando uma técnica chamada Structure from Motion (SfM). Cada ponto nesta nuvem é então inicializado como uma Gaussiana 3D.
Durante o training process, o sistema otimiza vários parâmetros para cada Gaussiana:
- Posição: As coordenadas 3D (X, Y, Z) na cena.
- Covariância: Isso determina a forma e a rotação do elipsoide (por exemplo, quão esticado ou inclinado o "splat" está).
- Opacidade: Quão transparente ou sólido a Gaussiana parece (valor alfa).
- Cor: Representada usando Spherical Harmonics, permitindo que a cor mude dependendo do ângulo de visão, capturando reflexos e efeitos de iluminação realistas.
O termo "splatting" refere-se ao processo de rasterization onde estas Gaussianas 3D são projetadas — ou "splatadas" — no plano da câmera 2D para formar uma imagem. Esta projeção é totalmente diferenciável, o que significa que algoritmos padrão de gradient descent podem ser usados para minimizar a diferença entre a imagem renderizada e a foto original de referência (ground-truth).
Link to this sectionGaussian Splatting vs. NeRF#
Embora ambas as técnicas visem gerar novas vistas de uma cena, elas diferem fundamentalmente na arquitetura e no desempenho. O NeRF (Neural Radiance Fields) codifica uma cena dentro dos pesos de uma neural network. Renderizar um NeRF requer consultar esta rede milhões de vezes para cada quadro individual (ray marching), o que é computacionalmente caro e lento.
Em contraste, o Gaussian Splatting usa uma representação explícita (a lista de Gaussianas). Isso permite que ele utilize uma rasterização baseada em blocos (tile-based) eficiente, semelhante a como os videogames renderizam gráficos. Consequentemente, o Gaussian Splatting é significativamente mais rápido para treinar e renderizar do que NeRFs, tornando-o mais viável para aplicações de consumo e real-time inference.
Link to this sectionAplicações no Mundo Real#
A velocidade e a qualidade do Gaussian Splatting abriram novas portas em vários setores:
- Turismo Virtual e Imobiliário: Criadores podem capturar um museu, local histórico ou uma casa à venda usando um drone ou smartphone. O Gaussian Splatting permite que usuários remotos explorem esses espaços em Virtual Reality (VR) com 6 graus de liberdade (6DoF), vendo detalhes finos como reflexos em pisos de madeira que a fotogrametria tradicional pode perder.
- Simulação Automotiva: Empresas que desenvolvem autonomous vehicles precisam de grandes quantidades de dados para testar seus algoritmos de percepção. O Gaussian Splatting pode reconstruir quarteirões reais a partir de dados de sensores, criando um ambiente de simulação fotorrealista. Nesses ambientes, modelos de visão como Ultralytics YOLO26 podem ser testados para garantir que identifiquem corretamente perigos em cenários 3D complexos.
Link to this sectionPré-processamento para Splatting com Visão Computacional#
Para que o Gaussian Splatting funcione de forma eficaz, as imagens de treinamento geralmente precisam ser estáticas. Objetos em movimento (como pedestres ou carros) nas fotos de origem podem causar artefatos chamados de "floaters". Pipelines avançados usam instance segmentation para mascarar automaticamente esses elementos dinâmicos antes de treinar o modelo splat.
A Ultralytics Platform permite que as equipes gerenciem conjuntos de dados e treinem modelos que podem auxiliar nesta fase de pré-processamento. Veja como se pode usar um modelo de segmentação para criar máscaras para um conjunto de dados destinado à reconstrução 3D:
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")Link to this sectionSignificado em IA e Tendências Futuras#
O Gaussian Splatting representa uma mudança na computer vision em direção a métodos híbridos que combinam a capacidade de aprendizado do Deep Learning com a eficiência da computação gráfica clássica. Esta técnica está evoluindo rapidamente, com pesquisadores explorando formas de comprimir os tamanhos dos arquivos (que podem ser grandes) e integrá-la com generative AI para criar ativos 3D a partir de prompts de texto. À medida que aceleradores de hardware como GPUs continuam a melhorar, o Gaussian Splatting provavelmente se tornará o padrão para capturar e renderizar o mundo real em forma digital.






