Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Splatting gaussiano

Explore o Gaussian Splatting para reconstrução fotorrealista de cenas 3D. Saiba como ele permite a renderização em tempo real e se integra ao Ultralytics 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 dos recentes avanços em IA, como Neural Radiance Fields (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 (elipsóides). Este método permite a renderização em tempo real a altas taxas de quadros (muitas vezes excedendo 100 FPS), mantendo uma fidelidade visual excepcional, resolvendo um grande gargalo de desempenho encontrado em métodos anteriores de síntese de visão .

Como funciona o splatting gaussiano

A ideia central gira em torno da representação explícita do espaço 3D, em vez de implícita. Num fluxo de trabalho típico, o processo começa com uma nuvem de pontos esparsa gerada a partir de um conjunto de fotos usando uma técnica chamada Structure from Motion (SfM). Cada ponto nessa 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 elipsóide (por exemplo, o quanto o «splat» está esticado ou inclinado ).
  • Opacidade: Quão transparente ou sólida a gaussiana aparece (valor alfa).
  • Cor: Representada usando Harmónicos Esféricos, permitindo que a cor mude dependendo do ângulo de visão, capturando reflexos realistas e efeitos de iluminação.

O termo «splatting» refere-se ao processo derasterização em que estas gaussianas 3D são projetadas — ou «splatted» — no plano da câmara 2D para formar uma imagem. Esta projeção é totalmente diferenciável, o que significa que algoritmos padrão de descida de gradiente podem ser usados para minimizar a diferença entre a imagem renderizada e a foto original.

Splatting gaussiano vs. NeRF

Embora ambas as técnicas tenham como objetivo gerar novas visões de uma cena, elas diferem fundamentalmente em arquitetura e desempenho. O NeRF (Neural Radiance Fields) codifica uma cena dentro dos pesos de uma rede neural. A renderização de um NeRF requer consultar essa rede milhões de vezes para cada quadro (ray marching), o que é computacionalmente caro e lento.

Em contrapartida, o Gaussian Splatting usa uma representação explícita (a lista de gaussianas). Isso permite que ele utilize uma rasterização eficiente baseada em blocos, semelhante à forma como os videojogos renderizam gráficos. Consequentemente, o Gaussian Splatting é significativamente mais rápido para treinar e renderizar do que os NeRFs, 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 portas em vários setores:

  • Turismo virtual e imobiliário: os criadores podem capturar um museu, local histórico ou uma casa à venda usando um drone ou smartphone. O Gaussian Splatting permite que utilizadores remotos explorem esses espaços em realidade virtual (VR) com 6 graus de liberdade (6DoF), vendo detalhes finos, como reflexos em pisos de madeira, que a fotogrametria tradicional pode deixar passar.
  • Simulação automotiva: As empresas que desenvolvem veículos autónomos precisam de grandes quantidades de dados para testar os seus algoritmos de perceçã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 o Ultralytics podem ser testados para garantir que identificam corretamente os perigos em cenários 3D complexos.

Pré-processamento para splatting com visão computacional

Para que o Gaussian Splatting funcione de forma eficaz, as imagens de treino geralmente precisam de ser estáticas. Objetos em movimento (como peões ou carros) nas fotos de origem podem causar artefactos chamados «floaters». Pipelines avançados usam segmentação de instância para mascarar automaticamente esses elementos dinâmicos antes de treinar o modelo splat.

Ultralytics permite que as equipas gerenciem conjuntos de dados e treinem modelos que podem auxiliar nessa 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")

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 dos gráficos computacionais clássicos. Essa técnica está a evoluir rapidamente, com pesquisadores a explorar maneiras de comprimir os tamanhos dos ficheiros (que podem ser grandes) e integrá-la com IA generativa para criar recursos 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 formato digital.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora