Computer vision 如何实现用于视觉跟踪的粒子过滤器?
所以我刚上了Sebsatian thrun的人工智能课程。在这里,他提到了如何建立一个粒子过滤器,用于跟踪一个移动的xy机器人,该过滤器基于航向θ和向前运动 代码如下: 在实施过程中,他做到了以下几点: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
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,自转角噪声)
定义移动(自转角,向前):
- 观察作为一个函数,返回可能的观察和状态输入对的高分