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

时间:2015-05-21 19:32:22

标签: matlab computer-vision matlab-cvst motion-detection kalman-filter

我一直在尝试将multiObjectTracking() configureKalmanFilter()函数应用于2D表面上的一些昆虫运动视频。

在链接示例中,卡尔曼滤波器用于估计被跟踪对象的运动,如果它们由于前景遮挡而丢失了几帧。使用composer dump-autoload方法使用' Constant Velocity'设置过滤器。运动估计模型。或者,它可以通过“恒定加速度”来调用。模型。

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

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

1 个答案:

答案 0 :(得分:0)

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