ultralytics 8.3.32__tar.gz → 8.3.34__tar.gz

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 (242) hide show
  1. {ultralytics-8.3.32/ultralytics.egg-info → ultralytics-8.3.34}/PKG-INFO +1 -1
  2. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/augment.py +3 -2
  4. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/exporter.py +0 -3
  5. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/fastsam/predict.py +3 -0
  6. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/rtdetr/train.py +3 -0
  7. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/heatmap.py +2 -2
  8. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/object_counter.py +49 -29
  9. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/benchmarks.py +0 -2
  10. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/wb.py +6 -1
  11. {ultralytics-8.3.32 → ultralytics-8.3.34/ultralytics.egg-info}/PKG-INFO +1 -1
  12. {ultralytics-8.3.32 → ultralytics-8.3.34}/LICENSE +0 -0
  13. {ultralytics-8.3.32 → ultralytics-8.3.34}/README.md +0 -0
  14. {ultralytics-8.3.32 → ultralytics-8.3.34}/pyproject.toml +0 -0
  15. {ultralytics-8.3.32 → ultralytics-8.3.34}/setup.cfg +0 -0
  16. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/__init__.py +0 -0
  17. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/conftest.py +0 -0
  18. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_cli.py +0 -0
  19. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_cuda.py +0 -0
  20. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_engine.py +0 -0
  21. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_exports.py +0 -0
  22. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_integrations.py +0 -0
  23. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_python.py +0 -0
  24. {ultralytics-8.3.32 → ultralytics-8.3.34}/tests/test_solutions.py +0 -0
  25. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/assets/bus.jpg +0 -0
  26. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/assets/zidane.jpg +0 -0
  27. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/__init__.py +0 -0
  28. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  29. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  30. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  31. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  32. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  33. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  34. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  35. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  36. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  37. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  38. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  39. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  40. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  41. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco.yaml +0 -0
  42. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  43. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  44. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  45. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  46. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  47. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  48. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  49. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  50. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  51. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  52. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  53. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  54. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/signature.yaml +0 -0
  55. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  56. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/datasets/xView.yaml +0 -0
  57. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/default.yaml +0 -0
  58. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  59. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  60. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  61. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  62. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  63. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  64. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  65. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  66. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  67. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  68. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  69. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  70. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  71. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  72. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  73. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  74. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  75. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  76. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  77. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  78. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  79. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  80. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  81. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  82. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  83. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  84. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  85. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  86. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  87. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  88. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  89. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  90. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  91. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  92. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  93. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  94. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  95. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  96. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  97. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  98. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  99. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  100. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  101. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  102. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  103. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/solutions/default.yaml +0 -0
  104. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  105. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  106. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/__init__.py +0 -0
  107. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/annotator.py +0 -0
  108. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/base.py +0 -0
  109. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/build.py +0 -0
  110. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/converter.py +0 -0
  111. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/dataset.py +0 -0
  112. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/loaders.py +0 -0
  113. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/split_dota.py +0 -0
  114. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/data/utils.py +0 -0
  115. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/__init__.py +0 -0
  116. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/model.py +0 -0
  117. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/predictor.py +0 -0
  118. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/results.py +0 -0
  119. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/trainer.py +0 -0
  120. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/tuner.py +0 -0
  121. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/engine/validator.py +0 -0
  122. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/hub/__init__.py +0 -0
  123. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/hub/auth.py +0 -0
  124. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/hub/google/__init__.py +0 -0
  125. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/hub/session.py +0 -0
  126. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/hub/utils.py +0 -0
  127. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/__init__.py +0 -0
  128. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/fastsam/__init__.py +0 -0
  129. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/fastsam/model.py +0 -0
  130. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/fastsam/utils.py +0 -0
  131. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/fastsam/val.py +0 -0
  132. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/nas/__init__.py +0 -0
  133. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/nas/model.py +0 -0
  134. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/nas/predict.py +0 -0
  135. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/nas/val.py +0 -0
  136. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/rtdetr/__init__.py +0 -0
  137. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/rtdetr/model.py +0 -0
  138. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/rtdetr/predict.py +0 -0
  139. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/rtdetr/val.py +0 -0
  140. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/__init__.py +0 -0
  141. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/amg.py +0 -0
  142. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/build.py +0 -0
  143. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/model.py +0 -0
  144. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/__init__.py +0 -0
  145. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/blocks.py +0 -0
  146. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/decoders.py +0 -0
  147. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/encoders.py +0 -0
  148. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  149. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/sam.py +0 -0
  150. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  151. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/transformer.py +0 -0
  152. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/modules/utils.py +0 -0
  153. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/sam/predict.py +0 -0
  154. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/utils/__init__.py +0 -0
  155. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/utils/loss.py +0 -0
  156. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/utils/ops.py +0 -0
  157. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/__init__.py +0 -0
  158. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/classify/__init__.py +0 -0
  159. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/classify/predict.py +0 -0
  160. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/classify/train.py +0 -0
  161. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/classify/val.py +0 -0
  162. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/detect/__init__.py +0 -0
  163. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/detect/predict.py +0 -0
  164. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/detect/train.py +0 -0
  165. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/detect/val.py +0 -0
  166. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/model.py +0 -0
  167. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/obb/__init__.py +0 -0
  168. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/obb/predict.py +0 -0
  169. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/obb/train.py +0 -0
  170. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/obb/val.py +0 -0
  171. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/pose/__init__.py +0 -0
  172. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/pose/predict.py +0 -0
  173. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/pose/train.py +0 -0
  174. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/pose/val.py +0 -0
  175. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/segment/__init__.py +0 -0
  176. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/segment/predict.py +0 -0
  177. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/segment/train.py +0 -0
  178. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/segment/val.py +0 -0
  179. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/world/__init__.py +0 -0
  180. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/world/train.py +0 -0
  181. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/models/yolo/world/train_world.py +0 -0
  182. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/__init__.py +0 -0
  183. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/autobackend.py +0 -0
  184. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/__init__.py +0 -0
  185. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/activation.py +0 -0
  186. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/block.py +0 -0
  187. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/conv.py +0 -0
  188. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/head.py +0 -0
  189. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/transformer.py +0 -0
  190. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/modules/utils.py +0 -0
  191. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/nn/tasks.py +0 -0
  192. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/__init__.py +0 -0
  193. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/ai_gym.py +0 -0
  194. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/analytics.py +0 -0
  195. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/distance_calculation.py +0 -0
  196. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/parking_management.py +0 -0
  197. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/queue_management.py +0 -0
  198. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/region_counter.py +0 -0
  199. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/solutions.py +0 -0
  200. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/speed_estimation.py +0 -0
  201. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/solutions/streamlit_inference.py +0 -0
  202. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/__init__.py +0 -0
  203. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/basetrack.py +0 -0
  204. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/bot_sort.py +0 -0
  205. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/byte_tracker.py +0 -0
  206. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/track.py +0 -0
  207. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/utils/__init__.py +0 -0
  208. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/utils/gmc.py +0 -0
  209. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  210. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/trackers/utils/matching.py +0 -0
  211. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/__init__.py +0 -0
  212. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/autobatch.py +0 -0
  213. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/__init__.py +0 -0
  214. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/base.py +0 -0
  215. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/clearml.py +0 -0
  216. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/comet.py +0 -0
  217. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/dvc.py +0 -0
  218. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/hub.py +0 -0
  219. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/mlflow.py +0 -0
  220. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/neptune.py +0 -0
  221. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/raytune.py +0 -0
  222. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  223. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/checks.py +0 -0
  224. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/dist.py +0 -0
  225. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/downloads.py +0 -0
  226. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/errors.py +0 -0
  227. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/files.py +0 -0
  228. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/instance.py +0 -0
  229. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/loss.py +0 -0
  230. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/metrics.py +0 -0
  231. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/ops.py +0 -0
  232. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/patches.py +0 -0
  233. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/plotting.py +0 -0
  234. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/tal.py +0 -0
  235. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/torch_utils.py +0 -0
  236. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/triton.py +0 -0
  237. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics/utils/tuner.py +0 -0
  238. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics.egg-info/SOURCES.txt +0 -0
  239. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics.egg-info/dependency_links.txt +0 -0
  240. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics.egg-info/entry_points.txt +0 -0
  241. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics.egg-info/requires.txt +0 -0
  242. {ultralytics-8.3.32 → ultralytics-8.3.34}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.3.32
3
+ Version: 8.3.34
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>
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.3.32"
3
+ __version__ = "8.3.34"
4
4
 
5
5
  import os
6
6
 
@@ -2280,7 +2280,7 @@ def v8_transforms(dataset, imgsz, hyp, stretch=False):
2280
2280
  Args:
2281
2281
  dataset (Dataset): The dataset object containing image data and annotations.
2282
2282
  imgsz (int): The target image size for resizing.
2283
- hyp (Dict): A dictionary of hyperparameters controlling various aspects of the transformations.
2283
+ hyp (Namespace): A dictionary of hyperparameters controlling various aspects of the transformations.
2284
2284
  stretch (bool): If True, applies stretching to the image. If False, uses LetterBox resizing.
2285
2285
 
2286
2286
  Returns:
@@ -2288,8 +2288,9 @@ def v8_transforms(dataset, imgsz, hyp, stretch=False):
2288
2288
 
2289
2289
  Examples:
2290
2290
  >>> from ultralytics.data.dataset import YOLODataset
2291
+ >>> from ultralytics.utils import IterableSimpleNamespace
2291
2292
  >>> dataset = YOLODataset(img_path="path/to/images", imgsz=640)
2292
- >>> hyp = {"mosaic": 1.0, "copy_paste": 0.5, "degrees": 10.0, "translate": 0.2, "scale": 0.9}
2293
+ >>> hyp = IterableSimpleNamespace(mosaic=1.0, copy_paste=0.5, degrees=10.0, translate=0.2, scale=0.9)
2293
2294
  >>> transforms = v8_transforms(dataset, imgsz=640, hyp=hyp)
2294
2295
  >>> augmented_data = transforms(dataset[0])
2295
2296
  """
@@ -79,7 +79,6 @@ from ultralytics.utils import (
79
79
  ARM64,
80
80
  DEFAULT_CFG,
81
81
  IS_JETSON,
82
- IS_RASPBERRYPI,
83
82
  LINUX,
84
83
  LOGGER,
85
84
  MACOS,
@@ -265,8 +264,6 @@ class Exporter:
265
264
  "WARNING ⚠️ INT8 export requires a missing 'data' arg for calibration. "
266
265
  f"Using default 'data={self.args.data}'."
267
266
  )
268
- if mnn and (IS_RASPBERRYPI or IS_JETSON):
269
- raise SystemError("MNN export not supported on Raspberry Pi and NVIDIA Jetson")
270
267
 
271
268
  # Input
272
269
  im = torch.zeros(self.args.batch, 3, *self.imgsz).to(self.device)
@@ -64,6 +64,9 @@ class FastSAMPredictor(SegmentationPredictor):
64
64
  if not isinstance(results, list):
65
65
  results = [results]
66
66
  for result in results:
67
+ if len(result) == 0:
68
+ prompt_results.append(result)
69
+ continue
67
70
  masks = result.masks.data
68
71
  if masks.shape[1:] != result.orig_shape:
69
72
  masks = scale_masks(masks[None], result.orig_shape)[0]
@@ -68,8 +68,11 @@ class RTDETRTrainer(DetectionTrainer):
68
68
  hyp=self.args,
69
69
  rect=False,
70
70
  cache=self.args.cache or None,
71
+ single_cls=self.args.single_cls or False,
71
72
  prefix=colorstr(f"{mode}: "),
73
+ classes=self.args.classes,
72
74
  data=self.data,
75
+ fraction=self.args.fraction if mode == "train" else 1.0,
73
76
  )
74
77
 
75
78
  def get_validator(self):
@@ -104,12 +104,12 @@ class Heatmap(ObjectCounter):
104
104
  self.annotator.draw_region(reg_pts=self.region, color=(104, 0, 123), thickness=self.line_width * 2)
105
105
  self.store_tracking_history(track_id, box) # Store track history
106
106
  self.store_classwise_counts(cls) # store classwise counts in dict
107
-
107
+ current_centroid = ((box[0] + box[2]) / 2, (box[1] + box[3]) / 2)
108
108
  # Store tracking previous position and perform object counting
109
109
  prev_position = None
110
110
  if len(self.track_history[track_id]) > 1:
111
111
  prev_position = self.track_history[track_id][-2]
112
- self.count_objects(self.track_line, box, track_id, prev_position, cls) # Perform object counting
112
+ self.count_objects(current_centroid, track_id, prev_position, cls) # Perform object counting
113
113
 
114
114
  if self.region is not None:
115
115
  self.display_counts(im0) # Display the counts on the frame
@@ -46,13 +46,12 @@ class ObjectCounter(BaseSolution):
46
46
  self.show_in = self.CFG["show_in"]
47
47
  self.show_out = self.CFG["show_out"]
48
48
 
49
- def count_objects(self, track_line, box, track_id, prev_position, cls):
49
+ def count_objects(self, current_centroid, track_id, prev_position, cls):
50
50
  """
51
51
  Counts objects within a polygonal or linear region based on their tracks.
52
52
 
53
53
  Args:
54
- track_line (Dict): Last 30 frame track record for the object.
55
- box (List[float]): Bounding box coordinates [x1, y1, x2, y2] for the specific track in the current frame.
54
+ current_centroid (Tuple[float, float]): Current centroid values in the current frame.
56
55
  track_id (int): Unique identifier for the tracked object.
57
56
  prev_position (Tuple[float, float]): Last frame position coordinates (x, y) of the track.
58
57
  cls (int): Class index for classwise count updates.
@@ -64,34 +63,55 @@ class ObjectCounter(BaseSolution):
64
63
  >>> track_id = 1
65
64
  >>> prev_position = (120, 220)
66
65
  >>> cls = 0
67
- >>> counter.count_objects(track_line, box, track_id, prev_position, cls)
66
+ >>> counter.count_objects(current_centroid, track_id, prev_position, cls)
68
67
  """
69
68
  if prev_position is None or track_id in self.counted_ids:
70
69
  return
71
70
 
72
- centroid = self.r_s.centroid
73
- dx = (box[0] - prev_position[0]) * (centroid.x - prev_position[0])
74
- dy = (box[1] - prev_position[1]) * (centroid.y - prev_position[1])
75
-
76
- if len(self.region) >= 3 and self.r_s.contains(self.Point(track_line[-1])):
77
- self.counted_ids.append(track_id)
78
- # For polygon region
79
- if dx > 0:
80
- self.in_count += 1
81
- self.classwise_counts[self.names[cls]]["IN"] += 1
82
- else:
83
- self.out_count += 1
84
- self.classwise_counts[self.names[cls]]["OUT"] += 1
85
-
86
- elif len(self.region) < 3 and self.LineString([prev_position, box[:2]]).intersects(self.r_s):
87
- self.counted_ids.append(track_id)
88
- # For linear region
89
- if dx > 0 and dy > 0:
90
- self.in_count += 1
91
- self.classwise_counts[self.names[cls]]["IN"] += 1
92
- else:
93
- self.out_count += 1
94
- self.classwise_counts[self.names[cls]]["OUT"] += 1
71
+ if len(self.region) == 2: # Linear region (defined as a line segment)
72
+ line = self.LineString(self.region) # Check if the line intersects the trajectory of the object
73
+ if line.intersects(self.LineString([prev_position, current_centroid])):
74
+ # Determine orientation of the region (vertical or horizontal)
75
+ if abs(self.region[0][0] - self.region[1][0]) < abs(self.region[0][1] - self.region[1][1]):
76
+ # Vertical region: Compare x-coordinates to determine direction
77
+ if current_centroid[0] > prev_position[0]: # Moving right
78
+ self.in_count += 1
79
+ self.classwise_counts[self.names[cls]]["IN"] += 1
80
+ else: # Moving left
81
+ self.out_count += 1
82
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
83
+ else:
84
+ # Horizontal region: Compare y-coordinates to determine direction
85
+ if current_centroid[1] > prev_position[1]: # Moving downward
86
+ self.in_count += 1
87
+ self.classwise_counts[self.names[cls]]["IN"] += 1
88
+ else: # Moving upward
89
+ self.out_count += 1
90
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
91
+ self.counted_ids.append(track_id)
92
+
93
+ elif len(self.region) > 2: # Polygonal region
94
+ polygon = self.Polygon(self.region)
95
+ if polygon.contains(self.Point(current_centroid)):
96
+ # Determine motion direction for vertical or horizontal polygons
97
+ region_width = max([p[0] for p in self.region]) - min([p[0] for p in self.region])
98
+ region_height = max([p[1] for p in self.region]) - min([p[1] for p in self.region])
99
+
100
+ if region_width < region_height: # Vertical-oriented polygon
101
+ if current_centroid[0] > prev_position[0]: # Moving right
102
+ self.in_count += 1
103
+ self.classwise_counts[self.names[cls]]["IN"] += 1
104
+ else: # Moving left
105
+ self.out_count += 1
106
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
107
+ else: # Horizontal-oriented polygon
108
+ if current_centroid[1] > prev_position[1]: # Moving downward
109
+ self.in_count += 1
110
+ self.classwise_counts[self.names[cls]]["IN"] += 1
111
+ else: # Moving upward
112
+ self.out_count += 1
113
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
114
+ self.counted_ids.append(track_id)
95
115
 
96
116
  def store_classwise_counts(self, cls):
97
117
  """
@@ -174,12 +194,12 @@ class ObjectCounter(BaseSolution):
174
194
  self.annotator.draw_centroid_and_tracks(
175
195
  self.track_line, color=colors(int(cls), True), track_thickness=self.line_width
176
196
  )
177
-
197
+ current_centroid = ((box[0] + box[2]) / 2, (box[1] + box[3]) / 2)
178
198
  # store previous position of track for object counting
179
199
  prev_position = None
180
200
  if len(self.track_history[track_id]) > 1:
181
201
  prev_position = self.track_history[track_id][-2]
182
- self.count_objects(self.track_line, box, track_id, prev_position, cls) # Perform object counting
202
+ self.count_objects(current_centroid, track_id, prev_position, cls) # Perform object counting
183
203
 
184
204
  self.display_counts(im0) # Display the counts on the frame
185
205
  self.display_output(im0) # display output with base class function
@@ -114,8 +114,6 @@ def benchmark(
114
114
  assert LINUX or MACOS, "Windows Paddle exports not supported yet"
115
115
  if i == 12: # MNN
116
116
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 MNN exports not supported yet"
117
- assert not IS_RASPBERRYPI, "MNN export not supported on Raspberry Pi"
118
- assert not IS_JETSON, "MNN export not supported on NVIDIA Jetson"
119
117
  if i == 13: # NCNN
120
118
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 NCNN exports not supported yet"
121
119
  if i == 14: # IMX
@@ -109,7 +109,12 @@ def _log_plots(plots, step):
109
109
 
110
110
  def on_pretrain_routine_start(trainer):
111
111
  """Initiate and start project if module is present."""
112
- wb.run or wb.init(project=trainer.args.project or "Ultralytics", name=trainer.args.name, config=vars(trainer.args))
112
+ if not wb.run:
113
+ wb.init(
114
+ project=str(trainer.args.project).replace("/", "-") if trainer.args.project else "Ultralytics",
115
+ name=str(trainer.args.name).replace("/", "-"),
116
+ config=vars(trainer.args),
117
+ )
113
118
 
114
119
 
115
120
  def on_fit_epoch_end(trainer):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.3.32
3
+ Version: 8.3.34
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>
File without changes
File without changes
File without changes