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

Scene Flow

Il flusso di scena è il campo di moto 3D di una scena: un vettore di spostamento per ogni punto visibile tra fotogrammi, stimato da dati stereo, RGB-D o LiDAR.

Il flusso di scena è il campo di moto tridimensionale di una scena: per ogni punto visibile di una superficie, un vettore 3D indica dove si trova il punto in un fotogramma e dove si trova nel successivo. Sundar Vedula, Simon Baker e i colleghi della Carnegie Mellon University introdussero il termine nel loro articolo del 1999 Three-Dimensional Scene Flow, definendolo come la controparte 3D del flusso ottico. Il flusso di scena combina geometria e movimento, quindi indica a un sistema di visione artificiale sia dove si trova ciascun punto sia quanto velocemente si muove, in metri, anche verso o lontano dalla telecamera. È quindi un segnale fondamentale per i veicoli autonomi e la robotica, dove occorre riconoscere dal movimento un'auto che si immette nella strada o una persona che entra nel percorso.

Flusso di scena e flusso ottico#

Il flusso ottico è la proiezione del flusso di scena sul piano dell'immagine: registra quanto si sposta ogni pixel lateralmente e verso l'alto o il basso, ma non rileva il movimento lungo la linea di vista della telecamera. Due oggetti con un flusso ottico identico possono quindi muoversi in modo molto diverso. Il flusso di scena recupera la componente mancante tramite la stima della profondità in entrambi gli istanti, riproiettando ogni pixel lungo il proprio raggio di vista fino alla profondità misurata:

import numpy as np

K_inv = np.linalg.inv(np.array([[500.0, 0, 320], [0, 500.0, 240], [0, 0, 1]]))  # inverse camera intrinsics

# Two objects with identical optical flow: each moves from pixel (400, 240) to (410, 240) in 0.1 s
for name, depth_before, depth_after in [("cyclist crossing", 8.0, 8.0), ("car approaching", 8.0, 6.0)]:
    # Back-project each pixel along its viewing ray to the measured depth
    before = depth_before * K_inv @ np.array([400, 240, 1.0])
    after = depth_after * K_inv @ np.array([410, 240, 1.0])

    # Scene flow is the 3D displacement of the same surface point
    flow = after - before
    print(f"{name}: scene flow {flow.round(2)} m, speed {np.linalg.norm(flow) / 0.1:.1f} m/s")

Entrambi gli oggetti si spostano di 10 pixel verso destra, eppure il ciclista si muove lateralmente di 0,16 m a 1,6 m/s, mentre l'auto si avvicina di 2 m in un decimo di secondo, a 20,1 m/s. A 6 m di distanza e con una velocità di avvicinamento di 20 m/s, l'auto raggiunge la telecamera in 0,3 secondi.

Il flusso di scena differisce anche dal tracciamento degli oggetti, che segue le identità degli oggetti tramite riquadri di delimitazione, e dal tracciamento dei punti, che segue punti 2D selezionati attraverso numerosi fotogrammi. La stima della velocità con Ultralytics YOLO opera a livello di tracciamento 2D: segue ogni riquadro tracciato e converte il suo spostamento in pixel in km/h usando un'unica scala metri per pixel per l'intera visuale, una soluzione valida quando la telecamera riprende dall'alto una strada e il traffico si muove parallelamente all'immagine.

Come si stima il flusso di scena#

Il metodo dipende dall'input. Una telecamera stereo fornisce la disparità in entrambi gli istanti e il flusso ottico tra i fotogrammi: è la configurazione del benchmark KITTI per il flusso di scena, pubblicato da Moritz Menze e Andreas Geiger nel 2015, con 200 scene stradali di addestramento e 200 di test. Le telecamere RGB-D e il LiDAR forniscono due nuvole di punti, spesso unite alle immagini della telecamera tramite la fusione dei sensori; reti come FlowNet3D apprendono a mettere direttamente in corrispondenza i punti tra le due nuvole. Una singola telecamera si affida alla profondità monoculare appresa e al flusso ottico per ogni coppia di fotogrammi.

Quando la telecamera si muove, anche ogni punto statico sembra muoversi; perciò un sistema completo stima anche il moto proprio, di solito tramite SLAM visivo o odometria, e considera in movimento autonomo i punti il cui flusso non è coerente con esso. Le scene stradali sono composte perlopiù da corpi rigidi, quindi metodi come il flusso di scena degli oggetti di Menze e Geiger e RAFT-3D raggruppano i pixel in pochi oggetti dal moto rigido, stabilizzando le stime sulle carrozzerie prive di texture. Le occlusioni sono il caso più difficile, perché i punti che compaiono o scompaiono tra i fotogrammi non hanno corrispondenze misurabili.

I modelli di apprendimento profondo richiedono dati di riferimento densi che i sensori reali non possono acquisire, quindi l'addestramento si basa molto sui dati sintetici. I dataset di flusso di scena di Friburgo, tra cui FlyingThings3D, generano decine di migliaia di fotogrammi stereo con disparità, flusso ottico e variazioni della disparità esatti; FlowNet3D, addestrato soltanto su FlyingThings3D, è stato trasferito a scansioni LiDAR reali di KITTI.

Applicazioni nel mondo reale#

  • Robot mobili: I robot che condividono magazzini e marciapiedi con le persone usano il movimento 3D degli ostacoli vicini per prevedere dove saranno un secondo dopo e pianificare un nuovo percorso per evitarli.
  • Ricostruzione di scene dinamiche: Il Gaussian splatting 4D e i campi di radianza neurale dinamici modellano una scena in movimento imparando come si muove nel tempo ogni punto o gaussiana; questo flusso di scena appreso consente di riprodurre un video registrato da nuovi punti di vista.
  • Guida autonoma: Il flusso di scena LiDAR separa i veicoli e i pedoni in movimento dal mondo statico tra scansioni consecutive. Nel 2021 il Waymo Open Dataset ha aggiunto etichette di flusso di scena, con circa 1.000 volte più fotogrammi annotati rispetto ai precedenti dataset di flusso di scena del mondo reale.

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