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

Differentiable Rendering

A renderização diferenciável calcula como cada pixel renderizado muda com a forma, os materiais e a câmera da cena, permitindo ajustar cenas 3D a fotografias.

A renderização diferenciável é a renderização — transformar uma descrição da geometria, dos materiais, da iluminação e da câmara de uma cena 3D numa imagem — implementada de forma a permitir calcular a derivada de cada píxel de saída em relação a esses parâmetros da cena. Uma função de perda que compara uma imagem renderizada com uma fotografia pode então ser minimizada por descida do gradiente, com a retropropagação a percorrer o renderizador até à cena 3D. Isto faz dela o motor da renderização inversa, a tarefa de visão computacional que recupera uma cena a partir das respetivas imagens, e de métodos de renderização neural, como os campos de radiância neural (NeRF) e o Gaussian splatting, que treinam os modelos de cena através da sua renderização.

Porque é que a renderização precisa de tratamento especial#

Um rasterizador padrão não é diferenciável nos pontos importantes. A cobertura de um píxel por um triângulo é uma função em degrau das posições dos vértices, pelo que deslocar ligeiramente um vértice não altera nenhum píxel até uma aresta cruzar o centro de um píxel; assim, o gradiente em relação à geometria é zero em quase toda a parte. A oclusão acrescenta mais descontinuidades sempre que uma superfície oculta outra. Os renderizadores diferenciáveis tratam estas arestas de formas diferentes:

  • Gradientes aproximados: OpenDR (2014) e o Neural 3D Mesh Renderer (2018) mantêm um rasterizador padrão na passagem direta e aproximam os gradientes na passagem inversa.
  • Rasterização suave: O SoftRas (2019) substitui a cobertura rígida de cada píxel por uma probabilidade que diminui suavemente com a distância à aresta de um triângulo e combina faces sobrepostas, permitindo que cada píxel próximo de uma aresta transmita gradientes à geometria.
  • Renderização diferenciável com base física: Traçadores de raios como o redner (2018) e o Mitsuba 3 (2022) amostram arestas de silhuetas ou reparametrizam a integral de renderização, fornecendo gradientes para sombras, reflexos e luz indireta.
  • Renderização volumétrica e por splatting: A composição alfa das densidades ao longo de cada raio do NeRF e os Gaussianos 3D rasterizados do Gaussian splatting são, por construção, funções suaves dos respetivos parâmetros.

Um rasterizador suave para um único disco ilustra a ideia em PyTorch: a cobertura é uma sigmoide da distância com sinal à aresta do disco, pelo que os gradientes de cada píxel próximo do limite chegam ao centro e ao raio do disco.

import torch

# Pixel coordinates of a 64x64 image
ys, xs = torch.meshgrid(torch.arange(64.0), torch.arange(64.0), indexing="ij")


def render(center, radius):
    """Soft-rasterize a disk: pixel coverage is a sigmoid of the signed distance to its edge."""
    distance = torch.sqrt((xs - center[0]) ** 2 + (ys - center[1]) ** 2 + 1e-6)
    return torch.sigmoid(radius - distance)


# Target image: a disk at (40, 24) with radius 12
target = render(torch.tensor([40.0, 24.0]), torch.tensor(12.0))

# Recover the scene from a wrong guess by backpropagating the pixel loss
center = torch.tensor([20.0, 40.0], requires_grad=True)
radius = torch.tensor(6.0, requires_grad=True)
optimizer = torch.optim.Adam([center, radius], lr=0.5)
for _ in range(300):
    loss = ((render(center, radius) - target) ** 2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(f"center {center.detach().round(decimals=1).tolist()}, radius {radius.item():.1f}")

O programa apresenta center [40.0, 24.0], radius 12.0: começando a cerca de 26 píxeis de distância e com metade do raio, o otimizador Adam recupera o disco apenas a partir das diferenças entre píxeis. Com cobertura rígida, (distance < radius).float(), a perda não transmitiria gradiente a nenhum dos parâmetros.

Aplicações no mundo real#

As perdas de silhueta, como a do código, comparam a máscara renderizada de um objeto com uma máscara observada; para fotografias sem anotações, um modelo de segmentação de instâncias, como o YOLO26 (yolo26n-seg.pt), fornece uma máscara para cada objeto da imagem.

  • Reconstrução 3D: O NeRF (2020) e o Gaussian splatting 3D (2023) ajustam uma cena a dezenas de fotografias com poses de câmara conhecidas; depois, o Gaussian splatting renderiza novas vistas em tempo real, a 30 fotogramas por segundo ou mais em 1080p.
  • Ajuste do corpo humano: Os métodos baseados em modelos corporais ajustam uma malha paramétrica, como o SMPL, a uma imagem, fazendo corresponder a silhueta renderizada e as articulações projetadas à máscara e aos pontos-chave da pessoa.
  • Geração de texto para 3D: O DreamFusion (2022) otimiza um NeRF para que as renderizações de pontos de vista aleatórios obtenham boas pontuações num modelo de difusão de texto para imagem, criando objetos 3D sem dados de treino 3D.

Explore solutions

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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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