Sicurezza a livello enterprise: Conforme a ISO 27001 + SOC 2 Type I.

Link to this sectionDataset Cityscapes#

Il dataset Cityscapes è un benchmark di semantic segmentation su larga scala di scene stradali urbane riprese in 50 città europee, con 2.975 immagini di addestramento finemente annotate e 500 immagini di validazione suddivise in 19 classi. È uno dei dataset più utilizzati per la ricerca sulla guida autonoma e la comprensione di scene urbane con i modelli Ultralytics YOLO.

Link to this sectionCaratteristiche principali#

  • Le annotazioni fini di Cityscapes includono 2.975 immagini di addestramento e 500 immagini di validazione suddivise in 19 classi; l'archivio include anche 1.525 immagini di test, ma le maschere rilasciate etichettano solo l'ego-vehicle e il bordo dell'immagine — le annotazioni reali delle classi sono riservate e i punteggi ufficiali del set di test richiedono l'invio delle predizioni al Cityscapes evaluation server.
  • Il dataset copre 19 classi di valutazione che spaziano tra categorie come piano stradale, umano, veicolo, costruzione, oggetto, natura e cielo.
  • Cityscapes fornisce metriche di valutazione standardizzate come il mean Intersection over Union (mIoU) per la semantic segmentation, consentendo un confronto efficace delle prestazioni del modello.
  • Prima di impegnarti nel download manuale di ~11 GB, verifica la correttezza della tua pipeline di addestramento con il sottoinsieme di 8 immagini Cityscapes8.

Link to this sectionStruttura del dataset#

La configurazione di Ultralytics prevede il seguente layout dopo la preparazione:

cityscapes/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── masks/
    ├── train/
    ├── val/
    └── test/
Download manuale richiesto

Cityscapes non dispone di un download automatico dell'archivio. Crea un account sul sito web di Cityscapes, quindi scarica gli archivi leftImg8bit_trainvaltest.zip e gtFine_trainvaltest.zip (~11 GB in totale) ed estraili entrambi nella root del dataset cityscapes. Ultralytics li riorganizza automaticamente nel layout images/ e masks/ la prima volta che esegui l'addestramento.

Le maschere semantiche sono file PNG a canale singolo. Gli ID delle etichette originali di Cityscapes vengono mappati ai 19 ID standard di addestramento tramite la sezione label_mapping, mentre le etichette ignorate o vuote vengono mappate a 255 in modo che siano escluse dall'addestramento e dalla valutazione.

Nota

Le maschere gtFine/test rilasciate pubblicamente etichettano solo l'ego-vehicle e le regioni del bordo dell'immagine — tutte le altre classi sono vuote. Calcola la mIoU sullo split val per la valutazione locale; i punteggi ufficiali del set di test richiedono l'invio delle predizioni al Cityscapes evaluation server.

Link to this sectionApplicazioni#

Cityscapes è ampiamente utilizzato per addestrare e valutare modelli di deep learning nella semantic segmentation, in particolare per la autonomous driving, i sistemi avanzati di assistenza alla guida (ADAS) e la robotica urbana.

Le sue immagini ad alta risoluzione e le annotazioni dettagliate lo rendono prezioso anche per la ricerca sul parsing di scene in tempo reale, la comprensione di corsie e ostacoli, e qualsiasi compito che richieda una comprensione densa a livello di pixel di ambienti urbani complessi. I modelli pre-addestrati di semantic segmentation YOLO26 raggiungono fino a 83.6 mIoU sul set di validazione Cityscapes — consulta la pagina dei semantic segmentation models per la tabella completa del benchmark. Le annotazioni di Cityscapes sono anche disponibili su Ultralytics Platform per la consultazione e la gestione del dataset.

Link to this sectionDataset YAML#

Un file YAML del dataset definisce i percorsi, le classi, la directory delle maschere e la mappatura delle etichette di Cityscapes. Il file cityscapes.yaml è mantenuto su https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/cityscapes.yaml.

ultralytics/cfg/datasets/cityscapes.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Cityscapes semantic segmentation dataset (19 classes)
# Documentation: https://docs.ultralytics.com/datasets/semantic/cityscapes
# Example usage: yolo semantic train data=cityscapes.yaml model=yolo26n-sem.pt
# parent
# ├── ultralytics
# └── datasets
#     └── cityscapes ← downloads here (11 GB)
#         └── images
#         └── masks

# Dataset root directory
path: cityscapes # dataset root dir
train: images/train # train images (relative to 'path') 2975 images
val: images/val # val images (relative to 'path') 500 images
test: images/test # test images (relative to 'path') 1525 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

# Preparation script (requires manual Cityscapes download)
download: |
  from pathlib import Path
  from shutil import copy2

  cityscapes_dir = Path(yaml["path"])  # dataset root dir
  # Download and extract the official Cityscapes leftImg8bit and gtFine archives into cityscapes_dir first.
  leftimg8bit_dir = cityscapes_dir / "leftImg8bit"
  gtfine_dir = cityscapes_dir / "gtFine"

  for split in ("train", "val", "test"):
      print(f"Processing {split} set")
      src_image_dir = leftimg8bit_dir / split
      dst_image_dir = cityscapes_dir / "images" / split
      dst_mask_dir = cityscapes_dir / "masks" / split
      dst_image_dir.mkdir(parents=True, exist_ok=True)
      dst_mask_dir.mkdir(parents=True, exist_ok=True)

      image_paths = sorted(src_image_dir.rglob("*_leftImg8bit.png"))
      for image_path in image_paths:
          relative_path = image_path.relative_to(src_image_dir)
          mask_path = gtfine_dir / split / relative_path.parent / image_path.name.replace(
              "_leftImg8bit.png", "_gtFine_labelIds.png"
          )
          if not mask_path.exists():
              raise FileNotFoundError(f"Mask not found for {image_path}: {mask_path}")

          image_name = image_path.name.replace("_leftImg8bit", "")
          mask_name = mask_path.name.replace("_gtFine_labelIds", "")
          copy2(image_path, dst_image_dir / image_name)
          copy2(mask_path, dst_mask_dir / mask_name)

Link to this sectionUtilizzo#

Per addestrare un modello YOLO26n-sem sul dataset Cityscapes per 100 epochs con una dimensione immagine di 1024, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consulta la pagina di Training del modello.

Esempio di Addestramento
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionCitazioni, licenza e riconoscimenti#

Cityscapes è rilasciato sotto una licenza non commerciale personalizzata — gratuito per la ricerca accademica e la valutazione, ma l'uso commerciale, la licenza o la ridistribuzione dei dati richiedono un permesso separato dal team di Cityscapes.

Se utilizzi il dataset Cityscapes nel tuo lavoro 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}
}

Desideriamo ringraziare il team di Cityscapes per aver creato e mantenuto questa preziosa risorsa per le comunità della guida autonoma e della computer vision. Per ulteriori informazioni sul dataset Cityscapes e sui suoi creatori, visita il sito web del dataset Cityscapes.

Link to this sectionFAQ#

Link to this sectionCos'è il dataset Cityscapes e perché è importante per la computer vision?#

Il dataset Cityscapes è un benchmark di semantic segmentation su larga scala di scene stradali urbane in 50 città europee, ampiamente utilizzato come riferimento standard per la ricerca sulla guida autonoma e ADAS. Le sue 19 classi di valutazione finemente annotate, l'immaginario ad alta risoluzione e la metrica standardizzata mean Intersection over Union (mIoU) lo rendono uno dei benchmark più citati per i modelli di comprensione densa di scene.

Link to this sectionCome posso addestrare un modello YOLO utilizzando il dataset Cityscapes?#

Per addestrare un modello YOLO26n-sem sul dataset Cityscapes per 100 epoche con una dimensione immagine di 1024, puoi utilizzare i seguenti frammenti di codice. Per un elenco dettagliato degli argomenti disponibili, consulta la pagina di Training del modello.

Esempio di Addestramento
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="cityscapes.yaml", epochs=100, imgsz=1024)

Link to this sectionCome è strutturato il dataset Cityscapes?#

Dopo la preparazione, il dataset è organizzato in directory images/{train,val,test}/ e masks/{train,val,test}/, con ogni immagine abbinata a una maschera PNG a canale singolo. Il file YAML di Ultralytics associa ogni immagine alla sua maschera tramite il campo masks_dir: masks e utilizza label_mapping per convertire gli ID delle etichette originali di Cityscapes nei 19 ID di addestramento contigui standard, mappando le etichette ignorate e vuote a 255. Le maschere dello split test etichettano solo l'ego-vehicle e le regioni del bordo, quindi usa val per i controlli mIoU locali.

Link to this sectionDevo scaricare Cityscapes manualmente?#

Sì. Crea un account sul sito web di Cityscapes e scarica gli archivi leftImg8bit_trainvaltest.zip e gtFine_trainvaltest.zip (~11 GB in totale). Estraili entrambi nella root del dataset cityscapes — Ultralytics li riorganizza automaticamente nel layout previsto images/ e masks/ la prima volta che esegui l'addestramento.

Link to this sectionPerché Cityscapes utilizza label_mapping?#

Le maschere sorgente di Cityscapes memorizzano ID di etichette originali che differiscono dai 19 ID di training utilizzati per la valutazione. La sezione label_mapping converte le etichette valide in ID di classe contigui da 0 a 18 e assegna 255 alle etichette ignorate e vuote in modo che vengano escluse dalla loss e dalle metriche durante il training e la validazione.

Link to this sectionIl dataset Cityscapes è gratuito per uso commerciale?#

No. Cityscapes è rilasciato sotto una licenza non commerciale che permette la ricerca accademica, l'insegnamento e la valutazione, ma proibisce l'uso commerciale, la licenza o la vendita del dataset o di opere derivate. Contatta direttamente il team di Cityscapes per le opzioni di licenza commerciale.

Commenti