ultralytics 8.0.42 DDP fix and Docs updates (#1065)

Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ayush Chaurasia <ayush.chaurarsia@gmail.com>
Co-authored-by: Noobtoss <96134731+Noobtoss@users.noreply.github.com>
Co-authored-by: Laughing-q <1185102784@qq.com>
This commit is contained in:
Glenn Jocher
2023-02-20 12:56:20 +01:00
committed by GitHub
parent f6e393c1d2
commit f2a7a29e53
33 changed files with 196 additions and 93 deletions

View File

@ -16,7 +16,7 @@ model = YOLO("yolov8n.pt") # or a segmentation model .i.e yolov8n-seg.pt
model.track(
source="video/streams",
stream=True,
tracker="botsort.yaml/bytetrack.yaml",
tracker="botsort.yaml", # or 'bytetrack.yaml'
...,
)
```

View File

@ -1 +1,3 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from .trackers import BOTSORT, BYTETracker

View File

@ -1,3 +1,6 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
# Default YOLO tracker settings for BoT-SORT tracker https://github.com/NirAharon/BoT-SORT
tracker_type: botsort # tracker type, ['botsort', 'bytetrack']
track_high_thresh: 0.5 # threshold for the first association
track_low_thresh: 0.1 # threshold for the second association
@ -7,7 +10,7 @@ match_thresh: 0.8 # threshold for matching tracks
# 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)
# Botsort settings
# BoT-SORT settings
cmc_method: sparseOptFlow # method of global motion compensation
# ReID model related thresh (not supported yet)
proximity_thresh: 0.5

View File

@ -1,3 +1,6 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
# Default YOLO tracker settings for ByteTrack tracker https://github.com/ifzhang/ByteTrack
tracker_type: bytetrack # tracker type, ['botsort', 'bytetrack']
track_high_thresh: 0.5 # threshold for the first association
track_low_thresh: 0.1 # threshold for the second association

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import torch
from ultralytics.tracker import BOTSORT, BYTETracker

View File

@ -1,2 +1,4 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from .bot_sort import BOTSORT
from .byte_tracker import BYTETracker

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from collections import OrderedDict
import numpy as np

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
from collections import deque
import numpy as np
@ -97,7 +99,7 @@ class BOTSORT(BYTETracker):
self.appearance_thresh = args.appearance_thresh
if args.with_reid:
# haven't supported bot-sort(reid) yet
# haven't supported BoT-SORT(reid) yet
self.encoder = None
# self.gmc = GMC(method=args.cmc_method, verbose=[args.name, args.ablation])
self.gmc = GMC(method=args.cmc_method)

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import numpy as np
from ..utils import matching

View File

@ -1,9 +1,13 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import copy
import cv2
import matplotlib.pyplot as plt
import numpy as np
from ultralytics.yolo.utils import LOGGER
class GMC:
@ -108,7 +112,7 @@ class GMC:
try:
(cc, H) = cv2.findTransformECC(self.prevFrame, frame, H, self.warp_mode, self.criteria, None, 1)
except Exception as e:
print(f'Warning: find transform failed. Set warp as identity {e}')
LOGGER.warning(f'WARNING: find transform failed. Set warp as identity {e}')
return H
@ -229,7 +233,7 @@ class GMC:
H[0, 2] *= self.downscale
H[1, 2] *= self.downscale
else:
print('Warning: not enough matching points')
LOGGER.warning('WARNING: not enough matching points')
# Store to next iteration
self.prevFrame = frame.copy()
@ -288,7 +292,7 @@ class GMC:
H[0, 2] *= self.downscale
H[1, 2] *= self.downscale
else:
print('Warning: not enough matching points')
LOGGER.warning('WARNING: not enough matching points')
# Store to next iteration
self.prevFrame = frame.copy()

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import numpy as np
import scipy.linalg
@ -234,7 +236,7 @@ class KalmanFilterXYAH:
class KalmanFilterXYWH:
"""
For bot-sort
For BoT-SORT
A simple Kalman filter for tracking bounding boxes in image space.
The 8-dimensional state space

View File

@ -1,3 +1,5 @@
# Ultralytics YOLO 🚀, GPL-3.0 license
import lap
import numpy as np
import scipy