术语表

卡尔曼滤波器 (KF)

了解卡尔曼滤波器如何优化人工智能、跟踪、传感器融合、机器人技术等领域的状态估计,即使是在数据嘈杂的情况下。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

卡尔曼滤波器(KF)是机器学习(ML)和各种工程领域广泛使用的一种功能强大的算法,用于从一系列随时间变化的噪声和不完整测量结果中估计动态系统的状态。试想一下,使用略微不准确的 GPS 读数来精确定位无人机的位置和速度;卡尔曼滤波器提供了一种统计上的最优方法,将预测运动与噪声测量相结合,以获得最佳估计值。卡尔曼滤波器因其在实时推理应用中的效率和有效性而备受推崇,成为机器人计算机视觉(CV)和导航系统等领域的基础技术。

卡尔曼滤波器的工作原理

卡尔曼滤波器的核心是对噪声输入数据流进行递归运算,从而对基本系统状态做出统计上的最优估计。它的工作循环分为两步:

  1. 预测:根据先前的状态估计和系统随时间变化的模型(流程模型),滤波器预测系统的下一个状态。这种预测本身包含一定的不确定性。
  2. 更新:滤波器纳入与当前状态相关的新测量值(也有噪声和不确定性)。它将测量值与预测状态进行比较,并更新估计值,根据预测值或测量值各自的不确定性赋予它们更大的权重。结果,改进后的状态估计值在统计上要比单独的预测值或测量值更好(更接近真实状态)。

每次新的测量都会重复这种预测-更新循环,不断改进状态估计值。对于具有高斯噪声的线性系统来说,滤波器被认为是 "最佳 "的,因为它能使状态估计的均方误差最小化。这使它成为状态估计信号处理的基本工具。如需更直观的解释,请参阅《卡尔曼滤波器的工作原理》(How a Kalman Filter Works, in Pictures)。卡尔曼滤波器的基本数学框架依赖于贝叶斯推理

主要特点

  • 递归:在测量数据到达时逐一处理,无需存储整个历史数据。
  • 线性系统的最佳选择:如果系统动态和测量过程都是线性的,且噪声服从高斯分布,则可提供最佳估计值(最小均方误差)。
  • 状态估计:估算无法直接测量的系统内部状态(如位置、速度)。
  • 处理噪声:明确模拟系统动态和测量中的不确定性。
  • 计算效率高:相对轻量级,适合嵌入式系统上的实时应用,如边缘人工智能中的应用。

实际应用

卡尔曼滤波器在众多人工智能和 ML 应用中不可或缺:

  • 物体跟踪在计算机视觉中,KF 通常用于预测检测到的物体(如行人或车辆)在后续视频帧中的位置,即使在短暂遮挡或检测失败的情况下也能帮助保持一致的身份。简单在线实时跟踪 (SORT)等跟踪器在很大程度上依赖 KF 进行运动预测。 Ultralytics YOLO模型利用此类跟踪算法;您可以在跟踪模式文档中了解更多信息。例如,安防系统可能会使用 KF 来平滑跟踪在摄像头视野内行走的人,在物体检测模型(如 YOLO11.
  • 机器人与导航:KF 对于结合来自多个传感器的数据(传感器融合)来估计机器人的位置和方向(姿态)至关重要。例如,自动驾驶汽车可以使用 KF 将嘈杂的 GPS 读数与来自惯性测量单元 (IMU) 和车轮里程计的数据融合在一起,从而获得对其位置和速度的可靠估计,这对安全导航至关重要(汽车解决方案中的人工智能)。
  • 航空航天和制导:KF 曾在著名的阿波罗计划中被用于航天器导航,并在现代航空航天制导和卫星定位系统中继续发挥重要作用。
  • 时间序列分析在计量经济学和金融学中,通过过滤噪声和估计潜在趋势,对时间序列数据进行建模和预测。您可以探索金融时间序列模型,了解更多相关信息。
  • 信号处理:应用于各种信号处理任务,如音频增强和生物医学信号分析。

卡尔曼滤波器与扩展卡尔曼滤波器

标准卡尔曼滤波器假定系统动态和测量模型是线性的。然而,现实世界中的许多系统都表现出非线性行为(如机器人手臂运动、复杂的车辆动力学)。在这种情况下,需要使用扩展卡尔曼滤波器(EKF)等变体。

其主要区别在于,EKF 通过近似非线性系统来处理非线性系统。它利用泰勒级数展开等技术,在每个时间步围绕当前状态估计值对非线性函数进行线性化处理。虽然功能强大,但这种线性化会带来近似误差,这意味着 EKF 在处理纯线性问题时可能不如标准 KF 那样优化或稳定。如果已知系统是线性的,由于其最优性和计算简便性,KF 通常是首选。其他变体,如无符号卡尔曼滤波器(UKF),提供了处理非线性问题的不同方法,对于高度非线性系统,通常比 EKF 提供更好的精度,但通常需要更多的计算。您可以使用Ultralytics HUB 等平台来训练和实验包含这些滤波器的模型。

阅读全部