¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glosario

Flujo Óptico

Descubra el poder del Flujo Óptico en la visión artificial. Aprenda cómo estima el movimiento, mejora el análisis de video e impulsa las innovaciones en la IA.

El flujo óptico es un concepto central en la visión artificial (CV) que implica la estimación del movimiento de objetos, superficies y bordes en una escena visual causada por el movimiento relativo entre un observador (como una cámara) y la escena. Calcula un campo de vectores que describe la dirección y la velocidad del movimiento de los píxeles o características entre dos fotogramas de video consecutivos. Esto proporciona una comprensión detallada y de bajo nivel de "cómo" se mueven las cosas, lo cual es fundamental para muchas tareas de análisis de escenas dinámicas.

Cómo funciona el flujo óptico

La suposición central detrás de la mayoría de los algoritmos de flujo óptico es la "constancia del brillo", que presume que la intensidad de un píxel correspondiente a un punto específico en un objeto permanece constante durante intervalos de tiempo cortos. Al encontrar el desplazamiento que preserva este brillo, los algoritmos pueden estimar el movimiento. Existen dos enfoques principales para calcular el flujo óptico:

  • Flujo óptico denso: Este método calcula un vector de movimiento para cada píxel de la imagen. Proporciona un campo de movimiento muy detallado, que es útil para tareas como la segmentación de imágenes y la comprensión de la dinámica compleja de la escena. El método de Horn-Schunck es un ejemplo clásico, mientras que los modelos modernos de aprendizaje profundo como RAFT ofrecen un rendimiento de última generación.
  • Flujo Óptico Disperso (Sparse): En lugar de analizar cada píxel, este método rastrea un conjunto disperso de características "interesantes" (como esquinas o puntos clave) a través de los fotogramas. El método de Lucas-Kanade es un algoritmo disperso bien conocido. Este enfoque es más eficiente computacionalmente y es adecuado para aplicaciones donde solo se necesita el movimiento de puntos específicos, como en el seguimiento de objetos.

Flujo Óptico vs. Seguimiento de Objetos

Aunque relacionados, el flujo óptico y el seguimiento de objetos resuelven diferentes problemas.

  • Flujo óptico describe el movimiento de bajo nivel de los píxeles. Su salida es un conjunto de vectores que representan el movimiento entre dos fotogramas. No comprende inherentemente el concepto de un "objeto" ni mantiene su identidad a lo largo del tiempo.
  • Seguimiento de objetos es una tarea de nivel superior centrada en localizar un objeto específico y seguir su trayectoria a través de múltiples fotogramas, asignándole un ID coherente. Los algoritmos de seguimiento a menudo utilizan técnicas como el flujo óptico como entrada para predecir la posición de un objeto en el siguiente fotograma después de haber sido identificado por un modelo de detección de objetos, como un modelo Ultralytics YOLO. Puede ver esto en acción en el modo de seguimiento de objetos de Ultralytics.

En resumen, el flujo óptico responde a la pregunta "¿Cómo se mueven los píxeles?", mientras que el seguimiento de objetos responde a la pregunta "¿A dónde fue ese coche?".

Aplicaciones en el mundo real

El flujo óptico es crucial para muchas aplicaciones que requieren la comprensión del movimiento a partir de video:

  • Sistemas autónomos: Los vehículos autónomos y los robots utilizan el flujo óptico para la odometría visual (estimación del movimiento propio), la detección de obstáculos y la comprensión del movimiento relativo de los objetos en su entorno. Por ejemplo, ayuda a un coche autónomo a estimar su velocidad con respecto a la carretera o a rastrear los vehículos cercanos. Empresas como Waymo confían en gran medida en la percepción del movimiento. Explore la IA en los coches autónomos para obtener más contexto.
  • Compresión de vídeo: Estándares como MPEG utilizan técnicas de estimación de movimiento similares al flujo óptico para predecir los fotogramas subsiguientes basándose en los anteriores. Al codificar sólo los vectores de movimiento y los errores de predicción (residuales), se consigue una compresión de datos significativa.
  • Reconocimiento de acciones: La comprensión de las acciones humanas en los vídeos, una parte clave de la estimación de la pose, a menudo implica el análisis de patrones de movimiento derivados del flujo óptico. Esto es fundamental para las aplicaciones en el análisis deportivo y la tecnología de fitness inteligente.
  • Estabilización de vídeo: Las técnicas de estabilización de imagen digital pueden utilizar el flujo óptico para estimar la trepidación de la cámara y compensarla, produciendo vídeos más fluidos. Esta tecnología es común en los teléfonos inteligentes y cámaras modernos.
  • Análisis de Imágenes Médicas: Se utiliza para rastrear el movimiento de tejidos, como el movimiento del músculo cardíaco en ecocardiogramas o la deformación de órganos durante los procedimientos. Consulte recursos como la revista Radiology: Artificial Intelligence para obtener información sobre los avances relacionados.
  • Robótica: Permite a los robots navegar, interactuar con objetos y realizar tareas basándose en la retroalimentación visual sobre el movimiento en su entorno. La integración con sistemas como ROS a menudo incorpora el análisis de movimiento.

Herramientas e implementación

Bibliotecas como OpenCV proporcionan implementaciones de algoritmos clásicos de flujo óptico, y su documentación incluye Tutoriales detallados de flujo óptico de OpenCV. Para los enfoques de aprendizaje profundo, se utilizan comúnmente frameworks como PyTorch (visite el sitio oficial de PyTorch) y TensorFlow (visite el sitio oficial de TensorFlow), a menudo aprovechando modelos pre-entrenados disponibles a través de plataformas como Hugging Face. El entrenamiento de estos modelos requiere conjuntos de datos de vídeo a gran escala con información de flujo de ground truth, como los conjuntos de datos FlyingThings3D o Sintel. Plataformas como Ultralytics HUB pueden ayudar a gestionar los conjuntos de datos y los flujos de trabajo de entrenamiento de modelos para tareas relacionadas con la visión artificial.

Únete a la comunidad de Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora
Enlace copiado al portapapeles