4
4
import numpy as np
5
5
import scipy
6
6
from filterpy .kalman import KalmanFilter
7
- from loguru import logger
8
-
9
- from motpy .core import Box , Detection , Track , Vector
7
+ from motpy .core import Box , Detection , Track , Vector , setup_logger
10
8
from motpy .metrics import angular_similarity , calculate_iou
11
- from motpy .model import ModelPreset , Model
9
+ from motpy .model import Model , ModelPreset
10
+
11
+ logger = setup_logger (__name__ )
12
12
13
13
14
14
def get_object_tracker (dt : float , model : Model , x0 : Optional [Vector ] = None ):
@@ -107,7 +107,7 @@ def is_invalid(self):
107
107
has_nans = any (np .isnan (self ._tracker .x ))
108
108
return has_nans
109
109
except Exception as e :
110
- logger .trace ('invalid tracker, exception: %s' % str (e ))
110
+ logger .warning ('invalid tracker, exception: %s' % str (e ))
111
111
return True
112
112
113
113
@property
@@ -229,7 +229,7 @@ def __init__(self, dt: float,
229
229
self .model_spec = ModelPreset [model_spec ].value
230
230
else :
231
231
raise NotImplementedError ('unsupported motion model %s' % str (model_spec ))
232
- logger .trace ('using model spec: %s' % str (self .model_spec ))
232
+ logger .debug ('using model spec: %s' % str (self .model_spec ))
233
233
234
234
self .matching_fn = matching_fn
235
235
self .matching_fn_kwargs = matching_fn_kwargs if matching_fn_kwargs is not None else {}
@@ -238,11 +238,11 @@ def __init__(self, dt: float,
238
238
239
239
# kwargs to be passed to each single object tracker
240
240
self .tracker_kwargs = tracker_kwargs if tracker_kwargs is not None else {}
241
- logger .trace ('using tracker_kwargs: %s' % str (self .tracker_kwargs ))
241
+ logger .debug ('using tracker_kwargs: %s' % str (self .tracker_kwargs ))
242
242
243
243
# kwargs to be used when self.step returns active tracks
244
244
self .active_tracks_kwargs = active_tracks_kwargs if active_tracks_kwargs is not None else {}
245
- logger .trace ('using active_tracks_kwargs: %s' % str (self .active_tracks_kwargs ))
245
+ logger .debug ('using active_tracks_kwargs: %s' % str (self .active_tracks_kwargs ))
246
246
247
247
def active_tracks (self ,
248
248
max_staleness_to_positive_ratio : float = 3.0 ,
@@ -258,14 +258,14 @@ def active_tracks(self,
258
258
if cond1 and cond2 and cond3 :
259
259
tracks .append (Track (id = tracker .id , box = tracker .box ))
260
260
261
- logger .trace ('active/all tracks: %d/%d' % (len (self .trackers ), len (tracks )))
261
+ logger .debug ('active/all tracks: %d/%d' % (len (self .trackers ), len (tracks )))
262
262
return tracks
263
263
264
264
def cleanup_trackers (self ):
265
265
count_before = len (self .trackers )
266
266
self .trackers = [t for t in self .trackers if not (t .is_stale or t .is_invalid )]
267
267
count_after = len (self .trackers )
268
- logger .trace ('deleted %s/%s trackers' % (count_before - count_after , count_before ))
268
+ logger .debug ('deleted %s/%s trackers' % (count_before - count_after , count_before ))
269
269
270
270
def step (self , detections : Sequence [Detection ]):
271
271
""" the method matches the new detections with existing trackers,
@@ -275,9 +275,9 @@ def step(self, detections: Sequence[Detection]):
275
275
# filter out empty detections
276
276
detections = [det for det in detections if det .box is not None ]
277
277
278
- logger .trace ('step with %d detections' % len (detections ))
278
+ logger .debug ('step with %d detections' % len (detections ))
279
279
matches = self .matching_fn (self .trackers , detections )
280
- logger .trace ('matched %d pairs' % len (matches ))
280
+ logger .debug ('matched %d pairs' % len (matches ))
281
281
282
282
# all trackers: predict
283
283
for t in self .trackers :
0 commit comments