ultralytics 8.2.73__py3-none-any.whl → 8.2.75__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/trackers/botsort.yaml +1 -1
- ultralytics/cfg/trackers/bytetrack.yaml +1 -1
- ultralytics/data/split_dota.py +14 -13
- ultralytics/trackers/bot_sort.py +2 -3
- ultralytics/trackers/byte_tracker.py +2 -3
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/METADATA +2 -2
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/RECORD +12 -12
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/WHEEL +0 -0
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.73.dist-info → ultralytics-8.2.75.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
|
@@ -7,8 +7,8 @@ track_low_thresh: 0.1 # threshold for the second association
|
|
|
7
7
|
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
|
|
8
8
|
track_buffer: 30 # buffer to calculate the time when to remove tracks
|
|
9
9
|
match_thresh: 0.8 # threshold for matching tracks
|
|
10
|
+
fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
|
|
10
11
|
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
|
|
11
|
-
# mot20: False # for tracker evaluation(not used for now)
|
|
12
12
|
|
|
13
13
|
# BoT-SORT settings
|
|
14
14
|
gmc_method: sparseOptFlow # method of global motion compensation
|
|
@@ -7,5 +7,5 @@ track_low_thresh: 0.1 # threshold for the second association
|
|
|
7
7
|
new_track_thresh: 0.6 # threshold for init new track if the detection does not match any tracks
|
|
8
8
|
track_buffer: 30 # buffer to calculate the time when to remove tracks
|
|
9
9
|
match_thresh: 0.8 # threshold for matching tracks
|
|
10
|
+
fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
|
|
10
11
|
# min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
|
|
11
|
-
# mot20: False # for tracker evaluation(not used for now)
|
ultralytics/data/split_dota.py
CHANGED
|
@@ -144,7 +144,7 @@ def get_window_obj(anno, windows, iof_thr=0.7):
|
|
|
144
144
|
return [np.zeros((0, 9), dtype=np.float32) for _ in range(len(windows))] # window_anns
|
|
145
145
|
|
|
146
146
|
|
|
147
|
-
def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
|
|
147
|
+
def crop_and_save(anno, windows, window_objs, im_dir, lb_dir, allow_background_images=True):
|
|
148
148
|
"""
|
|
149
149
|
Crop images and save new labels.
|
|
150
150
|
|
|
@@ -154,6 +154,7 @@ def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
|
|
|
154
154
|
window_objs (list): A list of labels inside each window.
|
|
155
155
|
im_dir (str): The output directory path of images.
|
|
156
156
|
lb_dir (str): The output directory path of labels.
|
|
157
|
+
allow_background_images (bool): Whether to include background images without labels.
|
|
157
158
|
|
|
158
159
|
Notes:
|
|
159
160
|
The directory structure assumed for the DOTA dataset:
|
|
@@ -173,19 +174,19 @@ def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
|
|
|
173
174
|
patch_im = im[y_start:y_stop, x_start:x_stop]
|
|
174
175
|
ph, pw = patch_im.shape[:2]
|
|
175
176
|
|
|
176
|
-
cv2.imwrite(str(Path(im_dir) / f"{new_name}.jpg"), patch_im)
|
|
177
177
|
label = window_objs[i]
|
|
178
|
-
if len(label)
|
|
179
|
-
|
|
180
|
-
label
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
178
|
+
if len(label) or allow_background_images:
|
|
179
|
+
cv2.imwrite(str(Path(im_dir) / f"{new_name}.jpg"), patch_im)
|
|
180
|
+
if len(label):
|
|
181
|
+
label[:, 1::2] -= x_start
|
|
182
|
+
label[:, 2::2] -= y_start
|
|
183
|
+
label[:, 1::2] /= pw
|
|
184
|
+
label[:, 2::2] /= ph
|
|
185
|
+
|
|
186
|
+
with open(Path(lb_dir) / f"{new_name}.txt", "w") as f:
|
|
187
|
+
for lb in label:
|
|
188
|
+
formatted_coords = ["{:.6g}".format(coord) for coord in lb[1:]]
|
|
189
|
+
f.write(f"{int(lb[0])} {' '.join(formatted_coords)}\n")
|
|
189
190
|
|
|
190
191
|
|
|
191
192
|
def split_images_and_labels(data_root, save_dir, split="train", crop_sizes=(1024,), gaps=(200,)):
|
ultralytics/trackers/bot_sort.py
CHANGED
|
@@ -179,9 +179,8 @@ class BOTSORT(BYTETracker):
|
|
|
179
179
|
dists = matching.iou_distance(tracks, detections)
|
|
180
180
|
dists_mask = dists > self.proximity_thresh
|
|
181
181
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
dists = matching.fuse_score(dists, detections)
|
|
182
|
+
if self.args.fuse_score:
|
|
183
|
+
dists = matching.fuse_score(dists, detections)
|
|
185
184
|
|
|
186
185
|
if self.args.with_reid and self.encoder is not None:
|
|
187
186
|
emb_dists = matching.embedding_distance(tracks, detections) / 2.0
|
|
@@ -375,9 +375,8 @@ class BYTETracker:
|
|
|
375
375
|
def get_dists(self, tracks, detections):
|
|
376
376
|
"""Calculates the distance between tracks and detections using IoU and fuses scores."""
|
|
377
377
|
dists = matching.iou_distance(tracks, detections)
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
dists = matching.fuse_score(dists, detections)
|
|
378
|
+
if self.args.fuse_score:
|
|
379
|
+
dists = matching.fuse_score(dists, detections)
|
|
381
380
|
return dists
|
|
382
381
|
|
|
383
382
|
def multi_predict(self, tracks):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.75
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -55,7 +55,7 @@ Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
|
|
|
55
55
|
Requires-Dist: mkdocstrings[python]; extra == "dev"
|
|
56
56
|
Requires-Dist: mkdocs-jupyter; extra == "dev"
|
|
57
57
|
Requires-Dist: mkdocs-redirects; extra == "dev"
|
|
58
|
-
Requires-Dist: mkdocs-ultralytics-plugin>=0.0
|
|
58
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.0; extra == "dev"
|
|
59
59
|
Provides-Extra: explorer
|
|
60
60
|
Requires-Dist: lancedb; extra == "explorer"
|
|
61
61
|
Requires-Dist: duckdb<=0.9.2; extra == "explorer"
|
|
@@ -8,7 +8,7 @@ tests/test_exports.py,sha256=Uezf3OatpPHlo5qoPw-2kqkZxuMCF9L4XF2riD4vmII,8225
|
|
|
8
8
|
tests/test_integrations.py,sha256=xglcfMPjfVh346PV8WTpk6tBxraCXEFJEQyyJMr5tyU,6064
|
|
9
9
|
tests/test_python.py,sha256=cLK8dyRf_4H_znFIm-krnOFMydwkxKlVZvHwl9vbck8,21780
|
|
10
10
|
tests/test_solutions.py,sha256=EACnPXbeJe2aVTOKfqMk5jclKKCWCVgFEzjpR6y7Sh8,3304
|
|
11
|
-
ultralytics/__init__.py,sha256=
|
|
11
|
+
ultralytics/__init__.py,sha256=uhrt-gCElwa5-ibbPPksMMaCk3nYcvmrJtQ0zbIk87I,694
|
|
12
12
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
|
13
13
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
|
14
14
|
ultralytics/cfg/__init__.py,sha256=7ce3_bhi7pDw5ZAbSqYR6e3_IYD2JCLCy7fkl5d1WyI,33064
|
|
@@ -80,8 +80,8 @@ ultralytics/cfg/models/v9/yolov9e.yaml,sha256=dhaR47WxuLOrZWDCceS4bQG00sQdrMc8FQ
|
|
|
80
80
|
ultralytics/cfg/models/v9/yolov9m.yaml,sha256=l6CmivzNu44sRVmkQXk4-tXflbV1nWnk5MSc8su2vhs,1311
|
|
81
81
|
ultralytics/cfg/models/v9/yolov9s.yaml,sha256=lPWcu-6ub1kCBD6zIDFwthYZ3RvdJfODWKy3vEQWRjo,1291
|
|
82
82
|
ultralytics/cfg/models/v9/yolov9t.yaml,sha256=qL__kr6GoefpQWP4jV0jdzwTp46bdFUcqtPRnfDbkY8,1275
|
|
83
|
-
ultralytics/cfg/trackers/botsort.yaml,sha256=
|
|
84
|
-
ultralytics/cfg/trackers/bytetrack.yaml,sha256=
|
|
83
|
+
ultralytics/cfg/trackers/botsort.yaml,sha256=8B0xNbnG_E-9DCUpap72PWkUgBb1AjuApEn7gHiVngE,916
|
|
84
|
+
ultralytics/cfg/trackers/bytetrack.yaml,sha256=8vpTZ2x9mhRXJymoJvs1G8kTXo_HxbSwHup2FQALT3A,721
|
|
85
85
|
ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,616
|
|
86
86
|
ultralytics/data/annotator.py,sha256=1Hyu6ubrBL8KmRrt1keGn-K4XTqQdAVyIwTsQiBtzLU,2489
|
|
87
87
|
ultralytics/data/augment.py,sha256=ExU4khJfJ_TeczkJRLNUDscN57SJvAjnm-reouJcxGI,119309
|
|
@@ -90,7 +90,7 @@ ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,726
|
|
|
90
90
|
ultralytics/data/converter.py,sha256=R9zrsClQGxDBg035o63jNQRALALY3XVAytD9xksVU1M,21442
|
|
91
91
|
ultralytics/data/dataset.py,sha256=ZBnO9KPVOJXwKQbN2LlmROIxLEb0mtppVQlrC4sX3oE,22879
|
|
92
92
|
ultralytics/data/loaders.py,sha256=vy71TzKAPqohCp4MDNQpia2CR1LaOxAU5eA14DonJoU,24085
|
|
93
|
-
ultralytics/data/split_dota.py,sha256=
|
|
93
|
+
ultralytics/data/split_dota.py,sha256=etlFTBZwXO88DZa_RjuDnPRgLLywLNO917LO5bX1CPc,10325
|
|
94
94
|
ultralytics/data/utils.py,sha256=GHmqx6e5yRfcUD2Qkwk-tQfhXCwtUMFD3Uf6d699nGo,31046
|
|
95
95
|
ultralytics/data/explorer/__init__.py,sha256=-Y3m1ZedepOQUv_KW82zaGxvU_PSHcuwUTFqG9BhAr4,113
|
|
96
96
|
ultralytics/data/explorer/explorer.py,sha256=3puHbDFgoEjiRkLzKOGc1CLTUNbqJrLrq8MeBYLeBFc,19222
|
|
@@ -189,8 +189,8 @@ ultralytics/solutions/speed_estimation.py,sha256=kjqMSHGTHMZaNgTKNKWULxnJQNsvhq4
|
|
|
189
189
|
ultralytics/solutions/streamlit_inference.py,sha256=MKf5P3O5oJwIKu2h_URvzaQjMWoSEMDMBwordplfRxo,5703
|
|
190
190
|
ultralytics/trackers/__init__.py,sha256=j72IgH2dZHQArMPK4YwcV5ieIw94fYvlGdQjB9cOQKw,227
|
|
191
191
|
ultralytics/trackers/basetrack.py,sha256=-vBDD-Q9lsxfTMK2w9kuqWGrYbRMmaBCCEbGGyR53gE,3675
|
|
192
|
-
ultralytics/trackers/bot_sort.py,sha256=
|
|
193
|
-
ultralytics/trackers/byte_tracker.py,sha256=
|
|
192
|
+
ultralytics/trackers/bot_sort.py,sha256=7wuuQpsMSfJ9m-fzkxpx0mDjh_7Wkhv9lheNpfsuyDs,8582
|
|
193
|
+
ultralytics/trackers/byte_tracker.py,sha256=0KPnGAKyCXGHb6G7EPhio8mFdJTiB_WC2oqTI0pys6U,18838
|
|
194
194
|
ultralytics/trackers/track.py,sha256=NnCA99jXVOvj7XpL_RvMm01DGdixKqAMFz6Sdds30kQ,3436
|
|
195
195
|
ultralytics/trackers/utils/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
196
196
|
ultralytics/trackers/utils/gmc.py,sha256=-1oBNFRB-9EawJmUOT566AygLCVxJw-jsPSIOl5j_Hk,13683
|
|
@@ -225,9 +225,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
225
225
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
226
226
|
ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
|
|
227
227
|
ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
|
|
228
|
-
ultralytics-8.2.
|
|
229
|
-
ultralytics-8.2.
|
|
230
|
-
ultralytics-8.2.
|
|
231
|
-
ultralytics-8.2.
|
|
232
|
-
ultralytics-8.2.
|
|
233
|
-
ultralytics-8.2.
|
|
228
|
+
ultralytics-8.2.75.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
229
|
+
ultralytics-8.2.75.dist-info/METADATA,sha256=nbQp_uptQg8CmlM08jObNn-UmZEyR1rS29LZ0DzqfUw,41269
|
|
230
|
+
ultralytics-8.2.75.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
231
|
+
ultralytics-8.2.75.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
232
|
+
ultralytics-8.2.75.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
233
|
+
ultralytics-8.2.75.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|