67 std::vector<base::ObjectPtr>* fused_objects)
override;
69 std::string
Name()
const override {
return "ProbabilisticFusion"; }
95 void CollectFusedObjects(
double timestamp,
96 std::vector<base::ObjectPtr>* fused_objects);
113 void RemoveLostTrack();
121 void UpdateAssignedTracks(
123 const std::vector<TrackMeasurmentPair>& assignments);
132 const std::vector<size_t>& unassigned_track_inds);
141 const std::vector<size_t>& unassigned_obj_inds);
150 void CollectObjectsByTrack(
double timestamp,
const TrackPtr& track,
151 std::vector<base::ObjectPtr>* fused_objects);
159 void CollectSensorMeasurementFromObject(
164 std::mutex data_mutex_;
165 std::mutex fuse_mutex_;
168 std::vector<std::shared_ptr<BaseTracker>> trackers_;
170 std::unique_ptr<BaseDataAssociation> matcher_;
171 std::unique_ptr<BaseGatekeeper> gate_keeper_;
bool Init(const FusionInitOptions &options) override
Initialization
ProbabilisticFusion()=default
std::string Name() const override
The name of BaseFusionSystem
bool Fuse(const base::FrameConstPtr &sensor_frame, std::vector< base::ObjectPtr > *fused_objects) override
Probabilistic fusion of sensor data, the input is the detection results of different sensors,...
~ProbabilisticFusion()=default
#define DISALLOW_COPY_AND_ASSIGN(classname)
std::shared_ptr< const Frame > FrameConstPtr
std::shared_ptr< const SensorObject > SensorObjectConstPtr
std::shared_ptr< SensorFrame > SensorFramePtr
std::shared_ptr< Track > TrackPtr
std::shared_ptr< Scene > ScenePtr
std::string data_association_method
std::string gate_keeper_method
std::string tracker_method
std::vector< std::string > prohibition_sensors