卡尔曼滤波(最易懂解答,从图像角度,欢迎讨论)

近期打算做一个简单的,工业上能用的追踪算法,想起了以前做的卡尔曼滤波多目标跟踪算法。虽然算法摆在那,但是非常费解的是,二郎忘了卡尔曼滤波的理论了,于是网上找资料,感觉整体上乱糟糟的,原因:
1.想讲公式的,没有讲清楚具体的原理,结果导致大家无法理解整体框架。
2.想讲科普的,没有一些应该有的细节,导致大家一看:“嗯,是这么一回事,可是……好像又啥都没学会。”
二郎在这里说下自己的理解方式,不求给大家全弄明白,大家有所领悟就好。

1.卡尔曼滤波用途
X1状态方程+X2’观测方程→预测X2
①状态方程:这里网上的例子多为小车,当前小车的位置和速度 + 速度公式 → 算出下一时刻,小车的位置和速度(高中物理)。
该方程是我们通过理论知识算出的。

②观测方程:我们通过激光测距仪,加速度测量仪,速度计等一些手段,测出的小车的位置和速度。上面也可以看出,这个方程是针对的X2,也就是我们在下一时刻观测的,当前时刻是不能得到这个值的。
该方程是我们通过技术手段获得的具体数据。

这里有个疑问,我都能够得到X2的具体数值了,那我还要卡尔曼在这预测干啥?

观测非常不准!!!!
拿视频跟踪算法为例(可能有不一样的,二郎只是拿一个最简单的方案)
状态方程:通过多帧的对比(光流法类似),找到运动目标的近似速度,然后通过当前帧计算下一帧的位置。
观测方程:通过特征检测之类的方法,从图中找到我们的目标,进而计算速度和位置。

这里有问题:
1.仅用状态方程,可能前几帧人走着,后来跑起来,跟踪的速度还认为是原来的速度,结果,框框跟不上目标,丢了;
2.仅用观测方程,人走着走着转了个身,直接就跟不到了,或者人的姿态有一点变化,也跟不上了。(说的是特征检测算法不是那么理想的情况下)

因此我们必须用卡尔曼滤波,它的主要功能:把我们的状态方程和观测方程结合起来,获得我们的最佳预测值。
下面关键点介绍
1.为啥用协方差矩阵
首先先理解方差,这里是考虑到我们的预测和测量会由于考虑不周,以及实际环境问题,存在各种各样的噪声,导致最终的预测不能精确到一个结果,而是到了一个区域(区域默认符合高斯分布)。
这里的协方差和上面对应,便是我们的位置和速度的误差关系,有时候我们是可以通过我们的位置误差算出我们的速度误差的。
①状态方程X1+状态的协方差H=状态的模糊估计
②观测方程X2’+观测的协方差R=观测的模糊估计
我们现在有了两个估计(满足高斯分布)
2.求k
在这里插入图片描述
H代表状态转移方程,这个和状态方程有关,代表着当前时刻如何转换到下一时刻。
这里拿小车为例

x2 = x1+v1*△t;
v2 = v1;

状态转移方程
在这里插入图片描述
其中
在这里插入图片描述
是状态转移方程。

整体:利用状态的协方差和观测的协方差可以求出k(很多推导公式集中在这里,如果只是拿来用,不是写论文,不建议在这上面花时间)。将获得的k带入方程,能够获得最终的结果。

时间更新:针对的状态方程,获得下一时刻状态。
状态更新:利用下一时刻状态+下一时刻观测→获得下一时刻预测。

这是全部的流程了,具体细节可以看
(要按顺序看,不然看不懂)

https://www.bilibili.com/video/BV1vs411z7PX?from=search&seid=16432778049045436727

https://blog.csdn.net/u010720661/article/details/63253509

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值