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

Neural Radiance Fields (NeRF)

I campi di radianza neurale (NeRF) rappresentano una scena 3D in una rete neurale addestrata su fotografie con posa nota e generano nuove viste tramite rendering volumetrico lungo i raggi della telecamera.

Un campo radiance neurale (NeRF) rappresenta una scena 3D come una rete neurale che mappa qualsiasi posizione 3D e direzione di osservazione a una densità e un colore, appresi da un insieme di normali fotografie con posizioni della fotocamera note. Per renderizzare una vista si traccia un raggio attraverso ogni pixel, si interroga la rete nei punti lungo il raggio e si fondono i risultati con il rendering volumetrico; in questo modo, un NeRF addestrato mostra la scena da punti di vista che nessuna fotocamera ha ripreso. Ben Mildenhall, Pratul Srinivasan, Matthew Tancik e i colleghi della UC Berkeley, di Google Research e della UC San Diego introdussero il metodo in NeRF: rappresentare le scene come campi radiance neurali per la sintesi di viste a ECCV 2020. I NeRF riproducono riflessi, strutture sottili e materiali semitrasparenti che la fotogrammetria basata su mesh gestisce male, e diedero il via all'ondata di ricerca sul rendering neurale che ha portato al Gaussian splatting.

Come funzionano i campi di radianza neurale#

Il NeRF originale è un percettrone multistrato senza convoluzioni. Elabora una posizione 3D codificata con 8 strati completamente connessi da 256 canali e restituisce una densità volumetrica e un vettore di caratteristiche da 256 valori. Il vettore di caratteristiche, combinato con la direzione di osservazione codificata, passa attraverso un altro strato da 128 canali che restituisce un colore RGB. La densità dipende solo dalla posizione, mantenendo coerente la geometria tra le viste, mentre il colore dipende anche dalla direzione, catturando le alte luci speculari e i riflessi che cambiano quando si sposta la fotocamera:

Per renderizzare un pixel, NeRF campiona 64 punti lungo il raggio della fotocamera con una rete grossolana, poi altri 128 nei punti in cui il passaggio grossolano ha rilevato densità e valuta una rete fine in tutti i punti. Ogni campione contribuisce al colore in proporzione alla propria opacità e alla trasmittanza, cioè la frazione di luce che supera i campioni davanti a esso; la somma pesata fornisce il colore del pixel. L'addestramento minimizza la differenza quadratica tra i colori dei pixel renderizzati e fotografati su batch di 4.096 raggi. Le pose della fotocamera provengono in genere da software di Structure from Motion come COLMAP; una scena richiedeva da 100.000 a 300.000 iterazioni, circa uno o due giorni, su una GPU NVIDIA V100.

Un MLP semplice alimentato con coordinate grezze apprende funzioni regolari e sfuma i dettagli fini; per questo NeRF mappa prima ogni coordinata su seni e coseni a frequenze raddoppiate: 10 per la posizione e 4 per la direzione. Questo codice PyTorch adatta la stessa rete a un segnale 1D a strisce, con e senza codifica posizionale:

import torch
from torch import nn

torch.manual_seed(0)
# Color along one line through a scene, with fine detail such as a striped texture
x = torch.linspace(-1, 1, 512).unsqueeze(1)
target = torch.sin(12 * torch.pi * x) * torch.cos(3 * torch.pi * x)

# NeRF's positional encoding: sines and cosines of the coordinate at 10 doubling frequencies
freqs = 2.0 ** torch.arange(10) * torch.pi
encoded = torch.cat([torch.sin(x * freqs), torch.cos(x * freqs)], dim=1)

for name, inputs in (("raw coordinate", x), ("positional encoding", encoded)):
    mlp = nn.Sequential(nn.Linear(inputs.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 step in range(1000):
        loss = ((mlp(inputs) - target) ** 2).mean()
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"{name}: mean squared error {loss.item():.4f}")

Stampa raw coordinate: mean squared error 0.0870 e positional encoding: mean squared error 0.0000. La potenza media del segnale è 0,25, quindi la rete con coordinate grezze ne perde circa un terzo, cioè le strisce fini, mentre la rete con codifica le riproduce.

NeRF più veloci e robusti#

  • Antialiasing e scene illimitate: Mip-NeRF renderizza coni invece di raggi infinitamente sottili per eliminare l'aliasing, mentre Mip-NeRF 360 estende il metodo alle acquisizioni a 360° senza limiti.
  • Velocità: Instant NGP di NVIDIA sostituisce la maggior parte della rete con una tabella hash multirisoluzione di caratteristiche apprese, riducendo l'addestramento da giorni a secondi o minuti e il rendering a decine di millisecondi a 1920×1080.
  • Foto scattate in ambienti reali: NeRF in the Wild aggiunge embedding di aspetto per ogni foto e una componente transitoria separata, così le raccolte di foto online con illuminazione variabile e turisti di passaggio vengono comunque ricostruite in modo pulito.
  • Da testo a 3D: DreamFusion ottimizza un NeRF finché i rendering da ogni angolazione non risultano plausibili per un modello di diffusione 2D da testo a immagine, creando oggetti 3D da prompt senza dati di addestramento 3D.
  • Gaussian splatting: memorizza esplicitamente una scena come milioni di gaussiane 3D e le rasterizza, consentendo il rendering in tempo reale senza valutare la rete per ogni pixel. Nel 2023 ha raggiunto la qualità di Mip-NeRF 360 e ha sostituito NeRF in molti strumenti di acquisizione, a scapito di un maggiore consumo di memoria.
  • Fotogrammetria: crea una mesh esplicita abbinando caratteristiche tra le foto. Le mesh sono compatte e modificabili con i software 3D standard, ma hanno difficoltà con superfici lucide, trasparenti e molto sottili.
  • Stima della profondità: NeRF produce una mappa di profondità come risultato secondario, ovvero la distanza prevista alla quale si arresta ogni raggio, ma solo dopo l'ottimizzazione su molte foto con posa nota di una singola scena. I modelli monoculari di profondità stimano la profondità da una sola immagine con un singolo passaggio forward.
  • Rappresentazioni neurali implicite: NeRF è una rappresentazione neurale implicita specializzata in radiance e densità, affiancata da reti che memorizzano immagini, forme o audio come funzioni continue.

Requisiti di acquisizione#

NeRF presuppone una scena statica con illuminazione costante, fotografata da molti punti di vista sovrapposti con pose della fotocamera accurate. Lo studio originale ha addestrato ogni oggetto sintetico su 100 viste renderizzate e ogni scena reale ripresa frontalmente su un numero di foto compreso tra 20 e 62. Qualsiasi elemento che si muova durante l'acquisizione, come un passante o un'auto, appare in alcune foto ma non in altre, e l'ottimizzazione lo spiega creando «elementi fluttuanti» semitrasparenti. I modelli di segmentazione di istanza Ultralytics YOLO26 mascherano persone e veicoli in ogni foto, così i raggi che attraversano quei pixel possono essere esclusi dall'addestramento.

Applicazioni nel mondo reale#

  • Cinema e produzione virtuale: le location acquisite vengono ricostruite e renderizzate da nuovi percorsi della fotocamera come sfondi fotorealistici e riferimenti per le scenografie.
  • Robotica e simulazione di guida: gli ambienti registrati vengono ricostruiti, consentendo ai team dei veicoli autonomi e della robotica di renderizzare viste dei sensori da posizioni che il veicolo originale non ha mai raggiunto.
  • Visualizzazione dei prodotti: poche decine di foto di un articolo diventano una vista interattiva che gli acquirenti possono ruotare liberamente.
  • Mappe: per Immersive View in Google Maps, Google ha ricostruito gli interni di ristoranti e caffè con NeRF a partire da foto scattate con fotocamere DSLR in circa un'ora per locale, sviluppando il lavoro di Mip-NeRF 360 con gli embedding di aspetto di NeRF in the Wild e il condizionamento dell'esposizione di Block-NeRF; li ha poi distribuiti come video interattivi a 360° lungo percorsi di volo selezionati.

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