Tracore
NStage.h
1 //
2 // Created by wrede on 25.04.16.
3 //
4 
5 #ifndef GBMOT_NSTAGE_H
6 #define GBMOT_NSTAGE_H
7 
8 #include "../core/DetectionSequence.h"
9 #include "../core/Tracklet.h"
10 #include "../graph/Definitions.h"
11 
12 namespace algo
13 {
18  class NStage
19  {
20  private:
24  std::vector<size_t> max_frame_skips_;
25 
29  std::vector<double> penalty_values_;
30 
34  std::vector<size_t> max_tracklet_counts_;
35 
39  size_t iterations_;
40 
44  double edge_weight_threshold_;
45 
49  std::vector<std::unordered_map<std::string, double>> constraints_;
50 
58  void CreateObjectGraph(DirectedGraph & graph, core::DetectionSequence & detections);
59 
68  void CreateTrackletGraph(DirectedGraph & obj_graph, DirectedGraph & tlt_graph,
69  size_t frame_count, size_t iteration);
70 
78  void ExtractTracks(DirectedGraph& tlt_graph, size_t depth,
79  std::vector<core::TrackletPtr> & tracks);
80  public:
93  NStage(std::vector<size_t> max_frame_skip,
94  std::vector<double> penalty_value,
95  std::vector<size_t> max_tracklet_count,
96  double edge_weight_threshold,
97  std::vector<std::unordered_map<std::string, double>> constraints);
98 
106  void Run(core::DetectionSequence & sequence,
107  std::vector<core::TrackletPtr> & tracks);
108  };
109 }
110 
111 
112 #endif //GBMOT_NSTAGE_H
Definition: NStage.h:18
Definition: Berclaz.cpp:10
NStage(std::vector< size_t > max_frame_skip, std::vector< double > penalty_value, std::vector< size_t > max_tracklet_count, double edge_weight_threshold, std::vector< std::unordered_map< std::string, double >> constraints)
Definition: NStage.cpp:11
void Run(core::DetectionSequence &sequence, std::vector< core::TrackletPtr > &tracks)
Definition: NStage.cpp:265
Definition: DetectionSequence.h:18