Filtro de Kalman (KF)
Descubra cómo los filtros de Kalman optimizan la estimación de estado en IA, seguimiento, fusión de sensores, robótica y más, incluso con datos ruidosos.
Un filtro de Kalman (KF) es un algoritmo matemático recursivo utilizado para estimar el estado de un sistema dinámico a partir de una serie de mediciones incompletas y ruidosas.
dinámico a partir de una serie de mediciones incompletas y ruidosas. Desarrollado originalmente por
Rudolf E. Kálmán en 1960, este algoritmo se ha
convertido en una piedra angular en campos que van desde la navegación aeroespacial al
el aprendizaje automático. En el contexto de la
inteligencia artificial (IA), el filtro
En el contexto de la inteligencia artificial (IA), el filtro de Kalman se valora sobre todo por su capacidad de "suavizar" flujos de datos, prediciendo la ubicación futura de un objeto
de un objeto basándose en sus movimientos pasados, incluso cuando las lecturas de los sensores son erráticas o inexistentes.
Funcionamiento del filtro de Kalman
El filtro de Kalman funciona en un ciclo continuo de dos etapas que afina sus estimaciones a lo largo del tiempo:
-
Predicción (actualización temporal): El filtro estima el estado actual del sistema (por ejemplo, posición y velocidad) basándose en el estado anterior y en un modelo de movimiento físico.
velocidad) basándose en el estado anterior y en un modelo físico de movimiento. También predice la incertidumbre (covarianza) de
esta estimación.
-
Actualización (actualización de medidas): Cuando llega una nueva medición (por ejemplo, datos de un sensor), el filtro
la compara con la predicción. Calcula una media ponderada (dando más peso a la fuente con menos incertidumbre) para producir una estimación corregida del estado.
incertidumbre- para producir una estimación corregida del estado.
Este bucle "predecir-corregir" permite que el filtro Kalman actúe como un estimador óptimo, minimizando el error cuadrático medio de los parámetros que rastrea.
error cuadrático medio de los parámetros que rastrea.
Relevancia en IA y visión por ordenador
En la visión por ordenador (CV) moderna, el filtro de Kalman
es un componente estándar de los
sistemas de seguimiento de objetos. Mientras que
modelos de aprendizaje profundo como
YOLO11 destacan en la
detección de objetos en fotogramas individuales, no
no comprenden de forma inherente la continuidad temporal.
Los filtros Kalman cubren este vacío mediante el "seguimiento por detección". Una vez detectado un objeto, el filtro
crea unatrack y predice dónde estará el
en el siguiente fotograma. Esto ofrece
dos grandes ventajas:
-
Suavizado de trayectorias: Reduce las fluctuaciones en las coordenadas del cuadro delimitador causadas por detecciones incoherentes.
inconsistentes.
-
Tratamiento de la oclusión: Si un objeto queda brevemente bloqueado (ocluido) y no se detecta, el filtro Kalman
sigue prediciendo su posición, lo que permite al sistema volver a asociar el objeto con su ID cuando reaparece.
Rastreadores sofisticados como BoT-SORT y
ByteTrack se basan en filtros Kalman para este
modelado de movimiento.
Aplicaciones en el mundo real
El filtro de Kalman es omnipresente en las tecnologías que requieren una estimación precisa a partir de datos ruidosos.
-
Vehículos autónomos: Los coches autónomos utilizan
fusión de sensores para combinar datos de GPS, LiDAR y
cámaras. Un filtro Kalman fusiona estas entradas para generar una única estimación muy precisa de la posición del vehículo y de la trayectoria de los objetos dinámicos cercanos.
del vehículo y la trayectoria de objetos dinámicos cercanos, garantizando una navegación segura.
navegación segura.
-
Robótica: en robótica, el KF es esencial
para la Localización y Mapeo Simultáneos(SLAM). Los robots lo utilizan para estimar su orientación y ubicación dentro de un mapa al tiempo que corrigen el deslizamiento de las ruedas y la deriva de los sensores.
de los sensores.
-
Analítica deportiva: En
análisis deportivo basado en IA, los filtros de Kalman track el balón y a los jugadores, suavizando las coordenadas 2D/3D para calcular la velocidad, la distancia y las formaciones tácticas.
tácticas.
Aplicación del filtro Kalman
En el ultralytics los filtros Kalman se integran directamente en los módulos de seguimiento. Los usuarios pueden
aprovechar este potente algoritmo automáticamente
modo track.
from ultralytics import YOLO
# Load a YOLO11 model (object detector)
model = YOLO("yolo11n.pt")
# Track objects in a video
# The tracker (e.g., BoT-SORT) uses a Kalman Filter internally to smooth trajectories
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
Conceptos Relacionados
Es importante distinguir el filtro de Kalman estándar de sus variantes:
-
Filtro de Kalman ampliado (EKF):
El KF estándar asume una dinámica de movimiento lineal. El EKF se utiliza para sistemas no lineales (por ejemplo, un robot que se mueve en una curva) linealizando el modelo en torno a la estimación actual.
robot que se mueve en una curva) linealizando el modelo en torno a la estimación actual.
-
Filtro de partículas: A diferencia del KF, que asume distribuciones de ruido gaussiano,
los filtros de partículas utilizan un conjunto de muestras aleatorias para representar la probabilidad.
aleatorias para representar la probabilidad, lo que los hace adecuados para problemas no lineales y no gaussianos, aunque a menudo con un mayor coste computacional.
un mayor coste computacional.
-
Detección de objetos: Detección
identifica lo que hay en una imagen; el seguimiento (mediante KF) identifica a dónde va con el tiempo.