26 #include <boost/bimap.hpp>
27 #include <boost/foreach.hpp>
28 #include <boost/iterator/counting_iterator.hpp>
34 #ifndef PSI_TRACKING_METRICS_H
35 #define PSI_TRACKING_METRICS_H
47 std::vector<std::pair<int, int> >& matching);
50 const std::vector<const Vector3*>& pts1,
51 const std::vector<const Vector3*>& pts2,
58 std::vector<Correspondence>& corrs);
66 typedef std::vector<Track_metrics> Base;
79 const std::vector<Correspondence>& corrs
85 const std::vector<Correspondence >& corrs);
96 threshold_(threshold),
107 total_num_gt_tracks_(0)
119 const std::vector<Correspondence>& corrs);
126 assert(total_distance_ == 0);
141 return total_distance_ / match_ct_;
156 return 1.0 - error_ratio;
174 return 1.0 - mt_ - ml_;
194 return total_num_gt_tracks_;
210 return fp_ct_ + miss_ct_ + mme_ct_;
215 return total_distance_;
228 const std::vector<Correspondence >& corrs);
233 const std::vector<Correspondence >& corrs);
237 double total_distance_;
247 size_t total_num_gt_tracks_;
boost::bimap< pt::Entity_id, pt::Entity_id > Correspondence
Definition: psi_metrics.h:91
void init_counts_(const pt::Trajectory_map >_track, const pt::Trajectory_map &test_track, const std::vector< Correspondence > &corrs)
Definition: psi_metrics.cpp:435
size_t error_count() const
Definition: psi_metrics.h:208
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
double motp() const
Definition: psi_metrics.h:121
boost::bimap< pt::Entity_id, pt::Entity_id > Correspondence
Definition: psi_metrics.h:43
Track_metrics(double threshold=1.0)
Definition: psi_metrics.h:95
void init_distance_(const pt::Trajectory_map >_track_map, const pt::Trajectory_map &test_track_map, double threshold, const std::vector< Correspondence > &corrs)
Definition: psi_metrics.cpp:528
Track_frame_metrics(const pt::Trajectory_map >_track, const pt::Trajectory_map &test_track, double threshold)
Definition: psi_metrics.cpp:394
double pt() const
Definition: psi_metrics.h:172
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: psi_metrics.cpp:170
double mt() const
Definition: psi_metrics.h:160
void init_counts_(const pt::Trajectory_map >_track, const pt::Trajectory_map &test_track, const std::vector< Correspondence > &corrs)
Definition: psi_metrics.cpp:544
size_t match_count() const
Definition: psi_metrics.h:218
size_t frag() const
Definition: psi_metrics.h:179
double mota() const
Definition: psi_metrics.h:144
size_t total_gt_tracks() const
Definition: psi_metrics.h:192
void get_pw_distance(const std::vector< const Vector3 * > &pts1, const std::vector< const Vector3 * > &pts2, kjb::Matrix &distance)
Definition: psi_metrics.cpp:183
Represents a set of trajectories; it is a map from entity to trajectory.
Definition: tracking_trajectory.h:53
void init_correspondence(const pt::Trajectory_map >_track_map, const pt::Trajectory_map &test_track_map, double threshold, std::vector< Correspondence > &corrs)
Definition: psi_metrics.cpp:200
size_t obj_count() const
Definition: psi_metrics.h:203
void init_distance_(const pt::Trajectory_map >_track_map, const pt::Trajectory_map &test_track_map, double threshold, const std::vector< Correspondence > &corrs)
Definition: psi_metrics.cpp:420
size_t ids() const
Definition: psi_metrics.h:186
This class implements matrices, in the linear-algebra sense, with real-valued elements.
Definition: m_matrix.h:94
Definition: psi_metrics.h:88
Definition: psi_metrics.h:64
boost::bimap< pt::Entity_id, pt::Entity_id > Correspondence
Definition: psi_metrics.h:68
double ml() const
Definition: psi_metrics.h:166
double total_distance() const
Definition: psi_metrics.h:213