Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Scene Flow

El flujo de escena es el campo de movimiento 3D de una escena: un vector de desplazamiento para cada punto visible entre fotogramas, estimado a partir de datos estéreo, RGB-D o LiDAR.

El flujo de escena es el campo de movimiento tridimensional de una escena: para cada punto visible de una superficie, un vector 3D que indica dónde está el punto en un fotograma y dónde está en el siguiente. Sundar Vedula, Simon Baker y sus colegas de la Universidad Carnegie Mellon introdujeron el término en su artículo de 1999 Three-Dimensional Scene Flow, donde lo definieron como la contrapartida 3D del flujo óptico. El flujo de escena combina geometría y movimiento, por lo que indica a un sistema de visión artificial dónde está cada punto y a qué velocidad se mueve, en metros, incluso si se acerca a la cámara o se aleja de ella. Por eso es una señal fundamental para los vehículos autónomos y la robótica, donde hay que reconocer por su movimiento un coche que se incorpora a la vía o una persona que entra en la trayectoria.

Flujo de escena frente a flujo óptico#

El flujo óptico es la proyección del flujo de escena en el plano de la imagen: registra cuánto se desplaza cada píxel hacia los lados y hacia arriba o abajo, pero no dice nada sobre el movimiento a lo largo de la línea de visión de la cámara. Por tanto, dos objetos con un flujo óptico idéntico pueden moverse de formas muy distintas. El flujo de escena recupera el componente que falta mediante la estimación de profundidad en ambos instantes y proyecta cada píxel hacia atrás a lo largo de su rayo visual hasta la profundidad medida:

import numpy as np

K_inv = np.linalg.inv(np.array([[500.0, 0, 320], [0, 500.0, 240], [0, 0, 1]]))  # inverse camera intrinsics

# Two objects with identical optical flow: each moves from pixel (400, 240) to (410, 240) in 0.1 s
for name, depth_before, depth_after in [("cyclist crossing", 8.0, 8.0), ("car approaching", 8.0, 6.0)]:
    # Back-project each pixel along its viewing ray to the measured depth
    before = depth_before * K_inv @ np.array([400, 240, 1.0])
    after = depth_after * K_inv @ np.array([410, 240, 1.0])

    # Scene flow is the 3D displacement of the same surface point
    flow = after - before
    print(f"{name}: scene flow {flow.round(2)} m, speed {np.linalg.norm(flow) / 0.1:.1f} m/s")

Ambos objetos se desplazan 10 píxeles hacia la derecha, pero el ciclista se mueve 0,16 m lateralmente a 1,6 m/s, mientras que el coche recorre 2 m en una décima de segundo a 20,1 m/s. A 6 m de distancia y acercándose a 20 m/s, el coche llega a la cámara en 0,3 segundos.

El flujo de escena también se diferencia del seguimiento de objetos, que sigue la identidad de los objetos mediante cajas delimitadoras, y del seguimiento de puntos, que sigue puntos 2D seleccionados a lo largo de muchos fotogramas. La estimación de velocidad de Ultralytics YOLO funciona en el nivel de seguimiento 2D: sigue cada caja y convierte su desplazamiento en píxeles a km/h usando una única escala de metros por píxel para toda la vista, lo que funciona cuando la cámara apunta hacia abajo a una carretera y el tráfico se mueve en paralelo a la imagen.

Cómo se estima el flujo de escena#

El método depende de los datos de entrada. Una cámara estéreo proporciona la disparidad en dos instantes y el flujo óptico entre fotogramas: es la configuración del benchmark de flujo de escena KITTI, que Moritz Menze y Andreas Geiger publicaron en 2015 con 200 escenas de carretera para entrenamiento y 200 para prueba. Las cámaras RGB-D y LiDAR proporcionan dos nubes de puntos, a menudo combinadas con imágenes de cámara mediante fusión de sensores, y redes como FlowNet3D aprenden a asociar directamente los puntos entre ellas. Una única cámara depende de la profundidad monocular aprendida y del flujo óptico para cada par de fotogramas.

Cuando la cámara se mueve, todos los puntos estáticos parecen moverse también, así que un sistema completo estima el movimiento propio, normalmente mediante SLAM visual u odometría, y considera que los puntos cuyo flujo no coincide se mueven de forma independiente. Las escenas de conducción se componen sobre todo de cuerpos rígidos, por lo que métodos como el flujo de escena de objetos de Menze y Geiger y RAFT-3D agrupan los píxeles en unos pocos objetos que se mueven rígidamente, lo que estabiliza las estimaciones en carrocerías sin textura. Las oclusiones son el caso más difícil, ya que no hay ninguna correspondencia que medir para los puntos que aparecen o desaparecen entre fotogramas.

Los modelos de aprendizaje profundo necesitan datos de referencia densos que los sensores reales no pueden capturar, por lo que el entrenamiento depende en gran medida de los datos sintéticos. Los conjuntos de datos de flujo de escena de Friburgo, incluido FlyingThings3D, generan decenas de miles de fotogramas estéreo con valores exactos de disparidad, flujo óptico y cambio de disparidad. FlowNet3D, entrenado únicamente con FlyingThings3D, se transfirió a escaneos LiDAR reales de KITTI.

Aplicaciones en el mundo real#

  • Robots móviles: Los robots que comparten almacenes y aceras con personas usan el movimiento 3D de los obstáculos cercanos para predecir dónde estarán dentro de un segundo y recalcular la ruta para esquivarlos.
  • Reconstrucción de escenas dinámicas: El splatting gaussiano 4D y los campos de radiancia neuronales dinámicos modelan una escena en movimiento aprendiendo cómo se desplaza cada punto o gaussiana con el tiempo. Este flujo de escena aprendido permite reproducir un vídeo grabado desde nuevos puntos de vista.
  • Conducción autónoma: El flujo de escena LiDAR distingue los vehículos y peatones en movimiento del entorno estático entre barridos consecutivos. Waymo Open Dataset añadió etiquetas de flujo de escena en 2021, con aproximadamente 1.000 veces más fotogramas anotados que los conjuntos de datos reales de flujo de escena anteriores.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático