Glossario

Flusso ottico

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.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

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.

Come funziona il flusso ottico

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:

  • Sparse Optical Flow: traccia il movimento di un insieme limitato di punti specifici (come gli angoli) tra i fotogrammi. Il metodo Lucas-Kanade è un esempio popolare.
  • Flusso ottico denso: calcola un vettore di movimento per ogni pixel dell'immagine. Il metodo Horn-Schunck è un esempio classico, anche se gli approcci più moderni utilizzano spesso il deep learning. Puoi esplorare il confronto tra flusso denso e sparso per maggiori dettagli.

Questi metodi forniscono una comprensione di basso livello del movimento dei pixel, che può essere interpretata per varie applicazioni.

Applicazioni del flusso ottico

Il flusso ottico ha numerose applicazioni pratiche in diversi ambiti:

  • Compressione video: I vettori di movimento aiutano a prevedere i fotogrammi successivi, riducendo la quantità di dati necessari per l'archiviazione o la trasmissione, come si vede in standard come MPEG.
  • Sistemi autonomi: Utilizzata nella robotica e nei veicoli autonomi per compiti come la stima dell'ego-motion (determinazione del movimento della telecamera), l'evitamento degli ostacoli e la comprensione del movimento relativo di altri oggetti. Ad esempio, l 'intelligenza artificiale delle auto a guida autonoma utilizza il flusso per seguire i veicoli e i pedoni nelle vicinanze.
  • Riconoscimento delle azioni: L'analisi dei modelli di movimento aiuta a identificare azioni come camminare, correre o cadere nei video. Questo è utile nella sorveglianza, nell'analisi degli sport e nell'interazione uomo-macchina. Un sistema di allarme di sicurezza potrebbe utilizzare il flusso ottico per rilevare movimenti sospetti. Scopri di più sulla ricerca sul riconoscimento delle azioni.
  • Imaging medico: Traccia il movimento di organi o tessuti in sequenze come gli ultrasuoni o la risonanza magnetica, aiutando nella diagnosi e nell'analisi. Per saperne di più sull'analisi delle immagini mediche.
  • Stabilizzazione video: Stima il movimento della videocamera per rimuovere digitalmente le oscillazioni e i tremolii indesiderati, ottenendo una resa video più fluida. Leggi le tecniche di stabilizzazione elettronica dell'immagine.

Flusso ottico e tracciamento dell'oggetto

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.

Leggi tutto