Scopri la potenza dell'Optical Flow nella computer vision. Scopri come stima il movimento, migliora l'analisi dei video e guida le innovazioni nell'IA.
Il flusso ottico è un concetto fondamentale della computer vision (cv) utilizzato per descrivere il movimento apparente di oggetti, superfici e bordi in una scena visiva causato dal movimento relativo tra un osservatore (come una telecamera) e la scena. Calcola un campo di vettori che rappresentano lo spostamento dei modelli di luminosità (pixel o caratteristiche) tra fotogrammi consecutivi di una sequenza video. Questo fornisce informazioni preziose sulle dinamiche di movimento all'interno del video, costituendo la base per molti compiti di visione di livello superiore.
L'assunto alla base della maggior parte degli algoritmi di flusso ottico è la costanza della luminosità, ovvero l'idea che l'intensità di un punto specifico di un oggetto rimanga costante per brevi intervalli di tempo, anche quando questo si muove sul piano dell'immagine. Gli algoritmi seguono questi modelli di luminosità costante da un fotogramma all'altro per stimare i vettori di movimento. Le tecniche più comuni includono:
Questi metodi forniscono una comprensione di basso livello del movimento dei pixel, che può essere interpretata per varie applicazioni.
Il flusso ottico ha numerose applicazioni pratiche in diversi ambiti:
Pur essendo correlati, il flusso ottico e il tracciamento degli oggetti sono attività distinte. Il flusso ottico fornisce vettori di movimento di basso livello per pixel o caratteristiche tra due fotogrammi consecutivi. Non comprende intrinsecamente l'identità degli oggetti né li traccia per periodi più lunghi.
Il tracciamento degli oggetti, spesso eseguito utilizzando modelli come Ultralytics YOLOsi concentra sull'identificazione di istanze di oggetti specifici (solitamente rilevati tramite il rilevamento degli oggetti) e sul mantenimento della loro identità e delle loro traiettorie in più fotogrammi, potenzialmente per lunghi periodi. Gli algoritmi di tracking utilizzano spesso il flusso ottico come input (insieme a modelli di aspetto, filtri di Kalman, ecc.) per prevedere la posizione degli oggetti nei fotogrammi successivi, ma il tracking è un'attività di livello superiore che riguarda la persistenza degli oggetti. Puoi esplorare modelli come YOLOv8 per il tracciamento.
Librerie come OpenCV forniscono implementazioni facilmente disponibili di vari algoritmi di flusso ottico.