ultralytics 8.3.82__py3-none-any.whl → 8.3.84__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.
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +1 -1
- ultralytics/data/augment.py +6 -13
- ultralytics/models/yolo/detect/val.py +2 -2
- ultralytics/models/yolo/segment/predict.py +3 -0
- ultralytics/utils/plotting.py +2 -1
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/METADATA +1 -1
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/RECORD +12 -12
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/LICENSE +0 -0
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.82.dist-info → ultralytics-8.3.84.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
ultralytics/cfg/__init__.py
CHANGED
@@ -511,7 +511,7 @@ def merge_equals_args(args: List[str]) -> List[str]:
|
|
511
511
|
|
512
512
|
Examples:
|
513
513
|
>>> args = ["arg1", "=", "value", "arg2=", "value2", "arg3", "=value3", "imgsz=[3,", "640,", "640]"]
|
514
|
-
>>>
|
514
|
+
>>> merge_equals_args(args)
|
515
515
|
['arg1=value', 'arg2=value2', 'arg3=value3', 'imgsz=[3,640,640]']
|
516
516
|
"""
|
517
517
|
new_args = []
|
ultralytics/data/augment.py
CHANGED
@@ -1368,20 +1368,13 @@ class RandomHSV:
|
|
1368
1368
|
img = labels["img"]
|
1369
1369
|
dtype = img.dtype # uint8
|
1370
1370
|
|
1371
|
-
|
1372
|
-
# r = np.random.uniform(-1, 1, 3) * [self.hgain, self.sgain, self.vgain] + 1 # random gains
|
1373
|
-
# x = np.arange(0, 256, dtype=r.dtype)
|
1374
|
-
# lut_hue = ((x * r[0]) % 180).astype(dtype)
|
1375
|
-
# lut_sat = np.clip(x * r[1], 0, 255).astype(dtype)
|
1376
|
-
# lut_val = np.clip(x * r[2], 0, 255).astype(dtype)
|
1377
|
-
|
1378
|
-
# Fixed implementation in https://github.com/ultralytics/ultralytics/pull/19311
|
1379
|
-
r = np.random.uniform(-1, 1, 3) * (self.hgain, self.sgain, self.vgain) * (180, 255, 255) # random gains
|
1371
|
+
r = np.random.uniform(-1, 1, 3) * [self.hgain, self.sgain, self.vgain] # random gains
|
1380
1372
|
x = np.arange(0, 256, dtype=r.dtype)
|
1381
|
-
lut_hue = ((x
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1373
|
+
# lut_hue = ((x * (r[0] + 1)) % 180).astype(dtype) # original hue implementation from ultralytics<=8.3.78
|
1374
|
+
lut_hue = ((x + r[0] * 180) % 180).astype(dtype)
|
1375
|
+
lut_sat = np.clip(x * (r[1] + 1), 0, 255).astype(dtype)
|
1376
|
+
lut_val = np.clip(x * (r[2] + 1), 0, 255).astype(dtype)
|
1377
|
+
lut_sat[0] = 0 # prevent pure white changing color, introduced in 8.3.79
|
1385
1378
|
|
1386
1379
|
hue, sat, val = cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2HSV))
|
1387
1380
|
im_hsv = cv2.merge((cv2.LUT(hue, lut_hue), cv2.LUT(sat, lut_sat), cv2.LUT(val, lut_val)))
|
@@ -41,7 +41,7 @@ class DetectionValidator(BaseValidator):
|
|
41
41
|
self.iouv = torch.linspace(0.5, 0.95, 10) # IoU vector for mAP@0.5:0.95
|
42
42
|
self.niou = self.iouv.numel()
|
43
43
|
self.lb = [] # for autolabelling
|
44
|
-
if self.args.save_hybrid:
|
44
|
+
if self.args.save_hybrid and self.args.task == "detect":
|
45
45
|
LOGGER.warning(
|
46
46
|
"WARNING ⚠️ 'save_hybrid=True' will append ground truth to predictions for autolabelling.\n"
|
47
47
|
"WARNING ⚠️ 'save_hybrid=True' will cause incorrect mAP.\n"
|
@@ -54,7 +54,7 @@ class DetectionValidator(BaseValidator):
|
|
54
54
|
for k in ["batch_idx", "cls", "bboxes"]:
|
55
55
|
batch[k] = batch[k].to(self.device)
|
56
56
|
|
57
|
-
if self.args.save_hybrid:
|
57
|
+
if self.args.save_hybrid and self.args.task == "detect":
|
58
58
|
height, width = batch["img"].shape[2:]
|
59
59
|
nb = len(batch["img"])
|
60
60
|
bboxes = batch["bboxes"] * torch.tensor((width, height, width, height), device=self.device)
|
@@ -71,4 +71,7 @@ class SegmentationPredictor(DetectionPredictor):
|
|
71
71
|
else:
|
72
72
|
masks = ops.process_mask(proto, pred[:, 6:], pred[:, :4], img.shape[2:], upsample=True) # HWC
|
73
73
|
pred[:, :4] = ops.scale_boxes(img.shape[2:], pred[:, :4], orig_img.shape)
|
74
|
+
if masks is not None:
|
75
|
+
keep = masks.sum((-2, -1)) > 0 # only keep preds with masks
|
76
|
+
pred, masks = pred[keep], masks[keep]
|
74
77
|
return Results(orig_img, path=img_path, names=self.model.names, boxes=pred[:, :6], masks=masks)
|
ultralytics/utils/plotting.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.84
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -7,10 +7,10 @@ tests/test_exports.py,sha256=dpUT_FXFXzFoItfZwbxkPFXgEfaVqyfYwkIQW4teL38,9223
|
|
7
7
|
tests/test_integrations.py,sha256=p3DMnnPMKsV0Qm82JVJUIY1UZ67xRgF9E8AaL76TEHE,6154
|
8
8
|
tests/test_python.py,sha256=tW-EFJC2rjl_DvAa8khXGWYdypseQjrLjGHhe2p9r9A,23238
|
9
9
|
tests/test_solutions.py,sha256=aY0G3vNzXGCENG9FD76MfUp7jgzeESPsUvbvQYBUvH0,4205
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=DUtHLtU1TGk1_7fTkj9noKDgk7EeXCohJSNj-kqDckc,709
|
11
11
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
12
12
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
13
|
-
ultralytics/cfg/__init__.py,sha256=
|
13
|
+
ultralytics/cfg/__init__.py,sha256=DOuAJF23oI7bt2862gA8zFGsh9aBMXVO1pwj0JjpR7E,39793
|
14
14
|
ultralytics/cfg/default.yaml,sha256=tHE_VB_tzq5K1BntCCukmFIViwiRv0R-H6ZNucCnYsY,8469
|
15
15
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=W225bp0LpIKbn8qrApX4W0jGUJc5tPKQNJjVdkInzJo,3163
|
16
16
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=SHND_CFkojxw5iQD5Mcgju2kCZIl0gW2ajuzv1cqoL0,1224
|
@@ -98,7 +98,7 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=D9doE5GQUe6HrAFzr7OfQFIGPFk0M_vJ0B_
|
|
98
98
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
99
99
|
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
100
100
|
ultralytics/data/annotator.py,sha256=whx_3sdKGRsECYLKyJMNGQ-d9g-f8020O6kvl5M1c_I,3067
|
101
|
-
ultralytics/data/augment.py,sha256=
|
101
|
+
ultralytics/data/augment.py,sha256=scrCrF_NUdB8gfxEqdVDTiSwkKR8FYN6bWZL_BXMKGU,120957
|
102
102
|
ultralytics/data/base.py,sha256=NTNdn-Emgx3Z2vats8i8oEe-9yosPmHd53v1A0xz0EU,15196
|
103
103
|
ultralytics/data/build.py,sha256=gOU5SNABBNxwo5012N--WhjEnLK2ewycXIryMpbHg6U,7685
|
104
104
|
ultralytics/data/converter.py,sha256=M7LvBpdYiDA_YEuef3oCXhGPFTjtyJjSbSwqn-F6d7I,24473
|
@@ -160,7 +160,7 @@ ultralytics/models/yolo/classify/val.py,sha256=VUYkqGtKnZPig1XE5Qrtqoqm-Y9dDgr5Y
|
|
160
160
|
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
161
161
|
ultralytics/models/yolo/detect/predict.py,sha256=_RrKS3h-tRR4uJyTOPSIp4HapxXC-c8Ao9yDeAM835I,2852
|
162
162
|
ultralytics/models/yolo/detect/train.py,sha256=Y2SYjywenBLg8j-r4bC_sWqle1DJGQtDL5O6koeqm9U,6738
|
163
|
-
ultralytics/models/yolo/detect/val.py,sha256=
|
163
|
+
ultralytics/models/yolo/detect/val.py,sha256=jGfdp5cLibuE1-WJAHL1Gjw7BeLfDBDShkJcvZt2COU,15293
|
164
164
|
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
165
165
|
ultralytics/models/yolo/obb/predict.py,sha256=SUgLzsxg1O77KxIeCj9IlSiqB9SfIwcoRtNZViqPS2E,1880
|
166
166
|
ultralytics/models/yolo/obb/train.py,sha256=7LJ04dYENfjdt1Jet0Cxh0nyIpmgIUtmz425ZEuZSn8,1550
|
@@ -170,7 +170,7 @@ ultralytics/models/yolo/pose/predict.py,sha256=O-LI_acPh_xoXd7ZcxpxAUbIzfj5FkrwE
|
|
170
170
|
ultralytics/models/yolo/pose/train.py,sha256=472BgOjvDdNXe9GN68zO1ddRh5Cbmfg5m9_JZyHrTxY,2954
|
171
171
|
ultralytics/models/yolo/pose/val.py,sha256=3-A--EwOOC1ZzXBQPViUPVyItXsDs1NaIrNJe73N9i0,11946
|
172
172
|
ultralytics/models/yolo/segment/__init__.py,sha256=3IThhZ1wlkY9FvmWm9cE-5-ZyE6F1FgzAtQ6jOOFzzw,275
|
173
|
-
ultralytics/models/yolo/segment/predict.py,sha256=
|
173
|
+
ultralytics/models/yolo/segment/predict.py,sha256=FgRY5Iuf9VVRGP_bK7e-OKAdULaM06sAcjWntp1qKkQ,3570
|
174
174
|
ultralytics/models/yolo/segment/train.py,sha256=2PGirZ7cvAsK2LxrEKC0HisOqPw6hyUCAPMkYmqQkIY,2326
|
175
175
|
ultralytics/models/yolo/segment/val.py,sha256=PBhlLW4XoCypGwrA3nO_U7BedqLlW4bNHO7ekP4y_kk,13786
|
176
176
|
ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
|
@@ -222,7 +222,7 @@ ultralytics/utils/loss.py,sha256=paRY8K7R4pcUGJfApVzZx-m_iFzzMbHm5GgiaixfDuU,341
|
|
222
222
|
ultralytics/utils/metrics.py,sha256=6VfTtPzPppuX2RfXr84GoI_ABPfHPhXbbMKkH2HvUVc,53672
|
223
223
|
ultralytics/utils/ops.py,sha256=e7HNeufSrOnaHaie8w-QHNnyaClcHuiGZvr3CXRABsU,34621
|
224
224
|
ultralytics/utils/patches.py,sha256=ARR89dP4YKq7Dd3g2eU-ukbnc2lo3BELukL_1c_d854,3298
|
225
|
-
ultralytics/utils/plotting.py,sha256=
|
225
|
+
ultralytics/utils/plotting.py,sha256=ij0gy2Bx87gfwecwRsQ8FA6w751sVBIdx5nxdPykf0M,64111
|
226
226
|
ultralytics/utils/tal.py,sha256=DO-c006HEI62pcrNRpmt4lpqJPC5yu3veRDOvUuExno,18498
|
227
227
|
ultralytics/utils/torch_utils.py,sha256=h1aWTJ71NX5Q_L5ZAj-4Yljht5S_6YEhE2XUm2Apt2M,34039
|
228
228
|
ultralytics/utils/triton.py,sha256=2L1_rZ8xCJEjexRVj75g9YU-u4tQln_DJ5N1Yr_0bSs,4071
|
@@ -238,9 +238,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=waZ_bRu0-qBKujTLuqonC2gx2DkgBuVnfq
|
|
238
238
|
ultralytics/utils/callbacks/raytune.py,sha256=A_NVWjyPNf2m6iB-mbW7SMpyqM9QBvpbPa-MCMFMtdk,727
|
239
239
|
ultralytics/utils/callbacks/tensorboard.py,sha256=JHOEVlNQ5dYJPd4Z-EvqbXowuK5uA0p8wPgyyaIUQs0,4194
|
240
240
|
ultralytics/utils/callbacks/wb.py,sha256=ayhT2y62AcSOacnawshATU0rWrlSFQ77mrGgBdRl3W4,7086
|
241
|
-
ultralytics-8.3.
|
242
|
-
ultralytics-8.3.
|
243
|
-
ultralytics-8.3.
|
244
|
-
ultralytics-8.3.
|
245
|
-
ultralytics-8.3.
|
246
|
-
ultralytics-8.3.
|
241
|
+
ultralytics-8.3.84.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
242
|
+
ultralytics-8.3.84.dist-info/METADATA,sha256=3AHQiJ5BJvkb9B9_aD2OLky44cmQ4DzbNPCFI1Qt4Wc,35168
|
243
|
+
ultralytics-8.3.84.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
244
|
+
ultralytics-8.3.84.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
245
|
+
ultralytics-8.3.84.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
246
|
+
ultralytics-8.3.84.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|