ultralytics 8.3.165__tar.gz → 8.3.166__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 (279) hide show
  1. {ultralytics-8.3.165/ultralytics.egg-info → ultralytics-8.3.166}/PKG-INFO +1 -1
  2. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/Argoverse.yaml +1 -1
  4. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
  5. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
  6. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
  7. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +1 -1
  8. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/ImageNet.yaml +1 -1
  9. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/Objects365.yaml +1 -1
  10. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/SKU-110K.yaml +4 -4
  11. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/VOC.yaml +3 -3
  12. ultralytics-8.3.166/ultralytics/cfg/datasets/VisDrone.yaml +87 -0
  13. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/african-wildlife.yaml +1 -1
  14. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/brain-tumor.yaml +1 -1
  15. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/carparts-seg.yaml +1 -1
  16. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco-pose.yaml +1 -1
  17. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco.yaml +1 -1
  18. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
  19. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco128.yaml +1 -1
  20. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
  21. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
  22. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
  23. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
  24. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8.yaml +1 -1
  25. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/crack-seg.yaml +1 -1
  26. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dog-pose.yaml +1 -1
  27. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
  28. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dota8.yaml +1 -1
  29. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/hand-keypoints.yaml +1 -1
  30. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/lvis.yaml +1 -1
  31. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/medical-pills.yaml +1 -1
  32. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
  33. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/package-seg.yaml +1 -1
  34. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/signature.yaml +1 -1
  35. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/tiger-pose.yaml +1 -1
  36. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/xView.yaml +1 -1
  37. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/metrics.py +4 -4
  38. {ultralytics-8.3.165 → ultralytics-8.3.166/ultralytics.egg-info}/PKG-INFO +1 -1
  39. ultralytics-8.3.165/ultralytics/cfg/datasets/VisDrone.yaml +0 -80
  40. {ultralytics-8.3.165 → ultralytics-8.3.166}/LICENSE +0 -0
  41. {ultralytics-8.3.165 → ultralytics-8.3.166}/README.md +0 -0
  42. {ultralytics-8.3.165 → ultralytics-8.3.166}/pyproject.toml +0 -0
  43. {ultralytics-8.3.165 → ultralytics-8.3.166}/setup.cfg +0 -0
  44. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/__init__.py +0 -0
  45. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/conftest.py +0 -0
  46. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_cli.py +0 -0
  47. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_cuda.py +0 -0
  48. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_engine.py +0 -0
  49. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_exports.py +0 -0
  50. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_integrations.py +0 -0
  51. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_python.py +0 -0
  52. {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_solutions.py +0 -0
  53. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/assets/bus.jpg +0 -0
  54. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/assets/zidane.jpg +0 -0
  55. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/__init__.py +0 -0
  56. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/default.yaml +0 -0
  57. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  58. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  59. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  60. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  61. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  62. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  63. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  64. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  65. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  66. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  67. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  68. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  69. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  70. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  71. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  72. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  73. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  74. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  75. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  76. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  77. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  78. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  79. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  80. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  81. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  82. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  83. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  84. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  85. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  86. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  87. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  88. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  89. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  90. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  91. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  92. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  93. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  94. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  95. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  96. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  97. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  98. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  99. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  100. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  101. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  102. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  103. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  104. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  105. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  106. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  107. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  108. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  109. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  110. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  111. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  112. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  113. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  114. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/__init__.py +0 -0
  115. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/annotator.py +0 -0
  116. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/augment.py +0 -0
  117. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/base.py +0 -0
  118. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/build.py +0 -0
  119. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/converter.py +0 -0
  120. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/dataset.py +0 -0
  121. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/loaders.py +0 -0
  122. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/download_weights.sh +0 -0
  123. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_coco.sh +0 -0
  124. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_coco128.sh +0 -0
  125. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  126. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/split.py +0 -0
  127. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/split_dota.py +0 -0
  128. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/utils.py +0 -0
  129. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/__init__.py +0 -0
  130. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/exporter.py +0 -0
  131. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/model.py +0 -0
  132. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/predictor.py +0 -0
  133. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/results.py +0 -0
  134. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/trainer.py +0 -0
  135. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/tuner.py +0 -0
  136. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/validator.py +0 -0
  137. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/__init__.py +0 -0
  138. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/auth.py +0 -0
  139. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/google/__init__.py +0 -0
  140. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/session.py +0 -0
  141. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/utils.py +0 -0
  142. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/__init__.py +0 -0
  143. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/__init__.py +0 -0
  144. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/model.py +0 -0
  145. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/predict.py +0 -0
  146. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/utils.py +0 -0
  147. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/val.py +0 -0
  148. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/__init__.py +0 -0
  149. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/model.py +0 -0
  150. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/predict.py +0 -0
  151. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/val.py +0 -0
  152. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/__init__.py +0 -0
  153. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/model.py +0 -0
  154. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/predict.py +0 -0
  155. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/train.py +0 -0
  156. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/val.py +0 -0
  157. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/__init__.py +0 -0
  158. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/amg.py +0 -0
  159. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/build.py +0 -0
  160. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/model.py +0 -0
  161. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/__init__.py +0 -0
  162. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/blocks.py +0 -0
  163. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/decoders.py +0 -0
  164. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/encoders.py +0 -0
  165. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  166. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/sam.py +0 -0
  167. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  168. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/transformer.py +0 -0
  169. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/utils.py +0 -0
  170. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/predict.py +0 -0
  171. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/__init__.py +0 -0
  172. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/loss.py +0 -0
  173. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/ops.py +0 -0
  174. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/__init__.py +0 -0
  175. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/__init__.py +0 -0
  176. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/predict.py +0 -0
  177. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/train.py +0 -0
  178. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/val.py +0 -0
  179. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/__init__.py +0 -0
  180. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/predict.py +0 -0
  181. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/train.py +0 -0
  182. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/val.py +0 -0
  183. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/model.py +0 -0
  184. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/__init__.py +0 -0
  185. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/predict.py +0 -0
  186. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/train.py +0 -0
  187. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/val.py +0 -0
  188. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/__init__.py +0 -0
  189. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/predict.py +0 -0
  190. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/train.py +0 -0
  191. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/val.py +0 -0
  192. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/__init__.py +0 -0
  193. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/predict.py +0 -0
  194. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/train.py +0 -0
  195. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/val.py +0 -0
  196. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/__init__.py +0 -0
  197. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/train.py +0 -0
  198. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/train_world.py +0 -0
  199. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  200. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  201. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/train.py +0 -0
  202. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  203. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/val.py +0 -0
  204. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/__init__.py +0 -0
  205. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/autobackend.py +0 -0
  206. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/__init__.py +0 -0
  207. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/activation.py +0 -0
  208. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/block.py +0 -0
  209. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/conv.py +0 -0
  210. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/head.py +0 -0
  211. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/transformer.py +0 -0
  212. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/utils.py +0 -0
  213. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/tasks.py +0 -0
  214. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/text_model.py +0 -0
  215. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/__init__.py +0 -0
  216. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/ai_gym.py +0 -0
  217. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/analytics.py +0 -0
  218. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/config.py +0 -0
  219. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/distance_calculation.py +0 -0
  220. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/heatmap.py +0 -0
  221. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/instance_segmentation.py +0 -0
  222. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_blurrer.py +0 -0
  223. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_counter.py +0 -0
  224. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_cropper.py +0 -0
  225. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/parking_management.py +0 -0
  226. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/queue_management.py +0 -0
  227. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/region_counter.py +0 -0
  228. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/security_alarm.py +0 -0
  229. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/similarity_search.py +0 -0
  230. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/solutions.py +0 -0
  231. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/speed_estimation.py +0 -0
  232. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/streamlit_inference.py +0 -0
  233. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/templates/similarity-search.html +0 -0
  234. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/trackzone.py +0 -0
  235. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/vision_eye.py +0 -0
  236. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/__init__.py +0 -0
  237. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/basetrack.py +0 -0
  238. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/bot_sort.py +0 -0
  239. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/byte_tracker.py +0 -0
  240. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/track.py +0 -0
  241. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/__init__.py +0 -0
  242. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/gmc.py +0 -0
  243. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  244. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/matching.py +0 -0
  245. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/__init__.py +0 -0
  246. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/autobatch.py +0 -0
  247. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/autodevice.py +0 -0
  248. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/benchmarks.py +0 -0
  249. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/__init__.py +0 -0
  250. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/base.py +0 -0
  251. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/clearml.py +0 -0
  252. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/comet.py +0 -0
  253. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/dvc.py +0 -0
  254. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/hub.py +0 -0
  255. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/mlflow.py +0 -0
  256. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/neptune.py +0 -0
  257. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/raytune.py +0 -0
  258. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  259. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/wb.py +0 -0
  260. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/checks.py +0 -0
  261. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/dist.py +0 -0
  262. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/downloads.py +0 -0
  263. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/errors.py +0 -0
  264. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/export.py +0 -0
  265. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/files.py +0 -0
  266. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/instance.py +0 -0
  267. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/loss.py +0 -0
  268. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/ops.py +0 -0
  269. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/patches.py +0 -0
  270. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/plotting.py +0 -0
  271. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/tal.py +0 -0
  272. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/torch_utils.py +0 -0
  273. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/triton.py +0 -0
  274. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/tuner.py +0 -0
  275. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/SOURCES.txt +0 -0
  276. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/dependency_links.txt +0 -0
  277. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/entry_points.txt +0 -0
  278. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/requires.txt +0 -0
  279. {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.165
3
+ Version: 8.3.166
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 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.165"
3
+ __version__ = "8.3.166"
4
4
 
5
5
  import os
6
6
 
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── Argoverse ← downloads here (31.5 GB)
9
+ # └── Argoverse ← downloads here (31.5 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: Argoverse # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── dota1.5 ← downloads here (2GB)
9
+ # └── dota1.5 ← downloads here (2GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: DOTAv1.5 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── dota1 ← downloads here (2GB)
9
+ # └── dota1 ← downloads here (2GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: DOTAv1 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── GlobalWheat2020 ← downloads here (7.0 GB)
9
+ # └── GlobalWheat2020 ← downloads here (7.0 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: GlobalWheat2020 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── homeobjects-3K ← downloads here (390 MB)
9
+ # └── homeobjects-3K ← downloads here (390 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: homeobjects-3K # dataset root dir
@@ -7,7 +7,7 @@
7
7
  # parent
8
8
  # ├── ultralytics
9
9
  # └── datasets
10
- # └── imagenet ← downloads here (144 GB)
10
+ # └── imagenet ← downloads here (144 GB)
11
11
 
12
12
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
13
13
  path: imagenet # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
9
+ # └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: Objects365 # dataset root dir
@@ -6,13 +6,13 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── SKU-110K ← downloads here (13.6 GB)
9
+ # └── SKU-110K ← downloads here (13.6 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: SKU-110K # dataset root dir
13
- train: train.txt # train images (relative to 'path') 8219 images
14
- val: val.txt # val images (relative to 'path') 588 images
15
- test: test.txt # test images (optional) 2936 images
13
+ train: train.txt # train images (relative to 'path') 8219 images
14
+ val: val.txt # val images (relative to 'path') 588 images
15
+ test: test.txt # test images (optional) 2936 images
16
16
 
17
17
  # Classes
18
18
  names:
@@ -6,16 +6,16 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── VOC ← downloads here (2.8 GB)
9
+ # └── VOC ← downloads here (2.8 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: VOC
13
- train: # train images (relative to 'path') 16551 images
13
+ train: # train images (relative to 'path') 16551 images
14
14
  - images/train2012
15
15
  - images/train2007
16
16
  - images/val2012
17
17
  - images/val2007
18
- val: # val images (relative to 'path') 4952 images
18
+ val: # val images (relative to 'path') 4952 images
19
19
  - images/test2007
20
20
  test: # test images (optional)
21
21
  - images/test2007
@@ -0,0 +1,87 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
4
+ # Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
5
+ # Example usage: yolo train data=VisDrone.yaml
6
+ # parent
7
+ # ├── ultralytics
8
+ # └── datasets
9
+ # └── VisDrone ← downloads here (2.3 GB)
10
+
11
+ # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
+ path: VisDrone # dataset root dir
13
+ train: images/train # train images (relative to 'path') 6471 images
14
+ val: images/val # val images (relative to 'path') 548 images
15
+ test: images/test # test-dev images (optional) 1610 images
16
+
17
+ # Classes
18
+ names:
19
+ 0: pedestrian
20
+ 1: people
21
+ 2: bicycle
22
+ 3: car
23
+ 4: van
24
+ 5: truck
25
+ 6: tricycle
26
+ 7: awning-tricycle
27
+ 8: bus
28
+ 9: motor
29
+
30
+ # Download script/URL (optional) ---------------------------------------------------------------------------------------
31
+ download: |
32
+ import os
33
+ from pathlib import Path
34
+ import shutil
35
+
36
+ from ultralytics.utils.downloads import download
37
+
38
+
39
+ def visdrone2yolo(dir, split, source_name=None):
40
+ """Convert VisDrone annotations to YOLO format with images/{split} and labels/{split} structure."""
41
+ from PIL import Image
42
+ from tqdm import tqdm
43
+
44
+ source_dir = dir / (source_name or f"VisDrone2019-DET-{split}")
45
+ images_dir = dir / "images" / split
46
+ labels_dir = dir / "labels" / split
47
+ labels_dir.mkdir(parents=True, exist_ok=True)
48
+
49
+ # Move images to new structure
50
+ if (source_images_dir := source_dir / "images").exists():
51
+ images_dir.mkdir(parents=True, exist_ok=True)
52
+ for img in source_images_dir.glob("*.jpg"):
53
+ img.rename(images_dir / img.name)
54
+
55
+ for f in tqdm((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
56
+ img_size = Image.open(images_dir / f.with_suffix(".jpg").name).size
57
+ dw, dh = 1.0 / img_size[0], 1.0 / img_size[1]
58
+ lines = []
59
+
60
+ with open(f, encoding="utf-8") as file:
61
+ for row in [x.split(",") for x in file.read().strip().splitlines()]:
62
+ if row[4] != "0": # Skip ignored regions
63
+ x, y, w, h = map(int, row[:4])
64
+ cls = int(row[5]) - 1
65
+ # Convert to YOLO format
66
+ x_center, y_center = (x + w / 2) * dw, (y + h / 2) * dh
67
+ w_norm, h_norm = w * dw, h * dh
68
+ lines.append(f"{cls} {x_center:.6f} {y_center:.6f} {w_norm:.6f} {h_norm:.6f}\n")
69
+
70
+ (labels_dir / f.name).write_text("".join(lines), encoding="utf-8")
71
+
72
+
73
+ # Download (ignores test-challenge split)
74
+ dir = Path(yaml["path"]) # dataset root dir
75
+ urls = [
76
+ "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip",
77
+ "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip",
78
+ "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip",
79
+ # "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip",
80
+ ]
81
+ download(urls, dir=dir, curl=True, threads=4)
82
+
83
+ # Convert
84
+ splits = {"VisDrone2019-DET-train": "train", "VisDrone2019-DET-val": "val", "VisDrone2019-DET-test-dev": "test"}
85
+ for folder, split in splits.items():
86
+ visdrone2yolo(dir, split, folder) # convert VisDrone annotations to YOLO labels
87
+ shutil.rmtree(dir / folder) # cleanup original directory
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── african-wildlife ← downloads here (100 MB)
9
+ # └── african-wildlife ← downloads here (100 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: african-wildlife # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── brain-tumor ← downloads here (4.21 MB)
9
+ # └── brain-tumor ← downloads here (4.21 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: brain-tumor # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── carparts-seg ← downloads here (133 MB)
9
+ # └── carparts-seg ← downloads here (133 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: carparts-seg # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco-pose ← downloads here (20.1 GB)
9
+ # └── coco-pose ← downloads here (20.1 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco-pose # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco ← downloads here (20.1 GB)
9
+ # └── coco ← downloads here (20.1 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco128-seg ← downloads here (7 MB)
9
+ # └── coco128-seg ← downloads here (7 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco128-seg # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco128 ← downloads here (7 MB)
9
+ # └── coco128 ← downloads here (7 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco128 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco8-grayscale ← downloads here (1 MB)
9
+ # └── coco8-grayscale ← downloads here (1 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco8-grayscale # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco8-multispectral ← downloads here (20.2 MB)
9
+ # └── coco8-multispectral ← downloads here (20.2 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco8-multispectral # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco8-pose ← downloads here (1 MB)
9
+ # └── coco8-pose ← downloads here (1 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco8-pose # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco8-seg ← downloads here (1 MB)
9
+ # └── coco8-seg ← downloads here (1 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco8-seg # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── coco8 ← downloads here (1 MB)
9
+ # └── coco8 ← downloads here (1 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: coco8 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── crack-seg ← downloads here (91.6 MB)
9
+ # └── crack-seg ← downloads here (91.6 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: crack-seg # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── dog-pose ← downloads here (337 MB)
9
+ # └── dog-pose ← downloads here (337 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: dog-pose # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── dota8-multispectral ← downloads here (37.3MB)
9
+ # └── dota8-multispectral ← downloads here (37.3MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: dota8-multispectral # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── dota8 ← downloads here (1MB)
9
+ # └── dota8 ← downloads here (1MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: dota8 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── hand-keypoints ← downloads here (369 MB)
9
+ # └── hand-keypoints ← downloads here (369 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: hand-keypoints # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── lvis ← downloads here (20.1 GB)
9
+ # └── lvis ← downloads here (20.1 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: lvis # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── medical-pills ← downloads here (8.19 MB)
9
+ # └── medical-pills ← downloads here (8.19 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: medical-pills # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── open-images-v7 ← downloads here (561 GB)
9
+ # └── open-images-v7 ← downloads here (561 GB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: open-images-v7 # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── package-seg ← downloads here (103 MB)
9
+ # └── package-seg ← downloads here (103 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: package-seg # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── signature ← downloads here (11.3 MB)
9
+ # └── signature ← downloads here (11.3 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: signature # dataset root dir
@@ -6,7 +6,7 @@
6
6
  # parent
7
7
  # ├── ultralytics
8
8
  # └── datasets
9
- # └── tiger-pose ← downloads here (22.8 MB)
9
+ # └── tiger-pose ← downloads here (49.8 MB)
10
10
 
11
11
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
12
  path: tiger-pose # dataset root dir
@@ -7,7 +7,7 @@
7
7
  # parent
8
8
  # ├── ultralytics
9
9
  # └── datasets
10
- # └── xView ← downloads here (20.7 GB)
10
+ # └── xView ← downloads here (20.7 GB)
11
11
 
12
12
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
13
13
  path: xView # dataset root dir
@@ -330,7 +330,7 @@ class ConfusionMatrix(DataExportMixin):
330
330
  """
331
331
  self.task = task
332
332
  self.nc = len(names) # number of classes
333
- self.matrix = np.zeros((self.nc + 1, self.nc + 1)) if self.task == "detect" else np.zeros((self.nc, self.nc))
333
+ self.matrix = np.zeros((self.nc, self.nc)) if self.task == "classify" else np.zeros((self.nc + 1, self.nc + 1))
334
334
  self.names = names # name of classes
335
335
 
336
336
  def process_cls_preds(self, preds, targets):
@@ -360,8 +360,9 @@ class ConfusionMatrix(DataExportMixin):
360
360
  conf (float, optional): Confidence threshold for detections.
361
361
  iou_thres (float, optional): IoU threshold for matching detections to ground truth.
362
362
  """
363
- conf = 0.25 if conf in {None, 0.001} else conf # apply 0.25 if default val conf is passed
364
363
  gt_cls, gt_bboxes = batch["cls"], batch["bboxes"]
364
+ is_obb = gt_bboxes.shape[1] == 5 # check if boxes contains angle for OBB
365
+ conf = 0.25 if conf in {None, 0.01 if is_obb else 0.001} else conf # apply 0.25 if default val conf is passed
365
366
  no_pred = len(detections["cls"]) == 0
366
367
  if gt_cls.shape[0] == 0: # Check if labels is empty
367
368
  if not no_pred:
@@ -380,7 +381,6 @@ class ConfusionMatrix(DataExportMixin):
380
381
  gt_classes = gt_cls.int().tolist()
381
382
  detection_classes = detections["cls"].int().tolist()
382
383
  bboxes = detections["bboxes"]
383
- is_obb = bboxes.shape[1] == 5 # check if detections contains angle for OBB
384
384
  iou = batch_probiou(gt_bboxes, bboxes) if is_obb else box_iou(gt_bboxes, bboxes)
385
385
 
386
386
  x = torch.where(iou > iou_thres)
@@ -422,7 +422,7 @@ class ConfusionMatrix(DataExportMixin):
422
422
  tp = self.matrix.diagonal() # true positives
423
423
  fp = self.matrix.sum(1) - tp # false positives
424
424
  # fn = self.matrix.sum(0) - tp # false negatives (missed detections)
425
- return (tp[:-1], fp[:-1]) if self.task == "detect" else (tp, fp) # remove background class if task=detect
425
+ return (tp, fp) if self.task == "classify" else (tp[:-1], fp[:-1]) # remove background class if task=detect
426
426
 
427
427
  @TryExcept(msg="ConfusionMatrix plot failure")
428
428
  @plt_settings()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.165
3
+ Version: 8.3.166
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,80 +0,0 @@
1
- # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
-
3
- # VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
4
- # Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
5
- # Example usage: yolo train data=VisDrone.yaml
6
- # parent
7
- # ├── ultralytics
8
- # └── datasets
9
- # └── VisDrone ← downloads here (2.3 GB)
10
-
11
- # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
12
- path: VisDrone # dataset root dir
13
- train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images
14
- val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images
15
- test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images
16
-
17
- # Classes
18
- names:
19
- 0: pedestrian
20
- 1: people
21
- 2: bicycle
22
- 3: car
23
- 4: van
24
- 5: truck
25
- 6: tricycle
26
- 7: awning-tricycle
27
- 8: bus
28
- 9: motor
29
-
30
- # Download script/URL (optional) ---------------------------------------------------------------------------------------
31
- download: |
32
- import os
33
- from pathlib import Path
34
-
35
- from ultralytics.utils.downloads import download
36
-
37
-
38
- def visdrone2yolo(dir):
39
- """Convert VisDrone annotations to YOLO format, creating label files with normalized bounding box coordinates."""
40
- from PIL import Image
41
- from tqdm import tqdm
42
-
43
- def convert_box(size, box):
44
- # Convert VisDrone box to YOLO xywh box
45
- dw = 1.0 / size[0]
46
- dh = 1.0 / size[1]
47
- return (box[0] + box[2] / 2) * dw, (box[1] + box[3] / 2) * dh, box[2] * dw, box[3] * dh
48
-
49
- (dir / "labels").mkdir(parents=True, exist_ok=True) # make labels directory
50
- pbar = tqdm((dir / "annotations").glob("*.txt"), desc=f"Converting {dir}")
51
- for f in pbar:
52
- img_size = Image.open((dir / "images" / f.name).with_suffix(".jpg")).size
53
- lines = []
54
- with open(f, encoding="utf-8") as file: # read annotation.txt
55
- for row in [x.split(",") for x in file.read().strip().splitlines()]:
56
- if row[4] == "0": # VisDrone 'ignored regions' class 0
57
- continue
58
- cls = int(row[5]) - 1
59
- box = convert_box(img_size, tuple(map(int, row[:4])))
60
- lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")
61
-
62
- label_file = str(f).replace(f"{os.sep}annotations{os.sep}", f"{os.sep}labels{os.sep}")
63
- with open(label_file, "w", encoding="utf-8") as fl:
64
- fl.writelines(lines)
65
-
66
-
67
-
68
- # Download
69
- dir = Path(yaml["path"]) # dataset root dir
70
- urls = [
71
- "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip",
72
- "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip",
73
- "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip",
74
- "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip",
75
- ]
76
- download(urls, dir=dir, curl=True, threads=4)
77
-
78
- # Convert
79
- for d in "VisDrone2019-DET-train", "VisDrone2019-DET-val", "VisDrone2019-DET-test-dev":
80
- visdrone2yolo(dir / d) # convert VisDrone annotations to YOLO labels
File without changes
File without changes
File without changes