问题标签 [kalman-filter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
574 浏览

covariance - 卡尔曼滤波;计算两个不同时间状态向量之间的互协方差

我对计算两个不同时间状态向量之间的交叉协方差感兴趣;Cov{x k ,x k-m }。例如考虑 x k & P k,在 k 时间步的状态向量和协方差矩阵,以及 x k-m & P k-m在 km 时间步的状态向量,我想表达 Cov{x k ,x k-m } wrt P ķ。我很感激任何帮助。

0 投票
1 回答
407 浏览

labview - LabView:EKF 的动态工厂模型

我需要一些有关将设备模型连接到 LabVIEW 中的 EKF 块的帮助。我已经检查了示例 VI,但问题是在我的应用程序中,用于表示 EKF 模型的矩阵 A、B 和 C 是时间相关的,并且随着模拟的进行而变化。然而,在提供的样本中,植物模型被视为不随时间变化的静态参考 VI。请告诉我如何解决这个问题。

提前致谢。

0 投票
2 回答
17487 浏览

kalman-filter - 如何使用卡尔曼滤波器组合三个传感器值加速度计、陀螺仪和磁力计?

如何使用卡尔曼滤波器组合三个传感器值加速度计、陀螺仪和磁力计?我们正在使用 arm 和 avr uC。

我已经阅读了有关堆栈溢出的所有问题,并在网上进行了很多搜索,但对于有关使用卡尔曼滤波器组合值的基本信息,我没有得到满意的结果。

扩展卡尔曼滤波器磁力计偏航漂移

结合陀螺仪和加速度计数据

0 投票
0 回答
5720 浏览

python - OpenCV + Python中的卡尔曼滤波器

我编写了这段代码来使用卡尔曼滤波器来预测二维轨迹,我正在尝试在 python 中使用 Opencv 卡尔曼滤波器,这是我的代码:

这里是我的代码的结果,白点是我的点,绿点是卡尔曼预测,红圈是我的点的最后一个点。如您所见,该代码预测点(绿点)但它们远离我的点(红点)。我更改了参数没有成功,你知道吗?

0 投票
1 回答
4341 浏览

python - 使用 Python、OpenCV 和卡尔曼滤波的 2D 运动估计

我有一组图像,并且想递归地预测一堆像素在下一张图像中的位置。我正在使用 Python、OpenCV,并相信卡尔曼滤波可能是前进的方向,但在实现上却在苦苦挣扎。为简单起见,下面的代码打开并仅提取一个颜色通道,在本例中为红色通道。

到目前为止,我正在使用光流来确定每个像素的 X 和 Y 图像之间的运动。每次迭代后,我想使用最后 N 次迭代,并通过使用每次找到的 X/Y 运动,计算像素的速度,并预测它将在下一帧中结束的位置。我将查看和预测的像素组未指定,但与示例无关。它只是一个 (x,y) 值的 Numpy 数组。

任何帮助将不胜感激。下面的简化代码片段:

0 投票
1 回答
4186 浏览

opencv - 使用卡尔曼滤波器和 OpenCV 和处理进行人脸跟踪

我正在尝试为我正在尝试制作的简单游戏执行面部跟踪。我正在使用处理。

我使用 OpenCV 使用 Haar Cascades 进行简单的人脸检测。但是,随着时间的推移,它在平滑跟踪面部方面存在问题。此外,它不会检测到倾斜的脸。

通过一些谷歌搜索,我发现我必须实施卡尔曼滤波器来平滑面部跟踪。但是,这是我第一次听说卡尔曼滤波器,我很难实现它。

我在处理中将这个库用于 OpenCV:https ://github.com/atduskgreg/opencv-processing

如果有人能告诉我如何使用 Processing 或 Java 实现卡尔曼滤波器(因为这个库基于 Java API),那将非常有帮助。

这是我用于人脸检测的代码。这是图书馆的示例草图之一:

0 投票
2 回答
962 浏览

matlab - 使用“不确定性带”显示数据与时间的轨迹

为向 SO 提出非编程问题提前道歉,但权力已确定所有与 MATLAB 相关的问题都属于这里

我一直在做一些卡尔曼滤波器并绘制状态变量估计值,以查看它们如何随时间收敛。现在,我想直观地表示协方差矩阵,它表示估计中的不确定性。所以我写了一个小函数,在估计值周围涂上颜色。

(编辑说明:以前的版本错误地使用2*cov了每个半带的宽度,当它需要 2 个标准偏差时)

它看起来很合理:

一锥不确定性

但是我有两个具有相似含义的状态变量,我想在一个轴上同时绘制它们。

两个不确定的锥体

呃,哦,k_1 的初始数据被 k_2 波段的(上半部分)遮蔽了。MATLAB 没有按照我提交的顺序绘制线条和补丁。即使我设法控制了他们绘制的顺序,alpha 混合仍然不如基于概率混合颜色的最佳选择。

任何想法如何同时渲染两者?我可以以某种方式利用我为两个变量使用两个不同的颜色平面这一事实吗?

0 投票
1 回答
4845 浏览

c++ - 使用 Opencv C++ 中给定对象的 X,Y 进行卡尔曼滤波器跟踪

我是卡尔曼跟踪的新手,所以我不知道如何开始。我有检测人脸的程序,在检测到人脸后,我想将人脸的中心 xy 发送到卡尔曼滤波器以绘制一条显示运动方向的线。我该如何开始?提前致谢。

0 投票
3 回答
674 浏览

c - 提高 Matlab 中卡尔曼滤波器的计算速度

我在 Matlab 中计算一个统计模型,每次迭代必须运行大约 200 个卡尔曼滤波器,并且我想迭代模型至少 10 000 次,这表明我应该运行它至少 2 000 000 次。因此,我正在寻找一种方法来优化 Matlab 在这部分的计算速度。我已经对每个操作进行了操作,以尝试使用所有可以使用的技巧来优化 Matlab 中的计算,但我想更进一步......

我不熟悉 C/C++,但我读到 mex 文件在某些​​情况下可能很有用。任何人都可以告诉我是否值得朝这个方向发展???谢谢...

0 投票
1 回答
5242 浏览

c++ - KalmanFilter(6,2,0) 转移矩阵

我正在做一个对象跟踪项目,我想改进使用卡尔曼滤波器得到的结果。

我在互联网上找到了很多有效的示例,但我真的很想了解其背后的原因。

使用opencv,这里是代码的一部分:

这个结果比 KalmanFilter(4,2,0) 更平滑,但我真的不明白为什么。有人能解释一下这个(6,6)转换矩阵的背后是什么吗?

编辑:解决方案可能就在这里,但显然我还不足以自己找到它......

感谢您的帮助。