Ultralytics YOLO27:

Dataset Cityscapes8#

Introduzione#

Il dataset Cityscapes8 di Ultralytics è un dataset compatto di segmentazione semantica con 8 immagini selezionate dal dataset Cityscapes: 4 per l'addestramento e 4 per la convalida. È progettato per test rapidi, debug e sperimentazione con modelli e pipeline di addestramento YOLO per la segmentazione semantica. I contenuti di scene urbane consentono di verificare la pipeline prima di passare al dataset Cityscapes completo.

Cityscapes8 usa le stesse 19 classi di valutazione e lo stesso comportamento label_mapping del dataset Cityscapes completo ed è pienamente compatibile con i flussi di lavoro di segmentazione semantica YOLO26.

Nota

Cityscapes8 è pensato solo per testare le pipeline, non per i benchmark: 8 immagini sono troppo poche per un confronto significativo di mIoU. Per risultati rappresentativi, usa il set di convalida completo di Cityscapes.

Struttura del dataset#

Cityscapes8 riproduce la struttura del dataset completo, senza una suddivisione test:

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

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

YAML del dataset#

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

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 epoche con una dimensione dell'immagine di 1024, usa gli esempi seguenti. Per l'elenco completo delle opzioni di addestramento, consulta la documentazione sull'addestramento YOLO.

Esempio di addestramento
from ultralytics import YOLO

# Carica un modello YOLO26n-sem preaddestrato
model = YOLO("yolo26n-sem.pt")

# Addestra il modello su 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 ringraziamenti#

Cityscapes8 è un sottoinsieme di Cityscapes, distribuito con una licenza personalizzata non commerciale: consulta la pagina completa del dataset Cityscapes per i dettagli.

Se usi il dataset Cityscapes nella tua attività di ricerca o 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 Cityscapes per il suo costante contributo alle comunità della guida autonoma e della visione artificiale.

Domande frequenti#

  • Il dataset Cityscapes8 di Ultralytics è progettato per testare e correggere rapidamente i modelli di segmentazione semantica. Con sole 8 immagini (4 per l'addestramento e 4 per la convalida), è ideale per verificare le pipeline di segmentazione semantica YOLO, inclusi il caricamento delle maschere, gli aumenti dei dati, la convalida e i percorsi di esportazione, prima di passare al dataset Cityscapes completo. Consulta la configurazione YAML di Cityscapes8 per maggiori dettagli.

  • Cityscapes8 seleziona 8 immagini (4 per l'addestramento e 4 per la convalida) dalla suddivisione Cityscapes di 2.975 immagini di addestramento e 500 di convalida, usando le stesse 19 classi e label_mapping; pertanto, una pipeline che funziona su Cityscapes8 funziona senza modifiche anche sul dataset completo: basta impostare data= su cityscapes.yaml anziché su cityscapes8.yaml. A differenza del dataset completo, Cityscapes8 non richiede il download manuale e non include la suddivisione test.

  • Puoi addestrare un modello YOLO26 di segmentazione semantica su Cityscapes8 con Python o CLI:

    Esempio di addestramento
    from ultralytics import YOLO
    
    # Carica un modello YOLO26n-sem preaddestrato
    model = YOLO("yolo26n-sem.pt")
    
    # Addestra il modello su Cityscapes8
    results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

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

  • No. Cityscapes8 è troppo piccolo per confrontare i modelli in modo significativo ed è pensato per verificare le pipeline di addestramento e valutazione. Quando hai bisogno di risultati rappresentativi di benchmark per la segmentazione semantica, usa il set di convalida completo di Cityscapes.

Commenti