Soft Computing

, Volume 16, Issue 2, pp 217–230 | Cite as

High performance memetic algorithm particle filter for multiple object tracking on modern GPUs

  • Raúl Cabido
  • Antonio S. Montemayor
  • Juan J. Pantrigo


This work presents an effective approach to visual tracking using a graphics processing unit (GPU) for computation purposes. In order to get a performance improvement against other platforms it is convenient to select proper algorithms such as population-based ones. They expose a parallel-friendly nature needing from many independent evaluations that map well to the parallel architecture of the GPU. To this end we propose a particle filter (PF) hybridized with a memetic algorithm (MA) to produce a MAPF tracking algorithm for single and multiple object tracking problems. Previous experimental results demonstrated that the MAPF algorithm showed more accurate tracking results than the standard PF, and now we extend those results with the first complete adaptation of the PF and the MAPF for visual tracking to the NVIDIA CUDA architecture. Results show a GPU speedup between 5×–16× for different configurations.


Memetic algorithms Particle filtering Hybrid methods Visual tracking Graphics processing units GPU CUDA 



This research has been partially supported by the Spanish project TIN2008-06890-C02-02.


  1. Arulampalam S, Maskell S, Gordon N, Clapp T (2002) A tutorial on particle filters for on-line nonlinear/non-Gaussian Bayesian tracking. IEEE Trans Signal Process 50(2):174–188CrossRefGoogle Scholar
  2. Asanovic K, Bodik R, Catanzaro BC, Gebis JJ, Husbands P, Keutzer K, Patterson DA, Plishker WL, Shalf J, Williams SW, Yelick KA (2006) The landscape of parallel computing research: a view from Berkeley. Tech report UCB/EECS-2006-183, EECS Department, University of California, BerkeleyGoogle Scholar
  3. Cabido R, Montemayor AS, Pantrigo JJ, Payne BR (2009) Multiscale and local search methods for real time region tracking with particle filters: local search driven by adaptive scale estimation on GPUs. Mach Vis Appl 21(1):43–58CrossRefGoogle Scholar
  4. Carpenter J, Clifford P, Fearnhead P (1999) Building robust simulation based filters for evolving data sets. Dept Statist, University of Oxford, Oxford, UKGoogle Scholar
  5. Caviar test case scenarios (2010)
  6. Cui J, Sun Z (2004) Vision-based hand motion capture using genetic algorithm. Lect Notes Comput Sci 3005:289–300CrossRefGoogle Scholar
  7. Dawkins R (1976) The selfish gene. Clarendon Press, OxfordGoogle Scholar
  8. Deutscher J (2000) Articulated body motion capture by annealed particle filtering. In: IEEE conference on in computer vision and pattern recognition, pp 126–133Google Scholar
  9. Deutscher J, Reid I (2005) Articulated body motion capture by stochastic search. Int J Comput Vis 61(2):185–205CrossRefGoogle Scholar
  10. Gordon NJ, Salmond DJ, Smith AFM (1993) Novel approach to nonlinear/non-Gaussian Bayesian state estimation. IEE Proc F Radar Signal Process 140(2):107–113CrossRefGoogle Scholar
  11. GPGPU (2010) GPGPU: General-purpose computation using graphics hardware.
  12. Hart WE, Krasnogor N, Smith JE (2005) Recent advances in memetic algorithms. Springer, New YorkGoogle Scholar
  13. Isard M, Blake A (1996) Visual tracking by stochastic propagation of conditional density. In: 4th European conference on computer vision, pp. 343–356Google Scholar
  14. Isard M, Blake A (1998) CONDENSATION—conditional density propagation for visual tracking. Int J Comput Vis 29:5–28CrossRefGoogle Scholar
  15. Kirk DB, Hwu WW (2010) Programming massively parallel processors: a hands on approach. Morgan KaufmannGoogle Scholar
  16. Krüger F, Maitre O, Jimenez S, Baumes L, Collet P (2010) Speedups between ×70 and ×120 for a generic local search (memetic) algorithm on a single GPGPU chip. In: EvoNum 2010, LNCS, vol 6024, pp 501–511Google Scholar
  17. Lanvin P, Noyer J-C, Benjelloun M (2005) An hardware architecture for 3D object tracking and motion estimation. In: Proceedings of international conference on multimedia and expo (ICME)Google Scholar
  18. MacCormick J (2002) Stochastic algorithms for visual tracking: probabilistic modelling and stochastic algorithms for visual localisation and tracking. Springer, SecaucusGoogle Scholar
  19. MacCormick J, Blake A (2000) Partitioned sampling, articulated objects and interface-quality hand tracking. In: 7th European conference on computer vision, vol 2, pp 3–19Google Scholar
  20. Mateo O, Otsuka K (2009) Real-time visual tracker by stream processing: simultaneous and fast 3D tracking of multiple faces in video sequences by using a particle filter. J Signal Process Syst 57(2):285–295CrossRefGoogle Scholar
  21. Montemayor AS, Pantrigo JJ, Sánchez A, Fernández F (2004) Particle filter on GPUs for real time tracking. In: ACM SIGGRAPH 2004 postersGoogle Scholar
  22. Montemayor AS, Payne BR, Pantrigo JJ, Cabido R, Sánchez A, Fernández F (2006) Improving GPU particle filter with shader model 3.0 for visual tracking. In: ACM SIGGRAPH, poster sessionGoogle Scholar
  23. Moscato P (1999) Memetic algorithms: a short introduction. In: Corne D, Dorigo M, Glover F (eds) New ideas in optimization. McGraw Hill, pp 219–234Google Scholar
  24. NVIDIA CUDA GPU Occupancy Calculator, CUDA SDK (2010)Google Scholar
  25. Pantrigo JJ, Hernández J, Sánchez A (2010) Multiple and variable target visual tracking for video surveillance applications. Pattern Recogn Lett 31(12):1577–1590Google Scholar
  26. Pantrigo JJ, Montemayor AS, Sánchez A (2011) Heuristic particle filter: applying abstraction techniques to the design of visual tracking algorithms. Exp Syst 28(1):49–69Google Scholar
  27. Patterson D, Asanovic K, Keutzer K (2007) Computer architecture is back—the Berkeley view of the parallel computing research landscape. Stanford EE Computer Systems ColloquiumGoogle Scholar
  28. Rossi C, Abderrahim M, Díaz JC (2008) Tracking moving optima using kalman-based predictions. Evol Comput 16(1):1–30CrossRefGoogle Scholar
  29. Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-WesleyGoogle Scholar
  30. Särkkä S, Vehtari A, Lampinen J (2007) Rao-Blackwellized particle filter for multiple target tracking. Inf Fusion J 8:2–15CrossRefGoogle Scholar
  31. Shen S, Tong M, Deng H, Liu Y, Wu X, Wakawbayashi K, Koike H (2008) Model based human motion tracking using probability evolutionary algorithm. Pattern Recogn Lett 28:1877–1886CrossRefGoogle Scholar
  32. Thrun S (2002) Particle filters in robotics. In: 17th annual conference on uncertainty in AI (UAI)Google Scholar
  33. Yalçin IK, Gökmen M (2006) Integrating differential evolution and condensation algorithms for license plate tracking. In: ICPR ’06: proceedings of the 18th international conference on pattern recognition. IEEE Computer Society, Washington, pp 658–661Google Scholar
  34. Yilmaz A, Javed O, Shah M (2006) Object tracking: a survey. ACM Comput Surv 38(4):1–45CrossRefGoogle Scholar
  35. Zotkin D, Duraiswami R, Davis L (2002) Joint audio-visual tracking using particle filters. EURASIP J Appl Signal Process 11:1154–1164Google Scholar
  36. Zhu L, Zhou J, Song J (2008) Tracking multiple objects through occlusion with online sampling and position estimation. Pattern Recogn 41(8):2447–2460zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Raúl Cabido
    • 1
  • Antonio S. Montemayor
    • 1
  • Juan J. Pantrigo
    • 1
  1. 1.Departamento de Ciencias de la ComputaciónUniversidad Rey Juan CarlosMóstolesSpain

Personalised recommendations