`ultralytics 8.2.74` add `fuse_score=True` BoT-SORT and ByteTrack arg (#14965)

Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
pull/13874/merge v8.2.74
Laughing 3 months ago committed by GitHub
parent 8771f923c0
commit 9f59331854
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      docs/mkdocs_github_authors.yaml
  2. 2
      ultralytics/__init__.py
  3. 2
      ultralytics/cfg/trackers/botsort.yaml
  4. 2
      ultralytics/cfg/trackers/bytetrack.yaml
  5. 5
      ultralytics/trackers/bot_sort.py
  6. 5
      ultralytics/trackers/byte_tracker.py

@ -14,6 +14,7 @@
49699333+dependabot[bot]@users.noreply.github.com: dependabot
52826299+Chayanonjackal@users.noreply.github.com: Chayanonjackal
53246858+hasanghaffari93@users.noreply.github.com: hasanghaffari93
60036186+mfloto@users.noreply.github.com: mfloto
61612323+Laughing-q@users.noreply.github.com: Laughing-q
62214284+Burhan-Q@users.noreply.github.com: Burhan-Q
68285002+Kayzwer@users.noreply.github.com: Kayzwer

@ -1,6 +1,6 @@
# Ultralytics YOLO 🚀, AGPL-3.0 license
__version__ = "8.2.73"
__version__ = "8.2.74"
import os

@ -7,8 +7,8 @@ track_low_thresh: 0.1 # threshold for the second association
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
track_buffer: 30 # buffer to calculate the time when to remove tracks
match_thresh: 0.8 # threshold for matching tracks
fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
# mot20: False # for tracker evaluation(not used for now)
# BoT-SORT settings
gmc_method: sparseOptFlow # method of global motion compensation

@ -7,5 +7,5 @@ track_low_thresh: 0.1 # threshold for the second association
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
track_buffer: 30 # buffer to calculate the time when to remove tracks
match_thresh: 0.8 # threshold for matching tracks
fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
# mot20: False # for tracker evaluation(not used for now)

@ -179,9 +179,8 @@ class BOTSORT(BYTETracker):
dists = matching.iou_distance(tracks, detections)
dists_mask = dists > self.proximity_thresh
# TODO: mot20
# if not self.args.mot20:
dists = matching.fuse_score(dists, detections)
if self.args.fuse_score:
dists = matching.fuse_score(dists, detections)
if self.args.with_reid and self.encoder is not None:
emb_dists = matching.embedding_distance(tracks, detections) / 2.0

@ -375,9 +375,8 @@ class BYTETracker:
def get_dists(self, tracks, detections):
"""Calculates the distance between tracks and detections using IoU and fuses scores."""
dists = matching.iou_distance(tracks, detections)
# TODO: mot20
# if not self.args.mot20:
dists = matching.fuse_score(dists, detections)
if self.args.fuse_score:
dists = matching.fuse_score(dists, detections)
return dists
def multi_predict(self, tracks):

Loading…
Cancel
Save