Skip to main content
Log in

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

  • Focus
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. For the sake of simplicity, superscript \(t\) is omitted.

References

  • 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–188

    Article  Google Scholar 

  • 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, Berkeley

  • 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–58

    Article  Google Scholar 

  • Carpenter J, Clifford P, Fearnhead P (1999) Building robust simulation based filters for evolving data sets. Dept Statist, University of Oxford, Oxford, UK

  • Caviar test case scenarios (2010) http://homepages.inf.ed.ac.uk/rbf/CAVIARDATA1/

  • Cui J, Sun Z (2004) Vision-based hand motion capture using genetic algorithm. Lect Notes Comput Sci 3005:289–300

    Article  Google Scholar 

  • Dawkins R (1976) The selfish gene. Clarendon Press, Oxford

  • Deutscher J (2000) Articulated body motion capture by annealed particle filtering. In: IEEE conference on in computer vision and pattern recognition, pp 126–133

  • Deutscher J, Reid I (2005) Articulated body motion capture by stochastic search. Int J Comput Vis 61(2):185–205

    Article  Google Scholar 

  • 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–113

    Article  Google Scholar 

  • GPGPU (2010) GPGPU: General-purpose computation using graphics hardware. http://www.gpgpu.org

  • Hart WE, Krasnogor N, Smith JE (2005) Recent advances in memetic algorithms. Springer, New York

  • Isard M, Blake A (1996) Visual tracking by stochastic propagation of conditional density. In: 4th European conference on computer vision, pp. 343–356

  • Isard M, Blake A (1998) CONDENSATION—conditional density propagation for visual tracking. Int J Comput Vis 29:5–28

    Article  Google Scholar 

  • Kirk DB, Hwu WW (2010) Programming massively parallel processors: a hands on approach. Morgan Kaufmann

  • 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–511

  • 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)

  • MacCormick J (2002) Stochastic algorithms for visual tracking: probabilistic modelling and stochastic algorithms for visual localisation and tracking. Springer, Secaucus

  • 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–19

  • 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–295

    Article  Google Scholar 

  • Montemayor AS, Pantrigo JJ, Sánchez A, Fernández F (2004) Particle filter on GPUs for real time tracking. In: ACM SIGGRAPH 2004 posters

  • 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 session

  • Moscato P (1999) Memetic algorithms: a short introduction. In: Corne D, Dorigo M, Glover F (eds) New ideas in optimization. McGraw Hill, pp 219–234

  • NVIDIA CUDA GPU Occupancy Calculator, CUDA SDK (2010)

  • NVIDIA, CUDA Zone (2010) http://www.nvidia.com/object/cuda_home.html

  • 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–1590

    Google Scholar 

  • 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–69

    Google Scholar 

  • Patterson D, Asanovic K, Keutzer K (2007) Computer architecture is back—the Berkeley view of the parallel computing research landscape. Stanford EE Computer Systems Colloquium

  • Rossi C, Abderrahim M, Díaz JC (2008) Tracking moving optima using kalman-based predictions. Evol Comput 16(1):1–30

    Article  Google Scholar 

  • Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley

  • Särkkä S, Vehtari A, Lampinen J (2007) Rao-Blackwellized particle filter for multiple target tracking. Inf Fusion J 8:2–15

    Article  Google Scholar 

  • 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–1886

    Article  Google Scholar 

  • Thrun S (2002) Particle filters in robotics. In: 17th annual conference on uncertainty in AI (UAI)

  • 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–661

  • Yilmaz A, Javed O, Shah M (2006) Object tracking: a survey. ACM Comput Surv 38(4):1–45

    Article  Google Scholar 

  • Zotkin D, Duraiswami R, Davis L (2002) Joint audio-visual tracking using particle filters. EURASIP J Appl Signal Process 11:1154–1164

    Google Scholar 

  • Zhu L, Zhou J, Song J (2008) Tracking multiple objects through occlusion with online sampling and position estimation. Pattern Recogn 41(8):2447–2460

    Article  MATH  Google Scholar 

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Raúl Cabido.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cabido, R., Montemayor, A.S. & Pantrigo, J.J. High performance memetic algorithm particle filter for multiple object tracking on modern GPUs. Soft Comput 16, 217–230 (2012). https://doi.org/10.1007/s00500-011-0715-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-011-0715-2

Keywords

Navigation