EyeAI
Loading...
Searching...
No Matches
ObjectTracker.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "ByteTrack/Object.h"
5#include <ByteTrack/BYTETracker.h>
6#include <chrono>
7
8using byte_track::BYTETracker, byte_track::Rect, byte_track::Object;
9
11 private:
12 using BoundingBox = YoloModel::BoundingBox;
13
14 public:
16 BoundingBox bounding_box;
18
22 };
23
24 explicit ObjectTracker(std::vector<std::string> labels)
25 : labels(std::move(labels)) {}
26
27 std::vector<TrackedBoundingBox>
28 update(std::span<const BoundingBox> detected_objects);
29
30 private:
31 const std::vector<std::string> labels;
32 constexpr static float MAX_TRACKING_TIME_SECONDS = 10.f;
33 constexpr static float EXPECTED_FPS = 10.f;
36 constexpr static float MIN_WAITING_PREDICTION_TIME_BEFORE_VALID = 0.5f;
37 BYTETracker tracker{MAX_TRACKING_TIME_SECONDS, EXPECTED_FPS};
38 std::chrono::high_resolution_clock::time_point last_update =
39 std::chrono::high_resolution_clock::now();
41 std::unordered_map<int, float> tracked_object_valid_score;
42};
std::vector< TrackedBoundingBox > update(std::span< const BoundingBox > detected_objects)
Definition ObjectTracker.cpp:8
ObjectTracker(std::vector< std::string > labels)
Definition ObjectTracker.hpp:24
BoundingBox bounding_box
Definition ObjectTracker.hpp:16
TrackedBoundingBox(BoundingBox bounding_box, int tracking_id)
Definition ObjectTracker.hpp:20
int tracking_id
Definition ObjectTracker.hpp:17
Definition YoloModel.hpp:8