首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我将如何实现粒子过滤器的视觉跟踪?

我将如何实现粒子过滤器的视觉跟踪?
EN

Stack Overflow用户
提问于 2015-09-21 13:09:03
回答 1查看 355关注 0票数 3

所以我刚做了塞伯萨斯蒂安·特伦关于人工智能的课程。在这里,他提到了如何建立一个粒子过滤器来跟踪一个移动的xy机器人,基于方向θ和向前移动。

代码在这里:https://gist.github.com/soulslicer/b4765ee8e01958374d3b

在执行过程中,他做了以下工作:

代码语言:javascript
复制
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

这对于一个伟大的运动模型是有效的。这对于计算机视觉跟踪到底是如何工作的呢?例如,我想跟踪一个黄色的圆点。我将如何“移动”这些粒子?我的成本职能可能是什么?尤其是移动部分,我不知道该如何进行计算机视觉跟踪

我认为这可能是可行的,但我可能错了:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-05-03 19:45:37

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

  • 过渡模型(例如,用于移动机器人的运动模型)和
  • 一种观测模型(即用于计算给定传感器读数的权重的模型)。

它还有助于明确定义

  • 观测(例如传感器读数的范围)
  • 跟踪状态(例如,机器人位置范围)

现在,根据你问题中的描述,我假设目标是根据计算出的最优流特征跟踪黄色斑点的位置。然后我就做模特

  • 转换为一个函数,它仅通过采样噪声对给定位置的新位置进行采样,例如,设想只使用+ random.gauss(0.0, self.turn_noise)+ random.gauss(0.0, self.forward_noise)部件在def move(self, turn, forward):中。
  • 观察作为一个函数,返回可能的观察和状态输入对的高分。

我看到的问题是定义观测模型,一个blob位置和最优流输出之间的似然函数,这不是简单/直观的,例如,黄色的blob很可能位于高光流输出区域的中心吗?如果是这样的话,我如何将这种关系表达为似然函数呢?由于这个原因,我将研究使用不同的观测,例如,使用来自噪声的黄色斑点检测器的输出。

我的答案是基于http://www.probabilistic-robotics.org/提供的粒子过滤器. pg文件的pg 16.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32696102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档