Link to this sectionTập dữ liệu ADE20K#
Tập dữ liệu ADE20K là một benchmark semantic segmentation quy mô lớn từ MIT CSAIL với 20.210 ảnh huấn luyện và 2.000 ảnh kiểm thử được chú thích dày đặc trên 150 danh mục trong nhà, ngoài trời, đồ vật và các loại vật thể khác. Đây là tài nguyên tiêu chuẩn để huấn luyện và đánh giá các model hiểu ngữ cảnh dày đặc với Ultralytics YOLO.
Link to this sectionTính năng chính#
- Benchmark SceneParsing đầy đủ của ADE20K bao gồm tổng cộng 25.562 ảnh: 20.210 cho huấn luyện, 2.000 cho kiểm thử và 3.352 cho đánh giá. Các chú thích ảnh đánh giá không được công bố công khai, vì vậy tệp lưu trữ
ADEChallengeData2016có thể tải xuống và tệp cấu hìnhade20k.yamlcủa Ultralytics chỉ sử dụng các tập huấn luyện và kiểm thử. - Tập dữ liệu bao gồm 150 lớp ngữ nghĩa trải dài trên các danh mục trong nhà, ngoài trời, đối tượng và các vật thể khác.
- Các chú thích là các mặt nạ phân đoạn ở cấp độ pixel dày đặc, phù hợp cho việc phân tích ngữ cảnh (scene parsing).
Link to this sectionCấu trúc tập dữ liệu#
Cấu hình Ultralytics yêu cầu bố cục chuẩn ADEChallengeData2016:
ADEChallengeData2016/
├── images/
│ ├── training/
│ └── validation/
└── annotations/
├── training/
└── validation/ADE20K không có tập lệnh tải xuống tự động. Hãy tải xuống tệp lưu trữ ADEChallengeData2016.zip (~1 GB) và giải nén trực tiếp vào thư mục datasets/ của bạn. Thư mục cấp cao nhất của tệp lưu trữ này đã được đặt tên là ADEChallengeData2016/, vì vậy thao tác này sẽ tạo ra cấu trúc datasets/ADEChallengeData2016/ khớp với bố cục ở trên — đừng tự tạo thư mục ADEChallengeData2016 rồi mới giải nén vào đó, nếu không bạn sẽ nhận được một thư mục lồng nhau datasets/ADEChallengeData2016/ADEChallengeData2016/ mà YAML không thể tìm thấy.
Trường masks_dir được đặt thành annotations, vì vậy mỗi hình ảnh trong images/ được ghép cặp với mask tương ứng trong annotations/. Các mask gốc của ADE20K sử dụng các ID nhãn nguồn trong đó 0 bị bỏ qua, và phần label_mapping chuyển đổi các nhãn hợp lệ từ 1 đến 150 thành các train ID liên tục từ 0 đến 149, đồng thời ánh xạ các pixel bị bỏ qua thành 255.
Link to this sectionỨng dụng#
ADE20K được sử dụng rộng rãi để huấn luyện và đánh giá các model deep learning trong phân đoạn ngữ nghĩa và phân tích cảnh. Tập hợp danh mục đa dạng và các cảnh phức tạp khiến nó trở nên giá trị cho các ứng dụng như điều hướng tự hành, robot, thực tế tăng cường và chỉnh sửa hình ảnh.
Sự đa dạng của các cảnh trong nhà và ngoài trời cũng làm cho ADE20K trở thành một benchmark mạnh mẽ để đánh giá khả năng tổng quát hóa của model giữa các miền. Các model semantic segmentation YOLO26 được huấn luyện trước đạt tới 51,5 mIoU trên tập kiểm thử ADE20K — hãy xem trang semantic segmentation models để biết bảng benchmark đầy đủ. Các tập dữ liệu định dạng ADE20K cũng hoàn toàn tương thích với Ultralytics Platform để quản lý tập dữ liệu và huấn luyện.
Link to this sectionYAML tập dữ liệu#
Một tệp YAML tập dữ liệu định nghĩa các đường dẫn, lớp, thư mục mask và ánh xạ nhãn cho ADE20K. Tệp ade20k.yaml được duy trì tại 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.zipLink to this sectionCách sử dụng#
Để huấn luyện model YOLO26n-sem trên tập dữ liệu ADE20K trong 100 epoch với kích thước ảnh là 512, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Training của model.
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)Link to this sectionTrích dẫn, Giấy phép và Ghi nhận#
Hình ảnh ADE20K được phát hành chỉ dành cho mục đích nghiên cứu phi thương mại và giáo dục; phần mềm chú thích của tập dữ liệu này được cấp phép riêng theo BSD-3. Việc sử dụng thương mại cần có sự cho phép từ MIT CSAIL.
Nếu bạn sử dụng tập dữ liệu ADE20K trong công trình nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:
@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}
}Chúng tôi xin ghi nhận Nhóm Thị giác Máy tính MIT CSAIL vì đã tạo và duy trì nguồn tài nguyên giá trị này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về tập dữ liệu ADE20K và những người tạo ra nó, hãy truy cập trang web tập dữ liệu ADE20K.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionTập dữ liệu ADE20K là gì và tại sao nó lại quan trọng đối với thị giác máy tính?#
Tập dữ liệu ADE20K là một benchmark phân tích ngữ cảnh quy mô lớn được sử dụng cho semantic segmentation, với 20.210 ảnh huấn luyện và 2.000 ảnh kiểm thử được công bố công khai trên 150 danh mục bao gồm các lớp trong nhà, ngoài trời, đồ vật và các loại vật thể khác. Các nhà nghiên cứu sử dụng ADE20K vì bối cảnh đa dạng, bộ danh mục chi tiết và các chỉ số đánh giá tiêu chuẩn như mean Intersection over Union (mIoU), giúp nó trở nên lý tưởng để làm benchmark cho các model dự đoán dày đặc.
Link to this sectionLàm thế nào để tôi có thể huấn luyện một model YOLO sử dụng tập dữ liệu ADE20K?#
Để huấn luyện một model YOLO26n-sem trên tập dữ liệu ADE20K trong 100 epoch với kích thước ảnh là 512, bạn có thể sử dụng các đoạn mã sau. Để có danh sách chi tiết các tham số khả dụng, hãy tham khảo trang Training của model.
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)Link to this sectionCấu trúc của tập dữ liệu ADE20K như thế nào?#
Tập dữ liệu ADE20K tuân theo bố cục chuẩn ADEChallengeData2016, với các hình ảnh được tổ chức trong images/training/ và images/validation/, và các mask tương ứng trong annotations/training/ và annotations/validation/. Tệp YAML của Ultralytics ghép cặp mỗi hình ảnh với mask của nó thông qua trường masks_dir: annotations và sử dụng label_mapping để chuyển đổi các ID nhãn nguồn 1–150 thành các train ID liên tục 0–149, đồng thời ánh xạ nhãn bỏ qua thành 255.
Link to this sectionTôi có cần tải xuống ADE20K theo cách thủ công không?#
Có. Hãy tải xuống tệp lưu trữ ADEChallengeData2016.zip (~1 GB) và giải nén trực tiếp vào thư mục datasets/ của bạn trước khi huấn luyện — thư mục cấp cao nhất của tệp lưu trữ đã được đặt tên là ADEChallengeData2016/, vì vậy việc giải nén tại đó (không phải vào một thư mục ADEChallengeData2016 riêng biệt do bạn tự tạo) sẽ tạo ra bố cục images/ và annotations/ mà ade20k.yaml mong đợi.
Link to this sectionTại sao ADE20K sử dụng label_mapping?#
Các mask chú thích của ADE20K lưu trữ các ID nhãn nguồn trong đó 0 biểu thị lớp bỏ qua hoặc nền. Phần label_mapping ánh xạ các nhãn hợp lệ từ 1 đến 150 thành các train ID liên tục từ 0 đến 149, và gán 255 cho các pixel bị bỏ qua để chúng được loại trừ khỏi hàm mất mát (loss) và các chỉ số trong quá trình huấn luyện và kiểm chứng.
Link to this sectionTập dữ liệu ADE20K có miễn phí cho mục đích thương mại không?#
Không. Hình ảnh ADE20K được phát hành theo các điều khoản hạn chế việc sử dụng vào mục đích nghiên cứu và giáo dục phi thương mại; phần mềm chú thích đi kèm được cấp phép riêng theo BSD-3. Hãy liên hệ với MIT CSAIL để biết các tùy chọn cấp phép thương mại.