Ultralytics YOLO27 :

Jeu de données Cityscapes8#

Introduction#

Le jeu de données Cityscapes8 d'Ultralytics est un jeu de données compact de segmentation sémantique composé de 8 images issues du jeu de données Cityscapes : 4 pour l'entraînement et 4 pour la validation. Il est conçu pour tester, déboguer et expérimenter rapidement les modèles de segmentation sémantique YOLO et les pipelines d'entraînement. Ses scènes urbaines permettent de vérifier utilement le pipeline avant de passer au jeu de données Cityscapes complet.

Cityscapes8 utilise les mêmes 19 classes d'évaluation et le même comportement label_mapping que le jeu de données Cityscapes complet, et est entièrement compatible avec les flux de travail de segmentation sémantique YOLO26.

Remarque

Cityscapes8 est destiné uniquement aux tests de pipeline, pas aux benchmarks — ses 8 images sont insuffisantes pour obtenir une comparaison pertinente du mIoU. Utilise le jeu de validation Cityscapes complet pour obtenir des résultats représentatifs.

Structure du jeu de données#

Cityscapes8 reprend la structure du jeu de données complet, sans partition test :

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

Les masques sont associés aux images via le champ masks_dir: masks, et label_mapping convertit les ID de labels Cityscapes source en 19 ID d'entraînement contigus, décrits dans la structure complète du jeu de données Cityscapes.

Fichier YAML du jeu de données#

La configuration du jeu de données Cityscapes8 est définie dans un fichier YAML qui précise les chemins du jeu de données, les noms des classes et d'autres métadonnées essentielles. Tu peux consulter le fichier officiel cityscapes8.yaml dans le dépôt GitHub Ultralytics. Le YAML inclut une URL de téléchargement du petit sous-ensemble empaqueté.

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

Utilisation#

Pour entraîner un modèle YOLO26n-sem sur le jeu de données Cityscapes8 pendant 100 époques avec une taille d'image de 1024, utilise les exemples suivants. Pour consulter la liste complète des options d'entraînement, reporte-toi à la documentation sur l'entraînement YOLO.

Exemple d’entraînement
from ultralytics import YOLO

# Charger un modèle YOLO26n-sem préentraîné
model = YOLO("yolo26n-sem.pt")

# Entraîner le modèle sur Cityscapes8
results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

Tu peux également gérer Cityscapes8 et entraîner des modèles de segmentation sémantique dans le cloud avec Ultralytics Platform.

Citations, licence et remerciements#

Cityscapes8 est issu de Cityscapes, distribué sous une licence personnalisée à usage non commercial — consulte la page complète du jeu de données Cityscapes pour plus de détails.

Si tu utilises le jeu de données Cityscapes dans le cadre de tes recherches ou de tes travaux de développement, cite l'article suivant :

Citation
@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 grand merci à l'équipe Cityscapes pour ses contributions continues aux communautés de la conduite autonome et de la vision par ordinateur.

FAQ#

  • Le jeu de données Cityscapes8 d'Ultralytics est conçu pour tester et déboguer rapidement des modèles de segmentation sémantique. Avec seulement 8 images (4 pour l'entraînement et 4 pour la validation), il est idéal pour vérifier les pipelines de segmentation sémantique YOLO, notamment le chargement des masques, les augmentations, la validation et les chemins d'export, avant de passer au jeu de données Cityscapes complet. Consulte la configuration YAML de Cityscapes8 pour plus de détails.

  • Cityscapes8 extrait 8 images (4 pour l'entraînement, 4 pour la validation) de la partition Cityscapes de 2 975 images d'entraînement et 500 de validation, avec les mêmes 19 classes et label_mapping. Ainsi, un pipeline qui fonctionne avec Cityscapes8 fonctionne sans modification avec le jeu de données complet : il suffit de faire pointer data= vers cityscapes.yaml plutôt que vers cityscapes8.yaml. Contrairement au jeu de données complet, Cityscapes8 ne nécessite ni téléchargement manuel ni partition test.

  • Tu peux entraîner un modèle YOLO26 de segmentation sémantique sur Cityscapes8 avec Python ou le CLI :

    Exemple d’entraînement
    from ultralytics import YOLO
    
    # Charger un modèle YOLO26n-sem préentraîné
    model = YOLO("yolo26n-sem.pt")
    
    # Entraîner le modèle sur Cityscapes8
    results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

    Pour découvrir d’autres options d’entraînement, consulte la documentation sur l’entraînement YOLO.

  • Non. Cityscapes8 est trop petit pour permettre une comparaison pertinente des modèles et sert à vérifier les pipelines d'entraînement et d'évaluation. Utilise le jeu de validation Cityscapes complet pour obtenir des résultats de benchmark représentatifs en segmentation sémantique.

Commentaires