YOLO Vision 2026:

Dataset Cityscapes8#

Introduzione#

Il dataset Cityscapes8 di Ultralytics è un dataset compatto per la segmentazione semantica con 8 immagini campionate dal dataset Cityscapes: 4 per l'addestramento e 4 per la validazione. È progettato per test rapidi, debug e sperimentazione con i modelli di segmentazione semantica YOLO e le pipeline di addestramento. Il suo contenuto di scene urbane fornisce un utile controllo della pipeline prima di passare al dataset Cityscapes completo.

Cityscapes8 utilizza le stesse 19 classi di valutazione e lo stesso comportamento di label_mapping del dataset Cityscapes completo, ed è pienamente compatibile con i flussi di lavoro di semantic segmentation di YOLO26.

Nota

Cityscapes8 serve solo per testare la pipeline, non per il benchmarking: le sue 8 immagini sono troppo poche per un confronto mIoU significativo. Usa l'intero set di validazione Cityscapes per risultati rappresentativi.

Struttura del dataset#

Cityscapes8 rispecchia il layout dell'intero dataset, senza uno split test:

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

Le maschere sono abbinate alle immagini tramite il campo masks_dir: masks e label_mapping converte gli ID delle etichette Cityscapes di origine nei 19 ID di addestramento contigui descritti nella struttura completa del dataset Cityscapes.

Dataset YAML#

La configurazione del dataset Cityscapes8 è definita in un file YAML del dataset, che specifica i percorsi del dataset, i nomi delle classi e altri metadati essenziali. Puoi consultare il file ufficiale cityscapes8.yaml nel repository GitHub di Ultralytics. Lo YAML include un URL di download per il piccolo sottoinsieme pacchettizzato.

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

Utilizzo#

Per addestrare un modello YOLO26n-sem sul dataset Cityscapes8 per 100 epochs con una dimensione dell'immagine di 1024, usa i seguenti esempi. Per un elenco completo delle opzioni di addestramento, consulta la documentazione sull'addestramento di YOLO.

Esempio di Addestramento
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)

Puoi anche gestire Cityscapes8 e addestrare modelli di segmentazione semantica nel cloud con Ultralytics Platform.

Citazioni, licenza e riconoscimenti#

Cityscapes8 è campionato da Cityscapes, che è rilasciato sotto una licenza non commerciale personalizzata — vedi l'intera pagina del dataset Cityscapes per i dettagli.

Se utilizzi il dataset Cityscapes nella tua ricerca o nel tuo sviluppo, cita il seguente articolo:

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

Un ringraziamento speciale al team di Cityscapes per i loro continui contributi alle comunità della guida autonoma e della computer vision.

FAQ#

A cosa serve il dataset Ultralytics Cityscapes8?#

Il dataset Cityscapes8 di Ultralytics è progettato per test rapidi e debug dei modelli di segmentazione semantica. Con sole 8 immagini (4 per l'addestramento, 4 per la validazione), è ideale per verificare le pipeline di segmentazione semantica YOLO, inclusi il caricamento delle maschere, le aumentazioni, la validazione e i percorsi di esportazione, prima di passare al dataset Cityscapes completo. Esplora la configurazione YAML di Cityscapes8 per maggiori dettagli.

In che modo Cityscapes8 differisce dall'intero dataset Cityscapes?#

Cityscapes8 campiona 8 immagini (4 di train, 4 di val) dallo split 2.975-training/500-validation di Cityscapes, utilizzando le stesse 19 classi e label_mapping, quindi una pipeline che funziona su Cityscapes8 gira senza modifiche sull'intero dataset — basta puntare data= su cityscapes.yaml invece di cityscapes8.yaml. A differenza dell'intero dataset, Cityscapes8 non ha alcun passaggio di download manuale e alcuno split test.

Come addestro un modello YOLO26 utilizzando il dataset Cityscapes8?#

Puoi addestrare un modello di semantic segmentation YOLO26 su Cityscapes8 utilizzando Python o la CLI:

Esempio di Addestramento
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)

Per ulteriori opzioni di addestramento, consulta la documentazione sull'addestramento YOLO.

Dovrei usare Cityscapes8 per il benchmarking?#

No. Cityscapes8 è troppo piccolo per un confronto significativo tra modelli ed è inteso per controlli delle pipeline di addestramento e valutazione. Usa il set di validazione completo di Cityscapes quando hai bisogno di risultati di benchmark rappresentativi per la semantic segmentation.

Commenti