Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

strk_tracker Class Reference

#include <strk_tracker.h>

Inheritance diagram for strk_tracker:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 51 of file strk_tracker.h.

Public Member Functions

 strk_tracker (strk_tracker_params &tp)
 constructor from a parameter block (the only way).
 ~strk_tracker ()
 Default Destructor.
void set_image_0 (vil1_image &image)
 Set the previous frame image.
void set_image_i (vil1_image &image)
 Set the next frame image.
void set_initial_model (vtol_face_2d_sptr const &face)
 Set the initial model position.
vtol_face_2d_sptr get_best_sample ()
 because of sorting, the best sample will be the first current sample.
void get_samples (vcl_vector< vtol_face_2d_sptr > &samples)
 because of sorting the samples will be in descending order of correlation.
void init ()
 Initialize the tracker.
void generate_samples ()
 generate a random set of new faces from the existing samples.
void cull_samples ()
 cull out the best N hypothesized samples to become the current samples.
void track ()
 Main tracking method.
void clear ()
bool SanityCheck ()
 Checks that parameters are within acceptable bounds.

Public Attributes

int n_samples_
 number of samples generated per iteration
float search_radius_
 window size for generating samples
float angle_range_
 angle range for generating samples
float scale_range_
 scale range for generating samples
float sigma_
 Gaussian smoothing kernel stddev for estimating gradient.
bool gradient_info_
 Combine gradient and intensity info.

Protected Member Functions

vtol_intensity_face_sptr transform_face (vtol_intensity_face_sptr const &face, double tx, double ty, double theta, double scale)
 translate the input face by tx and ty.
void fill_face (vtol_intensity_face_sptr const &face, vil1_memory_image_of< float > const &image)
 fill the pixels in the input face from the input image.
void set_gradient (strk_correlated_face *cf, vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
void correlate_face (strk_correlated_face *cf)
 compute a distance between a face and the underlying image.
vtol_intensity_face_sptr generate_sample (vtol_intensity_face_sptr const &seed)
 Generate a random sample for face translation.
strk_correlated_facegenerate_cf_sample (strk_correlated_face *seed)
 Generate a more informative face using the previous method.
strk_correlated_faceregenerate_cf_sample (strk_correlated_face *sample)
 Form a new sample from the current image.
void transform_sample_in_place (strk_correlated_face *sample, double tx, double ty, double theta, double scale)
 Form a new sample from the current image.
bool compute_motion (strk_correlated_face *cf, double &tx, double &ty, double &theta, double &scale)
 Compute the optical flow motion.
double compute_correlation (strk_correlated_face *cf)
double compute_gradient_angle (strk_correlated_face *cf)
double compute_angle_motion (strk_correlated_face *cf)
bool compute_scale_motion (strk_correlated_face *cf, double &sx, double &sy)
void InitParams (int n_samples, float search_radius, float angle_range, float scale_range, float sigma, bool gradient_info)

Protected Attributes

vil1_memory_image_of< float > image_0_
vil1_memory_image_of< float > image_i_
vil1_memory_image_of< float > Ix_0_
vil1_memory_image_of< float > Iy_0_
vil1_memory_image_of< float > Ix_i_
vil1_memory_image_of< float > Iy_i_
vtol_face_2d_sptr initial_model_
vcl_vector< strk_correlated_face * > current_samples_
vcl_vector< strk_correlated_face * > hypothesized_samples_
vcl_vector< double > sample_scores_

Friends

vcl_ostream & operator<< (vcl_ostream &os, const strk_tracker_params &tp)


Constructor & Destructor Documentation

strk_tracker::strk_tracker strk_tracker_params tp  ) 
 

constructor from a parameter block (the only way).

Definition at line 56 of file strk_tracker.cxx.

strk_tracker::~strk_tracker  ) 
 

Default Destructor.

Definition at line 63 of file strk_tracker.cxx.


Member Function Documentation

void strk_tracker::clear  ) 
 

Definition at line 636 of file strk_tracker.cxx.

double strk_tracker::compute_angle_motion strk_correlated_face cf  )  [protected]
 

Definition at line 343 of file strk_tracker.cxx.

double strk_tracker::compute_correlation strk_correlated_face cf  )  [protected]
 

Definition at line 404 of file strk_tracker.cxx.

double strk_tracker::compute_gradient_angle strk_correlated_face cf  )  [protected]
 

Definition at line 314 of file strk_tracker.cxx.

bool strk_tracker::compute_motion strk_correlated_face cf,
double &  tx,
double &  ty,
double &  theta,
double &  scale
[protected]
 

Compute the optical flow motion.

Definition at line 258 of file strk_tracker.cxx.

bool strk_tracker::compute_scale_motion strk_correlated_face cf,
double &  sx,
double &  sy
[protected]
 

Definition at line 369 of file strk_tracker.cxx.

void strk_tracker::correlate_face strk_correlated_face cf  )  [protected]
 

compute a distance between a face and the underlying image.

Definition at line 430 of file strk_tracker.cxx.

void strk_tracker::cull_samples  ) 
 

cull out the best N hypothesized samples to become the current samples.

Definition at line 584 of file strk_tracker.cxx.

void strk_tracker::fill_face vtol_intensity_face_sptr const &  face,
vil1_memory_image_of< float > const &  image
[protected]
 

fill the pixels in the input face from the input image.

Definition at line 140 of file strk_tracker.cxx.

strk_correlated_face * strk_tracker::generate_cf_sample strk_correlated_face seed  )  [protected]
 

Generate a more informative face using the previous method.

Definition at line 498 of file strk_tracker.cxx.

vtol_intensity_face_sptr strk_tracker::generate_sample vtol_intensity_face_sptr const &  seed  )  [protected]
 

Generate a random sample for face translation.

Definition at line 485 of file strk_tracker.cxx.

void strk_tracker::generate_samples  ) 
 

generate a random set of new faces from the existing samples.

Definition at line 566 of file strk_tracker.cxx.

vtol_face_2d_sptr strk_tracker::get_best_sample  ) 
 

because of sorting, the best sample will be the first current sample.

Definition at line 608 of file strk_tracker.cxx.

void strk_tracker::get_samples vcl_vector< vtol_face_2d_sptr > &  samples  ) 
 

because of sorting the samples will be in descending order of correlation.

Definition at line 617 of file strk_tracker.cxx.

void strk_tracker::init  ) 
 

Initialize the tracker.

Definition at line 183 of file strk_tracker.cxx.

void strk_tracker_params::InitParams int  n_samples,
float  search_radius,
float  angle_range,
float  scale_range,
float  sigma,
bool  gradient_info
[protected, inherited]
 

Definition at line 42 of file strk_tracker_params.cxx.

strk_correlated_face * strk_tracker::regenerate_cf_sample strk_correlated_face sample  )  [protected]
 

Form a new sample from the current image.

Definition at line 518 of file strk_tracker.cxx.

bool strk_tracker_params::SanityCheck  )  [inherited]
 

Checks that parameters are within acceptable bounds.

Note that msg << ends seems to restart the string and erase the previous string. We should only use it as the last call, use vcl_endl otherwise.

Definition at line 63 of file strk_tracker_params.cxx.

void strk_tracker::set_gradient strk_correlated_face cf,
vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
[protected]
 

Definition at line 78 of file strk_tracker.cxx.

void strk_tracker::set_image_0 vil1_image image  ) 
 

Set the previous frame image.

Definition at line 97 of file strk_tracker.cxx.

void strk_tracker::set_image_i vil1_image image  ) 
 

Set the next frame image.

Definition at line 118 of file strk_tracker.cxx.

void strk_tracker::set_initial_model vtol_face_2d_sptr const &  face  ) 
 

Set the initial model position.

Definition at line 133 of file strk_tracker.cxx.

void strk_tracker::track  ) 
 

Main tracking method.

Definition at line 627 of file strk_tracker.cxx.

vtol_intensity_face_sptr strk_tracker::transform_face vtol_intensity_face_sptr const &  face,
double  tx,
double  ty,
double  theta,
double  scale
[protected]
 

translate the input face by tx and ty.

Definition at line 200 of file strk_tracker.cxx.

void strk_tracker::transform_sample_in_place strk_correlated_face sample,
double  tx,
double  ty,
double  theta,
double  scale
[protected]
 

Form a new sample from the current image.

Definition at line 533 of file strk_tracker.cxx.


Friends And Related Function Documentation

vcl_ostream& operator<< vcl_ostream &  os,
const strk_tracker_params tp
[friend, inherited]
 

Definition at line 74 of file strk_tracker_params.cxx.


Member Data Documentation

float strk_tracker_params::angle_range_ [inherited]
 

angle range for generating samples

Definition at line 44 of file strk_tracker_params.h.

vcl_vector<strk_correlated_face*> strk_tracker::current_samples_ [protected]
 

Definition at line 124 of file strk_tracker.h.

bool strk_tracker_params::gradient_info_ [inherited]
 

Combine gradient and intensity info.

Definition at line 47 of file strk_tracker_params.h.

vcl_vector<strk_correlated_face*> strk_tracker::hypothesized_samples_ [protected]
 

Definition at line 125 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::image_0_ [protected]
 

Definition at line 117 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::image_i_ [protected]
 

Definition at line 118 of file strk_tracker.h.

vtol_face_2d_sptr strk_tracker::initial_model_ [protected]
 

Definition at line 123 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::Ix_0_ [protected]
 

Definition at line 119 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::Ix_i_ [protected]
 

Definition at line 121 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::Iy_0_ [protected]
 

Definition at line 120 of file strk_tracker.h.

vil1_memory_image_of<float> strk_tracker::Iy_i_ [protected]
 

Definition at line 122 of file strk_tracker.h.

int strk_tracker_params::n_samples_ [inherited]
 

number of samples generated per iteration

Definition at line 42 of file strk_tracker_params.h.

vcl_vector<double> strk_tracker::sample_scores_ [protected]
 

Definition at line 126 of file strk_tracker.h.

float strk_tracker_params::scale_range_ [inherited]
 

scale range for generating samples

Definition at line 45 of file strk_tracker_params.h.

float strk_tracker_params::search_radius_ [inherited]
 

window size for generating samples

Definition at line 43 of file strk_tracker_params.h.

float strk_tracker_params::sigma_ [inherited]
 

Gaussian smoothing kernel stddev for estimating gradient.

Definition at line 46 of file strk_tracker_params.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:53:22 2008 for contrib/brl/bseg/strk by  doxygen 1.4.4