ultralytics 8.2.61__py3-none-any.whl → 8.2.62__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/__init__.py +154 -103
- ultralytics/data/annotator.py +16 -12
- ultralytics/data/augment.py +1478 -195
- ultralytics/data/explorer/gui/dash.py +41 -26
- ultralytics/data/loaders.py +1 -1
- ultralytics/engine/model.py +483 -176
- ultralytics/engine/results.py +1035 -256
- ultralytics/models/fastsam/predict.py +1 -3
- ultralytics/models/nas/predict.py +1 -3
- ultralytics/models/rtdetr/predict.py +4 -6
- ultralytics/models/sam/predict.py +1 -3
- ultralytics/solutions/streamlit_inference.py +5 -2
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/METADATA +1 -1
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/RECORD +19 -19
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/WHEEL +1 -1
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/LICENSE +0 -0
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.2.61.dist-info → ultralytics-8.2.62.dist-info}/top_level.txt +0 -0
|
@@ -71,9 +71,7 @@ class FastSAMPredictor(DetectionPredictor):
|
|
|
71
71
|
|
|
72
72
|
results = []
|
|
73
73
|
proto = preds[1][-1] if len(preds[1]) == 3 else preds[1] # second output is len 3 if pt, but only 1 if exported
|
|
74
|
-
for i, pred in enumerate(p):
|
|
75
|
-
orig_img = orig_imgs[i]
|
|
76
|
-
img_path = self.batch[0][i]
|
|
74
|
+
for i, (pred, orig_img, img_path) in enumerate(zip(p, orig_imgs, self.batch[0])):
|
|
77
75
|
if not len(pred): # save empty boxes
|
|
78
76
|
masks = None
|
|
79
77
|
elif self.args.retina_masks:
|
|
@@ -52,9 +52,7 @@ class NASPredictor(BasePredictor):
|
|
|
52
52
|
orig_imgs = ops.convert_torch2numpy_batch(orig_imgs)
|
|
53
53
|
|
|
54
54
|
results = []
|
|
55
|
-
for
|
|
56
|
-
orig_img = orig_imgs[i]
|
|
55
|
+
for pred, orig_img, img_path in zip(preds, orig_imgs, self.batch[0]):
|
|
57
56
|
pred[:, :4] = ops.scale_boxes(img.shape[2:], pred[:, :4], orig_img.shape)
|
|
58
|
-
img_path = self.batch[0][i]
|
|
59
57
|
results.append(Results(orig_img, path=img_path, names=self.model.names, boxes=pred))
|
|
60
58
|
return results
|
|
@@ -56,18 +56,16 @@ class RTDETRPredictor(BasePredictor):
|
|
|
56
56
|
orig_imgs = ops.convert_torch2numpy_batch(orig_imgs)
|
|
57
57
|
|
|
58
58
|
results = []
|
|
59
|
-
for
|
|
59
|
+
for bbox, score, orig_img, img_path in zip(bboxes, scores, orig_imgs, self.batch[0]): # (300, 4)
|
|
60
60
|
bbox = ops.xywh2xyxy(bbox)
|
|
61
|
-
|
|
62
|
-
idx =
|
|
61
|
+
max_score, cls = score.max(-1, keepdim=True) # (300, 1)
|
|
62
|
+
idx = max_score.squeeze(-1) > self.args.conf # (300, )
|
|
63
63
|
if self.args.classes is not None:
|
|
64
64
|
idx = (cls == torch.tensor(self.args.classes, device=cls.device)).any(1) & idx
|
|
65
|
-
pred = torch.cat([bbox,
|
|
66
|
-
orig_img = orig_imgs[i]
|
|
65
|
+
pred = torch.cat([bbox, max_score, cls], dim=-1)[idx] # filter
|
|
67
66
|
oh, ow = orig_img.shape[:2]
|
|
68
67
|
pred[..., [0, 2]] *= ow
|
|
69
68
|
pred[..., [1, 3]] *= oh
|
|
70
|
-
img_path = self.batch[0][i]
|
|
71
69
|
results.append(Results(orig_img, path=img_path, names=self.model.names, boxes=pred))
|
|
72
70
|
return results
|
|
73
71
|
|
|
@@ -372,8 +372,7 @@ class Predictor(BasePredictor):
|
|
|
372
372
|
orig_imgs = ops.convert_torch2numpy_batch(orig_imgs)
|
|
373
373
|
|
|
374
374
|
results = []
|
|
375
|
-
for
|
|
376
|
-
orig_img = orig_imgs[i]
|
|
375
|
+
for masks, orig_img, img_path in zip([pred_masks], orig_imgs, self.batch[0]):
|
|
377
376
|
if pred_bboxes is not None:
|
|
378
377
|
pred_bboxes = ops.scale_boxes(img.shape[2:], pred_bboxes.float(), orig_img.shape, padding=False)
|
|
379
378
|
cls = torch.arange(len(pred_masks), dtype=torch.int32, device=pred_masks.device)
|
|
@@ -381,7 +380,6 @@ class Predictor(BasePredictor):
|
|
|
381
380
|
|
|
382
381
|
masks = ops.scale_masks(masks[None].float(), orig_img.shape[:2], padding=False)[0]
|
|
383
382
|
masks = masks > self.model.mask_threshold # to bool
|
|
384
|
-
img_path = self.batch[0][i]
|
|
385
383
|
results.append(Results(orig_img, path=img_path, names=names, masks=masks, boxes=pred_bboxes))
|
|
386
384
|
# Reset segment-all mode.
|
|
387
385
|
self.segment_all = False
|
|
@@ -10,7 +10,7 @@ from ultralytics.utils.checks import check_requirements
|
|
|
10
10
|
from ultralytics.utils.downloads import GITHUB_ASSETS_STEMS
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def inference():
|
|
13
|
+
def inference(model=None):
|
|
14
14
|
"""Runs real-time object detection on video input using Ultralytics YOLOv8 in a Streamlit application."""
|
|
15
15
|
check_requirements("streamlit>=1.29.0") # scope imports for faster ultralytics package load speeds
|
|
16
16
|
import streamlit as st
|
|
@@ -67,7 +67,10 @@ def inference():
|
|
|
67
67
|
vid_file_name = 0
|
|
68
68
|
|
|
69
69
|
# Add dropdown menu for model selection
|
|
70
|
-
available_models =
|
|
70
|
+
available_models = [x.replace("yolo", "YOLO") for x in GITHUB_ASSETS_STEMS if x.startswith("yolov8")]
|
|
71
|
+
if model:
|
|
72
|
+
available_models.insert(0, model)
|
|
73
|
+
|
|
71
74
|
selected_model = st.sidebar.selectbox("Model", available_models)
|
|
72
75
|
with st.spinner("Model is downloading..."):
|
|
73
76
|
model = YOLO(f"{selected_model.lower()}.pt") # Load the YOLO model
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.62
|
|
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
|
|
@@ -8,10 +8,10 @@ tests/test_exports.py,sha256=Uezf3OatpPHlo5qoPw-2kqkZxuMCF9L4XF2riD4vmII,8225
|
|
|
8
8
|
tests/test_integrations.py,sha256=xglcfMPjfVh346PV8WTpk6tBxraCXEFJEQyyJMr5tyU,6064
|
|
9
9
|
tests/test_python.py,sha256=qhtSQ7NDfBChsVUxeSwfUIkoKq0S1Z-Rd9_MP023Y5k,21794
|
|
10
10
|
tests/test_solutions.py,sha256=EACnPXbeJe2aVTOKfqMk5jclKKCWCVgFEzjpR6y7Sh8,3304
|
|
11
|
-
ultralytics/__init__.py,sha256
|
|
11
|
+
ultralytics/__init__.py,sha256=hDgDgTuQtbBY7Va8Vim-nJfQ4R8PXkvO6eOXiDjj-GY,694
|
|
12
12
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
|
13
13
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
|
14
|
-
ultralytics/cfg/__init__.py,sha256=
|
|
14
|
+
ultralytics/cfg/__init__.py,sha256=fD3Llw12sIkJo4g667t6b051je9nEpwdBLGgbbVEzHY,32973
|
|
15
15
|
ultralytics/cfg/default.yaml,sha256=xRKVF-Z9E3imXTU9OCK94kj3jGgYoo67VJQwuYlHiUU,8228
|
|
16
16
|
ultralytics/cfg/datasets/Argoverse.yaml,sha256=FyeuJT5CHq_9d4hlfAf0kpZlnbUMO0S--UJ1yIqcdKk,3134
|
|
17
17
|
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=QVfp_Qp-4rukuicaB4qx86NxSHM8Mrzym8l_fIDo8gw,1195
|
|
@@ -83,25 +83,25 @@ ultralytics/cfg/models/v9/yolov9t.yaml,sha256=qL__kr6GoefpQWP4jV0jdzwTp46bdFUcqt
|
|
|
83
83
|
ultralytics/cfg/trackers/botsort.yaml,sha256=YrPmj18p1UU40kJH5NRdL_4S8f7knggkk_q2KYnVudo,883
|
|
84
84
|
ultralytics/cfg/trackers/bytetrack.yaml,sha256=QvHmtuwulK4X6j3T5VEqtCm0sbWWBUVmWPcCcM20qe0,688
|
|
85
85
|
ultralytics/data/__init__.py,sha256=VGe-ATG7j35F4A4r8Jmzffjlhve4JAJPgRa5ahKTU18,616
|
|
86
|
-
ultralytics/data/annotator.py,sha256=
|
|
87
|
-
ultralytics/data/augment.py,sha256=
|
|
86
|
+
ultralytics/data/annotator.py,sha256=1Hyu6ubrBL8KmRrt1keGn-K4XTqQdAVyIwTsQiBtzLU,2489
|
|
87
|
+
ultralytics/data/augment.py,sha256=NrcaGAB7aUbQRaggkxnBHHSKPd3GVaTxdVwcHsZs6xc,119151
|
|
88
88
|
ultralytics/data/base.py,sha256=C3teLnw97ZTbpJHT9P7yYWosAKocMzgJjRe1rxgfpls,13524
|
|
89
89
|
ultralytics/data/build.py,sha256=AfMmz0sHIYmwry_90tEJFRk_kz0S3SolScVXqYHiT08,7261
|
|
90
90
|
ultralytics/data/converter.py,sha256=7640xKuf7LPeoTwoCvgbIXM5xbzyq72Hu2Rf2lrgjRY,17554
|
|
91
91
|
ultralytics/data/dataset.py,sha256=2m_YOw73gO_mzvitel5OKuQpbkwFTDnpPNcUIz4cayI,22579
|
|
92
|
-
ultralytics/data/loaders.py,sha256=
|
|
92
|
+
ultralytics/data/loaders.py,sha256=cAyGlSNonzYXU5eBXiDVFrDOlTeziXGyO7_UaToUGrc,24152
|
|
93
93
|
ultralytics/data/split_dota.py,sha256=fWezt1Bo3jiZ6AyUWdBtTUuvLamPv1t7JD-DirM9gQ8,10142
|
|
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
|
|
97
97
|
ultralytics/data/explorer/utils.py,sha256=EvvukQiQUTBrsZznmMnyEX2EqTuwZo_Geyc8yfi8NIA,7085
|
|
98
98
|
ultralytics/data/explorer/gui/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
99
|
-
ultralytics/data/explorer/gui/dash.py,sha256=
|
|
99
|
+
ultralytics/data/explorer/gui/dash.py,sha256=vZ476NaUH4FKU08rAJ1K9WNyKtg0soMyJJxqg176yWc,10498
|
|
100
100
|
ultralytics/engine/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
101
101
|
ultralytics/engine/exporter.py,sha256=mJqo3TbYuVcNA26rN5Fc57a1uVAqYfT1P3GSSE5k4rU,58741
|
|
102
|
-
ultralytics/engine/model.py,sha256=
|
|
102
|
+
ultralytics/engine/model.py,sha256=zeyyXy4dY3fTj0GjYeTuvJcKyNmlEX34ntSzLF3_T7E,52013
|
|
103
103
|
ultralytics/engine/predictor.py,sha256=W58kDCFH2AfoFzpGbos3k8zUEVsLunBuM8sc2B64rPY,17449
|
|
104
|
-
ultralytics/engine/results.py,sha256=
|
|
104
|
+
ultralytics/engine/results.py,sha256=oNAzSKdKxxx_5QQd9opzCevvgPhspdY5BkWxoz5bQ8E,69882
|
|
105
105
|
ultralytics/engine/trainer.py,sha256=vFdWN6I-DoAHZYmxjRDeYcc44B9i8tBtK8u6oMgyj9o,35476
|
|
106
106
|
ultralytics/engine/tuner.py,sha256=iZrgMmXSDpfuDu4bdFRflmAsscys2-8W8qAGxSyOVJE,11844
|
|
107
107
|
ultralytics/engine/validator.py,sha256=Y21Uo8_Zto4qjk_YqQk6k7tyfpq_Qk9cfjeXeyDRxs8,14643
|
|
@@ -112,24 +112,24 @@ ultralytics/hub/utils.py,sha256=tXfM3QbXBcf4Y6StgHI1pktT4OM7Ic9eF3xiBFHGlhY,9721
|
|
|
112
112
|
ultralytics/models/__init__.py,sha256=TT9iLCL_n9Y80dcUq0Fo-p-GRZCSU2vrWXM3CoMwqqE,265
|
|
113
113
|
ultralytics/models/fastsam/__init__.py,sha256=0dt65jZ_5b7Q-mdXN8MSEkgnFRA0FIwlel_LS2RaOlU,254
|
|
114
114
|
ultralytics/models/fastsam/model.py,sha256=c7GGwaa9AXssJFwrcuytFHpPOlgSrS3n0utyf4JSL2o,1055
|
|
115
|
-
ultralytics/models/fastsam/predict.py,sha256=
|
|
115
|
+
ultralytics/models/fastsam/predict.py,sha256=UUbnNDKCoW7DQj24W-tpft4u1JHG_pLRbQHiBLyXMjA,4098
|
|
116
116
|
ultralytics/models/fastsam/prompt.py,sha256=4d9e1fEuGpTPWRfu3rG6HT8Bc0rtqJtRpNrlHkmkKcY,15860
|
|
117
117
|
ultralytics/models/fastsam/utils.py,sha256=r-b362Wb7P2ZAlOwWckPJM6HLvg-eFDDz4wkA0ymLd0,2157
|
|
118
118
|
ultralytics/models/fastsam/val.py,sha256=ILKmw3U8FYmmQsO9wk9-bJ9Pyp_ZthJM36b61L75s3Y,1967
|
|
119
119
|
ultralytics/models/nas/__init__.py,sha256=d6-WTrYLXvbPs58ebA0-583ODi-VyzXc-t4aGIDQK6M,179
|
|
120
120
|
ultralytics/models/nas/model.py,sha256=nw7574loYfJHiEQx_ttemF9gpyehvWQVVYTIH0lsTSo,2865
|
|
121
|
-
ultralytics/models/nas/predict.py,sha256=
|
|
121
|
+
ultralytics/models/nas/predict.py,sha256=uRtr9hLwkGG0w3lYDgiuqd0ataQ_RYR_BQdY0qMz5NI,2097
|
|
122
122
|
ultralytics/models/nas/val.py,sha256=tVRfUEy1vEG67O5JZQzQO0gPHjt_WWiPvRvPlg_Btgg,1669
|
|
123
123
|
ultralytics/models/rtdetr/__init__.py,sha256=AZga1C3qlGTtgpAupDW4doijq5aZlQeF8e55_DP2Uas,197
|
|
124
124
|
ultralytics/models/rtdetr/model.py,sha256=2VkppF1_581XmQ0UI7lo8fX7MqhAJPXVMr2jyMHXtbk,1988
|
|
125
|
-
ultralytics/models/rtdetr/predict.py,sha256
|
|
125
|
+
ultralytics/models/rtdetr/predict.py,sha256=GmeNiFszDajq9YNPi0jW89CqP0MRD5Gtmokh9z0JAQc,3568
|
|
126
126
|
ultralytics/models/rtdetr/train.py,sha256=20AFYVW9NPxw0-cp-sRdIovWidFL0IIhJRv2oZjkPlM,3685
|
|
127
127
|
ultralytics/models/rtdetr/val.py,sha256=4QQArdaGEY8rJsJuvyJ032f8GGVGdV2jURHK2EdMxyk,5566
|
|
128
128
|
ultralytics/models/sam/__init__.py,sha256=9A1iyfPN_ncqq3TMExe_-uPoARjEX3psoHEI1xMG2VE,144
|
|
129
129
|
ultralytics/models/sam/amg.py,sha256=He2c4nIoZ__F_pL18rRl278R8iBjWXBM2Z_vxfuVOkk,7971
|
|
130
130
|
ultralytics/models/sam/build.py,sha256=-i-vj0egQ2idBZUf3Xf-H89QeToM3ky0HTxKP_KEXTs,4944
|
|
131
131
|
ultralytics/models/sam/model.py,sha256=dkEhqJEZFuSoKubMaAjUx1U9Np49AII3nBScdH8rMBI,4707
|
|
132
|
-
ultralytics/models/sam/predict.py,sha256=
|
|
132
|
+
ultralytics/models/sam/predict.py,sha256=hachjdcJ175v_oOUPmu_jG_VSe2wCbpLpi4qymUJV34,23575
|
|
133
133
|
ultralytics/models/sam/modules/__init__.py,sha256=mHtJuK4hwF8cuV-VHDc7tp6u6D1gHz2Z7JI8grmQDTs,42
|
|
134
134
|
ultralytics/models/sam/modules/decoders.py,sha256=7NWnBNupxGYvH0S1N0R6NBHxdVFRUrrnL9EqAw09J4E,7816
|
|
135
135
|
ultralytics/models/sam/modules/encoders.py,sha256=pRNZHzt2J2xD_D0Btu8pk4DcItfr6dRr9rcRfxoZZhU,24746
|
|
@@ -182,7 +182,7 @@ ultralytics/solutions/object_counter.py,sha256=C80ET_-tIKv7pfshO8DFwimCieBHV4Ns7
|
|
|
182
182
|
ultralytics/solutions/parking_management.py,sha256=_cJ4kXIq4l56WVyNsq6RUVe_mv5oBy-fmt1vIyevPko,10139
|
|
183
183
|
ultralytics/solutions/queue_management.py,sha256=CxFvHwSHq8OZ5aW7x2F10jcjkGAQ3LSJ5z69zusRVbs,6781
|
|
184
184
|
ultralytics/solutions/speed_estimation.py,sha256=kjqMSHGTHMZaNgTKNKWULxnJQNsvhq4WMUphMVlBjsc,6768
|
|
185
|
-
ultralytics/solutions/streamlit_inference.py,sha256=
|
|
185
|
+
ultralytics/solutions/streamlit_inference.py,sha256=znX2pHkaAd7CfTiQn6ieguBHAnlKqlEV0rlpF-TQMTQ,5633
|
|
186
186
|
ultralytics/trackers/__init__.py,sha256=j72IgH2dZHQArMPK4YwcV5ieIw94fYvlGdQjB9cOQKw,227
|
|
187
187
|
ultralytics/trackers/basetrack.py,sha256=-vBDD-Q9lsxfTMK2w9kuqWGrYbRMmaBCCEbGGyR53gE,3675
|
|
188
188
|
ultralytics/trackers/bot_sort.py,sha256=39AvhYVbT7izF3--rX_e6Lhgb5czTA23gw6AgnNcRds,8601
|
|
@@ -221,9 +221,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=5Z3ua5YBTUS56FH8VQKQG1aaIo9fH8GEyz
|
|
|
221
221
|
ultralytics/utils/callbacks/raytune.py,sha256=ODVYzy-CoM4Uge0zjkh3Hnh9nF2M0vhDrSenXnvcizw,705
|
|
222
222
|
ultralytics/utils/callbacks/tensorboard.py,sha256=QEgOVhUqY9akOs5TJIwz1Rvn6l32xWLpOxlwEyWF0B8,4136
|
|
223
223
|
ultralytics/utils/callbacks/wb.py,sha256=9-fjQIdLjr3b73DTE3rHO171KvbH1VweJ-bmbv-rqTw,6747
|
|
224
|
-
ultralytics-8.2.
|
|
225
|
-
ultralytics-8.2.
|
|
226
|
-
ultralytics-8.2.
|
|
227
|
-
ultralytics-8.2.
|
|
228
|
-
ultralytics-8.2.
|
|
229
|
-
ultralytics-8.2.
|
|
224
|
+
ultralytics-8.2.62.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
225
|
+
ultralytics-8.2.62.dist-info/METADATA,sha256=rqXjjN4mVt61M_mfmShx-VRMZaqAVPL8wQBidp843Fk,41217
|
|
226
|
+
ultralytics-8.2.62.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
|
|
227
|
+
ultralytics-8.2.62.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
|
228
|
+
ultralytics-8.2.62.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
|
229
|
+
ultralytics-8.2.62.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|