Spaces:
Sleeping
Sleeping
xiaoming32236046
commited on
Commit
β’
53ad959
1
Parent(s):
1bb6654
Upload 325 files
Browse filesThis view is limited to 50 files because it contains too many changes. Β
See raw diff
- ultralytics/__init__.py +27 -0
- ultralytics/__pycache__/__init__.cpython-39.pyc +0 -0
- ultralytics/assets/bus.jpg +0 -0
- ultralytics/assets/zidane.jpg +0 -0
- ultralytics/cfg/__init__.py +613 -0
- ultralytics/cfg/__pycache__/__init__.cpython-39.pyc +0 -0
- ultralytics/cfg/datasets/Argoverse.yaml +74 -0
- ultralytics/cfg/datasets/DOTAv1.5.yaml +36 -0
- ultralytics/cfg/datasets/DOTAv1.yaml +35 -0
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +53 -0
- ultralytics/cfg/datasets/ImageNet.yaml +2024 -0
- ultralytics/cfg/datasets/Objects365.yaml +442 -0
- ultralytics/cfg/datasets/SKU-110K.yaml +57 -0
- ultralytics/cfg/datasets/VOC.yaml +99 -0
- ultralytics/cfg/datasets/VisDrone.yaml +72 -0
- ultralytics/cfg/datasets/african-wildlife.yaml +24 -0
- ultralytics/cfg/datasets/brain-tumor.yaml +22 -0
- ultralytics/cfg/datasets/carparts-seg.yaml +43 -0
- ultralytics/cfg/datasets/coco-pose.yaml +38 -0
- ultralytics/cfg/datasets/coco.yaml +114 -0
- ultralytics/cfg/datasets/coco128-seg.yaml +100 -0
- ultralytics/cfg/datasets/coco128.yaml +100 -0
- ultralytics/cfg/datasets/coco8-pose.yaml +25 -0
- ultralytics/cfg/datasets/coco8-seg.yaml +100 -0
- ultralytics/cfg/datasets/coco8.yaml +100 -0
- ultralytics/cfg/datasets/crack-seg.yaml +21 -0
- ultralytics/cfg/datasets/dota8.yaml +34 -0
- ultralytics/cfg/datasets/open-images-v7.yaml +660 -0
- ultralytics/cfg/datasets/package-seg.yaml +21 -0
- ultralytics/cfg/datasets/tiger-pose.yaml +24 -0
- ultralytics/cfg/datasets/xView.yaml +152 -0
- ultralytics/cfg/default.yaml +127 -0
- ultralytics/cfg/models/README.md +40 -0
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +50 -0
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +42 -0
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +42 -0
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +54 -0
- ultralytics/cfg/models/v10/yolov10b.yaml +40 -0
- ultralytics/cfg/models/v10/yolov10l.yaml +40 -0
- ultralytics/cfg/models/v10/yolov10m.yaml +43 -0
- ultralytics/cfg/models/v10/yolov10n.yaml +40 -0
- ultralytics/cfg/models/v10/yolov10s.yaml +39 -0
- ultralytics/cfg/models/v10/yolov10x.yaml +40 -0
- ultralytics/cfg/models/v3/yolov3-spp.yaml +46 -0
- ultralytics/cfg/models/v3/yolov3-tiny.yaml +37 -0
- ultralytics/cfg/models/v3/yolov3.yaml +46 -0
- ultralytics/cfg/models/v5/yolov5-p6.yaml +59 -0
- ultralytics/cfg/models/v5/yolov5.yaml +48 -0
- ultralytics/cfg/models/v6/yolov6.yaml +53 -0
- ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +25 -0
ultralytics/__init__.py
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
|
3 |
+
__version__ = "8.1.34"
|
4 |
+
|
5 |
+
from ultralytics.data.explorer.explorer import Explorer
|
6 |
+
from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld, YOLOv10
|
7 |
+
from ultralytics.models.fastsam import FastSAM
|
8 |
+
from ultralytics.models.nas import NAS
|
9 |
+
from ultralytics.utils import ASSETS, SETTINGS as settings
|
10 |
+
from ultralytics.utils.checks import check_yolo as checks
|
11 |
+
from ultralytics.utils.downloads import download
|
12 |
+
|
13 |
+
__all__ = (
|
14 |
+
"__version__",
|
15 |
+
"ASSETS",
|
16 |
+
"YOLO",
|
17 |
+
"YOLOWorld",
|
18 |
+
"NAS",
|
19 |
+
"SAM",
|
20 |
+
"FastSAM",
|
21 |
+
"RTDETR",
|
22 |
+
"checks",
|
23 |
+
"download",
|
24 |
+
"settings",
|
25 |
+
"Explorer",
|
26 |
+
"YOLOv10"
|
27 |
+
)
|
ultralytics/__pycache__/__init__.cpython-39.pyc
ADDED
Binary file (744 Bytes). View file
|
|
ultralytics/assets/bus.jpg
ADDED
ultralytics/assets/zidane.jpg
ADDED
ultralytics/cfg/__init__.py
ADDED
@@ -0,0 +1,613 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
|
3 |
+
import contextlib
|
4 |
+
import os
|
5 |
+
import shutil
|
6 |
+
import subprocess
|
7 |
+
import sys
|
8 |
+
from pathlib import Path
|
9 |
+
from types import SimpleNamespace
|
10 |
+
from typing import Dict, List, Union
|
11 |
+
import re
|
12 |
+
|
13 |
+
from ultralytics.utils import (
|
14 |
+
ASSETS,
|
15 |
+
DEFAULT_CFG,
|
16 |
+
DEFAULT_CFG_DICT,
|
17 |
+
DEFAULT_CFG_PATH,
|
18 |
+
LOGGER,
|
19 |
+
RANK,
|
20 |
+
ROOT,
|
21 |
+
RUNS_DIR,
|
22 |
+
SETTINGS,
|
23 |
+
SETTINGS_YAML,
|
24 |
+
TESTS_RUNNING,
|
25 |
+
IterableSimpleNamespace,
|
26 |
+
__version__,
|
27 |
+
checks,
|
28 |
+
colorstr,
|
29 |
+
deprecation_warn,
|
30 |
+
yaml_load,
|
31 |
+
yaml_print,
|
32 |
+
)
|
33 |
+
|
34 |
+
# Define valid tasks and modes
|
35 |
+
MODES = {"train", "val", "predict", "export", "track", "benchmark"}
|
36 |
+
TASKS = {"detect", "segment", "classify", "pose", "obb"}
|
37 |
+
TASK2DATA = {
|
38 |
+
"detect": "coco8.yaml",
|
39 |
+
"segment": "coco8-seg.yaml",
|
40 |
+
"classify": "imagenet10",
|
41 |
+
"pose": "coco8-pose.yaml",
|
42 |
+
"obb": "dota8.yaml",
|
43 |
+
}
|
44 |
+
TASK2MODEL = {
|
45 |
+
"detect": "yolov8n.pt",
|
46 |
+
"segment": "yolov8n-seg.pt",
|
47 |
+
"classify": "yolov8n-cls.pt",
|
48 |
+
"pose": "yolov8n-pose.pt",
|
49 |
+
"obb": "yolov8n-obb.pt",
|
50 |
+
}
|
51 |
+
TASK2METRIC = {
|
52 |
+
"detect": "metrics/mAP50-95(B)",
|
53 |
+
"segment": "metrics/mAP50-95(M)",
|
54 |
+
"classify": "metrics/accuracy_top1",
|
55 |
+
"pose": "metrics/mAP50-95(P)",
|
56 |
+
"obb": "metrics/mAP50-95(B)",
|
57 |
+
}
|
58 |
+
|
59 |
+
CLI_HELP_MSG = f"""
|
60 |
+
Arguments received: {str(['yolo'] + sys.argv[1:])}. Ultralytics 'yolo' commands use the following syntax:
|
61 |
+
|
62 |
+
yolo TASK MODE ARGS
|
63 |
+
|
64 |
+
Where TASK (optional) is one of {TASKS}
|
65 |
+
MODE (required) is one of {MODES}
|
66 |
+
ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
|
67 |
+
See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg'
|
68 |
+
|
69 |
+
1. Train a detection model for 10 epochs with an initial learning_rate of 0.01
|
70 |
+
yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01
|
71 |
+
|
72 |
+
2. Predict a YouTube video using a pretrained segmentation model at image size 320:
|
73 |
+
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
|
74 |
+
|
75 |
+
3. Val a pretrained detection model at batch-size 1 and image size 640:
|
76 |
+
yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640
|
77 |
+
|
78 |
+
4. Export a YOLOv8n classification model to ONNX format at image size 224 by 128 (no TASK required)
|
79 |
+
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
|
80 |
+
|
81 |
+
6. Explore your datasets using semantic search and SQL with a simple GUI powered by Ultralytics Explorer API
|
82 |
+
yolo explorer
|
83 |
+
|
84 |
+
5. Run special commands:
|
85 |
+
yolo help
|
86 |
+
yolo checks
|
87 |
+
yolo version
|
88 |
+
yolo settings
|
89 |
+
yolo copy-cfg
|
90 |
+
yolo cfg
|
91 |
+
|
92 |
+
Docs: https://docs.ultralytics.com
|
93 |
+
Community: https://community.ultralytics.com
|
94 |
+
GitHub: https://github.com/ultralytics/ultralytics
|
95 |
+
"""
|
96 |
+
|
97 |
+
# Define keys for arg type checks
|
98 |
+
CFG_FLOAT_KEYS = {"warmup_epochs", "box", "cls", "dfl", "degrees", "shear", "time"}
|
99 |
+
CFG_FRACTION_KEYS = {
|
100 |
+
"dropout",
|
101 |
+
"iou",
|
102 |
+
"lr0",
|
103 |
+
"lrf",
|
104 |
+
"momentum",
|
105 |
+
"weight_decay",
|
106 |
+
"warmup_momentum",
|
107 |
+
"warmup_bias_lr",
|
108 |
+
"label_smoothing",
|
109 |
+
"hsv_h",
|
110 |
+
"hsv_s",
|
111 |
+
"hsv_v",
|
112 |
+
"translate",
|
113 |
+
"scale",
|
114 |
+
"perspective",
|
115 |
+
"flipud",
|
116 |
+
"fliplr",
|
117 |
+
"bgr",
|
118 |
+
"mosaic",
|
119 |
+
"mixup",
|
120 |
+
"copy_paste",
|
121 |
+
"conf",
|
122 |
+
"iou",
|
123 |
+
"fraction",
|
124 |
+
} # fraction floats 0.0 - 1.0
|
125 |
+
CFG_INT_KEYS = {
|
126 |
+
"epochs",
|
127 |
+
"patience",
|
128 |
+
"batch",
|
129 |
+
"workers",
|
130 |
+
"seed",
|
131 |
+
"close_mosaic",
|
132 |
+
"mask_ratio",
|
133 |
+
"max_det",
|
134 |
+
"vid_stride",
|
135 |
+
"line_width",
|
136 |
+
"workspace",
|
137 |
+
"nbs",
|
138 |
+
"save_period",
|
139 |
+
}
|
140 |
+
CFG_BOOL_KEYS = {
|
141 |
+
"save",
|
142 |
+
"exist_ok",
|
143 |
+
"verbose",
|
144 |
+
"deterministic",
|
145 |
+
"single_cls",
|
146 |
+
"rect",
|
147 |
+
"cos_lr",
|
148 |
+
"overlap_mask",
|
149 |
+
"val",
|
150 |
+
"save_json",
|
151 |
+
"save_hybrid",
|
152 |
+
"half",
|
153 |
+
"dnn",
|
154 |
+
"plots",
|
155 |
+
"show",
|
156 |
+
"save_txt",
|
157 |
+
"save_conf",
|
158 |
+
"save_crop",
|
159 |
+
"save_frames",
|
160 |
+
"show_labels",
|
161 |
+
"show_conf",
|
162 |
+
"visualize",
|
163 |
+
"augment",
|
164 |
+
"agnostic_nms",
|
165 |
+
"retina_masks",
|
166 |
+
"show_boxes",
|
167 |
+
"keras",
|
168 |
+
"optimize",
|
169 |
+
"int8",
|
170 |
+
"dynamic",
|
171 |
+
"simplify",
|
172 |
+
"nms",
|
173 |
+
"profile",
|
174 |
+
"multi_scale",
|
175 |
+
}
|
176 |
+
|
177 |
+
|
178 |
+
def cfg2dict(cfg):
|
179 |
+
"""
|
180 |
+
Convert a configuration object to a dictionary, whether it is a file path, a string, or a SimpleNamespace object.
|
181 |
+
|
182 |
+
Args:
|
183 |
+
cfg (str | Path | dict | SimpleNamespace): Configuration object to be converted to a dictionary.
|
184 |
+
|
185 |
+
Returns:
|
186 |
+
cfg (dict): Configuration object in dictionary format.
|
187 |
+
"""
|
188 |
+
if isinstance(cfg, (str, Path)):
|
189 |
+
cfg = yaml_load(cfg) # load dict
|
190 |
+
elif isinstance(cfg, SimpleNamespace):
|
191 |
+
cfg = vars(cfg) # convert to dict
|
192 |
+
return cfg
|
193 |
+
|
194 |
+
|
195 |
+
def get_cfg(cfg: Union[str, Path, Dict, SimpleNamespace] = DEFAULT_CFG_DICT, overrides: Dict = None):
|
196 |
+
"""
|
197 |
+
Load and merge configuration data from a file or dictionary.
|
198 |
+
|
199 |
+
Args:
|
200 |
+
cfg (str | Path | Dict | SimpleNamespace): Configuration data.
|
201 |
+
overrides (str | Dict | optional): Overrides in the form of a file name or a dictionary. Default is None.
|
202 |
+
|
203 |
+
Returns:
|
204 |
+
(SimpleNamespace): Training arguments namespace.
|
205 |
+
"""
|
206 |
+
cfg = cfg2dict(cfg)
|
207 |
+
|
208 |
+
# Merge overrides
|
209 |
+
if overrides:
|
210 |
+
overrides = cfg2dict(overrides)
|
211 |
+
if "save_dir" not in cfg:
|
212 |
+
overrides.pop("save_dir", None) # special override keys to ignore
|
213 |
+
check_dict_alignment(cfg, overrides)
|
214 |
+
cfg = {**cfg, **overrides} # merge cfg and overrides dicts (prefer overrides)
|
215 |
+
|
216 |
+
# Special handling for numeric project/name
|
217 |
+
for k in "project", "name":
|
218 |
+
if k in cfg and isinstance(cfg[k], (int, float)):
|
219 |
+
cfg[k] = str(cfg[k])
|
220 |
+
if cfg.get("name") == "model": # assign model to 'name' arg
|
221 |
+
cfg["name"] = cfg.get("model", "").split(".")[0]
|
222 |
+
LOGGER.warning(f"WARNING β οΈ 'name=model' automatically updated to 'name={cfg['name']}'.")
|
223 |
+
|
224 |
+
# Type and Value checks
|
225 |
+
check_cfg(cfg)
|
226 |
+
|
227 |
+
# Return instance
|
228 |
+
return IterableSimpleNamespace(**cfg)
|
229 |
+
|
230 |
+
|
231 |
+
def check_cfg(cfg, hard=True):
|
232 |
+
"""Check Ultralytics configuration argument types and values."""
|
233 |
+
for k, v in cfg.items():
|
234 |
+
if v is not None: # None values may be from optional args
|
235 |
+
if k in CFG_FLOAT_KEYS and not isinstance(v, (int, float)):
|
236 |
+
if hard:
|
237 |
+
raise TypeError(
|
238 |
+
f"'{k}={v}' is of invalid type {type(v).__name__}. "
|
239 |
+
f"Valid '{k}' types are int (i.e. '{k}=0') or float (i.e. '{k}=0.5')"
|
240 |
+
)
|
241 |
+
cfg[k] = float(v)
|
242 |
+
elif k in CFG_FRACTION_KEYS:
|
243 |
+
if not isinstance(v, (int, float)):
|
244 |
+
if hard:
|
245 |
+
raise TypeError(
|
246 |
+
f"'{k}={v}' is of invalid type {type(v).__name__}. "
|
247 |
+
f"Valid '{k}' types are int (i.e. '{k}=0') or float (i.e. '{k}=0.5')"
|
248 |
+
)
|
249 |
+
cfg[k] = v = float(v)
|
250 |
+
if not (0.0 <= v <= 1.0):
|
251 |
+
raise ValueError(f"'{k}={v}' is an invalid value. " f"Valid '{k}' values are between 0.0 and 1.0.")
|
252 |
+
elif k in CFG_INT_KEYS and not isinstance(v, int):
|
253 |
+
if hard:
|
254 |
+
raise TypeError(
|
255 |
+
f"'{k}={v}' is of invalid type {type(v).__name__}. " f"'{k}' must be an int (i.e. '{k}=8')"
|
256 |
+
)
|
257 |
+
cfg[k] = int(v)
|
258 |
+
elif k in CFG_BOOL_KEYS and not isinstance(v, bool):
|
259 |
+
if hard:
|
260 |
+
raise TypeError(
|
261 |
+
f"'{k}={v}' is of invalid type {type(v).__name__}. "
|
262 |
+
f"'{k}' must be a bool (i.e. '{k}=True' or '{k}=False')"
|
263 |
+
)
|
264 |
+
cfg[k] = bool(v)
|
265 |
+
|
266 |
+
|
267 |
+
def get_save_dir(args, name=None):
|
268 |
+
"""Return save_dir as created from train/val/predict arguments."""
|
269 |
+
|
270 |
+
if getattr(args, "save_dir", None):
|
271 |
+
save_dir = args.save_dir
|
272 |
+
else:
|
273 |
+
from ultralytics.utils.files import increment_path
|
274 |
+
|
275 |
+
project = args.project or (ROOT.parent / "tests/tmp/runs" if TESTS_RUNNING else RUNS_DIR) / args.task
|
276 |
+
name = name or args.name or f"{args.mode}"
|
277 |
+
save_dir = increment_path(Path(project) / name, exist_ok=args.exist_ok if RANK in (-1, 0) else True)
|
278 |
+
|
279 |
+
return Path(save_dir)
|
280 |
+
|
281 |
+
|
282 |
+
def _handle_deprecation(custom):
|
283 |
+
"""Hardcoded function to handle deprecated config keys."""
|
284 |
+
|
285 |
+
for key in custom.copy().keys():
|
286 |
+
if key == "boxes":
|
287 |
+
deprecation_warn(key, "show_boxes")
|
288 |
+
custom["show_boxes"] = custom.pop("boxes")
|
289 |
+
if key == "hide_labels":
|
290 |
+
deprecation_warn(key, "show_labels")
|
291 |
+
custom["show_labels"] = custom.pop("hide_labels") == "False"
|
292 |
+
if key == "hide_conf":
|
293 |
+
deprecation_warn(key, "show_conf")
|
294 |
+
custom["show_conf"] = custom.pop("hide_conf") == "False"
|
295 |
+
if key == "line_thickness":
|
296 |
+
deprecation_warn(key, "line_width")
|
297 |
+
custom["line_width"] = custom.pop("line_thickness")
|
298 |
+
|
299 |
+
return custom
|
300 |
+
|
301 |
+
|
302 |
+
def check_dict_alignment(base: Dict, custom: Dict, e=None):
|
303 |
+
"""
|
304 |
+
This function checks for any mismatched keys between a custom configuration list and a base configuration list. If
|
305 |
+
any mismatched keys are found, the function prints out similar keys from the base list and exits the program.
|
306 |
+
|
307 |
+
Args:
|
308 |
+
custom (dict): a dictionary of custom configuration options
|
309 |
+
base (dict): a dictionary of base configuration options
|
310 |
+
e (Error, optional): An optional error that is passed by the calling function.
|
311 |
+
"""
|
312 |
+
custom = _handle_deprecation(custom)
|
313 |
+
base_keys, custom_keys = (set(x.keys()) for x in (base, custom))
|
314 |
+
mismatched = [k for k in custom_keys if k not in base_keys]
|
315 |
+
if mismatched:
|
316 |
+
from difflib import get_close_matches
|
317 |
+
|
318 |
+
string = ""
|
319 |
+
for x in mismatched:
|
320 |
+
matches = get_close_matches(x, base_keys) # key list
|
321 |
+
matches = [f"{k}={base[k]}" if base.get(k) is not None else k for k in matches]
|
322 |
+
match_str = f"Similar arguments are i.e. {matches}." if matches else ""
|
323 |
+
string += f"'{colorstr('red', 'bold', x)}' is not a valid YOLO argument. {match_str}\n"
|
324 |
+
raise SyntaxError(string + CLI_HELP_MSG) from e
|
325 |
+
|
326 |
+
|
327 |
+
def merge_equals_args(args: List[str]) -> List[str]:
|
328 |
+
"""
|
329 |
+
Merges arguments around isolated '=' args in a list of strings. The function considers cases where the first
|
330 |
+
argument ends with '=' or the second starts with '=', as well as when the middle one is an equals sign.
|
331 |
+
|
332 |
+
Args:
|
333 |
+
args (List[str]): A list of strings where each element is an argument.
|
334 |
+
|
335 |
+
Returns:
|
336 |
+
(List[str]): A list of strings where the arguments around isolated '=' are merged.
|
337 |
+
"""
|
338 |
+
new_args = []
|
339 |
+
for i, arg in enumerate(args):
|
340 |
+
if arg == "=" and 0 < i < len(args) - 1: # merge ['arg', '=', 'val']
|
341 |
+
new_args[-1] += f"={args[i + 1]}"
|
342 |
+
del args[i + 1]
|
343 |
+
elif arg.endswith("=") and i < len(args) - 1 and "=" not in args[i + 1]: # merge ['arg=', 'val']
|
344 |
+
new_args.append(f"{arg}{args[i + 1]}")
|
345 |
+
del args[i + 1]
|
346 |
+
elif arg.startswith("=") and i > 0: # merge ['arg', '=val']
|
347 |
+
new_args[-1] += arg
|
348 |
+
else:
|
349 |
+
new_args.append(arg)
|
350 |
+
return new_args
|
351 |
+
|
352 |
+
|
353 |
+
def handle_yolo_hub(args: List[str]) -> None:
|
354 |
+
"""
|
355 |
+
Handle Ultralytics HUB command-line interface (CLI) commands.
|
356 |
+
|
357 |
+
This function processes Ultralytics HUB CLI commands such as login and logout.
|
358 |
+
It should be called when executing a script with arguments related to HUB authentication.
|
359 |
+
|
360 |
+
Args:
|
361 |
+
args (List[str]): A list of command line arguments
|
362 |
+
|
363 |
+
Example:
|
364 |
+
```bash
|
365 |
+
python my_script.py hub login your_api_key
|
366 |
+
```
|
367 |
+
"""
|
368 |
+
from ultralytics import hub
|
369 |
+
|
370 |
+
if args[0] == "login":
|
371 |
+
key = args[1] if len(args) > 1 else ""
|
372 |
+
# Log in to Ultralytics HUB using the provided API key
|
373 |
+
hub.login(key)
|
374 |
+
elif args[0] == "logout":
|
375 |
+
# Log out from Ultralytics HUB
|
376 |
+
hub.logout()
|
377 |
+
|
378 |
+
|
379 |
+
def handle_yolo_settings(args: List[str]) -> None:
|
380 |
+
"""
|
381 |
+
Handle YOLO settings command-line interface (CLI) commands.
|
382 |
+
|
383 |
+
This function processes YOLO settings CLI commands such as reset.
|
384 |
+
It should be called when executing a script with arguments related to YOLO settings management.
|
385 |
+
|
386 |
+
Args:
|
387 |
+
args (List[str]): A list of command line arguments for YOLO settings management.
|
388 |
+
|
389 |
+
Example:
|
390 |
+
```bash
|
391 |
+
python my_script.py yolo settings reset
|
392 |
+
```
|
393 |
+
"""
|
394 |
+
url = "https://docs.ultralytics.com/quickstart/#ultralytics-settings" # help URL
|
395 |
+
try:
|
396 |
+
if any(args):
|
397 |
+
if args[0] == "reset":
|
398 |
+
SETTINGS_YAML.unlink() # delete the settings file
|
399 |
+
SETTINGS.reset() # create new settings
|
400 |
+
LOGGER.info("Settings reset successfully") # inform the user that settings have been reset
|
401 |
+
else: # save a new setting
|
402 |
+
new = dict(parse_key_value_pair(a) for a in args)
|
403 |
+
check_dict_alignment(SETTINGS, new)
|
404 |
+
SETTINGS.update(new)
|
405 |
+
|
406 |
+
LOGGER.info(f"π‘ Learn about settings at {url}")
|
407 |
+
yaml_print(SETTINGS_YAML) # print the current settings
|
408 |
+
except Exception as e:
|
409 |
+
LOGGER.warning(f"WARNING β οΈ settings error: '{e}'. Please see {url} for help.")
|
410 |
+
|
411 |
+
|
412 |
+
def handle_explorer():
|
413 |
+
"""Open the Ultralytics Explorer GUI."""
|
414 |
+
checks.check_requirements("streamlit")
|
415 |
+
LOGGER.info("π‘ Loading Explorer dashboard...")
|
416 |
+
subprocess.run(["streamlit", "run", ROOT / "data/explorer/gui/dash.py", "--server.maxMessageSize", "2048"])
|
417 |
+
|
418 |
+
|
419 |
+
def parse_key_value_pair(pair):
|
420 |
+
"""Parse one 'key=value' pair and return key and value."""
|
421 |
+
k, v = pair.split("=", 1) # split on first '=' sign
|
422 |
+
k, v = k.strip(), v.strip() # remove spaces
|
423 |
+
assert v, f"missing '{k}' value"
|
424 |
+
return k, smart_value(v)
|
425 |
+
|
426 |
+
|
427 |
+
def smart_value(v):
|
428 |
+
"""Convert a string to an underlying type such as int, float, bool, etc."""
|
429 |
+
v_lower = v.lower()
|
430 |
+
if v_lower == "none":
|
431 |
+
return None
|
432 |
+
elif v_lower == "true":
|
433 |
+
return True
|
434 |
+
elif v_lower == "false":
|
435 |
+
return False
|
436 |
+
else:
|
437 |
+
with contextlib.suppress(Exception):
|
438 |
+
return eval(v)
|
439 |
+
return v
|
440 |
+
|
441 |
+
|
442 |
+
def entrypoint(debug=""):
|
443 |
+
"""
|
444 |
+
This function is the ultralytics package entrypoint, it's responsible for parsing the command line arguments passed
|
445 |
+
to the package.
|
446 |
+
|
447 |
+
This function allows for:
|
448 |
+
- passing mandatory YOLO args as a list of strings
|
449 |
+
- specifying the task to be performed, either 'detect', 'segment' or 'classify'
|
450 |
+
- specifying the mode, either 'train', 'val', 'test', or 'predict'
|
451 |
+
- running special modes like 'checks'
|
452 |
+
- passing overrides to the package's configuration
|
453 |
+
|
454 |
+
It uses the package's default cfg and initializes it using the passed overrides.
|
455 |
+
Then it calls the CLI function with the composed cfg
|
456 |
+
"""
|
457 |
+
args = (debug.split(" ") if debug else sys.argv)[1:]
|
458 |
+
if not args: # no arguments passed
|
459 |
+
LOGGER.info(CLI_HELP_MSG)
|
460 |
+
return
|
461 |
+
|
462 |
+
special = {
|
463 |
+
"help": lambda: LOGGER.info(CLI_HELP_MSG),
|
464 |
+
"checks": checks.collect_system_info,
|
465 |
+
"version": lambda: LOGGER.info(__version__),
|
466 |
+
"settings": lambda: handle_yolo_settings(args[1:]),
|
467 |
+
"cfg": lambda: yaml_print(DEFAULT_CFG_PATH),
|
468 |
+
"hub": lambda: handle_yolo_hub(args[1:]),
|
469 |
+
"login": lambda: handle_yolo_hub(args),
|
470 |
+
"copy-cfg": copy_default_cfg,
|
471 |
+
"explorer": lambda: handle_explorer(),
|
472 |
+
}
|
473 |
+
full_args_dict = {**DEFAULT_CFG_DICT, **{k: None for k in TASKS}, **{k: None for k in MODES}, **special}
|
474 |
+
|
475 |
+
# Define common misuses of special commands, i.e. -h, -help, --help
|
476 |
+
special.update({k[0]: v for k, v in special.items()}) # singular
|
477 |
+
special.update({k[:-1]: v for k, v in special.items() if len(k) > 1 and k.endswith("s")}) # singular
|
478 |
+
special = {**special, **{f"-{k}": v for k, v in special.items()}, **{f"--{k}": v for k, v in special.items()}}
|
479 |
+
|
480 |
+
overrides = {} # basic overrides, i.e. imgsz=320
|
481 |
+
for a in merge_equals_args(args): # merge spaces around '=' sign
|
482 |
+
if a.startswith("--"):
|
483 |
+
LOGGER.warning(f"WARNING β οΈ argument '{a}' does not require leading dashes '--', updating to '{a[2:]}'.")
|
484 |
+
a = a[2:]
|
485 |
+
if a.endswith(","):
|
486 |
+
LOGGER.warning(f"WARNING β οΈ argument '{a}' does not require trailing comma ',', updating to '{a[:-1]}'.")
|
487 |
+
a = a[:-1]
|
488 |
+
if "=" in a:
|
489 |
+
try:
|
490 |
+
k, v = parse_key_value_pair(a)
|
491 |
+
if k == "cfg" and v is not None: # custom.yaml passed
|
492 |
+
LOGGER.info(f"Overriding {DEFAULT_CFG_PATH} with {v}")
|
493 |
+
overrides = {k: val for k, val in yaml_load(checks.check_yaml(v)).items() if k != "cfg"}
|
494 |
+
else:
|
495 |
+
overrides[k] = v
|
496 |
+
except (NameError, SyntaxError, ValueError, AssertionError) as e:
|
497 |
+
check_dict_alignment(full_args_dict, {a: ""}, e)
|
498 |
+
|
499 |
+
elif a in TASKS:
|
500 |
+
overrides["task"] = a
|
501 |
+
elif a in MODES:
|
502 |
+
overrides["mode"] = a
|
503 |
+
elif a.lower() in special:
|
504 |
+
special[a.lower()]()
|
505 |
+
return
|
506 |
+
elif a in DEFAULT_CFG_DICT and isinstance(DEFAULT_CFG_DICT[a], bool):
|
507 |
+
overrides[a] = True # auto-True for default bool args, i.e. 'yolo show' sets show=True
|
508 |
+
elif a in DEFAULT_CFG_DICT:
|
509 |
+
raise SyntaxError(
|
510 |
+
f"'{colorstr('red', 'bold', a)}' is a valid YOLO argument but is missing an '=' sign "
|
511 |
+
f"to set its value, i.e. try '{a}={DEFAULT_CFG_DICT[a]}'\n{CLI_HELP_MSG}"
|
512 |
+
)
|
513 |
+
else:
|
514 |
+
check_dict_alignment(full_args_dict, {a: ""})
|
515 |
+
|
516 |
+
# Check keys
|
517 |
+
check_dict_alignment(full_args_dict, overrides)
|
518 |
+
|
519 |
+
# Mode
|
520 |
+
mode = overrides.get("mode")
|
521 |
+
if mode is None:
|
522 |
+
mode = DEFAULT_CFG.mode or "predict"
|
523 |
+
LOGGER.warning(f"WARNING β οΈ 'mode' argument is missing. Valid modes are {MODES}. Using default 'mode={mode}'.")
|
524 |
+
elif mode not in MODES:
|
525 |
+
raise ValueError(f"Invalid 'mode={mode}'. Valid modes are {MODES}.\n{CLI_HELP_MSG}")
|
526 |
+
|
527 |
+
# Task
|
528 |
+
task = overrides.pop("task", None)
|
529 |
+
if task:
|
530 |
+
if task not in TASKS:
|
531 |
+
raise ValueError(f"Invalid 'task={task}'. Valid tasks are {TASKS}.\n{CLI_HELP_MSG}")
|
532 |
+
if "model" not in overrides:
|
533 |
+
overrides["model"] = TASK2MODEL[task]
|
534 |
+
|
535 |
+
# Model
|
536 |
+
model = overrides.pop("model", DEFAULT_CFG.model)
|
537 |
+
if model is None:
|
538 |
+
model = "yolov8n.pt"
|
539 |
+
LOGGER.warning(f"WARNING β οΈ 'model' argument is missing. Using default 'model={model}'.")
|
540 |
+
overrides["model"] = model
|
541 |
+
# stem = Path(model).stem.lower()
|
542 |
+
stem = model.lower()
|
543 |
+
if "rtdetr" in stem: # guess architecture
|
544 |
+
from ultralytics import RTDETR
|
545 |
+
|
546 |
+
model = RTDETR(model) # no task argument
|
547 |
+
elif "fastsam" in stem:
|
548 |
+
from ultralytics import FastSAM
|
549 |
+
|
550 |
+
model = FastSAM(model)
|
551 |
+
elif "sam" in stem:
|
552 |
+
from ultralytics import SAM
|
553 |
+
|
554 |
+
model = SAM(model)
|
555 |
+
elif re.search("v3|v5|v6|v8|v9", stem):
|
556 |
+
from ultralytics import YOLO
|
557 |
+
|
558 |
+
model = YOLO(model, task=task)
|
559 |
+
else:
|
560 |
+
from ultralytics import YOLOv10
|
561 |
+
|
562 |
+
# Special case for the HuggingFace Hub
|
563 |
+
split_path = model.split('/')
|
564 |
+
if len(split_path) == 2 and (not os.path.exists(model)):
|
565 |
+
model = YOLOv10.from_pretrained(model)
|
566 |
+
else:
|
567 |
+
model = YOLOv10(model)
|
568 |
+
if isinstance(overrides.get("pretrained"), str):
|
569 |
+
model.load(overrides["pretrained"])
|
570 |
+
|
571 |
+
# Task Update
|
572 |
+
if task != model.task:
|
573 |
+
if task:
|
574 |
+
LOGGER.warning(
|
575 |
+
f"WARNING β οΈ conflicting 'task={task}' passed with 'task={model.task}' model. "
|
576 |
+
f"Ignoring 'task={task}' and updating to 'task={model.task}' to match model."
|
577 |
+
)
|
578 |
+
task = model.task
|
579 |
+
|
580 |
+
# Mode
|
581 |
+
if mode in ("predict", "track") and "source" not in overrides:
|
582 |
+
overrides["source"] = DEFAULT_CFG.source or ASSETS
|
583 |
+
LOGGER.warning(f"WARNING β οΈ 'source' argument is missing. Using default 'source={overrides['source']}'.")
|
584 |
+
elif mode in ("train", "val"):
|
585 |
+
if "data" not in overrides and "resume" not in overrides:
|
586 |
+
overrides["data"] = DEFAULT_CFG.data or TASK2DATA.get(task or DEFAULT_CFG.task, DEFAULT_CFG.data)
|
587 |
+
LOGGER.warning(f"WARNING β οΈ 'data' argument is missing. Using default 'data={overrides['data']}'.")
|
588 |
+
elif mode == "export":
|
589 |
+
if "format" not in overrides:
|
590 |
+
overrides["format"] = DEFAULT_CFG.format or "torchscript"
|
591 |
+
LOGGER.warning(f"WARNING β οΈ 'format' argument is missing. Using default 'format={overrides['format']}'.")
|
592 |
+
|
593 |
+
# Run command in python
|
594 |
+
getattr(model, mode)(**overrides) # default args from model
|
595 |
+
|
596 |
+
# Show help
|
597 |
+
LOGGER.info(f"π‘ Learn more at https://docs.ultralytics.com/modes/{mode}")
|
598 |
+
|
599 |
+
|
600 |
+
# Special modes --------------------------------------------------------------------------------------------------------
|
601 |
+
def copy_default_cfg():
|
602 |
+
"""Copy and create a new default configuration file with '_copy' appended to its name."""
|
603 |
+
new_file = Path.cwd() / DEFAULT_CFG_PATH.name.replace(".yaml", "_copy.yaml")
|
604 |
+
shutil.copy2(DEFAULT_CFG_PATH, new_file)
|
605 |
+
LOGGER.info(
|
606 |
+
f"{DEFAULT_CFG_PATH} copied to {new_file}\n"
|
607 |
+
f"Example YOLO command with this new custom cfg:\n yolo cfg='{new_file}' imgsz=320 batch=8"
|
608 |
+
)
|
609 |
+
|
610 |
+
|
611 |
+
if __name__ == "__main__":
|
612 |
+
# Example: entrypoint(debug='yolo predict model=yolov8n.pt')
|
613 |
+
entrypoint(debug="")
|
ultralytics/cfg/__pycache__/__init__.cpython-39.pyc
ADDED
Binary file (18.6 kB). View file
|
|
ultralytics/cfg/datasets/Argoverse.yaml
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Argoverse-HD dataset (ring-front-center camera) https://www.cs.cmu.edu/~mengtial/proj/streaming/ by Argo AI
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/argoverse/
|
4 |
+
# Example usage: yolo train data=Argoverse.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ Argoverse β downloads here (31.5 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/Argoverse # dataset root dir
|
12 |
+
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
|
13 |
+
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
|
14 |
+
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: bus
|
23 |
+
5: truck
|
24 |
+
6: traffic_light
|
25 |
+
7: stop_sign
|
26 |
+
|
27 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
28 |
+
download: |
|
29 |
+
import json
|
30 |
+
from tqdm import tqdm
|
31 |
+
from ultralytics.utils.downloads import download
|
32 |
+
from pathlib import Path
|
33 |
+
|
34 |
+
def argoverse2yolo(set):
|
35 |
+
labels = {}
|
36 |
+
a = json.load(open(set, "rb"))
|
37 |
+
for annot in tqdm(a['annotations'], desc=f"Converting {set} to YOLOv5 format..."):
|
38 |
+
img_id = annot['image_id']
|
39 |
+
img_name = a['images'][img_id]['name']
|
40 |
+
img_label_name = f'{img_name[:-3]}txt'
|
41 |
+
|
42 |
+
cls = annot['category_id'] # instance class id
|
43 |
+
x_center, y_center, width, height = annot['bbox']
|
44 |
+
x_center = (x_center + width / 2) / 1920.0 # offset and scale
|
45 |
+
y_center = (y_center + height / 2) / 1200.0 # offset and scale
|
46 |
+
width /= 1920.0 # scale
|
47 |
+
height /= 1200.0 # scale
|
48 |
+
|
49 |
+
img_dir = set.parents[2] / 'Argoverse-1.1' / 'labels' / a['seq_dirs'][a['images'][annot['image_id']]['sid']]
|
50 |
+
if not img_dir.exists():
|
51 |
+
img_dir.mkdir(parents=True, exist_ok=True)
|
52 |
+
|
53 |
+
k = str(img_dir / img_label_name)
|
54 |
+
if k not in labels:
|
55 |
+
labels[k] = []
|
56 |
+
labels[k].append(f"{cls} {x_center} {y_center} {width} {height}\n")
|
57 |
+
|
58 |
+
for k in labels:
|
59 |
+
with open(k, "w") as f:
|
60 |
+
f.writelines(labels[k])
|
61 |
+
|
62 |
+
|
63 |
+
# Download 'https://argoverse-hd.s3.us-east-2.amazonaws.com/Argoverse-HD-Full.zip' (deprecated S3 link)
|
64 |
+
dir = Path(yaml['path']) # dataset root dir
|
65 |
+
urls = ['https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link']
|
66 |
+
print("\n\nWARNING: Argoverse dataset MUST be downloaded manually, autodownload will NOT work.")
|
67 |
+
print(f"WARNING: Manually download Argoverse dataset '{urls[0]}' to '{dir}' and re-run your command.\n\n")
|
68 |
+
# download(urls, dir=dir)
|
69 |
+
|
70 |
+
# Convert
|
71 |
+
annotations_dir = 'Argoverse-HD/annotations/'
|
72 |
+
(dir / 'Argoverse-1.1' / 'tracking').rename(dir / 'Argoverse-1.1' / 'images') # rename 'tracking' to 'images'
|
73 |
+
for d in "train.json", "val.json":
|
74 |
+
argoverse2yolo(dir / annotations_dir / d) # convert Argoverse annotations to YOLO labels
|
ultralytics/cfg/datasets/DOTAv1.5.yaml
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# DOTA 1.5 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
|
4 |
+
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.5.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ dota1.5 β downloads here (2GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/DOTAv1.5 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 1411 images
|
13 |
+
val: images/val # val images (relative to 'path') 458 images
|
14 |
+
test: images/test # test images (optional) 937 images
|
15 |
+
|
16 |
+
# Classes for DOTA 1.5
|
17 |
+
names:
|
18 |
+
0: plane
|
19 |
+
1: ship
|
20 |
+
2: storage tank
|
21 |
+
3: baseball diamond
|
22 |
+
4: tennis court
|
23 |
+
5: basketball court
|
24 |
+
6: ground track field
|
25 |
+
7: harbor
|
26 |
+
8: bridge
|
27 |
+
9: large vehicle
|
28 |
+
10: small vehicle
|
29 |
+
11: helicopter
|
30 |
+
12: roundabout
|
31 |
+
13: soccer ball field
|
32 |
+
14: swimming pool
|
33 |
+
15: container crane
|
34 |
+
|
35 |
+
# Download script/URL (optional)
|
36 |
+
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/DOTAv1.5.zip
|
ultralytics/cfg/datasets/DOTAv1.yaml
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
|
4 |
+
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ dota1 β downloads here (2GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/DOTAv1 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 1411 images
|
13 |
+
val: images/val # val images (relative to 'path') 458 images
|
14 |
+
test: images/test # test images (optional) 937 images
|
15 |
+
|
16 |
+
# Classes for DOTA 1.0
|
17 |
+
names:
|
18 |
+
0: plane
|
19 |
+
1: ship
|
20 |
+
2: storage tank
|
21 |
+
3: baseball diamond
|
22 |
+
4: tennis court
|
23 |
+
5: basketball court
|
24 |
+
6: ground track field
|
25 |
+
7: harbor
|
26 |
+
8: bridge
|
27 |
+
9: large vehicle
|
28 |
+
10: small vehicle
|
29 |
+
11: helicopter
|
30 |
+
12: roundabout
|
31 |
+
13: soccer ball field
|
32 |
+
14: swimming pool
|
33 |
+
|
34 |
+
# Download script/URL (optional)
|
35 |
+
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/DOTAv1.zip
|
ultralytics/cfg/datasets/GlobalWheat2020.yaml
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Global Wheat 2020 dataset https://www.global-wheat.com/ by University of Saskatchewan
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/globalwheat2020/
|
4 |
+
# Example usage: yolo train data=GlobalWheat2020.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ GlobalWheat2020 β downloads here (7.0 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/GlobalWheat2020 # dataset root dir
|
12 |
+
train: # train images (relative to 'path') 3422 images
|
13 |
+
- images/arvalis_1
|
14 |
+
- images/arvalis_2
|
15 |
+
- images/arvalis_3
|
16 |
+
- images/ethz_1
|
17 |
+
- images/rres_1
|
18 |
+
- images/inrae_1
|
19 |
+
- images/usask_1
|
20 |
+
val: # val images (relative to 'path') 748 images (WARNING: train set contains ethz_1)
|
21 |
+
- images/ethz_1
|
22 |
+
test: # test images (optional) 1276 images
|
23 |
+
- images/utokyo_1
|
24 |
+
- images/utokyo_2
|
25 |
+
- images/nau_1
|
26 |
+
- images/uq_1
|
27 |
+
|
28 |
+
# Classes
|
29 |
+
names:
|
30 |
+
0: wheat_head
|
31 |
+
|
32 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
33 |
+
download: |
|
34 |
+
from ultralytics.utils.downloads import download
|
35 |
+
from pathlib import Path
|
36 |
+
|
37 |
+
# Download
|
38 |
+
dir = Path(yaml['path']) # dataset root dir
|
39 |
+
urls = ['https://zenodo.org/record/4298502/files/global-wheat-codalab-official.zip',
|
40 |
+
'https://github.com/ultralytics/yolov5/releases/download/v1.0/GlobalWheat2020_labels.zip']
|
41 |
+
download(urls, dir=dir)
|
42 |
+
|
43 |
+
# Make Directories
|
44 |
+
for p in 'annotations', 'images', 'labels':
|
45 |
+
(dir / p).mkdir(parents=True, exist_ok=True)
|
46 |
+
|
47 |
+
# Move
|
48 |
+
for p in 'arvalis_1', 'arvalis_2', 'arvalis_3', 'ethz_1', 'rres_1', 'inrae_1', 'usask_1', \
|
49 |
+
'utokyo_1', 'utokyo_2', 'nau_1', 'uq_1':
|
50 |
+
(dir / 'global-wheat-codalab-official' / p).rename(dir / 'images' / p) # move to /images
|
51 |
+
f = (dir / 'global-wheat-codalab-official' / p).with_suffix('.json') # json file
|
52 |
+
if f.exists():
|
53 |
+
f.rename((dir / 'annotations' / p).with_suffix('.json')) # move to /annotations
|
ultralytics/cfg/datasets/ImageNet.yaml
ADDED
@@ -0,0 +1,2024 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# ImageNet-1k dataset https://www.image-net.org/index.php by Stanford University
|
3 |
+
# Simplified class names from https://github.com/anishathalye/imagenet-simple-labels
|
4 |
+
# Documentation: https://docs.ultralytics.com/datasets/classify/imagenet/
|
5 |
+
# Example usage: yolo train task=classify data=imagenet
|
6 |
+
# parent
|
7 |
+
# βββ ultralytics
|
8 |
+
# βββ datasets
|
9 |
+
# βββ imagenet β downloads here (144 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: ../datasets/imagenet # dataset root dir
|
13 |
+
train: train # train images (relative to 'path') 1281167 images
|
14 |
+
val: val # val images (relative to 'path') 50000 images
|
15 |
+
test: # test images (optional)
|
16 |
+
|
17 |
+
# Classes
|
18 |
+
names:
|
19 |
+
0: tench
|
20 |
+
1: goldfish
|
21 |
+
2: great white shark
|
22 |
+
3: tiger shark
|
23 |
+
4: hammerhead shark
|
24 |
+
5: electric ray
|
25 |
+
6: stingray
|
26 |
+
7: cock
|
27 |
+
8: hen
|
28 |
+
9: ostrich
|
29 |
+
10: brambling
|
30 |
+
11: goldfinch
|
31 |
+
12: house finch
|
32 |
+
13: junco
|
33 |
+
14: indigo bunting
|
34 |
+
15: American robin
|
35 |
+
16: bulbul
|
36 |
+
17: jay
|
37 |
+
18: magpie
|
38 |
+
19: chickadee
|
39 |
+
20: American dipper
|
40 |
+
21: kite
|
41 |
+
22: bald eagle
|
42 |
+
23: vulture
|
43 |
+
24: great grey owl
|
44 |
+
25: fire salamander
|
45 |
+
26: smooth newt
|
46 |
+
27: newt
|
47 |
+
28: spotted salamander
|
48 |
+
29: axolotl
|
49 |
+
30: American bullfrog
|
50 |
+
31: tree frog
|
51 |
+
32: tailed frog
|
52 |
+
33: loggerhead sea turtle
|
53 |
+
34: leatherback sea turtle
|
54 |
+
35: mud turtle
|
55 |
+
36: terrapin
|
56 |
+
37: box turtle
|
57 |
+
38: banded gecko
|
58 |
+
39: green iguana
|
59 |
+
40: Carolina anole
|
60 |
+
41: desert grassland whiptail lizard
|
61 |
+
42: agama
|
62 |
+
43: frilled-necked lizard
|
63 |
+
44: alligator lizard
|
64 |
+
45: Gila monster
|
65 |
+
46: European green lizard
|
66 |
+
47: chameleon
|
67 |
+
48: Komodo dragon
|
68 |
+
49: Nile crocodile
|
69 |
+
50: American alligator
|
70 |
+
51: triceratops
|
71 |
+
52: worm snake
|
72 |
+
53: ring-necked snake
|
73 |
+
54: eastern hog-nosed snake
|
74 |
+
55: smooth green snake
|
75 |
+
56: kingsnake
|
76 |
+
57: garter snake
|
77 |
+
58: water snake
|
78 |
+
59: vine snake
|
79 |
+
60: night snake
|
80 |
+
61: boa constrictor
|
81 |
+
62: African rock python
|
82 |
+
63: Indian cobra
|
83 |
+
64: green mamba
|
84 |
+
65: sea snake
|
85 |
+
66: Saharan horned viper
|
86 |
+
67: eastern diamondback rattlesnake
|
87 |
+
68: sidewinder
|
88 |
+
69: trilobite
|
89 |
+
70: harvestman
|
90 |
+
71: scorpion
|
91 |
+
72: yellow garden spider
|
92 |
+
73: barn spider
|
93 |
+
74: European garden spider
|
94 |
+
75: southern black widow
|
95 |
+
76: tarantula
|
96 |
+
77: wolf spider
|
97 |
+
78: tick
|
98 |
+
79: centipede
|
99 |
+
80: black grouse
|
100 |
+
81: ptarmigan
|
101 |
+
82: ruffed grouse
|
102 |
+
83: prairie grouse
|
103 |
+
84: peacock
|
104 |
+
85: quail
|
105 |
+
86: partridge
|
106 |
+
87: grey parrot
|
107 |
+
88: macaw
|
108 |
+
89: sulphur-crested cockatoo
|
109 |
+
90: lorikeet
|
110 |
+
91: coucal
|
111 |
+
92: bee eater
|
112 |
+
93: hornbill
|
113 |
+
94: hummingbird
|
114 |
+
95: jacamar
|
115 |
+
96: toucan
|
116 |
+
97: duck
|
117 |
+
98: red-breasted merganser
|
118 |
+
99: goose
|
119 |
+
100: black swan
|
120 |
+
101: tusker
|
121 |
+
102: echidna
|
122 |
+
103: platypus
|
123 |
+
104: wallaby
|
124 |
+
105: koala
|
125 |
+
106: wombat
|
126 |
+
107: jellyfish
|
127 |
+
108: sea anemone
|
128 |
+
109: brain coral
|
129 |
+
110: flatworm
|
130 |
+
111: nematode
|
131 |
+
112: conch
|
132 |
+
113: snail
|
133 |
+
114: slug
|
134 |
+
115: sea slug
|
135 |
+
116: chiton
|
136 |
+
117: chambered nautilus
|
137 |
+
118: Dungeness crab
|
138 |
+
119: rock crab
|
139 |
+
120: fiddler crab
|
140 |
+
121: red king crab
|
141 |
+
122: American lobster
|
142 |
+
123: spiny lobster
|
143 |
+
124: crayfish
|
144 |
+
125: hermit crab
|
145 |
+
126: isopod
|
146 |
+
127: white stork
|
147 |
+
128: black stork
|
148 |
+
129: spoonbill
|
149 |
+
130: flamingo
|
150 |
+
131: little blue heron
|
151 |
+
132: great egret
|
152 |
+
133: bittern
|
153 |
+
134: crane (bird)
|
154 |
+
135: limpkin
|
155 |
+
136: common gallinule
|
156 |
+
137: American coot
|
157 |
+
138: bustard
|
158 |
+
139: ruddy turnstone
|
159 |
+
140: dunlin
|
160 |
+
141: common redshank
|
161 |
+
142: dowitcher
|
162 |
+
143: oystercatcher
|
163 |
+
144: pelican
|
164 |
+
145: king penguin
|
165 |
+
146: albatross
|
166 |
+
147: grey whale
|
167 |
+
148: killer whale
|
168 |
+
149: dugong
|
169 |
+
150: sea lion
|
170 |
+
151: Chihuahua
|
171 |
+
152: Japanese Chin
|
172 |
+
153: Maltese
|
173 |
+
154: Pekingese
|
174 |
+
155: Shih Tzu
|
175 |
+
156: King Charles Spaniel
|
176 |
+
157: Papillon
|
177 |
+
158: toy terrier
|
178 |
+
159: Rhodesian Ridgeback
|
179 |
+
160: Afghan Hound
|
180 |
+
161: Basset Hound
|
181 |
+
162: Beagle
|
182 |
+
163: Bloodhound
|
183 |
+
164: Bluetick Coonhound
|
184 |
+
165: Black and Tan Coonhound
|
185 |
+
166: Treeing Walker Coonhound
|
186 |
+
167: English foxhound
|
187 |
+
168: Redbone Coonhound
|
188 |
+
169: borzoi
|
189 |
+
170: Irish Wolfhound
|
190 |
+
171: Italian Greyhound
|
191 |
+
172: Whippet
|
192 |
+
173: Ibizan Hound
|
193 |
+
174: Norwegian Elkhound
|
194 |
+
175: Otterhound
|
195 |
+
176: Saluki
|
196 |
+
177: Scottish Deerhound
|
197 |
+
178: Weimaraner
|
198 |
+
179: Staffordshire Bull Terrier
|
199 |
+
180: American Staffordshire Terrier
|
200 |
+
181: Bedlington Terrier
|
201 |
+
182: Border Terrier
|
202 |
+
183: Kerry Blue Terrier
|
203 |
+
184: Irish Terrier
|
204 |
+
185: Norfolk Terrier
|
205 |
+
186: Norwich Terrier
|
206 |
+
187: Yorkshire Terrier
|
207 |
+
188: Wire Fox Terrier
|
208 |
+
189: Lakeland Terrier
|
209 |
+
190: Sealyham Terrier
|
210 |
+
191: Airedale Terrier
|
211 |
+
192: Cairn Terrier
|
212 |
+
193: Australian Terrier
|
213 |
+
194: Dandie Dinmont Terrier
|
214 |
+
195: Boston Terrier
|
215 |
+
196: Miniature Schnauzer
|
216 |
+
197: Giant Schnauzer
|
217 |
+
198: Standard Schnauzer
|
218 |
+
199: Scottish Terrier
|
219 |
+
200: Tibetan Terrier
|
220 |
+
201: Australian Silky Terrier
|
221 |
+
202: Soft-coated Wheaten Terrier
|
222 |
+
203: West Highland White Terrier
|
223 |
+
204: Lhasa Apso
|
224 |
+
205: Flat-Coated Retriever
|
225 |
+
206: Curly-coated Retriever
|
226 |
+
207: Golden Retriever
|
227 |
+
208: Labrador Retriever
|
228 |
+
209: Chesapeake Bay Retriever
|
229 |
+
210: German Shorthaired Pointer
|
230 |
+
211: Vizsla
|
231 |
+
212: English Setter
|
232 |
+
213: Irish Setter
|
233 |
+
214: Gordon Setter
|
234 |
+
215: Brittany
|
235 |
+
216: Clumber Spaniel
|
236 |
+
217: English Springer Spaniel
|
237 |
+
218: Welsh Springer Spaniel
|
238 |
+
219: Cocker Spaniels
|
239 |
+
220: Sussex Spaniel
|
240 |
+
221: Irish Water Spaniel
|
241 |
+
222: Kuvasz
|
242 |
+
223: Schipperke
|
243 |
+
224: Groenendael
|
244 |
+
225: Malinois
|
245 |
+
226: Briard
|
246 |
+
227: Australian Kelpie
|
247 |
+
228: Komondor
|
248 |
+
229: Old English Sheepdog
|
249 |
+
230: Shetland Sheepdog
|
250 |
+
231: collie
|
251 |
+
232: Border Collie
|
252 |
+
233: Bouvier des Flandres
|
253 |
+
234: Rottweiler
|
254 |
+
235: German Shepherd Dog
|
255 |
+
236: Dobermann
|
256 |
+
237: Miniature Pinscher
|
257 |
+
238: Greater Swiss Mountain Dog
|
258 |
+
239: Bernese Mountain Dog
|
259 |
+
240: Appenzeller Sennenhund
|
260 |
+
241: Entlebucher Sennenhund
|
261 |
+
242: Boxer
|
262 |
+
243: Bullmastiff
|
263 |
+
244: Tibetan Mastiff
|
264 |
+
245: French Bulldog
|
265 |
+
246: Great Dane
|
266 |
+
247: St. Bernard
|
267 |
+
248: husky
|
268 |
+
249: Alaskan Malamute
|
269 |
+
250: Siberian Husky
|
270 |
+
251: Dalmatian
|
271 |
+
252: Affenpinscher
|
272 |
+
253: Basenji
|
273 |
+
254: pug
|
274 |
+
255: Leonberger
|
275 |
+
256: Newfoundland
|
276 |
+
257: Pyrenean Mountain Dog
|
277 |
+
258: Samoyed
|
278 |
+
259: Pomeranian
|
279 |
+
260: Chow Chow
|
280 |
+
261: Keeshond
|
281 |
+
262: Griffon Bruxellois
|
282 |
+
263: Pembroke Welsh Corgi
|
283 |
+
264: Cardigan Welsh Corgi
|
284 |
+
265: Toy Poodle
|
285 |
+
266: Miniature Poodle
|
286 |
+
267: Standard Poodle
|
287 |
+
268: Mexican hairless dog
|
288 |
+
269: grey wolf
|
289 |
+
270: Alaskan tundra wolf
|
290 |
+
271: red wolf
|
291 |
+
272: coyote
|
292 |
+
273: dingo
|
293 |
+
274: dhole
|
294 |
+
275: African wild dog
|
295 |
+
276: hyena
|
296 |
+
277: red fox
|
297 |
+
278: kit fox
|
298 |
+
279: Arctic fox
|
299 |
+
280: grey fox
|
300 |
+
281: tabby cat
|
301 |
+
282: tiger cat
|
302 |
+
283: Persian cat
|
303 |
+
284: Siamese cat
|
304 |
+
285: Egyptian Mau
|
305 |
+
286: cougar
|
306 |
+
287: lynx
|
307 |
+
288: leopard
|
308 |
+
289: snow leopard
|
309 |
+
290: jaguar
|
310 |
+
291: lion
|
311 |
+
292: tiger
|
312 |
+
293: cheetah
|
313 |
+
294: brown bear
|
314 |
+
295: American black bear
|
315 |
+
296: polar bear
|
316 |
+
297: sloth bear
|
317 |
+
298: mongoose
|
318 |
+
299: meerkat
|
319 |
+
300: tiger beetle
|
320 |
+
301: ladybug
|
321 |
+
302: ground beetle
|
322 |
+
303: longhorn beetle
|
323 |
+
304: leaf beetle
|
324 |
+
305: dung beetle
|
325 |
+
306: rhinoceros beetle
|
326 |
+
307: weevil
|
327 |
+
308: fly
|
328 |
+
309: bee
|
329 |
+
310: ant
|
330 |
+
311: grasshopper
|
331 |
+
312: cricket
|
332 |
+
313: stick insect
|
333 |
+
314: cockroach
|
334 |
+
315: mantis
|
335 |
+
316: cicada
|
336 |
+
317: leafhopper
|
337 |
+
318: lacewing
|
338 |
+
319: dragonfly
|
339 |
+
320: damselfly
|
340 |
+
321: red admiral
|
341 |
+
322: ringlet
|
342 |
+
323: monarch butterfly
|
343 |
+
324: small white
|
344 |
+
325: sulphur butterfly
|
345 |
+
326: gossamer-winged butterfly
|
346 |
+
327: starfish
|
347 |
+
328: sea urchin
|
348 |
+
329: sea cucumber
|
349 |
+
330: cottontail rabbit
|
350 |
+
331: hare
|
351 |
+
332: Angora rabbit
|
352 |
+
333: hamster
|
353 |
+
334: porcupine
|
354 |
+
335: fox squirrel
|
355 |
+
336: marmot
|
356 |
+
337: beaver
|
357 |
+
338: guinea pig
|
358 |
+
339: common sorrel
|
359 |
+
340: zebra
|
360 |
+
341: pig
|
361 |
+
342: wild boar
|
362 |
+
343: warthog
|
363 |
+
344: hippopotamus
|
364 |
+
345: ox
|
365 |
+
346: water buffalo
|
366 |
+
347: bison
|
367 |
+
348: ram
|
368 |
+
349: bighorn sheep
|
369 |
+
350: Alpine ibex
|
370 |
+
351: hartebeest
|
371 |
+
352: impala
|
372 |
+
353: gazelle
|
373 |
+
354: dromedary
|
374 |
+
355: llama
|
375 |
+
356: weasel
|
376 |
+
357: mink
|
377 |
+
358: European polecat
|
378 |
+
359: black-footed ferret
|
379 |
+
360: otter
|
380 |
+
361: skunk
|
381 |
+
362: badger
|
382 |
+
363: armadillo
|
383 |
+
364: three-toed sloth
|
384 |
+
365: orangutan
|
385 |
+
366: gorilla
|
386 |
+
367: chimpanzee
|
387 |
+
368: gibbon
|
388 |
+
369: siamang
|
389 |
+
370: guenon
|
390 |
+
371: patas monkey
|
391 |
+
372: baboon
|
392 |
+
373: macaque
|
393 |
+
374: langur
|
394 |
+
375: black-and-white colobus
|
395 |
+
376: proboscis monkey
|
396 |
+
377: marmoset
|
397 |
+
378: white-headed capuchin
|
398 |
+
379: howler monkey
|
399 |
+
380: titi
|
400 |
+
381: Geoffroy's spider monkey
|
401 |
+
382: common squirrel monkey
|
402 |
+
383: ring-tailed lemur
|
403 |
+
384: indri
|
404 |
+
385: Asian elephant
|
405 |
+
386: African bush elephant
|
406 |
+
387: red panda
|
407 |
+
388: giant panda
|
408 |
+
389: snoek
|
409 |
+
390: eel
|
410 |
+
391: coho salmon
|
411 |
+
392: rock beauty
|
412 |
+
393: clownfish
|
413 |
+
394: sturgeon
|
414 |
+
395: garfish
|
415 |
+
396: lionfish
|
416 |
+
397: pufferfish
|
417 |
+
398: abacus
|
418 |
+
399: abaya
|
419 |
+
400: academic gown
|
420 |
+
401: accordion
|
421 |
+
402: acoustic guitar
|
422 |
+
403: aircraft carrier
|
423 |
+
404: airliner
|
424 |
+
405: airship
|
425 |
+
406: altar
|
426 |
+
407: ambulance
|
427 |
+
408: amphibious vehicle
|
428 |
+
409: analog clock
|
429 |
+
410: apiary
|
430 |
+
411: apron
|
431 |
+
412: waste container
|
432 |
+
413: assault rifle
|
433 |
+
414: backpack
|
434 |
+
415: bakery
|
435 |
+
416: balance beam
|
436 |
+
417: balloon
|
437 |
+
418: ballpoint pen
|
438 |
+
419: Band-Aid
|
439 |
+
420: banjo
|
440 |
+
421: baluster
|
441 |
+
422: barbell
|
442 |
+
423: barber chair
|
443 |
+
424: barbershop
|
444 |
+
425: barn
|
445 |
+
426: barometer
|
446 |
+
427: barrel
|
447 |
+
428: wheelbarrow
|
448 |
+
429: baseball
|
449 |
+
430: basketball
|
450 |
+
431: bassinet
|
451 |
+
432: bassoon
|
452 |
+
433: swimming cap
|
453 |
+
434: bath towel
|
454 |
+
435: bathtub
|
455 |
+
436: station wagon
|
456 |
+
437: lighthouse
|
457 |
+
438: beaker
|
458 |
+
439: military cap
|
459 |
+
440: beer bottle
|
460 |
+
441: beer glass
|
461 |
+
442: bell-cot
|
462 |
+
443: bib
|
463 |
+
444: tandem bicycle
|
464 |
+
445: bikini
|
465 |
+
446: ring binder
|
466 |
+
447: binoculars
|
467 |
+
448: birdhouse
|
468 |
+
449: boathouse
|
469 |
+
450: bobsleigh
|
470 |
+
451: bolo tie
|
471 |
+
452: poke bonnet
|
472 |
+
453: bookcase
|
473 |
+
454: bookstore
|
474 |
+
455: bottle cap
|
475 |
+
456: bow
|
476 |
+
457: bow tie
|
477 |
+
458: brass
|
478 |
+
459: bra
|
479 |
+
460: breakwater
|
480 |
+
461: breastplate
|
481 |
+
462: broom
|
482 |
+
463: bucket
|
483 |
+
464: buckle
|
484 |
+
465: bulletproof vest
|
485 |
+
466: high-speed train
|
486 |
+
467: butcher shop
|
487 |
+
468: taxicab
|
488 |
+
469: cauldron
|
489 |
+
470: candle
|
490 |
+
471: cannon
|
491 |
+
472: canoe
|
492 |
+
473: can opener
|
493 |
+
474: cardigan
|
494 |
+
475: car mirror
|
495 |
+
476: carousel
|
496 |
+
477: tool kit
|
497 |
+
478: carton
|
498 |
+
479: car wheel
|
499 |
+
480: automated teller machine
|
500 |
+
481: cassette
|
501 |
+
482: cassette player
|
502 |
+
483: castle
|
503 |
+
484: catamaran
|
504 |
+
485: CD player
|
505 |
+
486: cello
|
506 |
+
487: mobile phone
|
507 |
+
488: chain
|
508 |
+
489: chain-link fence
|
509 |
+
490: chain mail
|
510 |
+
491: chainsaw
|
511 |
+
492: chest
|
512 |
+
493: chiffonier
|
513 |
+
494: chime
|
514 |
+
495: china cabinet
|
515 |
+
496: Christmas stocking
|
516 |
+
497: church
|
517 |
+
498: movie theater
|
518 |
+
499: cleaver
|
519 |
+
500: cliff dwelling
|
520 |
+
501: cloak
|
521 |
+
502: clogs
|
522 |
+
503: cocktail shaker
|
523 |
+
504: coffee mug
|
524 |
+
505: coffeemaker
|
525 |
+
506: coil
|
526 |
+
507: combination lock
|
527 |
+
508: computer keyboard
|
528 |
+
509: confectionery store
|
529 |
+
510: container ship
|
530 |
+
511: convertible
|
531 |
+
512: corkscrew
|
532 |
+
513: cornet
|
533 |
+
514: cowboy boot
|
534 |
+
515: cowboy hat
|
535 |
+
516: cradle
|
536 |
+
517: crane (machine)
|
537 |
+
518: crash helmet
|
538 |
+
519: crate
|
539 |
+
520: infant bed
|
540 |
+
521: Crock Pot
|
541 |
+
522: croquet ball
|
542 |
+
523: crutch
|
543 |
+
524: cuirass
|
544 |
+
525: dam
|
545 |
+
526: desk
|
546 |
+
527: desktop computer
|
547 |
+
528: rotary dial telephone
|
548 |
+
529: diaper
|
549 |
+
530: digital clock
|
550 |
+
531: digital watch
|
551 |
+
532: dining table
|
552 |
+
533: dishcloth
|
553 |
+
534: dishwasher
|
554 |
+
535: disc brake
|
555 |
+
536: dock
|
556 |
+
537: dog sled
|
557 |
+
538: dome
|
558 |
+
539: doormat
|
559 |
+
540: drilling rig
|
560 |
+
541: drum
|
561 |
+
542: drumstick
|
562 |
+
543: dumbbell
|
563 |
+
544: Dutch oven
|
564 |
+
545: electric fan
|
565 |
+
546: electric guitar
|
566 |
+
547: electric locomotive
|
567 |
+
548: entertainment center
|
568 |
+
549: envelope
|
569 |
+
550: espresso machine
|
570 |
+
551: face powder
|
571 |
+
552: feather boa
|
572 |
+
553: filing cabinet
|
573 |
+
554: fireboat
|
574 |
+
555: fire engine
|
575 |
+
556: fire screen sheet
|
576 |
+
557: flagpole
|
577 |
+
558: flute
|
578 |
+
559: folding chair
|
579 |
+
560: football helmet
|
580 |
+
561: forklift
|
581 |
+
562: fountain
|
582 |
+
563: fountain pen
|
583 |
+
564: four-poster bed
|
584 |
+
565: freight car
|
585 |
+
566: French horn
|
586 |
+
567: frying pan
|
587 |
+
568: fur coat
|
588 |
+
569: garbage truck
|
589 |
+
570: gas mask
|
590 |
+
571: gas pump
|
591 |
+
572: goblet
|
592 |
+
573: go-kart
|
593 |
+
574: golf ball
|
594 |
+
575: golf cart
|
595 |
+
576: gondola
|
596 |
+
577: gong
|
597 |
+
578: gown
|
598 |
+
579: grand piano
|
599 |
+
580: greenhouse
|
600 |
+
581: grille
|
601 |
+
582: grocery store
|
602 |
+
583: guillotine
|
603 |
+
584: barrette
|
604 |
+
585: hair spray
|
605 |
+
586: half-track
|
606 |
+
587: hammer
|
607 |
+
588: hamper
|
608 |
+
589: hair dryer
|
609 |
+
590: hand-held computer
|
610 |
+
591: handkerchief
|
611 |
+
592: hard disk drive
|
612 |
+
593: harmonica
|
613 |
+
594: harp
|
614 |
+
595: harvester
|
615 |
+
596: hatchet
|
616 |
+
597: holster
|
617 |
+
598: home theater
|
618 |
+
599: honeycomb
|
619 |
+
600: hook
|
620 |
+
601: hoop skirt
|
621 |
+
602: horizontal bar
|
622 |
+
603: horse-drawn vehicle
|
623 |
+
604: hourglass
|
624 |
+
605: iPod
|
625 |
+
606: clothes iron
|
626 |
+
607: jack-o'-lantern
|
627 |
+
608: jeans
|
628 |
+
609: jeep
|
629 |
+
610: T-shirt
|
630 |
+
611: jigsaw puzzle
|
631 |
+
612: pulled rickshaw
|
632 |
+
613: joystick
|
633 |
+
614: kimono
|
634 |
+
615: knee pad
|
635 |
+
616: knot
|
636 |
+
617: lab coat
|
637 |
+
618: ladle
|
638 |
+
619: lampshade
|
639 |
+
620: laptop computer
|
640 |
+
621: lawn mower
|
641 |
+
622: lens cap
|
642 |
+
623: paper knife
|
643 |
+
624: library
|
644 |
+
625: lifeboat
|
645 |
+
626: lighter
|
646 |
+
627: limousine
|
647 |
+
628: ocean liner
|
648 |
+
629: lipstick
|
649 |
+
630: slip-on shoe
|
650 |
+
631: lotion
|
651 |
+
632: speaker
|
652 |
+
633: loupe
|
653 |
+
634: sawmill
|
654 |
+
635: magnetic compass
|
655 |
+
636: mail bag
|
656 |
+
637: mailbox
|
657 |
+
638: tights
|
658 |
+
639: tank suit
|
659 |
+
640: manhole cover
|
660 |
+
641: maraca
|
661 |
+
642: marimba
|
662 |
+
643: mask
|
663 |
+
644: match
|
664 |
+
645: maypole
|
665 |
+
646: maze
|
666 |
+
647: measuring cup
|
667 |
+
648: medicine chest
|
668 |
+
649: megalith
|
669 |
+
650: microphone
|
670 |
+
651: microwave oven
|
671 |
+
652: military uniform
|
672 |
+
653: milk can
|
673 |
+
654: minibus
|
674 |
+
655: miniskirt
|
675 |
+
656: minivan
|
676 |
+
657: missile
|
677 |
+
658: mitten
|
678 |
+
659: mixing bowl
|
679 |
+
660: mobile home
|
680 |
+
661: Model T
|
681 |
+
662: modem
|
682 |
+
663: monastery
|
683 |
+
664: monitor
|
684 |
+
665: moped
|
685 |
+
666: mortar
|
686 |
+
667: square academic cap
|
687 |
+
668: mosque
|
688 |
+
669: mosquito net
|
689 |
+
670: scooter
|
690 |
+
671: mountain bike
|
691 |
+
672: tent
|
692 |
+
673: computer mouse
|
693 |
+
674: mousetrap
|
694 |
+
675: moving van
|
695 |
+
676: muzzle
|
696 |
+
677: nail
|
697 |
+
678: neck brace
|
698 |
+
679: necklace
|
699 |
+
680: nipple
|
700 |
+
681: notebook computer
|
701 |
+
682: obelisk
|
702 |
+
683: oboe
|
703 |
+
684: ocarina
|
704 |
+
685: odometer
|
705 |
+
686: oil filter
|
706 |
+
687: organ
|
707 |
+
688: oscilloscope
|
708 |
+
689: overskirt
|
709 |
+
690: bullock cart
|
710 |
+
691: oxygen mask
|
711 |
+
692: packet
|
712 |
+
693: paddle
|
713 |
+
694: paddle wheel
|
714 |
+
695: padlock
|
715 |
+
696: paintbrush
|
716 |
+
697: pajamas
|
717 |
+
698: palace
|
718 |
+
699: pan flute
|
719 |
+
700: paper towel
|
720 |
+
701: parachute
|
721 |
+
702: parallel bars
|
722 |
+
703: park bench
|
723 |
+
704: parking meter
|
724 |
+
705: passenger car
|
725 |
+
706: patio
|
726 |
+
707: payphone
|
727 |
+
708: pedestal
|
728 |
+
709: pencil case
|
729 |
+
710: pencil sharpener
|
730 |
+
711: perfume
|
731 |
+
712: Petri dish
|
732 |
+
713: photocopier
|
733 |
+
714: plectrum
|
734 |
+
715: Pickelhaube
|
735 |
+
716: picket fence
|
736 |
+
717: pickup truck
|
737 |
+
718: pier
|
738 |
+
719: piggy bank
|
739 |
+
720: pill bottle
|
740 |
+
721: pillow
|
741 |
+
722: ping-pong ball
|
742 |
+
723: pinwheel
|
743 |
+
724: pirate ship
|
744 |
+
725: pitcher
|
745 |
+
726: hand plane
|
746 |
+
727: planetarium
|
747 |
+
728: plastic bag
|
748 |
+
729: plate rack
|
749 |
+
730: plow
|
750 |
+
731: plunger
|
751 |
+
732: Polaroid camera
|
752 |
+
733: pole
|
753 |
+
734: police van
|
754 |
+
735: poncho
|
755 |
+
736: billiard table
|
756 |
+
737: soda bottle
|
757 |
+
738: pot
|
758 |
+
739: potter's wheel
|
759 |
+
740: power drill
|
760 |
+
741: prayer rug
|
761 |
+
742: printer
|
762 |
+
743: prison
|
763 |
+
744: projectile
|
764 |
+
745: projector
|
765 |
+
746: hockey puck
|
766 |
+
747: punching bag
|
767 |
+
748: purse
|
768 |
+
749: quill
|
769 |
+
750: quilt
|
770 |
+
751: race car
|
771 |
+
752: racket
|
772 |
+
753: radiator
|
773 |
+
754: radio
|
774 |
+
755: radio telescope
|
775 |
+
756: rain barrel
|
776 |
+
757: recreational vehicle
|
777 |
+
758: reel
|
778 |
+
759: reflex camera
|
779 |
+
760: refrigerator
|
780 |
+
761: remote control
|
781 |
+
762: restaurant
|
782 |
+
763: revolver
|
783 |
+
764: rifle
|
784 |
+
765: rocking chair
|
785 |
+
766: rotisserie
|
786 |
+
767: eraser
|
787 |
+
768: rugby ball
|
788 |
+
769: ruler
|
789 |
+
770: running shoe
|
790 |
+
771: safe
|
791 |
+
772: safety pin
|
792 |
+
773: salt shaker
|
793 |
+
774: sandal
|
794 |
+
775: sarong
|
795 |
+
776: saxophone
|
796 |
+
777: scabbard
|
797 |
+
778: weighing scale
|
798 |
+
779: school bus
|
799 |
+
780: schooner
|
800 |
+
781: scoreboard
|
801 |
+
782: CRT screen
|
802 |
+
783: screw
|
803 |
+
784: screwdriver
|
804 |
+
785: seat belt
|
805 |
+
786: sewing machine
|
806 |
+
787: shield
|
807 |
+
788: shoe store
|
808 |
+
789: shoji
|
809 |
+
790: shopping basket
|
810 |
+
791: shopping cart
|
811 |
+
792: shovel
|
812 |
+
793: shower cap
|
813 |
+
794: shower curtain
|
814 |
+
795: ski
|
815 |
+
796: ski mask
|
816 |
+
797: sleeping bag
|
817 |
+
798: slide rule
|
818 |
+
799: sliding door
|
819 |
+
800: slot machine
|
820 |
+
801: snorkel
|
821 |
+
802: snowmobile
|
822 |
+
803: snowplow
|
823 |
+
804: soap dispenser
|
824 |
+
805: soccer ball
|
825 |
+
806: sock
|
826 |
+
807: solar thermal collector
|
827 |
+
808: sombrero
|
828 |
+
809: soup bowl
|
829 |
+
810: space bar
|
830 |
+
811: space heater
|
831 |
+
812: space shuttle
|
832 |
+
813: spatula
|
833 |
+
814: motorboat
|
834 |
+
815: spider web
|
835 |
+
816: spindle
|
836 |
+
817: sports car
|
837 |
+
818: spotlight
|
838 |
+
819: stage
|
839 |
+
820: steam locomotive
|
840 |
+
821: through arch bridge
|
841 |
+
822: steel drum
|
842 |
+
823: stethoscope
|
843 |
+
824: scarf
|
844 |
+
825: stone wall
|
845 |
+
826: stopwatch
|
846 |
+
827: stove
|
847 |
+
828: strainer
|
848 |
+
829: tram
|
849 |
+
830: stretcher
|
850 |
+
831: couch
|
851 |
+
832: stupa
|
852 |
+
833: submarine
|
853 |
+
834: suit
|
854 |
+
835: sundial
|
855 |
+
836: sunglass
|
856 |
+
837: sunglasses
|
857 |
+
838: sunscreen
|
858 |
+
839: suspension bridge
|
859 |
+
840: mop
|
860 |
+
841: sweatshirt
|
861 |
+
842: swimsuit
|
862 |
+
843: swing
|
863 |
+
844: switch
|
864 |
+
845: syringe
|
865 |
+
846: table lamp
|
866 |
+
847: tank
|
867 |
+
848: tape player
|
868 |
+
849: teapot
|
869 |
+
850: teddy bear
|
870 |
+
851: television
|
871 |
+
852: tennis ball
|
872 |
+
853: thatched roof
|
873 |
+
854: front curtain
|
874 |
+
855: thimble
|
875 |
+
856: threshing machine
|
876 |
+
857: throne
|
877 |
+
858: tile roof
|
878 |
+
859: toaster
|
879 |
+
860: tobacco shop
|
880 |
+
861: toilet seat
|
881 |
+
862: torch
|
882 |
+
863: totem pole
|
883 |
+
864: tow truck
|
884 |
+
865: toy store
|
885 |
+
866: tractor
|
886 |
+
867: semi-trailer truck
|
887 |
+
868: tray
|
888 |
+
869: trench coat
|
889 |
+
870: tricycle
|
890 |
+
871: trimaran
|
891 |
+
872: tripod
|
892 |
+
873: triumphal arch
|
893 |
+
874: trolleybus
|
894 |
+
875: trombone
|
895 |
+
876: tub
|
896 |
+
877: turnstile
|
897 |
+
878: typewriter keyboard
|
898 |
+
879: umbrella
|
899 |
+
880: unicycle
|
900 |
+
881: upright piano
|
901 |
+
882: vacuum cleaner
|
902 |
+
883: vase
|
903 |
+
884: vault
|
904 |
+
885: velvet
|
905 |
+
886: vending machine
|
906 |
+
887: vestment
|
907 |
+
888: viaduct
|
908 |
+
889: violin
|
909 |
+
890: volleyball
|
910 |
+
891: waffle iron
|
911 |
+
892: wall clock
|
912 |
+
893: wallet
|
913 |
+
894: wardrobe
|
914 |
+
895: military aircraft
|
915 |
+
896: sink
|
916 |
+
897: washing machine
|
917 |
+
898: water bottle
|
918 |
+
899: water jug
|
919 |
+
900: water tower
|
920 |
+
901: whiskey jug
|
921 |
+
902: whistle
|
922 |
+
903: wig
|
923 |
+
904: window screen
|
924 |
+
905: window shade
|
925 |
+
906: Windsor tie
|
926 |
+
907: wine bottle
|
927 |
+
908: wing
|
928 |
+
909: wok
|
929 |
+
910: wooden spoon
|
930 |
+
911: wool
|
931 |
+
912: split-rail fence
|
932 |
+
913: shipwreck
|
933 |
+
914: yawl
|
934 |
+
915: yurt
|
935 |
+
916: website
|
936 |
+
917: comic book
|
937 |
+
918: crossword
|
938 |
+
919: traffic sign
|
939 |
+
920: traffic light
|
940 |
+
921: dust jacket
|
941 |
+
922: menu
|
942 |
+
923: plate
|
943 |
+
924: guacamole
|
944 |
+
925: consomme
|
945 |
+
926: hot pot
|
946 |
+
927: trifle
|
947 |
+
928: ice cream
|
948 |
+
929: ice pop
|
949 |
+
930: baguette
|
950 |
+
931: bagel
|
951 |
+
932: pretzel
|
952 |
+
933: cheeseburger
|
953 |
+
934: hot dog
|
954 |
+
935: mashed potato
|
955 |
+
936: cabbage
|
956 |
+
937: broccoli
|
957 |
+
938: cauliflower
|
958 |
+
939: zucchini
|
959 |
+
940: spaghetti squash
|
960 |
+
941: acorn squash
|
961 |
+
942: butternut squash
|
962 |
+
943: cucumber
|
963 |
+
944: artichoke
|
964 |
+
945: bell pepper
|
965 |
+
946: cardoon
|
966 |
+
947: mushroom
|
967 |
+
948: Granny Smith
|
968 |
+
949: strawberry
|
969 |
+
950: orange
|
970 |
+
951: lemon
|
971 |
+
952: fig
|
972 |
+
953: pineapple
|
973 |
+
954: banana
|
974 |
+
955: jackfruit
|
975 |
+
956: custard apple
|
976 |
+
957: pomegranate
|
977 |
+
958: hay
|
978 |
+
959: carbonara
|
979 |
+
960: chocolate syrup
|
980 |
+
961: dough
|
981 |
+
962: meatloaf
|
982 |
+
963: pizza
|
983 |
+
964: pot pie
|
984 |
+
965: burrito
|
985 |
+
966: red wine
|
986 |
+
967: espresso
|
987 |
+
968: cup
|
988 |
+
969: eggnog
|
989 |
+
970: alp
|
990 |
+
971: bubble
|
991 |
+
972: cliff
|
992 |
+
973: coral reef
|
993 |
+
974: geyser
|
994 |
+
975: lakeshore
|
995 |
+
976: promontory
|
996 |
+
977: shoal
|
997 |
+
978: seashore
|
998 |
+
979: valley
|
999 |
+
980: volcano
|
1000 |
+
981: baseball player
|
1001 |
+
982: bridegroom
|
1002 |
+
983: scuba diver
|
1003 |
+
984: rapeseed
|
1004 |
+
985: daisy
|
1005 |
+
986: yellow lady's slipper
|
1006 |
+
987: corn
|
1007 |
+
988: acorn
|
1008 |
+
989: rose hip
|
1009 |
+
990: horse chestnut seed
|
1010 |
+
991: coral fungus
|
1011 |
+
992: agaric
|
1012 |
+
993: gyromitra
|
1013 |
+
994: stinkhorn mushroom
|
1014 |
+
995: earth star
|
1015 |
+
996: hen-of-the-woods
|
1016 |
+
997: bolete
|
1017 |
+
998: ear
|
1018 |
+
999: toilet paper
|
1019 |
+
|
1020 |
+
# Imagenet class codes to human-readable names
|
1021 |
+
map:
|
1022 |
+
n01440764: tench
|
1023 |
+
n01443537: goldfish
|
1024 |
+
n01484850: great_white_shark
|
1025 |
+
n01491361: tiger_shark
|
1026 |
+
n01494475: hammerhead
|
1027 |
+
n01496331: electric_ray
|
1028 |
+
n01498041: stingray
|
1029 |
+
n01514668: cock
|
1030 |
+
n01514859: hen
|
1031 |
+
n01518878: ostrich
|
1032 |
+
n01530575: brambling
|
1033 |
+
n01531178: goldfinch
|
1034 |
+
n01532829: house_finch
|
1035 |
+
n01534433: junco
|
1036 |
+
n01537544: indigo_bunting
|
1037 |
+
n01558993: robin
|
1038 |
+
n01560419: bulbul
|
1039 |
+
n01580077: jay
|
1040 |
+
n01582220: magpie
|
1041 |
+
n01592084: chickadee
|
1042 |
+
n01601694: water_ouzel
|
1043 |
+
n01608432: kite
|
1044 |
+
n01614925: bald_eagle
|
1045 |
+
n01616318: vulture
|
1046 |
+
n01622779: great_grey_owl
|
1047 |
+
n01629819: European_fire_salamander
|
1048 |
+
n01630670: common_newt
|
1049 |
+
n01631663: eft
|
1050 |
+
n01632458: spotted_salamander
|
1051 |
+
n01632777: axolotl
|
1052 |
+
n01641577: bullfrog
|
1053 |
+
n01644373: tree_frog
|
1054 |
+
n01644900: tailed_frog
|
1055 |
+
n01664065: loggerhead
|
1056 |
+
n01665541: leatherback_turtle
|
1057 |
+
n01667114: mud_turtle
|
1058 |
+
n01667778: terrapin
|
1059 |
+
n01669191: box_turtle
|
1060 |
+
n01675722: banded_gecko
|
1061 |
+
n01677366: common_iguana
|
1062 |
+
n01682714: American_chameleon
|
1063 |
+
n01685808: whiptail
|
1064 |
+
n01687978: agama
|
1065 |
+
n01688243: frilled_lizard
|
1066 |
+
n01689811: alligator_lizard
|
1067 |
+
n01692333: Gila_monster
|
1068 |
+
n01693334: green_lizard
|
1069 |
+
n01694178: African_chameleon
|
1070 |
+
n01695060: Komodo_dragon
|
1071 |
+
n01697457: African_crocodile
|
1072 |
+
n01698640: American_alligator
|
1073 |
+
n01704323: triceratops
|
1074 |
+
n01728572: thunder_snake
|
1075 |
+
n01728920: ringneck_snake
|
1076 |
+
n01729322: hognose_snake
|
1077 |
+
n01729977: green_snake
|
1078 |
+
n01734418: king_snake
|
1079 |
+
n01735189: garter_snake
|
1080 |
+
n01737021: water_snake
|
1081 |
+
n01739381: vine_snake
|
1082 |
+
n01740131: night_snake
|
1083 |
+
n01742172: boa_constrictor
|
1084 |
+
n01744401: rock_python
|
1085 |
+
n01748264: Indian_cobra
|
1086 |
+
n01749939: green_mamba
|
1087 |
+
n01751748: sea_snake
|
1088 |
+
n01753488: horned_viper
|
1089 |
+
n01755581: diamondback
|
1090 |
+
n01756291: sidewinder
|
1091 |
+
n01768244: trilobite
|
1092 |
+
n01770081: harvestman
|
1093 |
+
n01770393: scorpion
|
1094 |
+
n01773157: black_and_gold_garden_spider
|
1095 |
+
n01773549: barn_spider
|
1096 |
+
n01773797: garden_spider
|
1097 |
+
n01774384: black_widow
|
1098 |
+
n01774750: tarantula
|
1099 |
+
n01775062: wolf_spider
|
1100 |
+
n01776313: tick
|
1101 |
+
n01784675: centipede
|
1102 |
+
n01795545: black_grouse
|
1103 |
+
n01796340: ptarmigan
|
1104 |
+
n01797886: ruffed_grouse
|
1105 |
+
n01798484: prairie_chicken
|
1106 |
+
n01806143: peacock
|
1107 |
+
n01806567: quail
|
1108 |
+
n01807496: partridge
|
1109 |
+
n01817953: African_grey
|
1110 |
+
n01818515: macaw
|
1111 |
+
n01819313: sulphur-crested_cockatoo
|
1112 |
+
n01820546: lorikeet
|
1113 |
+
n01824575: coucal
|
1114 |
+
n01828970: bee_eater
|
1115 |
+
n01829413: hornbill
|
1116 |
+
n01833805: hummingbird
|
1117 |
+
n01843065: jacamar
|
1118 |
+
n01843383: toucan
|
1119 |
+
n01847000: drake
|
1120 |
+
n01855032: red-breasted_merganser
|
1121 |
+
n01855672: goose
|
1122 |
+
n01860187: black_swan
|
1123 |
+
n01871265: tusker
|
1124 |
+
n01872401: echidna
|
1125 |
+
n01873310: platypus
|
1126 |
+
n01877812: wallaby
|
1127 |
+
n01882714: koala
|
1128 |
+
n01883070: wombat
|
1129 |
+
n01910747: jellyfish
|
1130 |
+
n01914609: sea_anemone
|
1131 |
+
n01917289: brain_coral
|
1132 |
+
n01924916: flatworm
|
1133 |
+
n01930112: nematode
|
1134 |
+
n01943899: conch
|
1135 |
+
n01944390: snail
|
1136 |
+
n01945685: slug
|
1137 |
+
n01950731: sea_slug
|
1138 |
+
n01955084: chiton
|
1139 |
+
n01968897: chambered_nautilus
|
1140 |
+
n01978287: Dungeness_crab
|
1141 |
+
n01978455: rock_crab
|
1142 |
+
n01980166: fiddler_crab
|
1143 |
+
n01981276: king_crab
|
1144 |
+
n01983481: American_lobster
|
1145 |
+
n01984695: spiny_lobster
|
1146 |
+
n01985128: crayfish
|
1147 |
+
n01986214: hermit_crab
|
1148 |
+
n01990800: isopod
|
1149 |
+
n02002556: white_stork
|
1150 |
+
n02002724: black_stork
|
1151 |
+
n02006656: spoonbill
|
1152 |
+
n02007558: flamingo
|
1153 |
+
n02009229: little_blue_heron
|
1154 |
+
n02009912: American_egret
|
1155 |
+
n02011460: bittern
|
1156 |
+
n02012849: crane_(bird)
|
1157 |
+
n02013706: limpkin
|
1158 |
+
n02017213: European_gallinule
|
1159 |
+
n02018207: American_coot
|
1160 |
+
n02018795: bustard
|
1161 |
+
n02025239: ruddy_turnstone
|
1162 |
+
n02027492: red-backed_sandpiper
|
1163 |
+
n02028035: redshank
|
1164 |
+
n02033041: dowitcher
|
1165 |
+
n02037110: oystercatcher
|
1166 |
+
n02051845: pelican
|
1167 |
+
n02056570: king_penguin
|
1168 |
+
n02058221: albatross
|
1169 |
+
n02066245: grey_whale
|
1170 |
+
n02071294: killer_whale
|
1171 |
+
n02074367: dugong
|
1172 |
+
n02077923: sea_lion
|
1173 |
+
n02085620: Chihuahua
|
1174 |
+
n02085782: Japanese_spaniel
|
1175 |
+
n02085936: Maltese_dog
|
1176 |
+
n02086079: Pekinese
|
1177 |
+
n02086240: Shih-Tzu
|
1178 |
+
n02086646: Blenheim_spaniel
|
1179 |
+
n02086910: papillon
|
1180 |
+
n02087046: toy_terrier
|
1181 |
+
n02087394: Rhodesian_ridgeback
|
1182 |
+
n02088094: Afghan_hound
|
1183 |
+
n02088238: basset
|
1184 |
+
n02088364: beagle
|
1185 |
+
n02088466: bloodhound
|
1186 |
+
n02088632: bluetick
|
1187 |
+
n02089078: black-and-tan_coonhound
|
1188 |
+
n02089867: Walker_hound
|
1189 |
+
n02089973: English_foxhound
|
1190 |
+
n02090379: redbone
|
1191 |
+
n02090622: borzoi
|
1192 |
+
n02090721: Irish_wolfhound
|
1193 |
+
n02091032: Italian_greyhound
|
1194 |
+
n02091134: whippet
|
1195 |
+
n02091244: Ibizan_hound
|
1196 |
+
n02091467: Norwegian_elkhound
|
1197 |
+
n02091635: otterhound
|
1198 |
+
n02091831: Saluki
|
1199 |
+
n02092002: Scottish_deerhound
|
1200 |
+
n02092339: Weimaraner
|
1201 |
+
n02093256: Staffordshire_bullterrier
|
1202 |
+
n02093428: American_Staffordshire_terrier
|
1203 |
+
n02093647: Bedlington_terrier
|
1204 |
+
n02093754: Border_terrier
|
1205 |
+
n02093859: Kerry_blue_terrier
|
1206 |
+
n02093991: Irish_terrier
|
1207 |
+
n02094114: Norfolk_terrier
|
1208 |
+
n02094258: Norwich_terrier
|
1209 |
+
n02094433: Yorkshire_terrier
|
1210 |
+
n02095314: wire-haired_fox_terrier
|
1211 |
+
n02095570: Lakeland_terrier
|
1212 |
+
n02095889: Sealyham_terrier
|
1213 |
+
n02096051: Airedale
|
1214 |
+
n02096177: cairn
|
1215 |
+
n02096294: Australian_terrier
|
1216 |
+
n02096437: Dandie_Dinmont
|
1217 |
+
n02096585: Boston_bull
|
1218 |
+
n02097047: miniature_schnauzer
|
1219 |
+
n02097130: giant_schnauzer
|
1220 |
+
n02097209: standard_schnauzer
|
1221 |
+
n02097298: Scotch_terrier
|
1222 |
+
n02097474: Tibetan_terrier
|
1223 |
+
n02097658: silky_terrier
|
1224 |
+
n02098105: soft-coated_wheaten_terrier
|
1225 |
+
n02098286: West_Highland_white_terrier
|
1226 |
+
n02098413: Lhasa
|
1227 |
+
n02099267: flat-coated_retriever
|
1228 |
+
n02099429: curly-coated_retriever
|
1229 |
+
n02099601: golden_retriever
|
1230 |
+
n02099712: Labrador_retriever
|
1231 |
+
n02099849: Chesapeake_Bay_retriever
|
1232 |
+
n02100236: German_short-haired_pointer
|
1233 |
+
n02100583: vizsla
|
1234 |
+
n02100735: English_setter
|
1235 |
+
n02100877: Irish_setter
|
1236 |
+
n02101006: Gordon_setter
|
1237 |
+
n02101388: Brittany_spaniel
|
1238 |
+
n02101556: clumber
|
1239 |
+
n02102040: English_springer
|
1240 |
+
n02102177: Welsh_springer_spaniel
|
1241 |
+
n02102318: cocker_spaniel
|
1242 |
+
n02102480: Sussex_spaniel
|
1243 |
+
n02102973: Irish_water_spaniel
|
1244 |
+
n02104029: kuvasz
|
1245 |
+
n02104365: schipperke
|
1246 |
+
n02105056: groenendael
|
1247 |
+
n02105162: malinois
|
1248 |
+
n02105251: briard
|
1249 |
+
n02105412: kelpie
|
1250 |
+
n02105505: komondor
|
1251 |
+
n02105641: Old_English_sheepdog
|
1252 |
+
n02105855: Shetland_sheepdog
|
1253 |
+
n02106030: collie
|
1254 |
+
n02106166: Border_collie
|
1255 |
+
n02106382: Bouvier_des_Flandres
|
1256 |
+
n02106550: Rottweiler
|
1257 |
+
n02106662: German_shepherd
|
1258 |
+
n02107142: Doberman
|
1259 |
+
n02107312: miniature_pinscher
|
1260 |
+
n02107574: Greater_Swiss_Mountain_dog
|
1261 |
+
n02107683: Bernese_mountain_dog
|
1262 |
+
n02107908: Appenzeller
|
1263 |
+
n02108000: EntleBucher
|
1264 |
+
n02108089: boxer
|
1265 |
+
n02108422: bull_mastiff
|
1266 |
+
n02108551: Tibetan_mastiff
|
1267 |
+
n02108915: French_bulldog
|
1268 |
+
n02109047: Great_Dane
|
1269 |
+
n02109525: Saint_Bernard
|
1270 |
+
n02109961: Eskimo_dog
|
1271 |
+
n02110063: malamute
|
1272 |
+
n02110185: Siberian_husky
|
1273 |
+
n02110341: dalmatian
|
1274 |
+
n02110627: affenpinscher
|
1275 |
+
n02110806: basenji
|
1276 |
+
n02110958: pug
|
1277 |
+
n02111129: Leonberg
|
1278 |
+
n02111277: Newfoundland
|
1279 |
+
n02111500: Great_Pyrenees
|
1280 |
+
n02111889: Samoyed
|
1281 |
+
n02112018: Pomeranian
|
1282 |
+
n02112137: chow
|
1283 |
+
n02112350: keeshond
|
1284 |
+
n02112706: Brabancon_griffon
|
1285 |
+
n02113023: Pembroke
|
1286 |
+
n02113186: Cardigan
|
1287 |
+
n02113624: toy_poodle
|
1288 |
+
n02113712: miniature_poodle
|
1289 |
+
n02113799: standard_poodle
|
1290 |
+
n02113978: Mexican_hairless
|
1291 |
+
n02114367: timber_wolf
|
1292 |
+
n02114548: white_wolf
|
1293 |
+
n02114712: red_wolf
|
1294 |
+
n02114855: coyote
|
1295 |
+
n02115641: dingo
|
1296 |
+
n02115913: dhole
|
1297 |
+
n02116738: African_hunting_dog
|
1298 |
+
n02117135: hyena
|
1299 |
+
n02119022: red_fox
|
1300 |
+
n02119789: kit_fox
|
1301 |
+
n02120079: Arctic_fox
|
1302 |
+
n02120505: grey_fox
|
1303 |
+
n02123045: tabby
|
1304 |
+
n02123159: tiger_cat
|
1305 |
+
n02123394: Persian_cat
|
1306 |
+
n02123597: Siamese_cat
|
1307 |
+
n02124075: Egyptian_cat
|
1308 |
+
n02125311: cougar
|
1309 |
+
n02127052: lynx
|
1310 |
+
n02128385: leopard
|
1311 |
+
n02128757: snow_leopard
|
1312 |
+
n02128925: jaguar
|
1313 |
+
n02129165: lion
|
1314 |
+
n02129604: tiger
|
1315 |
+
n02130308: cheetah
|
1316 |
+
n02132136: brown_bear
|
1317 |
+
n02133161: American_black_bear
|
1318 |
+
n02134084: ice_bear
|
1319 |
+
n02134418: sloth_bear
|
1320 |
+
n02137549: mongoose
|
1321 |
+
n02138441: meerkat
|
1322 |
+
n02165105: tiger_beetle
|
1323 |
+
n02165456: ladybug
|
1324 |
+
n02167151: ground_beetle
|
1325 |
+
n02168699: long-horned_beetle
|
1326 |
+
n02169497: leaf_beetle
|
1327 |
+
n02172182: dung_beetle
|
1328 |
+
n02174001: rhinoceros_beetle
|
1329 |
+
n02177972: weevil
|
1330 |
+
n02190166: fly
|
1331 |
+
n02206856: bee
|
1332 |
+
n02219486: ant
|
1333 |
+
n02226429: grasshopper
|
1334 |
+
n02229544: cricket
|
1335 |
+
n02231487: walking_stick
|
1336 |
+
n02233338: cockroach
|
1337 |
+
n02236044: mantis
|
1338 |
+
n02256656: cicada
|
1339 |
+
n02259212: leafhopper
|
1340 |
+
n02264363: lacewing
|
1341 |
+
n02268443: dragonfly
|
1342 |
+
n02268853: damselfly
|
1343 |
+
n02276258: admiral
|
1344 |
+
n02277742: ringlet
|
1345 |
+
n02279972: monarch
|
1346 |
+
n02280649: cabbage_butterfly
|
1347 |
+
n02281406: sulphur_butterfly
|
1348 |
+
n02281787: lycaenid
|
1349 |
+
n02317335: starfish
|
1350 |
+
n02319095: sea_urchin
|
1351 |
+
n02321529: sea_cucumber
|
1352 |
+
n02325366: wood_rabbit
|
1353 |
+
n02326432: hare
|
1354 |
+
n02328150: Angora
|
1355 |
+
n02342885: hamster
|
1356 |
+
n02346627: porcupine
|
1357 |
+
n02356798: fox_squirrel
|
1358 |
+
n02361337: marmot
|
1359 |
+
n02363005: beaver
|
1360 |
+
n02364673: guinea_pig
|
1361 |
+
n02389026: sorrel
|
1362 |
+
n02391049: zebra
|
1363 |
+
n02395406: hog
|
1364 |
+
n02396427: wild_boar
|
1365 |
+
n02397096: warthog
|
1366 |
+
n02398521: hippopotamus
|
1367 |
+
n02403003: ox
|
1368 |
+
n02408429: water_buffalo
|
1369 |
+
n02410509: bison
|
1370 |
+
n02412080: ram
|
1371 |
+
n02415577: bighorn
|
1372 |
+
n02417914: ibex
|
1373 |
+
n02422106: hartebeest
|
1374 |
+
n02422699: impala
|
1375 |
+
n02423022: gazelle
|
1376 |
+
n02437312: Arabian_camel
|
1377 |
+
n02437616: llama
|
1378 |
+
n02441942: weasel
|
1379 |
+
n02442845: mink
|
1380 |
+
n02443114: polecat
|
1381 |
+
n02443484: black-footed_ferret
|
1382 |
+
n02444819: otter
|
1383 |
+
n02445715: skunk
|
1384 |
+
n02447366: badger
|
1385 |
+
n02454379: armadillo
|
1386 |
+
n02457408: three-toed_sloth
|
1387 |
+
n02480495: orangutan
|
1388 |
+
n02480855: gorilla
|
1389 |
+
n02481823: chimpanzee
|
1390 |
+
n02483362: gibbon
|
1391 |
+
n02483708: siamang
|
1392 |
+
n02484975: guenon
|
1393 |
+
n02486261: patas
|
1394 |
+
n02486410: baboon
|
1395 |
+
n02487347: macaque
|
1396 |
+
n02488291: langur
|
1397 |
+
n02488702: colobus
|
1398 |
+
n02489166: proboscis_monkey
|
1399 |
+
n02490219: marmoset
|
1400 |
+
n02492035: capuchin
|
1401 |
+
n02492660: howler_monkey
|
1402 |
+
n02493509: titi
|
1403 |
+
n02493793: spider_monkey
|
1404 |
+
n02494079: squirrel_monkey
|
1405 |
+
n02497673: Madagascar_cat
|
1406 |
+
n02500267: indri
|
1407 |
+
n02504013: Indian_elephant
|
1408 |
+
n02504458: African_elephant
|
1409 |
+
n02509815: lesser_panda
|
1410 |
+
n02510455: giant_panda
|
1411 |
+
n02514041: barracouta
|
1412 |
+
n02526121: eel
|
1413 |
+
n02536864: coho
|
1414 |
+
n02606052: rock_beauty
|
1415 |
+
n02607072: anemone_fish
|
1416 |
+
n02640242: sturgeon
|
1417 |
+
n02641379: gar
|
1418 |
+
n02643566: lionfish
|
1419 |
+
n02655020: puffer
|
1420 |
+
n02666196: abacus
|
1421 |
+
n02667093: abaya
|
1422 |
+
n02669723: academic_gown
|
1423 |
+
n02672831: accordion
|
1424 |
+
n02676566: acoustic_guitar
|
1425 |
+
n02687172: aircraft_carrier
|
1426 |
+
n02690373: airliner
|
1427 |
+
n02692877: airship
|
1428 |
+
n02699494: altar
|
1429 |
+
n02701002: ambulance
|
1430 |
+
n02704792: amphibian
|
1431 |
+
n02708093: analog_clock
|
1432 |
+
n02727426: apiary
|
1433 |
+
n02730930: apron
|
1434 |
+
n02747177: ashcan
|
1435 |
+
n02749479: assault_rifle
|
1436 |
+
n02769748: backpack
|
1437 |
+
n02776631: bakery
|
1438 |
+
n02777292: balance_beam
|
1439 |
+
n02782093: balloon
|
1440 |
+
n02783161: ballpoint
|
1441 |
+
n02786058: Band_Aid
|
1442 |
+
n02787622: banjo
|
1443 |
+
n02788148: bannister
|
1444 |
+
n02790996: barbell
|
1445 |
+
n02791124: barber_chair
|
1446 |
+
n02791270: barbershop
|
1447 |
+
n02793495: barn
|
1448 |
+
n02794156: barometer
|
1449 |
+
n02795169: barrel
|
1450 |
+
n02797295: barrow
|
1451 |
+
n02799071: baseball
|
1452 |
+
n02802426: basketball
|
1453 |
+
n02804414: bassinet
|
1454 |
+
n02804610: bassoon
|
1455 |
+
n02807133: bathing_cap
|
1456 |
+
n02808304: bath_towel
|
1457 |
+
n02808440: bathtub
|
1458 |
+
n02814533: beach_wagon
|
1459 |
+
n02814860: beacon
|
1460 |
+
n02815834: beaker
|
1461 |
+
n02817516: bearskin
|
1462 |
+
n02823428: beer_bottle
|
1463 |
+
n02823750: beer_glass
|
1464 |
+
n02825657: bell_cote
|
1465 |
+
n02834397: bib
|
1466 |
+
n02835271: bicycle-built-for-two
|
1467 |
+
n02837789: bikini
|
1468 |
+
n02840245: binder
|
1469 |
+
n02841315: binoculars
|
1470 |
+
n02843684: birdhouse
|
1471 |
+
n02859443: boathouse
|
1472 |
+
n02860847: bobsled
|
1473 |
+
n02865351: bolo_tie
|
1474 |
+
n02869837: bonnet
|
1475 |
+
n02870880: bookcase
|
1476 |
+
n02871525: bookshop
|
1477 |
+
n02877765: bottlecap
|
1478 |
+
n02879718: bow
|
1479 |
+
n02883205: bow_tie
|
1480 |
+
n02892201: brass
|
1481 |
+
n02892767: brassiere
|
1482 |
+
n02894605: breakwater
|
1483 |
+
n02895154: breastplate
|
1484 |
+
n02906734: broom
|
1485 |
+
n02909870: bucket
|
1486 |
+
n02910353: buckle
|
1487 |
+
n02916936: bulletproof_vest
|
1488 |
+
n02917067: bullet_train
|
1489 |
+
n02927161: butcher_shop
|
1490 |
+
n02930766: cab
|
1491 |
+
n02939185: caldron
|
1492 |
+
n02948072: candle
|
1493 |
+
n02950826: cannon
|
1494 |
+
n02951358: canoe
|
1495 |
+
n02951585: can_opener
|
1496 |
+
n02963159: cardigan
|
1497 |
+
n02965783: car_mirror
|
1498 |
+
n02966193: carousel
|
1499 |
+
n02966687: carpenter's_kit
|
1500 |
+
n02971356: carton
|
1501 |
+
n02974003: car_wheel
|
1502 |
+
n02977058: cash_machine
|
1503 |
+
n02978881: cassette
|
1504 |
+
n02979186: cassette_player
|
1505 |
+
n02980441: castle
|
1506 |
+
n02981792: catamaran
|
1507 |
+
n02988304: CD_player
|
1508 |
+
n02992211: cello
|
1509 |
+
n02992529: cellular_telephone
|
1510 |
+
n02999410: chain
|
1511 |
+
n03000134: chainlink_fence
|
1512 |
+
n03000247: chain_mail
|
1513 |
+
n03000684: chain_saw
|
1514 |
+
n03014705: chest
|
1515 |
+
n03016953: chiffonier
|
1516 |
+
n03017168: chime
|
1517 |
+
n03018349: china_cabinet
|
1518 |
+
n03026506: Christmas_stocking
|
1519 |
+
n03028079: church
|
1520 |
+
n03032252: cinema
|
1521 |
+
n03041632: cleaver
|
1522 |
+
n03042490: cliff_dwelling
|
1523 |
+
n03045698: cloak
|
1524 |
+
n03047690: clog
|
1525 |
+
n03062245: cocktail_shaker
|
1526 |
+
n03063599: coffee_mug
|
1527 |
+
n03063689: coffeepot
|
1528 |
+
n03065424: coil
|
1529 |
+
n03075370: combination_lock
|
1530 |
+
n03085013: computer_keyboard
|
1531 |
+
n03089624: confectionery
|
1532 |
+
n03095699: container_ship
|
1533 |
+
n03100240: convertible
|
1534 |
+
n03109150: corkscrew
|
1535 |
+
n03110669: cornet
|
1536 |
+
n03124043: cowboy_boot
|
1537 |
+
n03124170: cowboy_hat
|
1538 |
+
n03125729: cradle
|
1539 |
+
n03126707: crane_(machine)
|
1540 |
+
n03127747: crash_helmet
|
1541 |
+
n03127925: crate
|
1542 |
+
n03131574: crib
|
1543 |
+
n03133878: Crock_Pot
|
1544 |
+
n03134739: croquet_ball
|
1545 |
+
n03141823: crutch
|
1546 |
+
n03146219: cuirass
|
1547 |
+
n03160309: dam
|
1548 |
+
n03179701: desk
|
1549 |
+
n03180011: desktop_computer
|
1550 |
+
n03187595: dial_telephone
|
1551 |
+
n03188531: diaper
|
1552 |
+
n03196217: digital_clock
|
1553 |
+
n03197337: digital_watch
|
1554 |
+
n03201208: dining_table
|
1555 |
+
n03207743: dishrag
|
1556 |
+
n03207941: dishwasher
|
1557 |
+
n03208938: disk_brake
|
1558 |
+
n03216828: dock
|
1559 |
+
n03218198: dogsled
|
1560 |
+
n03220513: dome
|
1561 |
+
n03223299: doormat
|
1562 |
+
n03240683: drilling_platform
|
1563 |
+
n03249569: drum
|
1564 |
+
n03250847: drumstick
|
1565 |
+
n03255030: dumbbell
|
1566 |
+
n03259280: Dutch_oven
|
1567 |
+
n03271574: electric_fan
|
1568 |
+
n03272010: electric_guitar
|
1569 |
+
n03272562: electric_locomotive
|
1570 |
+
n03290653: entertainment_center
|
1571 |
+
n03291819: envelope
|
1572 |
+
n03297495: espresso_maker
|
1573 |
+
n03314780: face_powder
|
1574 |
+
n03325584: feather_boa
|
1575 |
+
n03337140: file
|
1576 |
+
n03344393: fireboat
|
1577 |
+
n03345487: fire_engine
|
1578 |
+
n03347037: fire_screen
|
1579 |
+
n03355925: flagpole
|
1580 |
+
n03372029: flute
|
1581 |
+
n03376595: folding_chair
|
1582 |
+
n03379051: football_helmet
|
1583 |
+
n03384352: forklift
|
1584 |
+
n03388043: fountain
|
1585 |
+
n03388183: fountain_pen
|
1586 |
+
n03388549: four-poster
|
1587 |
+
n03393912: freight_car
|
1588 |
+
n03394916: French_horn
|
1589 |
+
n03400231: frying_pan
|
1590 |
+
n03404251: fur_coat
|
1591 |
+
n03417042: garbage_truck
|
1592 |
+
n03424325: gasmask
|
1593 |
+
n03425413: gas_pump
|
1594 |
+
n03443371: goblet
|
1595 |
+
n03444034: go-kart
|
1596 |
+
n03445777: golf_ball
|
1597 |
+
n03445924: golfcart
|
1598 |
+
n03447447: gondola
|
1599 |
+
n03447721: gong
|
1600 |
+
n03450230: gown
|
1601 |
+
n03452741: grand_piano
|
1602 |
+
n03457902: greenhouse
|
1603 |
+
n03459775: grille
|
1604 |
+
n03461385: grocery_store
|
1605 |
+
n03467068: guillotine
|
1606 |
+
n03476684: hair_slide
|
1607 |
+
n03476991: hair_spray
|
1608 |
+
n03478589: half_track
|
1609 |
+
n03481172: hammer
|
1610 |
+
n03482405: hamper
|
1611 |
+
n03483316: hand_blower
|
1612 |
+
n03485407: hand-held_computer
|
1613 |
+
n03485794: handkerchief
|
1614 |
+
n03492542: hard_disc
|
1615 |
+
n03494278: harmonica
|
1616 |
+
n03495258: harp
|
1617 |
+
n03496892: harvester
|
1618 |
+
n03498962: hatchet
|
1619 |
+
n03527444: holster
|
1620 |
+
n03529860: home_theater
|
1621 |
+
n03530642: honeycomb
|
1622 |
+
n03532672: hook
|
1623 |
+
n03534580: hoopskirt
|
1624 |
+
n03535780: horizontal_bar
|
1625 |
+
n03538406: horse_cart
|
1626 |
+
n03544143: hourglass
|
1627 |
+
n03584254: iPod
|
1628 |
+
n03584829: iron
|
1629 |
+
n03590841: jack-o'-lantern
|
1630 |
+
n03594734: jean
|
1631 |
+
n03594945: jeep
|
1632 |
+
n03595614: jersey
|
1633 |
+
n03598930: jigsaw_puzzle
|
1634 |
+
n03599486: jinrikisha
|
1635 |
+
n03602883: joystick
|
1636 |
+
n03617480: kimono
|
1637 |
+
n03623198: knee_pad
|
1638 |
+
n03627232: knot
|
1639 |
+
n03630383: lab_coat
|
1640 |
+
n03633091: ladle
|
1641 |
+
n03637318: lampshade
|
1642 |
+
n03642806: laptop
|
1643 |
+
n03649909: lawn_mower
|
1644 |
+
n03657121: lens_cap
|
1645 |
+
n03658185: letter_opener
|
1646 |
+
n03661043: library
|
1647 |
+
n03662601: lifeboat
|
1648 |
+
n03666591: lighter
|
1649 |
+
n03670208: limousine
|
1650 |
+
n03673027: liner
|
1651 |
+
n03676483: lipstick
|
1652 |
+
n03680355: Loafer
|
1653 |
+
n03690938: lotion
|
1654 |
+
n03691459: loudspeaker
|
1655 |
+
n03692522: loupe
|
1656 |
+
n03697007: lumbermill
|
1657 |
+
n03706229: magnetic_compass
|
1658 |
+
n03709823: mailbag
|
1659 |
+
n03710193: mailbox
|
1660 |
+
n03710637: maillot_(tights)
|
1661 |
+
n03710721: maillot_(tank_suit)
|
1662 |
+
n03717622: manhole_cover
|
1663 |
+
n03720891: maraca
|
1664 |
+
n03721384: marimba
|
1665 |
+
n03724870: mask
|
1666 |
+
n03729826: matchstick
|
1667 |
+
n03733131: maypole
|
1668 |
+
n03733281: maze
|
1669 |
+
n03733805: measuring_cup
|
1670 |
+
n03742115: medicine_chest
|
1671 |
+
n03743016: megalith
|
1672 |
+
n03759954: microphone
|
1673 |
+
n03761084: microwave
|
1674 |
+
n03763968: military_uniform
|
1675 |
+
n03764736: milk_can
|
1676 |
+
n03769881: minibus
|
1677 |
+
n03770439: miniskirt
|
1678 |
+
n03770679: minivan
|
1679 |
+
n03773504: missile
|
1680 |
+
n03775071: mitten
|
1681 |
+
n03775546: mixing_bowl
|
1682 |
+
n03776460: mobile_home
|
1683 |
+
n03777568: Model_T
|
1684 |
+
n03777754: modem
|
1685 |
+
n03781244: monastery
|
1686 |
+
n03782006: monitor
|
1687 |
+
n03785016: moped
|
1688 |
+
n03786901: mortar
|
1689 |
+
n03787032: mortarboard
|
1690 |
+
n03788195: mosque
|
1691 |
+
n03788365: mosquito_net
|
1692 |
+
n03791053: motor_scooter
|
1693 |
+
n03792782: mountain_bike
|
1694 |
+
n03792972: mountain_tent
|
1695 |
+
n03793489: mouse
|
1696 |
+
n03794056: mousetrap
|
1697 |
+
n03796401: moving_van
|
1698 |
+
n03803284: muzzle
|
1699 |
+
n03804744: nail
|
1700 |
+
n03814639: neck_brace
|
1701 |
+
n03814906: necklace
|
1702 |
+
n03825788: nipple
|
1703 |
+
n03832673: notebook
|
1704 |
+
n03837869: obelisk
|
1705 |
+
n03838899: oboe
|
1706 |
+
n03840681: ocarina
|
1707 |
+
n03841143: odometer
|
1708 |
+
n03843555: oil_filter
|
1709 |
+
n03854065: organ
|
1710 |
+
n03857828: oscilloscope
|
1711 |
+
n03866082: overskirt
|
1712 |
+
n03868242: oxcart
|
1713 |
+
n03868863: oxygen_mask
|
1714 |
+
n03871628: packet
|
1715 |
+
n03873416: paddle
|
1716 |
+
n03874293: paddlewheel
|
1717 |
+
n03874599: padlock
|
1718 |
+
n03876231: paintbrush
|
1719 |
+
n03877472: pajama
|
1720 |
+
n03877845: palace
|
1721 |
+
n03884397: panpipe
|
1722 |
+
n03887697: paper_towel
|
1723 |
+
n03888257: parachute
|
1724 |
+
n03888605: parallel_bars
|
1725 |
+
n03891251: park_bench
|
1726 |
+
n03891332: parking_meter
|
1727 |
+
n03895866: passenger_car
|
1728 |
+
n03899768: patio
|
1729 |
+
n03902125: pay-phone
|
1730 |
+
n03903868: pedestal
|
1731 |
+
n03908618: pencil_box
|
1732 |
+
n03908714: pencil_sharpener
|
1733 |
+
n03916031: perfume
|
1734 |
+
n03920288: Petri_dish
|
1735 |
+
n03924679: photocopier
|
1736 |
+
n03929660: pick
|
1737 |
+
n03929855: pickelhaube
|
1738 |
+
n03930313: picket_fence
|
1739 |
+
n03930630: pickup
|
1740 |
+
n03933933: pier
|
1741 |
+
n03935335: piggy_bank
|
1742 |
+
n03937543: pill_bottle
|
1743 |
+
n03938244: pillow
|
1744 |
+
n03942813: ping-pong_ball
|
1745 |
+
n03944341: pinwheel
|
1746 |
+
n03947888: pirate
|
1747 |
+
n03950228: pitcher
|
1748 |
+
n03954731: plane
|
1749 |
+
n03956157: planetarium
|
1750 |
+
n03958227: plastic_bag
|
1751 |
+
n03961711: plate_rack
|
1752 |
+
n03967562: plow
|
1753 |
+
n03970156: plunger
|
1754 |
+
n03976467: Polaroid_camera
|
1755 |
+
n03976657: pole
|
1756 |
+
n03977966: police_van
|
1757 |
+
n03980874: poncho
|
1758 |
+
n03982430: pool_table
|
1759 |
+
n03983396: pop_bottle
|
1760 |
+
n03991062: pot
|
1761 |
+
n03992509: potter's_wheel
|
1762 |
+
n03995372: power_drill
|
1763 |
+
n03998194: prayer_rug
|
1764 |
+
n04004767: printer
|
1765 |
+
n04005630: prison
|
1766 |
+
n04008634: projectile
|
1767 |
+
n04009552: projector
|
1768 |
+
n04019541: puck
|
1769 |
+
n04023962: punching_bag
|
1770 |
+
n04026417: purse
|
1771 |
+
n04033901: quill
|
1772 |
+
n04033995: quilt
|
1773 |
+
n04037443: racer
|
1774 |
+
n04039381: racket
|
1775 |
+
n04040759: radiator
|
1776 |
+
n04041544: radio
|
1777 |
+
n04044716: radio_telescope
|
1778 |
+
n04049303: rain_barrel
|
1779 |
+
n04065272: recreational_vehicle
|
1780 |
+
n04067472: reel
|
1781 |
+
n04069434: reflex_camera
|
1782 |
+
n04070727: refrigerator
|
1783 |
+
n04074963: remote_control
|
1784 |
+
n04081281: restaurant
|
1785 |
+
n04086273: revolver
|
1786 |
+
n04090263: rifle
|
1787 |
+
n04099969: rocking_chair
|
1788 |
+
n04111531: rotisserie
|
1789 |
+
n04116512: rubber_eraser
|
1790 |
+
n04118538: rugby_ball
|
1791 |
+
n04118776: rule
|
1792 |
+
n04120489: running_shoe
|
1793 |
+
n04125021: safe
|
1794 |
+
n04127249: safety_pin
|
1795 |
+
n04131690: saltshaker
|
1796 |
+
n04133789: sandal
|
1797 |
+
n04136333: sarong
|
1798 |
+
n04141076: sax
|
1799 |
+
n04141327: scabbard
|
1800 |
+
n04141975: scale
|
1801 |
+
n04146614: school_bus
|
1802 |
+
n04147183: schooner
|
1803 |
+
n04149813: scoreboard
|
1804 |
+
n04152593: screen
|
1805 |
+
n04153751: screw
|
1806 |
+
n04154565: screwdriver
|
1807 |
+
n04162706: seat_belt
|
1808 |
+
n04179913: sewing_machine
|
1809 |
+
n04192698: shield
|
1810 |
+
n04200800: shoe_shop
|
1811 |
+
n04201297: shoji
|
1812 |
+
n04204238: shopping_basket
|
1813 |
+
n04204347: shopping_cart
|
1814 |
+
n04208210: shovel
|
1815 |
+
n04209133: shower_cap
|
1816 |
+
n04209239: shower_curtain
|
1817 |
+
n04228054: ski
|
1818 |
+
n04229816: ski_mask
|
1819 |
+
n04235860: sleeping_bag
|
1820 |
+
n04238763: slide_rule
|
1821 |
+
n04239074: sliding_door
|
1822 |
+
n04243546: slot
|
1823 |
+
n04251144: snorkel
|
1824 |
+
n04252077: snowmobile
|
1825 |
+
n04252225: snowplow
|
1826 |
+
n04254120: soap_dispenser
|
1827 |
+
n04254680: soccer_ball
|
1828 |
+
n04254777: sock
|
1829 |
+
n04258138: solar_dish
|
1830 |
+
n04259630: sombrero
|
1831 |
+
n04263257: soup_bowl
|
1832 |
+
n04264628: space_bar
|
1833 |
+
n04265275: space_heater
|
1834 |
+
n04266014: space_shuttle
|
1835 |
+
n04270147: spatula
|
1836 |
+
n04273569: speedboat
|
1837 |
+
n04275548: spider_web
|
1838 |
+
n04277352: spindle
|
1839 |
+
n04285008: sports_car
|
1840 |
+
n04286575: spotlight
|
1841 |
+
n04296562: stage
|
1842 |
+
n04310018: steam_locomotive
|
1843 |
+
n04311004: steel_arch_bridge
|
1844 |
+
n04311174: steel_drum
|
1845 |
+
n04317175: stethoscope
|
1846 |
+
n04325704: stole
|
1847 |
+
n04326547: stone_wall
|
1848 |
+
n04328186: stopwatch
|
1849 |
+
n04330267: stove
|
1850 |
+
n04332243: strainer
|
1851 |
+
n04335435: streetcar
|
1852 |
+
n04336792: stretcher
|
1853 |
+
n04344873: studio_couch
|
1854 |
+
n04346328: stupa
|
1855 |
+
n04347754: submarine
|
1856 |
+
n04350905: suit
|
1857 |
+
n04355338: sundial
|
1858 |
+
n04355933: sunglass
|
1859 |
+
n04356056: sunglasses
|
1860 |
+
n04357314: sunscreen
|
1861 |
+
n04366367: suspension_bridge
|
1862 |
+
n04367480: swab
|
1863 |
+
n04370456: sweatshirt
|
1864 |
+
n04371430: swimming_trunks
|
1865 |
+
n04371774: swing
|
1866 |
+
n04372370: switch
|
1867 |
+
n04376876: syringe
|
1868 |
+
n04380533: table_lamp
|
1869 |
+
n04389033: tank
|
1870 |
+
n04392985: tape_player
|
1871 |
+
n04398044: teapot
|
1872 |
+
n04399382: teddy
|
1873 |
+
n04404412: television
|
1874 |
+
n04409515: tennis_ball
|
1875 |
+
n04417672: thatch
|
1876 |
+
n04418357: theater_curtain
|
1877 |
+
n04423845: thimble
|
1878 |
+
n04428191: thresher
|
1879 |
+
n04429376: throne
|
1880 |
+
n04435653: tile_roof
|
1881 |
+
n04442312: toaster
|
1882 |
+
n04443257: tobacco_shop
|
1883 |
+
n04447861: toilet_seat
|
1884 |
+
n04456115: torch
|
1885 |
+
n04458633: totem_pole
|
1886 |
+
n04461696: tow_truck
|
1887 |
+
n04462240: toyshop
|
1888 |
+
n04465501: tractor
|
1889 |
+
n04467665: trailer_truck
|
1890 |
+
n04476259: tray
|
1891 |
+
n04479046: trench_coat
|
1892 |
+
n04482393: tricycle
|
1893 |
+
n04483307: trimaran
|
1894 |
+
n04485082: tripod
|
1895 |
+
n04486054: triumphal_arch
|
1896 |
+
n04487081: trolleybus
|
1897 |
+
n04487394: trombone
|
1898 |
+
n04493381: tub
|
1899 |
+
n04501370: turnstile
|
1900 |
+
n04505470: typewriter_keyboard
|
1901 |
+
n04507155: umbrella
|
1902 |
+
n04509417: unicycle
|
1903 |
+
n04515003: upright
|
1904 |
+
n04517823: vacuum
|
1905 |
+
n04522168: vase
|
1906 |
+
n04523525: vault
|
1907 |
+
n04525038: velvet
|
1908 |
+
n04525305: vending_machine
|
1909 |
+
n04532106: vestment
|
1910 |
+
n04532670: viaduct
|
1911 |
+
n04536866: violin
|
1912 |
+
n04540053: volleyball
|
1913 |
+
n04542943: waffle_iron
|
1914 |
+
n04548280: wall_clock
|
1915 |
+
n04548362: wallet
|
1916 |
+
n04550184: wardrobe
|
1917 |
+
n04552348: warplane
|
1918 |
+
n04553703: washbasin
|
1919 |
+
n04554684: washer
|
1920 |
+
n04557648: water_bottle
|
1921 |
+
n04560804: water_jug
|
1922 |
+
n04562935: water_tower
|
1923 |
+
n04579145: whiskey_jug
|
1924 |
+
n04579432: whistle
|
1925 |
+
n04584207: wig
|
1926 |
+
n04589890: window_screen
|
1927 |
+
n04590129: window_shade
|
1928 |
+
n04591157: Windsor_tie
|
1929 |
+
n04591713: wine_bottle
|
1930 |
+
n04592741: wing
|
1931 |
+
n04596742: wok
|
1932 |
+
n04597913: wooden_spoon
|
1933 |
+
n04599235: wool
|
1934 |
+
n04604644: worm_fence
|
1935 |
+
n04606251: wreck
|
1936 |
+
n04612504: yawl
|
1937 |
+
n04613696: yurt
|
1938 |
+
n06359193: web_site
|
1939 |
+
n06596364: comic_book
|
1940 |
+
n06785654: crossword_puzzle
|
1941 |
+
n06794110: street_sign
|
1942 |
+
n06874185: traffic_light
|
1943 |
+
n07248320: book_jacket
|
1944 |
+
n07565083: menu
|
1945 |
+
n07579787: plate
|
1946 |
+
n07583066: guacamole
|
1947 |
+
n07584110: consomme
|
1948 |
+
n07590611: hot_pot
|
1949 |
+
n07613480: trifle
|
1950 |
+
n07614500: ice_cream
|
1951 |
+
n07615774: ice_lolly
|
1952 |
+
n07684084: French_loaf
|
1953 |
+
n07693725: bagel
|
1954 |
+
n07695742: pretzel
|
1955 |
+
n07697313: cheeseburger
|
1956 |
+
n07697537: hotdog
|
1957 |
+
n07711569: mashed_potato
|
1958 |
+
n07714571: head_cabbage
|
1959 |
+
n07714990: broccoli
|
1960 |
+
n07715103: cauliflower
|
1961 |
+
n07716358: zucchini
|
1962 |
+
n07716906: spaghetti_squash
|
1963 |
+
n07717410: acorn_squash
|
1964 |
+
n07717556: butternut_squash
|
1965 |
+
n07718472: cucumber
|
1966 |
+
n07718747: artichoke
|
1967 |
+
n07720875: bell_pepper
|
1968 |
+
n07730033: cardoon
|
1969 |
+
n07734744: mushroom
|
1970 |
+
n07742313: Granny_Smith
|
1971 |
+
n07745940: strawberry
|
1972 |
+
n07747607: orange
|
1973 |
+
n07749582: lemon
|
1974 |
+
n07753113: fig
|
1975 |
+
n07753275: pineapple
|
1976 |
+
n07753592: banana
|
1977 |
+
n07754684: jackfruit
|
1978 |
+
n07760859: custard_apple
|
1979 |
+
n07768694: pomegranate
|
1980 |
+
n07802026: hay
|
1981 |
+
n07831146: carbonara
|
1982 |
+
n07836838: chocolate_sauce
|
1983 |
+
n07860988: dough
|
1984 |
+
n07871810: meat_loaf
|
1985 |
+
n07873807: pizza
|
1986 |
+
n07875152: potpie
|
1987 |
+
n07880968: burrito
|
1988 |
+
n07892512: red_wine
|
1989 |
+
n07920052: espresso
|
1990 |
+
n07930864: cup
|
1991 |
+
n07932039: eggnog
|
1992 |
+
n09193705: alp
|
1993 |
+
n09229709: bubble
|
1994 |
+
n09246464: cliff
|
1995 |
+
n09256479: coral_reef
|
1996 |
+
n09288635: geyser
|
1997 |
+
n09332890: lakeside
|
1998 |
+
n09399592: promontory
|
1999 |
+
n09421951: sandbar
|
2000 |
+
n09428293: seashore
|
2001 |
+
n09468604: valley
|
2002 |
+
n09472597: volcano
|
2003 |
+
n09835506: ballplayer
|
2004 |
+
n10148035: groom
|
2005 |
+
n10565667: scuba_diver
|
2006 |
+
n11879895: rapeseed
|
2007 |
+
n11939491: daisy
|
2008 |
+
n12057211: yellow_lady's_slipper
|
2009 |
+
n12144580: corn
|
2010 |
+
n12267677: acorn
|
2011 |
+
n12620546: hip
|
2012 |
+
n12768682: buckeye
|
2013 |
+
n12985857: coral_fungus
|
2014 |
+
n12998815: agaric
|
2015 |
+
n13037406: gyromitra
|
2016 |
+
n13040303: stinkhorn
|
2017 |
+
n13044778: earthstar
|
2018 |
+
n13052670: hen-of-the-woods
|
2019 |
+
n13054560: bolete
|
2020 |
+
n13133613: ear
|
2021 |
+
n15075141: toilet_tissue
|
2022 |
+
|
2023 |
+
# Download script/URL (optional)
|
2024 |
+
download: yolo/data/scripts/get_imagenet.sh
|
ultralytics/cfg/datasets/Objects365.yaml
ADDED
@@ -0,0 +1,442 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Objects365 dataset https://www.objects365.org/ by Megvii
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/objects365/
|
4 |
+
# Example usage: yolo train data=Objects365.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ Objects365 β downloads here (712 GB = 367G data + 345G zips)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/Objects365 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 1742289 images
|
13 |
+
val: images/val # val images (relative to 'path') 80000 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: Person
|
19 |
+
1: Sneakers
|
20 |
+
2: Chair
|
21 |
+
3: Other Shoes
|
22 |
+
4: Hat
|
23 |
+
5: Car
|
24 |
+
6: Lamp
|
25 |
+
7: Glasses
|
26 |
+
8: Bottle
|
27 |
+
9: Desk
|
28 |
+
10: Cup
|
29 |
+
11: Street Lights
|
30 |
+
12: Cabinet/shelf
|
31 |
+
13: Handbag/Satchel
|
32 |
+
14: Bracelet
|
33 |
+
15: Plate
|
34 |
+
16: Picture/Frame
|
35 |
+
17: Helmet
|
36 |
+
18: Book
|
37 |
+
19: Gloves
|
38 |
+
20: Storage box
|
39 |
+
21: Boat
|
40 |
+
22: Leather Shoes
|
41 |
+
23: Flower
|
42 |
+
24: Bench
|
43 |
+
25: Potted Plant
|
44 |
+
26: Bowl/Basin
|
45 |
+
27: Flag
|
46 |
+
28: Pillow
|
47 |
+
29: Boots
|
48 |
+
30: Vase
|
49 |
+
31: Microphone
|
50 |
+
32: Necklace
|
51 |
+
33: Ring
|
52 |
+
34: SUV
|
53 |
+
35: Wine Glass
|
54 |
+
36: Belt
|
55 |
+
37: Monitor/TV
|
56 |
+
38: Backpack
|
57 |
+
39: Umbrella
|
58 |
+
40: Traffic Light
|
59 |
+
41: Speaker
|
60 |
+
42: Watch
|
61 |
+
43: Tie
|
62 |
+
44: Trash bin Can
|
63 |
+
45: Slippers
|
64 |
+
46: Bicycle
|
65 |
+
47: Stool
|
66 |
+
48: Barrel/bucket
|
67 |
+
49: Van
|
68 |
+
50: Couch
|
69 |
+
51: Sandals
|
70 |
+
52: Basket
|
71 |
+
53: Drum
|
72 |
+
54: Pen/Pencil
|
73 |
+
55: Bus
|
74 |
+
56: Wild Bird
|
75 |
+
57: High Heels
|
76 |
+
58: Motorcycle
|
77 |
+
59: Guitar
|
78 |
+
60: Carpet
|
79 |
+
61: Cell Phone
|
80 |
+
62: Bread
|
81 |
+
63: Camera
|
82 |
+
64: Canned
|
83 |
+
65: Truck
|
84 |
+
66: Traffic cone
|
85 |
+
67: Cymbal
|
86 |
+
68: Lifesaver
|
87 |
+
69: Towel
|
88 |
+
70: Stuffed Toy
|
89 |
+
71: Candle
|
90 |
+
72: Sailboat
|
91 |
+
73: Laptop
|
92 |
+
74: Awning
|
93 |
+
75: Bed
|
94 |
+
76: Faucet
|
95 |
+
77: Tent
|
96 |
+
78: Horse
|
97 |
+
79: Mirror
|
98 |
+
80: Power outlet
|
99 |
+
81: Sink
|
100 |
+
82: Apple
|
101 |
+
83: Air Conditioner
|
102 |
+
84: Knife
|
103 |
+
85: Hockey Stick
|
104 |
+
86: Paddle
|
105 |
+
87: Pickup Truck
|
106 |
+
88: Fork
|
107 |
+
89: Traffic Sign
|
108 |
+
90: Balloon
|
109 |
+
91: Tripod
|
110 |
+
92: Dog
|
111 |
+
93: Spoon
|
112 |
+
94: Clock
|
113 |
+
95: Pot
|
114 |
+
96: Cow
|
115 |
+
97: Cake
|
116 |
+
98: Dinning Table
|
117 |
+
99: Sheep
|
118 |
+
100: Hanger
|
119 |
+
101: Blackboard/Whiteboard
|
120 |
+
102: Napkin
|
121 |
+
103: Other Fish
|
122 |
+
104: Orange/Tangerine
|
123 |
+
105: Toiletry
|
124 |
+
106: Keyboard
|
125 |
+
107: Tomato
|
126 |
+
108: Lantern
|
127 |
+
109: Machinery Vehicle
|
128 |
+
110: Fan
|
129 |
+
111: Green Vegetables
|
130 |
+
112: Banana
|
131 |
+
113: Baseball Glove
|
132 |
+
114: Airplane
|
133 |
+
115: Mouse
|
134 |
+
116: Train
|
135 |
+
117: Pumpkin
|
136 |
+
118: Soccer
|
137 |
+
119: Skiboard
|
138 |
+
120: Luggage
|
139 |
+
121: Nightstand
|
140 |
+
122: Tea pot
|
141 |
+
123: Telephone
|
142 |
+
124: Trolley
|
143 |
+
125: Head Phone
|
144 |
+
126: Sports Car
|
145 |
+
127: Stop Sign
|
146 |
+
128: Dessert
|
147 |
+
129: Scooter
|
148 |
+
130: Stroller
|
149 |
+
131: Crane
|
150 |
+
132: Remote
|
151 |
+
133: Refrigerator
|
152 |
+
134: Oven
|
153 |
+
135: Lemon
|
154 |
+
136: Duck
|
155 |
+
137: Baseball Bat
|
156 |
+
138: Surveillance Camera
|
157 |
+
139: Cat
|
158 |
+
140: Jug
|
159 |
+
141: Broccoli
|
160 |
+
142: Piano
|
161 |
+
143: Pizza
|
162 |
+
144: Elephant
|
163 |
+
145: Skateboard
|
164 |
+
146: Surfboard
|
165 |
+
147: Gun
|
166 |
+
148: Skating and Skiing shoes
|
167 |
+
149: Gas stove
|
168 |
+
150: Donut
|
169 |
+
151: Bow Tie
|
170 |
+
152: Carrot
|
171 |
+
153: Toilet
|
172 |
+
154: Kite
|
173 |
+
155: Strawberry
|
174 |
+
156: Other Balls
|
175 |
+
157: Shovel
|
176 |
+
158: Pepper
|
177 |
+
159: Computer Box
|
178 |
+
160: Toilet Paper
|
179 |
+
161: Cleaning Products
|
180 |
+
162: Chopsticks
|
181 |
+
163: Microwave
|
182 |
+
164: Pigeon
|
183 |
+
165: Baseball
|
184 |
+
166: Cutting/chopping Board
|
185 |
+
167: Coffee Table
|
186 |
+
168: Side Table
|
187 |
+
169: Scissors
|
188 |
+
170: Marker
|
189 |
+
171: Pie
|
190 |
+
172: Ladder
|
191 |
+
173: Snowboard
|
192 |
+
174: Cookies
|
193 |
+
175: Radiator
|
194 |
+
176: Fire Hydrant
|
195 |
+
177: Basketball
|
196 |
+
178: Zebra
|
197 |
+
179: Grape
|
198 |
+
180: Giraffe
|
199 |
+
181: Potato
|
200 |
+
182: Sausage
|
201 |
+
183: Tricycle
|
202 |
+
184: Violin
|
203 |
+
185: Egg
|
204 |
+
186: Fire Extinguisher
|
205 |
+
187: Candy
|
206 |
+
188: Fire Truck
|
207 |
+
189: Billiards
|
208 |
+
190: Converter
|
209 |
+
191: Bathtub
|
210 |
+
192: Wheelchair
|
211 |
+
193: Golf Club
|
212 |
+
194: Briefcase
|
213 |
+
195: Cucumber
|
214 |
+
196: Cigar/Cigarette
|
215 |
+
197: Paint Brush
|
216 |
+
198: Pear
|
217 |
+
199: Heavy Truck
|
218 |
+
200: Hamburger
|
219 |
+
201: Extractor
|
220 |
+
202: Extension Cord
|
221 |
+
203: Tong
|
222 |
+
204: Tennis Racket
|
223 |
+
205: Folder
|
224 |
+
206: American Football
|
225 |
+
207: earphone
|
226 |
+
208: Mask
|
227 |
+
209: Kettle
|
228 |
+
210: Tennis
|
229 |
+
211: Ship
|
230 |
+
212: Swing
|
231 |
+
213: Coffee Machine
|
232 |
+
214: Slide
|
233 |
+
215: Carriage
|
234 |
+
216: Onion
|
235 |
+
217: Green beans
|
236 |
+
218: Projector
|
237 |
+
219: Frisbee
|
238 |
+
220: Washing Machine/Drying Machine
|
239 |
+
221: Chicken
|
240 |
+
222: Printer
|
241 |
+
223: Watermelon
|
242 |
+
224: Saxophone
|
243 |
+
225: Tissue
|
244 |
+
226: Toothbrush
|
245 |
+
227: Ice cream
|
246 |
+
228: Hot-air balloon
|
247 |
+
229: Cello
|
248 |
+
230: French Fries
|
249 |
+
231: Scale
|
250 |
+
232: Trophy
|
251 |
+
233: Cabbage
|
252 |
+
234: Hot dog
|
253 |
+
235: Blender
|
254 |
+
236: Peach
|
255 |
+
237: Rice
|
256 |
+
238: Wallet/Purse
|
257 |
+
239: Volleyball
|
258 |
+
240: Deer
|
259 |
+
241: Goose
|
260 |
+
242: Tape
|
261 |
+
243: Tablet
|
262 |
+
244: Cosmetics
|
263 |
+
245: Trumpet
|
264 |
+
246: Pineapple
|
265 |
+
247: Golf Ball
|
266 |
+
248: Ambulance
|
267 |
+
249: Parking meter
|
268 |
+
250: Mango
|
269 |
+
251: Key
|
270 |
+
252: Hurdle
|
271 |
+
253: Fishing Rod
|
272 |
+
254: Medal
|
273 |
+
255: Flute
|
274 |
+
256: Brush
|
275 |
+
257: Penguin
|
276 |
+
258: Megaphone
|
277 |
+
259: Corn
|
278 |
+
260: Lettuce
|
279 |
+
261: Garlic
|
280 |
+
262: Swan
|
281 |
+
263: Helicopter
|
282 |
+
264: Green Onion
|
283 |
+
265: Sandwich
|
284 |
+
266: Nuts
|
285 |
+
267: Speed Limit Sign
|
286 |
+
268: Induction Cooker
|
287 |
+
269: Broom
|
288 |
+
270: Trombone
|
289 |
+
271: Plum
|
290 |
+
272: Rickshaw
|
291 |
+
273: Goldfish
|
292 |
+
274: Kiwi fruit
|
293 |
+
275: Router/modem
|
294 |
+
276: Poker Card
|
295 |
+
277: Toaster
|
296 |
+
278: Shrimp
|
297 |
+
279: Sushi
|
298 |
+
280: Cheese
|
299 |
+
281: Notepaper
|
300 |
+
282: Cherry
|
301 |
+
283: Pliers
|
302 |
+
284: CD
|
303 |
+
285: Pasta
|
304 |
+
286: Hammer
|
305 |
+
287: Cue
|
306 |
+
288: Avocado
|
307 |
+
289: Hamimelon
|
308 |
+
290: Flask
|
309 |
+
291: Mushroom
|
310 |
+
292: Screwdriver
|
311 |
+
293: Soap
|
312 |
+
294: Recorder
|
313 |
+
295: Bear
|
314 |
+
296: Eggplant
|
315 |
+
297: Board Eraser
|
316 |
+
298: Coconut
|
317 |
+
299: Tape Measure/Ruler
|
318 |
+
300: Pig
|
319 |
+
301: Showerhead
|
320 |
+
302: Globe
|
321 |
+
303: Chips
|
322 |
+
304: Steak
|
323 |
+
305: Crosswalk Sign
|
324 |
+
306: Stapler
|
325 |
+
307: Camel
|
326 |
+
308: Formula 1
|
327 |
+
309: Pomegranate
|
328 |
+
310: Dishwasher
|
329 |
+
311: Crab
|
330 |
+
312: Hoverboard
|
331 |
+
313: Meat ball
|
332 |
+
314: Rice Cooker
|
333 |
+
315: Tuba
|
334 |
+
316: Calculator
|
335 |
+
317: Papaya
|
336 |
+
318: Antelope
|
337 |
+
319: Parrot
|
338 |
+
320: Seal
|
339 |
+
321: Butterfly
|
340 |
+
322: Dumbbell
|
341 |
+
323: Donkey
|
342 |
+
324: Lion
|
343 |
+
325: Urinal
|
344 |
+
326: Dolphin
|
345 |
+
327: Electric Drill
|
346 |
+
328: Hair Dryer
|
347 |
+
329: Egg tart
|
348 |
+
330: Jellyfish
|
349 |
+
331: Treadmill
|
350 |
+
332: Lighter
|
351 |
+
333: Grapefruit
|
352 |
+
334: Game board
|
353 |
+
335: Mop
|
354 |
+
336: Radish
|
355 |
+
337: Baozi
|
356 |
+
338: Target
|
357 |
+
339: French
|
358 |
+
340: Spring Rolls
|
359 |
+
341: Monkey
|
360 |
+
342: Rabbit
|
361 |
+
343: Pencil Case
|
362 |
+
344: Yak
|
363 |
+
345: Red Cabbage
|
364 |
+
346: Binoculars
|
365 |
+
347: Asparagus
|
366 |
+
348: Barbell
|
367 |
+
349: Scallop
|
368 |
+
350: Noddles
|
369 |
+
351: Comb
|
370 |
+
352: Dumpling
|
371 |
+
353: Oyster
|
372 |
+
354: Table Tennis paddle
|
373 |
+
355: Cosmetics Brush/Eyeliner Pencil
|
374 |
+
356: Chainsaw
|
375 |
+
357: Eraser
|
376 |
+
358: Lobster
|
377 |
+
359: Durian
|
378 |
+
360: Okra
|
379 |
+
361: Lipstick
|
380 |
+
362: Cosmetics Mirror
|
381 |
+
363: Curling
|
382 |
+
364: Table Tennis
|
383 |
+
|
384 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
385 |
+
download: |
|
386 |
+
from tqdm import tqdm
|
387 |
+
|
388 |
+
from ultralytics.utils.checks import check_requirements
|
389 |
+
from ultralytics.utils.downloads import download
|
390 |
+
from ultralytics.utils.ops import xyxy2xywhn
|
391 |
+
|
392 |
+
import numpy as np
|
393 |
+
from pathlib import Path
|
394 |
+
|
395 |
+
check_requirements(('pycocotools>=2.0',))
|
396 |
+
from pycocotools.coco import COCO
|
397 |
+
|
398 |
+
# Make Directories
|
399 |
+
dir = Path(yaml['path']) # dataset root dir
|
400 |
+
for p in 'images', 'labels':
|
401 |
+
(dir / p).mkdir(parents=True, exist_ok=True)
|
402 |
+
for q in 'train', 'val':
|
403 |
+
(dir / p / q).mkdir(parents=True, exist_ok=True)
|
404 |
+
|
405 |
+
# Train, Val Splits
|
406 |
+
for split, patches in [('train', 50 + 1), ('val', 43 + 1)]:
|
407 |
+
print(f"Processing {split} in {patches} patches ...")
|
408 |
+
images, labels = dir / 'images' / split, dir / 'labels' / split
|
409 |
+
|
410 |
+
# Download
|
411 |
+
url = f"https://dorc.ks3-cn-beijing.ksyun.com/data-set/2020Objects365%E6%95%B0%E6%8D%AE%E9%9B%86/{split}/"
|
412 |
+
if split == 'train':
|
413 |
+
download([f'{url}zhiyuan_objv2_{split}.tar.gz'], dir=dir) # annotations json
|
414 |
+
download([f'{url}patch{i}.tar.gz' for i in range(patches)], dir=images, curl=True, threads=8)
|
415 |
+
elif split == 'val':
|
416 |
+
download([f'{url}zhiyuan_objv2_{split}.json'], dir=dir) # annotations json
|
417 |
+
download([f'{url}images/v1/patch{i}.tar.gz' for i in range(15 + 1)], dir=images, curl=True, threads=8)
|
418 |
+
download([f'{url}images/v2/patch{i}.tar.gz' for i in range(16, patches)], dir=images, curl=True, threads=8)
|
419 |
+
|
420 |
+
# Move
|
421 |
+
for f in tqdm(images.rglob('*.jpg'), desc=f'Moving {split} images'):
|
422 |
+
f.rename(images / f.name) # move to /images/{split}
|
423 |
+
|
424 |
+
# Labels
|
425 |
+
coco = COCO(dir / f'zhiyuan_objv2_{split}.json')
|
426 |
+
names = [x["name"] for x in coco.loadCats(coco.getCatIds())]
|
427 |
+
for cid, cat in enumerate(names):
|
428 |
+
catIds = coco.getCatIds(catNms=[cat])
|
429 |
+
imgIds = coco.getImgIds(catIds=catIds)
|
430 |
+
for im in tqdm(coco.loadImgs(imgIds), desc=f'Class {cid + 1}/{len(names)} {cat}'):
|
431 |
+
width, height = im["width"], im["height"]
|
432 |
+
path = Path(im["file_name"]) # image filename
|
433 |
+
try:
|
434 |
+
with open(labels / path.with_suffix('.txt').name, 'a') as file:
|
435 |
+
annIds = coco.getAnnIds(imgIds=im["id"], catIds=catIds, iscrowd=None)
|
436 |
+
for a in coco.loadAnns(annIds):
|
437 |
+
x, y, w, h = a['bbox'] # bounding box in xywh (xy top-left corner)
|
438 |
+
xyxy = np.array([x, y, x + w, y + h])[None] # pixels(1,4)
|
439 |
+
x, y, w, h = xyxy2xywhn(xyxy, w=width, h=height, clip=True)[0] # normalized and clipped
|
440 |
+
file.write(f"{cid} {x:.5f} {y:.5f} {w:.5f} {h:.5f}\n")
|
441 |
+
except Exception as e:
|
442 |
+
print(e)
|
ultralytics/cfg/datasets/SKU-110K.yaml
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# SKU-110K retail items dataset https://github.com/eg4000/SKU110K_CVPR19 by Trax Retail
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/sku-110k/
|
4 |
+
# Example usage: yolo train data=SKU-110K.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ SKU-110K β downloads here (13.6 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/SKU-110K # dataset root dir
|
12 |
+
train: train.txt # train images (relative to 'path') 8219 images
|
13 |
+
val: val.txt # val images (relative to 'path') 588 images
|
14 |
+
test: test.txt # test images (optional) 2936 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: object
|
19 |
+
|
20 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
21 |
+
download: |
|
22 |
+
import shutil
|
23 |
+
from pathlib import Path
|
24 |
+
|
25 |
+
import numpy as np
|
26 |
+
import pandas as pd
|
27 |
+
from tqdm import tqdm
|
28 |
+
|
29 |
+
from ultralytics.utils.downloads import download
|
30 |
+
from ultralytics.utils.ops import xyxy2xywh
|
31 |
+
|
32 |
+
# Download
|
33 |
+
dir = Path(yaml['path']) # dataset root dir
|
34 |
+
parent = Path(dir.parent) # download dir
|
35 |
+
urls = ['http://trax-geometry.s3.amazonaws.com/cvpr_challenge/SKU110K_fixed.tar.gz']
|
36 |
+
download(urls, dir=parent)
|
37 |
+
|
38 |
+
# Rename directories
|
39 |
+
if dir.exists():
|
40 |
+
shutil.rmtree(dir)
|
41 |
+
(parent / 'SKU110K_fixed').rename(dir) # rename dir
|
42 |
+
(dir / 'labels').mkdir(parents=True, exist_ok=True) # create labels dir
|
43 |
+
|
44 |
+
# Convert labels
|
45 |
+
names = 'image', 'x1', 'y1', 'x2', 'y2', 'class', 'image_width', 'image_height' # column names
|
46 |
+
for d in 'annotations_train.csv', 'annotations_val.csv', 'annotations_test.csv':
|
47 |
+
x = pd.read_csv(dir / 'annotations' / d, names=names).values # annotations
|
48 |
+
images, unique_images = x[:, 0], np.unique(x[:, 0])
|
49 |
+
with open((dir / d).with_suffix('.txt').__str__().replace('annotations_', ''), 'w') as f:
|
50 |
+
f.writelines(f'./images/{s}\n' for s in unique_images)
|
51 |
+
for im in tqdm(unique_images, desc=f'Converting {dir / d}'):
|
52 |
+
cls = 0 # single-class dataset
|
53 |
+
with open((dir / 'labels' / im).with_suffix('.txt'), 'a') as f:
|
54 |
+
for r in x[images == im]:
|
55 |
+
w, h = r[6], r[7] # image width, height
|
56 |
+
xywh = xyxy2xywh(np.array([[r[1] / w, r[2] / h, r[3] / w, r[4] / h]]))[0] # instance
|
57 |
+
f.write(f"{cls} {xywh[0]:.5f} {xywh[1]:.5f} {xywh[2]:.5f} {xywh[3]:.5f}\n") # write label
|
ultralytics/cfg/datasets/VOC.yaml
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# PASCAL VOC dataset http://host.robots.ox.ac.uk/pascal/VOC by University of Oxford
|
3 |
+
# Documentation: # Documentation: https://docs.ultralytics.com/datasets/detect/voc/
|
4 |
+
# Example usage: yolo train data=VOC.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ VOC β downloads here (2.8 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/VOC
|
12 |
+
train: # train images (relative to 'path') 16551 images
|
13 |
+
- images/train2012
|
14 |
+
- images/train2007
|
15 |
+
- images/val2012
|
16 |
+
- images/val2007
|
17 |
+
val: # val images (relative to 'path') 4952 images
|
18 |
+
- images/test2007
|
19 |
+
test: # test images (optional)
|
20 |
+
- images/test2007
|
21 |
+
|
22 |
+
# Classes
|
23 |
+
names:
|
24 |
+
0: aeroplane
|
25 |
+
1: bicycle
|
26 |
+
2: bird
|
27 |
+
3: boat
|
28 |
+
4: bottle
|
29 |
+
5: bus
|
30 |
+
6: car
|
31 |
+
7: cat
|
32 |
+
8: chair
|
33 |
+
9: cow
|
34 |
+
10: diningtable
|
35 |
+
11: dog
|
36 |
+
12: horse
|
37 |
+
13: motorbike
|
38 |
+
14: person
|
39 |
+
15: pottedplant
|
40 |
+
16: sheep
|
41 |
+
17: sofa
|
42 |
+
18: train
|
43 |
+
19: tvmonitor
|
44 |
+
|
45 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
46 |
+
download: |
|
47 |
+
import xml.etree.ElementTree as ET
|
48 |
+
|
49 |
+
from tqdm import tqdm
|
50 |
+
from ultralytics.utils.downloads import download
|
51 |
+
from pathlib import Path
|
52 |
+
|
53 |
+
def convert_label(path, lb_path, year, image_id):
|
54 |
+
def convert_box(size, box):
|
55 |
+
dw, dh = 1. / size[0], 1. / size[1]
|
56 |
+
x, y, w, h = (box[0] + box[1]) / 2.0 - 1, (box[2] + box[3]) / 2.0 - 1, box[1] - box[0], box[3] - box[2]
|
57 |
+
return x * dw, y * dh, w * dw, h * dh
|
58 |
+
|
59 |
+
in_file = open(path / f'VOC{year}/Annotations/{image_id}.xml')
|
60 |
+
out_file = open(lb_path, 'w')
|
61 |
+
tree = ET.parse(in_file)
|
62 |
+
root = tree.getroot()
|
63 |
+
size = root.find('size')
|
64 |
+
w = int(size.find('width').text)
|
65 |
+
h = int(size.find('height').text)
|
66 |
+
|
67 |
+
names = list(yaml['names'].values()) # names list
|
68 |
+
for obj in root.iter('object'):
|
69 |
+
cls = obj.find('name').text
|
70 |
+
if cls in names and int(obj.find('difficult').text) != 1:
|
71 |
+
xmlbox = obj.find('bndbox')
|
72 |
+
bb = convert_box((w, h), [float(xmlbox.find(x).text) for x in ('xmin', 'xmax', 'ymin', 'ymax')])
|
73 |
+
cls_id = names.index(cls) # class id
|
74 |
+
out_file.write(" ".join(str(a) for a in (cls_id, *bb)) + '\n')
|
75 |
+
|
76 |
+
|
77 |
+
# Download
|
78 |
+
dir = Path(yaml['path']) # dataset root dir
|
79 |
+
url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
|
80 |
+
urls = [f'{url}VOCtrainval_06-Nov-2007.zip', # 446MB, 5012 images
|
81 |
+
f'{url}VOCtest_06-Nov-2007.zip', # 438MB, 4953 images
|
82 |
+
f'{url}VOCtrainval_11-May-2012.zip'] # 1.95GB, 17126 images
|
83 |
+
download(urls, dir=dir / 'images', curl=True, threads=3, exist_ok=True) # download and unzip over existing paths (required)
|
84 |
+
|
85 |
+
# Convert
|
86 |
+
path = dir / 'images/VOCdevkit'
|
87 |
+
for year, image_set in ('2012', 'train'), ('2012', 'val'), ('2007', 'train'), ('2007', 'val'), ('2007', 'test'):
|
88 |
+
imgs_path = dir / 'images' / f'{image_set}{year}'
|
89 |
+
lbs_path = dir / 'labels' / f'{image_set}{year}'
|
90 |
+
imgs_path.mkdir(exist_ok=True, parents=True)
|
91 |
+
lbs_path.mkdir(exist_ok=True, parents=True)
|
92 |
+
|
93 |
+
with open(path / f'VOC{year}/ImageSets/Main/{image_set}.txt') as f:
|
94 |
+
image_ids = f.read().strip().split()
|
95 |
+
for id in tqdm(image_ids, desc=f'{image_set}{year}'):
|
96 |
+
f = path / f'VOC{year}/JPEGImages/{id}.jpg' # old img path
|
97 |
+
lb_path = (lbs_path / f.name).with_suffix('.txt') # new label path
|
98 |
+
f.rename(imgs_path / f.name) # move image
|
99 |
+
convert_label(path, lb_path, year, id) # convert labels to YOLO format
|
ultralytics/cfg/datasets/VisDrone.yaml
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
|
4 |
+
# Example usage: yolo train data=VisDrone.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ VisDrone β downloads here (2.3 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/VisDrone # dataset root dir
|
12 |
+
train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images
|
13 |
+
val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images
|
14 |
+
test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: pedestrian
|
19 |
+
1: people
|
20 |
+
2: bicycle
|
21 |
+
3: car
|
22 |
+
4: van
|
23 |
+
5: truck
|
24 |
+
6: tricycle
|
25 |
+
7: awning-tricycle
|
26 |
+
8: bus
|
27 |
+
9: motor
|
28 |
+
|
29 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
30 |
+
download: |
|
31 |
+
import os
|
32 |
+
from pathlib import Path
|
33 |
+
|
34 |
+
from ultralytics.utils.downloads import download
|
35 |
+
|
36 |
+
def visdrone2yolo(dir):
|
37 |
+
from PIL import Image
|
38 |
+
from tqdm import tqdm
|
39 |
+
|
40 |
+
def convert_box(size, box):
|
41 |
+
# Convert VisDrone box to YOLO xywh box
|
42 |
+
dw = 1. / size[0]
|
43 |
+
dh = 1. / size[1]
|
44 |
+
return (box[0] + box[2] / 2) * dw, (box[1] + box[3] / 2) * dh, box[2] * dw, box[3] * dh
|
45 |
+
|
46 |
+
(dir / 'labels').mkdir(parents=True, exist_ok=True) # make labels directory
|
47 |
+
pbar = tqdm((dir / 'annotations').glob('*.txt'), desc=f'Converting {dir}')
|
48 |
+
for f in pbar:
|
49 |
+
img_size = Image.open((dir / 'images' / f.name).with_suffix('.jpg')).size
|
50 |
+
lines = []
|
51 |
+
with open(f, 'r') as file: # read annotation.txt
|
52 |
+
for row in [x.split(',') for x in file.read().strip().splitlines()]:
|
53 |
+
if row[4] == '0': # VisDrone 'ignored regions' class 0
|
54 |
+
continue
|
55 |
+
cls = int(row[5]) - 1
|
56 |
+
box = convert_box(img_size, tuple(map(int, row[:4])))
|
57 |
+
lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")
|
58 |
+
with open(str(f).replace(f'{os.sep}annotations{os.sep}', f'{os.sep}labels{os.sep}'), 'w') as fl:
|
59 |
+
fl.writelines(lines) # write label.txt
|
60 |
+
|
61 |
+
|
62 |
+
# Download
|
63 |
+
dir = Path(yaml['path']) # dataset root dir
|
64 |
+
urls = ['https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-train.zip',
|
65 |
+
'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-val.zip',
|
66 |
+
'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-test-dev.zip',
|
67 |
+
'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-test-challenge.zip']
|
68 |
+
download(urls, dir=dir, curl=True, threads=4)
|
69 |
+
|
70 |
+
# Convert
|
71 |
+
for d in 'VisDrone2019-DET-train', 'VisDrone2019-DET-val', 'VisDrone2019-DET-test-dev':
|
72 |
+
visdrone2yolo(dir / d) # convert VisDrone annotations to YOLO labels
|
ultralytics/cfg/datasets/african-wildlife.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# African-wildlife dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/african-wildlife/
|
4 |
+
# Example usage: yolo train data=african-wildlife.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ african-wildlife β downloads here (100 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/african-wildlife # dataset root dir
|
12 |
+
train: train/images # train images (relative to 'path') 1052 images
|
13 |
+
val: valid/images # val images (relative to 'path') 225 images
|
14 |
+
test: test/images # test images (relative to 'path') 227 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: buffalo
|
19 |
+
1: elephant
|
20 |
+
2: rhino
|
21 |
+
3: zebra
|
22 |
+
|
23 |
+
# Download script/URL (optional)
|
24 |
+
download: https://ultralytics.com/assets/african-wildlife.zip
|
ultralytics/cfg/datasets/brain-tumor.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Brain-tumor dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/brain-tumor/
|
4 |
+
# Example usage: yolo train data=brain-tumor.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ brain-tumor β downloads here (4.05 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/brain-tumor # dataset root dir
|
12 |
+
train: train/images # train images (relative to 'path') 893 images
|
13 |
+
val: valid/images # val images (relative to 'path') 223 images
|
14 |
+
test: # test images (relative to 'path')
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: negative
|
19 |
+
1: positive
|
20 |
+
|
21 |
+
# Download script/URL (optional)
|
22 |
+
download: https://ultralytics.com/assets/brain-tumor.zip
|
ultralytics/cfg/datasets/carparts-seg.yaml
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Carparts-seg dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/segment/carparts-seg/
|
4 |
+
# Example usage: yolo train data=carparts-seg.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ carparts-seg β downloads here (132 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/carparts-seg # dataset root dir
|
12 |
+
train: train/images # train images (relative to 'path') 3516 images
|
13 |
+
val: valid/images # val images (relative to 'path') 276 images
|
14 |
+
test: test/images # test images (relative to 'path') 401 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: back_bumper
|
19 |
+
1: back_door
|
20 |
+
2: back_glass
|
21 |
+
3: back_left_door
|
22 |
+
4: back_left_light
|
23 |
+
5: back_light
|
24 |
+
6: back_right_door
|
25 |
+
7: back_right_light
|
26 |
+
8: front_bumper
|
27 |
+
9: front_door
|
28 |
+
10: front_glass
|
29 |
+
11: front_left_door
|
30 |
+
12: front_left_light
|
31 |
+
13: front_light
|
32 |
+
14: front_right_door
|
33 |
+
15: front_right_light
|
34 |
+
16: hood
|
35 |
+
17: left_mirror
|
36 |
+
18: object
|
37 |
+
19: right_mirror
|
38 |
+
20: tailgate
|
39 |
+
21: trunk
|
40 |
+
22: wheel
|
41 |
+
|
42 |
+
# Download script/URL (optional)
|
43 |
+
download: https://ultralytics.com/assets/carparts-seg.zip
|
ultralytics/cfg/datasets/coco-pose.yaml
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO 2017 dataset https://cocodataset.org by Microsoft
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
|
4 |
+
# Example usage: yolo train data=coco-pose.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco-pose β downloads here (20.1 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco-pose # dataset root dir
|
12 |
+
train: train2017.txt # train images (relative to 'path') 118287 images
|
13 |
+
val: val2017.txt # val images (relative to 'path') 5000 images
|
14 |
+
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
|
15 |
+
|
16 |
+
# Keypoints
|
17 |
+
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
18 |
+
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
|
19 |
+
|
20 |
+
# Classes
|
21 |
+
names:
|
22 |
+
0: person
|
23 |
+
|
24 |
+
# Download script/URL (optional)
|
25 |
+
download: |
|
26 |
+
from ultralytics.utils.downloads import download
|
27 |
+
from pathlib import Path
|
28 |
+
|
29 |
+
# Download labels
|
30 |
+
dir = Path(yaml['path']) # dataset root dir
|
31 |
+
url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
|
32 |
+
urls = [url + 'coco2017labels-pose.zip'] # labels
|
33 |
+
download(urls, dir=dir.parent)
|
34 |
+
# Download data
|
35 |
+
urls = ['http://images.cocodataset.org/zips/train2017.zip', # 19G, 118k images
|
36 |
+
'http://images.cocodataset.org/zips/val2017.zip', # 1G, 5k images
|
37 |
+
'http://images.cocodataset.org/zips/test2017.zip'] # 7G, 41k images (optional)
|
38 |
+
download(urls, dir=dir / 'images', threads=3)
|
ultralytics/cfg/datasets/coco.yaml
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO 2017 dataset https://cocodataset.org by Microsoft
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
|
4 |
+
# Example usage: yolo train data=coco.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco β downloads here (20.1 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco # dataset root dir
|
12 |
+
train: train2017.txt # train images (relative to 'path') 118287 images
|
13 |
+
val: val2017.txt # val images (relative to 'path') 5000 images
|
14 |
+
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: airplane
|
23 |
+
5: bus
|
24 |
+
6: train
|
25 |
+
7: truck
|
26 |
+
8: boat
|
27 |
+
9: traffic light
|
28 |
+
10: fire hydrant
|
29 |
+
11: stop sign
|
30 |
+
12: parking meter
|
31 |
+
13: bench
|
32 |
+
14: bird
|
33 |
+
15: cat
|
34 |
+
16: dog
|
35 |
+
17: horse
|
36 |
+
18: sheep
|
37 |
+
19: cow
|
38 |
+
20: elephant
|
39 |
+
21: bear
|
40 |
+
22: zebra
|
41 |
+
23: giraffe
|
42 |
+
24: backpack
|
43 |
+
25: umbrella
|
44 |
+
26: handbag
|
45 |
+
27: tie
|
46 |
+
28: suitcase
|
47 |
+
29: frisbee
|
48 |
+
30: skis
|
49 |
+
31: snowboard
|
50 |
+
32: sports ball
|
51 |
+
33: kite
|
52 |
+
34: baseball bat
|
53 |
+
35: baseball glove
|
54 |
+
36: skateboard
|
55 |
+
37: surfboard
|
56 |
+
38: tennis racket
|
57 |
+
39: bottle
|
58 |
+
40: wine glass
|
59 |
+
41: cup
|
60 |
+
42: fork
|
61 |
+
43: knife
|
62 |
+
44: spoon
|
63 |
+
45: bowl
|
64 |
+
46: banana
|
65 |
+
47: apple
|
66 |
+
48: sandwich
|
67 |
+
49: orange
|
68 |
+
50: broccoli
|
69 |
+
51: carrot
|
70 |
+
52: hot dog
|
71 |
+
53: pizza
|
72 |
+
54: donut
|
73 |
+
55: cake
|
74 |
+
56: chair
|
75 |
+
57: couch
|
76 |
+
58: potted plant
|
77 |
+
59: bed
|
78 |
+
60: dining table
|
79 |
+
61: toilet
|
80 |
+
62: tv
|
81 |
+
63: laptop
|
82 |
+
64: mouse
|
83 |
+
65: remote
|
84 |
+
66: keyboard
|
85 |
+
67: cell phone
|
86 |
+
68: microwave
|
87 |
+
69: oven
|
88 |
+
70: toaster
|
89 |
+
71: sink
|
90 |
+
72: refrigerator
|
91 |
+
73: book
|
92 |
+
74: clock
|
93 |
+
75: vase
|
94 |
+
76: scissors
|
95 |
+
77: teddy bear
|
96 |
+
78: hair drier
|
97 |
+
79: toothbrush
|
98 |
+
|
99 |
+
# Download script/URL (optional)
|
100 |
+
download: |
|
101 |
+
from ultralytics.utils.downloads import download
|
102 |
+
from pathlib import Path
|
103 |
+
|
104 |
+
# Download labels
|
105 |
+
segments = True # segment or box labels
|
106 |
+
dir = Path(yaml['path']) # dataset root dir
|
107 |
+
url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
|
108 |
+
urls = [url + ('coco2017labels-segments.zip' if segments else 'coco2017labels.zip')] # labels
|
109 |
+
download(urls, dir=dir.parent)
|
110 |
+
# Download data
|
111 |
+
urls = ['http://images.cocodataset.org/zips/train2017.zip', # 19G, 118k images
|
112 |
+
'http://images.cocodataset.org/zips/val2017.zip', # 1G, 5k images
|
113 |
+
'http://images.cocodataset.org/zips/test2017.zip'] # 7G, 41k images (optional)
|
114 |
+
download(urls, dir=dir / 'images', threads=3)
|
ultralytics/cfg/datasets/coco128-seg.yaml
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO128-seg dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/segment/coco/
|
4 |
+
# Example usage: yolo train data=coco128.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco128-seg β downloads here (7 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco128-seg # dataset root dir
|
12 |
+
train: images/train2017 # train images (relative to 'path') 128 images
|
13 |
+
val: images/train2017 # val images (relative to 'path') 128 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: airplane
|
23 |
+
5: bus
|
24 |
+
6: train
|
25 |
+
7: truck
|
26 |
+
8: boat
|
27 |
+
9: traffic light
|
28 |
+
10: fire hydrant
|
29 |
+
11: stop sign
|
30 |
+
12: parking meter
|
31 |
+
13: bench
|
32 |
+
14: bird
|
33 |
+
15: cat
|
34 |
+
16: dog
|
35 |
+
17: horse
|
36 |
+
18: sheep
|
37 |
+
19: cow
|
38 |
+
20: elephant
|
39 |
+
21: bear
|
40 |
+
22: zebra
|
41 |
+
23: giraffe
|
42 |
+
24: backpack
|
43 |
+
25: umbrella
|
44 |
+
26: handbag
|
45 |
+
27: tie
|
46 |
+
28: suitcase
|
47 |
+
29: frisbee
|
48 |
+
30: skis
|
49 |
+
31: snowboard
|
50 |
+
32: sports ball
|
51 |
+
33: kite
|
52 |
+
34: baseball bat
|
53 |
+
35: baseball glove
|
54 |
+
36: skateboard
|
55 |
+
37: surfboard
|
56 |
+
38: tennis racket
|
57 |
+
39: bottle
|
58 |
+
40: wine glass
|
59 |
+
41: cup
|
60 |
+
42: fork
|
61 |
+
43: knife
|
62 |
+
44: spoon
|
63 |
+
45: bowl
|
64 |
+
46: banana
|
65 |
+
47: apple
|
66 |
+
48: sandwich
|
67 |
+
49: orange
|
68 |
+
50: broccoli
|
69 |
+
51: carrot
|
70 |
+
52: hot dog
|
71 |
+
53: pizza
|
72 |
+
54: donut
|
73 |
+
55: cake
|
74 |
+
56: chair
|
75 |
+
57: couch
|
76 |
+
58: potted plant
|
77 |
+
59: bed
|
78 |
+
60: dining table
|
79 |
+
61: toilet
|
80 |
+
62: tv
|
81 |
+
63: laptop
|
82 |
+
64: mouse
|
83 |
+
65: remote
|
84 |
+
66: keyboard
|
85 |
+
67: cell phone
|
86 |
+
68: microwave
|
87 |
+
69: oven
|
88 |
+
70: toaster
|
89 |
+
71: sink
|
90 |
+
72: refrigerator
|
91 |
+
73: book
|
92 |
+
74: clock
|
93 |
+
75: vase
|
94 |
+
76: scissors
|
95 |
+
77: teddy bear
|
96 |
+
78: hair drier
|
97 |
+
79: toothbrush
|
98 |
+
|
99 |
+
# Download script/URL (optional)
|
100 |
+
download: https://ultralytics.com/assets/coco128-seg.zip
|
ultralytics/cfg/datasets/coco128.yaml
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
|
4 |
+
# Example usage: yolo train data=coco128.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco128 β downloads here (7 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco128 # dataset root dir
|
12 |
+
train: images/train2017 # train images (relative to 'path') 128 images
|
13 |
+
val: images/train2017 # val images (relative to 'path') 128 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: airplane
|
23 |
+
5: bus
|
24 |
+
6: train
|
25 |
+
7: truck
|
26 |
+
8: boat
|
27 |
+
9: traffic light
|
28 |
+
10: fire hydrant
|
29 |
+
11: stop sign
|
30 |
+
12: parking meter
|
31 |
+
13: bench
|
32 |
+
14: bird
|
33 |
+
15: cat
|
34 |
+
16: dog
|
35 |
+
17: horse
|
36 |
+
18: sheep
|
37 |
+
19: cow
|
38 |
+
20: elephant
|
39 |
+
21: bear
|
40 |
+
22: zebra
|
41 |
+
23: giraffe
|
42 |
+
24: backpack
|
43 |
+
25: umbrella
|
44 |
+
26: handbag
|
45 |
+
27: tie
|
46 |
+
28: suitcase
|
47 |
+
29: frisbee
|
48 |
+
30: skis
|
49 |
+
31: snowboard
|
50 |
+
32: sports ball
|
51 |
+
33: kite
|
52 |
+
34: baseball bat
|
53 |
+
35: baseball glove
|
54 |
+
36: skateboard
|
55 |
+
37: surfboard
|
56 |
+
38: tennis racket
|
57 |
+
39: bottle
|
58 |
+
40: wine glass
|
59 |
+
41: cup
|
60 |
+
42: fork
|
61 |
+
43: knife
|
62 |
+
44: spoon
|
63 |
+
45: bowl
|
64 |
+
46: banana
|
65 |
+
47: apple
|
66 |
+
48: sandwich
|
67 |
+
49: orange
|
68 |
+
50: broccoli
|
69 |
+
51: carrot
|
70 |
+
52: hot dog
|
71 |
+
53: pizza
|
72 |
+
54: donut
|
73 |
+
55: cake
|
74 |
+
56: chair
|
75 |
+
57: couch
|
76 |
+
58: potted plant
|
77 |
+
59: bed
|
78 |
+
60: dining table
|
79 |
+
61: toilet
|
80 |
+
62: tv
|
81 |
+
63: laptop
|
82 |
+
64: mouse
|
83 |
+
65: remote
|
84 |
+
66: keyboard
|
85 |
+
67: cell phone
|
86 |
+
68: microwave
|
87 |
+
69: oven
|
88 |
+
70: toaster
|
89 |
+
71: sink
|
90 |
+
72: refrigerator
|
91 |
+
73: book
|
92 |
+
74: clock
|
93 |
+
75: vase
|
94 |
+
76: scissors
|
95 |
+
77: teddy bear
|
96 |
+
78: hair drier
|
97 |
+
79: toothbrush
|
98 |
+
|
99 |
+
# Download script/URL (optional)
|
100 |
+
download: https://ultralytics.com/assets/coco128.zip
|
ultralytics/cfg/datasets/coco8-pose.yaml
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose/
|
4 |
+
# Example usage: yolo train data=coco8-pose.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco8-pose β downloads here (1 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco8-pose # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 4 images
|
13 |
+
val: images/val # val images (relative to 'path') 4 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Keypoints
|
17 |
+
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
18 |
+
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
|
19 |
+
|
20 |
+
# Classes
|
21 |
+
names:
|
22 |
+
0: person
|
23 |
+
|
24 |
+
# Download script/URL (optional)
|
25 |
+
download: https://ultralytics.com/assets/coco8-pose.zip
|
ultralytics/cfg/datasets/coco8-seg.yaml
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO8-seg dataset (first 8 images from COCO train2017) by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/segment/coco8-seg/
|
4 |
+
# Example usage: yolo train data=coco8-seg.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco8-seg β downloads here (1 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco8-seg # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 4 images
|
13 |
+
val: images/val # val images (relative to 'path') 4 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: airplane
|
23 |
+
5: bus
|
24 |
+
6: train
|
25 |
+
7: truck
|
26 |
+
8: boat
|
27 |
+
9: traffic light
|
28 |
+
10: fire hydrant
|
29 |
+
11: stop sign
|
30 |
+
12: parking meter
|
31 |
+
13: bench
|
32 |
+
14: bird
|
33 |
+
15: cat
|
34 |
+
16: dog
|
35 |
+
17: horse
|
36 |
+
18: sheep
|
37 |
+
19: cow
|
38 |
+
20: elephant
|
39 |
+
21: bear
|
40 |
+
22: zebra
|
41 |
+
23: giraffe
|
42 |
+
24: backpack
|
43 |
+
25: umbrella
|
44 |
+
26: handbag
|
45 |
+
27: tie
|
46 |
+
28: suitcase
|
47 |
+
29: frisbee
|
48 |
+
30: skis
|
49 |
+
31: snowboard
|
50 |
+
32: sports ball
|
51 |
+
33: kite
|
52 |
+
34: baseball bat
|
53 |
+
35: baseball glove
|
54 |
+
36: skateboard
|
55 |
+
37: surfboard
|
56 |
+
38: tennis racket
|
57 |
+
39: bottle
|
58 |
+
40: wine glass
|
59 |
+
41: cup
|
60 |
+
42: fork
|
61 |
+
43: knife
|
62 |
+
44: spoon
|
63 |
+
45: bowl
|
64 |
+
46: banana
|
65 |
+
47: apple
|
66 |
+
48: sandwich
|
67 |
+
49: orange
|
68 |
+
50: broccoli
|
69 |
+
51: carrot
|
70 |
+
52: hot dog
|
71 |
+
53: pizza
|
72 |
+
54: donut
|
73 |
+
55: cake
|
74 |
+
56: chair
|
75 |
+
57: couch
|
76 |
+
58: potted plant
|
77 |
+
59: bed
|
78 |
+
60: dining table
|
79 |
+
61: toilet
|
80 |
+
62: tv
|
81 |
+
63: laptop
|
82 |
+
64: mouse
|
83 |
+
65: remote
|
84 |
+
66: keyboard
|
85 |
+
67: cell phone
|
86 |
+
68: microwave
|
87 |
+
69: oven
|
88 |
+
70: toaster
|
89 |
+
71: sink
|
90 |
+
72: refrigerator
|
91 |
+
73: book
|
92 |
+
74: clock
|
93 |
+
75: vase
|
94 |
+
76: scissors
|
95 |
+
77: teddy bear
|
96 |
+
78: hair drier
|
97 |
+
79: toothbrush
|
98 |
+
|
99 |
+
# Download script/URL (optional)
|
100 |
+
download: https://ultralytics.com/assets/coco8-seg.zip
|
ultralytics/cfg/datasets/coco8.yaml
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
|
4 |
+
# Example usage: yolo train data=coco8.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ coco8 β downloads here (1 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/coco8 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 4 images
|
13 |
+
val: images/val # val images (relative to 'path') 4 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: person
|
19 |
+
1: bicycle
|
20 |
+
2: car
|
21 |
+
3: motorcycle
|
22 |
+
4: airplane
|
23 |
+
5: bus
|
24 |
+
6: train
|
25 |
+
7: truck
|
26 |
+
8: boat
|
27 |
+
9: traffic light
|
28 |
+
10: fire hydrant
|
29 |
+
11: stop sign
|
30 |
+
12: parking meter
|
31 |
+
13: bench
|
32 |
+
14: bird
|
33 |
+
15: cat
|
34 |
+
16: dog
|
35 |
+
17: horse
|
36 |
+
18: sheep
|
37 |
+
19: cow
|
38 |
+
20: elephant
|
39 |
+
21: bear
|
40 |
+
22: zebra
|
41 |
+
23: giraffe
|
42 |
+
24: backpack
|
43 |
+
25: umbrella
|
44 |
+
26: handbag
|
45 |
+
27: tie
|
46 |
+
28: suitcase
|
47 |
+
29: frisbee
|
48 |
+
30: skis
|
49 |
+
31: snowboard
|
50 |
+
32: sports ball
|
51 |
+
33: kite
|
52 |
+
34: baseball bat
|
53 |
+
35: baseball glove
|
54 |
+
36: skateboard
|
55 |
+
37: surfboard
|
56 |
+
38: tennis racket
|
57 |
+
39: bottle
|
58 |
+
40: wine glass
|
59 |
+
41: cup
|
60 |
+
42: fork
|
61 |
+
43: knife
|
62 |
+
44: spoon
|
63 |
+
45: bowl
|
64 |
+
46: banana
|
65 |
+
47: apple
|
66 |
+
48: sandwich
|
67 |
+
49: orange
|
68 |
+
50: broccoli
|
69 |
+
51: carrot
|
70 |
+
52: hot dog
|
71 |
+
53: pizza
|
72 |
+
54: donut
|
73 |
+
55: cake
|
74 |
+
56: chair
|
75 |
+
57: couch
|
76 |
+
58: potted plant
|
77 |
+
59: bed
|
78 |
+
60: dining table
|
79 |
+
61: toilet
|
80 |
+
62: tv
|
81 |
+
63: laptop
|
82 |
+
64: mouse
|
83 |
+
65: remote
|
84 |
+
66: keyboard
|
85 |
+
67: cell phone
|
86 |
+
68: microwave
|
87 |
+
69: oven
|
88 |
+
70: toaster
|
89 |
+
71: sink
|
90 |
+
72: refrigerator
|
91 |
+
73: book
|
92 |
+
74: clock
|
93 |
+
75: vase
|
94 |
+
76: scissors
|
95 |
+
77: teddy bear
|
96 |
+
78: hair drier
|
97 |
+
79: toothbrush
|
98 |
+
|
99 |
+
# Download script/URL (optional)
|
100 |
+
download: https://ultralytics.com/assets/coco8.zip
|
ultralytics/cfg/datasets/crack-seg.yaml
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Crack-seg dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/segment/crack-seg/
|
4 |
+
# Example usage: yolo train data=crack-seg.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ crack-seg β downloads here (91.2 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/crack-seg # dataset root dir
|
12 |
+
train: train/images # train images (relative to 'path') 3717 images
|
13 |
+
val: valid/images # val images (relative to 'path') 112 images
|
14 |
+
test: test/images # test images (relative to 'path') 200 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: crack
|
19 |
+
|
20 |
+
# Download script/URL (optional)
|
21 |
+
download: https://ultralytics.com/assets/crack-seg.zip
|
ultralytics/cfg/datasets/dota8.yaml
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# DOTA8 dataset 8 images from split DOTAv1 dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8/
|
4 |
+
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ dota8 β downloads here (1MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/dota8 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 4 images
|
13 |
+
val: images/val # val images (relative to 'path') 4 images
|
14 |
+
|
15 |
+
# Classes for DOTA 1.0
|
16 |
+
names:
|
17 |
+
0: plane
|
18 |
+
1: ship
|
19 |
+
2: storage tank
|
20 |
+
3: baseball diamond
|
21 |
+
4: tennis court
|
22 |
+
5: basketball court
|
23 |
+
6: ground track field
|
24 |
+
7: harbor
|
25 |
+
8: bridge
|
26 |
+
9: large vehicle
|
27 |
+
10: small vehicle
|
28 |
+
11: helicopter
|
29 |
+
12: roundabout
|
30 |
+
13: soccer ball field
|
31 |
+
14: swimming pool
|
32 |
+
|
33 |
+
# Download script/URL (optional)
|
34 |
+
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/dota8.zip
|
ultralytics/cfg/datasets/open-images-v7.yaml
ADDED
@@ -0,0 +1,660 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Open Images v7 dataset https://storage.googleapis.com/openimages/web/index.html by Google
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/open-images-v7/
|
4 |
+
# Example usage: yolo train data=open-images-v7.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ open-images-v7 β downloads here (561 GB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/open-images-v7 # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 1743042 images
|
13 |
+
val: images/val # val images (relative to 'path') 41620 images
|
14 |
+
test: # test images (optional)
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: Accordion
|
19 |
+
1: Adhesive tape
|
20 |
+
2: Aircraft
|
21 |
+
3: Airplane
|
22 |
+
4: Alarm clock
|
23 |
+
5: Alpaca
|
24 |
+
6: Ambulance
|
25 |
+
7: Animal
|
26 |
+
8: Ant
|
27 |
+
9: Antelope
|
28 |
+
10: Apple
|
29 |
+
11: Armadillo
|
30 |
+
12: Artichoke
|
31 |
+
13: Auto part
|
32 |
+
14: Axe
|
33 |
+
15: Backpack
|
34 |
+
16: Bagel
|
35 |
+
17: Baked goods
|
36 |
+
18: Balance beam
|
37 |
+
19: Ball
|
38 |
+
20: Balloon
|
39 |
+
21: Banana
|
40 |
+
22: Band-aid
|
41 |
+
23: Banjo
|
42 |
+
24: Barge
|
43 |
+
25: Barrel
|
44 |
+
26: Baseball bat
|
45 |
+
27: Baseball glove
|
46 |
+
28: Bat (Animal)
|
47 |
+
29: Bathroom accessory
|
48 |
+
30: Bathroom cabinet
|
49 |
+
31: Bathtub
|
50 |
+
32: Beaker
|
51 |
+
33: Bear
|
52 |
+
34: Bed
|
53 |
+
35: Bee
|
54 |
+
36: Beehive
|
55 |
+
37: Beer
|
56 |
+
38: Beetle
|
57 |
+
39: Bell pepper
|
58 |
+
40: Belt
|
59 |
+
41: Bench
|
60 |
+
42: Bicycle
|
61 |
+
43: Bicycle helmet
|
62 |
+
44: Bicycle wheel
|
63 |
+
45: Bidet
|
64 |
+
46: Billboard
|
65 |
+
47: Billiard table
|
66 |
+
48: Binoculars
|
67 |
+
49: Bird
|
68 |
+
50: Blender
|
69 |
+
51: Blue jay
|
70 |
+
52: Boat
|
71 |
+
53: Bomb
|
72 |
+
54: Book
|
73 |
+
55: Bookcase
|
74 |
+
56: Boot
|
75 |
+
57: Bottle
|
76 |
+
58: Bottle opener
|
77 |
+
59: Bow and arrow
|
78 |
+
60: Bowl
|
79 |
+
61: Bowling equipment
|
80 |
+
62: Box
|
81 |
+
63: Boy
|
82 |
+
64: Brassiere
|
83 |
+
65: Bread
|
84 |
+
66: Briefcase
|
85 |
+
67: Broccoli
|
86 |
+
68: Bronze sculpture
|
87 |
+
69: Brown bear
|
88 |
+
70: Building
|
89 |
+
71: Bull
|
90 |
+
72: Burrito
|
91 |
+
73: Bus
|
92 |
+
74: Bust
|
93 |
+
75: Butterfly
|
94 |
+
76: Cabbage
|
95 |
+
77: Cabinetry
|
96 |
+
78: Cake
|
97 |
+
79: Cake stand
|
98 |
+
80: Calculator
|
99 |
+
81: Camel
|
100 |
+
82: Camera
|
101 |
+
83: Can opener
|
102 |
+
84: Canary
|
103 |
+
85: Candle
|
104 |
+
86: Candy
|
105 |
+
87: Cannon
|
106 |
+
88: Canoe
|
107 |
+
89: Cantaloupe
|
108 |
+
90: Car
|
109 |
+
91: Carnivore
|
110 |
+
92: Carrot
|
111 |
+
93: Cart
|
112 |
+
94: Cassette deck
|
113 |
+
95: Castle
|
114 |
+
96: Cat
|
115 |
+
97: Cat furniture
|
116 |
+
98: Caterpillar
|
117 |
+
99: Cattle
|
118 |
+
100: Ceiling fan
|
119 |
+
101: Cello
|
120 |
+
102: Centipede
|
121 |
+
103: Chainsaw
|
122 |
+
104: Chair
|
123 |
+
105: Cheese
|
124 |
+
106: Cheetah
|
125 |
+
107: Chest of drawers
|
126 |
+
108: Chicken
|
127 |
+
109: Chime
|
128 |
+
110: Chisel
|
129 |
+
111: Chopsticks
|
130 |
+
112: Christmas tree
|
131 |
+
113: Clock
|
132 |
+
114: Closet
|
133 |
+
115: Clothing
|
134 |
+
116: Coat
|
135 |
+
117: Cocktail
|
136 |
+
118: Cocktail shaker
|
137 |
+
119: Coconut
|
138 |
+
120: Coffee
|
139 |
+
121: Coffee cup
|
140 |
+
122: Coffee table
|
141 |
+
123: Coffeemaker
|
142 |
+
124: Coin
|
143 |
+
125: Common fig
|
144 |
+
126: Common sunflower
|
145 |
+
127: Computer keyboard
|
146 |
+
128: Computer monitor
|
147 |
+
129: Computer mouse
|
148 |
+
130: Container
|
149 |
+
131: Convenience store
|
150 |
+
132: Cookie
|
151 |
+
133: Cooking spray
|
152 |
+
134: Corded phone
|
153 |
+
135: Cosmetics
|
154 |
+
136: Couch
|
155 |
+
137: Countertop
|
156 |
+
138: Cowboy hat
|
157 |
+
139: Crab
|
158 |
+
140: Cream
|
159 |
+
141: Cricket ball
|
160 |
+
142: Crocodile
|
161 |
+
143: Croissant
|
162 |
+
144: Crown
|
163 |
+
145: Crutch
|
164 |
+
146: Cucumber
|
165 |
+
147: Cupboard
|
166 |
+
148: Curtain
|
167 |
+
149: Cutting board
|
168 |
+
150: Dagger
|
169 |
+
151: Dairy Product
|
170 |
+
152: Deer
|
171 |
+
153: Desk
|
172 |
+
154: Dessert
|
173 |
+
155: Diaper
|
174 |
+
156: Dice
|
175 |
+
157: Digital clock
|
176 |
+
158: Dinosaur
|
177 |
+
159: Dishwasher
|
178 |
+
160: Dog
|
179 |
+
161: Dog bed
|
180 |
+
162: Doll
|
181 |
+
163: Dolphin
|
182 |
+
164: Door
|
183 |
+
165: Door handle
|
184 |
+
166: Doughnut
|
185 |
+
167: Dragonfly
|
186 |
+
168: Drawer
|
187 |
+
169: Dress
|
188 |
+
170: Drill (Tool)
|
189 |
+
171: Drink
|
190 |
+
172: Drinking straw
|
191 |
+
173: Drum
|
192 |
+
174: Duck
|
193 |
+
175: Dumbbell
|
194 |
+
176: Eagle
|
195 |
+
177: Earrings
|
196 |
+
178: Egg (Food)
|
197 |
+
179: Elephant
|
198 |
+
180: Envelope
|
199 |
+
181: Eraser
|
200 |
+
182: Face powder
|
201 |
+
183: Facial tissue holder
|
202 |
+
184: Falcon
|
203 |
+
185: Fashion accessory
|
204 |
+
186: Fast food
|
205 |
+
187: Fax
|
206 |
+
188: Fedora
|
207 |
+
189: Filing cabinet
|
208 |
+
190: Fire hydrant
|
209 |
+
191: Fireplace
|
210 |
+
192: Fish
|
211 |
+
193: Flag
|
212 |
+
194: Flashlight
|
213 |
+
195: Flower
|
214 |
+
196: Flowerpot
|
215 |
+
197: Flute
|
216 |
+
198: Flying disc
|
217 |
+
199: Food
|
218 |
+
200: Food processor
|
219 |
+
201: Football
|
220 |
+
202: Football helmet
|
221 |
+
203: Footwear
|
222 |
+
204: Fork
|
223 |
+
205: Fountain
|
224 |
+
206: Fox
|
225 |
+
207: French fries
|
226 |
+
208: French horn
|
227 |
+
209: Frog
|
228 |
+
210: Fruit
|
229 |
+
211: Frying pan
|
230 |
+
212: Furniture
|
231 |
+
213: Garden Asparagus
|
232 |
+
214: Gas stove
|
233 |
+
215: Giraffe
|
234 |
+
216: Girl
|
235 |
+
217: Glasses
|
236 |
+
218: Glove
|
237 |
+
219: Goat
|
238 |
+
220: Goggles
|
239 |
+
221: Goldfish
|
240 |
+
222: Golf ball
|
241 |
+
223: Golf cart
|
242 |
+
224: Gondola
|
243 |
+
225: Goose
|
244 |
+
226: Grape
|
245 |
+
227: Grapefruit
|
246 |
+
228: Grinder
|
247 |
+
229: Guacamole
|
248 |
+
230: Guitar
|
249 |
+
231: Hair dryer
|
250 |
+
232: Hair spray
|
251 |
+
233: Hamburger
|
252 |
+
234: Hammer
|
253 |
+
235: Hamster
|
254 |
+
236: Hand dryer
|
255 |
+
237: Handbag
|
256 |
+
238: Handgun
|
257 |
+
239: Harbor seal
|
258 |
+
240: Harmonica
|
259 |
+
241: Harp
|
260 |
+
242: Harpsichord
|
261 |
+
243: Hat
|
262 |
+
244: Headphones
|
263 |
+
245: Heater
|
264 |
+
246: Hedgehog
|
265 |
+
247: Helicopter
|
266 |
+
248: Helmet
|
267 |
+
249: High heels
|
268 |
+
250: Hiking equipment
|
269 |
+
251: Hippopotamus
|
270 |
+
252: Home appliance
|
271 |
+
253: Honeycomb
|
272 |
+
254: Horizontal bar
|
273 |
+
255: Horse
|
274 |
+
256: Hot dog
|
275 |
+
257: House
|
276 |
+
258: Houseplant
|
277 |
+
259: Human arm
|
278 |
+
260: Human beard
|
279 |
+
261: Human body
|
280 |
+
262: Human ear
|
281 |
+
263: Human eye
|
282 |
+
264: Human face
|
283 |
+
265: Human foot
|
284 |
+
266: Human hair
|
285 |
+
267: Human hand
|
286 |
+
268: Human head
|
287 |
+
269: Human leg
|
288 |
+
270: Human mouth
|
289 |
+
271: Human nose
|
290 |
+
272: Humidifier
|
291 |
+
273: Ice cream
|
292 |
+
274: Indoor rower
|
293 |
+
275: Infant bed
|
294 |
+
276: Insect
|
295 |
+
277: Invertebrate
|
296 |
+
278: Ipod
|
297 |
+
279: Isopod
|
298 |
+
280: Jacket
|
299 |
+
281: Jacuzzi
|
300 |
+
282: Jaguar (Animal)
|
301 |
+
283: Jeans
|
302 |
+
284: Jellyfish
|
303 |
+
285: Jet ski
|
304 |
+
286: Jug
|
305 |
+
287: Juice
|
306 |
+
288: Kangaroo
|
307 |
+
289: Kettle
|
308 |
+
290: Kitchen & dining room table
|
309 |
+
291: Kitchen appliance
|
310 |
+
292: Kitchen knife
|
311 |
+
293: Kitchen utensil
|
312 |
+
294: Kitchenware
|
313 |
+
295: Kite
|
314 |
+
296: Knife
|
315 |
+
297: Koala
|
316 |
+
298: Ladder
|
317 |
+
299: Ladle
|
318 |
+
300: Ladybug
|
319 |
+
301: Lamp
|
320 |
+
302: Land vehicle
|
321 |
+
303: Lantern
|
322 |
+
304: Laptop
|
323 |
+
305: Lavender (Plant)
|
324 |
+
306: Lemon
|
325 |
+
307: Leopard
|
326 |
+
308: Light bulb
|
327 |
+
309: Light switch
|
328 |
+
310: Lighthouse
|
329 |
+
311: Lily
|
330 |
+
312: Limousine
|
331 |
+
313: Lion
|
332 |
+
314: Lipstick
|
333 |
+
315: Lizard
|
334 |
+
316: Lobster
|
335 |
+
317: Loveseat
|
336 |
+
318: Luggage and bags
|
337 |
+
319: Lynx
|
338 |
+
320: Magpie
|
339 |
+
321: Mammal
|
340 |
+
322: Man
|
341 |
+
323: Mango
|
342 |
+
324: Maple
|
343 |
+
325: Maracas
|
344 |
+
326: Marine invertebrates
|
345 |
+
327: Marine mammal
|
346 |
+
328: Measuring cup
|
347 |
+
329: Mechanical fan
|
348 |
+
330: Medical equipment
|
349 |
+
331: Microphone
|
350 |
+
332: Microwave oven
|
351 |
+
333: Milk
|
352 |
+
334: Miniskirt
|
353 |
+
335: Mirror
|
354 |
+
336: Missile
|
355 |
+
337: Mixer
|
356 |
+
338: Mixing bowl
|
357 |
+
339: Mobile phone
|
358 |
+
340: Monkey
|
359 |
+
341: Moths and butterflies
|
360 |
+
342: Motorcycle
|
361 |
+
343: Mouse
|
362 |
+
344: Muffin
|
363 |
+
345: Mug
|
364 |
+
346: Mule
|
365 |
+
347: Mushroom
|
366 |
+
348: Musical instrument
|
367 |
+
349: Musical keyboard
|
368 |
+
350: Nail (Construction)
|
369 |
+
351: Necklace
|
370 |
+
352: Nightstand
|
371 |
+
353: Oboe
|
372 |
+
354: Office building
|
373 |
+
355: Office supplies
|
374 |
+
356: Orange
|
375 |
+
357: Organ (Musical Instrument)
|
376 |
+
358: Ostrich
|
377 |
+
359: Otter
|
378 |
+
360: Oven
|
379 |
+
361: Owl
|
380 |
+
362: Oyster
|
381 |
+
363: Paddle
|
382 |
+
364: Palm tree
|
383 |
+
365: Pancake
|
384 |
+
366: Panda
|
385 |
+
367: Paper cutter
|
386 |
+
368: Paper towel
|
387 |
+
369: Parachute
|
388 |
+
370: Parking meter
|
389 |
+
371: Parrot
|
390 |
+
372: Pasta
|
391 |
+
373: Pastry
|
392 |
+
374: Peach
|
393 |
+
375: Pear
|
394 |
+
376: Pen
|
395 |
+
377: Pencil case
|
396 |
+
378: Pencil sharpener
|
397 |
+
379: Penguin
|
398 |
+
380: Perfume
|
399 |
+
381: Person
|
400 |
+
382: Personal care
|
401 |
+
383: Personal flotation device
|
402 |
+
384: Piano
|
403 |
+
385: Picnic basket
|
404 |
+
386: Picture frame
|
405 |
+
387: Pig
|
406 |
+
388: Pillow
|
407 |
+
389: Pineapple
|
408 |
+
390: Pitcher (Container)
|
409 |
+
391: Pizza
|
410 |
+
392: Pizza cutter
|
411 |
+
393: Plant
|
412 |
+
394: Plastic bag
|
413 |
+
395: Plate
|
414 |
+
396: Platter
|
415 |
+
397: Plumbing fixture
|
416 |
+
398: Polar bear
|
417 |
+
399: Pomegranate
|
418 |
+
400: Popcorn
|
419 |
+
401: Porch
|
420 |
+
402: Porcupine
|
421 |
+
403: Poster
|
422 |
+
404: Potato
|
423 |
+
405: Power plugs and sockets
|
424 |
+
406: Pressure cooker
|
425 |
+
407: Pretzel
|
426 |
+
408: Printer
|
427 |
+
409: Pumpkin
|
428 |
+
410: Punching bag
|
429 |
+
411: Rabbit
|
430 |
+
412: Raccoon
|
431 |
+
413: Racket
|
432 |
+
414: Radish
|
433 |
+
415: Ratchet (Device)
|
434 |
+
416: Raven
|
435 |
+
417: Rays and skates
|
436 |
+
418: Red panda
|
437 |
+
419: Refrigerator
|
438 |
+
420: Remote control
|
439 |
+
421: Reptile
|
440 |
+
422: Rhinoceros
|
441 |
+
423: Rifle
|
442 |
+
424: Ring binder
|
443 |
+
425: Rocket
|
444 |
+
426: Roller skates
|
445 |
+
427: Rose
|
446 |
+
428: Rugby ball
|
447 |
+
429: Ruler
|
448 |
+
430: Salad
|
449 |
+
431: Salt and pepper shakers
|
450 |
+
432: Sandal
|
451 |
+
433: Sandwich
|
452 |
+
434: Saucer
|
453 |
+
435: Saxophone
|
454 |
+
436: Scale
|
455 |
+
437: Scarf
|
456 |
+
438: Scissors
|
457 |
+
439: Scoreboard
|
458 |
+
440: Scorpion
|
459 |
+
441: Screwdriver
|
460 |
+
442: Sculpture
|
461 |
+
443: Sea lion
|
462 |
+
444: Sea turtle
|
463 |
+
445: Seafood
|
464 |
+
446: Seahorse
|
465 |
+
447: Seat belt
|
466 |
+
448: Segway
|
467 |
+
449: Serving tray
|
468 |
+
450: Sewing machine
|
469 |
+
451: Shark
|
470 |
+
452: Sheep
|
471 |
+
453: Shelf
|
472 |
+
454: Shellfish
|
473 |
+
455: Shirt
|
474 |
+
456: Shorts
|
475 |
+
457: Shotgun
|
476 |
+
458: Shower
|
477 |
+
459: Shrimp
|
478 |
+
460: Sink
|
479 |
+
461: Skateboard
|
480 |
+
462: Ski
|
481 |
+
463: Skirt
|
482 |
+
464: Skull
|
483 |
+
465: Skunk
|
484 |
+
466: Skyscraper
|
485 |
+
467: Slow cooker
|
486 |
+
468: Snack
|
487 |
+
469: Snail
|
488 |
+
470: Snake
|
489 |
+
471: Snowboard
|
490 |
+
472: Snowman
|
491 |
+
473: Snowmobile
|
492 |
+
474: Snowplow
|
493 |
+
475: Soap dispenser
|
494 |
+
476: Sock
|
495 |
+
477: Sofa bed
|
496 |
+
478: Sombrero
|
497 |
+
479: Sparrow
|
498 |
+
480: Spatula
|
499 |
+
481: Spice rack
|
500 |
+
482: Spider
|
501 |
+
483: Spoon
|
502 |
+
484: Sports equipment
|
503 |
+
485: Sports uniform
|
504 |
+
486: Squash (Plant)
|
505 |
+
487: Squid
|
506 |
+
488: Squirrel
|
507 |
+
489: Stairs
|
508 |
+
490: Stapler
|
509 |
+
491: Starfish
|
510 |
+
492: Stationary bicycle
|
511 |
+
493: Stethoscope
|
512 |
+
494: Stool
|
513 |
+
495: Stop sign
|
514 |
+
496: Strawberry
|
515 |
+
497: Street light
|
516 |
+
498: Stretcher
|
517 |
+
499: Studio couch
|
518 |
+
500: Submarine
|
519 |
+
501: Submarine sandwich
|
520 |
+
502: Suit
|
521 |
+
503: Suitcase
|
522 |
+
504: Sun hat
|
523 |
+
505: Sunglasses
|
524 |
+
506: Surfboard
|
525 |
+
507: Sushi
|
526 |
+
508: Swan
|
527 |
+
509: Swim cap
|
528 |
+
510: Swimming pool
|
529 |
+
511: Swimwear
|
530 |
+
512: Sword
|
531 |
+
513: Syringe
|
532 |
+
514: Table
|
533 |
+
515: Table tennis racket
|
534 |
+
516: Tablet computer
|
535 |
+
517: Tableware
|
536 |
+
518: Taco
|
537 |
+
519: Tank
|
538 |
+
520: Tap
|
539 |
+
521: Tart
|
540 |
+
522: Taxi
|
541 |
+
523: Tea
|
542 |
+
524: Teapot
|
543 |
+
525: Teddy bear
|
544 |
+
526: Telephone
|
545 |
+
527: Television
|
546 |
+
528: Tennis ball
|
547 |
+
529: Tennis racket
|
548 |
+
530: Tent
|
549 |
+
531: Tiara
|
550 |
+
532: Tick
|
551 |
+
533: Tie
|
552 |
+
534: Tiger
|
553 |
+
535: Tin can
|
554 |
+
536: Tire
|
555 |
+
537: Toaster
|
556 |
+
538: Toilet
|
557 |
+
539: Toilet paper
|
558 |
+
540: Tomato
|
559 |
+
541: Tool
|
560 |
+
542: Toothbrush
|
561 |
+
543: Torch
|
562 |
+
544: Tortoise
|
563 |
+
545: Towel
|
564 |
+
546: Tower
|
565 |
+
547: Toy
|
566 |
+
548: Traffic light
|
567 |
+
549: Traffic sign
|
568 |
+
550: Train
|
569 |
+
551: Training bench
|
570 |
+
552: Treadmill
|
571 |
+
553: Tree
|
572 |
+
554: Tree house
|
573 |
+
555: Tripod
|
574 |
+
556: Trombone
|
575 |
+
557: Trousers
|
576 |
+
558: Truck
|
577 |
+
559: Trumpet
|
578 |
+
560: Turkey
|
579 |
+
561: Turtle
|
580 |
+
562: Umbrella
|
581 |
+
563: Unicycle
|
582 |
+
564: Van
|
583 |
+
565: Vase
|
584 |
+
566: Vegetable
|
585 |
+
567: Vehicle
|
586 |
+
568: Vehicle registration plate
|
587 |
+
569: Violin
|
588 |
+
570: Volleyball (Ball)
|
589 |
+
571: Waffle
|
590 |
+
572: Waffle iron
|
591 |
+
573: Wall clock
|
592 |
+
574: Wardrobe
|
593 |
+
575: Washing machine
|
594 |
+
576: Waste container
|
595 |
+
577: Watch
|
596 |
+
578: Watercraft
|
597 |
+
579: Watermelon
|
598 |
+
580: Weapon
|
599 |
+
581: Whale
|
600 |
+
582: Wheel
|
601 |
+
583: Wheelchair
|
602 |
+
584: Whisk
|
603 |
+
585: Whiteboard
|
604 |
+
586: Willow
|
605 |
+
587: Window
|
606 |
+
588: Window blind
|
607 |
+
589: Wine
|
608 |
+
590: Wine glass
|
609 |
+
591: Wine rack
|
610 |
+
592: Winter melon
|
611 |
+
593: Wok
|
612 |
+
594: Woman
|
613 |
+
595: Wood-burning stove
|
614 |
+
596: Woodpecker
|
615 |
+
597: Worm
|
616 |
+
598: Wrench
|
617 |
+
599: Zebra
|
618 |
+
600: Zucchini
|
619 |
+
|
620 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
621 |
+
download: |
|
622 |
+
from ultralytics.utils import LOGGER, SETTINGS, Path, is_ubuntu, get_ubuntu_version
|
623 |
+
from ultralytics.utils.checks import check_requirements, check_version
|
624 |
+
|
625 |
+
check_requirements('fiftyone')
|
626 |
+
if is_ubuntu() and check_version(get_ubuntu_version(), '>=22.04'):
|
627 |
+
# Ubuntu>=22.04 patch https://github.com/voxel51/fiftyone/issues/2961#issuecomment-1666519347
|
628 |
+
check_requirements('fiftyone-db-ubuntu2204')
|
629 |
+
|
630 |
+
import fiftyone as fo
|
631 |
+
import fiftyone.zoo as foz
|
632 |
+
import warnings
|
633 |
+
|
634 |
+
name = 'open-images-v7'
|
635 |
+
fraction = 1.0 # fraction of full dataset to use
|
636 |
+
LOGGER.warning('WARNING β οΈ Open Images V7 dataset requires at least **561 GB of free space. Starting download...')
|
637 |
+
for split in 'train', 'validation': # 1743042 train, 41620 val images
|
638 |
+
train = split == 'train'
|
639 |
+
|
640 |
+
# Load Open Images dataset
|
641 |
+
dataset = foz.load_zoo_dataset(name,
|
642 |
+
split=split,
|
643 |
+
label_types=['detections'],
|
644 |
+
dataset_dir=Path(SETTINGS['datasets_dir']) / 'fiftyone' / name,
|
645 |
+
max_samples=round((1743042 if train else 41620) * fraction))
|
646 |
+
|
647 |
+
# Define classes
|
648 |
+
if train:
|
649 |
+
classes = dataset.default_classes # all classes
|
650 |
+
# classes = dataset.distinct('ground_truth.detections.label') # only observed classes
|
651 |
+
|
652 |
+
# Export to YOLO format
|
653 |
+
with warnings.catch_warnings():
|
654 |
+
warnings.filterwarnings("ignore", category=UserWarning, module="fiftyone.utils.yolo")
|
655 |
+
dataset.export(export_dir=str(Path(SETTINGS['datasets_dir']) / name),
|
656 |
+
dataset_type=fo.types.YOLOv5Dataset,
|
657 |
+
label_field='ground_truth',
|
658 |
+
split='val' if split == 'validation' else split,
|
659 |
+
classes=classes,
|
660 |
+
overwrite=train)
|
ultralytics/cfg/datasets/package-seg.yaml
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Package-seg dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/segment/package-seg/
|
4 |
+
# Example usage: yolo train data=package-seg.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ package-seg β downloads here (102 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/package-seg # dataset root dir
|
12 |
+
train: images/train # train images (relative to 'path') 1920 images
|
13 |
+
val: images/val # val images (relative to 'path') 89 images
|
14 |
+
test: test/images # test images (relative to 'path') 188 images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: package
|
19 |
+
|
20 |
+
# Download script/URL (optional)
|
21 |
+
download: https://ultralytics.com/assets/package-seg.zip
|
ultralytics/cfg/datasets/tiger-pose.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Tiger Pose dataset by Ultralytics
|
3 |
+
# Documentation: https://docs.ultralytics.com/datasets/pose/tiger-pose/
|
4 |
+
# Example usage: yolo train data=tiger-pose.yaml
|
5 |
+
# parent
|
6 |
+
# βββ ultralytics
|
7 |
+
# βββ datasets
|
8 |
+
# βββ tiger-pose β downloads here (75.3 MB)
|
9 |
+
|
10 |
+
# 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, ..]
|
11 |
+
path: ../datasets/tiger-pose # dataset root dir
|
12 |
+
train: train # train images (relative to 'path') 210 images
|
13 |
+
val: val # val images (relative to 'path') 53 images
|
14 |
+
|
15 |
+
# Keypoints
|
16 |
+
kpt_shape: [12, 2] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
17 |
+
flip_idx: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
18 |
+
|
19 |
+
# Classes
|
20 |
+
names:
|
21 |
+
0: tiger
|
22 |
+
|
23 |
+
# Download script/URL (optional)
|
24 |
+
download: https://ultralytics.com/assets/tiger-pose.zip
|
ultralytics/cfg/datasets/xView.yaml
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# DIUx xView 2018 Challenge https://challenge.xviewdataset.org by U.S. National Geospatial-Intelligence Agency (NGA)
|
3 |
+
# -------- DOWNLOAD DATA MANUALLY and jar xf val_images.zip to 'datasets/xView' before running train command! --------
|
4 |
+
# Documentation: https://docs.ultralytics.com/datasets/detect/xview/
|
5 |
+
# Example usage: yolo train data=xView.yaml
|
6 |
+
# parent
|
7 |
+
# βββ ultralytics
|
8 |
+
# βββ datasets
|
9 |
+
# βββ xView β downloads here (20.7 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: ../datasets/xView # dataset root dir
|
13 |
+
train: images/autosplit_train.txt # train images (relative to 'path') 90% of 847 train images
|
14 |
+
val: images/autosplit_val.txt # train images (relative to 'path') 10% of 847 train images
|
15 |
+
|
16 |
+
# Classes
|
17 |
+
names:
|
18 |
+
0: Fixed-wing Aircraft
|
19 |
+
1: Small Aircraft
|
20 |
+
2: Cargo Plane
|
21 |
+
3: Helicopter
|
22 |
+
4: Passenger Vehicle
|
23 |
+
5: Small Car
|
24 |
+
6: Bus
|
25 |
+
7: Pickup Truck
|
26 |
+
8: Utility Truck
|
27 |
+
9: Truck
|
28 |
+
10: Cargo Truck
|
29 |
+
11: Truck w/Box
|
30 |
+
12: Truck Tractor
|
31 |
+
13: Trailer
|
32 |
+
14: Truck w/Flatbed
|
33 |
+
15: Truck w/Liquid
|
34 |
+
16: Crane Truck
|
35 |
+
17: Railway Vehicle
|
36 |
+
18: Passenger Car
|
37 |
+
19: Cargo Car
|
38 |
+
20: Flat Car
|
39 |
+
21: Tank car
|
40 |
+
22: Locomotive
|
41 |
+
23: Maritime Vessel
|
42 |
+
24: Motorboat
|
43 |
+
25: Sailboat
|
44 |
+
26: Tugboat
|
45 |
+
27: Barge
|
46 |
+
28: Fishing Vessel
|
47 |
+
29: Ferry
|
48 |
+
30: Yacht
|
49 |
+
31: Container Ship
|
50 |
+
32: Oil Tanker
|
51 |
+
33: Engineering Vehicle
|
52 |
+
34: Tower crane
|
53 |
+
35: Container Crane
|
54 |
+
36: Reach Stacker
|
55 |
+
37: Straddle Carrier
|
56 |
+
38: Mobile Crane
|
57 |
+
39: Dump Truck
|
58 |
+
40: Haul Truck
|
59 |
+
41: Scraper/Tractor
|
60 |
+
42: Front loader/Bulldozer
|
61 |
+
43: Excavator
|
62 |
+
44: Cement Mixer
|
63 |
+
45: Ground Grader
|
64 |
+
46: Hut/Tent
|
65 |
+
47: Shed
|
66 |
+
48: Building
|
67 |
+
49: Aircraft Hangar
|
68 |
+
50: Damaged Building
|
69 |
+
51: Facility
|
70 |
+
52: Construction Site
|
71 |
+
53: Vehicle Lot
|
72 |
+
54: Helipad
|
73 |
+
55: Storage Tank
|
74 |
+
56: Shipping container lot
|
75 |
+
57: Shipping Container
|
76 |
+
58: Pylon
|
77 |
+
59: Tower
|
78 |
+
|
79 |
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
80 |
+
download: |
|
81 |
+
import json
|
82 |
+
import os
|
83 |
+
from pathlib import Path
|
84 |
+
|
85 |
+
import numpy as np
|
86 |
+
from PIL import Image
|
87 |
+
from tqdm import tqdm
|
88 |
+
|
89 |
+
from ultralytics.data.utils import autosplit
|
90 |
+
from ultralytics.utils.ops import xyxy2xywhn
|
91 |
+
|
92 |
+
|
93 |
+
def convert_labels(fname=Path('xView/xView_train.geojson')):
|
94 |
+
# Convert xView geoJSON labels to YOLO format
|
95 |
+
path = fname.parent
|
96 |
+
with open(fname) as f:
|
97 |
+
print(f'Loading {fname}...')
|
98 |
+
data = json.load(f)
|
99 |
+
|
100 |
+
# Make dirs
|
101 |
+
labels = Path(path / 'labels' / 'train')
|
102 |
+
os.system(f'rm -rf {labels}')
|
103 |
+
labels.mkdir(parents=True, exist_ok=True)
|
104 |
+
|
105 |
+
# xView classes 11-94 to 0-59
|
106 |
+
xview_class2index = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, -1, 3, -1, 4, 5, 6, 7, 8, -1, 9, 10, 11,
|
107 |
+
12, 13, 14, 15, -1, -1, 16, 17, 18, 19, 20, 21, 22, -1, 23, 24, 25, -1, 26, 27, -1, 28, -1,
|
108 |
+
29, 30, 31, 32, 33, 34, 35, 36, 37, -1, 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, -1, -1, 46,
|
109 |
+
47, 48, 49, -1, 50, 51, -1, 52, -1, -1, -1, 53, 54, -1, 55, -1, -1, 56, -1, 57, -1, 58, 59]
|
110 |
+
|
111 |
+
shapes = {}
|
112 |
+
for feature in tqdm(data['features'], desc=f'Converting {fname}'):
|
113 |
+
p = feature['properties']
|
114 |
+
if p['bounds_imcoords']:
|
115 |
+
id = p['image_id']
|
116 |
+
file = path / 'train_images' / id
|
117 |
+
if file.exists(): # 1395.tif missing
|
118 |
+
try:
|
119 |
+
box = np.array([int(num) for num in p['bounds_imcoords'].split(",")])
|
120 |
+
assert box.shape[0] == 4, f'incorrect box shape {box.shape[0]}'
|
121 |
+
cls = p['type_id']
|
122 |
+
cls = xview_class2index[int(cls)] # xView class to 0-60
|
123 |
+
assert 59 >= cls >= 0, f'incorrect class index {cls}'
|
124 |
+
|
125 |
+
# Write YOLO label
|
126 |
+
if id not in shapes:
|
127 |
+
shapes[id] = Image.open(file).size
|
128 |
+
box = xyxy2xywhn(box[None].astype(np.float), w=shapes[id][0], h=shapes[id][1], clip=True)
|
129 |
+
with open((labels / id).with_suffix('.txt'), 'a') as f:
|
130 |
+
f.write(f"{cls} {' '.join(f'{x:.6f}' for x in box[0])}\n") # write label.txt
|
131 |
+
except Exception as e:
|
132 |
+
print(f'WARNING: skipping one label for {file}: {e}')
|
133 |
+
|
134 |
+
|
135 |
+
# Download manually from https://challenge.xviewdataset.org
|
136 |
+
dir = Path(yaml['path']) # dataset root dir
|
137 |
+
# urls = ['https://d307kc0mrhucc3.cloudfront.net/train_labels.zip', # train labels
|
138 |
+
# 'https://d307kc0mrhucc3.cloudfront.net/train_images.zip', # 15G, 847 train images
|
139 |
+
# 'https://d307kc0mrhucc3.cloudfront.net/val_images.zip'] # 5G, 282 val images (no labels)
|
140 |
+
# download(urls, dir=dir)
|
141 |
+
|
142 |
+
# Convert labels
|
143 |
+
convert_labels(dir / 'xView_train.geojson')
|
144 |
+
|
145 |
+
# Move images
|
146 |
+
images = Path(dir / 'images')
|
147 |
+
images.mkdir(parents=True, exist_ok=True)
|
148 |
+
Path(dir / 'train_images').rename(dir / 'images' / 'train')
|
149 |
+
Path(dir / 'val_images').rename(dir / 'images' / 'val')
|
150 |
+
|
151 |
+
# Split
|
152 |
+
autosplit(dir / 'images' / 'train')
|
ultralytics/cfg/default.yaml
ADDED
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# Default training settings and hyperparameters for medium-augmentation COCO training
|
3 |
+
|
4 |
+
task: detect # (str) YOLO task, i.e. detect, segment, classify, pose
|
5 |
+
mode: train # (str) YOLO mode, i.e. train, val, predict, export, track, benchmark
|
6 |
+
|
7 |
+
# Train settings -------------------------------------------------------------------------------------------------------
|
8 |
+
model: # (str, optional) path to model file, i.e. yolov8n.pt, yolov8n.yaml
|
9 |
+
data: # (str, optional) path to data file, i.e. coco128.yaml
|
10 |
+
epochs: 100 # (int) number of epochs to train for
|
11 |
+
time: # (float, optional) number of hours to train for, overrides epochs if supplied
|
12 |
+
patience: 100 # (int) epochs to wait for no observable improvement for early stopping of training
|
13 |
+
batch: 16 # (int) number of images per batch (-1 for AutoBatch)
|
14 |
+
imgsz: 640 # (int | list) input images size as int for train and val modes, or list[w,h] for predict and export modes
|
15 |
+
save: True # (bool) save train checkpoints and predict results
|
16 |
+
save_period: -1 # (int) Save checkpoint every x epochs (disabled if < 1)
|
17 |
+
val_period: 1 # (int) Validation every x epochs
|
18 |
+
cache: False # (bool) True/ram, disk or False. Use cache for data loading
|
19 |
+
device: # (int | str | list, optional) device to run on, i.e. cuda device=0 or device=0,1,2,3 or device=cpu
|
20 |
+
workers: 8 # (int) number of worker threads for data loading (per RANK if DDP)
|
21 |
+
project: # (str, optional) project name
|
22 |
+
name: # (str, optional) experiment name, results saved to 'project/name' directory
|
23 |
+
exist_ok: False # (bool) whether to overwrite existing experiment
|
24 |
+
pretrained: True # (bool | str) whether to use a pretrained model (bool) or a model to load weights from (str)
|
25 |
+
optimizer: auto # (str) optimizer to use, choices=[SGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, auto]
|
26 |
+
verbose: True # (bool) whether to print verbose output
|
27 |
+
seed: 0 # (int) random seed for reproducibility
|
28 |
+
deterministic: True # (bool) whether to enable deterministic mode
|
29 |
+
single_cls: False # (bool) train multi-class data as single-class
|
30 |
+
rect: False # (bool) rectangular training if mode='train' or rectangular validation if mode='val'
|
31 |
+
cos_lr: False # (bool) use cosine learning rate scheduler
|
32 |
+
close_mosaic: 10 # (int) disable mosaic augmentation for final epochs (0 to disable)
|
33 |
+
resume: False # (bool) resume training from last checkpoint
|
34 |
+
amp: True # (bool) Automatic Mixed Precision (AMP) training, choices=[True, False], True runs AMP check
|
35 |
+
fraction: 1.0 # (float) dataset fraction to train on (default is 1.0, all images in train set)
|
36 |
+
profile: False # (bool) profile ONNX and TensorRT speeds during training for loggers
|
37 |
+
freeze: None # (int | list, optional) freeze first n layers, or freeze list of layer indices during training
|
38 |
+
multi_scale: False # (bool) Whether to use multiscale during training
|
39 |
+
# Segmentation
|
40 |
+
overlap_mask: True # (bool) masks should overlap during training (segment train only)
|
41 |
+
mask_ratio: 4 # (int) mask downsample ratio (segment train only)
|
42 |
+
# Classification
|
43 |
+
dropout: 0.0 # (float) use dropout regularization (classify train only)
|
44 |
+
|
45 |
+
# Val/Test settings ----------------------------------------------------------------------------------------------------
|
46 |
+
val: True # (bool) validate/test during training
|
47 |
+
split: val # (str) dataset split to use for validation, i.e. 'val', 'test' or 'train'
|
48 |
+
save_json: False # (bool) save results to JSON file
|
49 |
+
save_hybrid: False # (bool) save hybrid version of labels (labels + additional predictions)
|
50 |
+
conf: # (float, optional) object confidence threshold for detection (default 0.25 predict, 0.001 val)
|
51 |
+
iou: 0.7 # (float) intersection over union (IoU) threshold for NMS
|
52 |
+
max_det: 300 # (int) maximum number of detections per image
|
53 |
+
half: False # (bool) use half precision (FP16)
|
54 |
+
dnn: False # (bool) use OpenCV DNN for ONNX inference
|
55 |
+
plots: True # (bool) save plots and images during train/val
|
56 |
+
|
57 |
+
# Predict settings -----------------------------------------------------------------------------------------------------
|
58 |
+
source: # (str, optional) source directory for images or videos
|
59 |
+
vid_stride: 1 # (int) video frame-rate stride
|
60 |
+
stream_buffer: False # (bool) buffer all streaming frames (True) or return the most recent frame (False)
|
61 |
+
visualize: False # (bool) visualize model features
|
62 |
+
augment: False # (bool) apply image augmentation to prediction sources
|
63 |
+
agnostic_nms: False # (bool) class-agnostic NMS
|
64 |
+
classes: # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
|
65 |
+
retina_masks: False # (bool) use high-resolution segmentation masks
|
66 |
+
embed: # (list[int], optional) return feature vectors/embeddings from given layers
|
67 |
+
|
68 |
+
# Visualize settings ---------------------------------------------------------------------------------------------------
|
69 |
+
show: False # (bool) show predicted images and videos if environment allows
|
70 |
+
save_frames: False # (bool) save predicted individual video frames
|
71 |
+
save_txt: False # (bool) save results as .txt file
|
72 |
+
save_conf: False # (bool) save results with confidence scores
|
73 |
+
save_crop: False # (bool) save cropped images with results
|
74 |
+
show_labels: True # (bool) show prediction labels, i.e. 'person'
|
75 |
+
show_conf: True # (bool) show prediction confidence, i.e. '0.99'
|
76 |
+
show_boxes: True # (bool) show prediction boxes
|
77 |
+
line_width: # (int, optional) line width of the bounding boxes. Scaled to image size if None.
|
78 |
+
|
79 |
+
# Export settings ------------------------------------------------------------------------------------------------------
|
80 |
+
format: torchscript # (str) format to export to, choices at https://docs.ultralytics.com/modes/export/#export-formats
|
81 |
+
keras: False # (bool) use Kera=s
|
82 |
+
optimize: False # (bool) TorchScript: optimize for mobile
|
83 |
+
int8: False # (bool) CoreML/TF INT8 quantization
|
84 |
+
dynamic: False # (bool) ONNX/TF/TensorRT: dynamic axes
|
85 |
+
simplify: False # (bool) ONNX: simplify model
|
86 |
+
opset: # (int, optional) ONNX: opset version
|
87 |
+
workspace: 4 # (int) TensorRT: workspace size (GB)
|
88 |
+
nms: False # (bool) CoreML: add NMS
|
89 |
+
|
90 |
+
# Hyperparameters ------------------------------------------------------------------------------------------------------
|
91 |
+
lr0: 0.01 # (float) initial learning rate (i.e. SGD=1E-2, Adam=1E-3)
|
92 |
+
lrf: 0.01 # (float) final learning rate (lr0 * lrf)
|
93 |
+
momentum: 0.937 # (float) SGD momentum/Adam beta1
|
94 |
+
weight_decay: 0.0005 # (float) optimizer weight decay 5e-4
|
95 |
+
warmup_epochs: 3.0 # (float) warmup epochs (fractions ok)
|
96 |
+
warmup_momentum: 0.8 # (float) warmup initial momentum
|
97 |
+
warmup_bias_lr: 0.1 # (float) warmup initial bias lr
|
98 |
+
box: 7.5 # (float) box loss gain
|
99 |
+
cls: 0.5 # (float) cls loss gain (scale with pixels)
|
100 |
+
dfl: 1.5 # (float) dfl loss gain
|
101 |
+
pose: 12.0 # (float) pose loss gain
|
102 |
+
kobj: 1.0 # (float) keypoint obj loss gain
|
103 |
+
label_smoothing: 0.0 # (float) label smoothing (fraction)
|
104 |
+
nbs: 64 # (int) nominal batch size
|
105 |
+
hsv_h: 0.015 # (float) image HSV-Hue augmentation (fraction)
|
106 |
+
hsv_s: 0.7 # (float) image HSV-Saturation augmentation (fraction)
|
107 |
+
hsv_v: 0.4 # (float) image HSV-Value augmentation (fraction)
|
108 |
+
degrees: 0.0 # (float) image rotation (+/- deg)
|
109 |
+
translate: 0.1 # (float) image translation (+/- fraction)
|
110 |
+
scale: 0.5 # (float) image scale (+/- gain)
|
111 |
+
shear: 0.0 # (float) image shear (+/- deg)
|
112 |
+
perspective: 0.0 # (float) image perspective (+/- fraction), range 0-0.001
|
113 |
+
flipud: 0.0 # (float) image flip up-down (probability)
|
114 |
+
fliplr: 0.5 # (float) image flip left-right (probability)
|
115 |
+
bgr: 0.0 # (float) image channel BGR (probability)
|
116 |
+
mosaic: 1.0 # (float) image mosaic (probability)
|
117 |
+
mixup: 0.0 # (float) image mixup (probability)
|
118 |
+
copy_paste: 0.0 # (float) segment copy-paste (probability)
|
119 |
+
auto_augment: randaugment # (str) auto augmentation policy for classification (randaugment, autoaugment, augmix)
|
120 |
+
erasing: 0.4 # (float) probability of random erasing during classification training (0-1)
|
121 |
+
crop_fraction: 1.0 # (float) image crop fraction for classification evaluation/inference (0-1)
|
122 |
+
|
123 |
+
# Custom config.yaml ---------------------------------------------------------------------------------------------------
|
124 |
+
cfg: # (str, optional) for overriding defaults.yaml
|
125 |
+
|
126 |
+
# Tracker settings ------------------------------------------------------------------------------------------------------
|
127 |
+
tracker: botsort.yaml # (str) tracker type, choices=[botsort.yaml, bytetrack.yaml]
|
ultralytics/cfg/models/README.md
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Models
|
2 |
+
|
3 |
+
Welcome to the Ultralytics Models directory! Here you will find a wide variety of pre-configured model configuration files (`*.yaml`s) that can be used to create custom YOLO models. The models in this directory have been expertly crafted and fine-tuned by the Ultralytics team to provide the best performance for a wide range of object detection and image segmentation tasks.
|
4 |
+
|
5 |
+
These model configurations cover a wide range of scenarios, from simple object detection to more complex tasks like instance segmentation and object tracking. They are also designed to run efficiently on a variety of hardware platforms, from CPUs to GPUs. Whether you are a seasoned machine learning practitioner or just getting started with YOLO, this directory provides a great starting point for your custom model development needs.
|
6 |
+
|
7 |
+
To get started, simply browse through the models in this directory and find one that best suits your needs. Once you've selected a model, you can use the provided `*.yaml` file to train and deploy your custom YOLO model with ease. See full details at the Ultralytics [Docs](https://docs.ultralytics.com/models), and if you need help or have any questions, feel free to reach out to the Ultralytics team for support. So, don't wait, start creating your custom YOLO model now!
|
8 |
+
|
9 |
+
### Usage
|
10 |
+
|
11 |
+
Model `*.yaml` files may be used directly in the Command Line Interface (CLI) with a `yolo` command:
|
12 |
+
|
13 |
+
```bash
|
14 |
+
yolo task=detect mode=train model=yolov8n.yaml data=coco128.yaml epochs=100
|
15 |
+
```
|
16 |
+
|
17 |
+
They may also be used directly in a Python environment, and accepts the same [arguments](https://docs.ultralytics.com/usage/cfg/) as in the CLI example above:
|
18 |
+
|
19 |
+
```python
|
20 |
+
from ultralytics import YOLO
|
21 |
+
|
22 |
+
model = YOLO("model.yaml") # build a YOLOv8n model from scratch
|
23 |
+
# YOLO("model.pt") use pre-trained model if available
|
24 |
+
model.info() # display model information
|
25 |
+
model.train(data="coco128.yaml", epochs=100) # train the model
|
26 |
+
```
|
27 |
+
|
28 |
+
## Pre-trained Model Architectures
|
29 |
+
|
30 |
+
Ultralytics supports many model architectures. Visit https://docs.ultralytics.com/models to view detailed information and usage. Any of these models can be used by loading their configs or pretrained checkpoints if available.
|
31 |
+
|
32 |
+
## Contribute New Models
|
33 |
+
|
34 |
+
Have you trained a new YOLO variant or achieved state-of-the-art performance with specific tuning? We'd love to showcase your work in our Models section! Contributions from the community in the form of new models, architectures, or optimizations are highly valued and can significantly enrich our repository.
|
35 |
+
|
36 |
+
By contributing to this section, you're helping us offer a wider array of model choices and configurations to the community. It's a fantastic way to share your knowledge and expertise while making the Ultralytics YOLO ecosystem even more versatile.
|
37 |
+
|
38 |
+
To get started, please consult our [Contributing Guide](https://docs.ultralytics.com/help/contributing) for step-by-step instructions on how to submit a Pull Request (PR) π οΈ. Your contributions are eagerly awaited!
|
39 |
+
|
40 |
+
Let's join hands to extend the range and capabilities of the Ultralytics YOLO models π!
|
ultralytics/cfg/models/rt-detr/rtdetr-l.yaml
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# RT-DETR-l object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/rtdetr
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
l: [1.00, 1.00, 1024]
|
9 |
+
|
10 |
+
backbone:
|
11 |
+
# [from, repeats, module, args]
|
12 |
+
- [-1, 1, HGStem, [32, 48]] # 0-P2/4
|
13 |
+
- [-1, 6, HGBlock, [48, 128, 3]] # stage 1
|
14 |
+
|
15 |
+
- [-1, 1, DWConv, [128, 3, 2, 1, False]] # 2-P3/8
|
16 |
+
- [-1, 6, HGBlock, [96, 512, 3]] # stage 2
|
17 |
+
|
18 |
+
- [-1, 1, DWConv, [512, 3, 2, 1, False]] # 4-P3/16
|
19 |
+
- [-1, 6, HGBlock, [192, 1024, 5, True, False]] # cm, c2, k, light, shortcut
|
20 |
+
- [-1, 6, HGBlock, [192, 1024, 5, True, True]]
|
21 |
+
- [-1, 6, HGBlock, [192, 1024, 5, True, True]] # stage 3
|
22 |
+
|
23 |
+
- [-1, 1, DWConv, [1024, 3, 2, 1, False]] # 8-P4/32
|
24 |
+
- [-1, 6, HGBlock, [384, 2048, 5, True, False]] # stage 4
|
25 |
+
|
26 |
+
head:
|
27 |
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 10 input_proj.2
|
28 |
+
- [-1, 1, AIFI, [1024, 8]]
|
29 |
+
- [-1, 1, Conv, [256, 1, 1]] # 12, Y5, lateral_convs.0
|
30 |
+
|
31 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
32 |
+
- [7, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14 input_proj.1
|
33 |
+
- [[-2, -1], 1, Concat, [1]]
|
34 |
+
- [-1, 3, RepC3, [256]] # 16, fpn_blocks.0
|
35 |
+
- [-1, 1, Conv, [256, 1, 1]] # 17, Y4, lateral_convs.1
|
36 |
+
|
37 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
38 |
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 19 input_proj.0
|
39 |
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
40 |
+
- [-1, 3, RepC3, [256]] # X3 (21), fpn_blocks.1
|
41 |
+
|
42 |
+
- [-1, 1, Conv, [256, 3, 2]] # 22, downsample_convs.0
|
43 |
+
- [[-1, 17], 1, Concat, [1]] # cat Y4
|
44 |
+
- [-1, 3, RepC3, [256]] # F4 (24), pan_blocks.0
|
45 |
+
|
46 |
+
- [-1, 1, Conv, [256, 3, 2]] # 25, downsample_convs.1
|
47 |
+
- [[-1, 12], 1, Concat, [1]] # cat Y5
|
48 |
+
- [-1, 3, RepC3, [256]] # F5 (27), pan_blocks.1
|
49 |
+
|
50 |
+
- [[21, 24, 27], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# RT-DETR-ResNet101 object detection model with P3-P5 outputs.
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
l: [1.00, 1.00, 1024]
|
9 |
+
|
10 |
+
backbone:
|
11 |
+
# [from, repeats, module, args]
|
12 |
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0
|
13 |
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1
|
14 |
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2
|
15 |
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 23]] # 3
|
16 |
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4
|
17 |
+
|
18 |
+
head:
|
19 |
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 5
|
20 |
+
- [-1, 1, AIFI, [1024, 8]]
|
21 |
+
- [-1, 1, Conv, [256, 1, 1]] # 7
|
22 |
+
|
23 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
24 |
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 9
|
25 |
+
- [[-2, -1], 1, Concat, [1]]
|
26 |
+
- [-1, 3, RepC3, [256]] # 11
|
27 |
+
- [-1, 1, Conv, [256, 1, 1]] # 12
|
28 |
+
|
29 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30 |
+
- [2, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14
|
31 |
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
32 |
+
- [-1, 3, RepC3, [256]] # X3 (16), fpn_blocks.1
|
33 |
+
|
34 |
+
- [-1, 1, Conv, [256, 3, 2]] # 17, downsample_convs.0
|
35 |
+
- [[-1, 12], 1, Concat, [1]] # cat Y4
|
36 |
+
- [-1, 3, RepC3, [256]] # F4 (19), pan_blocks.0
|
37 |
+
|
38 |
+
- [-1, 1, Conv, [256, 3, 2]] # 20, downsample_convs.1
|
39 |
+
- [[-1, 7], 1, Concat, [1]] # cat Y5
|
40 |
+
- [-1, 3, RepC3, [256]] # F5 (22), pan_blocks.1
|
41 |
+
|
42 |
+
- [[16, 19, 22], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# RT-DETR-ResNet50 object detection model with P3-P5 outputs.
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
l: [1.00, 1.00, 1024]
|
9 |
+
|
10 |
+
backbone:
|
11 |
+
# [from, repeats, module, args]
|
12 |
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0
|
13 |
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1
|
14 |
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2
|
15 |
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 6]] # 3
|
16 |
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4
|
17 |
+
|
18 |
+
head:
|
19 |
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 5
|
20 |
+
- [-1, 1, AIFI, [1024, 8]]
|
21 |
+
- [-1, 1, Conv, [256, 1, 1]] # 7
|
22 |
+
|
23 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
24 |
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 9
|
25 |
+
- [[-2, -1], 1, Concat, [1]]
|
26 |
+
- [-1, 3, RepC3, [256]] # 11
|
27 |
+
- [-1, 1, Conv, [256, 1, 1]] # 12
|
28 |
+
|
29 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30 |
+
- [2, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14
|
31 |
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
32 |
+
- [-1, 3, RepC3, [256]] # X3 (16), fpn_blocks.1
|
33 |
+
|
34 |
+
- [-1, 1, Conv, [256, 3, 2]] # 17, downsample_convs.0
|
35 |
+
- [[-1, 12], 1, Concat, [1]] # cat Y4
|
36 |
+
- [-1, 3, RepC3, [256]] # F4 (19), pan_blocks.0
|
37 |
+
|
38 |
+
- [-1, 1, Conv, [256, 3, 2]] # 20, downsample_convs.1
|
39 |
+
- [[-1, 7], 1, Concat, [1]] # cat Y5
|
40 |
+
- [-1, 3, RepC3, [256]] # F5 (22), pan_blocks.1
|
41 |
+
|
42 |
+
- [[16, 19, 22], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/rt-detr/rtdetr-x.yaml
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# RT-DETR-x object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/rtdetr
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
x: [1.00, 1.00, 2048]
|
9 |
+
|
10 |
+
backbone:
|
11 |
+
# [from, repeats, module, args]
|
12 |
+
- [-1, 1, HGStem, [32, 64]] # 0-P2/4
|
13 |
+
- [-1, 6, HGBlock, [64, 128, 3]] # stage 1
|
14 |
+
|
15 |
+
- [-1, 1, DWConv, [128, 3, 2, 1, False]] # 2-P3/8
|
16 |
+
- [-1, 6, HGBlock, [128, 512, 3]]
|
17 |
+
- [-1, 6, HGBlock, [128, 512, 3, False, True]] # 4-stage 2
|
18 |
+
|
19 |
+
- [-1, 1, DWConv, [512, 3, 2, 1, False]] # 5-P3/16
|
20 |
+
- [-1, 6, HGBlock, [256, 1024, 5, True, False]] # cm, c2, k, light, shortcut
|
21 |
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
22 |
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
23 |
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
24 |
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]] # 10-stage 3
|
25 |
+
|
26 |
+
- [-1, 1, DWConv, [1024, 3, 2, 1, False]] # 11-P4/32
|
27 |
+
- [-1, 6, HGBlock, [512, 2048, 5, True, False]]
|
28 |
+
- [-1, 6, HGBlock, [512, 2048, 5, True, True]] # 13-stage 4
|
29 |
+
|
30 |
+
head:
|
31 |
+
- [-1, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 14 input_proj.2
|
32 |
+
- [-1, 1, AIFI, [2048, 8]]
|
33 |
+
- [-1, 1, Conv, [384, 1, 1]] # 16, Y5, lateral_convs.0
|
34 |
+
|
35 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
36 |
+
- [10, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 18 input_proj.1
|
37 |
+
- [[-2, -1], 1, Concat, [1]]
|
38 |
+
- [-1, 3, RepC3, [384]] # 20, fpn_blocks.0
|
39 |
+
- [-1, 1, Conv, [384, 1, 1]] # 21, Y4, lateral_convs.1
|
40 |
+
|
41 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
42 |
+
- [4, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 23 input_proj.0
|
43 |
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
44 |
+
- [-1, 3, RepC3, [384]] # X3 (25), fpn_blocks.1
|
45 |
+
|
46 |
+
- [-1, 1, Conv, [384, 3, 2]] # 26, downsample_convs.0
|
47 |
+
- [[-1, 21], 1, Concat, [1]] # cat Y4
|
48 |
+
- [-1, 3, RepC3, [384]] # F4 (28), pan_blocks.0
|
49 |
+
|
50 |
+
- [-1, 1, Conv, [384, 3, 2]] # 29, downsample_convs.1
|
51 |
+
- [[-1, 16], 1, Concat, [1]] # cat Y5
|
52 |
+
- [-1, 3, RepC3, [384]] # F5 (31), pan_blocks.1
|
53 |
+
|
54 |
+
- [[25, 28, 31], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10b.yaml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Parameters
|
2 |
+
nc: 80 # number of classes
|
3 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
4 |
+
# [depth, width, max_channels]
|
5 |
+
b: [0.67, 1.00, 512]
|
6 |
+
|
7 |
+
# YOLOv8.0n backbone
|
8 |
+
backbone:
|
9 |
+
# [from, repeats, module, args]
|
10 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
11 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
12 |
+
- [-1, 3, C2f, [128, True]]
|
13 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
14 |
+
- [-1, 6, C2f, [256, True]]
|
15 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
16 |
+
- [-1, 6, C2f, [512, True]]
|
17 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
18 |
+
- [-1, 3, C2fCIB, [1024, True]]
|
19 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
20 |
+
- [-1, 1, PSA, [1024]] # 10
|
21 |
+
|
22 |
+
# YOLOv8.0n head
|
23 |
+
head:
|
24 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
25 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
26 |
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
27 |
+
|
28 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
29 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
30 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
31 |
+
|
32 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
33 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
34 |
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
35 |
+
|
36 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
37 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
38 |
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
39 |
+
|
40 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10l.yaml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Parameters
|
2 |
+
nc: 80 # number of classes
|
3 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
4 |
+
# [depth, width, max_channels]
|
5 |
+
l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
|
6 |
+
|
7 |
+
# YOLOv8.0n backbone
|
8 |
+
backbone:
|
9 |
+
# [from, repeats, module, args]
|
10 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
11 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
12 |
+
- [-1, 3, C2f, [128, True]]
|
13 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
14 |
+
- [-1, 6, C2f, [256, True]]
|
15 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
16 |
+
- [-1, 6, C2f, [512, True]]
|
17 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
18 |
+
- [-1, 3, C2fCIB, [1024, True]]
|
19 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
20 |
+
- [-1, 1, PSA, [1024]] # 10
|
21 |
+
|
22 |
+
# YOLOv8.0n head
|
23 |
+
head:
|
24 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
25 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
26 |
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
27 |
+
|
28 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
29 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
30 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
31 |
+
|
32 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
33 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
34 |
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
35 |
+
|
36 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
37 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
38 |
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
39 |
+
|
40 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10m.yaml
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
|
9 |
+
|
10 |
+
# YOLOv8.0n backbone
|
11 |
+
backbone:
|
12 |
+
# [from, repeats, module, args]
|
13 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
14 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
15 |
+
- [-1, 3, C2f, [128, True]]
|
16 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
17 |
+
- [-1, 6, C2f, [256, True]]
|
18 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
19 |
+
- [-1, 6, C2f, [512, True]]
|
20 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
21 |
+
- [-1, 3, C2fCIB, [1024, True]]
|
22 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
23 |
+
- [-1, 1, PSA, [1024]] # 10
|
24 |
+
|
25 |
+
# YOLOv8.0n head
|
26 |
+
head:
|
27 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
28 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
29 |
+
- [-1, 3, C2f, [512]] # 13
|
30 |
+
|
31 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
32 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
33 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
34 |
+
|
35 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
36 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
37 |
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
38 |
+
|
39 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
40 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
41 |
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
42 |
+
|
43 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10n.yaml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Parameters
|
2 |
+
nc: 80 # number of classes
|
3 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
4 |
+
# [depth, width, max_channels]
|
5 |
+
n: [0.33, 0.25, 1024]
|
6 |
+
|
7 |
+
# YOLOv8.0n backbone
|
8 |
+
backbone:
|
9 |
+
# [from, repeats, module, args]
|
10 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
11 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
12 |
+
- [-1, 3, C2f, [128, True]]
|
13 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
14 |
+
- [-1, 6, C2f, [256, True]]
|
15 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
16 |
+
- [-1, 6, C2f, [512, True]]
|
17 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
18 |
+
- [-1, 3, C2f, [1024, True]]
|
19 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
20 |
+
- [-1, 1, PSA, [1024]] # 10
|
21 |
+
|
22 |
+
# YOLOv8.0n head
|
23 |
+
head:
|
24 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
25 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
26 |
+
- [-1, 3, C2f, [512]] # 13
|
27 |
+
|
28 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
29 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
30 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
31 |
+
|
32 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
33 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
34 |
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
35 |
+
|
36 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
37 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
38 |
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
39 |
+
|
40 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10s.yaml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Parameters
|
2 |
+
nc: 80 # number of classes
|
3 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
4 |
+
# [depth, width, max_channels]
|
5 |
+
s: [0.33, 0.50, 1024]
|
6 |
+
|
7 |
+
backbone:
|
8 |
+
# [from, repeats, module, args]
|
9 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
10 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
11 |
+
- [-1, 3, C2f, [128, True]]
|
12 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
13 |
+
- [-1, 6, C2f, [256, True]]
|
14 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
15 |
+
- [-1, 6, C2f, [512, True]]
|
16 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
17 |
+
- [-1, 3, C2fCIB, [1024, True, True]]
|
18 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
19 |
+
- [-1, 1, PSA, [1024]] # 10
|
20 |
+
|
21 |
+
# YOLOv8.0n head
|
22 |
+
head:
|
23 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
24 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
25 |
+
- [-1, 3, C2f, [512]] # 13
|
26 |
+
|
27 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
28 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
29 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
30 |
+
|
31 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
32 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
33 |
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
34 |
+
|
35 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
36 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
37 |
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
38 |
+
|
39 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v10/yolov10x.yaml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Parameters
|
2 |
+
nc: 80 # number of classes
|
3 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
4 |
+
# [depth, width, max_channels]
|
5 |
+
x: [1.00, 1.25, 512]
|
6 |
+
|
7 |
+
# YOLOv8.0n backbone
|
8 |
+
backbone:
|
9 |
+
# [from, repeats, module, args]
|
10 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
11 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
12 |
+
- [-1, 3, C2f, [128, True]]
|
13 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
14 |
+
- [-1, 6, C2f, [256, True]]
|
15 |
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
16 |
+
- [-1, 6, C2fCIB, [512, True]]
|
17 |
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
18 |
+
- [-1, 3, C2fCIB, [1024, True]]
|
19 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
20 |
+
- [-1, 1, PSA, [1024]] # 10
|
21 |
+
|
22 |
+
# YOLOv8.0n head
|
23 |
+
head:
|
24 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
25 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
26 |
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
27 |
+
|
28 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
29 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
30 |
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
31 |
+
|
32 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
33 |
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
34 |
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
35 |
+
|
36 |
+
- [-1, 1, SCDown, [512, 3, 2]]
|
37 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
38 |
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
39 |
+
|
40 |
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v3/yolov3-spp.yaml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv3-SPP object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
depth_multiple: 1.0 # model depth multiple
|
7 |
+
width_multiple: 1.0 # layer channel multiple
|
8 |
+
|
9 |
+
# darknet53 backbone
|
10 |
+
backbone:
|
11 |
+
# [from, number, module, args]
|
12 |
+
- [-1, 1, Conv, [32, 3, 1]] # 0
|
13 |
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
14 |
+
- [-1, 1, Bottleneck, [64]]
|
15 |
+
- [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
|
16 |
+
- [-1, 2, Bottleneck, [128]]
|
17 |
+
- [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
|
18 |
+
- [-1, 8, Bottleneck, [256]]
|
19 |
+
- [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
|
20 |
+
- [-1, 8, Bottleneck, [512]]
|
21 |
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
|
22 |
+
- [-1, 4, Bottleneck, [1024]] # 10
|
23 |
+
|
24 |
+
# YOLOv3-SPP head
|
25 |
+
head:
|
26 |
+
- [-1, 1, Bottleneck, [1024, False]]
|
27 |
+
- [-1, 1, SPP, [512, [5, 9, 13]]]
|
28 |
+
- [-1, 1, Conv, [1024, 3, 1]]
|
29 |
+
- [-1, 1, Conv, [512, 1, 1]]
|
30 |
+
- [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
|
31 |
+
|
32 |
+
- [-2, 1, Conv, [256, 1, 1]]
|
33 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34 |
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
35 |
+
- [-1, 1, Bottleneck, [512, False]]
|
36 |
+
- [-1, 1, Bottleneck, [512, False]]
|
37 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
38 |
+
- [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
|
39 |
+
|
40 |
+
- [-2, 1, Conv, [128, 1, 1]]
|
41 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
42 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P3
|
43 |
+
- [-1, 1, Bottleneck, [256, False]]
|
44 |
+
- [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
|
45 |
+
|
46 |
+
- [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v3/yolov3-tiny.yaml
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv3-tiny object detection model with P4-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
depth_multiple: 1.0 # model depth multiple
|
7 |
+
width_multiple: 1.0 # layer channel multiple
|
8 |
+
|
9 |
+
# YOLOv3-tiny backbone
|
10 |
+
backbone:
|
11 |
+
# [from, number, module, args]
|
12 |
+
- [-1, 1, Conv, [16, 3, 1]] # 0
|
13 |
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 1-P1/2
|
14 |
+
- [-1, 1, Conv, [32, 3, 1]]
|
15 |
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 3-P2/4
|
16 |
+
- [-1, 1, Conv, [64, 3, 1]]
|
17 |
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 5-P3/8
|
18 |
+
- [-1, 1, Conv, [128, 3, 1]]
|
19 |
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 7-P4/16
|
20 |
+
- [-1, 1, Conv, [256, 3, 1]]
|
21 |
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 9-P5/32
|
22 |
+
- [-1, 1, Conv, [512, 3, 1]]
|
23 |
+
- [-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]] # 11
|
24 |
+
- [-1, 1, nn.MaxPool2d, [2, 1, 0]] # 12
|
25 |
+
|
26 |
+
# YOLOv3-tiny head
|
27 |
+
head:
|
28 |
+
- [-1, 1, Conv, [1024, 3, 1]]
|
29 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
30 |
+
- [-1, 1, Conv, [512, 3, 1]] # 15 (P5/32-large)
|
31 |
+
|
32 |
+
- [-2, 1, Conv, [128, 1, 1]]
|
33 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34 |
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
35 |
+
- [-1, 1, Conv, [256, 3, 1]] # 19 (P4/16-medium)
|
36 |
+
|
37 |
+
- [[19, 15], 1, Detect, [nc]] # Detect(P4, P5)
|
ultralytics/cfg/models/v3/yolov3.yaml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv3 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
depth_multiple: 1.0 # model depth multiple
|
7 |
+
width_multiple: 1.0 # layer channel multiple
|
8 |
+
|
9 |
+
# darknet53 backbone
|
10 |
+
backbone:
|
11 |
+
# [from, number, module, args]
|
12 |
+
- [-1, 1, Conv, [32, 3, 1]] # 0
|
13 |
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
14 |
+
- [-1, 1, Bottleneck, [64]]
|
15 |
+
- [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
|
16 |
+
- [-1, 2, Bottleneck, [128]]
|
17 |
+
- [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
|
18 |
+
- [-1, 8, Bottleneck, [256]]
|
19 |
+
- [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
|
20 |
+
- [-1, 8, Bottleneck, [512]]
|
21 |
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
|
22 |
+
- [-1, 4, Bottleneck, [1024]] # 10
|
23 |
+
|
24 |
+
# YOLOv3 head
|
25 |
+
head:
|
26 |
+
- [-1, 1, Bottleneck, [1024, False]]
|
27 |
+
- [-1, 1, Conv, [512, 1, 1]]
|
28 |
+
- [-1, 1, Conv, [1024, 3, 1]]
|
29 |
+
- [-1, 1, Conv, [512, 1, 1]]
|
30 |
+
- [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
|
31 |
+
|
32 |
+
- [-2, 1, Conv, [256, 1, 1]]
|
33 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34 |
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
35 |
+
- [-1, 1, Bottleneck, [512, False]]
|
36 |
+
- [-1, 1, Bottleneck, [512, False]]
|
37 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
38 |
+
- [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
|
39 |
+
|
40 |
+
- [-2, 1, Conv, [128, 1, 1]]
|
41 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
42 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P3
|
43 |
+
- [-1, 1, Bottleneck, [256, False]]
|
44 |
+
- [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
|
45 |
+
|
46 |
+
- [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v5/yolov5-p6.yaml
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv5 object detection model with P3-P6 outputs. For details see https://docs.ultralytics.com/models/yolov5
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov5n-p6.yaml' will call yolov5-p6.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
n: [0.33, 0.25, 1024]
|
9 |
+
s: [0.33, 0.50, 1024]
|
10 |
+
m: [0.67, 0.75, 1024]
|
11 |
+
l: [1.00, 1.00, 1024]
|
12 |
+
x: [1.33, 1.25, 1024]
|
13 |
+
|
14 |
+
# YOLOv5 v6.0 backbone
|
15 |
+
backbone:
|
16 |
+
# [from, number, module, args]
|
17 |
+
- [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
|
18 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
19 |
+
- [-1, 3, C3, [128]]
|
20 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
21 |
+
- [-1, 6, C3, [256]]
|
22 |
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
23 |
+
- [-1, 9, C3, [512]]
|
24 |
+
- [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
|
25 |
+
- [-1, 3, C3, [768]]
|
26 |
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
|
27 |
+
- [-1, 3, C3, [1024]]
|
28 |
+
- [-1, 1, SPPF, [1024, 5]] # 11
|
29 |
+
|
30 |
+
# YOLOv5 v6.0 head
|
31 |
+
head:
|
32 |
+
- [-1, 1, Conv, [768, 1, 1]]
|
33 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34 |
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P5
|
35 |
+
- [-1, 3, C3, [768, False]] # 15
|
36 |
+
|
37 |
+
- [-1, 1, Conv, [512, 1, 1]]
|
38 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
39 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
40 |
+
- [-1, 3, C3, [512, False]] # 19
|
41 |
+
|
42 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
43 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
44 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
45 |
+
- [-1, 3, C3, [256, False]] # 23 (P3/8-small)
|
46 |
+
|
47 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
48 |
+
- [[-1, 20], 1, Concat, [1]] # cat head P4
|
49 |
+
- [-1, 3, C3, [512, False]] # 26 (P4/16-medium)
|
50 |
+
|
51 |
+
- [-1, 1, Conv, [512, 3, 2]]
|
52 |
+
- [[-1, 16], 1, Concat, [1]] # cat head P5
|
53 |
+
- [-1, 3, C3, [768, False]] # 29 (P5/32-large)
|
54 |
+
|
55 |
+
- [-1, 1, Conv, [768, 3, 2]]
|
56 |
+
- [[-1, 12], 1, Concat, [1]] # cat head P6
|
57 |
+
- [-1, 3, C3, [1024, False]] # 32 (P6/64-xlarge)
|
58 |
+
|
59 |
+
- [[23, 26, 29, 32], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
|
ultralytics/cfg/models/v5/yolov5.yaml
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv5 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov5
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov5n.yaml' will call yolov5.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
n: [0.33, 0.25, 1024]
|
9 |
+
s: [0.33, 0.50, 1024]
|
10 |
+
m: [0.67, 0.75, 1024]
|
11 |
+
l: [1.00, 1.00, 1024]
|
12 |
+
x: [1.33, 1.25, 1024]
|
13 |
+
|
14 |
+
# YOLOv5 v6.0 backbone
|
15 |
+
backbone:
|
16 |
+
# [from, number, module, args]
|
17 |
+
- [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
|
18 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
19 |
+
- [-1, 3, C3, [128]]
|
20 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
21 |
+
- [-1, 6, C3, [256]]
|
22 |
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
23 |
+
- [-1, 9, C3, [512]]
|
24 |
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
25 |
+
- [-1, 3, C3, [1024]]
|
26 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
27 |
+
|
28 |
+
# YOLOv5 v6.0 head
|
29 |
+
head:
|
30 |
+
- [-1, 1, Conv, [512, 1, 1]]
|
31 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
32 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
33 |
+
- [-1, 3, C3, [512, False]] # 13
|
34 |
+
|
35 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
36 |
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
38 |
+
- [-1, 3, C3, [256, False]] # 17 (P3/8-small)
|
39 |
+
|
40 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
41 |
+
- [[-1, 14], 1, Concat, [1]] # cat head P4
|
42 |
+
- [-1, 3, C3, [512, False]] # 20 (P4/16-medium)
|
43 |
+
|
44 |
+
- [-1, 1, Conv, [512, 3, 2]]
|
45 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
46 |
+
- [-1, 3, C3, [1024, False]] # 23 (P5/32-large)
|
47 |
+
|
48 |
+
- [[17, 20, 23], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v6/yolov6.yaml
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv6 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/models/yolov6
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 80 # number of classes
|
6 |
+
activation: nn.ReLU() # (optional) model default activation function
|
7 |
+
scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call yolov8.yaml with scale 'n'
|
8 |
+
# [depth, width, max_channels]
|
9 |
+
n: [0.33, 0.25, 1024]
|
10 |
+
s: [0.33, 0.50, 1024]
|
11 |
+
m: [0.67, 0.75, 768]
|
12 |
+
l: [1.00, 1.00, 512]
|
13 |
+
x: [1.00, 1.25, 512]
|
14 |
+
|
15 |
+
# YOLOv6-3.0s backbone
|
16 |
+
backbone:
|
17 |
+
# [from, repeats, module, args]
|
18 |
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
19 |
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
20 |
+
- [-1, 6, Conv, [128, 3, 1]]
|
21 |
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
22 |
+
- [-1, 12, Conv, [256, 3, 1]]
|
23 |
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
24 |
+
- [-1, 18, Conv, [512, 3, 1]]
|
25 |
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
26 |
+
- [-1, 6, Conv, [1024, 3, 1]]
|
27 |
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
28 |
+
|
29 |
+
# YOLOv6-3.0s head
|
30 |
+
head:
|
31 |
+
- [-1, 1, Conv, [256, 1, 1]]
|
32 |
+
- [-1, 1, nn.ConvTranspose2d, [256, 2, 2, 0]]
|
33 |
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
34 |
+
- [-1, 1, Conv, [256, 3, 1]]
|
35 |
+
- [-1, 9, Conv, [256, 3, 1]] # 14
|
36 |
+
|
37 |
+
- [-1, 1, Conv, [128, 1, 1]]
|
38 |
+
- [-1, 1, nn.ConvTranspose2d, [128, 2, 2, 0]]
|
39 |
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
40 |
+
- [-1, 1, Conv, [128, 3, 1]]
|
41 |
+
- [-1, 9, Conv, [128, 3, 1]] # 19
|
42 |
+
|
43 |
+
- [-1, 1, Conv, [128, 3, 2]]
|
44 |
+
- [[-1, 15], 1, Concat, [1]] # cat head P4
|
45 |
+
- [-1, 1, Conv, [256, 3, 1]]
|
46 |
+
- [-1, 9, Conv, [256, 3, 1]] # 23
|
47 |
+
|
48 |
+
- [-1, 1, Conv, [256, 3, 2]]
|
49 |
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
50 |
+
- [-1, 1, Conv, [512, 3, 1]]
|
51 |
+
- [-1, 9, Conv, [512, 3, 1]] # 27
|
52 |
+
|
53 |
+
- [[19, 23, 27], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Ultralytics YOLO π, AGPL-3.0 license
|
2 |
+
# YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
|
3 |
+
|
4 |
+
# Parameters
|
5 |
+
nc: 1000 # number of classes
|
6 |
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
7 |
+
# [depth, width, max_channels]
|
8 |
+
n: [0.33, 0.25, 1024]
|
9 |
+
s: [0.33, 0.50, 1024]
|
10 |
+
m: [0.67, 0.75, 1024]
|
11 |
+
l: [1.00, 1.00, 1024]
|
12 |
+
x: [1.00, 1.25, 1024]
|
13 |
+
|
14 |
+
# YOLOv8.0n backbone
|
15 |
+
backbone:
|
16 |
+
# [from, repeats, module, args]
|
17 |
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0-P1/2
|
18 |
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1-P2/4
|
19 |
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2-P3/8
|
20 |
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 23]] # 3-P4/16
|
21 |
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4-P5/32
|
22 |
+
|
23 |
+
# YOLOv8.0n head
|
24 |
+
head:
|
25 |
+
- [-1, 1, Classify, [nc]] # Classify
|