Segurança pronta para empresas: Compatível com ISO 27001 + SOC 2 Tipo I.

Link to this sectionDataset Cityscapes#

O dataset Cityscapes é um benchmark de segmentação semântica em larga escala de cenas urbanas capturadas em 50 cidades europeias, com 2.975 imagens de treino e 500 imagens de validação com anotações precisas divididas em 19 classes. É um dos datasets mais utilizados para pesquisa em direção autônoma e compreensão de cenas urbanas com modelos Ultralytics YOLO.

Link to this sectionPrincipais recursos#

  • As anotações detalhadas do Cityscapes incluem 2.975 imagens de treino e 500 imagens de validação em 19 classes; o arquivo também disponibiliza 1.525 imagens de teste, mas as máscaras divulgadas nelas marcam apenas o veículo próprio (ego-vehicle) e a borda da imagem — as anotações reais das classes são omitidas, e as pontuações oficiais do conjunto de teste exigem o envio de predições para o servidor de avaliação do Cityscapes.
  • O dataset abrange 19 classes de avaliação distribuídas pelas categorias de solo, humano, veículo, construção, objeto, natureza e céu.
  • O Cityscapes fornece métricas de avaliação padronizadas como mean Intersection over Union (mIoU) para segmentação semântica, permitindo uma comparação eficaz do desempenho dos modelos.
  • Antes de realizar o download manual de ~11 GB, verifique seu pipeline de treino com o subconjunto Cityscapes8 de 8 imagens.

Link to this sectionEstrutura do Dataset#

A configuração do Ultralytics espera o seguinte layout após a preparação:

cityscapes/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── masks/
    ├── train/
    ├── val/
    └── test/
Download manual necessário

O Cityscapes não possui download automático de arquivo. Crie uma conta no site do Cityscapes, baixe os arquivos leftImg8bit_trainvaltest.zip e gtFine_trainvaltest.zip (~11 GB no total) e extraia ambos na raiz do dataset cityscapes. O Ultralytics os reorganiza automaticamente no layout images/ e masks/ na primeira vez que você treinar.

As máscaras semânticas são arquivos PNG de canal único. Os IDs de rótulo originais do Cityscapes são mapeados para os 19 IDs de treino padrão por meio da seção label_mapping, e rótulos ignorados ou vazios são mapeados para 255 para que sejam excluídos do treino e da avaliação.

Nota

As máscaras gtFine/test publicadas marcam apenas o veículo próprio e as regiões das bordas da imagem — todas as outras classes são nulas. Calcule o mIoU na divisão val para avaliação local; as pontuações oficiais do conjunto de teste exigem o envio de predições para o servidor de avaliação do Cityscapes.

Link to this sectionAplicações#

O Cityscapes é amplamente utilizado para treinar e avaliar modelos de deep learning em segmentação semântica, particularmente para direção autônoma, sistemas avançados de assistência ao motorista (ADAS) e robótica urbana.

Suas imagens de alta resolução e anotações detalhadas também o tornam valioso para pesquisas em análise de cenas em tempo real, compreensão de faixas e obstáculos, e qualquer tarefa que exija uma compreensão densa a nível de pixel de ambientes urbanos complexos. Modelos de segmentação semântica YOLO26 pré-treinados atingem até 83,6 mIoU no conjunto de validação do Cityscapes — consulte a página de modelos de segmentação semântica para a tabela completa de benchmarks. As anotações do Cityscapes também estão disponíveis na Ultralytics Platform para navegação e gerenciamento de datasets.

Link to this sectionYAML do Dataset#

Um arquivo YAML de conjunto de dados define os caminhos, classes, diretório de máscara e mapeamento de rótulos do Cityscapes. O arquivo cityscapes.yaml é mantido em 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 sectionUso#

Para treinar um modelo YOLO26n-sem no conjunto de dados Cityscapes por 100 epochs com um tamanho de imagem de 1024, você pode usar os seguintes trechos de código. Para uma lista abrangente de argumentos disponíveis, consulte a página de Treinamento do modelo.

Exemplo de Treinamento
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 sectionCitações, Licença e Agradecimentos#

O Cityscapes é distribuído sob uma licença personalizada não comercial — gratuito para pesquisa acadêmica e avaliação, mas o uso comercial, licenciamento ou redistribuição dos dados requer permissão separada da equipe do Cityscapes.

Se você usar o conjunto de dados Cityscapes em sua pesquisa ou trabalho de desenvolvimento, por favor cite 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}
}

Gostaríamos de agradecer à equipe do Cityscapes por criar e manter este recurso valioso para as comunidades de direção autônoma e visão computacional. Para mais informações sobre o conjunto de dados Cityscapes e seus criadores, visite o site do conjunto de dados Cityscapes.

Link to this sectionFAQ#

Link to this sectionO que é o conjunto de dados Cityscapes e por que ele é importante para a visão computacional?#

O dataset Cityscapes é um benchmark de segmentação semântica em larga escala de cenas de ruas urbanas em 50 cidades europeias, amplamente utilizado como referência padrão para pesquisas de direção autônoma e ADAS. Suas 19 classes de avaliação anotadas detalhadamente, imagens de alta resolução e métrica padronizada de Intersection over Union (mIoU) fazem dele um dos benchmarks mais citados para modelos de compreensão densa de cenas.

Link to this sectionComo posso treinar um modelo YOLO usando o conjunto de dados Cityscapes?#

Para treinar um modelo YOLO26n-sem no conjunto de dados Cityscapes por 100 epochs com um tamanho de imagem de 1024, você pode usar os seguintes trechos de código. Para uma lista detalhada de argumentos disponíveis, consulte a página de Treinamento do modelo.

Exemplo de Treinamento
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 sectionComo o conjunto de dados Cityscapes é estruturado?#

Após a preparação, o dataset é organizado nos diretórios images/{train,val,test}/ e masks/{train,val,test}/, com cada imagem pareada a uma máscara PNG de canal único. O arquivo YAML do Ultralytics associa cada imagem à sua máscara através do campo masks_dir: masks e utiliza o label_mapping para converter os IDs de rótulo originais do Cityscapes para os 19 IDs de treino contíguos padrão, mapeando rótulos ignorados e vazios para 255. As máscaras da divisão test marcam apenas o veículo próprio e as regiões de borda, portanto, utilize val para verificações locais de mIoU.

Link to this sectionPreciso baixar o Cityscapes manualmente?#

Sim. Crie uma conta no site do Cityscapes e baixe os arquivos leftImg8bit_trainvaltest.zip e gtFine_trainvaltest.zip (~11 GB no total). Extraia ambos na raiz do dataset cityscapes — o Ultralytics os reorganiza automaticamente no layout esperado images/ e masks/ na primeira vez que você treinar.

Link to this sectionPor que o Cityscapes usa label_mapping?#

As máscaras de origem do Cityscapes armazenam IDs de rótulo originais que diferem dos 19 IDs de treinamento usados para avaliação. A seção label_mapping converte rótulos válidos em IDs de classe contíguos de 0 a 18 e atribui 255 a rótulos ignorados e nulos para que sejam excluídos da perda e das métricas durante o treinamento e a validação.

Link to this sectionO dataset Cityscapes é gratuito para uso comercial?#

Não. O Cityscapes é distribuído sob uma licença não comercial que permite pesquisa acadêmica, ensino e avaliação, mas proíbe o uso comercial, licenciamento ou a venda do dataset ou de trabalhos derivados. Entre em contato diretamente com a equipe do Cityscapes para opções de licenciamento comercial.

Comentários