Evaluation of an OpenCL-Based FPGA Platform for Particle Filter
Shunsuke Tatsumi*, Masanori Hariyama*, and Norikazu Ikoma**
*Graduate School of Information Sciences, Tohoku University
6-6-05 Aramaki Aza Aoba, Aoba, Sendai 980-8579, Japan
**Faculty of Engineering, Nippon Institute of Technology
4-1 Gakuendai, Miyashiro-machi, Minamisaitama-gun, Saitama 345-8501, Japan
Particle filter is one promising method to estimate the internal states in dynamical systems, and can be used for various applications such as visual tracking and mobile-robot localization. The major drawback of particle filter is its large computational amount, which causes long computational-time and large power-consumption. In order to solve this problem, this paper proposes an Field-Programmable Gate Array (FPGA) platform for particle filter. The platform is designed using the OpenCL-based design tool that allows users to develop using a high-level programming language based on C and to change designs easily for various applications. The implementation results demonstrate the proposed FPGA implementation is 106 times faster than the CPU one, and the power-delay product of the FPGA implementation is 1.1% of the CPU one. Moreover, implementations for three different systems are shown to demonstrate flexibility of the proposed platform.
-  N. J. Gordon, D. J. Salmond, and A. F. M. Smith, “Novel approach to nonlinear/non-Gaussian Bayesian state estimation,” IEE Proc. F, Vol.140, No.2, pp. 107-113, 1993.
-  G. Kitagawa, “Monte Carlo Filter and Smoother for Non-Gaussian Nonlinear State Space Models,” J. of Computational and Graphical Statistics, Vol.5, No.1, pp. 1-25, 1996.
-  M. Isard and A. Blake, “CONDENSATION – Conditional Density Propagation for Visual Tracking,” Int. J. of Computer Vision, Vol.29, Issue 1, pp. 5-28, 1998.
-  N. Ikoma, “Hands and Arms Motion Estimation of a Car Driver with Depth Image Sensor by Using Particle Filter,” Proc. of the 14th Int. Symp. on Advanced Intelligent Systems (ISIS), pp. 75-84, 2013.
-  N. Ikoma and A. Asahara, “Real Time Color Object Tracking on Cell Broadband Engine Using Particle Filters,” J. of Advanced Computational Intelligence and Intelligent Informatics (JACIII), Vol.14, No.3, pp. 272-280, 2010.
-  T. C. P. Chau, J. S. Targett, M. Wijeyasinghe, W. Luk, P. Y. K. Cheung, B. Cope, A. Eele, and J. Maciejowski, “Accelerating Sequential Monte Carlo Method for Real-time Air Traffic Management,” ACM SIGARCH Computer Architecture News, Vol.41, Issue 5, pp. 35-40, 2013.
-  Z. Shi, Y. Liu, S. Hong, J. Chen, and X. S. Shen, “POSE: Design of Hardware-Friendly Particle-Based Observation Selection PHD Filter,” IEEE Trans. on Industrial Electronics, Vol.61, No.4, pp. 1944-1956, 2014.
-  L. Miao, J. J. Zhang, C. Chakrabarti, and A. Papandreou-Suppappola, “Efficient Bayesian Tracking of Multiple Sources of Neural Activity: Algorithms and Real-Time FPGA Implementation,” IEEE Trans. on Signal Processing, Vol.61, No.3, pp. 633-647, 2013.
-  M. M. Bolić, “Architectures for Efficient Implementation of Particle Filters,” Ph.D. thesis, State University of New York at Stony Brook, 2004.
-  P. Engineer, R. Velmurugan, and S. B. Patkar, “Parameterizable FPGA framework for particle filter based object tracking in video,” 28th Int. Conf. on VLSI Design (VLSID), pp. 35-40, 2015.
-  Khronos Group, 2010, The OpenCL Specification, available: https://www.khronos.org/registry/cl/specs/opencl-1.0.48.pdf.
-  “Altera SDK for OpenCL,” https://www.altera.com/products/design-software/embedded-software-developers/opencl/overview.html.
-  A. Athalye, M. Boli’c, S. Hong, and P. M. Djuri’c, “Generic Hardware Architectures for Sampling and Resampling in Particle Filters,” EURASIP J. on Applied Signal Processing, Vol.2005, No.17, pp. 2888-2902, 2005.
-  Altera SDK for OpenCL Best Practices Guide, available:
-  “OpenCL: Single-threaded (Task) vs Multi-threaded (NDRange),” http://www.altera.com/customertraining/webex/OpenCLKern/player.html.
-  M. Matsumoto and T. Nishimura, “Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator,” ACM Trans. on Modeling and Computer Simulation (TOMACS), Vol.8, Issue 1, pp. 3-30, 1998.
-  “Monte Carlo Black-Scholes Asian Options Pricing Design Example,” https://www.altera.com/support/support-resources/design-examples/design-software/opencl/black-scholes.html.
-  Altera SDK for OpenCL Programming Guide, available:
-  Stratix V Device Overview, available:
This article is published under a Creative Commons Attribution-NoDerivatives 4.0 Internationa License.