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

strk_info_tracker Class Reference

#include <strk_info_tracker.h>

Inheritance diagram for strk_info_tracker:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 35 of file strk_info_tracker.h.

Public Member Functions

 strk_info_tracker (strk_info_tracker_params &tp)
 constructor from a parameter block (the only way).
 ~strk_info_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 region and position.
void set_capture_face (vtol_face_2d_sptr const &face, bool first_frame=false)
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 mutual info.
strk_tracking_face_2d_sptr tf (int i)
void get_best_face_points (vcl_vector< vtol_topology_object_sptr > &points)
bool get_background_faces (vcl_vector< vtol_face_2d_sptr > &faces)
strk_tracking_face_2d_sptr initial_tf ()
strk_tracking_face_2d_sptr capture_tf ()
vcl_vector< float > histograms ()
 external call to extract histograms during tracking.
vcl_vector< float > capture_histograms (bool first_frame=false)
 external call to extract histograms during featue capture.
bool init ()
 Initialize the info_tracker.
bool construct_background_faces (vtol_face_2d_sptr const &current_model, bool first_frame=false)
 Construct tracking faces which are clones of the current tracking face.
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 ()
void evaluate_info ()
 Evalutate the information at the initial region.
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_
 smoothing kernel radius for estimating gradient
bool gradient_info_
 Combine gradient and intensity info.
bool color_info_
 Combine color and intensity info.
float min_gradient_
 minimum gradient magnitude to be considered
float parzen_sigma_
 smoothing for the histogram density
unsigned int intensity_hist_bins_
 number of intensity histogram bins
unsigned int gradient_dir_hist_bins_
 number of grad dir histogram bins
unsigned int color_hist_bins_
 number of color histogram bins
bool use_background_
 employ a background model
bool renyi_joint_entropy_
 use renyi entropy for joint distributions
bool verbose_
 informative messages to cout
bool debug_
 informative debug messages to cout

Protected Member Functions

bool refresh_sample ()
 random choice to refresh the intensity data of a sample.
strk_tracking_face_2d_sptr generate_randomly_positioned_sample (strk_tracking_face_2d_sptr const &seed)
 Generate a new tracking face.
strk_tracking_face_2d_sptr clone_and_refresh_data (strk_tracking_face_2d_sptr const &sample)
 Generate a new tracking face with refreshed data.
vcl_vector< float > extract_histograms (strk_tracking_face_2d_sptr const &tf, bool first_frame=false)
 Extract the marginal histograms from the current tracking face.
void InitParams (int n_samples, float search_radius, float angle_range, float scale_range, float sigma, bool gradient_info, bool color_info, float min_gradient, float parzen_sigma, unsigned int intensity_hist_bins, unsigned int gradient_dir_hist_bins, unsigned int color_hist_bins, bool use_background, bool renyi_joint_entropy, bool verbose, bool debug)

Protected Attributes

vil1_memory_image_of< float > image_0_
vil1_memory_image_of< float > image_i_
vil1_memory_image_of< float > hue_0_
vil1_memory_image_of< float > sat_0_
vil1_memory_image_of< float > hue_i_
vil1_memory_image_of< float > sat_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_
vtol_face_2d_sptr capture_face_
strk_tracking_face_2d_sptr initial_tf_
strk_tracking_face_2d_sptr capture_tf_
vcl_vector< strk_tracking_face_2d_sptrcurrent_samples_
vcl_vector< strk_tracking_face_2d_sptrhypothesized_samples_
vcl_vector< strk_tracking_face_2d_sptrtrack_history_
vcl_vector< strk_tracking_face_2d_sptrbackground_faces_

Friends

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


Constructor & Destructor Documentation

strk_info_tracker::strk_info_tracker strk_info_tracker_params tp  ) 
 

constructor from a parameter block (the only way).

Definition at line 38 of file strk_info_tracker.cxx.

strk_info_tracker::~strk_info_tracker  ) 
 

Default Destructor.

Definition at line 45 of file strk_info_tracker.cxx.


Member Function Documentation

vcl_vector< float > strk_info_tracker::capture_histograms bool  first_frame = false  ) 
 

external call to extract histograms during featue capture.

Definition at line 579 of file strk_info_tracker.cxx.

strk_tracking_face_2d_sptr strk_info_tracker::capture_tf  )  [inline]
 

Definition at line 57 of file strk_info_tracker.h.

void strk_info_tracker::clear  ) 
 

Definition at line 380 of file strk_info_tracker.cxx.

strk_tracking_face_2d_sptr strk_info_tracker::clone_and_refresh_data strk_tracking_face_2d_sptr const &  sample  )  [protected]
 

Generate a new tracking face with refreshed data.

Definition at line 257 of file strk_info_tracker.cxx.

bool strk_info_tracker::construct_background_faces vtol_face_2d_sptr const &  current_model,
bool  first_frame = false
 

Construct tracking faces which are clones of the current tracking face.

(but arrayed on each edge of the bounding box of the current tracking face)

Definition at line 443 of file strk_info_tracker.cxx.

void strk_info_tracker::cull_samples  ) 
 

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

Definition at line 277 of file strk_info_tracker.cxx.

void strk_info_tracker::evaluate_info  ) 
 

Evalutate the information at the initial region.

Useful for debugging purposes.

Definition at line 389 of file strk_info_tracker.cxx.

vcl_vector< float > strk_info_tracker::extract_histograms strk_tracking_face_2d_sptr const &  tf,
bool  first_frame = false
[protected]
 

Extract the marginal histograms from the current tracking face.

|intensity|gradient|color|

Definition at line 529 of file strk_info_tracker.cxx.

strk_tracking_face_2d_sptr strk_info_tracker::generate_randomly_positioned_sample strk_tracking_face_2d_sptr const &  seed  )  [protected]
 

Generate a new tracking face.

Definition at line 168 of file strk_info_tracker.cxx.

void strk_info_tracker::generate_samples  ) 
 

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

Definition at line 211 of file strk_info_tracker.cxx.

bool strk_info_tracker::get_background_faces vcl_vector< vtol_face_2d_sptr > &  faces  ) 
 

Definition at line 516 of file strk_info_tracker.cxx.

void strk_info_tracker::get_best_face_points vcl_vector< vtol_topology_object_sptr > &  points  ) 
 

Definition at line 430 of file strk_info_tracker.cxx.

vtol_face_2d_sptr strk_info_tracker::get_best_sample  ) 
 

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

Definition at line 351 of file strk_info_tracker.cxx.

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

because of sorting the samples will be in descending order of mutual info.

Definition at line 361 of file strk_info_tracker.cxx.

vcl_vector< float > strk_info_tracker::histograms  ) 
 

external call to extract histograms during tracking.

Definition at line 571 of file strk_info_tracker.cxx.

bool strk_info_tracker::init  ) 
 

Initialize the info_tracker.

Definition at line 133 of file strk_info_tracker.cxx.

strk_tracking_face_2d_sptr strk_info_tracker::initial_tf  )  [inline]
 

Definition at line 56 of file strk_info_tracker.h.

void strk_info_tracker_params::InitParams int  n_samples,
float  search_radius,
float  angle_range,
float  scale_range,
float  sigma,
bool  gradient_info,
bool  color_info,
float  min_gradient,
float  parzen_sigma,
unsigned int  intensity_hist_bins,
unsigned int  gradient_dir_hist_bins,
unsigned int  color_hist_bins,
bool  use_background,
bool  renyi_joint_entropy,
bool  verbose,
bool  debug
[protected, inherited]
 

Definition at line 72 of file strk_info_tracker_params.cxx.

bool strk_info_tracker::refresh_sample  )  [protected]
 

random choice to refresh the intensity data of a sample.

Definition at line 245 of file strk_info_tracker.cxx.

bool strk_info_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 113 of file strk_info_tracker_params.cxx.

void strk_info_tracker::set_capture_face vtol_face_2d_sptr const &  face,
bool  first_frame = false
 

Definition at line 586 of file strk_info_tracker.cxx.

void strk_info_tracker::set_image_0 vil1_image image  ) 
 

Set the previous frame image.

Definition at line 52 of file strk_info_tracker.cxx.

void strk_info_tracker::set_image_i vil1_image image  ) 
 

Set the next frame image.

Definition at line 89 of file strk_info_tracker.cxx.

void strk_info_tracker::set_initial_model vtol_face_2d_sptr const &  face  ) 
 

Set the initial model region and position.

Definition at line 125 of file strk_info_tracker.cxx.

strk_tracking_face_2d_sptr strk_info_tracker::tf int  i  )  [inline]
 

Definition at line 53 of file strk_info_tracker.h.

void strk_info_tracker::track  ) 
 

Main tracking method.

Definition at line 371 of file strk_info_tracker.cxx.


Friends And Related Function Documentation

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

Definition at line 124 of file strk_info_tracker_params.cxx.


Member Data Documentation

float strk_info_tracker_params::angle_range_ [inherited]
 

angle range for generating samples

Definition at line 64 of file strk_info_tracker_params.h.

vcl_vector<strk_tracking_face_2d_sptr> strk_info_tracker::background_faces_ [protected]
 

Definition at line 110 of file strk_info_tracker.h.

vtol_face_2d_sptr strk_info_tracker::capture_face_ [protected]
 

Definition at line 100 of file strk_info_tracker.h.

strk_tracking_face_2d_sptr strk_info_tracker::capture_tf_ [protected]
 

Definition at line 102 of file strk_info_tracker.h.

unsigned int strk_info_tracker_params::color_hist_bins_ [inherited]
 

number of color histogram bins

Definition at line 73 of file strk_info_tracker_params.h.

bool strk_info_tracker_params::color_info_ [inherited]
 

Combine color and intensity info.

Definition at line 68 of file strk_info_tracker_params.h.

vcl_vector<strk_tracking_face_2d_sptr> strk_info_tracker::current_samples_ [protected]
 

Definition at line 107 of file strk_info_tracker.h.

bool strk_info_tracker_params::debug_ [inherited]
 

informative debug messages to cout

Definition at line 77 of file strk_info_tracker_params.h.

unsigned int strk_info_tracker_params::gradient_dir_hist_bins_ [inherited]
 

number of grad dir histogram bins

Definition at line 72 of file strk_info_tracker_params.h.

bool strk_info_tracker_params::gradient_info_ [inherited]
 

Combine gradient and intensity info.

Definition at line 67 of file strk_info_tracker_params.h.

vil1_memory_image_of<float> strk_info_tracker::hue_0_ [protected]
 

Definition at line 91 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::hue_i_ [protected]
 

Definition at line 93 of file strk_info_tracker.h.

vcl_vector<strk_tracking_face_2d_sptr> strk_info_tracker::hypothesized_samples_ [protected]
 

Definition at line 108 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::image_0_ [protected]
 

Definition at line 89 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::image_i_ [protected]
 

Definition at line 90 of file strk_info_tracker.h.

vtol_face_2d_sptr strk_info_tracker::initial_model_ [protected]
 

Definition at line 99 of file strk_info_tracker.h.

strk_tracking_face_2d_sptr strk_info_tracker::initial_tf_ [protected]
 

Definition at line 101 of file strk_info_tracker.h.

unsigned int strk_info_tracker_params::intensity_hist_bins_ [inherited]
 

number of intensity histogram bins

Definition at line 71 of file strk_info_tracker_params.h.

vil1_memory_image_of<float> strk_info_tracker::Ix_0_ [protected]
 

Definition at line 95 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::Ix_i_ [protected]
 

Definition at line 97 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::Iy_0_ [protected]
 

Definition at line 96 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::Iy_i_ [protected]
 

Definition at line 98 of file strk_info_tracker.h.

float strk_info_tracker_params::min_gradient_ [inherited]
 

minimum gradient magnitude to be considered

Definition at line 69 of file strk_info_tracker_params.h.

int strk_info_tracker_params::n_samples_ [inherited]
 

number of samples generated per iteration

Definition at line 62 of file strk_info_tracker_params.h.

float strk_info_tracker_params::parzen_sigma_ [inherited]
 

smoothing for the histogram density

Definition at line 70 of file strk_info_tracker_params.h.

bool strk_info_tracker_params::renyi_joint_entropy_ [inherited]
 

use renyi entropy for joint distributions

Definition at line 75 of file strk_info_tracker_params.h.

vil1_memory_image_of<float> strk_info_tracker::sat_0_ [protected]
 

Definition at line 92 of file strk_info_tracker.h.

vil1_memory_image_of<float> strk_info_tracker::sat_i_ [protected]
 

Definition at line 94 of file strk_info_tracker.h.

float strk_info_tracker_params::scale_range_ [inherited]
 

scale range for generating samples

Definition at line 65 of file strk_info_tracker_params.h.

float strk_info_tracker_params::search_radius_ [inherited]
 

window size for generating samples

Definition at line 63 of file strk_info_tracker_params.h.

float strk_info_tracker_params::sigma_ [inherited]
 

smoothing kernel radius for estimating gradient

Definition at line 66 of file strk_info_tracker_params.h.

vcl_vector<strk_tracking_face_2d_sptr> strk_info_tracker::track_history_ [protected]
 

Definition at line 109 of file strk_info_tracker.h.

bool strk_info_tracker_params::use_background_ [inherited]
 

employ a background model

Definition at line 74 of file strk_info_tracker_params.h.

bool strk_info_tracker_params::verbose_ [inherited]
 

informative messages to cout

Definition at line 76 of file strk_info_tracker_params.h.


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