mmsegmentation/projects/kitti_step_dataset
Timo Kaiser a85675c16f
Created KITTI dataset for segmentation in autonomous driving scenario (#2730)
Note that this PR is a modified version of the withdrawn PR
https://github.com/open-mmlab/mmsegmentation/pull/1748

## Motivation

In the last years, panoptic segmentation has become more into the focus
in reseach. Weber et al.
[[Link]](http://www.cvlibs.net/publications/Weber2021NEURIPSDATA.pdf)
have published a quite nice dataset, which is in the same style like
Cityscapes, but for KITTI sequences. Since Cityscapes and KITTI-STEP
share the same classes and also a comparable domain (dashcam view),
interesting investigations, e.g. about relations in the domain e.t.c.
can be done.

Note that KITTI-STEP provices panoptic segmentation annotations which
are out of scope for mmsegmentation.

## Modification

Mostly, I added the new dataset and dataset preparation file. To
simplify the first usage of the new dataset, I also added configs for
the dataset, segformer and deeplabv3plus.

## BC-breaking (Optional)

No BC-breaking

## Use cases (Optional)

Researchers want to test their new methods, e.g. for interpretable AI in
the context of semantic segmentation. They want to show, that their
method is reproducible on comparable datasets. Thus, they can compare
Cityscapes and KITTI-STEP.

---------

Co-authored-by: CSH <40987381+csatsurnh@users.noreply.github.com>
Co-authored-by: csatsurnh <cshan1995@126.com>
Co-authored-by: 谢昕辰 <xiexinch@outlook.com>
2023-05-09 18:08:31 +08:00
..

KITTI STEP Dataset

Support KITTI STEP Dataset

Description

Author: TimoK93

This project implements KITTI STEP Dataset

Dataset preparing

After registration, the data images could be download from KITTI-STEP

You may need to follow the following structure for dataset preparation after downloading KITTI-STEP dataset.

mmsegmentation
├── mmseg
├── tools
├── configs
├── data
│   ├── kitti_step
│   │   ├── testing
│   │   ├── training
│   │   ├── panoptic_maps

Run the preparation script to generate label files and kitti subsets by executing

python tools/convert_datasets/kitti_step.py /path/to/kitti_step

After executing the script, your directory should look like

mmsegmentation
├── mmseg
├── tools
├── configs
├── data
│   ├── kitti_step
│   │   ├── testing
│   │   ├── training
│   │   ├── panoptic_maps
│   │   ├── training_openmmlab
│   │   ├── panoptic_maps_openmmlab

Training commands

# Dataset train commands
# at `mmsegmentation` folder
bash tools/dist_train.sh projects/kitti_step_dataset/configs/segformer/segformer_mit-b5_368x368_160k_kittistep.py 8

Testing commands

mim test mmsegmentation projects/kitti_step_dataset/configs/segformer/segformer_mit-b5_368x368_160k_kittistep.py --work-dir work_dirs/segformer_mit-b5_368x368_160k_kittistep --checkpoint ${CHECKPOINT_PATH} --eval mIoU
Method Backbone Crop Size Lr schd Mem (GB) Inf time (fps) mIoU mIoU(ms+flip) config model log
Segformer MIT-B5 368x368 160000 - - 65.05 - config model log

Checklist

  • Milestone 1: PR-ready, and acceptable to be one of the projects/.

    • Finish the code

    • Basic docstrings & proper citation

    • Test-time correctness

    • A full README

  • Milestone 2: Indicates a successful model implementation.

    • Training-time correctness
  • Milestone 3: Good to be a part of our core package!

    • Type hints and docstrings

    • Unit tests

    • Code polishing

    • Metafile.yml

  • Move your modules into the core package following the codebase's file hierarchy structure.

  • Refactor your modules into the core package following the codebase's file hierarchy structure.