Filtro Kalman (KF)
Descubra cómo los filtros de Kalman optimizan la estimación de estados en inteligencia artificial, seguimiento, fusión de sensores, robótica, etc., incluso con datos ruidosos.
Un filtro de Kalman (KF) es un potente algoritmo utilizado para estimar el estado de un sistema dinámico a partir de una serie de mediciones incompletas y ruidosas. Desarrollado por Rudolf E. Kálmán, su finalidad original era la navegación en el sector aeroespacial, pero desde entonces ha pasado a ser fundamental en muchos campos, como la robótica, la economía y, sobre todo, la visión por ordenador (VC). El filtro funciona en un ciclo de dos pasos: primero predice el estado futuro del sistema y la incertidumbre de esa predicción, y luego actualiza su estimación incorporando una nueva medición. Este proceso le permite producir una estimación suave y precisa del estado de un objeto, como su posición y velocidad, incluso cuando los datos del sensor son imprecisos.
Funcionamiento de los filtros de Kalman en inteligencia artificial y visión por ordenador
En el contexto de la IA, los filtros de Kalman se utilizan sobre todo para el seguimiento de objetos. Después de que un modelo de detección de objetos como Ultralytics YOLO identifique objetos en un fotograma, se utiliza un filtro de Kalman para predecir su posición en el fotograma siguiente. Esta predicción se basa en un modelo de movimiento, que suele suponer una velocidad constante o una aceleración constante.
Cuando llega el siguiente fotograma, el modelo de detección proporciona nuevas mediciones (es decir, nuevas coordenadas del cuadro delimitador ). El filtro Kalman realiza entonces una "actualización", corrigiendo su predicción inicial a partir de estos nuevos datos. Este proceso es muy eficaz por varias razones:
- Reducción del ruido: Suaviza las detecciones nerviosas, lo que se traduce en trayectorias de seguimiento más estables.
- Gestión de oclusiones: Si un detector deja de ver un objeto durante unos fotogramas (por ejemplo, un coche pasa por detrás de un árbol), el filtro puede seguir prediciendo su posición, lo que permite al rastreador volver a identificar el objeto cuando reaparece.
- Estimación del estado: Proporciona una comprensión más completa del estado de un objeto más allá de su posición actual, incluida su velocidad. Puede obtener más información sobre los conceptos básicos en esta detallada introducción visual a los filtros de Kalman.
La capacidad del filtro para procesar recursivamente las mediciones lo hace eficiente desde el punto de vista computacional e ideal para la inferencia en tiempo real. Muchos algoritmos de seguimiento conocidos, como SORT (Simple Online and Realtime Tracking) y ByteTrack, utilizan un filtro Kalman como componente central de predicción del movimiento. Los modelos de Ultralytics como YOLO11 aprovechan este tipo de rastreadores en su modo de seguimiento.
Aplicaciones reales
Los filtros Kalman forman parte integrante de innumerables sistemas modernos. He aquí algunos ejemplos:
- Vehículos autónomos: En los vehículos autónomos, los filtros de Kalman son esenciales para la fusión de sensores. Los datos de varios sensores, como cámaras, GPS, LiDAR e IMU, tienen ruido y diferentes velocidades de actualización. El filtro combina estos datos para producir una estimación única, muy precisa y fiable de la posición del vehículo, su velocidad y la trayectoria de otros objetos en la carretera. Esto es fundamental para la seguridad de la navegación y la toma de decisiones en nuestras soluciones de IA en automoción.
- Seguimiento de peatones para una vigilancia inteligente: Los sistemas de seguridad suelen utilizar el seguimiento de objetos para vigilar espacios públicos. Después de que un modelo YOLO detecte a los peatones, un rastreador basado en un filtro de Kalman asigna a cada persona un identificador único y los sigue a través de la vista de la cámara. Esto permite aplicaciones como el recuento automático de objetos, la detección de anomalías y la gestión de colas. La capacidad predictiva del filtro garantiza que no se pierda el rastro de una persona aunque quede temporalmente oculta por otras personas u objetos, una característica clave para mejorar la vigilancia inteligente.
Conceptos y distinciones afines
Es importante diferenciar el filtro Kalman de otros términos afines:
- Filtro de Kalman ampliado (EKF): El filtro de Kalman estándar supone que la dinámica del sistema es lineal. Sin embargo, muchos sistemas del mundo real (como un coche que gira) no son lineales. El EKF amplía el filtro de Kalman para que pueda manejar sistemas no lineales linealizando el modelo en cada paso temporal.
- Filtro de Kalman no acentuado (UKF): Para los sistemas muy no lineales en los que la linealización del EKF es insuficiente, el UKF ofrece una alternativa más precisa sin necesidad de calcular jacobianos, como se explica en esta introducción al filtro de Kalman no centrado.
- Filtros de partículas: Son otra alternativa para sistemas no lineales y no gaussianos, y se utilizan a menudo en robótica para localización y cartografía. A diferencia de los filtros de Kalman, representan distribuciones de probabilidad mediante un conjunto de muestras aleatorias (partículas).
En el marco de Ultralytics, puede encontrar el filtro de Kalman implementado como una utilidad para nuestros algoritmos de seguimiento. Bibliotecas como OpenCV también proporcionan su propia implementación del Filtro de Kalman, que es ampliamente utilizado en proyectos de visión por ordenador.