Spaces:
Sleeping
Sleeping
Update tracker.py
Browse files- tracker.py +8 -0
tracker.py
CHANGED
|
@@ -1,6 +1,9 @@
|
|
| 1 |
import numpy as np
|
| 2 |
from filterpy.kalman import KalmanFilter
|
| 3 |
from scipy.optimize import linear_sum_assignment
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
class BYTETracker:
|
| 6 |
def __init__(self, track_thresh=0.3, track_buffer=90, match_thresh=0.5, frame_rate=30):
|
|
@@ -14,6 +17,8 @@ class BYTETracker:
|
|
| 14 |
self.worker_history = {}
|
| 15 |
self.last_positions = {}
|
| 16 |
self.recently_removed = {}
|
|
|
|
|
|
|
| 17 |
|
| 18 |
def _init_kalman(self):
|
| 19 |
kf = KalmanFilter(dim_x=4, dim_z=2)
|
|
@@ -47,6 +52,9 @@ class BYTETracker:
|
|
| 47 |
self.tracks[track_id]['bbox'][:2] = kf.x[:2].flatten()
|
| 48 |
|
| 49 |
# Match detections to tracks
|
|
|
|
|
|
|
|
|
|
| 50 |
cost_matrix = np.zeros((len(dets), len(self.tracks)))
|
| 51 |
track_ids = list(self.tracks.keys())
|
| 52 |
for i, det in enumerate(dets):
|
|
|
|
| 1 |
import numpy as np
|
| 2 |
from filterpy.kalman import KalmanFilter
|
| 3 |
from scipy.optimize import linear_sum_assignment
|
| 4 |
+
import logging
|
| 5 |
+
|
| 6 |
+
logger = logging.getLogger(__name__)
|
| 7 |
|
| 8 |
class BYTETracker:
|
| 9 |
def __init__(self, track_thresh=0.3, track_buffer=90, match_thresh=0.5, frame_rate=30):
|
|
|
|
| 17 |
self.worker_history = {}
|
| 18 |
self.last_positions = {}
|
| 19 |
self.recently_removed = {}
|
| 20 |
+
logger.info("BYTETracker initialized with track_thresh=%.2f, track_buffer=%d, match_thresh=%.2f",
|
| 21 |
+
track_thresh, track_buffer, match_thresh)
|
| 22 |
|
| 23 |
def _init_kalman(self):
|
| 24 |
kf = KalmanFilter(dim_x=4, dim_z=2)
|
|
|
|
| 52 |
self.tracks[track_id]['bbox'][:2] = kf.x[:2].flatten()
|
| 53 |
|
| 54 |
# Match detections to tracks
|
| 55 |
+
if len(dets) == 0:
|
| 56 |
+
return tracks
|
| 57 |
+
|
| 58 |
cost_matrix = np.zeros((len(dets), len(self.tracks)))
|
| 59 |
track_ids = list(self.tracks.keys())
|
| 60 |
for i, det in enumerate(dets):
|