Jeu de données ADE20K
Le jeu de données ADE20K est un benchmark de segmentation sémantique et d'analyse de scène à grande échelle publié par le MIT CSAIL. Il fournit des images densément annotées couvrant une grande variété de catégories d'intérieur, d'extérieur, d'objets et d'éléments, ce qui en fait une ressource essentielle pour les chercheurs et les développeurs travaillant sur des tâches de compréhension de scènes denses avec les modèles Ultralytics YOLO.
Fonctionnalités clés
- ADE20K contient 20 210 images d'entraînement, 2 000 images de validation et 3 352 images de test.
- Le jeu de données couvre 150 classes sémantiques couvrant des catégories d'intérieur, d'extérieur, d'objets et d'éléments.
- Les annotations sont des masques de segmentation au niveau du pixel adaptés à l'analyse de scènes denses.
Structure du jeu de données
La configuration Ultralytics attend la disposition officielle ADEChallengeData2016 :
ADEChallengeData2016/
├── images/
│ ├── training/
│ └── validation/
└── annotations/
├── training/
└── validation/Le champ masks_dir est défini sur annotations, de sorte que chaque image sous images/ est appariée avec son masque correspondant sous annotations/. Les masques originaux ADE20K utilisent des identifiants de label source où 0 est ignoré, et la section label_mapping convertit les labels valides de 1 à 150 en IDs d'entraînement contigus de 0 à 149, en mappant les pixels ignorés sur 255.
Applications
ADE20K est largement utilisé pour entraîner et évaluer des modèles de deep learning en segmentation sémantique et en analyse de scène. Son ensemble diversifié de catégories et ses scènes complexes le rendent précieux pour des applications telles que la navigation autonome, la robotique, la réalité augmentée et l'édition d'images.
L'étendue des scènes d'intérieur et d'extérieur fait également d'ADE20K un benchmark solide pour évaluer la généralisation des modèles entre les domaines.
YAML du jeu de données
Un fichier YAML de jeu de données définit les chemins, les classes, le répertoire des masques et le mapping des labels pour ADE20K. Le fichier ade20k.yaml est maintenu sur https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ade20k.yaml.
# 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.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): http://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zipUtilisation
Pour entraîner un modèle YOLO26n-sem sur le jeu de données ADE20K pendant 100 époques avec une taille d'image de 512, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page Entraînement du modèle.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-sem.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="ade20k.yaml", epochs=100, imgsz=512)Citations et remerciements
Si tu utilises le jeu de données ADE20K dans tes recherches ou tes travaux de développement, merci de citer l'article suivant :
@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}
}Nous tenons à remercier le MIT CSAIL Computer Vision Group pour avoir créé et maintenu cette ressource précieuse pour la communauté de la vision par ordinateur. Pour plus d'informations sur le jeu de données ADE20K et ses créateurs, visite le site web du jeu de données ADE20K.
FAQ
Qu'est-ce que le jeu de données ADE20K et pourquoi est-il important pour la vision par ordinateur ?
Le jeu de données ADE20K est un benchmark d'analyse de scène à grande échelle utilisé pour la segmentation sémantique. Il contient 25 562 images densément annotées réparties sur 150 catégories couvrant des classes d'intérieur, d'extérieur, d'objets et d'éléments. Les chercheurs utilisent ADE20K en raison de ses scènes diversifiées, de son ensemble de catégories précis et de ses métriques d'évaluation standardisées comme l'intersection sur union moyenne (mIoU), ce qui le rend idéal pour évaluer les modèles de prédiction dense.
Comment puis-je entraîner un modèle YOLO en utilisant le jeu de données ADE20K ?
Pour entraîner un modèle YOLO26n-sem sur le jeu de données ADE20K pendant 100 époques avec une taille d'image de 512, tu peux utiliser les extraits de code suivants. Pour une liste détaillée des arguments disponibles, consulte la page Entraînement du modèle.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-sem.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="ade20k.yaml", epochs=100, imgsz=512)Comment le jeu de données ADE20K est-il structuré ?
Le jeu de données ADE20K suit la disposition officielle ADEChallengeData2016, avec des images organisées sous images/training/ et images/validation/, et des masques correspondants sous annotations/training/ et annotations/validation/. Le fichier YAML d'Ultralytics associe chaque image à son masque via le champ masks_dir: annotations, et utilise label_mapping pour convertir les IDs de labels sources 1–150 en IDs d'entraînement contigus 0–149, en mappant le label d'ignorance sur 255.
Pourquoi ADE20K utilise-t-il label_mapping ?
Les masques d'annotation ADE20K stockent des IDs de labels sources où 0 désigne la classe ignorée ou d'arrière-plan. La section label_mapping mappe les labels valides de 1 à 150 vers des IDs d'entraînement contigus de 0 à 149, et assigne 255 aux pixels ignorés afin qu'ils soient exclus de la perte et des métriques pendant l'entraînement et la validation.