卡尔曼滤波器简单理解
通过简单的例子通俗易懂的介绍卡尔曼滤波器的基本思想,再通过简单的例子对卡尔曼滤波器所涉及的公式进行介绍。
滤波是什么
所谓滤波,就是在混合的诸多信号中提取出来自己所需要的信号。
卡尔曼滤波器是什么
卡尔曼滤波器(Kalman Filter)在形式上是5个公式,它是一个最优化自回归数据处理算法。
卡尔曼滤波器在过去30年已经广泛应用于卫星定轨、机器人导航、传感器数据融合等方面。近些年来,随着人工智能深度学习的火热,卡尔曼滤波器在计算机视觉和计算机图像方面也有其用武之地。
简单的说,卡尔曼滤波器就是在当前状态下预测下一个状态。你可以在任何具有不确定性的动态信息下使用卡尔曼滤波而对下一个状态进行预测。
即使是在不同的干扰下,卡尔曼滤波器依旧能正确的指出事物发展的真实状态。
一个例子
假设我们要研究一个房间内的温度,以一分钟为时间单位。根据我们的经验判断,该房间内的温度是恒定的,但是我们对我们的经验并不是完全相信,可能存在上下几度的偏差,我们把该偏差看作是高斯白噪声。另外我们在放假年内还放有温度计,温度计的读数也不准确,我们把测量值与真实值之间的偏差也看作是高斯白噪声。现在我们要根据我们的经验值和温度计以及他们各自的噪声去估算房间的真实温度。
假设我们要估算K时刻的实际温度。首先我们要根据K-1时刻的温度值来预测K时刻的经验温度。因为我们相信温度是恒定的,所以我们预测的K时刻的温度与K-1时刻的温度相同,假设为23度,同时该值的高斯白噪声为5度(如果我们估算出的K-1时刻的最优温度值的偏差是3,我们对自己预测的不确定度是4,他们平方和再开方就是5),然后我么你从温度计那里得到的K时刻的温度值为25度,同时该值的偏差是4度。
现在,我们预测K时刻的房间的实际温度就有两个温度值:估计值23度和测量值25度。那么实际温度究竟是多少呢,是相信自己的预测多一些还是相信温度计多一些?我们需要他们的均方误差来判断。因为 H 2 = 5 2 4 2 + 5 2 = 0.7 8 2 H^2=\frac{5^2}{4^2+5^2}=0.78^2 H2=42+5252=0.782,所以H=0.78。因此我们可以估算出K时刻的最优温度值为:23+0.78 * (25-23)=24.56(度)。
得到了K时刻的最优温度,接下来就是对K+1时刻的温度进行最优估算,需要得到K时刻最优温度的偏差。 ( 1 − H ) ∗ 5 2 = 2.35 \sqrt{(1-H)*5^2}=2.35 (1−H)∗52=2.35。
就这样,卡尔曼滤波器就不断的将均方根误差进行迭代,运行速度快,且只用保留上一时刻的协方差。
卡尔曼滤波器的详细解释
见下方链接。