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 que se utiliza para estimar el estado de un sistema dinámico a lo largo del tiempo. Presentada originalmente por Rudolf E. Kálmán, esta técnica es esencial para procesar datos que son inciertos, imprecisos o que contienen variaciones aleatorias, a menudo denominadas "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 que son más precisas que las basadas en una sola medición. En los campos de machine learning (ML) y inteligencia artificial (AI), actúa como una herramienta fundamental para el modelado predictivo, suavizando los puntos de datos irregulares para revelar la tendencia subyacente real.
Link to this sectionCó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 el futuro. Por ejemplo, si un objeto se mueve a una 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 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 un promedio ponderado —determinado por la Ganancia de Kalman— que deposita más confianza en el valor (predicción o medición) que tiene menos incertidumbre. El resultado es una estimación de estado refinada que sirve como base para el siguiente ciclo.
Link to this sectionAplicaciones 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 pipelines modernos de visión por computador (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 vídeo, proporciona una instantánea estática. Para entender el movimiento, los rastreadores como BoT-SORT utilizan Filtros de Kalman para vincular las detecciones entre fotogramas. Si un objeto está temporalmente ocluido (fuera de vista), el filtro utiliza la velocidad anterior del objeto para predecir su ubicación, evitando que el sistema pierda el "seguimiento" o cambie los ID.
- Fusión de sensores en robótica: En robótica, las máquinas deben navegar utilizando múltiples sensores ruidosos. Un robot de reparto podría usar GPS (que puede desviarse), 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 fiable para la navegación, esencial para operaciones seguras de vehículos autónomos.
Link to this sectionDistinguir conceptos relacionados#
Es útil diferenciar el Filtro de Kalman estándar de sus variantes y alternativas que se encuentran en la IA 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 en el mundo real, como un dron tomando una curva, suele ser no lineal. El EKF resuelve esto linealizando la dinámica del sistema en cada paso mediante derivadas, lo que lo hace adecuado para trayectorias complejas.
- Filtro de Kalman vs. Filtro de Partículas: Mientras que los KF dependen de 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 ante ruidos no gaussianos, pero requieren significativamente más potencia de cómputo, lo que potencialmente afecta las velocidades de inferencia en tiempo real.
Link to this sectionEjemplo 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 aprovecharlas activando los modos de seguimiento. La Plataforma Ultralytics te permite gestionar datasets y entrenar modelos que pueden desplegarse fácilmente con estas capacidades de seguimiento.
Aquí tienes un ejemplo conciso usando Python para realizar un seguimiento con YOLO26, donde el rastreador subyacente aplica automáticamente el filtrado de Kalman para suavizar los movimientos de la 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()}")Link to this sectionImportancia 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 sofisticado mecanismo de limpieza de datos dentro del bucle de decisión. Al refinar continuamente las estimaciones, asegura que los agentes de IA operen basándose en la realidad más probable en lugar de reaccionar ante cada fallo momentáneo en el flujo de entrada. Esta fiabilidad es primordial para aplicaciones críticas de seguridad, desde el monitoreo de operaciones aeroportuarias hasta la automatización industrial precisa.






