我正在使用标准 2D CV(恒速)动态模型跟踪在固定大小的盒子内移动的物体,因为它在盒子中心的自由空间中移动。但是当它碰到盒子的边缘时,它的运动就更加复杂了。台球力学可以用作一级近似,但该模型似乎与 CV 模型完全不同,我不确定如何将其纳入卡尔曼滤波器的更新步骤。
结合 CV 和台球模型,有界运动(盒子中的物体)是否是交互多模型 (IMM) 滤波器的良好用例?如果是这样,如果我要求它预测 future 几十个时间步长,这样的过滤器会预测 future 的碰撞吗?或者有没有办法在发生碰撞时更改 CV 过滤器状态变量,以便后续更新和预测步骤继续跟踪对象的运动(尽管是在其新的反射方向上)?
最佳答案
卡尔曼滤波器只能处理线性过程函数,因此它可能不是一个好的选择,因为台球力学不符合该标准。
对于这样的任务,我可能会尝试使用带有过程变量(位置、速度)的粒子滤波器(或递归蒙特卡洛)。这是用于 ex 机器人导航的常用模型。它将能够预测 future 的几个步骤,根据碰撞等调整不确定性。
关于opencv - 卡尔曼滤波器能否预测被跟踪物体与墙壁碰撞后的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25187226/