Kalman Filter (KF)
Explora cómo el filtro de Kalman estima los estados del sistema bajo incertidumbre. Aprende a usarlo para el seguimiento de objetos con Ultralytics YOLO26 para mejorar la precisión de la IA.
Un Filtro de Kalman (KF) es un algoritmo matemático recursivo utilizado 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, inexactos o que contienen variaciones aleatorias, a menudo denominados "ruido". Al combinar una serie de mediciones observadas a lo largo del tiempo que contienen imprecisiones estadísticas, el Filtro de Kalman produce estimaciones de variables desconocidas que son más precisas que aquellas basadas en una sola medición por sí sola. En los campos del aprendizaje automático (ML) y la inteligencia artificial (AI), actúa como una herramienta fundamental para el modelado predictivo, suavizando los puntos de datos irregulares para revelar la verdadera tendencia subyacente.
Cómo funciona el Filtro de Kalman#
El algoritmo opera 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 adelante en el tiempo. Por ejemplo, si un objeto se mueve a velocidad constante, el filtro predice su siguiente posición basándose en ecuaciones cinemáticas estándar. Este paso también estima la incertidumbre asociada con esa predicción.
-
Actualización: Cuando llega una nueva medición de un sensor, el filtro compara el estado predicho con los datos observados. Calcula un promedio ponderado —determinado por la Ganancia de Kalman— que confía más en el valor (predicción o medición) que tiene menor incertidumbre. El resultado es una estimación de estado refinada que sirve como línea base para el siguiente ciclo.
Aplicaciones en visión artificial e IA#
Aunque originalmente tiene sus raíces en la teoría de control y la navegación aeroespacial, el Filtro de Kalman es ahora omnipresente en los flujos de trabajo modernos de visión por computadora (CV).
- Seguimiento de objetos: Este es el caso de uso más común. Cuando un modelo de detección como YOLO26 identifica un objeto en un fotograma de video, proporciona una instantánea estática. Para entender el movimiento, los rastreadores como BoT-SORT utilizan Filtros de Kalman para vincular detecciones entre fotogramas. Si un objeto está 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 de ID.
- Fusión de sensores en robótica: En robótica, las máquinas deben navegar utilizando múltiples sensores ruidosos. Un robot de entrega puede usar GPS (que puede derivar), codificadores de ruedas (que pueden patinar) y IMUs (que son ruidosas). El Filtro de Kalman fusiona estas entradas dispares para proporcionar una coordenada única y confiable para la navegación, algo esencial para las operaciones seguras de vehículos autónomos.
Distinguir conceptos relacionados#
Es útil diferenciar el Filtro de Kalman estándar de sus variaciones y alternativas que se encuentran en la AI estadística:
- Filtro de Kalman vs. Filtro de Kalman Extendido (EKF): El KF estándar asume que el sistema sigue ecuaciones lineales (líneas rectas). Sin embargo, el movimiento del mundo real —como un dron inclinándose en un giro— a menudo no es lineal. El EKF resuelve esto linearizando la dinámica del sistema en cada paso utilizando derivadas, lo que lo hace adecuado para trayectorias complejas.
- Filtro de Kalman vs. Filtro de Partículas: Mientras que los KF dependen de suposiciones gaussianas, 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 para el ruido no gaussiano, pero requieren mucha más potencia de cálculo, lo que puede afectar las velocidades de inferencia en tiempo real.
Ejemplo de implementación#
En el ecosistema Ultralytics, los Filtros de Kalman están integrados directamente en los algoritmos de seguimiento. No necesitas escribir las ecuaciones manualmente; puedes aprovecharlos habilitando los modos de seguimiento. La Plataforma Ultralytics te permite gestionar conjuntos de datos y entrenar modelos que se pueden desplegar fácilmente con estas capacidades de seguimiento.
Aquí tienes un ejemplo conciso usando Python para realizar seguimiento con Ultralytics YOLO26, donde el rastreador subyacente aplica automáticamente filtrado de Kalman para suavizar los movimientos del bounding box:
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 el despliegue en el mundo real, los datos rara vez son perfectos. Las cámaras sufren de desenfoque por movimiento y los sensores experimentan ruido en la señal. El Filtro de Kalman actúa como un mecanismo sofisticado 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 a cada fallo momentáneo en el flujo de entrada. Esta confiabilidad es primordial para aplicaciones críticas para la seguridad, desde la supervisión de operaciones aeroportuarias hasta la automatización industrial precisa.






