ADE20K-Datensatz#
Der Datensatz ADE20K ist ein groß angelegter Benchmark für die semantische Segmentierung des MIT CSAIL. Er umfasst 20.210 Trainings- und 2.000 Validierungsbilder, die detailliert mit 150 Kategorien aus Innen- und Außenbereichen sowie Objekt- und Materialklassen annotiert sind. Er ist eine etablierte Ressource zum Trainieren und Evaluieren von Modellen für die dichte Szenenerfassung mit Ultralytics YOLO.
Wichtige Funktionen#
- Der vollständige SceneParsing-Benchmark von ADE20K umfasst 25.562 Bilder: 20.210 für das Training, 2.000 für die Validierung und 3.352 für Tests. Da die Annotationen der Testbilder nicht öffentlich verfügbar sind, verwenden das herunterladbare Archiv
ADEChallengeData2016und die Ultralytics-Konfigurationade20k.yamlnur die Trainings- und Validierungsabschnitte. - Der Datensatz umfasst 150 semantische Klassen aus den Kategorien Innenräume, Außenbereiche, Objekte und sonstige Flächen.
- Die Annotationen sind dichte Segmentierungsmasken auf Pixelebene, die sich für die Szeneninterpretation eignen.
Datensatzstruktur#
Die Ultralytics-Konfiguration erwartet die offizielle Verzeichnisstruktur von ADEChallengeData2016:
ADEChallengeData2016/
├── images/
│ ├── training/
│ └── validation/
└── annotations/
├── training/
└── validation/ADE20K enthält kein Skript für den automatischen Download. Lade das Archiv ADEChallengeData2016.zip mit einer Größe von ~1 GB herunter und entpacke es direkt in deinen Ordner datasets/. Der oberste Ordner im Archiv heißt bereits ADEChallengeData2016/. So erhältst du die oben gezeigte passende Verzeichnisstruktur datasets/ADEChallengeData2016/ – erstelle keinen Ordner ADEChallengeData2016, in den du das Archiv entpackst, sonst entsteht ein verschachteltes Verzeichnis datasets/ADEChallengeData2016/ADEChallengeData2016/, das die YAML-Datei nicht findet.
Das Feld masks_dir ist auf annotations gesetzt. Dadurch wird jedes Bild unter images/ mit der entsprechenden Maske unter annotations/ verknüpft. Die ursprünglichen ADE20K-Masken verwenden Quell-Label-IDs, wobei 0 ignoriert wird. Der Abschnitt label_mapping ordnet gültige Labels von 1 bis 150 fortlaufenden Trainings-IDs von 0 bis 149 zu und bildet ignorierte Pixel auf 255 ab.
Anwendungsfälle#
ADE20K wird häufig zum Trainieren und Bewerten von Modellen für Deep Learning in der semantischen Segmentierung und Szeneninterpretation eingesetzt. Die vielfältigen Kategorien und komplexen Szenen machen den Datensatz wertvoll für Anwendungen wie autonome Navigation, Robotik, erweiterte Realität und Bildbearbeitung.
Die große Vielfalt an Innen- und Außenaufnahmen macht ADE20K außerdem zu einem aussagekräftigen Benchmark für die Bewertung der Modellgeneralisierung über verschiedene Domänen hinweg. Vortrainierte YOLO26-Modelle für semantische Segmentierung erreichen auf dem ADE20K-Validierungssatz bis zu 51.5 mIoU – die vollständige Benchmark-Tabelle findest du auf der Seite zu Modellen für semantische Segmentierung. Datensätze im ADE20K-Format sind außerdem vollständig mit der Ultralytics Platform für die Verwaltung von Datensätzen und das Training kompatibel.
YAML-Datei des Datensatzes#
Eine YAML-Datei für den Datensatz definiert die ADE20K-Pfade, Klassen, das Maskenverzeichnis und die Label-Zuordnung. Die Datei ade20k.yaml wird unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ade20k.yaml gepflegt.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# ADE20K semantic segmentation dataset (150 classes)
# Documentation: https://docs.ultralytics.com/datasets/semantic/ade20k
# Example usage: yolo semantic train data=ade20k.yaml model=yolo26n-sem-ade20k.pt
# parent
# ├── ultralytics
# └── datasets
# └── ADEChallengeData2016 ← downloads here (1 GB)
# └── images
# └── annotations
# Dataset root directory
path: ADEChallengeData2016
train: images/training
val: images/validation
masks_dir: annotations # semantic mask directory
# ADE20K 150-class labels
names:
0: wall
1: building
2: sky
3: floor
4: tree
5: ceiling
6: road
7: bed
8: windowpane
9: grass
10: cabinet
11: sidewalk
12: person
13: earth
14: door
15: table
16: mountain
17: plant
18: curtain
19: chair
20: car
21: water
22: painting
23: sofa
24: shelf
25: house
26: sea
27: mirror
28: rug
29: field
30: armchair
31: seat
32: fence
33: desk
34: rock
35: wardrobe
36: lamp
37: bathtub
38: railing
39: cushion
40: base
41: box
42: column
43: signboard
44: chest of drawers
45: counter
46: sand
47: sink
48: skyscraper
49: fireplace
50: refrigerator
51: grandstand
52: path
53: stairs
54: runway
55: case
56: pool table
57: pillow
58: screen door
59: stairway
60: river
61: bridge
62: bookcase
63: blind
64: coffee table
65: toilet
66: flower
67: book
68: hill
69: bench
70: countertop
71: stove
72: palm
73: kitchen island
74: computer
75: swivel chair
76: boat
77: bar
78: arcade machine
79: hovel
80: bus
81: towel
82: light
83: truck
84: tower
85: chandelier
86: awning
87: streetlight
88: booth
89: television receiver
90: airplane
91: dirt track
92: apparel
93: pole
94: land
95: bannister
96: escalator
97: ottoman
98: bottle
99: buffet
100: poster
101: stage
102: van
103: ship
104: fountain
105: conveyor belt
106: canopy
107: washer
108: plaything
109: swimming pool
110: stool
111: barrel
112: basket
113: waterfall
114: tent
115: bag
116: minibike
117: cradle
118: oven
119: ball
120: food
121: step
122: tank
123: trade name
124: microwave
125: pot
126: animal
127: bicycle
128: lake
129: dishwasher
130: screen
131: blanket
132: sculpture
133: hood
134: sconce
135: vase
136: traffic light
137: tray
138: ashcan
139: fan
140: pier
141: crt screen
142: plate
143: monitor
144: bulletin board
145: shower
146: radiator
147: glass
148: clock
149: flag
# Map source label IDs to train IDs; ignore_label is converted to 255.
label_mapping:
0: ignore_label
1: 0
2: 1
3: 2
4: 3
5: 4
6: 5
7: 6
8: 7
9: 8
10: 9
11: 10
12: 11
13: 12
14: 13
15: 14
16: 15
17: 16
18: 17
19: 18
20: 19
21: 20
22: 21
23: 22
24: 23
25: 24
26: 25
27: 26
28: 27
29: 28
30: 29
31: 30
32: 31
33: 32
34: 33
35: 34
36: 35
37: 36
38: 37
39: 38
40: 39
41: 40
42: 41
43: 42
44: 43
45: 44
46: 45
47: 46
48: 47
49: 48
50: 49
51: 50
52: 51
53: 52
54: 53
55: 54
56: 55
57: 56
58: 57
59: 58
60: 59
61: 60
62: 61
63: 62
64: 63
65: 64
66: 65
67: 66
68: 67
69: 68
70: 69
71: 70
72: 71
73: 72
74: 73
75: 74
76: 75
77: 76
78: 77
79: 78
80: 79
81: 80
82: 81
83: 82
84: 83
85: 84
86: 85
87: 86
88: 87
89: 88
90: 89
91: 90
92: 91
93: 92
94: 93
95: 94
96: 95
97: 96
98: 97
99: 98
100: 99
101: 100
102: 101
103: 102
104: 103
105: 104
106: 105
107: 106
108: 107
109: 108
110: 109
111: 110
112: 111
113: 112
114: 113
115: 114
116: 115
117: 116
118: 117
119: 118
120: 119
121: 120
122: 121
123: 122
124: 123
125: 124
126: 125
127: 126
128: 127
129: 128
130: 129
131: 130
132: 131
133: 132
134: 133
135: 134
136: 135
137: 136
138: 137
139: 138
140: 139
141: 140
142: 141
143: 142
144: 143
145: 144
146: 145
147: 146
148: 147
149: 148
150: 149
# Download URL (manual): https://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zipVerwendung#
Mit den folgenden Codebeispielen kannst du ein YOLO26n-sem-Modell 100 Epochen lang mit einer Bildgröße von 640 auf dem ADE20K-Datensatz trainieren. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite zum Training des Modells.
from ultralytics import YOLO
# Ein Modell laden
model = YOLO("yolo26n-sem-ade20k.pt") # Modell mit Vortraining auf ADE20K laden (für das Training empfohlen)
# Das Modell trainieren
results = model.train(data="ade20k.yaml", epochs=100, imgsz=640)Zitate, Lizenz und Danksagungen#
ADE20K-Bilder sind ausschließlich für nichtkommerzielle Forschungs- und Bildungszwecke freigegeben. Die Annotationssoftware des Datensatzes steht unter einer separaten BSD-3-Lizenz. Für eine kommerzielle Nutzung ist eine Genehmigung von MIT CSAIL erforderlich.
Wenn du den ADE20K-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte die folgende Arbeit:
@inproceedings{zhou2017scene,
title={Scene Parsing through ADE20K Dataset},
author={Zhou, Bolei and Zhao, Hang and Puig, Xavier and Fidler, Sanja and Barriuso, Adela and Torralba, Antonio},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2017}
}Wir möchten der Computer-Vision-Gruppe von MIT CSAIL dafür danken, dass sie diese wertvolle Ressource für die Computer-Vision-Community erstellt und gepflegt hat. Weitere Informationen zum ADE20K-Datensatz und seinen Erstellern findest du auf der ADE20K-Datensatzwebsite.
Häufig gestellte Fragen#
Der ADE20K-Datensatz ist ein groß angelegter Benchmark zur Szeneninterpretation für die semantische Segmentierung. Er umfasst 20.210 Trainingsbilder und 2.000 Validierungsbilder, die öffentlich für 150 Kategorien aus den Bereichen Innenräume, Außenbereiche, Objekte und sonstige Flächen verfügbar sind. Forschende verwenden ADE20K wegen der vielfältigen Szenen, der feingliedrigen Kategorien und standardisierten Bewertungsmetriken wie der mittleren Schnittmenge über Vereinigungsmenge (mIoU). Dadurch eignet sich der Datensatz ideal für den Vergleich dichter Vorhersagemodelle.
Mit den folgenden Codebeispielen kannst du ein YOLO26n-sem-Modell 100 Epochen lang mit einer Bildgröße von 640 auf dem ADE20K-Datensatz trainieren. Eine ausführliche Liste der verfügbaren Argumente findest du auf der Seite zum Training des Modells.
Trainingsbeispielfrom ultralytics import YOLO # Ein Modell laden model = YOLO("yolo26n-sem-ade20k.pt") # Modell mit Vortraining auf ADE20K laden (für das Training empfohlen) # Das Modell trainieren results = model.train(data="ade20k.yaml", epochs=100, imgsz=640)Der ADE20K-Datensatz folgt der offiziellen Verzeichnisstruktur von ADEChallengeData2016. Die Bilder liegen unter
images/training/undimages/validation/, die zugehörigen Masken unterannotations/training/undannotations/validation/. Die Ultralytics-YAML-Datei verknüpft jedes Bild über das Feldmasks_dir: annotationsmit seiner Maske und verwendetlabel_mapping, um die Quell-Label-IDs1–150in fortlaufende Trainings-IDs0–149umzuwandeln. Dabei wird das Ignorier-Label auf255abgebildet.Ja. Lade das Archiv
ADEChallengeData2016.zip(~1 GB) herunter und entpacke es vor dem Training direkt in deinen Ordnerdatasets/. Der oberste Ordner im Archiv heißt bereitsADEChallengeData2016/. Wenn du das Archiv dort entpackst – und nicht in einem separaten, selbst erstellten OrdnerADEChallengeData2016–, erhältst du die Verzeichnisstrukturimages/undannotations/, dieade20k.yamlerwartet.Die Annotationsmasken von ADE20K speichern Quell-Label-IDs, wobei
0die Ignorier- oder Hintergrundklasse bezeichnet. Der Abschnittlabel_mappingordnet gültige Labels von1bis150fortlaufenden Trainings-IDs von0bis149zu und weist ignorierten Pixeln255zu. So werden diese Pixel während des Trainings und der Validierung bei der Berechnung von Verlust und Metriken ausgeschlossen.Nein. ADE20K-Bilder werden unter Nutzungsbedingungen freigegeben, die ihre Verwendung auf nichtkommerzielle Forschung und Bildung beschränken. Die zugehörige Annotationssoftware steht unter einer separaten BSD-3-Lizenz. Wende dich an MIT CSAIL, um dich über Möglichkeiten einer kommerziellen Lizenzierung zu informieren.



