dgenerate-ultralytics-headless 8.3.134__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 (272) hide show
  1. dgenerate_ultralytics_headless-8.3.134.dist-info/METADATA +400 -0
  2. dgenerate_ultralytics_headless-8.3.134.dist-info/RECORD +272 -0
  3. dgenerate_ultralytics_headless-8.3.134.dist-info/WHEEL +5 -0
  4. dgenerate_ultralytics_headless-8.3.134.dist-info/entry_points.txt +3 -0
  5. dgenerate_ultralytics_headless-8.3.134.dist-info/licenses/LICENSE +661 -0
  6. dgenerate_ultralytics_headless-8.3.134.dist-info/top_level.txt +1 -0
  7. tests/__init__.py +22 -0
  8. tests/conftest.py +83 -0
  9. tests/test_cli.py +138 -0
  10. tests/test_cuda.py +215 -0
  11. tests/test_engine.py +131 -0
  12. tests/test_exports.py +236 -0
  13. tests/test_integrations.py +154 -0
  14. tests/test_python.py +694 -0
  15. tests/test_solutions.py +187 -0
  16. ultralytics/__init__.py +30 -0
  17. ultralytics/assets/bus.jpg +0 -0
  18. ultralytics/assets/zidane.jpg +0 -0
  19. ultralytics/cfg/__init__.py +1023 -0
  20. ultralytics/cfg/datasets/Argoverse.yaml +77 -0
  21. ultralytics/cfg/datasets/DOTAv1.5.yaml +37 -0
  22. ultralytics/cfg/datasets/DOTAv1.yaml +36 -0
  23. ultralytics/cfg/datasets/GlobalWheat2020.yaml +68 -0
  24. ultralytics/cfg/datasets/HomeObjects-3K.yaml +33 -0
  25. ultralytics/cfg/datasets/ImageNet.yaml +2025 -0
  26. ultralytics/cfg/datasets/Objects365.yaml +443 -0
  27. ultralytics/cfg/datasets/SKU-110K.yaml +58 -0
  28. ultralytics/cfg/datasets/VOC.yaml +106 -0
  29. ultralytics/cfg/datasets/VisDrone.yaml +77 -0
  30. ultralytics/cfg/datasets/african-wildlife.yaml +25 -0
  31. ultralytics/cfg/datasets/brain-tumor.yaml +23 -0
  32. ultralytics/cfg/datasets/carparts-seg.yaml +44 -0
  33. ultralytics/cfg/datasets/coco-pose.yaml +42 -0
  34. ultralytics/cfg/datasets/coco.yaml +118 -0
  35. ultralytics/cfg/datasets/coco128-seg.yaml +101 -0
  36. ultralytics/cfg/datasets/coco128.yaml +101 -0
  37. ultralytics/cfg/datasets/coco8-multispectral.yaml +104 -0
  38. ultralytics/cfg/datasets/coco8-pose.yaml +26 -0
  39. ultralytics/cfg/datasets/coco8-seg.yaml +101 -0
  40. ultralytics/cfg/datasets/coco8.yaml +101 -0
  41. ultralytics/cfg/datasets/crack-seg.yaml +22 -0
  42. ultralytics/cfg/datasets/dog-pose.yaml +24 -0
  43. ultralytics/cfg/datasets/dota8-multispectral.yaml +38 -0
  44. ultralytics/cfg/datasets/dota8.yaml +35 -0
  45. ultralytics/cfg/datasets/hand-keypoints.yaml +26 -0
  46. ultralytics/cfg/datasets/lvis.yaml +1240 -0
  47. ultralytics/cfg/datasets/medical-pills.yaml +22 -0
  48. ultralytics/cfg/datasets/open-images-v7.yaml +666 -0
  49. ultralytics/cfg/datasets/package-seg.yaml +22 -0
  50. ultralytics/cfg/datasets/signature.yaml +21 -0
  51. ultralytics/cfg/datasets/tiger-pose.yaml +25 -0
  52. ultralytics/cfg/datasets/xView.yaml +155 -0
  53. ultralytics/cfg/default.yaml +127 -0
  54. ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +17 -0
  55. ultralytics/cfg/models/11/yolo11-cls.yaml +33 -0
  56. ultralytics/cfg/models/11/yolo11-obb.yaml +50 -0
  57. ultralytics/cfg/models/11/yolo11-pose.yaml +51 -0
  58. ultralytics/cfg/models/11/yolo11-seg.yaml +50 -0
  59. ultralytics/cfg/models/11/yolo11.yaml +50 -0
  60. ultralytics/cfg/models/11/yoloe-11-seg.yaml +48 -0
  61. ultralytics/cfg/models/11/yoloe-11.yaml +48 -0
  62. ultralytics/cfg/models/12/yolo12-cls.yaml +32 -0
  63. ultralytics/cfg/models/12/yolo12-obb.yaml +48 -0
  64. ultralytics/cfg/models/12/yolo12-pose.yaml +49 -0
  65. ultralytics/cfg/models/12/yolo12-seg.yaml +48 -0
  66. ultralytics/cfg/models/12/yolo12.yaml +48 -0
  67. ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +53 -0
  68. ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +45 -0
  69. ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +45 -0
  70. ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +57 -0
  71. ultralytics/cfg/models/v10/yolov10b.yaml +45 -0
  72. ultralytics/cfg/models/v10/yolov10l.yaml +45 -0
  73. ultralytics/cfg/models/v10/yolov10m.yaml +45 -0
  74. ultralytics/cfg/models/v10/yolov10n.yaml +45 -0
  75. ultralytics/cfg/models/v10/yolov10s.yaml +45 -0
  76. ultralytics/cfg/models/v10/yolov10x.yaml +45 -0
  77. ultralytics/cfg/models/v3/yolov3-spp.yaml +49 -0
  78. ultralytics/cfg/models/v3/yolov3-tiny.yaml +40 -0
  79. ultralytics/cfg/models/v3/yolov3.yaml +49 -0
  80. ultralytics/cfg/models/v5/yolov5-p6.yaml +62 -0
  81. ultralytics/cfg/models/v5/yolov5.yaml +51 -0
  82. ultralytics/cfg/models/v6/yolov6.yaml +56 -0
  83. ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +45 -0
  84. ultralytics/cfg/models/v8/yoloe-v8.yaml +45 -0
  85. ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +28 -0
  86. ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +28 -0
  87. ultralytics/cfg/models/v8/yolov8-cls.yaml +32 -0
  88. ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +58 -0
  89. ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +60 -0
  90. ultralytics/cfg/models/v8/yolov8-ghost.yaml +50 -0
  91. ultralytics/cfg/models/v8/yolov8-obb.yaml +49 -0
  92. ultralytics/cfg/models/v8/yolov8-p2.yaml +57 -0
  93. ultralytics/cfg/models/v8/yolov8-p6.yaml +59 -0
  94. ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +60 -0
  95. ultralytics/cfg/models/v8/yolov8-pose.yaml +50 -0
  96. ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +49 -0
  97. ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +59 -0
  98. ultralytics/cfg/models/v8/yolov8-seg.yaml +49 -0
  99. ultralytics/cfg/models/v8/yolov8-world.yaml +51 -0
  100. ultralytics/cfg/models/v8/yolov8-worldv2.yaml +49 -0
  101. ultralytics/cfg/models/v8/yolov8.yaml +49 -0
  102. ultralytics/cfg/models/v9/yolov9c-seg.yaml +41 -0
  103. ultralytics/cfg/models/v9/yolov9c.yaml +41 -0
  104. ultralytics/cfg/models/v9/yolov9e-seg.yaml +64 -0
  105. ultralytics/cfg/models/v9/yolov9e.yaml +64 -0
  106. ultralytics/cfg/models/v9/yolov9m.yaml +41 -0
  107. ultralytics/cfg/models/v9/yolov9s.yaml +41 -0
  108. ultralytics/cfg/models/v9/yolov9t.yaml +41 -0
  109. ultralytics/cfg/trackers/botsort.yaml +22 -0
  110. ultralytics/cfg/trackers/bytetrack.yaml +14 -0
  111. ultralytics/data/__init__.py +26 -0
  112. ultralytics/data/annotator.py +66 -0
  113. ultralytics/data/augment.py +2945 -0
  114. ultralytics/data/base.py +438 -0
  115. ultralytics/data/build.py +258 -0
  116. ultralytics/data/converter.py +754 -0
  117. ultralytics/data/dataset.py +834 -0
  118. ultralytics/data/loaders.py +676 -0
  119. ultralytics/data/scripts/download_weights.sh +18 -0
  120. ultralytics/data/scripts/get_coco.sh +61 -0
  121. ultralytics/data/scripts/get_coco128.sh +18 -0
  122. ultralytics/data/scripts/get_imagenet.sh +52 -0
  123. ultralytics/data/split.py +125 -0
  124. ultralytics/data/split_dota.py +325 -0
  125. ultralytics/data/utils.py +777 -0
  126. ultralytics/engine/__init__.py +1 -0
  127. ultralytics/engine/exporter.py +1519 -0
  128. ultralytics/engine/model.py +1156 -0
  129. ultralytics/engine/predictor.py +502 -0
  130. ultralytics/engine/results.py +1840 -0
  131. ultralytics/engine/trainer.py +853 -0
  132. ultralytics/engine/tuner.py +243 -0
  133. ultralytics/engine/validator.py +377 -0
  134. ultralytics/hub/__init__.py +168 -0
  135. ultralytics/hub/auth.py +137 -0
  136. ultralytics/hub/google/__init__.py +176 -0
  137. ultralytics/hub/session.py +446 -0
  138. ultralytics/hub/utils.py +248 -0
  139. ultralytics/models/__init__.py +9 -0
  140. ultralytics/models/fastsam/__init__.py +7 -0
  141. ultralytics/models/fastsam/model.py +61 -0
  142. ultralytics/models/fastsam/predict.py +181 -0
  143. ultralytics/models/fastsam/utils.py +24 -0
  144. ultralytics/models/fastsam/val.py +40 -0
  145. ultralytics/models/nas/__init__.py +7 -0
  146. ultralytics/models/nas/model.py +102 -0
  147. ultralytics/models/nas/predict.py +58 -0
  148. ultralytics/models/nas/val.py +39 -0
  149. ultralytics/models/rtdetr/__init__.py +7 -0
  150. ultralytics/models/rtdetr/model.py +63 -0
  151. ultralytics/models/rtdetr/predict.py +84 -0
  152. ultralytics/models/rtdetr/train.py +85 -0
  153. ultralytics/models/rtdetr/val.py +191 -0
  154. ultralytics/models/sam/__init__.py +6 -0
  155. ultralytics/models/sam/amg.py +260 -0
  156. ultralytics/models/sam/build.py +358 -0
  157. ultralytics/models/sam/model.py +170 -0
  158. ultralytics/models/sam/modules/__init__.py +1 -0
  159. ultralytics/models/sam/modules/blocks.py +1129 -0
  160. ultralytics/models/sam/modules/decoders.py +515 -0
  161. ultralytics/models/sam/modules/encoders.py +854 -0
  162. ultralytics/models/sam/modules/memory_attention.py +299 -0
  163. ultralytics/models/sam/modules/sam.py +1006 -0
  164. ultralytics/models/sam/modules/tiny_encoder.py +1002 -0
  165. ultralytics/models/sam/modules/transformer.py +351 -0
  166. ultralytics/models/sam/modules/utils.py +394 -0
  167. ultralytics/models/sam/predict.py +1605 -0
  168. ultralytics/models/utils/__init__.py +1 -0
  169. ultralytics/models/utils/loss.py +455 -0
  170. ultralytics/models/utils/ops.py +268 -0
  171. ultralytics/models/yolo/__init__.py +7 -0
  172. ultralytics/models/yolo/classify/__init__.py +7 -0
  173. ultralytics/models/yolo/classify/predict.py +88 -0
  174. ultralytics/models/yolo/classify/train.py +233 -0
  175. ultralytics/models/yolo/classify/val.py +215 -0
  176. ultralytics/models/yolo/detect/__init__.py +7 -0
  177. ultralytics/models/yolo/detect/predict.py +124 -0
  178. ultralytics/models/yolo/detect/train.py +217 -0
  179. ultralytics/models/yolo/detect/val.py +451 -0
  180. ultralytics/models/yolo/model.py +354 -0
  181. ultralytics/models/yolo/obb/__init__.py +7 -0
  182. ultralytics/models/yolo/obb/predict.py +66 -0
  183. ultralytics/models/yolo/obb/train.py +81 -0
  184. ultralytics/models/yolo/obb/val.py +283 -0
  185. ultralytics/models/yolo/pose/__init__.py +7 -0
  186. ultralytics/models/yolo/pose/predict.py +79 -0
  187. ultralytics/models/yolo/pose/train.py +154 -0
  188. ultralytics/models/yolo/pose/val.py +394 -0
  189. ultralytics/models/yolo/segment/__init__.py +7 -0
  190. ultralytics/models/yolo/segment/predict.py +113 -0
  191. ultralytics/models/yolo/segment/train.py +123 -0
  192. ultralytics/models/yolo/segment/val.py +428 -0
  193. ultralytics/models/yolo/world/__init__.py +5 -0
  194. ultralytics/models/yolo/world/train.py +119 -0
  195. ultralytics/models/yolo/world/train_world.py +176 -0
  196. ultralytics/models/yolo/yoloe/__init__.py +22 -0
  197. ultralytics/models/yolo/yoloe/predict.py +169 -0
  198. ultralytics/models/yolo/yoloe/train.py +298 -0
  199. ultralytics/models/yolo/yoloe/train_seg.py +124 -0
  200. ultralytics/models/yolo/yoloe/val.py +191 -0
  201. ultralytics/nn/__init__.py +29 -0
  202. ultralytics/nn/autobackend.py +842 -0
  203. ultralytics/nn/modules/__init__.py +182 -0
  204. ultralytics/nn/modules/activation.py +53 -0
  205. ultralytics/nn/modules/block.py +1966 -0
  206. ultralytics/nn/modules/conv.py +712 -0
  207. ultralytics/nn/modules/head.py +880 -0
  208. ultralytics/nn/modules/transformer.py +713 -0
  209. ultralytics/nn/modules/utils.py +164 -0
  210. ultralytics/nn/tasks.py +1627 -0
  211. ultralytics/nn/text_model.py +351 -0
  212. ultralytics/solutions/__init__.py +41 -0
  213. ultralytics/solutions/ai_gym.py +116 -0
  214. ultralytics/solutions/analytics.py +252 -0
  215. ultralytics/solutions/config.py +106 -0
  216. ultralytics/solutions/distance_calculation.py +124 -0
  217. ultralytics/solutions/heatmap.py +127 -0
  218. ultralytics/solutions/instance_segmentation.py +84 -0
  219. ultralytics/solutions/object_blurrer.py +90 -0
  220. ultralytics/solutions/object_counter.py +195 -0
  221. ultralytics/solutions/object_cropper.py +84 -0
  222. ultralytics/solutions/parking_management.py +273 -0
  223. ultralytics/solutions/queue_management.py +93 -0
  224. ultralytics/solutions/region_counter.py +120 -0
  225. ultralytics/solutions/security_alarm.py +154 -0
  226. ultralytics/solutions/similarity_search.py +172 -0
  227. ultralytics/solutions/solutions.py +724 -0
  228. ultralytics/solutions/speed_estimation.py +110 -0
  229. ultralytics/solutions/streamlit_inference.py +196 -0
  230. ultralytics/solutions/templates/similarity-search.html +160 -0
  231. ultralytics/solutions/trackzone.py +88 -0
  232. ultralytics/solutions/vision_eye.py +68 -0
  233. ultralytics/trackers/__init__.py +7 -0
  234. ultralytics/trackers/basetrack.py +124 -0
  235. ultralytics/trackers/bot_sort.py +260 -0
  236. ultralytics/trackers/byte_tracker.py +480 -0
  237. ultralytics/trackers/track.py +125 -0
  238. ultralytics/trackers/utils/__init__.py +1 -0
  239. ultralytics/trackers/utils/gmc.py +376 -0
  240. ultralytics/trackers/utils/kalman_filter.py +493 -0
  241. ultralytics/trackers/utils/matching.py +157 -0
  242. ultralytics/utils/__init__.py +1435 -0
  243. ultralytics/utils/autobatch.py +106 -0
  244. ultralytics/utils/autodevice.py +174 -0
  245. ultralytics/utils/benchmarks.py +695 -0
  246. ultralytics/utils/callbacks/__init__.py +5 -0
  247. ultralytics/utils/callbacks/base.py +234 -0
  248. ultralytics/utils/callbacks/clearml.py +153 -0
  249. ultralytics/utils/callbacks/comet.py +552 -0
  250. ultralytics/utils/callbacks/dvc.py +205 -0
  251. ultralytics/utils/callbacks/hub.py +108 -0
  252. ultralytics/utils/callbacks/mlflow.py +138 -0
  253. ultralytics/utils/callbacks/neptune.py +140 -0
  254. ultralytics/utils/callbacks/raytune.py +43 -0
  255. ultralytics/utils/callbacks/tensorboard.py +132 -0
  256. ultralytics/utils/callbacks/wb.py +185 -0
  257. ultralytics/utils/checks.py +897 -0
  258. ultralytics/utils/dist.py +119 -0
  259. ultralytics/utils/downloads.py +499 -0
  260. ultralytics/utils/errors.py +43 -0
  261. ultralytics/utils/export.py +219 -0
  262. ultralytics/utils/files.py +221 -0
  263. ultralytics/utils/instance.py +499 -0
  264. ultralytics/utils/loss.py +813 -0
  265. ultralytics/utils/metrics.py +1356 -0
  266. ultralytics/utils/ops.py +885 -0
  267. ultralytics/utils/patches.py +143 -0
  268. ultralytics/utils/plotting.py +1011 -0
  269. ultralytics/utils/tal.py +416 -0
  270. ultralytics/utils/torch_utils.py +990 -0
  271. ultralytics/utils/triton.py +116 -0
  272. ultralytics/utils/tuner.py +159 -0
@@ -0,0 +1,41 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9c object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 358 layers, 25590912 parameters, 104.0 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
15
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
16
+ - [-1, 1, ADown, [256]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
18
+ - [-1, 1, ADown, [512]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
20
+ - [-1, 1, ADown, [512]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
22
+ - [-1, 1, SPPELAN, [512, 256]] # 9
23
+
24
+ head:
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
28
+
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
32
+
33
+ - [-1, 1, ADown, [256]]
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
36
+
37
+ - [-1, 1, ADown, [512]]
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
40
+
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,64 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9e-seg instance segmentation model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/segment
6
+ # 743 layers, 60512800 parameters, 248.4 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, nn.Identity, []]
14
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
15
+ - [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
16
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
17
+ - [-1, 1, ADown, [256]] # 4-P3/8
18
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 5
19
+ - [-1, 1, ADown, [512]] # 6-P4/16
20
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 7
21
+ - [-1, 1, ADown, [1024]] # 8-P5/32
22
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 9
23
+
24
+ - [1, 1, CBLinear, [[64]]] # 10
25
+ - [3, 1, CBLinear, [[64, 128]]] # 11
26
+ - [5, 1, CBLinear, [[64, 128, 256]]] # 12
27
+ - [7, 1, CBLinear, [[64, 128, 256, 512]]] # 13
28
+ - [9, 1, CBLinear, [[64, 128, 256, 512, 1024]]] # 14
29
+
30
+ - [0, 1, Conv, [64, 3, 2]] # 15-P1/2
31
+ - [[10, 11, 12, 13, 14, -1], 1, CBFuse, [[0, 0, 0, 0, 0]]] # 16
32
+ - [-1, 1, Conv, [128, 3, 2]] # 17-P2/4
33
+ - [[11, 12, 13, 14, -1], 1, CBFuse, [[1, 1, 1, 1]]] # 18
34
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 19
35
+ - [-1, 1, ADown, [256]] # 20-P3/8
36
+ - [[12, 13, 14, -1], 1, CBFuse, [[2, 2, 2]]] # 21
37
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 22
38
+ - [-1, 1, ADown, [512]] # 23-P4/16
39
+ - [[13, 14, -1], 1, CBFuse, [[3, 3]]] # 24
40
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 25
41
+ - [-1, 1, ADown, [1024]] # 26-P5/32
42
+ - [[14, -1], 1, CBFuse, [[4]]] # 27
43
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
44
+ - [-1, 1, SPPELAN, [512, 256]] # 29
45
+
46
+ # GELAN head
47
+ head:
48
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
49
+ - [[-1, 25], 1, Concat, [1]] # cat backbone P4
50
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 32
51
+
52
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
53
+ - [[-1, 22], 1, Concat, [1]] # cat backbone P3
54
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 2]] # 35 (P3/8-small)
55
+
56
+ - [-1, 1, ADown, [256]]
57
+ - [[-1, 32], 1, Concat, [1]] # cat head P4
58
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 38 (P4/16-medium)
59
+
60
+ - [-1, 1, ADown, [512]]
61
+ - [[-1, 29], 1, Concat, [1]] # cat head P5
62
+ - [-1, 1, RepNCSPELAN4, [512, 1024, 512, 2]] # 41 (P5/32-large)
63
+
64
+ - [[35, 38, 41], 1, Segment, [nc, 32, 256]] # Segment (P3, P4, P5)
@@ -0,0 +1,64 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9e object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 721 layers, 58206592 parameters, 193.0 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, nn.Identity, []]
14
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
15
+ - [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
16
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
17
+ - [-1, 1, ADown, [256]] # 4-P3/8
18
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 5
19
+ - [-1, 1, ADown, [512]] # 6-P4/16
20
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 7
21
+ - [-1, 1, ADown, [1024]] # 8-P5/32
22
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 9
23
+
24
+ - [1, 1, CBLinear, [[64]]] # 10
25
+ - [3, 1, CBLinear, [[64, 128]]] # 11
26
+ - [5, 1, CBLinear, [[64, 128, 256]]] # 12
27
+ - [7, 1, CBLinear, [[64, 128, 256, 512]]] # 13
28
+ - [9, 1, CBLinear, [[64, 128, 256, 512, 1024]]] # 14
29
+
30
+ - [0, 1, Conv, [64, 3, 2]] # 15-P1/2
31
+ - [[10, 11, 12, 13, 14, -1], 1, CBFuse, [[0, 0, 0, 0, 0]]] # 16
32
+ - [-1, 1, Conv, [128, 3, 2]] # 17-P2/4
33
+ - [[11, 12, 13, 14, -1], 1, CBFuse, [[1, 1, 1, 1]]] # 18
34
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 19
35
+ - [-1, 1, ADown, [256]] # 20-P3/8
36
+ - [[12, 13, 14, -1], 1, CBFuse, [[2, 2, 2]]] # 21
37
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 22
38
+ - [-1, 1, ADown, [512]] # 23-P4/16
39
+ - [[13, 14, -1], 1, CBFuse, [[3, 3]]] # 24
40
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 25
41
+ - [-1, 1, ADown, [1024]] # 26-P5/32
42
+ - [[14, -1], 1, CBFuse, [[4]]] # 27
43
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
44
+ - [-1, 1, SPPELAN, [512, 256]] # 29
45
+
46
+ # GELAN head
47
+ head:
48
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
49
+ - [[-1, 25], 1, Concat, [1]] # cat backbone P4
50
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 32
51
+
52
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
53
+ - [[-1, 22], 1, Concat, [1]] # cat backbone P3
54
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 2]] # 35 (P3/8-small)
55
+
56
+ - [-1, 1, ADown, [256]]
57
+ - [[-1, 32], 1, Concat, [1]] # cat head P4
58
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 38 (P4/16-medium)
59
+
60
+ - [-1, 1, ADown, [512]]
61
+ - [[-1, 29], 1, Concat, [1]] # cat head P5
62
+ - [-1, 1, RepNCSPELAN4, [512, 1024, 512, 2]] # 41 (P5/32-large)
63
+
64
+ - [[35, 38, 41], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,41 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9m object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 348 layers, 20216160 parameters, 77.9 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
15
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 1]] # 2
16
+ - [-1, 1, AConv, [240]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 4
18
+ - [-1, 1, AConv, [360]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 6
20
+ - [-1, 1, AConv, [480]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 8
22
+ - [-1, 1, SPPELAN, [480, 240]] # 9
23
+
24
+ head:
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 12
28
+
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 15
32
+
33
+ - [-1, 1, AConv, [180]]
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 18 (P4/16-medium)
36
+
37
+ - [-1, 1, AConv, [240]]
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 21 (P5/32-large)
40
+
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,41 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9s object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 544 layers, 7318368 parameters, 27.6 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
15
+ - [-1, 1, ELAN1, [64, 64, 32]] # 2
16
+ - [-1, 1, AConv, [128]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 4
18
+ - [-1, 1, AConv, [192]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 6
20
+ - [-1, 1, AConv, [256]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 8
22
+ - [-1, 1, SPPELAN, [256, 128]] # 9
23
+
24
+ head:
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 12
28
+
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 15
32
+
33
+ - [-1, 1, AConv, [96]]
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 18 (P4/16-medium)
36
+
37
+ - [-1, 1, AConv, [128]]
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 21 (P5/32-large)
40
+
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4 P5)
@@ -0,0 +1,41 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9t object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 544 layers, 2128720 parameters, 8.5 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, Conv, [16, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [32, 3, 2]] # 1-P2/4
15
+ - [-1, 1, ELAN1, [32, 32, 16]] # 2
16
+ - [-1, 1, AConv, [64]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 4
18
+ - [-1, 1, AConv, [96]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 6
20
+ - [-1, 1, AConv, [128]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 8
22
+ - [-1, 1, SPPELAN, [128, 64]] # 9
23
+
24
+ head:
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 12
28
+
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 15
32
+
33
+ - [-1, 1, AConv, [48]]
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 18 (P4/16-medium)
36
+
37
+ - [-1, 1, AConv, [64]]
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 21 (P5/32-large)
40
+
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,22 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
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
6
+
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)
15
+
16
+ # BoT-SORT settings
17
+ gmc_method: sparseOptFlow # method of global motion compensation
18
+ # 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
@@ -0,0 +1,14 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
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
6
+
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)
@@ -0,0 +1,26 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ from .base import BaseDataset
4
+ from .build import build_dataloader, build_grounding, build_yolo_dataset, load_inference_source
5
+ from .dataset import (
6
+ ClassificationDataset,
7
+ GroundingDataset,
8
+ SemanticDataset,
9
+ YOLOConcatDataset,
10
+ YOLODataset,
11
+ YOLOMultiModalDataset,
12
+ )
13
+
14
+ __all__ = (
15
+ "BaseDataset",
16
+ "ClassificationDataset",
17
+ "SemanticDataset",
18
+ "YOLODataset",
19
+ "YOLOMultiModalDataset",
20
+ "YOLOConcatDataset",
21
+ "GroundingDataset",
22
+ "build_yolo_dataset",
23
+ "build_grounding",
24
+ "build_dataloader",
25
+ "load_inference_source",
26
+ )
@@ -0,0 +1,66 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ from pathlib import Path
4
+ from typing import List, Optional, Union
5
+
6
+ from ultralytics import SAM, YOLO
7
+
8
+
9
+ def auto_annotate(
10
+ data: Union[str, Path],
11
+ det_model: str = "yolo11x.pt",
12
+ sam_model: str = "sam_b.pt",
13
+ device: str = "",
14
+ conf: float = 0.25,
15
+ iou: float = 0.45,
16
+ imgsz: int = 640,
17
+ max_det: int = 300,
18
+ classes: Optional[List[int]] = None,
19
+ output_dir: Optional[Union[str, Path]] = None,
20
+ ) -> None:
21
+ """
22
+ Automatically annotate images using a YOLO object detection model and a SAM segmentation model.
23
+
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.
26
+
27
+ Args:
28
+ data (str | Path): Path to a folder containing images to be annotated.
29
+ det_model (str): Path or name of the pre-trained YOLO detection model.
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').
32
+ conf (float): Confidence threshold for detection model.
33
+ iou (float): IoU threshold for filtering overlapping boxes in detection results.
34
+ imgsz (int): Input image resize dimension.
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.
38
+
39
+ Examples:
40
+ >>> from ultralytics.data.annotator import auto_annotate
41
+ >>> auto_annotate(data="ultralytics/assets", det_model="yolo11n.pt", sam_model="mobile_sam.pt")
42
+ """
43
+ det_model = YOLO(det_model)
44
+ sam_model = SAM(sam_model)
45
+
46
+ data = Path(data)
47
+ if not output_dir:
48
+ output_dir = data.parent / f"{data.stem}_auto_annotate_labels"
49
+ Path(output_dir).mkdir(exist_ok=True, parents=True)
50
+
51
+ det_results = det_model(
52
+ data, stream=True, device=device, conf=conf, iou=iou, imgsz=imgsz, max_det=max_det, classes=classes
53
+ )
54
+
55
+ for result in det_results:
56
+ class_ids = result.boxes.cls.int().tolist() # noqa
57
+ if class_ids:
58
+ boxes = result.boxes.xyxy # Boxes object for bbox outputs
59
+ sam_results = sam_model(result.orig_img, bboxes=boxes, verbose=False, save=False, device=device)
60
+ segments = sam_results[0].masks.xyn
61
+
62
+ with open(f"{Path(output_dir) / Path(result.path).stem}.txt", "w", encoding="utf-8") as f:
63
+ for i, s in enumerate(segments):
64
+ if s.any():
65
+ segment = map(str, s.reshape(-1).tolist())
66
+ f.write(f"{class_ids[i]} " + " ".join(segment) + "\n")