opencv - 卡尔曼滤波器能否预测被跟踪物体与墙壁碰撞后的位置?

标签 opencv computer-vision kalman-filter

我正在使用标准 2D CV(恒速)动态模型跟踪在固定大小的盒子内移动的物体,因为它在盒子中心的自由空间中移动。但是当它碰到盒子的边缘时,它的运动就更加复杂了。台球力学可以用作一级近似,但该模型似乎与 CV 模型完全不同,我不确定如何将其纳入卡尔曼滤波器的更新步骤。

结合 CV 和台球模型,有界运动(盒子中的物体)是否是交互多模型 (IMM) 滤波器的良好用例?如果是这样,如果我要求它预测 future 几十个时间步长,这样的过滤器会预测 future 的碰撞吗?或者有没有办法在发生碰撞时更改 CV 过滤器状态变量,以便后续更新和预测步骤继续跟踪对象的运动(尽管是在其新的反射方向上)?

最佳答案

卡尔曼滤波器只能处理线性过程函数,因此它可能不是一个好的选择,因为台球力学不符合该标准。

对于这样的任务,我可能会尝试使用带有过程变量(位置、速度)的粒子滤波器(或递归蒙特卡洛)。这是用于 ex 机器人导航的常用模型。它将能够预测 future 的几个步骤,根据碰撞等调整不确定性。

关于opencv - 卡尔曼滤波器能否预测被跟踪物体与墙壁碰撞后的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25187226/

相关文章:

opencv - 为什么sift特征对平面单应变换也是不变的

opencv - 使用卡尔曼滤波器进行多目标跟踪

visual-c++ - 如何在 CamShift 中平滑跟踪

c++ - OpenCV:为什么 ROI Mat 会失真?

python - 在 Python 中列出支持的 OpenCV 视频捕获属性

machine-learning - 为什么我们需要机器学习的标准化和规范化?

opencv - 使用卡尔曼滤波器更好地估计单应性?

python-opencv 网络摄像头 ["noneType"]

python - 在树莓派上升级 opencv

python - Canny边缘检测不适用于高斯模糊图像