Learn how the Extended Kalman Filter (EKF) handles non-linear systems for accurate object tracking and sensor fusion. Enhance your [YOLO26](https://docs.ultralytics.com/models/yolo26/) projects on the [Ultralytics Platform](https://platform.ultralytics.com).
扩展卡尔曼滤波器(EKF)是一种鲁棒数学算法,旨在估计非线性动态系统的状态。标准卡尔曼滤波器(KF)虽能为直线运动或遵循简单线性方程的系统提供最优解,但现实物理系统鲜少如此可预测。 多数物理对象——例如对抗风阻的无人机或多轴旋转的机械臂——都遵循曲线或复杂路径。EKF通过在特定时间点对系统进行线性近似处理,使工程师和数据科学家能够在基础力学机制复杂的情况下,仍能运用高效滤波技术完成预测建模任务。
为处理复杂动力学,扩展卡尔弗里斯特滤波器采用一种称为线性化的数学过程,其本质是估算函数在当前工作点的斜率。这通常涉及计算雅可比矩阵,以近似描述系统在短时间间隔内的变化。该算法通过递归循环运行,包含两个主要阶段:预测与更新。在预测阶段,滤波器利用运动物理模型将当前状态向前推演。 在更新阶段,滤波器通过陀螺仪或加速度计等传感器提供的新数据(通常存在噪声)修正该投影。这种预测与修正的持续循环有助于降低数据噪声,相较于单一传感器独立工作,能提供更平滑、更精确的真实状态估计。
在计算机视觉(CV)领域, 扩展卡尔曼滤波器(EKF)在保持移动物体身份识别方面发挥着关键作用。诸如YOLO26等先进模型虽擅长单帧物体检测, 却无法天然理解时间维度的运动连续性。通过集成EKF或类似逻辑, 物体追踪系统可基于物体先前速度与轨迹, 预测其边界框在下一视频帧的出现位置。 该技术在处理遮挡场景时尤为有效——当目标物体暂时被遮挡时,滤波器通过持续估算目标位置维持"track",直至目标重新显现。这种技术对实现稳健的多目标跟踪(MOT)至关重要。
EKF的多功能性使其成为多种高科技产业中的基石技术,这些产业中机器学习(ML)与物理硬件相互交融:
区分扩展卡尔曼滤波器与相关滤波方法有助于理解其特定用途:
在 ultralytics 在目标跟踪算法中,内部采用卡尔曼滤波原理来平滑轨迹并关联不同帧间的检测结果。虽然使用高级工具时无需手动编写扩展卡尔曼滤波矩阵的数学公式,但理解其作为追踪器核心机制的原理,有助于为
Ultralytics 平台.
以下是使用YOLO 初始化追踪器的方法,该模型采用以下过滤技术进行状态估计:
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()}")