mcordts/cityscapesScripts

README and scripts for the Cityscapes Dataset

Cityscapes Scripts – 快速概览

它是什么 – 一套 Python 工具箱,协助您处理 Cityscapes 数据集,这是一个广受欢迎的街景图像基准,用于训练与评估计算机视觉模型(语义分割、实例分割、全景分割、3‑D 物体检测等)。

为什么它很重要 – 该数据集规模庞大,具有复杂的文件夹结构与多种标注格式(精细/粗略多边形、PNG 标签图、3‑D 框等)。这些脚本自动化了下载、可视化、转换与评估这些标注的繁琐步骤,让研究人员能专注于模型本身。


主要功能 (如 README 所述)

领域 工具箱提供的功能
安装 pip install cityscapesscripts (可通过 cityscapesscripts[gui] 安装 GUI 额外功能)。
数据处理 csDownload – 用于官方 Cityscapes 套件的命令行下载器。
可视化 csViewer – 带有任何标注类型叠加层的图像查看器;csLabelTool – 数据集创建者使用的原始标注 UI。
转换工具 • csCreateTrainIdLabelImgs – 将多边形 JSON 转为带有 train‑ID 标签的 PNG。
• csCreateTrainIdInstanceImgs – 同上,但包含实例 ID。
• csCreatePanopticImgs – 导出为 COCO 风格的全景格式。
评估 • 像素级语义标注 (csEvalPixelLevelSemanticLabeling)。
• 实例级语义标注 (csEvalInstanceLevelSemanticLabeling)。
• 全景分割 (csEvalPanopticSemanticLabeling)。
• 3‑D 物体检测 (csEvalObjectDetection3d)。
3‑D 可视化 csPlot3dDetectionResults – 绘制存储为 JSON 的 3‑D 检测输出。
辅助工具 helpers/labels.py 与 helpers/labels_cityPersons.py 定义了转换/评估工具使用的类别 ID、色彩映射与映射关系。
Cython 加速 可选的 Cython 构建 (CYTHONIZE_EVAL=1 python setup.py build_ext --inplace) 以加速评估(已在 Ubuntu 上测试)。

典型工作流程

  1. 设置数据集根目录 – 导出 CITYSCAPES_DATASET=/path/to/cityscapes(许多脚本会读取此环境变量)。
  2. 下载 – 运行 csDownload 以获取所需的分割区(训练/验证/测试、精细/粗略等)。
  3. 检查 – 使用 csViewer 浏览图像并叠加任何标注类型。
  4. 准备 – 使用 csCreate* 工具将多边形标注转换为模型所需的 PNG 标签图。
  5. 训练 / 推理 – 将准备好的图像/标签输入您的分割或检测模型。
  6. 评估 – 推理后,在验证集上调用适当的 csEval* 脚本,以获取官方 Cityscapes 指标(IoU、AP、PQ 等)。
  7. 提交 – 对于测试集,请依照评估脚本的说明格式化结果,并通过 Cityscapes 提交入口网站上传。

谁会使用此工具

  • 研究实验室:建立最先进的街景感知模型。
  • 学生:需要可靠的方式将数据集转换为与 PyTorch/TensorFlow 流水线兼容的格式。
  • 竞赛者:Cityscapes 排行榜的参赛者,必须遵循精确的评估协议。

授权与联系

  • 脚本采用 MIT 授权(可自由修改与重新分发)。
  • 数据集本身有其自定义授权;在使用数据前,您必须同意这些条款。
  • 维护者:Marius Cordts, Mohamed Omran – 可通过 mail@cityscapes-dataset.net 联系。

简而言之,Cityscapes Scripts 存储库是一个实用且文档完善的工具套件,简化了最广泛使用的自动驾驶视觉基准之一的端到端处理流程。

相关

  • 项目
  • 项目
  • 项目
  • 项目