Explora el filtro de Kalman extendido (EKF) para la estimación de estados no lineales. Descubre cómo mejora el seguimiento de objetos en Ultralytics y los sistemas autónomos.
El filtro de Kalman extendido (EKF) es un algoritmo matemático robusto diseñado para estimar el estado de un sistema dinámico que se comporta de forma no lineal. Mientras que el filtro de Kalman estándar (KF) proporciona una solución óptima para sistemas que se mueven en línea recta o siguen ecuaciones lineales simples, la física del mundo real rara vez es tan previsible. La mayoría de los objetos físicos, como un dron que lucha contra la resistencia del viento o un brazo robótico que gira sobre múltiples ejes, siguen trayectorias curvas o complejas. El EKF aborda esta complejidad creando una aproximación lineal del sistema en un momento específico, lo que permite a los ingenieros y científicos de datos aplicar técnicas de filtrado eficientes a tareas de modelado predictivo, incluso cuando la mecánica subyacente es complicada.
Para manejar dinámicas complejas, el EKF emplea un proceso matemático llamado linealización, que básicamente estima la pendiente de una función en el punto de operación actual. Esto a menudo implica calcular una matriz jacobiana para aproximar cómo cambia el sistema en intervalos cortos. El algoritmo opera en un bucle recursivo que consta de dos fases principales: predicción y actualización. En la fase de predicción, el filtro proyecta el estado actual hacia adelante utilizando un modelo físico de movimiento. En la fase de actualización, corrige esta proyección utilizando datos nuevos, a menudo ruidosos, procedentes de sensores como giroscopios o acelerómetros. Este ciclo continuo de predicción y corrección ayuda a reducir el ruido de los datos y proporciona una estimación más suave y precisa del estado real que la que podría proporcionar un solo sensor por sí solo.
En el ámbito de la visión artificial (CV), el filtro de Kalman extendido desempeña un papel fundamental en el mantenimiento de la identidad de los elementos en movimiento. Los modelos avanzados como YOLO26 son excepcionales para detectar objetos en fotogramas individuales , pero no comprenden de forma inherente la continuidad del movimiento a lo largo del tiempo. Al integrar un EKF o una lógica similar, un sistema de seguimiento de objetos puede predecir dónde debería aparecer un cuadro delimitador en el siguiente fotograma de vídeo basándose en su velocidad y trayectoria anteriores. Esto resulta especialmente útil para gestionar oclusiones, en las que un objeto queda temporalmente bloqueado de la vista; el filtro mantiene eltrack estimando la posición del objeto hasta que vuelve a ser visible, una técnica esencial para un seguimiento multiobjeto (MOT) robusto.
La versatilidad del EKF lo convierte en una tecnología fundamental en diversas industrias de alta tecnología donde el aprendizaje automático (ML) se cruza con el hardware físico:
Es útil distinguir el filtro de Kalman extendido de otros métodos de filtrado relacionados para comprender su utilidad específica :
In the ultralytics paquete, los algoritmos de seguimiento utilizan conceptos de filtrado de Kalman internamente para suavizar
las trayectorias y asociar las detecciones entre fotogramas. Aunque no se codifica manualmente la matemática de la matriz EKF cuando se utilizan
herramientas de alto nivel, comprender que es lo que impulsa el rastreador ayuda a configurar los parámetros para el
Plataforma Ultralytics.
A continuación se explica cómo iniciar un rastreador con un YOLO , que utiliza estas técnicas de filtrado para la estimación de estado:
from ultralytics import YOLO
# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
# Print the ID of the tracked objects
for r in results:
if r.boxes.id is not None:
print(f"Track IDs: {r.boxes.id.numpy()}")