[Project] [Paper] [arXiv] [Home]
Official implementation of FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation.
A Faster, Stronger and Lighter framework for semantic segmentation, achieving the state-of-the-art performance and more than 3x acceleration.
@inproceedings{wu2019fastfcn,
title = {FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation},
author = {Wu, Huikai and Zhang, Junge and Huang, Kaiqi and Liang, Kongming and Yu Yizhou},
booktitle = {arXiv preprint arXiv:1903.11816},
year = {2019}
}
Contact: Hui-Kai Wu ([email protected])
- PyTorch 1.0 (Note: The code is test in the environment with
python=3.5, cuda=9.0
) - Install FastFCN
git clone https://github.com/wuhuikai/FastFCN.git cd FastFCN PATH=.:$PATH python setup.py install
- Install Requirements
nose tqdm scipy cython requests
python scripts/prepare_pcontext.py
cd experiments/segmentation
Method | Backbone | mIoU | FPS | Model | Scripts |
---|---|---|---|---|---|
EncNet | ResNet-50 | 49.91 | 18.77 | ||
EncNet+JPU (ours) | ResNet-50 | 51.05 | 37.56 | GoogleDrive | bash |
PSP | ResNet-50 | 50.58 | 18.08 | ||
PSP+JPU (ours) | ResNet-50 | 50.89 | 28.48 | GoogleDrive | bash |
DeepLabV3 | ResNet-50 | 49.19 | 15.99 | ||
DeepLabV3+JPU (ours) | ResNet-50 | 50.07 | 20.67 | GoogleDrive | bash |
EncNet | ResNet-101 | 52.60 (MS) | 10.51 | ||
EncNet+JPU (ours) | ResNet-101 | 54.03 (MS) | 32.02 | GoogleDrive | bash |
python scripts/prepare_ade20k.py
cd experiments/segmentation
Method | Backbone | mIoU (MS) | Model | Scripts |
---|---|---|---|---|
EncNet | ResNet-50 | 41.11 | ||
EncNet+JPU (ours) | ResNet-50 | 42.75 | GoogleDrive | bash |
EncNet | ResNet-101 | 44.65 | ||
EncNet+JPU (ours) | ResNet-101 | 44.34 | GoogleDrive | bash |
Method | Backbone | FinalScore (MS) | Model | Scripts |
---|---|---|---|---|
EncNet+JPU (ours) | ResNet-50 | GoogleDrive | bash | |
EncNet | ResNet-101 | 55.67 | ||
EncNet+JPU (ours) | ResNet-101 | 55.84 | GoogleDrive | bash |
Note: EncNet (ResNet-101) is trained with crop_size=576
, while EncNet+JPU (ResNet-101) is trained with crop_size=480
for fitting 4 images into a 12G GPU.
Dataset | Input | GT | EncNet | Ours |
---|---|---|---|---|
PContext | ||||
ADE20K |
Code borrows heavily from PyTorch-Encoding.