Gaussian Splatting
Explora o Gaussian Splatting para a reconstrução fotorrealista de cenas 3D. Aprende como permite a renderização em tempo real e se integra com o Ultralytics YOLO26 para visão computacional.
Gaussian Splatting é uma técnica moderna de rasterização utilizada 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 modelação 3D tradicional, que depende de malhas poligonais, ou de avanços recentes em IA, como os Campos de Radiância Neural (NeRF), que utilizam 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 a renderização em tempo real com taxas de fotogramas elevadas (frequentemente superiores a 100 FPS), mantendo uma fidelidade visual excecional e resolvendo um importante gargalo de desempenho presente nos métodos anteriores de síntese de vistas.
Como funciona o Gaussian Splatting#
A ideia central consiste em representar explicitamente o espaço 3D, em vez de o representar implicitamente. Num fluxo de trabalho típico, o processo começa com uma nuvem de pontos esparsa, gerada a partir de um conjunto de fotografias utilizando uma técnica chamada Estrutura a partir do Movimento (SfM). Cada ponto desta nuvem é então inicializado como uma Gaussiana 3D.
Durante o processo de treino, o sistema otimiza vários parâmetros para cada Gaussiana:
- Posição: As coordenadas 3D (X, Y, Z) na cena.
- Covariância: Determina a forma e a rotação do elipsoide (por exemplo, o grau de alongamento ou inclinação do "splat").
- Opacidade: O grau de transparência ou solidez com que a Gaussiana aparece (valor alfa).
- Cor: Representada através de Harmónicas Esféricas, permitindo que a cor mude consoante o ângulo de visualização e captando reflexos e efeitos de iluminação realistas.
O termo "splatting" refere-se ao processo de rasterização, no qual estas Gaussianas 3D são projetadas — ou "espalhadas" — no plano 2D da câmara para formar uma imagem. Esta projeção é totalmente diferenciável, o que significa que podem ser utilizados algoritmos padrão de descida do gradiente para minimizar a diferença entre a imagem renderizada e a fotografia original de referência.
Gaussian Splatting vs. NeRF#
Embora ambas as técnicas tenham como objetivo gerar novas vistas de uma cena, diferem fundamentalmente na arquitetura e no desempenho. O NeRF (Campos de Radiância Neural) codifica uma cena nos pesos de uma rede neural. A renderização de um NeRF requer consultar esta rede milhões de vezes para cada fotograma (ray marching), o que é computacionalmente dispendioso e lento.
Em contrapartida, o Gaussian Splatting utiliza uma representação explícita (a lista de Gaussianas). Isto permite-lhe utilizar uma rasterização eficiente baseada em blocos, semelhante à forma como os videojogos renderizam gráficos. Consequentemente, o Gaussian Splatting é significativamente mais rápido a treinar e a renderizar do que os NeRF, tornando-o mais viável para aplicações de consumo e inferência em tempo real.
Aplicações no mundo real#
A velocidade e a qualidade do Gaussian Splatting abriram novas possibilidades em vários setores:
- Turismo Virtual e Imobiliário: Os criadores podem captar um museu, um local histórico ou uma casa à venda utilizando um drone ou smartphone. O Gaussian Splatting permite que utilizadores remotos explorem estes espaços em Realidade Virtual (VR) com 6 graus de liberdade (6DoF), observando detalhes finos, como reflexos em pisos de madeira, que a fotogrametria tradicional poderia não captar.
- Simulação Automóvel: As empresas que desenvolvem veículos autónomos precisam de grandes volumes de dados para testar os seus algoritmos de perceção. O Gaussian Splatting pode reconstruir quarteirões urbanos do mundo real a partir de dados de sensores, criando um ambiente de simulação fotorrealista. Nestes ambientes, modelos de visão como o Ultralytics YOLO26 podem ser testados para garantir que identificam corretamente perigos em cenários 3D complexos.
Pré-processamento para Splatting com Visão Computacional#
Para que o Gaussian Splatting funcione eficazmente, as imagens de treino geralmente precisam de ser estáticas. Objetos em movimento (como peões ou automóveis) nas fotografias de origem podem causar artefactos chamados "floaters". Os pipelines avançados utilizam a segmentação de instâncias para mascarar automaticamente estes elementos dinâmicos antes do treino do modelo de splatting.
A Ultralytics Platform permite às equipas gerir conjuntos de dados e treinar modelos que podem ajudar nesta fase de pré-processamento. Eis como se poderia utilizar 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")Importância na IA e Tendências Futuras#
O Gaussian Splatting representa uma mudança na visão computacional em direção a métodos híbridos que combinam a capacidade de aprendizagem do Deep Learning com a eficiência da computação gráfica clássica. Esta técnica está a evoluir rapidamente, com investigadores a explorar formas de comprimir os tamanhos dos ficheiros (que podem ser grandes) e de a integrar com a IA generativa para criar recursos 3D a partir de prompts de texto. À medida que os aceleradores de hardware, como as GPUs, continuam a melhorar, é provável que o Gaussian Splatting se torne o padrão para captar e renderizar o mundo real em formato digital.









