123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #pragma once
- #include <nvdstracker.h>
- #include "KalmanFilter.h"
- using namespace std;
- enum TrackState {
- New = 0, Tracked, Lost, Removed
- };
- class STrack {
- public:
- STrack(vector<float> tlwh_, float score, int label, NvMOTObjToTrack *associatedObjectIn);
- ~STrack();
- vector<float> static tlbr_to_tlwh(vector<float> &tlbr);
- void static multi_predict(vector<STrack *> &stracks, byte_kalman::KalmanFilter &kalman_filter);
- void static_tlwh();
- void static_tlbr();
- vector<float> tlwh_to_xyah(vector<float> tlwh_tmp);
- vector<float> to_xyah();
- void mark_lost();
- void mark_removed();
- int next_id();
- int end_frame();
- void activate(byte_kalman::KalmanFilter &kalman_filter, int frame_id);
- void re_activate(STrack &new_track, int frame_id, bool new_id = false);
- void update(STrack &new_track, int frame_id);
- public:
- bool is_activated;
- int track_id;
- int state;
- vector<float> original_tlwh;
- vector<float> _tlwh;
- vector<float> tlwh;
- vector<float> tlbr;
- int frame_id;
- int tracklet_len;
- int start_frame;
- int label;
- KAL_MEAN mean;
- KAL_COVA covariance;
- float score;
- NvMOTObjToTrack *associatedObjectIn;
- private:
- byte_kalman::KalmanFilter kalman_filter;
- };
|