whai362 / PVTv2-Seg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Applying PVT to Semantic Segmentation

Here, we take MMSegmentation v0.13.0 as an example, applying PVTv2 to SemanticFPN.

For details see Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions.

If you use this code for a paper please cite:

@misc{wang2021pyramid,
      title={Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions}, 
      author={Wenhai Wang and Enze Xie and Xiang Li and Deng-Ping Fan and Kaitao Song and Ding Liang and Tong Lu and Ping Luo and Ling Shao},
      year={2021},
      eprint={2102.12122},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Usage

Install MMSegmentation.

Data preparation

First, prepare ADE20K according to the guidelines in MMSegmentation.

Then, download the weights pretrained on ImageNet at here, and put them in a folder pretrained/

Results and models

Backbone Iters mIoU Config Download
PVTv2-B0 + Semantic FPN 40K 37.2 config
PVTv2-B1 + Semantic FPN 40K 42.5 config
PVTv2-B2 + Semantic FPN 40K 45.2 config
PVTv2-B3 + Semantic FPN 40K 47.3 config
PVTv2-B4 + Semantic FPN 40K 47.9 config
PVTv2-B5 + Semantic FPN 40K 48.7 config

Evaluation

To evaluate PVTv2-B2 + SemFPN on a single node with 8 gpus run:

dist_test.sh configs/sem_fpn/PVT/fpn_pvtv2_b2_ade20k_40k.py /path/to/checkpoint_file 8 --out results.pkl --eval mIoU

Training

To train PVTv2-B2 + SemFPN on a single node with 8 gpus run:

dist_train.sh configs/sem_fpn/PVT/fpn_pvtv2_b2_ade20k_40k.py 8

License

This repository is released under the Apache 2.0 license as found in the LICENSE file.

About


Languages

Language:Python 99.2%Language:Shell 0.8%