Glosario

Flujo óptico

Descubre el poder del Flujo Óptico en la visión por ordenador. Aprende cómo estima el movimiento, mejora el análisis de vídeo e impulsa las innovaciones en IA.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

El flujo óptico es un concepto fundamental en visión por ordenador (cv ) que se utiliza para describir el movimiento aparente de objetos, superficies y bordes en una escena visual causado por el movimiento relativo entre un observador (como una cámara) y la escena. Calcula un campo de vectores que representan el desplazamiento de patrones de brillo (píxeles o características) entre fotogramas consecutivos de una secuencia de vídeo. Esto proporciona una valiosa información sobre la dinámica del movimiento dentro del vídeo, que constituye la base de muchas tareas de visión de nivel superior.

Cómo funciona el flujo óptico

El supuesto básico de la mayoría de los algoritmos de flujo óptico es la constancia del brillo: la idea de que la intensidad de un punto concreto de un objeto permanece constante a lo largo de intervalos de tiempo cortos, incluso cuando se mueve por el plano de la imagen. Los algoritmos siguen estos patrones de brillo constante de un fotograma al siguiente para estimar los vectores de movimiento. Algunas técnicas habituales son:

  • Flujo óptico disperso: rastrea el movimiento de un conjunto limitado de puntos de características específicas (como las esquinas) entre fotogramas. El método Lucas-Kanade es un ejemplo popular.
  • Flujo óptico denso: Calcula un vector de movimiento para cada píxel de la imagen. El método Horn-Schunck es un ejemplo clásico, aunque los enfoques más modernos suelen utilizar el aprendizaje profundo. Puedes explorar las comparaciones entre flujo denso y disperso para obtener más detalles.

Estos métodos proporcionan una comprensión de bajo nivel del movimiento de los píxeles, que luego puede interpretarse para diversas aplicaciones.

Aplicaciones del flujo óptico

El flujo óptico tiene numerosas aplicaciones prácticas en distintos ámbitos:

  • Compresión de vídeo: Los vectores de movimiento ayudan a predecir los fotogramas posteriores, reduciendo la cantidad de datos necesarios para el almacenamiento o la transmisión, como se ve en normas como MPEG.
  • Sistemas Autónomos: Se utiliza en robótica y vehículos autónomos para tareas como la estimación del movimiento propio (determinar el movimiento propio de la cámara), evitar obstáculos y comprender el movimiento relativo de otros objetos. Por ejemplo, la IA de los coches autónomos utiliza el flujo para seguir a los vehículos y peatones cercanos.
  • Reconocimiento de acciones: El análisis de los patrones de movimiento ayuda a identificar acciones como caminar, correr o caerse en los vídeos. Esto es útil en la vigilancia, la analítica deportiva y la interacción persona-ordenador. Un sistema de alarma de seguridad podría utilizar el flujo óptico para detectar movimientos sospechosos. Más información sobre la investigación del reconocimiento de acciones.
  • Imágenes médicas: Rastrea el movimiento de órganos o tejidos en secuencias como la ecografía o la resonancia magnética, ayudando en el diagnóstico y el análisis. Más información sobre el análisis de imágenes médicas.
  • Estabilización de vídeo: Estima el movimiento de la cámara para eliminar digitalmente las sacudidas y vibraciones no deseadas, lo que permite obtener una salida de vídeo más suave. Lee sobre las técnicas de estabilización electrónica de imagen.

Flujo óptico vs. Seguimiento de objetos

Aunque están relacionados, el flujo óptico y el seguimiento de objetos son tareas distintas. El flujo óptico proporciona vectores de movimiento de bajo nivel para píxeles o características entre dos fotogramas consecutivos. No comprende intrínsecamente la identidad de los objetos ni los rastrea durante períodos más largos.

El seguimiento de objetos, a menudo realizado mediante modelos como Ultralytics YOLOse centra en identificar instancias específicas de objetos (normalmente detectadas mediante la detección de objetos) y mantener sus identidades y trayectorias a través de múltiples fotogramas, potencialmente durante largos periodos. Los algoritmos de seguimiento suelen utilizar el flujo óptico como entrada (junto con modelos de apariencia, filtros de Kalman, etc.) para predecir la ubicación de los objetos en fotogramas posteriores, pero el seguimiento es una tarea de nivel superior que se ocupa de la persistencia de los objetos. Puedes explorar modelos como YOLOv8 para el seguimiento.

Bibliotecas como OpenCV proporcionan implementaciones fácilmente disponibles de varios algoritmos de flujo óptico.

Leer todo