Ultralytics YOLO27:

Conjunto de dados Cityscapes8#

Introdução#

O conjunto de dados Cityscapes8 da Ultralytics é um conjunto compacto de segmentação semântica com 8 imagens selecionadas do conjunto de dados Cityscapes: 4 para treinamento e 4 para validação. Ele foi projetado para testes rápidos, depuração e experimentação com modelos de segmentação semântica YOLO e pipelines de treinamento. Seu conteúdo de cenas urbanas permite verificar o pipeline antes de escalar para o conjunto de dados Cityscapes completo.

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

Nota

O Cityscapes8 destina-se apenas a testar pipelines, não a fazer benchmarks — as suas 8 imagens são insuficientes para uma comparação significativa do 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 conjunto de dados 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 emparelhadas com as imagens através do campo masks_dir: masks, e label_mapping converte os IDs de rótulo de origem do Cityscapes nos 19 IDs de treino contíguos descritos na estrutura completa do conjunto de dados Cityscapes.

YAML do conjunto de dados#

A configuração do conjunto de dados Cityscapes8 está definida num ficheiro YAML, que especifica os caminhos do conjunto de dados, 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

Uso#

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

Exemplo de treino
from ultralytics import YOLO

# Carrega um modelo YOLO26n-sem pré-treinado
model = YOLO("yolo26n-sem.pt")

# Treina o modelo com 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 nuvem com a Ultralytics Platform.

Citações, licença e agradecimentos#

O Cityscapes8 é um subconjunto do Cityscapes, disponibilizado ao abrigo de uma licença personalizada para uso não comercial — consulta a página completa do conjunto de dados Cityscapes para obteres mais informações.

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

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

Agradecemos especialmente à equipa Cityscapes pelas suas contribuições contínuas para as comunidades de condução autónoma e visão por computador.

Perguntas frequentes#

  • O conjunto de dados Cityscapes8 da Ultralytics foi concebido para testar e depurar rapidamente 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 de dados, validação e exportação, antes de passar para o conjunto de dados Cityscapes completo. Consulta a configuração YAML do Cityscapes8 para obteres mais informações.

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

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

    Exemplo de treino
    from ultralytics import YOLO
    
    # Carrega um modelo YOLO26n-sem pré-treinado
    model = YOLO("yolo26n-sem.pt")
    
    # Treina o modelo com Cityscapes8
    results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

    Para ver mais opções de treinamento, consulta a documentação de treinamento YOLO.

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

Comentários