From 70c400ee158fc52361e6d38e4b93f55fff21edd7 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Sun, 5 Nov 2023 15:22:00 +0100 Subject: [PATCH] `ultralytics 8.0.207` fix `model.track(persist=True)` bug (#6145) --- ultralytics/__init__.py | 2 +- ultralytics/trackers/track.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ultralytics/__init__.py b/ultralytics/__init__.py index 552a8a1a6..6859d9671 100644 --- a/ultralytics/__init__.py +++ b/ultralytics/__init__.py @@ -1,6 +1,6 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license -__version__ = '8.0.206' +__version__ = '8.0.207' from ultralytics.models import RTDETR, SAM, YOLO from ultralytics.models.fastsam import FastSAM diff --git a/ultralytics/trackers/track.py b/ultralytics/trackers/track.py index 5ec06dc53..39e2275f0 100644 --- a/ultralytics/trackers/track.py +++ b/ultralytics/trackers/track.py @@ -38,13 +38,13 @@ def on_predict_start(predictor, persist=False): predictor.trackers = trackers -def on_predict_postprocess_end(predictor): +def on_predict_postprocess_end(predictor, persist=False): """Postprocess detected boxes and update with object tracking.""" bs = predictor.dataset.bs path, im0s = predictor.batch[:2] for i in range(bs): - if predictor.vid_path[i] != str(predictor.save_dir / Path(path[i]).name): # new video + if not persist and predictor.vid_path[i] != str(predictor.save_dir / Path(path[i]).name): # new video predictor.trackers[i].reset() det = predictor.results[i].boxes.cpu().numpy() @@ -67,4 +67,4 @@ def register_tracker(model, persist): persist (bool): Whether to persist the trackers if they already exist. """ model.add_callback('on_predict_start', partial(on_predict_start, persist=persist)) - model.add_callback('on_predict_postprocess_end', on_predict_postprocess_end) + model.add_callback('on_predict_postprocess_end', partial(on_predict_postprocess_end, persist=persist))