ultralytics 8.1.29__py3-none-any.whl → 8.3.62__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tests/__init__.py +22 -0
- tests/conftest.py +83 -0
- tests/test_cli.py +122 -0
- tests/test_cuda.py +155 -0
- tests/test_engine.py +131 -0
- tests/test_exports.py +216 -0
- tests/test_integrations.py +150 -0
- tests/test_python.py +615 -0
- tests/test_solutions.py +94 -0
- ultralytics/__init__.py +11 -8
- ultralytics/cfg/__init__.py +569 -131
- ultralytics/cfg/datasets/Argoverse.yaml +2 -1
- ultralytics/cfg/datasets/DOTAv1.5.yaml +3 -2
- ultralytics/cfg/datasets/DOTAv1.yaml +3 -2
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +3 -2
- ultralytics/cfg/datasets/ImageNet.yaml +2 -1
- ultralytics/cfg/datasets/Objects365.yaml +5 -4
- ultralytics/cfg/datasets/SKU-110K.yaml +2 -1
- ultralytics/cfg/datasets/VOC.yaml +3 -2
- ultralytics/cfg/datasets/VisDrone.yaml +6 -5
- ultralytics/cfg/datasets/african-wildlife.yaml +25 -0
- ultralytics/cfg/datasets/brain-tumor.yaml +23 -0
- ultralytics/cfg/datasets/carparts-seg.yaml +3 -2
- ultralytics/cfg/datasets/coco-pose.yaml +7 -6
- ultralytics/cfg/datasets/coco.yaml +3 -2
- ultralytics/cfg/datasets/coco128-seg.yaml +4 -3
- ultralytics/cfg/datasets/coco128.yaml +4 -3
- ultralytics/cfg/datasets/coco8-pose.yaml +3 -2
- ultralytics/cfg/datasets/coco8-seg.yaml +3 -2
- ultralytics/cfg/datasets/coco8.yaml +3 -2
- ultralytics/cfg/datasets/crack-seg.yaml +3 -2
- ultralytics/cfg/datasets/dog-pose.yaml +24 -0
- ultralytics/cfg/datasets/dota8.yaml +3 -2
- ultralytics/cfg/datasets/hand-keypoints.yaml +26 -0
- ultralytics/cfg/datasets/lvis.yaml +1236 -0
- ultralytics/cfg/datasets/medical-pills.yaml +22 -0
- ultralytics/cfg/datasets/open-images-v7.yaml +2 -1
- ultralytics/cfg/datasets/package-seg.yaml +5 -4
- ultralytics/cfg/datasets/signature.yaml +21 -0
- ultralytics/cfg/datasets/tiger-pose.yaml +3 -2
- ultralytics/cfg/datasets/xView.yaml +2 -1
- ultralytics/cfg/default.yaml +14 -11
- ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +24 -0
- ultralytics/cfg/models/11/yolo11-cls.yaml +33 -0
- ultralytics/cfg/models/11/yolo11-obb.yaml +50 -0
- ultralytics/cfg/models/11/yolo11-pose.yaml +51 -0
- ultralytics/cfg/models/11/yolo11-seg.yaml +50 -0
- ultralytics/cfg/models/11/yolo11.yaml +50 -0
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +5 -2
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +5 -2
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +5 -2
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +5 -2
- ultralytics/cfg/models/v10/yolov10b.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10l.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10m.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10n.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10s.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10x.yaml +45 -0
- ultralytics/cfg/models/v3/yolov3-spp.yaml +5 -2
- ultralytics/cfg/models/v3/yolov3-tiny.yaml +5 -2
- ultralytics/cfg/models/v3/yolov3.yaml +5 -2
- ultralytics/cfg/models/v5/yolov5-p6.yaml +5 -2
- ultralytics/cfg/models/v5/yolov5.yaml +5 -2
- ultralytics/cfg/models/v6/yolov6.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-cls.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +6 -2
- ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +6 -2
- ultralytics/cfg/models/v8/yolov8-ghost.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-obb.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-p2.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-p6.yaml +10 -7
- ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-pose.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-seg.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-world.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8-worldv2.yaml +5 -2
- ultralytics/cfg/models/v8/yolov8.yaml +5 -2
- ultralytics/cfg/models/v9/yolov9c-seg.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9c.yaml +30 -25
- ultralytics/cfg/models/v9/yolov9e-seg.yaml +64 -0
- ultralytics/cfg/models/v9/yolov9e.yaml +46 -42
- ultralytics/cfg/models/v9/yolov9m.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9s.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9t.yaml +41 -0
- ultralytics/cfg/solutions/default.yaml +24 -0
- ultralytics/cfg/trackers/botsort.yaml +8 -5
- ultralytics/cfg/trackers/bytetrack.yaml +8 -5
- ultralytics/data/__init__.py +14 -3
- ultralytics/data/annotator.py +37 -15
- ultralytics/data/augment.py +1783 -289
- ultralytics/data/base.py +62 -27
- ultralytics/data/build.py +36 -8
- ultralytics/data/converter.py +196 -36
- ultralytics/data/dataset.py +233 -94
- ultralytics/data/loaders.py +199 -96
- ultralytics/data/split_dota.py +39 -29
- ultralytics/data/utils.py +110 -40
- ultralytics/engine/__init__.py +1 -1
- ultralytics/engine/exporter.py +569 -242
- ultralytics/engine/model.py +604 -252
- ultralytics/engine/predictor.py +22 -11
- ultralytics/engine/results.py +1228 -218
- ultralytics/engine/trainer.py +190 -129
- ultralytics/engine/tuner.py +18 -18
- ultralytics/engine/validator.py +18 -15
- ultralytics/hub/__init__.py +31 -13
- ultralytics/hub/auth.py +11 -7
- ultralytics/hub/google/__init__.py +159 -0
- ultralytics/hub/session.py +128 -94
- ultralytics/hub/utils.py +20 -21
- ultralytics/models/__init__.py +4 -2
- ultralytics/models/fastsam/__init__.py +2 -3
- ultralytics/models/fastsam/model.py +26 -4
- ultralytics/models/fastsam/predict.py +127 -63
- ultralytics/models/fastsam/utils.py +1 -44
- ultralytics/models/fastsam/val.py +1 -1
- ultralytics/models/nas/__init__.py +1 -1
- ultralytics/models/nas/model.py +21 -10
- ultralytics/models/nas/predict.py +3 -6
- ultralytics/models/nas/val.py +4 -4
- ultralytics/models/rtdetr/__init__.py +1 -1
- ultralytics/models/rtdetr/model.py +1 -1
- ultralytics/models/rtdetr/predict.py +6 -8
- ultralytics/models/rtdetr/train.py +6 -2
- ultralytics/models/rtdetr/val.py +3 -3
- ultralytics/models/sam/__init__.py +3 -3
- ultralytics/models/sam/amg.py +29 -23
- ultralytics/models/sam/build.py +211 -13
- ultralytics/models/sam/model.py +91 -30
- ultralytics/models/sam/modules/__init__.py +1 -1
- ultralytics/models/sam/modules/blocks.py +1129 -0
- ultralytics/models/sam/modules/decoders.py +381 -53
- ultralytics/models/sam/modules/encoders.py +515 -324
- ultralytics/models/sam/modules/memory_attention.py +237 -0
- ultralytics/models/sam/modules/sam.py +969 -21
- ultralytics/models/sam/modules/tiny_encoder.py +425 -154
- ultralytics/models/sam/modules/transformer.py +159 -60
- ultralytics/models/sam/modules/utils.py +293 -0
- ultralytics/models/sam/predict.py +1263 -132
- ultralytics/models/utils/__init__.py +1 -1
- ultralytics/models/utils/loss.py +36 -24
- ultralytics/models/utils/ops.py +3 -7
- ultralytics/models/yolo/__init__.py +3 -3
- ultralytics/models/yolo/classify/__init__.py +1 -1
- ultralytics/models/yolo/classify/predict.py +7 -8
- ultralytics/models/yolo/classify/train.py +17 -22
- ultralytics/models/yolo/classify/val.py +8 -4
- ultralytics/models/yolo/detect/__init__.py +1 -1
- ultralytics/models/yolo/detect/predict.py +3 -5
- ultralytics/models/yolo/detect/train.py +11 -4
- ultralytics/models/yolo/detect/val.py +90 -52
- ultralytics/models/yolo/model.py +14 -9
- ultralytics/models/yolo/obb/__init__.py +1 -1
- ultralytics/models/yolo/obb/predict.py +2 -2
- ultralytics/models/yolo/obb/train.py +5 -3
- ultralytics/models/yolo/obb/val.py +41 -23
- ultralytics/models/yolo/pose/__init__.py +1 -1
- ultralytics/models/yolo/pose/predict.py +3 -5
- ultralytics/models/yolo/pose/train.py +2 -2
- ultralytics/models/yolo/pose/val.py +51 -17
- ultralytics/models/yolo/segment/__init__.py +1 -1
- ultralytics/models/yolo/segment/predict.py +3 -5
- ultralytics/models/yolo/segment/train.py +2 -2
- ultralytics/models/yolo/segment/val.py +60 -19
- ultralytics/models/yolo/world/__init__.py +5 -0
- ultralytics/models/yolo/world/train.py +92 -0
- ultralytics/models/yolo/world/train_world.py +109 -0
- ultralytics/nn/__init__.py +1 -1
- ultralytics/nn/autobackend.py +228 -93
- ultralytics/nn/modules/__init__.py +39 -14
- ultralytics/nn/modules/activation.py +21 -0
- ultralytics/nn/modules/block.py +526 -66
- ultralytics/nn/modules/conv.py +24 -7
- ultralytics/nn/modules/head.py +177 -34
- ultralytics/nn/modules/transformer.py +6 -5
- ultralytics/nn/modules/utils.py +1 -2
- ultralytics/nn/tasks.py +225 -77
- ultralytics/solutions/__init__.py +30 -1
- ultralytics/solutions/ai_gym.py +96 -143
- ultralytics/solutions/analytics.py +247 -0
- ultralytics/solutions/distance_calculation.py +78 -135
- ultralytics/solutions/heatmap.py +93 -247
- ultralytics/solutions/object_counter.py +184 -259
- ultralytics/solutions/parking_management.py +246 -0
- ultralytics/solutions/queue_management.py +112 -0
- ultralytics/solutions/region_counter.py +116 -0
- ultralytics/solutions/security_alarm.py +144 -0
- ultralytics/solutions/solutions.py +178 -0
- ultralytics/solutions/speed_estimation.py +86 -174
- ultralytics/solutions/streamlit_inference.py +190 -0
- ultralytics/solutions/trackzone.py +68 -0
- ultralytics/trackers/__init__.py +1 -1
- ultralytics/trackers/basetrack.py +32 -13
- ultralytics/trackers/bot_sort.py +61 -28
- ultralytics/trackers/byte_tracker.py +83 -51
- ultralytics/trackers/track.py +21 -6
- ultralytics/trackers/utils/__init__.py +1 -1
- ultralytics/trackers/utils/gmc.py +62 -48
- ultralytics/trackers/utils/kalman_filter.py +166 -35
- ultralytics/trackers/utils/matching.py +40 -21
- ultralytics/utils/__init__.py +511 -239
- ultralytics/utils/autobatch.py +40 -22
- ultralytics/utils/benchmarks.py +266 -85
- ultralytics/utils/callbacks/__init__.py +1 -1
- ultralytics/utils/callbacks/base.py +1 -3
- ultralytics/utils/callbacks/clearml.py +7 -6
- ultralytics/utils/callbacks/comet.py +39 -17
- ultralytics/utils/callbacks/dvc.py +1 -1
- ultralytics/utils/callbacks/hub.py +16 -16
- ultralytics/utils/callbacks/mlflow.py +28 -24
- ultralytics/utils/callbacks/neptune.py +6 -2
- ultralytics/utils/callbacks/raytune.py +3 -4
- ultralytics/utils/callbacks/tensorboard.py +18 -18
- ultralytics/utils/callbacks/wb.py +27 -20
- ultralytics/utils/checks.py +160 -100
- ultralytics/utils/dist.py +2 -1
- ultralytics/utils/downloads.py +40 -34
- ultralytics/utils/errors.py +1 -1
- ultralytics/utils/files.py +72 -38
- ultralytics/utils/instance.py +41 -19
- ultralytics/utils/loss.py +83 -55
- ultralytics/utils/metrics.py +61 -56
- ultralytics/utils/ops.py +94 -89
- ultralytics/utils/patches.py +30 -14
- ultralytics/utils/plotting.py +600 -269
- ultralytics/utils/tal.py +67 -26
- ultralytics/utils/torch_utils.py +302 -102
- ultralytics/utils/triton.py +2 -1
- ultralytics/utils/tuner.py +21 -12
- ultralytics-8.3.62.dist-info/METADATA +370 -0
- ultralytics-8.3.62.dist-info/RECORD +241 -0
- {ultralytics-8.1.29.dist-info → ultralytics-8.3.62.dist-info}/WHEEL +1 -1
- ultralytics/data/explorer/__init__.py +0 -5
- ultralytics/data/explorer/explorer.py +0 -472
- ultralytics/data/explorer/gui/__init__.py +0 -1
- ultralytics/data/explorer/gui/dash.py +0 -268
- ultralytics/data/explorer/utils.py +0 -166
- ultralytics/models/fastsam/prompt.py +0 -357
- ultralytics-8.1.29.dist-info/METADATA +0 -373
- ultralytics-8.1.29.dist-info/RECORD +0 -197
- {ultralytics-8.1.29.dist-info → ultralytics-8.3.62.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.29.dist-info → ultralytics-8.3.62.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.29.dist-info → ultralytics-8.3.62.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10n object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2f, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2f, [512]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10s object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
s: [0.33, 0.50, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2f, [512]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10x object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
x: [1.00, 1.25, 512]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2fCIB, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3-SPP object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3-tiiny object detection model with P4/16 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv5 object detection model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov5
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv5 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov5
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Meituan YOLOv6 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov6
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with ResNet101 backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 1000 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with ResNet50 backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 1000 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with YOLO backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 1000 # number of classes
|
@@ -1,5 +1,9 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P2/4 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
# Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
|
3
7
|
|
4
8
|
# Parameters
|
5
9
|
nc: 80 # number of classes
|
@@ -1,5 +1,9 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
# Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
|
3
7
|
|
4
8
|
# Parameters
|
5
9
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
# Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
|
4
7
|
|
5
8
|
# Parameters
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-obb Oriented Bounding Boxes (OBB) model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/obb
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P2/4 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,15 +1,18 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
6
9
|
scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
|
7
10
|
# [depth, width, max_channels]
|
8
|
-
n: [0.33, 0.25, 1024]
|
9
|
-
s: [0.33, 0.50, 1024]
|
10
|
-
m: [0.67, 0.75, 768]
|
11
|
-
l: [1.00, 1.00, 512]
|
12
|
-
x: [1.00, 1.25, 512]
|
11
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-p6 summary (fused): 220 layers, 4976656 parameters, 42560 gradients, 8.7 GFLOPs
|
12
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-p6 summary (fused): 220 layers, 17897168 parameters, 57920 gradients, 28.5 GFLOPs
|
13
|
+
m: [0.67, 0.75, 768] # YOLOv8m-p6 summary (fused): 285 layers, 44862352 parameters, 78400 gradients, 83.1 GFLOPs
|
14
|
+
l: [1.00, 1.00, 512] # YOLOv8l-p6 summary (fused): 350 layers, 62351440 parameters, 98880 gradients, 167.3 GFLOPs
|
15
|
+
x: [1.00, 1.25, 512] # YOLOv8x-p6 summary (fused): 350 layers, 97382352 parameters, 123456 gradients, 261.1 GFLOPs
|
13
16
|
|
14
17
|
# YOLOv8.0x6 backbone
|
15
18
|
backbone:
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-pose keypoints/pose estimation model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/pose
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 1 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-pose keypoints/pose estimation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/pose
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 1 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-RTDETR hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/rtdetr
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-seg instance segmentation model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/segment
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-seg instance segmentation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/segment
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-World hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo-world
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-Worldv2 hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo-world
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -1,5 +1,8 @@
|
|
1
|
-
# Ultralytics
|
2
|
-
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
3
6
|
|
4
7
|
# Parameters
|
5
8
|
nc: 80 # number of classes
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv9c-seg instance segmentation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov9
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/segment
|
6
|
+
# 654 layers, 27897120 parameters, 159.4 GFLOPs
|
7
|
+
|
8
|
+
# Parameters
|
9
|
+
nc: 80 # number of classes
|
10
|
+
|
11
|
+
# GELAN backbone
|
12
|
+
backbone:
|
13
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
14
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
15
|
+
- [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
|
16
|
+
- [-1, 1, ADown, [256]] # 3-P3/8
|
17
|
+
- [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
|
18
|
+
- [-1, 1, ADown, [512]] # 5-P4/16
|
19
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
|
20
|
+
- [-1, 1, ADown, [512]] # 7-P5/32
|
21
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
|
22
|
+
- [-1, 1, SPPELAN, [512, 256]] # 9
|
23
|
+
|
24
|
+
head:
|
25
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
26
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
27
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
|
28
|
+
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
31
|
+
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
|
32
|
+
|
33
|
+
- [-1, 1, ADown, [256]]
|
34
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
35
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
|
36
|
+
|
37
|
+
- [-1, 1, ADown, [512]]
|
38
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
39
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
|
40
|
+
|
41
|
+
- [[15, 18, 21], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5)
|
@@ -1,36 +1,41 @@
|
|
1
|
-
#
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
2
|
|
3
|
-
#
|
4
|
-
|
3
|
+
# YOLOv9c object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov9
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
# 618 layers, 25590912 parameters, 104.0 GFLOPs
|
5
7
|
|
6
|
-
#
|
8
|
+
# Parameters
|
9
|
+
nc: 80 # number of classes
|
10
|
+
|
11
|
+
# GELAN backbone
|
7
12
|
backbone:
|
8
|
-
- [-1, 1, Conv, [64, 3, 2]]
|
9
|
-
- [-1, 1, Conv, [128, 3, 2]]
|
10
|
-
- [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]]
|
11
|
-
- [-1, 1, ADown, [256]]
|
12
|
-
- [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]]
|
13
|
-
- [-1, 1, ADown, [512]]
|
14
|
-
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]]
|
15
|
-
- [-1, 1, ADown, [512]]
|
16
|
-
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]]
|
17
|
-
- [-1, 1, SPPELAN, [512, 256]]
|
13
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
14
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
15
|
+
- [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
|
16
|
+
- [-1, 1, ADown, [256]] # 3-P3/8
|
17
|
+
- [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
|
18
|
+
- [-1, 1, ADown, [512]] # 5-P4/16
|
19
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
|
20
|
+
- [-1, 1, ADown, [512]] # 7-P5/32
|
21
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
|
22
|
+
- [-1, 1, SPPELAN, [512, 256]] # 9
|
18
23
|
|
19
24
|
head:
|
20
|
-
- [-1, 1, nn.Upsample, [None, 2,
|
21
|
-
- [[-1, 6], 1, Concat, [1]]
|
22
|
-
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]]
|
25
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
26
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
27
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
|
23
28
|
|
24
|
-
- [-1, 1, nn.Upsample, [None, 2,
|
25
|
-
- [[-1, 4], 1, Concat, [1]]
|
26
|
-
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]]
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
31
|
+
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
|
27
32
|
|
28
33
|
- [-1, 1, ADown, [256]]
|
29
|
-
- [[-1, 12], 1, Concat, [1]]
|
30
|
-
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]]
|
34
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
35
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
|
31
36
|
|
32
37
|
- [-1, 1, ADown, [512]]
|
33
|
-
- [[-1, 9], 1, Concat, [1]]
|
34
|
-
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]]
|
38
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
39
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
|
35
40
|
|
36
|
-
- [[15, 18, 21], 1, Detect, [nc]]
|
41
|
+
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv9e-seg instance segmentation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov9
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/segment
|
6
|
+
# 1261 layers, 60512800 parameters, 248.4 GFLOPs
|
7
|
+
|
8
|
+
# Parameters
|
9
|
+
nc: 80 # number of classes
|
10
|
+
|
11
|
+
# GELAN backbone
|
12
|
+
backbone:
|
13
|
+
- [-1, 1, nn.Identity, []]
|
14
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
15
|
+
- [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
|
16
|
+
- [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
|
17
|
+
- [-1, 1, ADown, [256]] # 4-P3/8
|
18
|
+
- [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 5
|
19
|
+
- [-1, 1, ADown, [512]] # 6-P4/16
|
20
|
+
- [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 7
|
21
|
+
- [-1, 1, ADown, [1024]] # 8-P5/32
|
22
|
+
- [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 9
|
23
|
+
|
24
|
+
- [1, 1, CBLinear, [[64]]] # 10
|
25
|
+
- [3, 1, CBLinear, [[64, 128]]] # 11
|
26
|
+
- [5, 1, CBLinear, [[64, 128, 256]]] # 12
|
27
|
+
- [7, 1, CBLinear, [[64, 128, 256, 512]]] # 13
|
28
|
+
- [9, 1, CBLinear, [[64, 128, 256, 512, 1024]]] # 14
|
29
|
+
|
30
|
+
- [0, 1, Conv, [64, 3, 2]] # 15-P1/2
|
31
|
+
- [[10, 11, 12, 13, 14, -1], 1, CBFuse, [[0, 0, 0, 0, 0]]] # 16
|
32
|
+
- [-1, 1, Conv, [128, 3, 2]] # 17-P2/4
|
33
|
+
- [[11, 12, 13, 14, -1], 1, CBFuse, [[1, 1, 1, 1]]] # 18
|
34
|
+
- [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 19
|
35
|
+
- [-1, 1, ADown, [256]] # 20-P3/8
|
36
|
+
- [[12, 13, 14, -1], 1, CBFuse, [[2, 2, 2]]] # 21
|
37
|
+
- [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 22
|
38
|
+
- [-1, 1, ADown, [512]] # 23-P4/16
|
39
|
+
- [[13, 14, -1], 1, CBFuse, [[3, 3]]] # 24
|
40
|
+
- [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 25
|
41
|
+
- [-1, 1, ADown, [1024]] # 26-P5/32
|
42
|
+
- [[14, -1], 1, CBFuse, [[4]]] # 27
|
43
|
+
- [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
|
44
|
+
- [-1, 1, SPPELAN, [512, 256]] # 29
|
45
|
+
|
46
|
+
# GELAN head
|
47
|
+
head:
|
48
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
49
|
+
- [[-1, 25], 1, Concat, [1]] # cat backbone P4
|
50
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 32
|
51
|
+
|
52
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
53
|
+
- [[-1, 22], 1, Concat, [1]] # cat backbone P3
|
54
|
+
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 2]] # 35 (P3/8-small)
|
55
|
+
|
56
|
+
- [-1, 1, ADown, [256]]
|
57
|
+
- [[-1, 32], 1, Concat, [1]] # cat head P4
|
58
|
+
- [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 38 (P4/16-medium)
|
59
|
+
|
60
|
+
- [-1, 1, ADown, [512]]
|
61
|
+
- [[-1, 29], 1, Concat, [1]] # cat head P5
|
62
|
+
- [-1, 1, RepNCSPELAN4, [512, 1024, 512, 2]] # 41 (P5/32-large)
|
63
|
+
|
64
|
+
- [[35, 38, 41], 1, Segment, [nc, 32, 256]] # Segment (P3, P4, P5)
|