dgenerate-ultralytics-headless 8.3.137__py3-none-any.whl → 8.3.224__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.
Files changed (215) hide show
  1. {dgenerate_ultralytics_headless-8.3.137.dist-info → dgenerate_ultralytics_headless-8.3.224.dist-info}/METADATA +41 -34
  2. dgenerate_ultralytics_headless-8.3.224.dist-info/RECORD +285 -0
  3. {dgenerate_ultralytics_headless-8.3.137.dist-info → dgenerate_ultralytics_headless-8.3.224.dist-info}/WHEEL +1 -1
  4. tests/__init__.py +7 -6
  5. tests/conftest.py +15 -39
  6. tests/test_cli.py +17 -17
  7. tests/test_cuda.py +17 -8
  8. tests/test_engine.py +36 -10
  9. tests/test_exports.py +98 -37
  10. tests/test_integrations.py +12 -15
  11. tests/test_python.py +126 -82
  12. tests/test_solutions.py +319 -135
  13. ultralytics/__init__.py +27 -9
  14. ultralytics/cfg/__init__.py +83 -87
  15. ultralytics/cfg/datasets/Argoverse.yaml +4 -4
  16. ultralytics/cfg/datasets/DOTAv1.5.yaml +2 -2
  17. ultralytics/cfg/datasets/DOTAv1.yaml +2 -2
  18. ultralytics/cfg/datasets/GlobalWheat2020.yaml +2 -2
  19. ultralytics/cfg/datasets/HomeObjects-3K.yaml +4 -5
  20. ultralytics/cfg/datasets/ImageNet.yaml +3 -3
  21. ultralytics/cfg/datasets/Objects365.yaml +24 -20
  22. ultralytics/cfg/datasets/SKU-110K.yaml +9 -9
  23. ultralytics/cfg/datasets/VOC.yaml +10 -13
  24. ultralytics/cfg/datasets/VisDrone.yaml +43 -33
  25. ultralytics/cfg/datasets/african-wildlife.yaml +5 -5
  26. ultralytics/cfg/datasets/brain-tumor.yaml +4 -5
  27. ultralytics/cfg/datasets/carparts-seg.yaml +5 -5
  28. ultralytics/cfg/datasets/coco-pose.yaml +26 -4
  29. ultralytics/cfg/datasets/coco.yaml +4 -4
  30. ultralytics/cfg/datasets/coco128-seg.yaml +2 -2
  31. ultralytics/cfg/datasets/coco128.yaml +2 -2
  32. ultralytics/cfg/datasets/coco8-grayscale.yaml +103 -0
  33. ultralytics/cfg/datasets/coco8-multispectral.yaml +2 -2
  34. ultralytics/cfg/datasets/coco8-pose.yaml +23 -2
  35. ultralytics/cfg/datasets/coco8-seg.yaml +2 -2
  36. ultralytics/cfg/datasets/coco8.yaml +2 -2
  37. ultralytics/cfg/datasets/construction-ppe.yaml +32 -0
  38. ultralytics/cfg/datasets/crack-seg.yaml +5 -5
  39. ultralytics/cfg/datasets/dog-pose.yaml +32 -4
  40. ultralytics/cfg/datasets/dota8-multispectral.yaml +2 -2
  41. ultralytics/cfg/datasets/dota8.yaml +2 -2
  42. ultralytics/cfg/datasets/hand-keypoints.yaml +29 -4
  43. ultralytics/cfg/datasets/lvis.yaml +9 -9
  44. ultralytics/cfg/datasets/medical-pills.yaml +4 -5
  45. ultralytics/cfg/datasets/open-images-v7.yaml +7 -10
  46. ultralytics/cfg/datasets/package-seg.yaml +5 -5
  47. ultralytics/cfg/datasets/signature.yaml +4 -4
  48. ultralytics/cfg/datasets/tiger-pose.yaml +20 -4
  49. ultralytics/cfg/datasets/xView.yaml +5 -5
  50. ultralytics/cfg/default.yaml +96 -93
  51. ultralytics/cfg/trackers/botsort.yaml +16 -17
  52. ultralytics/cfg/trackers/bytetrack.yaml +9 -11
  53. ultralytics/data/__init__.py +4 -4
  54. ultralytics/data/annotator.py +12 -12
  55. ultralytics/data/augment.py +531 -564
  56. ultralytics/data/base.py +76 -81
  57. ultralytics/data/build.py +206 -42
  58. ultralytics/data/converter.py +179 -78
  59. ultralytics/data/dataset.py +121 -121
  60. ultralytics/data/loaders.py +114 -91
  61. ultralytics/data/split.py +28 -15
  62. ultralytics/data/split_dota.py +67 -48
  63. ultralytics/data/utils.py +110 -89
  64. ultralytics/engine/exporter.py +422 -460
  65. ultralytics/engine/model.py +224 -252
  66. ultralytics/engine/predictor.py +94 -89
  67. ultralytics/engine/results.py +345 -595
  68. ultralytics/engine/trainer.py +231 -134
  69. ultralytics/engine/tuner.py +279 -73
  70. ultralytics/engine/validator.py +53 -46
  71. ultralytics/hub/__init__.py +26 -28
  72. ultralytics/hub/auth.py +30 -16
  73. ultralytics/hub/google/__init__.py +34 -36
  74. ultralytics/hub/session.py +53 -77
  75. ultralytics/hub/utils.py +23 -109
  76. ultralytics/models/__init__.py +1 -1
  77. ultralytics/models/fastsam/__init__.py +1 -1
  78. ultralytics/models/fastsam/model.py +36 -18
  79. ultralytics/models/fastsam/predict.py +33 -44
  80. ultralytics/models/fastsam/utils.py +4 -5
  81. ultralytics/models/fastsam/val.py +12 -14
  82. ultralytics/models/nas/__init__.py +1 -1
  83. ultralytics/models/nas/model.py +16 -20
  84. ultralytics/models/nas/predict.py +12 -14
  85. ultralytics/models/nas/val.py +4 -5
  86. ultralytics/models/rtdetr/__init__.py +1 -1
  87. ultralytics/models/rtdetr/model.py +9 -9
  88. ultralytics/models/rtdetr/predict.py +22 -17
  89. ultralytics/models/rtdetr/train.py +20 -16
  90. ultralytics/models/rtdetr/val.py +79 -59
  91. ultralytics/models/sam/__init__.py +8 -2
  92. ultralytics/models/sam/amg.py +53 -38
  93. ultralytics/models/sam/build.py +29 -31
  94. ultralytics/models/sam/model.py +33 -38
  95. ultralytics/models/sam/modules/blocks.py +159 -182
  96. ultralytics/models/sam/modules/decoders.py +38 -47
  97. ultralytics/models/sam/modules/encoders.py +114 -133
  98. ultralytics/models/sam/modules/memory_attention.py +38 -31
  99. ultralytics/models/sam/modules/sam.py +114 -93
  100. ultralytics/models/sam/modules/tiny_encoder.py +268 -291
  101. ultralytics/models/sam/modules/transformer.py +59 -66
  102. ultralytics/models/sam/modules/utils.py +55 -72
  103. ultralytics/models/sam/predict.py +745 -341
  104. ultralytics/models/utils/loss.py +118 -107
  105. ultralytics/models/utils/ops.py +118 -71
  106. ultralytics/models/yolo/__init__.py +1 -1
  107. ultralytics/models/yolo/classify/predict.py +28 -26
  108. ultralytics/models/yolo/classify/train.py +50 -81
  109. ultralytics/models/yolo/classify/val.py +68 -61
  110. ultralytics/models/yolo/detect/predict.py +12 -15
  111. ultralytics/models/yolo/detect/train.py +56 -46
  112. ultralytics/models/yolo/detect/val.py +279 -223
  113. ultralytics/models/yolo/model.py +167 -86
  114. ultralytics/models/yolo/obb/predict.py +7 -11
  115. ultralytics/models/yolo/obb/train.py +23 -25
  116. ultralytics/models/yolo/obb/val.py +107 -99
  117. ultralytics/models/yolo/pose/__init__.py +1 -1
  118. ultralytics/models/yolo/pose/predict.py +12 -14
  119. ultralytics/models/yolo/pose/train.py +31 -69
  120. ultralytics/models/yolo/pose/val.py +119 -254
  121. ultralytics/models/yolo/segment/predict.py +21 -25
  122. ultralytics/models/yolo/segment/train.py +12 -66
  123. ultralytics/models/yolo/segment/val.py +126 -305
  124. ultralytics/models/yolo/world/train.py +53 -45
  125. ultralytics/models/yolo/world/train_world.py +51 -32
  126. ultralytics/models/yolo/yoloe/__init__.py +7 -7
  127. ultralytics/models/yolo/yoloe/predict.py +30 -37
  128. ultralytics/models/yolo/yoloe/train.py +89 -71
  129. ultralytics/models/yolo/yoloe/train_seg.py +15 -17
  130. ultralytics/models/yolo/yoloe/val.py +56 -41
  131. ultralytics/nn/__init__.py +9 -11
  132. ultralytics/nn/autobackend.py +179 -107
  133. ultralytics/nn/modules/__init__.py +67 -67
  134. ultralytics/nn/modules/activation.py +8 -7
  135. ultralytics/nn/modules/block.py +302 -323
  136. ultralytics/nn/modules/conv.py +61 -104
  137. ultralytics/nn/modules/head.py +488 -186
  138. ultralytics/nn/modules/transformer.py +183 -123
  139. ultralytics/nn/modules/utils.py +15 -20
  140. ultralytics/nn/tasks.py +327 -203
  141. ultralytics/nn/text_model.py +81 -65
  142. ultralytics/py.typed +1 -0
  143. ultralytics/solutions/__init__.py +12 -12
  144. ultralytics/solutions/ai_gym.py +19 -27
  145. ultralytics/solutions/analytics.py +36 -26
  146. ultralytics/solutions/config.py +29 -28
  147. ultralytics/solutions/distance_calculation.py +23 -24
  148. ultralytics/solutions/heatmap.py +17 -19
  149. ultralytics/solutions/instance_segmentation.py +21 -19
  150. ultralytics/solutions/object_blurrer.py +16 -17
  151. ultralytics/solutions/object_counter.py +48 -53
  152. ultralytics/solutions/object_cropper.py +22 -16
  153. ultralytics/solutions/parking_management.py +61 -58
  154. ultralytics/solutions/queue_management.py +19 -19
  155. ultralytics/solutions/region_counter.py +63 -50
  156. ultralytics/solutions/security_alarm.py +22 -25
  157. ultralytics/solutions/similarity_search.py +107 -60
  158. ultralytics/solutions/solutions.py +343 -262
  159. ultralytics/solutions/speed_estimation.py +35 -31
  160. ultralytics/solutions/streamlit_inference.py +104 -40
  161. ultralytics/solutions/templates/similarity-search.html +31 -24
  162. ultralytics/solutions/trackzone.py +24 -24
  163. ultralytics/solutions/vision_eye.py +11 -12
  164. ultralytics/trackers/__init__.py +1 -1
  165. ultralytics/trackers/basetrack.py +18 -27
  166. ultralytics/trackers/bot_sort.py +48 -39
  167. ultralytics/trackers/byte_tracker.py +94 -94
  168. ultralytics/trackers/track.py +7 -16
  169. ultralytics/trackers/utils/gmc.py +37 -69
  170. ultralytics/trackers/utils/kalman_filter.py +68 -76
  171. ultralytics/trackers/utils/matching.py +13 -17
  172. ultralytics/utils/__init__.py +251 -275
  173. ultralytics/utils/autobatch.py +19 -7
  174. ultralytics/utils/autodevice.py +68 -38
  175. ultralytics/utils/benchmarks.py +169 -130
  176. ultralytics/utils/callbacks/base.py +12 -13
  177. ultralytics/utils/callbacks/clearml.py +14 -15
  178. ultralytics/utils/callbacks/comet.py +139 -66
  179. ultralytics/utils/callbacks/dvc.py +19 -27
  180. ultralytics/utils/callbacks/hub.py +8 -6
  181. ultralytics/utils/callbacks/mlflow.py +6 -10
  182. ultralytics/utils/callbacks/neptune.py +11 -19
  183. ultralytics/utils/callbacks/platform.py +73 -0
  184. ultralytics/utils/callbacks/raytune.py +3 -4
  185. ultralytics/utils/callbacks/tensorboard.py +9 -12
  186. ultralytics/utils/callbacks/wb.py +33 -30
  187. ultralytics/utils/checks.py +163 -114
  188. ultralytics/utils/cpu.py +89 -0
  189. ultralytics/utils/dist.py +24 -20
  190. ultralytics/utils/downloads.py +176 -146
  191. ultralytics/utils/errors.py +11 -13
  192. ultralytics/utils/events.py +113 -0
  193. ultralytics/utils/export/__init__.py +7 -0
  194. ultralytics/utils/{export.py → export/engine.py} +81 -63
  195. ultralytics/utils/export/imx.py +294 -0
  196. ultralytics/utils/export/tensorflow.py +217 -0
  197. ultralytics/utils/files.py +33 -36
  198. ultralytics/utils/git.py +137 -0
  199. ultralytics/utils/instance.py +105 -120
  200. ultralytics/utils/logger.py +404 -0
  201. ultralytics/utils/loss.py +99 -61
  202. ultralytics/utils/metrics.py +649 -478
  203. ultralytics/utils/nms.py +337 -0
  204. ultralytics/utils/ops.py +263 -451
  205. ultralytics/utils/patches.py +70 -31
  206. ultralytics/utils/plotting.py +253 -223
  207. ultralytics/utils/tal.py +48 -61
  208. ultralytics/utils/torch_utils.py +244 -251
  209. ultralytics/utils/tqdm.py +438 -0
  210. ultralytics/utils/triton.py +22 -23
  211. ultralytics/utils/tuner.py +11 -10
  212. dgenerate_ultralytics_headless-8.3.137.dist-info/RECORD +0 -272
  213. {dgenerate_ultralytics_headless-8.3.137.dist-info → dgenerate_ultralytics_headless-8.3.224.dist-info}/entry_points.txt +0 -0
  214. {dgenerate_ultralytics_headless-8.3.137.dist-info → dgenerate_ultralytics_headless-8.3.224.dist-info}/licenses/LICENSE +0 -0
  215. {dgenerate_ultralytics_headless-8.3.137.dist-info → dgenerate_ultralytics_headless-8.3.224.dist-info}/top_level.txt +0 -0
@@ -1,22 +1,21 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Default Ultralytics settings for BoT-SORT tracker when using mode="track"
4
- # For documentation and examples see https://docs.ultralytics.com/modes/track/
5
- # For BoT-SORT source code see https://github.com/NirAharon/BoT-SORT
3
+ # BoT-SORT tracker defaults for mode="track"
4
+ # Docs: https://docs.ultralytics.com/modes/track/
6
5
 
7
- tracker_type: botsort # tracker type, ['botsort', 'bytetrack']
8
- track_high_thresh: 0.25 # threshold for the first association
9
- track_low_thresh: 0.1 # threshold for the second association
10
- new_track_thresh: 0.25 # threshold for init new track if the detection does not match any tracks
11
- track_buffer: 30 # buffer to calculate the time when to remove tracks
12
- match_thresh: 0.8 # threshold for matching tracks
13
- fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
14
- # min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
6
+ tracker_type: botsort # (str) Tracker backend: botsort|bytetrack; choose botsort to enable BoT-SORT features
7
+ track_high_thresh: 0.25 # (float) First-stage match threshold; raise for cleaner tracks, lower to keep more
8
+ track_low_thresh: 0.1 # (float) Second-stage threshold for low-score matches; balances recovery vs drift
9
+ new_track_thresh: 0.25 # (float) Start a new track if no match this; higher reduces false tracks
10
+ track_buffer: 30 # (int) Frames to keep lost tracks alive; higher handles occlusion, increases ID switches risk
11
+ match_thresh: 0.8 # (float) Association similarity threshold (IoU/cost); tune with detector quality
12
+ fuse_score: True # (bool) Fuse detection score with motion/IoU for matching; stabilizes weak detections
13
+
14
+ # BoT-SORT specifics
15
+ gmc_method: sparseOptFlow # (str) Global motion compensation: sparseOptFlow|orb|none; helps moving camera scenes
15
16
 
16
- # BoT-SORT settings
17
- gmc_method: sparseOptFlow # method of global motion compensation
18
17
  # ReID model related thresh
19
- proximity_thresh: 0.5 # minimum IoU for valid match with ReID
20
- appearance_thresh: 0.8 # minimum appearance similarity for ReID
21
- with_reid: False
22
- model: auto # uses native features if detector is YOLO else yolo11n-cls.pt
18
+ proximity_thresh: 0.5 # (float) Min IoU to consider tracks proximate for ReID; higher is stricter
19
+ appearance_thresh: 0.8 # (float) Min appearance similarity for ReID; raise to avoid identity swaps
20
+ with_reid: False # (bool) Enable ReID model use; needs extra model and compute
21
+ model: auto # (str) ReID model name/path; "auto" uses detector features if available
@@ -1,14 +1,12 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Default Ultralytics settings for ByteTrack tracker when using mode="track"
4
- # For documentation and examples see https://docs.ultralytics.com/modes/track/
5
- # For ByteTrack source code see https://github.com/ifzhang/ByteTrack
3
+ # ByteTrack tracker defaults for mode="track"
4
+ # Docs: https://docs.ultralytics.com/modes/track/
6
5
 
7
- tracker_type: bytetrack # tracker type, ['botsort', 'bytetrack']
8
- track_high_thresh: 0.25 # threshold for the first association
9
- track_low_thresh: 0.1 # threshold for the second association
10
- new_track_thresh: 0.25 # threshold for init new track if the detection does not match any tracks
11
- track_buffer: 30 # buffer to calculate the time when to remove tracks
12
- match_thresh: 0.8 # threshold for matching tracks
13
- fuse_score: True # Whether to fuse confidence scores with the iou distances before matching
14
- # min_box_area: 10 # threshold for min box areas(for tracker evaluation, not used for now)
6
+ tracker_type: bytetrack # (str) Tracker backend: botsort|bytetrack; choose bytetrack for the classic baseline
7
+ track_high_thresh: 0.25 # (float) First-stage match threshold; raise for cleaner tracks, lower to keep more
8
+ track_low_thresh: 0.1 # (float) Second-stage threshold for low-score matches; balances recovery vs drift
9
+ new_track_thresh: 0.25 # (float) Start a new track if no match this; higher reduces false tracks
10
+ track_buffer: 30 # (int) Frames to keep lost tracks alive; higher handles occlusion, increases ID switches risk
11
+ match_thresh: 0.8 # (float) Association similarity threshold (IoU/cost); tune with detector quality
12
+ fuse_score: True # (bool) Fuse detection score with motion/IoU for matching; stabilizes weak detections
@@ -14,13 +14,13 @@ from .dataset import (
14
14
  __all__ = (
15
15
  "BaseDataset",
16
16
  "ClassificationDataset",
17
+ "GroundingDataset",
17
18
  "SemanticDataset",
19
+ "YOLOConcatDataset",
18
20
  "YOLODataset",
19
21
  "YOLOMultiModalDataset",
20
- "YOLOConcatDataset",
21
- "GroundingDataset",
22
- "build_yolo_dataset",
23
- "build_grounding",
24
22
  "build_dataloader",
23
+ "build_grounding",
24
+ "build_yolo_dataset",
25
25
  "load_inference_source",
26
26
  )
@@ -1,13 +1,14 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
+ from __future__ import annotations
4
+
3
5
  from pathlib import Path
4
- from typing import List, Optional, Union
5
6
 
6
7
  from ultralytics import SAM, YOLO
7
8
 
8
9
 
9
10
  def auto_annotate(
10
- data: Union[str, Path],
11
+ data: str | Path,
11
12
  det_model: str = "yolo11x.pt",
12
13
  sam_model: str = "sam_b.pt",
13
14
  device: str = "",
@@ -15,26 +16,26 @@ def auto_annotate(
15
16
  iou: float = 0.45,
16
17
  imgsz: int = 640,
17
18
  max_det: int = 300,
18
- classes: Optional[List[int]] = None,
19
- output_dir: Optional[Union[str, Path]] = None,
19
+ classes: list[int] | None = None,
20
+ output_dir: str | Path | None = None,
20
21
  ) -> None:
21
- """
22
- Automatically annotate images using a YOLO object detection model and a SAM segmentation model.
22
+ """Automatically annotate images using a YOLO object detection model and a SAM segmentation model.
23
23
 
24
24
  This function processes images in a specified directory, detects objects using a YOLO model, and then generates
25
- segmentation masks using a SAM model. The resulting annotations are saved as text files.
25
+ segmentation masks using a SAM model. The resulting annotations are saved as text files in YOLO format.
26
26
 
27
27
  Args:
28
28
  data (str | Path): Path to a folder containing images to be annotated.
29
29
  det_model (str): Path or name of the pre-trained YOLO detection model.
30
30
  sam_model (str): Path or name of the pre-trained SAM segmentation model.
31
- device (str): Device to run the models on (e.g., 'cpu', 'cuda', '0').
31
+ device (str): Device to run the models on (e.g., 'cpu', 'cuda', '0'). Empty string for auto-selection.
32
32
  conf (float): Confidence threshold for detection model.
33
33
  iou (float): IoU threshold for filtering overlapping boxes in detection results.
34
34
  imgsz (int): Input image resize dimension.
35
35
  max_det (int): Maximum number of detections per image.
36
- classes (List[int] | None): Filter predictions to specified class IDs, returning only relevant detections.
37
- output_dir (str | Path | None): Directory to save the annotated results. If None, a default directory is created.
36
+ classes (list[int], optional): Filter predictions to specified class IDs, returning only relevant detections.
37
+ output_dir (str | Path, optional): Directory to save the annotated results. If None, creates a default directory
38
+ based on the input data path.
38
39
 
39
40
  Examples:
40
41
  >>> from ultralytics.data.annotator import auto_annotate
@@ -53,8 +54,7 @@ def auto_annotate(
53
54
  )
54
55
 
55
56
  for result in det_results:
56
- class_ids = result.boxes.cls.int().tolist() # noqa
57
- if class_ids:
57
+ if class_ids := result.boxes.cls.int().tolist(): # Extract class IDs from detection results
58
58
  boxes = result.boxes.xyxy # Boxes object for bbox outputs
59
59
  sam_results = sam_model(result.orig_img, bboxes=boxes, verbose=False, save=False, device=device)
60
60
  segments = sam_results[0].masks.xyn