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 上测试)。 |
典型工作流程
- 设置数据集根目录 – 导出
CITYSCAPES_DATASET=/path/to/cityscapes(许多脚本会读取此环境变量)。 - 下载 – 运行
csDownload以获取所需的分割区(训练/验证/测试、精细/粗略等)。 - 检查 – 使用
csViewer浏览图像并叠加任何标注类型。 - 准备 – 使用
csCreate*工具将多边形标注转换为模型所需的 PNG 标签图。 - 训练 / 推理 – 将准备好的图像/标签输入您的分割或检测模型。
- 评估 – 推理后,在验证集上调用适当的
csEval*脚本,以获取官方 Cityscapes 指标(IoU、AP、PQ 等)。 - 提交 – 对于测试集,请依照评估脚本的说明格式化结果,并通过 Cityscapes 提交入口网站上传。
谁会使用此工具
- 研究实验室:建立最先进的街景感知模型。
- 学生:需要可靠的方式将数据集转换为与 PyTorch/TensorFlow 流水线兼容的格式。
- 竞赛者:Cityscapes 排行榜的参赛者,必须遵循精确的评估协议。
授权与联系
- 脚本采用 MIT 授权(可自由修改与重新分发)。
- 数据集本身有其自定义授权;在使用数据前,您必须同意这些条款。
- 维护者:Marius Cordts, Mohamed Omran – 可通过
mail@cityscapes-dataset.net联系。
简而言之,Cityscapes Scripts 存储库是一个实用且文档完善的工具套件,简化了最广泛使用的自动驾驶视觉基准之一的端到端处理流程。
相关
- 项目
- 项目
- 项目
- 项目