ultralytics 8.2.74__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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.74"
3
+ __version__ = "8.2.75"
4
4
 
5
5
  import os
6
6
 
@@ -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) == 0:
179
- continue
180
- label[:, 1::2] -= x_start
181
- label[:, 2::2] -= y_start
182
- label[:, 1::2] /= pw
183
- label[:, 2::2] /= ph
184
-
185
- with open(Path(lb_dir) / f"{new_name}.txt", "w") as f:
186
- for lb in label:
187
- formatted_coords = ["{:.6g}".format(coord) for coord in lb[1:]]
188
- f.write(f"{int(lb[0])} {' '.join(formatted_coords)}\n")
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,)):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.74
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.49; extra == "dev"
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=0mePJ1OrsmtoXd_P7bhGJ4w9rk7MWbBmC-mt2qqq-zM,694
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
@@ -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=fWezt1Bo3jiZ6AyUWdBtTUuvLamPv1t7JD-DirM9gQ8,10142
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
@@ -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.74.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
229
- ultralytics-8.2.74.dist-info/METADATA,sha256=b5wD8pNfYLoERi_TndgKk2c76llIAvwz2eB47WP9WKA,41270
230
- ultralytics-8.2.74.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
231
- ultralytics-8.2.74.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
232
- ultralytics-8.2.74.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
233
- ultralytics-8.2.74.dist-info/RECORD,,
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,,