Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Flusso ottico

Esplora i fondamenti del flusso ottico nella visione artificiale. Scopri come i vettori di movimento guidano la comprensione dei video e migliorano il tracciamento in Ultralytics .

Il flusso ottico è il modello di movimento apparente di oggetti, superfici e bordi in una scena visiva causato dal movimento relativo tra un osservatore e una scena. Nel campo della visione artificiale, questo concetto è fondamentale per comprendere le dinamiche temporali all'interno delle sequenze video. Analizzando lo spostamento dei pixel tra due fotogrammi consecutivi, gli algoritmi di flusso ottico generano un campo vettoriale in cui ogni vettore rappresenta la direzione e l' ampiezza del movimento di un punto specifico. Questo indizio visivo di basso livello consente ai sistemi di intelligenza artificiale di percepire non solo ciò che è presente in un'immagine, ma anche come si muove, colmando il divario tra l'analisi delle immagini statiche e la comprensione dei video dinamici.

Meccanismi fondamentali del flusso ottico

Il calcolo del flusso ottico si basa generalmente sul presupposto della costanza della luminosità, secondo cui l' intensità di un pixel su un oggetto rimane costante da un fotogramma all'altro, anche se si muove. Gli algoritmi utilizzano questo principio per risolvere i vettori di movimento utilizzando due approcci principali:

  • Flusso ottico sparso: Questo metodo calcola il vettore di movimento per un sottoinsieme specifico di caratteristiche distintive, come angoli o bordi, rilevate tramite l'estrazione delle caratteristiche. Algoritmi come il metodo Lucas-Kanade sono efficienti dal punto di vista computazionale e ideali per attività di inferenza in tempo reale in cui è sufficiente tracciare punti di interesse specifici.
  • Flusso ottico denso: Questo approccio calcola un vettore di movimento per ogni singolo pixel nel fotogramma. Sebbene sia significativamente più impegnativo dal punto di vista computazionale , fornisce una mappa di movimento completa essenziale per attività di precisione come la segmentazione delle immagini e l'analisi strutturale. Le moderne architetture di deep learning spesso superano i metodi matematici tradizionali nella stima del flusso denso, apprendendo modelli di movimento complessi da grandi set di dati.

Flusso ottico vs. rilevamento oggetti

Sebbene siano spesso utilizzati in tandem, è fondamentale distinguere il flusso ottico dal tracciamento degli oggetti. Il flusso ottico è un'operazione di basso livello che descrive il movimento istantaneo dei pixel; non comprende intrinsecamente l'identità o la persistenza degli oggetti.

Al contrario, il tracciamento degli oggetti è un'attività di alto livello che individua entità specifiche e assegna loro un ID coerente nel tempo. I tracker avanzati, come quelli integrati in Ultralytics , in genere eseguono il rilevamento degli oggetti per individuarli e poi utilizzano segnali di movimento, talvolta derivati dal flusso ottico, per associare i rilevamenti tra i fotogrammi. Il flusso ottico risponde alla domanda "a che velocità si stanno muovendo questi pixel in questo momento", mentre il tracciamento risponde alla domanda "dove è andata l'auto n. 5?"

Applicazioni nel mondo reale

La capacità di stimare il movimento a livello di pixel alimenta un'ampia gamma di tecnologie sofisticate:

  • Veicoli autonomi e robotica: Il flusso ottico viene utilizzato per l'odometria visiva, consentendo a un robot o a un'auto di stimare il proprio movimento rispetto all' ambiente. Aiuta anche nella stima della profondità e nell'evitare gli ostacoli, analizzando la rapidità con cui gli oggetti nel campo visivo si espandono o si muovono.
  • Stabilizzazione video: le fotocamere e i software di editing utilizzano vettori di flusso per detect le vibrazioni detect della fotocamera. Compensando questo movimento globale, i sistemi sono in grado di stabilizzare digitalmente le riprese. Si tratta di una funzione standard nei moderni dispositivi elettronici di consumo come smartphone e action cam.
  • Riconoscimento delle azioni: nell'analisi sportiva e nella sicurezza, l'analisi del flusso temporale dei pixel aiuta i sistemi a identificare azioni umane complesse. Ad esempio, i modelli di stima della postura possono essere potenziati con dati di flusso per distinguere tra una persona che cammina e una che corre in base alla velocità del movimento degli arti.
  • Compressione video: standard come la codifica video MPEG si basano in larga misura sulla stima del movimento. Anziché memorizzare ogni fotogramma completo, il codec memorizza il flusso ottico (vettori di movimento) e la differenza (residuo) tra i fotogrammi, riducendo in modo significativo le dimensioni dei file per lo streaming e l'archiviazione.

Esempio di implementazione

L'esempio seguente mostra come calcolare il flusso ottico denso utilizzando OpenCV , uno strumento standard nell'ecosistema della visione artificiale . Questo frammento di codice utilizza l'algoritmo di Farneback per generare una mappa di flusso tra due fotogrammi consecutivi.

import cv2
import numpy as np

# Simulate two consecutive frames (replace with actual image paths)
frame1 = np.zeros((100, 100, 3), dtype=np.uint8)
frame2 = np.zeros((100, 100, 3), dtype=np.uint8)
cv2.rectangle(frame1, (20, 20), (40, 40), (255, 255, 255), -1)  # Object at pos 1
cv2.rectangle(frame2, (25, 25), (45, 45), (255, 255, 255), -1)  # Object moved

# Convert to grayscale for flow calculation
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

# Calculate dense optical flow
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

# Compute magnitude and angle of 2D vectors
mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])

print(f"Max motion detected: {np.max(mag):.2f} pixels")

Per applicazioni di alto livello che richiedono la persistenza degli oggetti piuttosto che il movimento dei pixel grezzi, gli utenti dovrebbero prendere in considerazione le modalità di tracciamento disponibili in Ultralytics YOLO11 e YOLO26. Questi modelli astraggono la complessità dell'analisi del movimento , fornendo ID oggetto e traiettorie robusti e pronti all'uso per attività che vanno dal monitoraggio del traffico all' analisi della vendita al dettaglio.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora