Parallel and Distributed Systems Report Series Particle Filters on Multi-Core Processors

The particle filter is a Bayesian estimation technique based on Monte Carlo simulation. The nonparametric nature of particle filters makes them ideal for non-linear, non-Gaussian dynamic systems. Particle filtering has many applications: in computer vision, robotics, and econometrics to name just a few. Although superior to Kalman filters, particle filters have higher computational requirements, which limits practical use in real-time applications. In this paper, we investigate how to design a particle filter framework for complex real-time estimation problems using modern many-core architectures. We develop a robotic arm application that serves as a highly flexible estimation problem to push estimation rates and accuracy to new levels. By varying different filter and model parameters, we derive rules of thumb for good filter configurations. We evaluate our particle filter with a comprehensive performance and correctness analysis. Our results significantly lower the development effort of particle filters for other real-time estimation problems. For the most demanding robotic arm configuration, we can process one million particles at an update rate of a few hundred state estimations per second. As such, we see our results as a step towards wider adoption of particle filters, and as a prerequisite to investigate larger filter setups for even more complex estimation problems.

[1]  Alexander Medvedev,et al.  Speedup and tracking accuracy evaluation of parallel particle filter algorithms implemented on a multicore architecture , 2010, 2010 IEEE International Conference on Control Applications.

[2]  Petar M. Djuric,et al.  Resampling algorithms and architectures for distributed particle filters , 2005, IEEE Transactions on Signal Processing.

[3]  Neil J. Gordon,et al.  A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking , 2002, IEEE Trans. Signal Process..

[4]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[5]  Kerem Par,et al.  Parallelization of particle filter based localization and map matching algorithms on multicore/manycore architectures , 2011, 2011 IEEE Intelligent Vehicles Symposium (IV).

[6]  Kazuhiro Otsuka,et al.  Real-time Visual Tracker by Stream Processing , 2009, J. Signal Process. Syst..

[7]  Kevin Skadron,et al.  Parallelization of particle filter algorithms , 2010, ISCA'10.

[8]  Junji Yamato,et al.  Fast and Robust Face Tracking for Analyzing Multiparty Face-to-Face Meetings , 2008, MLMI.

[9]  Andrea Simonetto,et al.  Recent Developments in Distributed Particle Filtering: Towards Fast and Accurate Algorithms , 2009 .

[10]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[11]  N. Gordon,et al.  Novel approach to nonlinear/non-Gaussian Bayesian state estimation , 1993 .

[12]  Simon J. Godsill,et al.  On sequential Monte Carlo sampling methods for Bayesian filtering , 2000, Stat. Comput..

[13]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[14]  Kenny Erleben,et al.  GPU Accelerated Likelihoods for Stereo-Based Articulated Tracking , 2010, ECCV Workshops.

[15]  Andreas Moshovos,et al.  Demystifying GPU microarchitecture through microbenchmarking , 2010, 2010 IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS).

[16]  Wolfram Burgard,et al.  Probabilistic Robotics (Intelligent Robotics and Autonomous Agents) , 2005 .

[17]  Petar M. Djuric,et al.  Study of Algorithmic and Architectural Characteristics of Gaussian Particle Filters , 2010, J. Signal Process. Syst..

[18]  X. R. Li,et al.  Distributed implementations of particle filters , 2003, Sixth International Conference of Information Fusion, 2003. Proceedings of the.

[19]  N. Shephard,et al.  BAYESIAN INFERENCE BASED ONLY ON SIMULATED LIKELIHOOD: PARTICLE FILTER ANALYSIS OF DYNAMIC ECONOMIC MODELS , 2011, Econometric Theory.

[20]  Olivier Brun,et al.  Parallel Particle Filtering , 2002, J. Parallel Distributed Comput..

[21]  Jorge Dias,et al.  Bayesian real-time perception algorithms on GPU , 2010, Journal of Real-Time Image Processing.

[22]  Mutsuo Saito,et al.  Variants of Mersenne Twister Suitable for Graphic Processors , 2010, TOMS.