12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import numpy as np
- from collections import OrderedDict
-
-
- class TrackState(object):
- New = 0
- Tracked = 1
- Lost = 2
- Removed = 3
-
-
- class BaseTrack(object):
- _count = 0
-
- track_id = 0
- is_activated = False
- state = TrackState.New
-
- history = OrderedDict()
- features = []
- curr_feature = None
- score = 0
- start_frame = 0
- frame_id = 0
- time_since_update = 0
-
- # multi-camera
- location = (np.inf, np.inf)
-
- @property
- def end_frame(self):
- return self.frame_id
-
- @staticmethod
- def next_id():
- BaseTrack._count += 1
- return BaseTrack._count
-
- def activate(self, *args):
- raise NotImplementedError
-
- def predict(self):
- raise NotImplementedError
-
- def update(self, *args, **kwargs):
- raise NotImplementedError
-
- def mark_lost(self):
- self.state = TrackState.Lost
-
- def mark_removed(self):
- self.state = TrackState.Removed
|