21#include "modules/perception/traffic_light_tracking/tracker/proto/semantic.pb.h"
29namespace trafficlight {
85 std::vector<base::TrafficLightPtr> *lights);
94 std::vector<base::TrafficLightPtr> *lights);
103 std::vector<base::TrafficLightPtr> *lights,
104 std::vector<SemanticTable>::iterator *history);
112 void ReviseLights(std::vector<base::TrafficLightPtr> *lights,
118 float revise_time_s_;
119 float blink_threshold_s_;
120 float non_blink_threshold_s_;
121 int hysteretic_threshold_;
122 std::vector<SemanticTable> history_semantic_;
~SemanticReviser()=default
Destroy the semantic reviser object.
bool Init(const TrafficLightTrackerInitOptions &options=TrafficLightTrackerInitOptions()) override
Initialize semantic reviser parameters.
void ReviseLights(std::vector< base::TrafficLightPtr > *lights, const std::vector< int > &light_ids, base::TLColor dst_color)
Revise and tracking traffic light.
void ReviseByTimeSeries(double time_stamp, SemanticTable semantic_table, std::vector< base::TrafficLightPtr > *lights)
Correction based on timeseries information.
void UpdateHistoryAndLights(const SemanticTable &cur, std::vector< base::TrafficLightPtr > *lights, std::vector< SemanticTable >::iterator *history)
Update the traffic light history information.
bool Track(camera::TrafficLightFrame *frame) override
Track detected traffic_light.
SemanticReviser()
Construct a new semantic reviser object.
base::TLColor ReviseBySemantic(SemanticTable semantic_table, std::vector< base::TrafficLightPtr > *lights)
Correction based on semantic information.
#define DISALLOW_COPY_AND_ASSIGN(classname)
base::TLColor hysteretic_color
double last_dark_time_stamp
double last_bright_time_stamp
std::vector< int > light_ids
HystereticWindow hystertic_window