Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Gaussian Splatting

O Gaussian splatting reconstrói cenas 3D fotorrealistas a partir de fotografias como milhões de gaussianas 3D que são renderizadas em tempo real. Abrange treinamento, NeRF e captura.

O splatting gaussiano, também chamado de splatting gaussiano 3D (3DGS), é uma técnica para reconstruir uma cena 3D fotorrealista a partir de fotos comuns e renderizar novas vistas dela em tempo real. A técnica representa a cena como milhões de gaussianas 3D, elipsoides suaves que têm posição, forma, opacidade e cor dependente da vista, e desenha uma imagem projetando-as ("splatting") na tela e mesclando-as. Apresentada na SIGGRAPH 2023 em Splatting Gaussiano 3D para Renderização de Campos de Radiância em Tempo Real, a técnica igualou a qualidade de imagem dos melhores campos de radiância neural (NeRF) ao renderizar a 30 quadros por segundo ou mais em 1080p, algo que nenhum método anterior havia conseguido em cenas grandes e sem limites definidos. É um método de síntese de novas vistas e reconstrução 3D.

Como funciona o Gaussian Splatting#

Cada gaussiana armazena 59 números ajustáveis: uma posição 3D, uma escala 3D e um quatérnio de rotação de 4 números que, juntos, definem sua covariância (forma e orientação), uma opacidade e 48 coeficientes de harmônicos esféricos, 16 por canal de cor, que permitem que sua cor mude conforme a direção de visualização para capturar reflexos e brilho. O treinamento começa com a nuvem esparsa de pontos que o método Structure from Motion (SfM) produz ao calibrar as câmeras, com uma gaussiana posicionada em cada ponto. A cada iteração, o sistema renderiza uma vista de treinamento, compara-a com a foto real usando uma combinação ponderada de perdas L1 e D-SSIM e atualiza cada gaussiana por descida do gradiente através do renderizador diferenciável. A cada 100 iterações, o controle adaptativo de densidade clona gaussianas pequenas em regiões reconstruídas de forma incompleta, divide as grandes que cobrem detalhes demais e remove as quase transparentes, fazendo com que cada cena do artigo cresça para entre 1 e 5 milhões de gaussianas.

Para desenhar um quadro, o renderizador projeta cada gaussiana 3D em uma elipse 2D no plano da imagem, divide a tela em blocos de 16×16 pixels, ordena por profundidade as gaussianas que se sobrepõem a cada bloco com uma GPU única usando ordenação radix e as mescla com alpha, da frente para trás, para cada pixel. Como a cena é uma lista explícita de primitivas, a renderização funciona como o rasterizador de um mecanismo de jogos e não avalia nenhuma rede neural por pixel.

Splatting gaussiano, NeRF e malhas#

Um NeRF armazena uma cena implicitamente nos pesos de uma rede neural e renderiza consultando essa rede em muitos pontos ao longo de cada raio da câmera. O splatting gaussiano armazena a cena explicitamente, então a renderização se resume a ordenar e mesclar. No mesmo hardware do artigo original, o Mip-NeRF360 levou em média 48 horas para treinar e cerca de 10 segundos por quadro renderizado; os splats gaussianos totalmente treinados igualaram ou superaram ligeiramente sua qualidade após 35 a 45 minutos de treinamento, renderizando em tempo real. A representação explícita consome memória: com 59 números por gaussiana, uma cena com 3 milhões de gaussianas contém cerca de 700 MB de números de ponto flutuante de 32 bits, e o uso máximo de memória da GPU durante o treinamento de cenas grandes podia exceder 20 GB na implementação original. Os splats também não têm uma superfície definida; por isso, aplicações que precisam de geometria para colisões ou edições no estilo CAD ainda os convertem em malhas com métodos posteriores, e cenas em movimento exigem extensões como o splatting gaussiano 4D.

Captura de dados para splatting gaussiano#

Uma captura é um conjunto de fotos sobrepostas ou quadros de vídeo feitos enquanto se percorre uma cena estática. Tudo o que se move durante a captura, como um transeunte ou um carro, aparece em alguns quadros e não em outros, e a otimização tenta explicá-lo com artefatos semitransparentes conhecidos como elementos flutuantes. Por isso, os pipelines de treinamento aceitam máscaras que excluem objetos em movimento, e o formato de dados do Nerfstudio usa máscaras em preto e branco nas quais o preto indica os pixels a ignorar. Os modelos de segmentação de instâncias do YOLO26 geram essas máscaras automaticamente ao segmentar cada pessoa em cada quadro.

import cv2
from ultralytics import YOLO

# Carrega um modelo de segmentação de instâncias YOLO26
model = YOLO("yolo26n-seg.pt")

# Segmente apenas pessoas (classe 0 do COCO), uma fonte comum de elementos flutuantes em uma captura
results = model("https://ultralytics.com/images/bus.jpg", classes=[0], retina_masks=True)
result = results[0]

# O branco marca a cena estática a ser usada no treinamento; o preto marca as pessoas a ignorar
people = result.masks.data.sum(dim=0) > 0
keep_mask = (~people).cpu().numpy().astype("uint8") * 255
cv2.imwrite("bus_mask.png", keep_mask)

O bus_mask.png salvo tem a resolução total da foto porque retina_masks=True retorna máscaras no tamanho original da imagem, e todas as pessoas no quadro aparecem em preto.

Aplicações#

  • Imóveis e visitas virtuais: uma captura feita com celular ou drone de uma casa, museu ou patrimônio histórico se transforma em uma cena que visitantes podem explorar livremente em um navegador ou headset de realidade virtual, preservando os reflexos em pisos e janelas.
  • Efeitos visuais e produção virtual: equipes de cinema e jogos capturam locais reais como splats e os usam como planos de fundo fotorrealistas e referências de cenários.
  • Gêmeos digitais e mapeamento: plataformas geoespaciais transmitem grandes reconstruções em splats de cidades, canteiros de obras e infraestruturas junto com blocos 3D tradicionais.
  • Simulação de condução e robótica: reconstruções de trajetos reais permitem que equipes de veículos autônomos renderizem novamente cenas registradas a partir de novas posições de câmera para testar modelos de percepção.

Bibliotecas de código aberto como gsplat fornecem rasterizadores CUDA para treinar splats, e o Khronos Group ratificou KHR_gaussian_splatting, uma extensão glTF 2.0 para armazenar splats gaussianos, desenvolvida com colaboradores da Cesium, Esri, Niantic Spatial, NVIDIA, Huawei e Autodesk.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina