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

Implicit Neural Representations (INRs)

As representações neurais implícitas armazenam uma imagem, forma ou cena 3D como uma rede neural que mapeia coordenadas para valores e pode ser consultada em qualquer resolução.

Representações neurais implícitas (INRs) armazenam um sinal como uma função contínua aprendida por uma rede neural, geralmente um perceptron multicamadas (MLP) pequeno, que mapeia coordenadas para valores. Uma imagem se torna uma função de uma posição de pixel (x, y) para uma cor, uma forma 3D se torna uma função de um ponto (x, y, z) para sua distância com sinal da superfície, e uma cena se torna uma função de um ponto e de uma direção de visualização para cor e densidade. Os pesos da rede são a representação: não há grade de pixels nem de voxels, então o sinal pode ser consultado em qualquer coordenada, sua memória não aumenta com a resolução da saída e suas derivadas ficam disponíveis gratuitamente por meio da diferenciação automática. As INRs também são chamadas de redes baseadas em coordenadas ou campos neurais e fundamentam os campos de radiância neural e boa parte da reconstrução 3D moderna.

Como funcionam as representações neurais implícitas#

Uma INR é ajustada a um sinal por vez. O treinamento amostra coordenadas, compara a saída da rede com os valores reais nessas coordenadas e atualiza os pesos com descida do gradiente; assim, o ajuste é um sobreajuste intencional: o objetivo é memorizar esse sinal. Um MLP simples com ativações ReLU tem dificuldades, porque as redes aprendem frequências baixas muito mais rápido que frequências altas, um efeito que Nasim Rahaman e colegas chamaram de viés espectral em 2019. Quando recebe coordenadas brutas, a rede produz uma versão desfocada do sinal. Duas soluções tornaram as INRs práticas em 2020: mapear as coordenadas usando senos e cossenos em muitas frequências — as características de Fourier de Matthew Tancik e colegas e a codificação posicional do NeRF — e substituir ReLU por uma função de ativação senoidal, como na SIREN de Vincent Sitzmann e colegas.

Este exemplo de PyTorch ajusta o mesmo MLP a uma foto duas vezes, uma usando coordenadas brutas e outra usando características de Fourier:

import torch
from skimage import data, transform
from torch import nn

torch.manual_seed(0)

# The signal: a 128 x 128 grayscale photo, and the (x, y) coordinate of every pixel in [-1, 1]
image = torch.tensor(transform.resize(data.camera(), (128, 128)), dtype=torch.float32).reshape(-1, 1)
grid = torch.linspace(-1, 1, 128)
coords = torch.stack(torch.meshgrid(grid, grid, indexing="ij"), dim=-1).reshape(-1, 2)

# Fourier features: sines and cosines of the coordinates at 128 random frequencies
proj = torch.pi * coords @ (10 * torch.randn(2, 128))
inputs = {"Raw coordinates": coords, "Fourier features": torch.cat([proj.sin(), proj.cos()], dim=-1)}

for name, x in inputs.items():
    # The INR: a small MLP from coordinate to gray value, fit to this one image
    mlp = nn.Sequential(nn.Linear(x.shape[1], 256), nn.ReLU(), nn.Linear(256, 256), nn.ReLU(), nn.Linear(256, 1))
    optimizer = torch.optim.Adam(mlp.parameters(), lr=1e-3)
    for _ in range(1000):
        loss = (mlp(x) - image).pow(2).mean()
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"{name}: PSNR {-10 * torch.log10(loss).item():.1f} dB")

Após 1.000 etapas, a rede com coordenadas brutas atinge uma relação sinal-ruído de pico de 22,0 dB, resultando em uma imagem desfocada, enquanto a rede com características de Fourier chega a 46,0 dB, produzindo uma cópia quase exata. A escala de frequência, 10 neste exemplo, é ajustada para cada sinal: se for baixa demais, o ajuste continua desfocado; se for alta demais, a rede memoriza as amostras e produz valores ruidosos entre elas. O Segment Anything Model da Meta, executado no pacote Ultralytics, codifica as coordenadas das solicitações de pontos e caixas com as mesmas características de Fourier gaussianas aleatórias antes que elas cheguem ao decodificador de máscaras.

Formas, cenas e velocidade#

As INRs para formas 3D surgiram em 2019, quando o DeepSDF previa a distância com sinal e as Occupancy Networks previam a probabilidade de dentro ou fora para qualquer ponto 3D, permitindo extrair uma malha em qualquer resolução. O NeRF veio em 2020, mapeando a posição e a direção de visualização para cor e densidade para a síntese de novas vistas. MLPs puros são lentos para treinar e consultar, então os projetos híbridos armazenam características aprendidas em uma grade e as decodificam com um MLP minúsculo. O Instant-NGP, de Thomas Müller e colegas da NVIDIA, usa uma tabela hash de características em várias resoluções e ajusta um NeRF em segundos, em vez de horas.

As INRs contrastam com representações explícitas, como grades de pixels e voxels, malhas e nuvens de pontos, que armazenam valores diretamente e aumentam com a resolução — de forma cúbica no caso dos voxels. O splatting gaussiano é uma alternativa explícita recente ao NeRF que renderiza mais rápido ao rasterizar milhões de gaussianas 3D. Como uma INR básica é ajustada a um único sinal, generalizar para vários sinais exige recursos adicionais: hiper-redes que produzem pesos de INR a partir de um código latente ou meta-aprendizado de uma inicialização que ajusta um novo sinal em poucas etapas.

Aplicações no mundo real#

  • Imagens médicas: as INRs reconstroem volumes de TC e RM a partir de medições esparsas ou subamostradas, pois a função contínua preenche os espaços entre as amostras adquiridas com um volume suave e consistente com os dados.
  • Super-resolução: funções de imagem implícitas locais, como LIIF, preveem uma cor em qualquer coordenada contínua a partir de características próximas, permitindo que um único modelo amplie imagens por fatores arbitrários.
  • Criação de conteúdo 3D: geradores de texto para 3D e de imagem para 3D costumam otimizar ou prever campos neurais, que depois são convertidos em malhas para jogos e efeitos visuais.
  • Compressão: o COIN, de Emilien Dupont e colegas, armazena uma imagem como os pesos quantizados de um MLP pequeno e supera o JPEG com taxas de bits baixas.

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