Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Latent Diffusion Model (LDM)

Un modello di diffusione latente (LDM) esegue la diffusione nello spazio latente compresso di un autoencoder anziché sui pixel: è il principio alla base di Stable Diffusion.

Un modello di diffusione latente (LDM) è un modello di diffusione che genera dati denoising una rappresentazione compressa da un autoencoder preaddestrato, anziché operare sui pixel grezzi. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser e Björn Ommer hanno introdotto questo approccio in High-Resolution Image Synthesis with Latent Diffusion Models, presentato al CVPR 2022. L'autoencoder elimina i dettagli fini dei pixel, costosi da modellare e poco rilevanti per l'aspetto di un'immagine, così la rete di diffusione concentra la propria capacità su contenuto e composizione. Addestramento e campionamento costano quindi molto meno rispetto alla diffusione nello spazio dei pixel, permettendo a Stable Diffusion, l'LDM più noto, di generare immagini su una singola GPU consumer. La maggior parte degli attuali generatori di immagini, video e audio nell'IA generativa segue la stessa architettura a due fasi.

Come funziona la diffusione latente#

La prima fase comprime le immagini. Un encoder mappa un'immagine di dimensioni H×W×3 in una rappresentazione latente di dimensioni H/f×W/f×c, dove f è il fattore di sottocampionamento e c il numero di canali latenti; un decoder riconverte le rappresentazioni latenti in pixel. Rombach e colleghi hanno addestrato questo autoencoder con una perdita percettiva e un obiettivo avversario basato su patch, come nel discriminatore di una GAN, per mantenere nitide le ricostruzioni; hanno inoltre regolarizzato la rappresentazione latente con una piccola penalità KL verso una distribuzione normale standard oppure con la quantizzazione vettoriale. I fattori di sottocampionamento da 4 a 16 offrivano un equilibrio tra velocità e qualità: l'addestramento nello spazio dei pixel (f = 1) era lento, mentre con f = 32 la compressione era tale da ridurre la qualità dei campioni. L'autoencoder di Stable Diffusion usa f = 8 e 4 canali; questo codice codifica una foto, la decodifica e misura la perdita dovuta al processo:

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")

Stampa image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer values e reconstruction PSNR: 23.0 dB. L'immagine salvata bus_reconstructed.jpg conserva l'autobus, le persone e la strada, mentre le scritte piccole sul fianco dell'autobus risultano illeggibili: sono dettagli troppo fini per essere mantenuti da una rappresentazione latente a 4 canali.

La seconda fase consiste in un normale modello di diffusione addestrato su queste rappresentazioni latenti. Durante l'addestramento, si codifica un'immagine, si aggiunge rumore gaussiano a un passo casuale e si insegna a una rete di rimozione del rumore — una U-Net nel lavoro originale e un Transformer di diffusione nella maggior parte dei modelli più recenti — a predire quel rumore oppure, nei modelli basati sul flusso rettificato, la velocità che porta il rumore verso la rappresentazione latente pulita. Le condizioni vengono introdotte tramite livelli di attenzione incrociata, che consentono alla rappresentazione latente di prestare attenzione agli embedding di un prompt testuale, di un'etichetta di classe o di una mappa semantica. La generazione parte da rumore latente casuale, lo riduce passo dopo passo in base alla condizione e alla fine esegue il decoder una sola volta, così ogni passaggio computazionalmente costoso opera sulla rappresentazione latente di dimensioni ridotte.

Da Stable Diffusion ai modelli attuali#

  • Stable Diffusion: pubblicato nell'agosto 2022, ha portato la ricetta LDM alla generazione di immagini 512×512 da testo, con una rappresentazione latente 64×64×4, una U-Net da 860 milioni di parametri e un encoder testuale CLIP; i pesi erano scaricabili da chiunque.
  • Stable Diffusion 3: è passato a un autoencoder a 16 canali, aumentando il PSNR di ricostruzione da 25.12 dB con 4 canali a 28.62 dB, e ha sostituito la U-Net con un transformer di diffusione multimodale addestrato con flusso rettificato. Anche i modelli FLUX.1 di Black Forest Labs denoisano rappresentazioni latenti a 16 canali con un transformer a flusso rettificato.
  • Video e audio: i generatori video comprimono le clip nello spazio e nel tempo; OpenAI ha descritto Sora come un modello che comprime i video in uno spazio latente di dimensioni inferiori e lo suddivide in patch spazio-temporali. AudioLDM e Stable Audio di Stability AI applicano lo stesso approccio alle rappresentazioni latenti di spettrogrammi o forme d'onda.
  • Modelli di consistenza latente: distillano un LDM affinché generi in 2-4 passaggi invece che in 20-50, rendendo possibile la generazione quasi in tempo reale.
  • Modelli di diffusione nello spazio dei pixel: eseguono il processo di aggiunta e rimozione del rumore su ogni pixel. Anche un LDM è un modello di diffusione: cambia solo lo spazio in cui viene eseguito il processo.
  • Autoencoder variazionali: un VAE genera decodificando una rappresentazione latente campionata in un solo passaggio e tende a produrre campioni sfocati. Un LDM usa un autoencoder di tipo VAE solo per la compressione e affida la generazione al modello di diffusione.
  • Stable Diffusion: Una famiglia di LDM di Stability AI, CompVis e Runway: tutti i modelli Stable Diffusion sono quindi LDM, mentre gli LDM comprendono anche FLUX, generatori di video e modelli audio.

Applicazioni#

Gli LDM alimentano la generazione di immagini da testo, il riempimento delle immagini, per il quale l'articolo originale raggiunse all'epoca un nuovo stato dell'arte, la super-risoluzione e la generazione di immagini da layout di mappe semantiche. Nella visione artificiale producono anche dati sintetici: difetti rari, condizioni meteorologiche insolite o punti di vista difficili da fotografare. Le immagini generate non hanno etichette; la funzione Ultralytics auto_annotate etichetta una cartella di immagini generate rilevando gli oggetti con un modello YOLO26 e delineando ogni riquadro rilevato con un modello di segmentazione Meta SAM, per scrivere etichette di segmentazione in formato YOLO da usare nell'addestramento.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning