问题标签 [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 投票
6 回答
19281 浏览

object - 使用卡尔曼滤波器跟踪物体的位置,但需要知道该物体的位置作为卡尔曼滤波器的输入。到底是怎么回事?

我正在尝试研究如何使用卡尔曼滤波器自己跟踪在视频序列中移动的物体(球),所以请在我还是个孩子的时候向我解释一下。

  • 通过一些算法(颜色分析,光流......),我能够获得每个视频帧的二进制图像,其中有跟踪对象(白色像素)和背景(黑色像素)->我知道对象大小,对象质心,对象位置 -> 只需简单地在对象周围绘制一个边界框 -> 完成。为什么我需要在这里使用卡尔曼滤波器?

  • 好的,有人告诉我,因为我无法在每个视频帧中检测到物体,因为噪声,我需要使用卡尔曼滤波器来估计物体的位置。好的。但据我所知,我需要向卡尔曼滤波器提供输入。它们是先前的状态和测量值。

    • 以前的状态(所以我认为它是前一帧中物体的位置、速度、加速度……)-> 好的,这对我来说很好。
    • 当前状态的测量:这是我无法理解的。测量可以是什么?- 对象在当前帧中的位置?这很有趣,因为如果我知道对象的位置,我只需要在对象周围绘制一个简单的边界框(矩形)。为什么我在这里不再需要卡尔曼滤波器?因此,不可能将物体在当前帧中的位置作为测量值。- “视频监控系统中基于卡尔曼滤波器的跟踪”文章说

      卡尔曼滤波模块的主要作用是为从光流分析模块进入系统的每个测量值分配一个跟踪滤波器。

      如果您阅读全文,您会看到作者将 blob 的最大数量和 blob 的最小大小作为卡尔曼滤波器的输入。这些参数如何用作度量

我想我现在处于一个循环中。我想使用卡尔曼滤波器来跟踪对象的位置,但我需要知道该对象的位置作为卡尔曼滤波器的输入。到底是怎么回事?

还有1个问题,我不明白“卡尔曼滤波器的数量”这个词。在视频序列中,如果有 2 个对象需要跟踪 -> 需要使用 2 个卡尔曼滤波器?是这个意思吗?

0 投票
2 回答
2254 浏览

matlab - 请解释一下本教程中卡尔曼滤波器的用途

一个人发布了这个关于使用卡尔曼滤波器进行对象跟踪的教程。许多人评价高星,所以这不是一个错误/错误的教程。

然而,一个家伙发布了以下问题:“在这段代码中,你已经在每一帧中进行了检测,并且这个输出作为卡尔曼滤波器的输入提供。所以背景减法和卡尔曼滤波器会给出相似的结果。所以请你解释一下这里使用卡尔曼滤波器。”

我和他有同样的想法。有人可以在这里解释卡尔曼滤波器的使用吗?

0 投票
0 回答
673 浏览

object - 看一下卡尔曼滤波跟踪的结果。为什么是错的?

当我从本教程中运行文件 kalman.m 时

http://www.mathworks.com/matlabcentral/fileexchange/14243-2d-target-tracking-using-kalman-filter

这是结果

http://www.flickr.com/photos/58590696@N07/5375929588/ http://www.flickr.com/photos/58590696@N07/5375929552/ http://www.flickr.com/photos/58590696@ N07/5375329235/

其中绿色圆圈显示球的真实位置(应用卡尔曼滤波器之前),红色圆圈显示球的估计位置(应用卡尔曼滤波器后)。结果表明,使用卡尔曼滤波器比不使用卡尔曼滤波器差。

为什么?

0 投票
1 回答
1208 浏览

c++ - 如何反转一个 3x3 矩阵,每个元素都是一个 3x3 矩阵?

我正在尝试在 C++ 中实现用于数据融合的卡尔曼滤波器。作为项目的一部分,我需要实现一个函数来计算一个 3x3 矩阵的逆矩阵,该矩阵的每个元素本身都是一个 3x3 矩阵。你能帮我解决这个问题吗?我更喜欢需要最少计算量(CPU效率最高)的解决方案。

还有一个问题,由于卡尔曼滤波器依赖于逆矩阵,当矩阵不可逆时,我应该如何处理?

感谢您的帮助。

0 投票
5 回答
27676 浏览

android - 如何使用 Android 加速度计检测步行

我正在编写一个应用程序,我的目标是检测用户何时行走。我正在使用这样的卡尔曼滤波器:

数组gravity[]初始化为0。

我可以检测到用户何时行走(查看加速度矢量的大小值),但我的问题是,当用户不行走并且他移动手机时,他似乎在行走。

我使用了正确的过滤器吗?

只看向量的大小是正确的还是让我看单个值?

0 投票
1 回答
16452 浏览

accelerometer - 如何使用加速度计和陀螺仪数据确定相对位置

我正在设计一个机器人,需要跟踪机器人运动的距离和方向,3D 中什么都没有,我只需要 xy 平面中的 x、y 和角度。

我的问题 :

  1. 是否可以使用带有卡尔曼滤波的陀螺仪和加速度计或任何其他方法来跟踪这一点?(我没有电机编码器)

我的限制:我没有空间容纳 GPS(由于电源要求)或电机编码器(由于电机支持)

0 投票
1 回答
3720 浏览

android - Android GPS 数据获取和过滤,它如何改进位置信息

我开始在 Android 2.1 (HTC Hero) 上处理 gps 数据,并查看有关卡尔曼滤波器和适合位置数据的最小二乘法的主题。在使用手机接收和记录 GPS 数据时,我发现如果保持在原位,则分散很小,但移动时坐标非常准确。问题来了: - getLatitude() 和 getLongitude() 函数是否提供“原始”坐标,或者数据是由 android 预先过滤的(当位置固定或在移动期间)?

我很好奇是否有人在 android 上测试了 Kalman,并且可以说你对 gps 有一定的改进。在我的情况下,我每 3 秒读取一次 GPS 数据(通过移动网络将其与指南针数据和加速度计一起发送到服务器)。因此,我可以在设备或服务器上进行过滤。如果在设备上读取可以更频繁地完成,但在服务器上我可以使用额外的计算能力。

0 投票
1 回答
23839 浏览

filter - 陀螺仪、加速度计、磁力计和卡尔曼滤波器

我想使用陀螺仪、加速度计和磁力计在 3 轴上获得完全平滑的旋转。

第一个问题是我的输出个别有很大的噪音,我想知道如何去除它。

第二个问题是我认为应该用卡尔曼滤波器解决的陀螺漂移。

第三个问题是加速度计。如果在不旋转设备的情况下移动设备时结合陀螺仪和加速度计,输出将会改变。卡尔曼滤波器也可以消除输出中的移动效应吗?

0 投票
2 回答
889 浏览

computer-vision - 卡尔曼跟踪 - 测量方差

我正在使用安装在天花板上的朝下摄像头跟踪移动物体。我已经到了可以在每一帧中检测到所需对象的位置的地步。

我正在研究使用卡尔曼滤波器来跟踪对象在场景中的位置和速度,但我遇到了一个绊脚石。我已经建立了我的系统并拥有了卡尔曼滤波器的所有必需部分,除了测量方差。

我希望能够为每个测量分配一个有意义的方差,以允许校正阶段以合理的方式使用新信息。我为我检测到的对象分配了几个度量值,这些度量值理论上可以用于确定位置应该有多准确,并且尝试将它们组合以得出合适的方差似乎是合乎逻辑的。

我是否以正确的方式处理这个问题,如果是这样,有人能指出我继续前进的正确方向吗?

非常感谢任何帮助。

0 投票
1 回答
3933 浏览

iphone - Core Motion 的传感器融合算法是否利用了卡尔曼滤波器?

Core Motion 的传感器融合算法是否利用了卡尔曼滤波器?