ultralytics 8.3.162__py3-none-any.whl → 8.3.164__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/data/augment.py +182 -153
- ultralytics/data/build.py +23 -3
- ultralytics/data/dataset.py +6 -2
- ultralytics/data/loaders.py +2 -2
- ultralytics/data/utils.py +12 -9
- ultralytics/engine/exporter.py +9 -5
- ultralytics/engine/predictor.py +6 -6
- ultralytics/engine/results.py +42 -42
- ultralytics/models/fastsam/model.py +1 -1
- ultralytics/models/fastsam/predict.py +1 -1
- ultralytics/models/sam/model.py +4 -4
- ultralytics/models/sam/modules/blocks.py +5 -5
- ultralytics/models/sam/modules/memory_attention.py +19 -19
- ultralytics/models/sam/modules/transformer.py +24 -22
- ultralytics/models/yolo/detect/val.py +2 -2
- ultralytics/models/yolo/world/train_world.py +9 -1
- ultralytics/nn/tasks.py +2 -0
- ultralytics/solutions/distance_calculation.py +1 -1
- ultralytics/solutions/instance_segmentation.py +2 -2
- ultralytics/solutions/object_blurrer.py +2 -2
- ultralytics/solutions/object_counter.py +2 -2
- ultralytics/solutions/object_cropper.py +1 -1
- ultralytics/solutions/queue_management.py +1 -1
- ultralytics/solutions/region_counter.py +29 -32
- ultralytics/solutions/security_alarm.py +2 -2
- ultralytics/solutions/templates/similarity-search.html +0 -24
- ultralytics/solutions/vision_eye.py +1 -1
- ultralytics/utils/benchmarks.py +2 -2
- ultralytics/utils/export.py +0 -2
- ultralytics/utils/instance.py +32 -25
- ultralytics/utils/ops.py +8 -8
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/METADATA +1 -1
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/RECORD +38 -38
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.162.dist-info → ultralytics-8.3.164.dist-info}/top_level.txt +0 -0
ultralytics/utils/instance.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
from collections import abc
|
4
4
|
from itertools import repeat
|
5
5
|
from numbers import Number
|
6
|
-
from typing import List
|
6
|
+
from typing import List, Union
|
7
7
|
|
8
8
|
import numpy as np
|
9
9
|
|
@@ -59,7 +59,7 @@ class Bboxes:
|
|
59
59
|
This class does not handle normalization or denormalization of bounding boxes.
|
60
60
|
"""
|
61
61
|
|
62
|
-
def __init__(self, bboxes, format="xyxy") -> None:
|
62
|
+
def __init__(self, bboxes: np.ndarray, format: str = "xyxy") -> None:
|
63
63
|
"""
|
64
64
|
Initialize the Bboxes class with bounding box data in a specified format.
|
65
65
|
|
@@ -74,7 +74,7 @@ class Bboxes:
|
|
74
74
|
self.bboxes = bboxes
|
75
75
|
self.format = format
|
76
76
|
|
77
|
-
def convert(self, format):
|
77
|
+
def convert(self, format: str) -> None:
|
78
78
|
"""
|
79
79
|
Convert bounding box format from one type to another.
|
80
80
|
|
@@ -93,7 +93,7 @@ class Bboxes:
|
|
93
93
|
self.bboxes = func(self.bboxes)
|
94
94
|
self.format = format
|
95
95
|
|
96
|
-
def areas(self):
|
96
|
+
def areas(self) -> np.ndarray:
|
97
97
|
"""Calculate the area of bounding boxes."""
|
98
98
|
return (
|
99
99
|
(self.bboxes[:, 2] - self.bboxes[:, 0]) * (self.bboxes[:, 3] - self.bboxes[:, 1]) # format xyxy
|
@@ -101,7 +101,7 @@ class Bboxes:
|
|
101
101
|
else self.bboxes[:, 3] * self.bboxes[:, 2] # format xywh or ltwh
|
102
102
|
)
|
103
103
|
|
104
|
-
def mul(self, scale):
|
104
|
+
def mul(self, scale: Union[int, tuple, list]) -> None:
|
105
105
|
"""
|
106
106
|
Multiply bounding box coordinates by scale factor(s).
|
107
107
|
|
@@ -118,7 +118,7 @@ class Bboxes:
|
|
118
118
|
self.bboxes[:, 2] *= scale[2]
|
119
119
|
self.bboxes[:, 3] *= scale[3]
|
120
120
|
|
121
|
-
def add(self, offset):
|
121
|
+
def add(self, offset: Union[int, tuple, list]) -> None:
|
122
122
|
"""
|
123
123
|
Add offset to bounding box coordinates.
|
124
124
|
|
@@ -135,12 +135,12 @@ class Bboxes:
|
|
135
135
|
self.bboxes[:, 2] += offset[2]
|
136
136
|
self.bboxes[:, 3] += offset[3]
|
137
137
|
|
138
|
-
def __len__(self):
|
138
|
+
def __len__(self) -> int:
|
139
139
|
"""Return the number of bounding boxes."""
|
140
140
|
return len(self.bboxes)
|
141
141
|
|
142
142
|
@classmethod
|
143
|
-
def concatenate(cls, boxes_list: List["Bboxes"], axis=0) -> "Bboxes":
|
143
|
+
def concatenate(cls, boxes_list: List["Bboxes"], axis: int = 0) -> "Bboxes":
|
144
144
|
"""
|
145
145
|
Concatenate a list of Bboxes objects into a single Bboxes object.
|
146
146
|
|
@@ -163,7 +163,7 @@ class Bboxes:
|
|
163
163
|
return boxes_list[0]
|
164
164
|
return cls(np.concatenate([b.bboxes for b in boxes_list], axis=axis))
|
165
165
|
|
166
|
-
def __getitem__(self, index) -> "Bboxes":
|
166
|
+
def __getitem__(self, index: Union[int, np.ndarray, slice]) -> "Bboxes":
|
167
167
|
"""
|
168
168
|
Retrieve a specific bounding box or a set of bounding boxes using indexing.
|
169
169
|
|
@@ -220,13 +220,20 @@ class Instances:
|
|
220
220
|
... )
|
221
221
|
"""
|
222
222
|
|
223
|
-
def __init__(
|
223
|
+
def __init__(
|
224
|
+
self,
|
225
|
+
bboxes: np.ndarray,
|
226
|
+
segments: np.ndarray = None,
|
227
|
+
keypoints: np.ndarray = None,
|
228
|
+
bbox_format: str = "xywh",
|
229
|
+
normalized: bool = True,
|
230
|
+
) -> None:
|
224
231
|
"""
|
225
232
|
Initialize the Instances object with bounding boxes, segments, and keypoints.
|
226
233
|
|
227
234
|
Args:
|
228
235
|
bboxes (np.ndarray): Bounding boxes with shape (N, 4).
|
229
|
-
segments (
|
236
|
+
segments (np.ndarray, optional): Segmentation masks.
|
230
237
|
keypoints (np.ndarray, optional): Keypoints with shape (N, 17, 3) in format (x, y, visible).
|
231
238
|
bbox_format (str): Format of bboxes.
|
232
239
|
normalized (bool): Whether the coordinates are normalized.
|
@@ -236,7 +243,7 @@ class Instances:
|
|
236
243
|
self.normalized = normalized
|
237
244
|
self.segments = segments
|
238
245
|
|
239
|
-
def convert_bbox(self, format):
|
246
|
+
def convert_bbox(self, format: str) -> None:
|
240
247
|
"""
|
241
248
|
Convert bounding box format.
|
242
249
|
|
@@ -246,11 +253,11 @@ class Instances:
|
|
246
253
|
self._bboxes.convert(format=format)
|
247
254
|
|
248
255
|
@property
|
249
|
-
def bbox_areas(self):
|
256
|
+
def bbox_areas(self) -> np.ndarray:
|
250
257
|
"""Calculate the area of bounding boxes."""
|
251
258
|
return self._bboxes.areas()
|
252
259
|
|
253
|
-
def scale(self, scale_w, scale_h, bbox_only=False):
|
260
|
+
def scale(self, scale_w: float, scale_h: float, bbox_only: bool = False):
|
254
261
|
"""
|
255
262
|
Scale coordinates by given factors.
|
256
263
|
|
@@ -268,7 +275,7 @@ class Instances:
|
|
268
275
|
self.keypoints[..., 0] *= scale_w
|
269
276
|
self.keypoints[..., 1] *= scale_h
|
270
277
|
|
271
|
-
def denormalize(self, w, h):
|
278
|
+
def denormalize(self, w: int, h: int) -> None:
|
272
279
|
"""
|
273
280
|
Convert normalized coordinates to absolute coordinates.
|
274
281
|
|
@@ -286,7 +293,7 @@ class Instances:
|
|
286
293
|
self.keypoints[..., 1] *= h
|
287
294
|
self.normalized = False
|
288
295
|
|
289
|
-
def normalize(self, w, h):
|
296
|
+
def normalize(self, w: int, h: int) -> None:
|
290
297
|
"""
|
291
298
|
Convert absolute coordinates to normalized coordinates.
|
292
299
|
|
@@ -304,7 +311,7 @@ class Instances:
|
|
304
311
|
self.keypoints[..., 1] /= h
|
305
312
|
self.normalized = True
|
306
313
|
|
307
|
-
def add_padding(self, padw, padh):
|
314
|
+
def add_padding(self, padw: int, padh: int) -> None:
|
308
315
|
"""
|
309
316
|
Add padding to coordinates.
|
310
317
|
|
@@ -320,7 +327,7 @@ class Instances:
|
|
320
327
|
self.keypoints[..., 0] += padw
|
321
328
|
self.keypoints[..., 1] += padh
|
322
329
|
|
323
|
-
def __getitem__(self, index) -> "Instances":
|
330
|
+
def __getitem__(self, index: Union[int, np.ndarray, slice]) -> "Instances":
|
324
331
|
"""
|
325
332
|
Retrieve a specific instance or a set of instances using indexing.
|
326
333
|
|
@@ -346,7 +353,7 @@ class Instances:
|
|
346
353
|
normalized=self.normalized,
|
347
354
|
)
|
348
355
|
|
349
|
-
def flipud(self, h):
|
356
|
+
def flipud(self, h: int) -> None:
|
350
357
|
"""
|
351
358
|
Flip coordinates vertically.
|
352
359
|
|
@@ -364,7 +371,7 @@ class Instances:
|
|
364
371
|
if self.keypoints is not None:
|
365
372
|
self.keypoints[..., 1] = h - self.keypoints[..., 1]
|
366
373
|
|
367
|
-
def fliplr(self, w):
|
374
|
+
def fliplr(self, w: int) -> None:
|
368
375
|
"""
|
369
376
|
Flip coordinates horizontally.
|
370
377
|
|
@@ -382,7 +389,7 @@ class Instances:
|
|
382
389
|
if self.keypoints is not None:
|
383
390
|
self.keypoints[..., 0] = w - self.keypoints[..., 0]
|
384
391
|
|
385
|
-
def clip(self, w, h):
|
392
|
+
def clip(self, w: int, h: int) -> None:
|
386
393
|
"""
|
387
394
|
Clip coordinates to stay within image boundaries.
|
388
395
|
|
@@ -409,7 +416,7 @@ class Instances:
|
|
409
416
|
self.keypoints[..., 0] = self.keypoints[..., 0].clip(0, w)
|
410
417
|
self.keypoints[..., 1] = self.keypoints[..., 1].clip(0, h)
|
411
418
|
|
412
|
-
def remove_zero_area_boxes(self):
|
419
|
+
def remove_zero_area_boxes(self) -> np.ndarray:
|
413
420
|
"""
|
414
421
|
Remove zero-area boxes, i.e. after clipping some boxes may have zero width or height.
|
415
422
|
|
@@ -425,7 +432,7 @@ class Instances:
|
|
425
432
|
self.keypoints = self.keypoints[good]
|
426
433
|
return good
|
427
434
|
|
428
|
-
def update(self, bboxes, segments=None, keypoints=None):
|
435
|
+
def update(self, bboxes: np.ndarray, segments: np.ndarray = None, keypoints: np.ndarray = None):
|
429
436
|
"""
|
430
437
|
Update instance variables.
|
431
438
|
|
@@ -440,7 +447,7 @@ class Instances:
|
|
440
447
|
if keypoints is not None:
|
441
448
|
self.keypoints = keypoints
|
442
449
|
|
443
|
-
def __len__(self):
|
450
|
+
def __len__(self) -> int:
|
444
451
|
"""Return the number of instances."""
|
445
452
|
return len(self.bboxes)
|
446
453
|
|
@@ -492,6 +499,6 @@ class Instances:
|
|
492
499
|
return cls(cat_boxes, cat_segments, cat_keypoints, bbox_format, normalized)
|
493
500
|
|
494
501
|
@property
|
495
|
-
def bboxes(self):
|
502
|
+
def bboxes(self) -> np.ndarray:
|
496
503
|
"""Return bounding boxes."""
|
497
504
|
return self._bboxes.bboxes
|
ultralytics/utils/ops.py
CHANGED
@@ -343,11 +343,11 @@ def clip_boxes(boxes, shape):
|
|
343
343
|
Clip bounding boxes to image boundaries.
|
344
344
|
|
345
345
|
Args:
|
346
|
-
boxes (torch.Tensor |
|
346
|
+
boxes (torch.Tensor | np.ndarray): Bounding boxes to clip.
|
347
347
|
shape (tuple): Image shape as (height, width).
|
348
348
|
|
349
349
|
Returns:
|
350
|
-
(torch.Tensor |
|
350
|
+
(torch.Tensor | np.ndarray): Clipped bounding boxes.
|
351
351
|
"""
|
352
352
|
if isinstance(boxes, torch.Tensor): # faster individually (WARNING: inplace .clamp_() Apple MPS bug)
|
353
353
|
boxes[..., 0] = boxes[..., 0].clamp(0, shape[1]) # x1
|
@@ -365,11 +365,11 @@ def clip_coords(coords, shape):
|
|
365
365
|
Clip line coordinates to image boundaries.
|
366
366
|
|
367
367
|
Args:
|
368
|
-
coords (torch.Tensor |
|
368
|
+
coords (torch.Tensor | np.ndarray): Line coordinates to clip.
|
369
369
|
shape (tuple): Image shape as (height, width).
|
370
370
|
|
371
371
|
Returns:
|
372
|
-
(torch.Tensor |
|
372
|
+
(torch.Tensor | np.ndarray): Clipped coordinates.
|
373
373
|
"""
|
374
374
|
if isinstance(coords, torch.Tensor): # faster individually (WARNING: inplace .clamp_() Apple MPS bug)
|
375
375
|
coords[..., 0] = coords[..., 0].clamp(0, shape[1]) # x
|
@@ -564,10 +564,10 @@ def xyxyxyxy2xywhr(x):
|
|
564
564
|
Convert batched Oriented Bounding Boxes (OBB) from [xy1, xy2, xy3, xy4] to [xywh, rotation] format.
|
565
565
|
|
566
566
|
Args:
|
567
|
-
x (
|
567
|
+
x (np.ndarray | torch.Tensor): Input box corners with shape (N, 8) in [xy1, xy2, xy3, xy4] format.
|
568
568
|
|
569
569
|
Returns:
|
570
|
-
(
|
570
|
+
(np.ndarray | torch.Tensor): Converted data in [cx, cy, w, h, rotation] format with shape (N, 5).
|
571
571
|
Rotation values are in radians from 0 to pi/2.
|
572
572
|
"""
|
573
573
|
is_torch = isinstance(x, torch.Tensor)
|
@@ -587,11 +587,11 @@ def xywhr2xyxyxyxy(x):
|
|
587
587
|
Convert batched Oriented Bounding Boxes (OBB) from [xywh, rotation] to [xy1, xy2, xy3, xy4] format.
|
588
588
|
|
589
589
|
Args:
|
590
|
-
x (
|
590
|
+
x (np.ndarray | torch.Tensor): Boxes in [cx, cy, w, h, rotation] format with shape (N, 5) or (B, N, 5).
|
591
591
|
Rotation values should be in radians from 0 to pi/2.
|
592
592
|
|
593
593
|
Returns:
|
594
|
-
(
|
594
|
+
(np.ndarray | torch.Tensor): Converted corner points with shape (N, 4, 2) or (B, N, 4, 2).
|
595
595
|
"""
|
596
596
|
cos, sin, cat, stack = (
|
597
597
|
(torch.cos, torch.sin, torch.cat, torch.stack)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.164
|
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,7 +7,7 @@ tests/test_exports.py,sha256=HmMKOTCia9ZDC0VYc_EPmvBTM5LM5eeI1NF_pKjLpd8,9677
|
|
7
7
|
tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
|
8
8
|
tests/test_python.py,sha256=JJu-69IfuUf1dLK7Ko9elyPONiQ1yu7yhapMVIAt_KI,27907
|
9
9
|
tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=E1zBb25u7AF1eUsPZbqvcqNCRLqR_t-d0OoDbwjECr8,730
|
11
11
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
12
12
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
13
13
|
ultralytics/cfg/__init__.py,sha256=VIpPHImhjb0XLJquGZrG_LBGZchtOtBSXR7HYTYV2GU,39602
|
@@ -105,24 +105,24 @@ ultralytics/cfg/trackers/botsort.yaml,sha256=TpRaK5kH_-QbjCQ7ekM4s_7j8I8ti3q8Hs7
|
|
105
105
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=6u-tiZlk16EqEwkNXaMrza6PAQmWj_ypgv26LGCtPDg,886
|
106
106
|
ultralytics/data/__init__.py,sha256=nAXaL1puCc7z_NjzQNlJnhbVhT9Fla2u7Dsqo7q1dAc,644
|
107
107
|
ultralytics/data/annotator.py,sha256=uAgd7K-yudxiwdNqHz0ubfFg5JsfNlae4cgxdvCMyuY,3030
|
108
|
-
ultralytics/data/augment.py,sha256=
|
108
|
+
ultralytics/data/augment.py,sha256=lZhe2p8nrMrlfq1Y0FEXzDUAqLK0zROd2Heb7pJqn58,132420
|
109
109
|
ultralytics/data/base.py,sha256=mRcuehK1thNuuzQGL6D1AaZkod71oHRdYTod_zdQZQg,19688
|
110
|
-
ultralytics/data/build.py,sha256=
|
110
|
+
ultralytics/data/build.py,sha256=TfMLSPMbE2hGZVMLl178NTFrihC1-50jNOt1ex9elxw,11480
|
111
111
|
ultralytics/data/converter.py,sha256=dExElV0vWd4EmDtZaFMC0clEmLdjRDIdFiXf01PUvQA,27134
|
112
|
-
ultralytics/data/dataset.py,sha256=
|
113
|
-
ultralytics/data/loaders.py,sha256=
|
112
|
+
ultralytics/data/dataset.py,sha256=GhoFzBiuGvTr_5-3pzgWu6D_3aQVwW-hcS7kCo8XscM,36752
|
113
|
+
ultralytics/data/loaders.py,sha256=VcBg1c6hbASOU-PcFSMg_UXFUIGbG-xox4t80JbUD4c,31649
|
114
114
|
ultralytics/data/split.py,sha256=F6O73bAbESj70FQZzqkydXQeXgPXGHGiC06b5MkLHjQ,5109
|
115
115
|
ultralytics/data/split_dota.py,sha256=rr-lLpTUVaFZMggV_fUYZdFVIJk_zbbSOpgB_Qp50_M,12893
|
116
|
-
ultralytics/data/utils.py,sha256=
|
116
|
+
ultralytics/data/utils.py,sha256=UhxqsRCxPtZ7v_hiBd_dk-Dk2N3YUvxt8Snnz2ibNII,36837
|
117
117
|
ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
|
118
118
|
ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
|
119
119
|
ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
|
120
120
|
ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
|
121
121
|
ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
122
|
-
ultralytics/engine/exporter.py,sha256=
|
122
|
+
ultralytics/engine/exporter.py,sha256=mb_mJ2eQ7pvCpRk9xrzGOmTvJ6dbknGWN6adcHe_7pM,73500
|
123
123
|
ultralytics/engine/model.py,sha256=FmLwiKuItVNgoyXhAvesUnD3UeHBzCVzGHDrqB8J4ms,53453
|
124
|
-
ultralytics/engine/predictor.py,sha256=
|
125
|
-
ultralytics/engine/results.py,sha256=
|
124
|
+
ultralytics/engine/predictor.py,sha256=xxl1kdAzKrN8Y_5MQ5f92uFPeeRq1mYOl6hNlzpPjy8,22520
|
125
|
+
ultralytics/engine/results.py,sha256=QcHcbPVlLBiy_APwABr-T5K65HR8Bl1rRzxawjjP76E,71873
|
126
126
|
ultralytics/engine/trainer.py,sha256=28FeqASvQRxCaK96SXDM-BfPJjqy5KNiWhf8v6GXTug,39785
|
127
127
|
ultralytics/engine/tuner.py,sha256=sfQ8_yzgLNcGlKyz9b2vAzyggGZXiQzdZ5tKstyqjHM,12825
|
128
128
|
ultralytics/engine/validator.py,sha256=qftJUomb4A-6rSThtST3TccEbc_zTmzovCBBCSpYm3k,16671
|
@@ -133,8 +133,8 @@ ultralytics/hub/utils.py,sha256=5-y3WBT5U_L0ZscTJrUWvGB02QYwVAF82OiFqvvd0sE,1026
|
|
133
133
|
ultralytics/hub/google/__init__.py,sha256=ZJnS6s6wVl792p9h5aUmm9K2Di1DrHmTk1aEUJdTXhs,8443
|
134
134
|
ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
|
135
135
|
ultralytics/models/fastsam/__init__.py,sha256=HGJ8EKlBAsdF-e2aIwQLjSDAFI_r0yHR0A1gzrp4vqE,231
|
136
|
-
ultralytics/models/fastsam/model.py,sha256=
|
137
|
-
ultralytics/models/fastsam/predict.py,sha256=
|
136
|
+
ultralytics/models/fastsam/model.py,sha256=IW0QCgQgGNWjVToEInZ8jVwemfc3XnPA78A_zROw3xk,3436
|
137
|
+
ultralytics/models/fastsam/predict.py,sha256=feta9w9UD7xlbfB3p5QCum31RZ-eDMnWt01VCdVdT44,8962
|
138
138
|
ultralytics/models/fastsam/utils.py,sha256=yuCXB4CVjRx8lDf61DP8B6qMx7TVf7AynQvdWREeFco,884
|
139
139
|
ultralytics/models/fastsam/val.py,sha256=oLxB8vBKTfiT7eBbTzvpqq_xNSvDOjGdP1J7egHGsCA,2041
|
140
140
|
ultralytics/models/nas/__init__.py,sha256=wybeHZuAXMNeXMjKTbK55FZmXJkA4K9IozDeFM9OB-s,207
|
@@ -149,16 +149,16 @@ ultralytics/models/rtdetr/val.py,sha256=MGzHWMfVDx9KPgaK09nvuHfXRQ6FagpzEyNO1R_8
|
|
149
149
|
ultralytics/models/sam/__init__.py,sha256=iR7B06rAEni21eptg8n4rLOP0Z_qV9y9PL-L93n4_7s,266
|
150
150
|
ultralytics/models/sam/amg.py,sha256=IpcuIfC5KBRiF4sdrsPl1ecWEJy75axo1yG23r5BFsw,11783
|
151
151
|
ultralytics/models/sam/build.py,sha256=J6n-_QOYLa63jldEZmhRe9D3Is_AJE8xyZLUjzfRyTY,12629
|
152
|
-
ultralytics/models/sam/model.py,sha256=
|
152
|
+
ultralytics/models/sam/model.py,sha256=j1TwsLmtxhiXyceU31VPzGVkjRXGylphKrdPSzUJRJc,7231
|
153
153
|
ultralytics/models/sam/predict.py,sha256=2dg6L8X_I4RqTHAeH8w3m2ojFczkplx1Wu_ytwzAAgQ,82979
|
154
154
|
ultralytics/models/sam/modules/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
155
|
-
ultralytics/models/sam/modules/blocks.py,sha256=
|
155
|
+
ultralytics/models/sam/modules/blocks.py,sha256=n8oe9sx91_RktsF2_2UYNKH7qk8bFXuJtEaIEpQQ3ws,46059
|
156
156
|
ultralytics/models/sam/modules/decoders.py,sha256=-1fhBO47hA-3CzkU-PzkCK4Nsi_VJ_CH6Q9SMjydN4I,25609
|
157
157
|
ultralytics/models/sam/modules/encoders.py,sha256=f1cdGdmQ_3Vt7MKxMVNIgvEvYmVR8lM1uVocNnrrYrU,37392
|
158
|
-
ultralytics/models/sam/modules/memory_attention.py,sha256=
|
158
|
+
ultralytics/models/sam/modules/memory_attention.py,sha256=F1XJAxSwho2-LMlrao_ij0MoALTvhkK-OVghi0D4cU0,13651
|
159
159
|
ultralytics/models/sam/modules/sam.py,sha256=LUNmH-1iFPLnl7qzLeLpRqgc82_b8xKNCszDo272rrM,55684
|
160
160
|
ultralytics/models/sam/modules/tiny_encoder.py,sha256=lmUIeZ9-3M-C3YmJBs13W6t__dzeJloOl0qFR9Ll8ew,42241
|
161
|
-
ultralytics/models/sam/modules/transformer.py,sha256=
|
161
|
+
ultralytics/models/sam/modules/transformer.py,sha256=xc2g6gb0jvr7cJkHkzIbZOGcTrmsOn2ojvuH-MVIMVs,14953
|
162
162
|
ultralytics/models/sam/modules/utils.py,sha256=0qxBCh4tTzXNT10-BiKbqH6QDjzhkmLz2OiVG7gQfww,16021
|
163
163
|
ultralytics/models/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
|
164
164
|
ultralytics/models/utils/loss.py,sha256=E-61TfLPc04IdeL6IlFDityDoPju-ov0ouWV_cNY4Kg,21254
|
@@ -172,7 +172,7 @@ ultralytics/models/yolo/classify/val.py,sha256=YakPxBVZCd85Kp4wFKx8KH6JJFiU7nkFS
|
|
172
172
|
ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
|
173
173
|
ultralytics/models/yolo/detect/predict.py,sha256=ySUsdIf8dw00bzWhcxN1jZwLWKPRT2M7-N7TNL3o4zo,5387
|
174
174
|
ultralytics/models/yolo/detect/train.py,sha256=HlaCoHJ6Y2TpCXXWabMRZApAYqBvjuM_YQJUV5JYCvw,9907
|
175
|
-
ultralytics/models/yolo/detect/val.py,sha256=
|
175
|
+
ultralytics/models/yolo/detect/val.py,sha256=TrLclevqfD9NnpqPSIEvB5KakCsozyBegaD4lhd3noE,20485
|
176
176
|
ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
|
177
177
|
ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
|
178
178
|
ultralytics/models/yolo/obb/train.py,sha256=bnYFAMur7Uvbw5Dc09-S2ge7B05iGX-t37Ksgc0ef6g,3921
|
@@ -187,7 +187,7 @@ ultralytics/models/yolo/segment/train.py,sha256=XrPkXUiNu1Jvhn8iDew_RaLLjZA3un65
|
|
187
187
|
ultralytics/models/yolo/segment/val.py,sha256=AnvY0O7HhD5xZ2BE2artLTAVW4SNmHbVopBJsYRcmk8,12328
|
188
188
|
ultralytics/models/yolo/world/__init__.py,sha256=nlh8I6t8hMGz_vZg8QSlsUW1R-2eKvn9CGUoPPQEGhA,131
|
189
189
|
ultralytics/models/yolo/world/train.py,sha256=wBKnSC-TvrKWM1Taxqwo13XcwGHwwAXzNYV1tmqcOpc,7845
|
190
|
-
ultralytics/models/yolo/world/train_world.py,sha256=
|
190
|
+
ultralytics/models/yolo/world/train_world.py,sha256=lk9z_INGPSTP_W7Rjh3qrWSmjHaxOJtGngonh1cj2SM,9551
|
191
191
|
ultralytics/models/yolo/yoloe/__init__.py,sha256=6SLytdJtwu37qewf7CobG7C7Wl1m-xtNdvCXEasfPDE,760
|
192
192
|
ultralytics/models/yolo/yoloe/predict.py,sha256=TAcT6fiWbV-jOewu9hx_shGI10VLF_6oSPf7jfatBWo,7041
|
193
193
|
ultralytics/models/yolo/yoloe/train.py,sha256=XYpQYSnSD8vi_9VSj_S5oIsNUEqm3e66vPT8rNFI_HY,14086
|
@@ -195,7 +195,7 @@ ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYA
|
|
195
195
|
ultralytics/models/yolo/yoloe/val.py,sha256=yebPkxwKKt__cY05Zbh1YXg4_BKzzpcDc3Cv3FJ5SAA,9769
|
196
196
|
ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
|
197
197
|
ultralytics/nn/autobackend.py,sha256=n-2ADzX3Y2MRE8nHFeVvFCJFJP9rCbkkNbcufPZ24dE,41532
|
198
|
-
ultralytics/nn/tasks.py,sha256=
|
198
|
+
ultralytics/nn/tasks.py,sha256=jRUjYn1xz_LEa_zx6Upb0UpXvy0Bca1o5HEc7FCRgwM,72653
|
199
199
|
ultralytics/nn/text_model.py,sha256=cYwD-0el4VeToDBP4iPFOQGqyEQatJOBHrVyONL3K_s,15282
|
200
200
|
ultralytics/nn/modules/__init__.py,sha256=2nY0X69Z5DD5SWt6v3CUTZa5gXSzC9TQr3VTVqhyGho,3158
|
201
201
|
ultralytics/nn/modules/activation.py,sha256=75JcIMH2Cu9GTC2Uf55r_5YLpxcrXQDaVoeGQ0hlUAU,2233
|
@@ -208,23 +208,23 @@ ultralytics/solutions/__init__.py,sha256=ZoeAQavTLp8aClnhZ9tbl6lxy86GxofyGvZWTx2
|
|
208
208
|
ultralytics/solutions/ai_gym.py,sha256=wwfTqX7G3mZXneMwiibEfYbVYaJF_JUX3SQdsdQUvBM,5217
|
209
209
|
ultralytics/solutions/analytics.py,sha256=aHwKjSEW_3y47LrzugJbPB3VQGTDQCIb5goiPuxnmrc,12802
|
210
210
|
ultralytics/solutions/config.py,sha256=CevL8lzeSbiSAAA514CTiduCg2_Wh04P0RaB_kmwJa8,5404
|
211
|
-
ultralytics/solutions/distance_calculation.py,sha256=
|
211
|
+
ultralytics/solutions/distance_calculation.py,sha256=TYX7pRlM1v7XTq6wTTfJmj3WHT3zRBhRRcu50uZQ_AE,5936
|
212
212
|
ultralytics/solutions/heatmap.py,sha256=hBJR_Z3Lu9JcvCaEwnd-uN_WEiXK14FDRXedgaI8oqU,5515
|
213
|
-
ultralytics/solutions/instance_segmentation.py,sha256=
|
214
|
-
ultralytics/solutions/object_blurrer.py,sha256=
|
215
|
-
ultralytics/solutions/object_counter.py,sha256=
|
216
|
-
ultralytics/solutions/object_cropper.py,sha256=
|
213
|
+
ultralytics/solutions/instance_segmentation.py,sha256=zPMBY9ixn4YmZozBD2EyowLBadu4dOvZwk-m65EwgDk,3789
|
214
|
+
ultralytics/solutions/object_blurrer.py,sha256=96KOAEagk4UoErlUMiIDK6j1CWs2nN1dcJ5V6pl9L-8,3992
|
215
|
+
ultralytics/solutions/object_counter.py,sha256=zD-EYIxu_y7qCFEkv6aqV60oMCZ4q6b_kL_stXKof_A,9427
|
216
|
+
ultralytics/solutions/object_cropper.py,sha256=x3gN-ihtwkJntp6EMcVWnIvVTOu1iRkP5RrX-1kwJHg,3522
|
217
217
|
ultralytics/solutions/parking_management.py,sha256=IfPUn15aelxz6YZNo9WYkVEl5IOVSw8VD0OrpKtExPE,13613
|
218
|
-
ultralytics/solutions/queue_management.py,sha256=
|
219
|
-
ultralytics/solutions/region_counter.py,sha256=
|
220
|
-
ultralytics/solutions/security_alarm.py,sha256=
|
218
|
+
ultralytics/solutions/queue_management.py,sha256=gTkILx4dVcsKRZXSCXtelkEjCRiDS5iznb3FnddC61c,4390
|
219
|
+
ultralytics/solutions/region_counter.py,sha256=nmtCoq1sFIU2Hx4gKImYNF7Yf5YpADHwujxxQGDvf1s,5916
|
220
|
+
ultralytics/solutions/security_alarm.py,sha256=czEaMcy04q-iBkKqT_14d8H20CFB6zcKH_31nBGQnyw,6345
|
221
221
|
ultralytics/solutions/similarity_search.py,sha256=H9MPf8F5AvVfmb9hnng0FrIOTbLU_I-CkVHGpC81CE0,9496
|
222
222
|
ultralytics/solutions/solutions.py,sha256=KtoSUSxM4s-Ti5EAzT21pItuv70qlIOH6ymJP95Gl-E,37318
|
223
223
|
ultralytics/solutions/speed_estimation.py,sha256=chg_tBuKFw3EnFiv_obNDaUXLAo-FypxC7gsDeB_VUI,5878
|
224
224
|
ultralytics/solutions/streamlit_inference.py,sha256=SqL-YxU3RCxCKscH2AYUTkmJknilV9jCCco6ufqsFk4,10501
|
225
225
|
ultralytics/solutions/trackzone.py,sha256=kIS94rNfL3yVPAtSbnW8F-aLMxXowQtsfKNB-jLezz8,3941
|
226
|
-
ultralytics/solutions/vision_eye.py,sha256=
|
227
|
-
ultralytics/solutions/templates/similarity-search.html,sha256=
|
226
|
+
ultralytics/solutions/vision_eye.py,sha256=J_nsXhWkhfWz8THNJU4Yag4wbPv78ymby6SlNKeSuk4,3005
|
227
|
+
ultralytics/solutions/templates/similarity-search.html,sha256=nyyurpWlkvYlDeNh-74TlV4ctCpTksvkVy2Yc4ImQ1U,4261
|
228
228
|
ultralytics/trackers/__init__.py,sha256=Zlu_Ig5osn7hqch_g5Be_e4pwZUkeeTQiesJCi0pFGI,255
|
229
229
|
ultralytics/trackers/basetrack.py,sha256=-skBFFatzgJFAPN9Frm1u1h_RDUg3WOlxG6eHQxp2Gw,4384
|
230
230
|
ultralytics/trackers/bot_sort.py,sha256=knP5oo1LC45Lrato8LpcY_j4KBojQFP1lxT_NJxhEUo,12134
|
@@ -237,17 +237,17 @@ ultralytics/trackers/utils/matching.py,sha256=uSYtywqi1lE_uNN1FwuBFPyISfDQXHMu8K
|
|
237
237
|
ultralytics/utils/__init__.py,sha256=2xXw_PdASHKkAuOu3eaShJVqisQtFkF8nw5FyMuDUCQ,59401
|
238
238
|
ultralytics/utils/autobatch.py,sha256=33m8YgggLIhltDqMXZ5OE-FGs2QiHrl2-LfgY1mI4cw,5119
|
239
239
|
ultralytics/utils/autodevice.py,sha256=AvgXFt8c1Cg4icKh0Hbhhz8UmVQ2Wjyfdfkeb2C8zck,8855
|
240
|
-
ultralytics/utils/benchmarks.py,sha256=
|
240
|
+
ultralytics/utils/benchmarks.py,sha256=btsi_B0mfLPfhE8GrsBpi79vl7SRam0YYngNFAsY8Ak,31035
|
241
241
|
ultralytics/utils/checks.py,sha256=mkDl_BTLZyjfhYbFVSG6xYmxhB2s7wsQ62ugnhspqOc,34707
|
242
242
|
ultralytics/utils/dist.py,sha256=A9lDGtGefTjSVvVS38w86GOdbtLzNBDZuDGK0MT4PRI,4170
|
243
243
|
ultralytics/utils/downloads.py,sha256=YB6rJkcRGQfklUjZqi9dOkTiZaDSqbkGyZEFcZLQkgc,22080
|
244
244
|
ultralytics/utils/errors.py,sha256=XT9Ru7ivoBgofK6PlnyigGoa7Fmf5nEhyHtnD-8TRXI,1584
|
245
|
-
ultralytics/utils/export.py,sha256=
|
245
|
+
ultralytics/utils/export.py,sha256=LK-wlTlyb_zIKtSvOmfmvR70RcUU9Ct9UBDt5wn9_rY,9880
|
246
246
|
ultralytics/utils/files.py,sha256=ZCbLGleiF0f-PqYfaxMFAWop88w7U1hpreHXl8b2ko0,8238
|
247
|
-
ultralytics/utils/instance.py,sha256=
|
247
|
+
ultralytics/utils/instance.py,sha256=dC83rHvQXciAED3rOiScFs3BOX9OI06Ey1mj9sjUKvs,19070
|
248
248
|
ultralytics/utils/loss.py,sha256=fbOWc3Iu0QOJiWbi-mXWA9-1otTYlehtmUsI7os7ydM,39799
|
249
249
|
ultralytics/utils/metrics.py,sha256=3nQsz3rAm8n65iqikRzU30Pd2x20FY60ZlWrCMv5ZYk,62225
|
250
|
-
ultralytics/utils/ops.py,sha256=
|
250
|
+
ultralytics/utils/ops.py,sha256=8d60fbpntrexK3gPoLUS6mWAYGrtrQaQCOYyRJsCjuI,34521
|
251
251
|
ultralytics/utils/patches.py,sha256=tBAsNo_RyoFLL9OAzVuJmuoDLUJIPuTMByBYyblGG1A,6517
|
252
252
|
ultralytics/utils/plotting.py,sha256=LO-iR-k1UewV5vt4xXDUIirdmNEZdpfiQvLyIWqINPg,47171
|
253
253
|
ultralytics/utils/tal.py,sha256=aXawOnhn8ni65tJWIW-PYqWr_TRvltbHBjrTo7o6lDQ,20924
|
@@ -265,9 +265,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY
|
|
265
265
|
ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
|
266
266
|
ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
|
267
267
|
ultralytics/utils/callbacks/wb.py,sha256=Tm_-aRr2CN32MJkY9tylpMBJkb007-MSRNSQ7rDJ5QU,7521
|
268
|
-
ultralytics-8.3.
|
269
|
-
ultralytics-8.3.
|
270
|
-
ultralytics-8.3.
|
271
|
-
ultralytics-8.3.
|
272
|
-
ultralytics-8.3.
|
273
|
-
ultralytics-8.3.
|
268
|
+
ultralytics-8.3.164.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
269
|
+
ultralytics-8.3.164.dist-info/METADATA,sha256=-S1R_V8PhKc2vEpgGJTHzz6qsK0R_xCX5NY94sUTDag,37576
|
270
|
+
ultralytics-8.3.164.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
271
|
+
ultralytics-8.3.164.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
272
|
+
ultralytics-8.3.164.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
273
|
+
ultralytics-8.3.164.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|