Cityscapes8-Datensatz

Einführung

Der Ultralytics Cityscapes8-Datensatz ist ein kompakter semantic segmentation-Datensatz mit 8 Bildern, die aus dem Cityscapes-Datensatz stammen: 4 für das Training und 4 für die Validierung. Er wurde für schnelles Testen, Debugging und Experimente mit YOLO-Modellen für semantische Segmentierung und Trainings-Pipelines entwickelt. Sein Inhalt mit städtischen Szenen bietet eine nützliche Überprüfung der Pipeline, bevor auf den vollständigen Cityscapes-Datensatz skaliert wird.

Cityscapes8 verwendet dieselben 19 Bewertungsklassen und das gleiche label_mapping-Verhalten wie der vollständige Cityscapes-Datensatz und ist vollständig kompatibel mit YOLO26 Workflows für semantische Segmentierung.

Datensatz YAML

Die Konfiguration des Cityscapes8-Datensatzes ist in einer YAML-Datei definiert, die Datensatzpfade, Klassennamen und andere wesentliche Metadaten festlegt. Du kannst die offizielle cityscapes8.yaml-Datei im Ultralytics GitHub repository einsehen. Das YAML enthält eine Download-URL für das kleine, gepackte Subset.

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 auf dem Cityscapes8-Datensatz für 100 epochs mit einer Bildgröße von 1024 zu trainieren, verwende die folgenden Beispiele. Eine vollständige Liste der Trainingsoptionen findest du in der YOLO Training documentation.

Trainingsbeispiel
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)

Zitate und Danksagungen

Wenn du den Cityscapes-Datensatz in deiner Forschung oder Entwicklung verwendest, zitiere bitte das folgende Paper:

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

Besonderer Dank geht an das Cityscapes team für ihre fortlaufenden Beiträge zu den Bereichen autonomes Fahren und computer vision.

FAQ

Wofür wird der Ultralytics Cityscapes8-Datensatz verwendet?

Der Ultralytics Cityscapes8-Datensatz wurde für schnelles Testen und Debuggen von semantic segmentation-Modellen entwickelt. Mit nur 8 Bildern (4 für das Training, 4 für die Validierung) ist er ideal, um YOLO-Pipelines für semantische Segmentierung zu verifizieren, einschließlich Masken-Laden, Augmentierungen, Validierung und Exportpfaden, bevor auf den vollständigen Cityscapes-Datensatz skaliert wird. Erkunde die Cityscapes8 YAML configuration für weitere Details.

Wie trainiere ich ein YOLO26-Modell mit dem Cityscapes8-Datensatz?

Du kannst ein YOLO26-Modell für semantische Segmentierung auf Cityscapes8 entweder mit Python oder über die CLI trainieren:

Trainingsbeispiel
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)

Für zusätzliche Trainingsoptionen beziehe dich auf die YOLO Training documentation.

Sollte ich Cityscapes8 für Benchmarking verwenden?

Nein. Cityscapes8 ist zu klein für einen aussagekräftigen Modellvergleich und ist für die Überprüfung von Trainings- und Evaluierungs-Pipelines gedacht. Verwende den vollständigen Cityscapes Validierungssatz, wenn du repräsentative Benchmark-Ergebnisse für semantische Segmentierung benötigst.

Kommentare