Cityscapes8-Datensatz#
Einleitung#
Der Ultralytics-Datensatz Cityscapes8 ist ein kompakter Datensatz für die semantische Segmentierung mit 8 Bildern aus dem Cityscapes-Datensatz: 4 für das Training und 4 für die Validierung. Er wurde für schnelle Tests, das Debugging und Experimente mit Modellen und Trainingspipelines für die semantische Segmentierung mit YOLO entwickelt. Seine Inhalte mit urbanen Szenen ermöglichen eine nützliche Überprüfung der Pipeline, bevor du auf den vollständigen Cityscapes-Datensatz skalierst.
Cityscapes8 verwendet dieselben 19 Evaluierungsklassen und dasselbe Verhalten von label_mapping wie der vollständige Cityscapes-Datensatz und ist vollständig mit YOLO26-Workflows für die semantische Segmentierung kompatibel.
Cityscapes8 ist ausschließlich für Pipeline-Tests vorgesehen, nicht für Benchmarking – die 8 Bilder sind zu wenige für einen aussagekräftigen mIoU-Vergleich. Verwende den vollständigen Cityscapes-Validierungssatz für repräsentative Ergebnisse.
Datensatzstruktur#
Cityscapes8 entspricht dem Aufbau des vollständigen Datensatzes, jedoch ohne einen test-Split:
cityscapes8/
├── images/
│ ├── train/ # 4 images
│ └── val/ # 4 images
└── masks/
├── train/ # 4 single-channel PNG masks
└── val/ # 4 single-channel PNG masksMasken werden über das Feld masks_dir: masks den Bildern zugeordnet, und label_mapping konvertiert die Quell-Label-IDs von Cityscapes in die 19 fortlaufenden Trainings-IDs, die in der vollständigen Struktur des Cityscapes-Datensatzes beschrieben sind.
Dataset-YAML#
Die Konfiguration des Cityscapes8-Datensatzes ist in einer YAML-Datensatzdatei definiert, die Datensatzpfade, Klassennamen und weitere wichtige Metadaten angibt. Du kannst die offizielle Datei cityscapes8.yaml im Ultralytics GitHub-Repository einsehen. Die YAML-Datei enthält eine Download-URL für die kleine, paketierte Teilmenge.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# Cityscapes semantic segmentation dataset (19 classes)
# Documentation: https://docs.ultralytics.com/datasets/semantic/cityscapes8
# Example usage: yolo semantic train data=cityscapes8.yaml model=yolo26n-sem.pt
# parent
# ├── ultralytics
# └── datasets
# └── cityscapes8 ← downloads here (small subset)
# └── images
# └── masks
# Dataset root directory
path: cityscapes8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
masks_dir: masks # semantic mask directory
# Cityscapes 19-class labels
names:
0: road
1: sidewalk
2: building
3: wall
4: fence
5: pole
6: traffic light
7: traffic sign
8: vegetation
9: terrain
10: sky
11: person
12: rider
13: car
14: truck
15: bus
16: train
17: motorcycle
18: bicycle
# Map source label IDs to train IDs; ignore_label is converted to 255.
label_mapping:
-1: ignore_label
0: ignore_label
1: ignore_label
2: ignore_label
3: ignore_label
4: ignore_label
5: ignore_label
6: ignore_label
7: 0
8: 1
9: ignore_label
10: ignore_label
11: 2
12: 3
13: 4
14: ignore_label
15: ignore_label
16: ignore_label
17: 5
18: ignore_label
19: 6
20: 7
21: 8
22: 9
23: 10
24: 11
25: 12
26: 13
27: 14
28: 15
29: ignore_label
30: ignore_label
31: 16
32: 17
33: 18
# Download URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/cityscapes8.zipVerwendung#
Um ein YOLO26n-sem-Modell 100 Epochen lang mit einer Bildgröße von 1024 auf dem Cityscapes8-Datensatz zu trainieren, verwende die folgenden Beispiele. Eine vollständige Liste der Trainingsoptionen findest du in der Dokumentation zum YOLO-Training.
from ultralytics import YOLO
# Load a pretrained YOLO26n-sem model
model = YOLO("yolo26n-sem.pt")
# Train the model on Cityscapes8
results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)Du kannst Cityscapes8 auch in der Cloud mit der Ultralytics Platform verwalten und Modelle für die semantische Segmentierung trainieren.
Zitate, Lizenz und Danksagungen#
Cityscapes8 ist eine Teilmenge von Cityscapes, das unter einer benutzerdefinierten, nicht kommerziellen Lizenz veröffentlicht wird – Einzelheiten findest du auf der vollständigen Cityscapes-Datensatzseite.
Wenn du den Cityscapes-Datensatz in deiner Forschung oder Entwicklung verwendest, zitiere bitte die folgende Publikation:
@inproceedings{Cordts2016Cityscapes,
title={The Cityscapes Dataset for Semantic Urban Scene Understanding},
author={Cordts, Marius and Omran, Mohamed and Ramos, Sebastian and Rehfeld, Timo and Enzweiler, Markus and Benenson, Rodrigo and Franke, Uwe and Roth, Stefan and Schiele, Bernt},
booktitle={Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2016}
}Besonderer Dank gilt dem Cityscapes-Team für seine kontinuierlichen Beiträge zu den Fachgemeinschaften für autonomes Fahren und Computer Vision.
FAQ#
Der Cityscapes8-Datensatz von Ultralytics wurde für schnelle Tests und das Debugging von Modellen zur semantischen Segmentierung entwickelt. Mit nur 8 Bildern (4 für das Training und 4 für die Validierung) eignet er sich ideal, um YOLO-Pipelines für die semantische Segmentierung zu überprüfen, einschließlich des Ladens von Masken, Augmentierungen, der Validierung und der Exportpfade, bevor du auf den vollständigen Cityscapes-Datensatz skalierst. Weitere Informationen findest du in der YAML-Konfiguration von Cityscapes8.
Cityscapes8 enthält 8 Bilder (4 für das Training, 4 für die Validierung) aus der Aufteilung von Cityscapes in 2.975 Trainings- und 500 Validierungsbildern. Dabei werden dieselben 19 Klassen und
label_mappingverwendet, sodass eine Pipeline, die mit Cityscapes8 ausgeführt wird, unverändert mit dem vollständigen Datensatz funktioniert – verweise einfachdata=aufcityscapes.yamlstatt aufcityscapes8.yaml. Anders als beim vollständigen Datensatz ist für Cityscapes8 weder ein manueller Download noch eintest-Split erforderlich.Du kannst ein YOLO26-Modell für die semantische Segmentierung mit Cityscapes8 entweder über Python oder die CLI trainieren:
Trainingsbeispielfrom ultralytics import YOLO # Load a pretrained YOLO26n-sem model model = YOLO("yolo26n-sem.pt") # Train the model on Cityscapes8 results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)Weitere Trainingsoptionen findest du in der YOLO-Trainingsdokumentation.
Nein. Cityscapes8 ist für aussagekräftige Modellvergleiche zu klein und für die Überprüfung von Trainings- und Evaluierungspipelines vorgesehen. Verwende den vollständigen Cityscapes-Validierungssatz, wenn du repräsentative Benchmark-Ergebnisse für die semantische Segmentierung benötigst.



