ultralytics 8.3.32__tar.gz → 8.3.33__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.32/ultralytics.egg-info → ultralytics-8.3.33}/PKG-INFO +1 -1
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/exporter.py +0 -3
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/object_counter.py +48 -28
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/benchmarks.py +0 -2
- {ultralytics-8.3.32 → ultralytics-8.3.33/ultralytics.egg-info}/PKG-INFO +1 -1
- {ultralytics-8.3.32 → ultralytics-8.3.33}/LICENSE +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/README.md +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/pyproject.toml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/setup.cfg +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/conftest.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_cli.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_engine.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_exports.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_python.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/solutions/default.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.33
|
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>
|
@@ -79,7 +79,6 @@ from ultralytics.utils import (
|
|
79
79
|
ARM64,
|
80
80
|
DEFAULT_CFG,
|
81
81
|
IS_JETSON,
|
82
|
-
IS_RASPBERRYPI,
|
83
82
|
LINUX,
|
84
83
|
LOGGER,
|
85
84
|
MACOS,
|
@@ -265,8 +264,6 @@ class Exporter:
|
|
265
264
|
"WARNING ⚠️ INT8 export requires a missing 'data' arg for calibration. "
|
266
265
|
f"Using default 'data={self.args.data}'."
|
267
266
|
)
|
268
|
-
if mnn and (IS_RASPBERRYPI or IS_JETSON):
|
269
|
-
raise SystemError("MNN export not supported on Raspberry Pi and NVIDIA Jetson")
|
270
267
|
|
271
268
|
# Input
|
272
269
|
im = torch.zeros(self.args.batch, 3, *self.imgsz).to(self.device)
|
@@ -46,13 +46,12 @@ class ObjectCounter(BaseSolution):
|
|
46
46
|
self.show_in = self.CFG["show_in"]
|
47
47
|
self.show_out = self.CFG["show_out"]
|
48
48
|
|
49
|
-
def count_objects(self,
|
49
|
+
def count_objects(self, current_centroid, track_id, prev_position, cls):
|
50
50
|
"""
|
51
51
|
Counts objects within a polygonal or linear region based on their tracks.
|
52
52
|
|
53
53
|
Args:
|
54
|
-
|
55
|
-
box (List[float]): Bounding box coordinates [x1, y1, x2, y2] for the specific track in the current frame.
|
54
|
+
current_centroid (Tuple[float, float]): Current centroid values in the current frame.
|
56
55
|
track_id (int): Unique identifier for the tracked object.
|
57
56
|
prev_position (Tuple[float, float]): Last frame position coordinates (x, y) of the track.
|
58
57
|
cls (int): Class index for classwise count updates.
|
@@ -69,29 +68,50 @@ class ObjectCounter(BaseSolution):
|
|
69
68
|
if prev_position is None or track_id in self.counted_ids:
|
70
69
|
return
|
71
70
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
71
|
+
if len(self.region) == 2: # Linear region (defined as a line segment)
|
72
|
+
line = self.LineString(self.region) # Check if the line intersects the trajectory of the object
|
73
|
+
if line.intersects(self.LineString([prev_position, current_centroid])):
|
74
|
+
# Determine orientation of the region (vertical or horizontal)
|
75
|
+
if abs(self.region[0][0] - self.region[1][0]) < abs(self.region[0][1] - self.region[1][1]):
|
76
|
+
# Vertical region: Compare x-coordinates to determine direction
|
77
|
+
if current_centroid[0] > prev_position[0]: # Moving right
|
78
|
+
self.in_count += 1
|
79
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
80
|
+
else: # Moving left
|
81
|
+
self.out_count += 1
|
82
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
83
|
+
else:
|
84
|
+
# Horizontal region: Compare y-coordinates to determine direction
|
85
|
+
if current_centroid[1] > prev_position[1]: # Moving downward
|
86
|
+
self.in_count += 1
|
87
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
88
|
+
else: # Moving upward
|
89
|
+
self.out_count += 1
|
90
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
91
|
+
self.counted_ids.append(track_id)
|
92
|
+
|
93
|
+
elif len(self.region) > 2: # Polygonal region
|
94
|
+
polygon = self.Polygon(self.region)
|
95
|
+
if polygon.contains(self.Point(current_centroid)):
|
96
|
+
# Determine motion direction for vertical or horizontal polygons
|
97
|
+
region_width = max([p[0] for p in self.region]) - min([p[0] for p in self.region])
|
98
|
+
region_height = max([p[1] for p in self.region]) - min([p[1] for p in self.region])
|
99
|
+
|
100
|
+
if region_width < region_height: # Vertical-oriented polygon
|
101
|
+
if current_centroid[0] > prev_position[0]: # Moving right
|
102
|
+
self.in_count += 1
|
103
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
104
|
+
else: # Moving left
|
105
|
+
self.out_count += 1
|
106
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
107
|
+
else: # Horizontal-oriented polygon
|
108
|
+
if current_centroid[1] > prev_position[1]: # Moving downward
|
109
|
+
self.in_count += 1
|
110
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
111
|
+
else: # Moving upward
|
112
|
+
self.out_count += 1
|
113
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
114
|
+
self.counted_ids.append(track_id)
|
95
115
|
|
96
116
|
def store_classwise_counts(self, cls):
|
97
117
|
"""
|
@@ -174,12 +194,12 @@ class ObjectCounter(BaseSolution):
|
|
174
194
|
self.annotator.draw_centroid_and_tracks(
|
175
195
|
self.track_line, color=colors(int(cls), True), track_thickness=self.line_width
|
176
196
|
)
|
177
|
-
|
197
|
+
current_centroid = ((box[0] + box[2]) / 2, (box[1] + box[3]) / 2)
|
178
198
|
# store previous position of track for object counting
|
179
199
|
prev_position = None
|
180
200
|
if len(self.track_history[track_id]) > 1:
|
181
201
|
prev_position = self.track_history[track_id][-2]
|
182
|
-
self.count_objects(
|
202
|
+
self.count_objects(current_centroid, track_id, prev_position, cls) # Perform object counting
|
183
203
|
|
184
204
|
self.display_counts(im0) # Display the counts on the frame
|
185
205
|
self.display_output(im0) # display output with base class function
|
@@ -114,8 +114,6 @@ def benchmark(
|
|
114
114
|
assert LINUX or MACOS, "Windows Paddle exports not supported yet"
|
115
115
|
if i == 12: # MNN
|
116
116
|
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 MNN exports not supported yet"
|
117
|
-
assert not IS_RASPBERRYPI, "MNN export not supported on Raspberry Pi"
|
118
|
-
assert not IS_JETSON, "MNN export not supported on NVIDIA Jetson"
|
119
117
|
if i == 13: # NCNN
|
120
118
|
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 NCNN exports not supported yet"
|
121
119
|
if i == 14: # IMX
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.33
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
File without changes
|
File without changes
|
File without changes
|
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
|
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
|
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
|
{ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml
RENAMED
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
|
{ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml
RENAMED
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.32 → ultralytics-8.3.33}/ultralytics/models/sam/modules/memory_attention.py
RENAMED
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
|
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
|
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
|
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
|
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
|
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
|