CHOU

MRDS상에서 Particle Filter 구현해 보기 본문

Tech/Microsoft Products

MRDS상에서 Particle Filter 구현해 보기

chobabo 2010. 7. 7. 15:23

얼마전에 중학교에서 시뮬레이션을 이용해서 이동 로봇을 추적하는 
데모 영상을 보여주기 위해 제작한 MRDS Simulation 입니다.





파티클필터는 베이시안 확률 분포에 근거하여 이동 물체 추적에 강인한 장점을 가지고 있는 필터 입니다.
구현이 쉬워서 약간의 수학적 지식만 알고 있다면 누구나 쉽게 구현할 수 있습니다.

왼쪽에 보이는 화면은 Pioneer3DX가 한대의 카메라를 이용해서 다른 로봇을 보고있는 원 영상이고

오른쪽에 보이는 화면은 간단한 전처리를 통해 배경과 이동 로봇을 구분하고 로봇의 위치를 파티클필터를
이용하여 추적하는 모습입니다.

중학생들에게 보여줄때 이걸 이해할 수 있을까 걱정을 많이 했었는데..
굉장히 흥미를 보이고 다들 잘 따라해서 놀랐습니다.


화면에 잘 보이지는 않지만 파티클 입자는 파란색으로 표현되어 초기화 되고, 전처리를 통해 물체의
어느정도 윤곽을 알게 되면 가중치 계산을 통해서 위치를 계산하여 업데이트를 진행합니다.


아래글은 위키피디아에서 발췌한 파티클 필터에 대한 설명입니다.

Particle filters, also known as sequential Monte Carlo methods (SMC), are sophisticated model estimation techniques based on simulation. Particle filters have important applications in econometrics[1].

They are usually used to estimate Bayesian models and are the sequential ('on-line') analogue of Markov chain Monte Carlo (MCMC) batch methods and are often similar to importance sampling methods. Well-designed particle filters can often be much faster than MCMC. They are often an alternative to the Extended Kalman filter (EKF) or Unscented Kalman filter (UKF) with the advantage that, with sufficient samples, they approach the Bayesian optimal estimate, so they can be made more accurate than either the EKF or UKF. However, when the simulated sample is not sufficiently large, they might suffer from sample impoverishment. The approaches can also be combined by using a version of the Kalman filter as a proposal distribution for the particle filter.


http://en.wikipedia.org/wiki/Particle_filter