Difference between revisions of "Particle Filter"

From Rodinia
Jump to: navigation, search
(Created page with 'The particle filter (PF) is statistical estimator of the location of a target object given noisy measurements of that target’s location and an idea of the object’s path in a ...')
 
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
path in a Bayesian framework. The PF has a plethora of applications ranging from video
 
path in a Bayesian framework. The PF has a plethora of applications ranging from video
 
surveillance in the form of tracking vehicles, cells and faces to video compression. This
 
surveillance in the form of tracking vehicles, cells and faces to video compression. This
particular implementation is optimized for tracking cells, particularly leukocytes and myocardial
+
particular implementation is optimized for tracking cells, particularly leukocytes and myocardial cells.
 +
 
 
After selecting the target object, the PF begins tracking it by making a series of guesses
 
After selecting the target object, the PF begins tracking it by making a series of guesses
 
about the current frame given what is already known from the previous frame. The PF then
 
about the current frame given what is already known from the previous frame. The PF then
Line 12: Line 13:
 
in the video.
 
in the video.
  
V1 of the code interfaces with MATLAB. It allows for the pf to be called from within
+
V1 of the code interfaces with MATLAB. It allows for the PF to be called from within
 
MATLAB and also for the PF to call a predefined MATLAB implementation of the likelihood
 
MATLAB and also for the PF to call a predefined MATLAB implementation of the likelihood
 
function from within the OpenMP/Naïve CUDA implementations. However, doing so will cause
 
function from within the OpenMP/Naïve CUDA implementations. However, doing so will cause
Line 22: Line 23:
 
K. Skadron. Parallelization of Particle Filter Algorithms. In Proceedings of the 3rd Workshop
 
K. Skadron. Parallelization of Particle Filter Algorithms. In Proceedings of the 3rd Workshop
 
on Emerging Applications and Many-core Architecture (EAMA), in conjunction with the
 
on Emerging Applications and Many-core Architecture (EAMA), in conjunction with the
IEEE/ACM International Symposium on Computer Architecture (ISCA), June 2010. http://
+
IEEE/ACM International Symposium on Computer Architecture (ISCA), June 2010. ([http://www.cs.virginia.edu/~skadron/Papers/goodrum_eama2010.pdf pdf])
www.cs.virginia.edu/~skadron/Papers/goodrum_eama2010.pdf
+

Latest revision as of 04:00, 30 June 2010

The particle filter (PF) is statistical estimator of the location of a target object given noisy measurements of that target’s location and an idea of the object’s path in a Bayesian framework. The PF has a plethora of applications ranging from video surveillance in the form of tracking vehicles, cells and faces to video compression. This particular implementation is optimized for tracking cells, particularly leukocytes and myocardial cells.

After selecting the target object, the PF begins tracking it by making a series of guesses about the current frame given what is already known from the previous frame. The PF then determines the likelihood of each of those guesses occurring using a predefined likelihood model. Afterwards, the PF normalizes those guesses based on their likelihoods and then sums the normalized guesses to determine the object’s current location. Finally, the PF updates the guesses based on the current location of the object before repeating this process for all remaining frames in the video.

V1 of the code interfaces with MATLAB. It allows for the PF to be called from within MATLAB and also for the PF to call a predefined MATLAB implementation of the likelihood function from within the OpenMP/Naïve CUDA implementations. However, doing so will cause some slowdown.

For more information, please read the paper:

M. A. Goodrum, M. J. Trotter, A. Aksel, S. T. Acton, and K. Skadron. Parallelization of Particle Filter Algorithms. In Proceedings of the 3rd Workshop on Emerging Applications and Many-core Architecture (EAMA), in conjunction with the IEEE/ACM International Symposium on Computer Architecture (ISCA), June 2010. (pdf)