Ultralytics YOLO27:

Dataset Cityscapes8#

Introducción#

El dataset Cityscapes8 de Ultralytics es un dataset compacto de segmentación semántica con 8 imágenes extraídas del dataset Cityscapes: 4 para entrenamiento y 4 para validación. Está diseñado para realizar pruebas rápidas, depuración y experimentación con modelos de segmentación semántica YOLO y pipelines de entrenamiento. Su contenido de escenas urbanas proporciona una comprobación útil del pipeline antes de escalar al dataset Cityscapes completo.

Cityscapes8 utiliza las mismas 19 clases de evaluación y el mismo comportamiento de label_mapping que el dataset Cityscapes completo, y es totalmente compatible con los flujos de trabajo de segmentación semántica de YOLO26.

Nota

Cityscapes8 está destinado únicamente a probar pipelines, no a realizar benchmarks: sus 8 imágenes son demasiado pocas para una comparación significativa de mIoU. Usa el conjunto de validación completo de Cityscapes para obtener resultados representativos.

Estructura del dataset#

Cityscapes8 replica la estructura del dataset completo, sin una división test:

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

Las máscaras se emparejan con las imágenes mediante el campo masks_dir: masks, y label_mapping convierte los ID de etiqueta de Cityscapes de origen en los 19 ID de entrenamiento contiguos descritos en la estructura del dataset Cityscapes completo.

YAML del dataset#

La configuración del dataset Cityscapes8 se define en un archivo YAML del dataset, que especifica las rutas del dataset, los nombres de las clases y otros metadatos esenciales. Puedes consultar el archivo oficial cityscapes8.yaml en el repositorio de Ultralytics en GitHub. El YAML incluye una URL de descarga para el pequeño subconjunto empaquetado.

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

Uso#

Para entrenar un modelo YOLO26n-sem con el dataset Cityscapes8 durante 100 épocas y con un tamaño de imagen de 1024, usa los siguientes ejemplos. Para consultar la lista completa de opciones de entrenamiento, visita la documentación de entrenamiento de YOLO.

Ejemplo de entrenamiento
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)

También puedes gestionar Cityscapes8 y entrenar modelos de segmentación semántica en la nube con Ultralytics Platform.

Citas, licencia y agradecimientos#

Cityscapes8 se obtiene de Cityscapes, que se distribuye con una licencia personalizada para uso no comercial. Consulta la página completa del dataset Cityscapes para obtener más información.

Si utilizas el dataset Cityscapes en tu investigación o desarrollo, cita el siguiente artículo:

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

Agradecemos especialmente al equipo de Cityscapes sus continuas contribuciones a las comunidades de conducción autónoma y visión artificial.

Preguntas frecuentes#

  • El dataset Cityscapes8 de Ultralytics está diseñado para probar y depurar rápidamente modelos de segmentación semántica. Con solo 8 imágenes (4 para entrenamiento y 4 para validación), es ideal para verificar los pipelines de segmentación semántica de YOLO, incluida la carga de máscaras, las aumentaciones, la validación y las rutas de exportación, antes de escalar al dataset Cityscapes completo. Consulta la configuración YAML de Cityscapes8 para obtener más información.

  • Cityscapes8 selecciona 8 imágenes (4 de entrenamiento y 4 de validación) de la división de 2.975 imágenes de entrenamiento y 500 de validación de Cityscapes, utilizando las mismas 19 clases y label_mapping, por lo que un pipeline que funciona en Cityscapes8 funciona sin modificaciones en el dataset completo: basta con apuntar data= a cityscapes.yaml en lugar de a cityscapes8.yaml. A diferencia del dataset completo, Cityscapes8 no requiere una descarga manual ni tiene una división test.

  • Puedes entrenar un modelo de segmentación semántica YOLO26 en Cityscapes8 utilizando Python o la CLI:

    Ejemplo de entrenamiento
    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)

    Para consultar más opciones de entrenamiento, visita la documentación de entrenamiento de YOLO.

  • No. Cityscapes8 es demasiado pequeño para realizar comparaciones significativas entre modelos y está destinado a comprobar los pipelines de entrenamiento y evaluación. Utiliza el conjunto de validación completo de Cityscapes cuando necesites resultados de benchmark representativos para la segmentación semántica.

Comentarios