accelerated visual tracking
play

ACCELERATED VISUAL TRACKING FRAMEWORK David Concha Gomez, Raul - PowerPoint PPT Presentation

DEVELOPMENT OF A GPU ACCELERATED VISUAL TRACKING FRAMEWORK David Concha Gomez, Raul Cabido Valladolid, Antonio Sanz Montemayor, Juan Jos Pantrigo (Universidad Rey Juan Carlos) {david.concha, raul.cabido, juanjose.pantrigo,


  1. DEVELOPMENT OF A GPU ACCELERATED VISUAL TRACKING FRAMEWORK David Concha Gomez, Raul Cabido Valladolid, Antonio Sanz Montemayor, Juan José Pantrigo (Universidad Rey Juan Carlos) {david.concha, raul.cabido, juanjose.pantrigo, antonio.sanz}@urjc.es

  2. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Tracking  3D Articulated Tracking

  3. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Tracking  3D Articulated Tracking

  4. Introduction  The goal is to build a framework that eases the development of visual tracking systems  Visual tracking estimates the evolution of a system state through time  Particle Filter (PF) uses a population of N estimations  It can be computationally expensive  But it is highly parallelizable

  5. Introduction (particle filter)  Initialization:  Create a new random population P k P 1 Particle Population P 2 P 1 =(x 1 ,y 1 , p 1 ) P 2 =(x 2 ,y 2 , p 2 ) … p i =?? P k =(x k ,y k , p k ) … P n =(x n ,y n , p n ) P n

  6. Introduction (particle filter)  Evaluation:  Using the measurement model, each particle is weighted P k P 1 Particle Population P 2 P 1 =(x 1 ,y 1 , 3 ) P 2 =(x 2 ,y 2 , 27 ) … P k =(x k ,y k , 63 ) … P n =(x n ,y n , 4 ) P n

  7. Introduction (particle filter)  Estimation:  Particle with the highest weight is selected as the best estimator at time step t

  8. Introduction (particle filter)  Selection and diffusion:  A new population is generated based on the system estimate, and every particle is diffused to provide diversity t t t+1

  9. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Tracking  3D Articulated Tracking

  10. 2D Articulated Tracking  Our 2D articulated tracking problem in 2009  N segments  X =(x, y , q 1 , q 2 , q 3 ,…, q n )

  11. 2D Articulated Tracking  In each frame we know:  The previous state of the system  The blob information  The edge information

  12. 2D Articulated Tracking  Each particle defines a image regions that are measured and compacted in tiles (32x32) X =(x, y , q 1 , q 2 , q 3 , q 4 , q 5 , q 6 )

  13. 2D Articulated Tracking  Because the evaluation of each particle is independent on each other, It is highly parallelizable

  14. 2D Articulated Tracking  Reducing the compact texture results in the particles weights  Reducing all the weights give the best particle  A new population is created by a resampling technique (or any other mechanism)

  15. 2D Articulated Tracking GTX260 and 640x480 700.0 Standard PF 629.1 Fps (higher is better) 585.1 584.3 600.0 PF with Geometric Templates 500.0 PF with Geom.Temp & Elitism 400.0 284.1 260.5 258.0 300.0 200.0 94.4 79.1 79.1 100.0 0.0 256 1024 4096 # Particles

  16. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Tracking  3D Articulated Tracking

  17. CUDA Adaptation  OpenGL + Shaders:  Good performance  Reduction: requires power of 2 tiles (i.e. 32x32)  OpenGL for rasterizer, CUDA for Reduction:  Reduction: more efficient for arbitrary tile size  Interoperability impact performance  CUDA Rasterizer and Reduction:  For high number of tiles it is as efficient as OpenGL+Shader without its drawbacks

  18. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Tracking  3D Articulated Tracking

  19. 3D Visual tracking  Calibrated and synchronized system  In a multiview system, many images simultaneously  Increased computational cost of evaluation

  20. 3D Visual tracking  3 DOF (x,y,z) to a 3D Volume (8 vertices) ( x k , y k , z k ) 8 vertices

  21. 3D Visual tracking  3D Volume (8 vertices) to an Axis Aligned Bounding Box 8 vertices AAB B For each camera x m y ,  m p  t t I ( k , l ) v , i  k , l x , y 0 0

  22. 3D Visual tracking  One thread block obtain the weight of one particle  The AABB approach simplified computation but induce some error  The remaining PF stages are similar

  23. 3D Visual tracking Performance (higher is better) CPU 1 thread FPS CPU 2 thread 450 CPU 4 thread 400 CPU 8 thread GTX 780 350 300 250 200 150 100 50 0 10 100 500 1000 # Particles

  24. 3D Visual tracking Hybrid configuration 1000 particles FPS 120 x49.7 CPU 1 thread x46.4 x46.7 100 CPU 8 threads x38.2 GPU 80 60 x21.8 40 20 x1 x3.9 0 CPU CPU+GPU(W) CPU+GPU(BS+W) GPU

  25. 3D Visual tracking GPUs Comparison FPS GTX 680 450 GTX 780 400 GTX Titan Black 350 300 250 200 150 100 50 0 10 100 500 1000 Particles Partículas

  26. 3D Visual tracking Distance (mm) Ground Truth Ground Truth vs AABB X 1500 Ground Truth Y 1000 500 0 -500 -1000 -1500 1 76 151 226 301 376 451 526 601 676 751 826 901

  27. Agenda  Introduction  2D Articulated Tracking  CUDA Adaptation  3D Object Tracking  3D Articulated Tracking (work in progress)

  28. 3D Articulated Tracking  Articulated body model with more than 30 DOF  larger particle population  very computationally expensive evaluation +  Each particle is represented by multiple regions (articulated) in many images (3D)  Regions no longer axis aligned and cylindrical

  29. 3D Articulated Tracking  PF alone is not enough  Huge state space

  30. Conclusions  Particle filter is a scalable and parallel friendly method.  Its weight computation is the most demanding stage  2D articulated tracking  Up to 630 fps on GPU using shaders (256 particles)  3D object tracking  Improvement of almost x50 against CPU  Good accuracy with 100 particles running at 300 fps.  Now combining both ideas for the 3D articulated problem

  31. Questions 2004 2006 2009 SIGGRAPH poster SIGGRAPH poster First PF weighting on GPU Complete PF on GPU GPUTA 2009 2012 2D articulated tracking GTC 2013 CUDA Rasterizer Thank you for your attention GTC 3D Object Tracking 2014 (Kinect+GPU) 2014 GTC 2015-16 ?? High-Performance Multiview 3D Tracking JRTIP Using Particle Filters CPU vs GPU 3D articulated Performance study of PF

Recommend


More recommend