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.
- {ultralytics-8.3.165/ultralytics.egg-info → ultralytics-8.3.166}/PKG-INFO +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/Argoverse.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/ImageNet.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/Objects365.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/SKU-110K.yaml +4 -4
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/VOC.yaml +3 -3
- ultralytics-8.3.166/ultralytics/cfg/datasets/VisDrone.yaml +87 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/african-wildlife.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/brain-tumor.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/carparts-seg.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco-pose.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco128.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/crack-seg.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dog-pose.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dota8.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/hand-keypoints.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/lvis.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/medical-pills.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/package-seg.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/signature.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/tiger-pose.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/xView.yaml +1 -1
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/metrics.py +4 -4
- {ultralytics-8.3.165 → ultralytics-8.3.166/ultralytics.egg-info}/PKG-INFO +1 -1
- ultralytics-8.3.165/ultralytics/cfg/datasets/VisDrone.yaml +0 -80
- {ultralytics-8.3.165 → ultralytics-8.3.166}/LICENSE +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/README.md +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/pyproject.toml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/setup.cfg +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/conftest.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_cli.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_engine.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_exports.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_python.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/download_weights.sh +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_coco.sh +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/split.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/nn/text_model.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/config.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/similarity_search.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/autodevice.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/export.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics.egg-info/requires.txt +0 -0
- {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.
|
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>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── Argoverse
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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')
|
14
|
-
val: val.txt # val images (relative to 'path')
|
15
|
-
test: test.txt # test images (optional)
|
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
|
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')
|
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')
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
{ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/coco8-multispectral.yaml
RENAMED
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-multispectral
|
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
|
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
|
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
|
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
|
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
|
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
|
{ultralytics-8.3.165 → ultralytics-8.3.166}/ultralytics/cfg/datasets/dota8-multispectral.yaml
RENAMED
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota8-multispectral
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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.
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|