21 #ifndef TRACKING_METRICS_H
22 #define TRACKING_METRICS_H
27 #include <boost/bimap.hpp>
43 double threshold = 1.0
52 const std::vector<Correspondence>& corrs,
66 const std::vector<size_t>& mme_ct,
67 const std::vector<size_t>& fp_ct,
68 const std::vector<size_t>& miss_ct,
69 const std::vector<size_t>& match_ct,
70 const std::vector<size_t>& obj_ct,
71 const std::vector<double>& dists,
82 std::vector<Entity_id>& ids,
83 std::vector<const Vector*>&
points,
96 const std::vector<const Vector*>& pts1,
97 const std::vector<const Vector*>& pts2,
108 std::vector<std::pair<int, int> >& matching
118 const std::vector<Correspondence>& corrs,
121 std::vector<size_t>& mme_ct,
122 std::vector<size_t>& fp_ct,
123 std::vector<size_t>& miss_ct,
124 std::vector<size_t>& match_ct,
125 std::vector<size_t>& obj_ct,
126 std::vector<double>& dists
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
std::vector< Correspondence > get_correspondence(const Canonical_trajectory_map >_trajs, const Canonical_trajectory_map &hyp_trajs, double threshold=1.0)
Compute the correspondence between the groud truth track and hypothesized tracks. ...
Definition: tracking_metrics.cpp:32
boost::bimap< Entity_id, Entity_id > Correspondence
Definition: tracking_metrics.h:33
void get_mt_ml_fragment_and_id_switch(const std::vector< Correspondence > &corrs, const Canonical_trajectory_map >_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.
Definition: tracking_metrics.cpp:137
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) ...
Definition: tracking_metrics.cpp:259
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.
Definition: tracking_metrics.cpp:235
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.
Definition: tracking_metrics.cpp:331
Represents a set of trajectories; it is a map from entity to trajectory.
Definition: tracking_trajectory.h:53
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...
Definition: tracking_metrics.cpp:303
This class implements matrices, in the linear-algebra sense, with real-valued elements.
Definition: m_matrix.h:94
struct memorypool points
Definition: triangle.c:637
void get_counts_and_distances(const std::vector< Correspondence > &corrs, const Canonical_trajectory_map >_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 betwee...
Definition: tracking_metrics.cpp:359