Kalman Filter (KF)
Explora cómo el filtro de Kalman estima los estados de un sistema en condiciones de incertidumbre. Aprende a utilizarlo para el seguimiento de objetos con Ultralytics YOLO26 y mejorar la precisión de la IA.
Un filtro de Kalman (KF) es un algoritmo matemático recursivo que se utiliza para estimar el estado de un sistema dinámico a lo largo del tiempo. Introducida originalmente por Rudolf E. Kálmán, esta técnica es esencial para procesar datos inciertos, imprecisos o que contienen variaciones aleatorias, lo que suele denominarse «ruido». Al combinar una serie de mediciones observadas a lo largo del tiempo que contienen imprecisiones estadísticas, el filtro de Kalman genera estimaciones de variables desconocidas más precisas que las basadas únicamente en una sola medición. En los campos del aprendizaje automático (ML) y la inteligencia artificial (AI), actúa como una herramienta fundamental para el modelado predictivo, ya que suaviza los puntos de datos irregulares para revelar la tendencia subyacente real.
Cómo funciona el filtro de Kalman#
El algoritmo funciona en un ciclo de dos pasos: predicción y actualización (también conocida como corrección). Asume que el sistema subyacente es lineal y que el ruido sigue una distribución gaussiana (curva de campana).
-
Predicción: el filtro utiliza un modelo físico para proyectar el estado actual hacia delante en el tiempo. Por ejemplo, si un objeto se mueve a velocidad constante, el filtro predice su siguiente posición basándose en las ecuaciones cinemáticas estándar. Este paso también estima la incertidumbre asociada a dicha predicción.
-
Actualización: cuando llega una nueva medición de un sensor, el filtro compara el estado predicho con los datos observados. Calcula una media ponderada —determinada por la ganancia de Kalman— que confía más en el valor (la predicción o la medición) que presenta menos incertidumbre. El resultado es una estimación de estado refinada que sirve como base para el siguiente ciclo.
Aplicaciones en visión artificial e IA#
Aunque originalmente se desarrolló en los ámbitos de la teoría de control y la navegación aeroespacial, el filtro de Kalman está actualmente presente en prácticamente todas las canalizaciones modernas de visión por computador (CV).
- Seguimiento de objetos: este es el caso de uso más habitual. Cuando un modelo de detección como YOLO26 identifica un objeto en un fotograma de vídeo, proporciona una instantánea estática. Para comprender el movimiento, los rastreadores como BoT-SORT utilizan filtros de Kalman para vincular las detecciones entre fotogramas. Si un objeto queda ocluido temporalmente (bloqueado de la vista), el filtro utiliza la velocidad anterior del objeto para predecir su ubicación, evitando que el sistema pierda el «seguimiento» o cambie los identificadores.
- Fusión de sensores en robótica: en robótica, las máquinas deben desplazarse utilizando varios sensores ruidosos. Un robot de reparto podría utilizar GPS (que puede desviarse), encoders de rueda (que pueden patinar) y IMUs (que son ruidosas). El filtro de Kalman fusiona estas entradas heterogéneas para proporcionar una única coordenada fiable para la navegación, algo esencial para el funcionamiento seguro de los vehículos autónomos.
Diferenciación de conceptos relacionados#
Es útil distinguir entre el filtro de Kalman estándar y sus variantes y alternativas presentes en la IA estadística:
- Filtro de Kalman frente a filtro de Kalman extendido (EKF): el KF estándar asume que el sistema sigue ecuaciones lineales (líneas rectas). Sin embargo, el movimiento en el mundo real —como el de un dron al inclinarse para tomar una curva— suele ser no lineal. El EKF resuelve este problema linealizando la dinámica del sistema en cada paso mediante derivadas, lo que lo hace adecuado para trayectorias complejas.
- Filtro de Kalman frente a filtro de partículas: mientras que los KF se basan en supuestos gaussianos, los filtros de partículas utilizan un conjunto de muestras aleatorias (partículas) para representar distribuciones de probabilidad. Los filtros de partículas son más flexibles frente al ruido no gaussiano, pero requieren mucha más potencia computacional, lo que puede afectar a las velocidades de inferencia en tiempo real.
Ejemplo de implementación#
En el ecosistema de Ultralytics, los filtros de Kalman están integrados directamente en los algoritmos de seguimiento. No necesitas escribir las ecuaciones manualmente; puedes aprovecharlos activando los modos de seguimiento. La Ultralytics Platform te permite gestionar conjuntos de datos y entrenar modelos que pueden desplegarse fácilmente con estas capacidades de seguimiento.
Aquí tienes un ejemplo conciso con Python para realizar el seguimiento mediante Ultralytics YOLO26, en el que el rastreador subyacente aplica automáticamente el filtrado de Kalman para suavizar los movimientos de la caja delimitadora:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")
# Process results
for result in results:
# Access the tracked IDs (assigned and maintained via KF logic)
if result.boxes.id is not None:
print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")Importancia para la calidad de los datos#
En los despliegues en el mundo real, los datos rara vez son perfectos. Las cámaras sufren desenfoque de movimiento y los sensores experimentan ruido en la señal. El filtro de Kalman actúa como un sofisticado mecanismo de limpieza de datos dentro del bucle de decisión. Al refinar continuamente las estimaciones, garantiza que los agentes de IA operen basándose en la realidad más probable, en lugar de reaccionar ante cada fallo momentáneo del flujo de entrada. Esta fiabilidad es fundamental para las aplicaciones críticas para la seguridad, desde la supervisión de las operaciones aeroportuarias hasta la automatización industrial de precisión.









