KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
kjb::tracking Namespace Reference

Classes

struct  Entity_id
 Entity + index; used for file I/O. More...
 
class  Generic_trajectory
 Represents a trajectory. Vector of optionals to trajectory elements. More...
 
class  Generic_trajectory_map
 Represents a set of trajectories; it is a map from entity to trajectory. More...
 
struct  Generic_trajectory_element
 Represents an element of a trajectory of a particular entity. More...
 

Typedefs

typedef boost::bimap
< Entity_id, Entity_id
Correspondence
 
typedef Generic_trajectory
< kjb::Vector
Canonical_trajectory
 
typedef Generic_trajectory_map
< kjb::Vector
Canonical_trajectory_map
 

Enumerations

enum  Entity_type {
  PERSON_ENTITY, BICYCLE_ENTITY, BOTTLE_ENTITY, CAR_ENTITY,
  CHAIR_ENTITY, DOG_ENTITY, FRAMES_ENTITY, MOTORBIKE_ENTITY,
  OBJECT_ENTITY, BOX_ENTITY, BAG_ENTITY, NUM_ENTITY_TYPES
}
 

Functions

std::vector< std::string > get_all_entity_type_names ()
 Get all types. More...
 
const std::string & get_entity_type_name (Entity_type type)
 Get the name of a entity type. More...
 
Entity_type get_entity_type (const std::string &name)
 Get the type of a entity name. More...
 
double get_entity_type_average_height (Entity_type type)
 Get the average height of an entity. More...
 
double get_entity_type_stddev_height (Entity_type type)
 Get the standard deviation of the height of an entity. More...
 
double get_entity_type_average_width (Entity_type type)
 Get the average width of an entity. More...
 
double get_entity_type_stddev_width (Entity_type type)
 Get the standard deviation of the width of an entity. More...
 
double get_entity_type_average_girth (Entity_type type)
 Get the average girth of an entity. More...
 
double get_entity_type_stddev_girth (Entity_type type)
 Get the standard deviation of the girth of an entity. More...
 
std::ostream & operator<< (std::ostream &ost, Entity_type type)
 Stream out an entity. More...
 
std::istream & operator>> (std::istream &ist, Entity_type &type)
 Stream in an entity. More...
 
std::istream & operator>> (std::istream &ist, Entity_id &id)
 Stream out an entity-id. More...
 
std::ostream & operator<< (std::ostream &ost, const Entity_id &id)
 Stream in an entity-id. More...
 
std::vector< Correspondenceget_correspondence (const Canonical_trajectory_map &gt_trajs, const Canonical_trajectory_map &hyp_trajs, double threshold=1.0)
 Compute the correspondence between the groud truth track and hypothesized tracks. More...
 
void get_mt_ml_fragment_and_id_switch (const std::vector< Correspondence > &corrs, const Canonical_trajectory_map &gt_trajs, const Canonical_trajectory_map &hyp_trajs, double &mt, double &ml, size_t &frags, size_t &id_switch)
 Compute most_tracked, most_lost and id_switches for a given correspondence. More...
 
void get_mota_and_motp (const std::vector< size_t > &mme_ct, const std::vector< size_t > &fp_ct, const std::vector< size_t > &miss_ct, const std::vector< size_t > &match_ct, const std::vector< size_t > &obj_ct, const std::vector< double > &dists, double &mota, double &motp)
 Compute metrics based on the counts. More...
 
void init_ids_and_points (std::vector< Entity_id > &ids, std::vector< const Vector * > &points, const Canonical_trajectory_map &trajs, size_t cur_frame, const Correspondence &existing_corr, bool ground_truth)
 Extract unclaimed points for this time slice (ignores anything currently in exsiting correspondence) More...
 
void get_pw_distance (const std::vector< const Vector * > &pts1, const std::vector< const Vector * > &pts2, Matrix &distance)
 Compute the pairwise distance between pts1 and pts2 and stores the results in Matrix distance. More...
 
void get_best_matching (const kjb::Matrix &pw_distance, double threshold, std::vector< std::pair< int, int > > &matching)
 Compute the best matching using hungarian algorithm. More...
 
void get_counts_and_distances (const std::vector< Correspondence > &corrs, const Canonical_trajectory_map &gt_trajs, const Canonical_trajectory_map &hyp_trajs, std::vector< size_t > &mme_ct, std::vector< size_t > &fp_ct, std::vector< size_t > &miss_ct, std::vector< size_t > &match_ct, std::vector< size_t > &obj_ct, std::vector< double > &dists)
 Compute the counts (match, miss match, false positives, grouth truth objects, and the distance between matched grouth truth and hypothesized tracks. More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
PERSON_ENTITY 
BICYCLE_ENTITY 
BOTTLE_ENTITY 
CAR_ENTITY 
CHAIR_ENTITY 
DOG_ENTITY 
FRAMES_ENTITY 
MOTORBIKE_ENTITY 
OBJECT_ENTITY 
BOX_ENTITY 
BAG_ENTITY 
NUM_ENTITY_TYPES 

Function Documentation

std::vector< std::string > kjb::tracking::get_all_entity_type_names ( )

Get all types.

void kjb::tracking::get_best_matching ( const kjb::Matrix pw_distance,
double  threshold,
std::vector< std::pair< int, int > > &  matching 
)

Compute the best matching using hungarian algorithm.

std::vector< Correspondence > kjb::tracking::get_correspondence ( const Canonical_trajectory_map gt_trajs,
const Canonical_trajectory_map hyp_trajs,
double  threshold = 1.0 
)

Compute the correspondence between the groud truth track and hypothesized tracks.

void kjb::tracking::get_counts_and_distances ( const std::vector< Correspondence > &  corrs,
const Canonical_trajectory_map gt_trajs,
const Canonical_trajectory_map hyp_trajs,
std::vector< size_t > &  mme_ct,
std::vector< size_t > &  fp_ct,
std::vector< size_t > &  miss_ct,
std::vector< size_t > &  match_ct,
std::vector< size_t > &  obj_ct,
std::vector< double > &  dists 
)

Compute the counts (match, miss match, false positives, grouth truth objects, and the distance between matched grouth truth and hypothesized tracks.

Entity_type kjb::tracking::get_entity_type ( const std::string &  name)

Get the type of a entity name.

double kjb::tracking::get_entity_type_average_girth ( Entity_type  type)

Get the average girth of an entity.

double kjb::tracking::get_entity_type_average_height ( Entity_type  type)

Get the average height of an entity.

double kjb::tracking::get_entity_type_average_width ( Entity_type  type)

Get the average width of an entity.

const std::string & kjb::tracking::get_entity_type_name ( Entity_type  type)

Get the name of a entity type.

double kjb::tracking::get_entity_type_stddev_girth ( Entity_type  type)

Get the standard deviation of the girth of an entity.

double kjb::tracking::get_entity_type_stddev_height ( Entity_type  type)

Get the standard deviation of the height of an entity.

double kjb::tracking::get_entity_type_stddev_width ( Entity_type  type)

Get the standard deviation of the width of an entity.

void kjb::tracking::get_mota_and_motp ( const std::vector< size_t > &  mme_ct,
const std::vector< size_t > &  fp_ct,
const std::vector< size_t > &  miss_ct,
const std::vector< size_t > &  match_ct,
const std::vector< size_t > &  obj_ct,
const std::vector< double > &  dists,
double &  mota,
double &  motp 
)

Compute metrics based on the counts.

void kjb::tracking::get_mt_ml_fragment_and_id_switch ( const std::vector< Correspondence > &  corrs,
const Canonical_trajectory_map gt_trajs,
const Canonical_trajectory_map hyp_trajs,
double &  mt,
double &  ml,
size_t &  frags,
size_t &  id_switch 
)

Compute most_tracked, most_lost and id_switches for a given correspondence.

void kjb::tracking::get_pw_distance ( const std::vector< const Vector * > &  pts1,
const std::vector< const Vector * > &  pts2,
Matrix distance 
)

Compute the pairwise distance between pts1 and pts2 and stores the results in Matrix distance.

void kjb::tracking::init_ids_and_points ( std::vector< Entity_id > &  ids,
std::vector< const Vector * > &  points,
const Canonical_trajectory_map trajs,
size_t  cur_frame,
const Correspondence existing_corr,
bool  ground_truth 
)

Extract unclaimed points for this time slice (ignores anything currently in exsiting correspondence)

std::ostream & kjb::tracking::operator<< ( std::ostream &  ost,
Entity_type  type 
)

Stream out an entity.

std::ostream & kjb::tracking::operator<< ( std::ostream &  ost,
const Entity_id id 
)

Stream in an entity-id.

std::istream & kjb::tracking::operator>> ( std::istream &  ist,
Entity_type type 
)

Stream in an entity.

std::istream & kjb::tracking::operator>> ( std::istream &  ist,
Entity_id id 
)

Stream out an entity-id.