MATLAB中卡尔曼滤波器的自定义运动估计模型

Posted

技术标签:

【中文标题】MATLAB中卡尔曼滤波器的自定义运动估计模型【英文标题】:Custom motion estimation model for Kalman filter in MATLAB 【发布时间】:2015-05-21 19:32:22 【问题描述】:

我一直在尝试将this example 中的multiObjectTracking() 函数应用于二维表面上的昆虫运动视频。

在链接的示例中,如果跟踪对象由于前景遮挡而丢失几帧,则使用卡尔曼滤波器来估计跟踪对象的运动。滤波器是使用configureKalmanFilter() 方法设置的,该方法使用“恒速”模型进行运动估计。或者,可以使用“恒定加速度”模型调用它。

我的问题是如何在我的卡尔曼滤波器中为运动估计设置自定义模型?

我的镜头中丢失轨迹的主要原因是当动物停下几帧然后又开始行走时,可能会朝不同的方向行走。因此,我想实现一个“无速度”模型(可以这么说),假设丢失的物体只是保持在其最后一个已知位置,直到它再次被捡起。

【问题讨论】:

【参考方案1】:

您可以直接创建vision.KalmanFilter 对象,而无需使用configureKalmanFilter 函数。在这种情况下,您可以传入自定义状态转换矩阵。然而,由于这是一个常规卡尔曼滤波器(未扩展或无味),状态转换必须是线性的。所以我不确定除了恒速或恒加速度之外你还可以合理使用什么其他运动模型。

【讨论】:

以上是关于MATLAB中卡尔曼滤波器的自定义运动估计模型的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:如何在卡尔曼滤波器状态估计后模拟模型

Matlab:程序返回垃圾值,帮助正确执行卡尔曼滤波器和参数估计

技术分享 | 运动状态估计之卡尔曼滤波详解

目标定位基于matlab扩展卡尔曼滤波器多机器人定位含Matlab源码 2327期

目标定位基于matlab扩展卡尔曼滤波器多机器人定位含Matlab源码 2327期

Matlab:帮助运行卡尔曼滤波器的工具箱