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

Latent Diffusion Model (LDM)

Um modelo de difusão latente (LDM) executa a difusão no espaço latente comprimido de um autoencoder, em vez de a executar nos píxeis; esta é a arquitetura por detrás do Stable Diffusion.

Um modelo de difusão latente (LDM) é um modelo de difusão que gera dados removendo ruído de uma representação comprimida por um autoencoder pré-treinado, em vez de usar pixels brutos. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser e Björn Ommer apresentaram essa abordagem em High-Resolution Image Synthesis with Latent Diffusion Models, apresentado na CVPR 2022. O autoencoder remove detalhes finos de pixels, que são caros de modelar e pouco acrescentam à aparência da imagem, para que a rede de difusão concentre sua capacidade no conteúdo e na composição. Assim, o treinamento e a amostragem custam muito menos do que a difusão no espaço de pixels, permitindo que o Stable Diffusion, o LDM mais conhecido, gere imagens em uma única GPU de consumo. A maioria dos geradores atuais de imagem, vídeo e áudio em IA generativa segue o mesmo projeto em duas etapas.

Como funciona a difusão latente#

A primeira etapa comprime as imagens. Um codificador mapeia uma imagem de tamanho H×W×3 para um espaço latente de tamanho H/f×W/f×c, onde f é o fator de redução e c é o número de canais latentes; um decodificador mapeia os espaços latentes de volta para pixels. Rombach e colegas treinaram esse autoencoder com uma perda perceptual e um objetivo adversarial baseado em patches, como em um discriminador de GAN, para manter as reconstruções nítidas, e regularizaram o espaço latente com uma pequena penalidade KL em direção a uma distribuição normal padrão ou com quantização vetorial. Fatores de redução entre 4 e 16 equilibraram velocidade e qualidade: o treinamento no espaço de pixels (f = 1) era lento, e f = 32 comprimia tanto que a qualidade das amostras caía. O autoencoder do Stable Diffusion usa f = 8 e 4 canais; assim, este código codifica uma foto, decodifica-a novamente e mede o que se perde na conversão de ida e volta:

import urllib.request

import numpy as np
import torch
from diffusers import AutoencoderKL
from PIL import Image

# Stable Diffusion's autoencoder, the first stage of a latent diffusion model
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse")

# Load a photo and scale its pixels to [-1, 1]
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg")).convert("RGB").resize((480, 640))
x = torch.tensor(np.array(image), dtype=torch.float32).permute(2, 0, 1)[None] / 127.5 - 1

# Encode to the latent that diffusion runs on, then decode back to pixels
with torch.no_grad():
    latent = vae.encode(x).latent_dist.mode()
    recon = vae.decode(latent).sample.clamp(-1, 1)

psnr = 10 * torch.log10(4 / torch.mean((recon - x) ** 2))
print(f"image {tuple(x.shape)} -> latent {tuple(latent.shape)}: {x.numel() // latent.numel()}x fewer values")
print(f"reconstruction PSNR: {psnr:.1f} dB")
Image.fromarray(((recon[0] + 1) * 127.5).byte().permute(1, 2, 0).numpy()).save("bus_reconstructed.jpg")

Ele imprime image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer values e reconstruction PSNR: 23.0 dB. O arquivo salvo bus_reconstructed.jpg preserva o ônibus, as pessoas e a rua, enquanto as letras pequenas na lateral do ônibus ficam distorcidas, pois um espaço latente de 4 canais não consegue reter esse nível de detalhe.

A segunda etapa é um modelo de difusão convencional treinado com essas representações latentes. O treinamento codifica uma imagem, adiciona ruído gaussiano em uma etapa aleatória e ensina uma rede de remoção de ruído — uma U-Net no trabalho original e um Transformer de difusão na maioria dos modelos mais recentes — a prever esse ruído ou, nos modelos de fluxo retificado, a velocidade que conduz o ruído em direção à representação latente limpa. As condições são introduzidas por camadas de atenção cruzada, que permitem que a representação latente preste atenção aos embeddings de um prompt de texto, de um rótulo de classe ou de um mapa semântico. A geração começa com ruído latente aleatório, remove o ruído passo a passo com base na condição e executa o decodificador uma única vez no final, de modo que cada etapa mais custosa opera sobre a representação latente compacta.

Do Stable Diffusion aos modelos atuais#

  • Stable Diffusion: Lançado em agosto de 2022, ampliou a abordagem LDM para geração de texto para imagem em 512×512, com um espaço latente de 64×64×4, uma U-Net de 860 milhões de parâmetros e um codificador de texto CLIP, disponibilizando os pesos para download por qualquer pessoa.
  • Stable Diffusion 3: Passou a usar um autoencoder com 16 canais, elevando o PSNR da reconstrução de 25.12 dB com 4 canais para 28.62 dB, e substituiu a U-Net por um Transformer de difusão multimodal treinado com fluxo retificado. Os modelos FLUX.1 da Black Forest Labs também removem o ruído de espaços latentes de 16 canais com um Transformer de fluxo retificado.
  • Vídeo e áudio: Os geradores de vídeo comprimem clipes no espaço e no tempo, e a OpenAI descreveu o Sora como um sistema que comprime vídeos em um espaço latente de menor dimensão e o divide em patches espaço-temporais. O AudioLDM e o Stable Audio da Stability AI aplicam a mesma abordagem a espaços latentes de espectrogramas ou formas de onda.
  • Modelos de consistência latente: Destilam um LDM para que gere em 2 a 4 etapas, em vez de 20 a 50, possibilitando a geração quase em tempo real.
  • Modelos de difusão no espaço de pixels: Executam o processo de adição e remoção de ruído em cada pixel. Um LDM também é um modelo de difusão; a única diferença é o espaço em que o processo ocorre.
  • Autoencoders variacionais: Um VAE gera decodificando um espaço latente amostrado em uma única passagem, e suas amostras tendem a ficar desfocadas. Um LDM usa um autoencoder no estilo VAE apenas para compressão e deixa a geração a cargo do modelo de difusão.
  • Stable Diffusion: Uma família de LDMs da Stability AI, CompVis e Runway; portanto, todos os modelos Stable Diffusion são LDMs, embora os LDMs também incluam FLUX, geradores de vídeo e modelos de áudio.

Aplicações#

Os LDMs viabilizam a geração de texto para imagem, o preenchimento de imagens — em que o artigo original estabeleceu um novo estado da arte na época —, a super-resolução e a geração de imagens a partir de mapas semânticos. Em visão computacional, também produzem dados sintéticos: defeitos raros, condições meteorológicas incomuns ou pontos de vista difíceis de fotografar. As imagens geradas não vêm rotuladas, e a função auto_annotate da Ultralytics rotula uma pasta com elas, detectando objetos com um modelo YOLO26 e contornando cada caixa detectada com um modelo de segmentação Meta SAM, gravando rótulos de segmentação no formato YOLO para treinamento.

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