Ultralytics YOLO27:

Cityscapes8-Datensatz#

Einführung#

Der Cityscapes8-Datensatz von Ultralytics ist ein kompakter Datensatz für die semantische Segmentierung mit 8 Bildern aus dem Datensatz Cityscapes: 4 für das Training und 4 für die Validierung. Er ist für schnelle Tests, die Fehlersuche und Experimente mit YOLO-Modellen für semantische Segmentierung und Trainingspipelines konzipiert. Die urbanen Szenen eignen sich gut, um eine Pipeline zu prüfen, bevor du zum vollständigen Cityscapes-Datensatz wechselst.

Cityscapes8 verwendet dieselben 19 Evaluierungsklassen und dasselbe Verhalten für label_mapping wie der vollständige Cityscapes-Datensatz und ist vollständig mit YOLO26-Abläufen für semantische Segmentierung kompatibel.

Hinweis

Cityscapes8 ist nur zum Testen von Abläufen gedacht, nicht für Benchmarks — 8 Bilder sind zu wenige für einen aussagekräftigen mIoU-Vergleich. Verwende für repräsentative Ergebnisse den vollständigen Cityscapes-Validierungssatz.

Datensatzstruktur#

Cityscapes8 entspricht der Verzeichnisstruktur des vollständigen Datensatzes, enthält jedoch keinen Abschnitt test:

cityscapes8/
├── images/
│   ├── train/  # 4 images
│   └── val/    # 4 images
└── masks/
    ├── train/  # 4 single-channel PNG masks
    └── val/    # 4 single-channel PNG masks

Masken werden über das Feld masks_dir: masks den Bildern zugeordnet, und label_mapping wandelt die ursprünglichen Cityscapes-Label-IDs in die 19 fortlaufenden Trainings-IDs um, die in der Struktur des vollständigen Cityscapes-Datensatzes beschrieben sind.

YAML-Datei des Datensatzes#

Die Konfiguration des Cityscapes8-Datensatzes ist in einer YAML-Datei definiert, die Datensatzpfade, Klassennamen und weitere wichtige Metadaten festlegt. Die offizielle Datei cityscapes8.yaml findest du im Ultralytics-GitHub-Repository. Die YAML-Datei enthält eine Download-URL für die kleine gepackte Teilmenge.

ultralytics/cfg/datasets/cityscapes8.yaml
# 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.zip

Verwendung#

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 YOLO-Trainingsdokumentation.

Trainingsbeispiel
from ultralytics import YOLO

# Ein vortrainiertes YOLO26n-sem-Modell laden
model = YOLO("yolo26n-sem.pt")

# Das Modell mit Cityscapes8 trainieren
results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

Du kannst Cityscapes8 auch mit der Ultralytics Platform verwalten und Modelle für semantische Segmentierung in der Cloud trainieren.

Zitate, Lizenz und Danksagungen#

Cityscapes8 ist eine Teilmenge von Cityscapes, das unter einer speziellen nichtkommerziellen Lizenz veröffentlicht wird — Einzelheiten findest du auf der vollständigen Cityscapes-Datensatzseite.

Wenn du den Cityscapes-Datensatz für deine Forschung oder Entwicklung verwendest, zitiere bitte die folgende Veröffentlichung:

Zitat
@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}
}

Ein besonderer Dank gilt dem Cityscapes-Team für seine fortlaufenden Beiträge zur Fachgemeinschaft für autonomes Fahren und Computer Vision.

Häufig gestellte Fragen#

  • Der Ultralytics-Datensatz Cityscapes8 ist für schnelle Tests und die Fehlersuche bei Modellen zur semantischen Segmentierung konzipiert. Mit nur 8 Bildern (4 für das Training, 4 für die Validierung) eignet er sich ideal, um YOLO-Pipelines für semantische Segmentierung zu überprüfen. Dazu gehören das Laden von Masken, Augmentierungen, Validierung und Export, bevor du zum vollständigen Cityscapes-Datensatz wechselst. Weitere Informationen findest du in der Cityscapes8-YAML-Konfiguration.

  • Cityscapes8 umfasst 8 Bilder (4 für das Training, 4 für die Validierung) aus der Aufteilung von Cityscapes mit 2.975 Trainings- und 500 Validierungsbildern. Dabei werden dieselben 19 Klassen und label_mapping verwendet. Eine Pipeline, die mit Cityscapes8 funktioniert, läuft daher ohne Änderungen auch mit dem vollständigen Datensatz — verweise einfach mit data= auf cityscapes.yaml statt auf cityscapes8.yaml. Anders als beim vollständigen Datensatz ist für Cityscapes8 kein manueller Download erforderlich und es gibt keinen Abschnitt test.

  • Du kannst ein YOLO26-Modell für semantische Segmentierung mit Cityscapes8 entweder mit Python oder der CLI trainieren:

    Trainingsbeispiel
    from ultralytics import YOLO
    
    # Ein vortrainiertes YOLO26n-sem-Modell laden
    model = YOLO("yolo26n-sem.pt")
    
    # Das Modell mit Cityscapes8 trainieren
    results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

    Weitere Trainingsoptionen findest du in der YOLO-Trainingsdokumentation.

  • Nein. Cityscapes8 ist zu klein für aussagekräftige Modellvergleiche und dient zum Prüfen von Trainings- und Evaluierungspipelines. Verwende den vollständigen Cityscapes-Validierungssatz, wenn du repräsentative Benchmark-Ergebnisse für die semantische Segmentierung benötigst.

Kommentare