Computer vision 如何实现用于视觉跟踪的粒子过滤器?

Computer vision 如何实现用于视觉跟踪的粒子过滤器?,computer-vision,robotics,particle-filter,Computer Vision,Robotics,Particle Filter,所以我刚上了Sebsatian thrun的人工智能课程。在这里,他提到了如何建立一个粒子过滤器,用于跟踪一个移动的xy机器人,该过滤器基于航向θ和向前运动 代码如下: 在实施过程中,他做到了以下几点: 1. Get Range from Sensor of all bearings after moving R=1, Theta=0.5 2. Move all the particles by R=1, Theta=0.5 3. Compute the weights of all part

所以我刚上了Sebsatian thrun的人工智能课程。在这里,他提到了如何建立一个粒子过滤器,用于跟踪一个移动的xy机器人,该过滤器基于航向θ和向前运动

代码如下:

在实施过程中,他做到了以下几点:

1. Get Range from Sensor of all bearings after moving R=1, Theta=0.5
2. Move all the particles by R=1, Theta=0.5
3. Compute the weights of all particles ranges against the measured range from sensor
4. Resample and draw new particles

这对运动模型非常有效。这对计算机视觉跟踪到底有什么作用?例如,我想跟踪一个黄色的圆形斑点。 我将如何“移动”粒子?我的成本函数可能是什么?特别是运动部件,我不确定如何进行计算机视觉跟踪


以下是我认为它可能的工作方式,但我可能错了:

1. Get features from image, and compute the optical flow velocities of each feature
2. Place alot of particles in the scene with varying x,y,xvel,yvel
3. For the computation of weights, we can compare the each particle's velocity and position against all features
    If we can threshold out the object based on color/shape, can match image features to shapes and put that in the cost function
4. Resample and draw new particles

要使用粒子过滤,您需要:

  • 过渡模型(例如,用于移动机器人的运动模型)和
  • 观察模型(即,用于计算给定传感器读数的权重的模型)
清楚地定义空间也很有帮助

  • 观察值(例如,传感器读数的范围)
  • 跟踪状态(例如,机器人位置的范围)
现在,根据你问题中的描述,我假设目标是基于计算出的最佳流特征跟踪黄色斑点的位置。然后我会做模特

  • 转换作为一种函数,通过仅对噪声进行采样,对给定的新位置进行采样,例如,想象仅使用
    +随机.高斯(0.0,自转角噪声)
    +随机.高斯(0.0,自转角噪声)
    部分
    定义移动(自转角,向前):
  • 观察作为一个函数,返回可能的观察和状态输入对的高分
我所看到的问题是定义观测模型,即水滴位置和最佳流量输出之间的似然函数,不是简单/直观的,例如,黄色水滴是否可能位于高光流输出区域的中心?如果是这样,我如何将这种关系表示为似然函数?出于这个原因,我将研究使用不同的观测值,例如,使用嘈杂的黄色斑点探测器的输出

我的答案是基于第16页。particle-filters.ppt文件的