Ultralytics YOLO27:

Cityscapes8 数据集#

简介#

Ultralytics Cityscapes8 数据集是一个小型语义分割数据集,从 Cityscapes 数据集中采样了 8 张图像:4 张用于训练,4 张用于验证。它旨在对 YOLO 语义分割模型和训练流程进行快速测试、调试和实验。其中的城市场景内容可用于在扩展到完整 Cityscapes 数据集之前检查流程。

Cityscapes8 使用与完整 Cityscapes 数据集相同的 19 个评估类别和相同的 label_mapping 行为,并且完全兼容 YOLO26 语义分割工作流。

注意

Cityscapes8 仅用于流程测试,不用于基准测试——其中的 8 张图像太少,无法进行有意义的 mIoU 比较。若要获得具有代表性的结果,请使用完整的 Cityscapes 验证集。

数据集结构#

Cityscapes8 的目录布局与完整数据集一致,但没有 test 划分:

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

掩码通过 masks_dir: masks 字段与图像配对,而 label_mapping 会将源 Cityscapes 标签 ID 转换为 完整 Cityscapes 数据集结构中所述的 19 个连续训练 ID。

数据集 YAML#

Cityscapes8 数据集配置定义在数据集 YAML 文件中,其中指定了数据集路径、类别名称和其他必要元数据。你可以在 Ultralytics GitHub 仓库中查看官方的 cityscapes8.yaml 文件。该 YAML 包含小型打包子集的下载 URL。

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

使用方法#

要在 Cityscapes8 数据集上训练 YOLO26n-sem 模型 100 个训练轮次,并将图像大小设为 1024,请使用以下示例。有关完整的训练选项列表,请参阅 YOLO 训练文档

训练示例
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)

你还可以通过 Ultralytics Platform 在云端管理 Cityscapes8 并训练语义分割模型。

引用、许可证和致谢#

Cityscapes8 取样自 Cityscapes,而 Cityscapes 以自定义非商业许可发布——详情请参阅完整的 Cityscapes 数据集页面

如果你在研究或开发中使用 Cityscapes 数据集,请引用以下论文:

引用
@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}
}

特别感谢 Cityscapes 团队持续为自动驾驶和计算机视觉社区作出的贡献。

常见问题#

  • Ultralytics Cityscapes8 数据集旨在对语义分割模型进行快速测试和调试。它仅包含 8 张图像(4 张用于训练,4 张用于验证),非常适合在扩展到完整的 Cityscapes 数据集之前,验证 YOLO 语义分割流程,包括掩码加载、数据增强、验证和导出路径。有关更多详细信息,请查看 Cityscapes8 YAML 配置

  • Cityscapes8 从 Cityscapes 的 2,975 张训练图像/500 张验证图像划分中采样 8 张图像(4 张训练图像、4 张验证图像),使用相同的 19 个类别和 label_mapping,因此能在 Cityscapes8 上运行的流程无需修改即可在完整数据集上运行——只需将 data= 指向 cityscapes.yaml,而不是 cityscapes8.yaml。与完整数据集不同,Cityscapes8 无需手动下载,也没有 test 划分。

  • 你可以使用 Python 或 CLI 在 Cityscapes8 上训练 YOLO26 语义分割模型:

    训练示例
    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)

    如需其他训练选项,请参阅 YOLO 训练文档

  • 不应该。Cityscapes8 太小,无法进行有意义的模型比较,其 предназнач用于训练和评估流程检查。需要具有代表性的语义分割基准测试结果时,请使用完整的 Cityscapes 验证集。

评论