DDRNet icon indicating copy to clipboard operation
DDRNet copied to clipboard

The official implementation of "Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes"

The official implementation of "Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes"

avatar

Achieve state-of-the-art trade-off between accuracy and speed on cityscapes and camvid, without using inference acceleration (like tensorRT) and extra data (like Mapillary)!

avatar The overall architecture of our methods.

avatar The details of "Deep Aggregation Pyramid Pooling Module(DAPPM)".

Usage

Currently, this repo contains the model codes and pretrained models for classification and semantic segmentation. Our models are trained using this code base HRNet-Semantic-Segmentation-pytorch-v1.1.

For training DDRNet, you can refer to DDRNet.pytorch, Segmentation-Pytorch, semantic-segmentation. PaddleSeg has supported DDRNet-23 now, which achieves 79.85 mIoU. Thanks for their works!

Notice

There are some basic training tricks you should employ to reproduce our results including class balance sample, ohem, crop size of 1024x1024. More details can be found in the paper. And there is usually some variation with Cityscapes val results of the same model, maybe about 1% mIoU.

Keep "align_corners=False" in all places if you want to use our pretrained models for evaluation directly.

Pretrained models

ImageNet

DDRNet_23_slim(top-1 error:29.8): googledrive

DDRNet_23_slim using timm library, maybe helpful to train on own datasets(top-1 error:26.3, trained with a batch size of 256, warmup, cosine learning rate, 300 epoches and label smoothing): googledrive

DDRNet_23(top-1 error:24.1): googledrive

DDRNet_39(top-1 error:22.7): googledrive

Cityscapes

DDRNet_23_slim(val mIoU:77.8): googledrive

DDRNet_23(val mIoU:79.5): googledrive

CamVid

Dataset can be downloaded from the link.

DDRNet_23_slim: googledrive

Results on Cityscapes server

DDRNet_23_slim: 77.4

DDRNet_23: 79.4

DDRNet_39: 80.4 81.9(multi-scale and flip)

DDRNet_39 1.5x: 82.4(multi-scale and flip)

Test Speed

Evaluate the inference speed on Cityscapes dataset.

python3 DDRNet_23_slim_eval_speed.py

DDRNet-23-slim can achieve above 130fps by using the tool.

Citation

If you find this repo is useful for your research, Please consider citing our paper:

@article{hong2021deep,
  title={Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes},
  author={Hong, Yuanduo and Pan, Huihui and Sun, Weichao and Jia, Yisong},
  journal={arXiv preprint arXiv:2101.06085},
  year={2021}
}