Ultralytics YOLO27:

Dataset Cityscapes8#

Introdução#

O dataset Cityscapes8 da Ultralytics é um dataset compacto de segmentação semântica com 8 imagens obtidas por amostragem do dataset Cityscapes: 4 para treino e 4 para validação. Foi concebido para testes rápidos, depuração e experimentação com modelos de segmentação semântica YOLO e pipelines de treino. O seu conteúdo de cenas urbanas proporciona uma verificação útil do pipeline antes de o expandir para o dataset Cityscapes completo.

O Cityscapes8 utiliza as mesmas 19 classes de avaliação e o mesmo comportamento de label_mapping que o dataset Cityscapes completo, sendo totalmente compatível com os workflows de segmentação semântica do YOLO26.

Nota

O Cityscapes8 destina-se apenas a testes de pipeline, não a benchmarking — as suas 8 imagens são insuficientes para uma comparação significativa de mIoU. Utiliza o conjunto de validação completo do Cityscapes para obter resultados representativos.

Estrutura do Conjunto de Dados#

O Cityscapes8 replica a estrutura do dataset completo, sem uma divisão test:

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

As máscaras são associadas às imagens através do campo masks_dir: masks, e label_mapping converte os IDs de etiquetas Cityscapes de origem nos 19 IDs de treino contíguos descritos na estrutura completa do dataset Cityscapes.

YAML do Conjunto de Dados#

A configuração do dataset Cityscapes8 é definida num ficheiro YAML de dataset, que especifica os caminhos do dataset, os nomes das classes e outros metadados essenciais. Podes consultar o ficheiro oficial cityscapes8.yaml no repositório GitHub da Ultralytics. O YAML inclui um URL de transferência para o pequeno subconjunto empacotado.

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

Utilização#

Para treinar um modelo YOLO26n-sem no dataset Cityscapes8 durante 100 épocas com um tamanho de imagem de 1024, utiliza os exemplos seguintes. Para consultar a lista completa de opções de treino, vê a documentação de treino do YOLO.

Exemplo de treino
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)

Também podes gerir o Cityscapes8 e treinar modelos de segmentação semântica na cloud com a Ultralytics Platform.

Citações, licença e agradecimentos#

O Cityscapes8 é obtido por amostragem do Cityscapes, que é distribuído sob uma licença personalizada não comercial — consulta a página completa do dataset Cityscapes para obteres mais detalhes.

Se utilizares o dataset Cityscapes na tua investigação ou desenvolvimento, cita o artigo seguinte:

Citação
@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}
}

Agradecimentos especiais à equipa Cityscapes pelas suas contribuições contínuas para as comunidades de condução autónoma e de visão computacional.

Perguntas frequentes#

  • O dataset Ultralytics Cityscapes8 foi concebido para testes rápidos e depuração de modelos de segmentação semântica. Com apenas 8 imagens (4 para treino e 4 para validação), é ideal para verificar pipelines de segmentação semântica YOLO, incluindo o carregamento de máscaras, aumentos, validação e caminhos de exportação, antes de os expandir para o dataset Cityscapes completo. Explora a configuração YAML do Cityscapes8 para obteres mais detalhes.

  • O Cityscapes8 seleciona 8 imagens (4 de treino e 4 de validação) da divisão de 2.975 imagens para treino e 500 para validação do Cityscapes, utilizando as mesmas 19 classes e label_mapping, pelo que um pipeline que funciona no Cityscapes8 funciona sem alterações no dataset completo — basta apontar data= para cityscapes.yaml em vez de cityscapes8.yaml. Ao contrário do dataset completo, o Cityscapes8 não requer um passo de transferência manual nem possui uma divisão test.

  • Podes treinar um modelo de segmentação semântica YOLO26 no Cityscapes8 utilizando Python ou a CLI:

    Exemplo de treino
    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 obteres opções de treino adicionais, consulta a documentação de treino do YOLO.

  • Não. O Cityscapes8 é demasiado pequeno para uma comparação significativa de modelos e destina-se a verificações dos pipelines de treino e avaliação. Utiliza o conjunto de validação completo do Cityscapes quando precisares de resultados de benchmarking representativos para segmentação semântica.

Comentários