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

Differentiable Rendering

Il rendering differenziabile calcola come cambia ogni pixel renderizzato in base alla forma della scena, ai materiali e alla fotocamera, consentendo di adattare le scene 3D alle foto.

Il rendering differenziabile è il rendering, cioè la trasformazione di una descrizione della geometria, dei materiali, dell'illuminazione e della telecamera di una scena 3D in un'immagine, implementata in modo che sia possibile calcolare la derivata di ogni pixel di output rispetto a quei parametri della scena. Una funzione di perdita che confronta un'immagine renderizzata con una foto può quindi essere minimizzata con la discesa del gradiente, mentre la retropropagazione attraversa il renderer fino alla scena 3D. Questo lo rende il motore del rendering inverso, il compito di visione artificiale che ricostruisce una scena dalle sue immagini, e dei metodi di rendering neurale come i campi di radianza neurale (NeRF) e il Gaussian splatting, che addestrano i modelli della scena renderizzandola.

Perché il rendering richiede un trattamento speciale#

Un rasterizzatore standard non è differenziabile nei punti importanti. Stabilire se un pixel è coperto da un triangolo è una funzione a gradino delle posizioni dei vertici: spostare leggermente un vertice non modifica alcun pixel finché un bordo non attraversa il centro di un pixel, quindi il gradiente rispetto alla geometria è zero quasi ovunque; l'occlusione aggiunge ulteriori discontinuità nei punti in cui una superficie ne nasconde un'altra. I renderer differenziabili gestiscono questi bordi in modi diversi:

  • Gradienti approssimati: OpenDR (2014) e Neural 3D Mesh Renderer (2018) mantengono un rasterizzatore standard nel passaggio in avanti e approssimano i gradienti nel passaggio all'indietro.
  • Rasterizzazione morbida: SoftRas (2019) sostituisce la copertura netta di ogni pixel con una probabilità che diminuisce gradualmente con la distanza dal bordo di un triangolo e combina le facce sovrapposte, così ogni pixel vicino a un bordo trasmette il gradiente alla geometria.
  • Rendering differenziabile basato sulla fisica: i tracciatori di raggi come redner (2018) e Mitsuba 3 (2022) campionano i bordi delle silhouette o riparametrizzano l'integrale di rendering, ottenendo gradienti per ombre, riflessi e luce indiretta.
  • Rendering volumetrico e tramite splat: la composizione alfa delle densità lungo ogni raggio nei NeRF e le gaussiane 3D rasterizzate del Gaussian splatting sono, per costruzione, funzioni regolari dei loro parametri.

Un rasterizzatore morbido per un singolo disco illustra il concetto in PyTorch: la copertura è una sigmoide della distanza con segno dal bordo del disco, quindi i gradienti raggiungono il centro e il raggio del disco da ogni pixel vicino al contorno.

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

Stampa center [40.0, 24.0], radius 12.0: partendo da circa 26 pixel di distanza e con metà del raggio, l'ottimizzatore Adam ricostruisce il disco basandosi solo sulle differenze tra i pixel. Con la copertura netta, (distance < radius).float(), la perdita non trasmetterebbe alcun gradiente a nessuno dei due parametri.

Applicazioni nel mondo reale#

Le perdite basate sulla silhouette, come quella nel codice, confrontano una maschera dell'oggetto renderizzata con una maschera osservata; per le foto senza annotazioni, un modello di segmentazione di istanze come YOLO26 (yolo26n-seg.pt) fornisce una maschera per ogni oggetto nell'immagine.

  • Ricostruzione 3D: NeRF (2020) e Gaussian splatting 3D (2023) adattano una scena a decine di foto con pose della telecamera note; il Gaussian splatting esegue poi il rendering di nuove viste in tempo reale, a 30 fotogrammi al secondo o più a 1080p.
  • Adattamento del corpo umano: i metodi basati su modelli del corpo adattano a un'immagine una mesh parametrica come SMPL, facendo corrispondere la silhouette renderizzata e le articolazioni proiettate alla maschera e ai punti chiave della persona.
  • Generazione da testo a 3D: DreamFusion (2022) ottimizza un NeRF affinché i rendering da punti di vista casuali ottengano punteggi elevati con un modello di diffusione da testo a immagine, creando oggetti 3D senza dati di addestramento 3D.

Explore solutions

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 da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
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