Link to this sectionCityscapes8 Dataset#
Link to this sectionIntroduction#
The Ultralytics Cityscapes8 dataset is a compact semantic segmentation dataset with 8 images sampled from the Cityscapes dataset: 4 for training and 4 for validation. It is designed for rapid testing, debugging, and experimentation with YOLO semantic segmentation models and training pipelines. Its urban-scene content provides a useful pipeline check before scaling to the full Cityscapes dataset.
Cityscapes8 uses the same 19 evaluation classes and the same label_mapping behavior as the full Cityscapes dataset, and is fully compatible with YOLO26 semantic segmentation workflows.
Cityscapes8 is for pipeline testing only, not benchmarking — its 8 images are too few for a meaningful mIoU comparison. Use the full Cityscapes validation set for representative results.
Link to this sectionDataset Structure#
Cityscapes8 mirrors the full dataset's layout, without a test split:
cityscapes8/
├── images/
│ ├── train/ # 4 images
│ └── val/ # 4 images
└── masks/
├── train/ # 4 single-channel PNG masks
└── val/ # 4 single-channel PNG masksMasks are paired with images via the masks_dir: masks field, and label_mapping converts source Cityscapes label IDs into the 19 contiguous train IDs described in the full Cityscapes dataset structure.
Explore Cityscapes8 on Ultralytics Platform to browse every image with its segmentation masks and clone it to train in the cloud.
Link to this sectionDataset YAML#
The Cityscapes8 dataset configuration is defined in a dataset YAML file, which specifies dataset paths, class names, and other essential metadata. You can review the official cityscapes8.yaml file in the Ultralytics GitHub repository. The YAML includes a download URL for the small packaged subset.
# 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.zipLink to this sectionUsage#
To train a YOLO26n-sem model on the Cityscapes8 dataset for 100 epochs with an image size of 1024, use the following examples. For a full list of training options, see the YOLO Training documentation.
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)Link to this sectionCitations, License and Acknowledgments#
Cityscapes8 is sampled from Cityscapes, which is released under a custom non-commercial license — see the full Cityscapes dataset page for details.
If you use the Cityscapes dataset in your research or development, please cite the following paper:
@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}
}Special thanks to the Cityscapes team for their ongoing contributions to the autonomous driving and computer vision communities.
Link to this sectionFAQ#
Link to this sectionWhat is the Ultralytics Cityscapes8 dataset used for?#
The Ultralytics Cityscapes8 dataset is designed for rapid testing and debugging of semantic segmentation models. With only 8 images (4 for training, 4 for validation), it is ideal for verifying YOLO semantic segmentation pipelines, including mask loading, augmentations, validation, and export paths, before scaling to the full Cityscapes dataset. Explore the Cityscapes8 YAML configuration for more details.
Link to this sectionHow does Cityscapes8 differ from the full Cityscapes dataset?#
Cityscapes8 samples 8 images (4 train, 4 val) from Cityscapes' 2,975-training/500-validation split, using the same 19 classes and label_mapping, so a pipeline that runs on Cityscapes8 runs unmodified on the full dataset — just point data= at cityscapes.yaml instead of cityscapes8.yaml. Unlike the full dataset, Cityscapes8 has no manual-download step and no test split.
Link to this sectionHow do I train a YOLO26 model using the Cityscapes8 dataset?#
You can train a YOLO26 semantic segmentation model on Cityscapes8 using either Python or the CLI:
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)For additional training options, refer to the YOLO Training documentation.
Link to this sectionShould I use Cityscapes8 for benchmarking?#
No. Cityscapes8 is too small for meaningful model comparison and is intended for training and evaluation pipeline checks. Use the full Cityscapes validation set when you need representative benchmark results for semantic segmentation.