Skip to content

Commit

Permalink
Add Pascal-Context Models with New SoTA 58.37 (zhanghang1989#265)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhanghang1989 committed Apr 27, 2020
1 parent 3e384b4 commit ddfb1b9
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 34 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[![Unit Test](https://github.com/zhanghang1989/PyTorch-Encoding/workflows/Unit%20Test/badge.svg)](https://github.com/zhanghang1989/PyTorch-Encoding/actions)

[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/resnest-split-attention-networks/semantic-segmentation-on-ade20k)](https://paperswithcode.com/sota/semantic-segmentation-on-ade20k?p=resnest-split-attention-networks)
[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/resnest-split-attention-networks/semantic-segmentation-on-pascal-context)](https://paperswithcode.com/sota/semantic-segmentation-on-pascal-context?p=resnest-split-attention-networks)

# PyTorch-Encoding

Expand Down
81 changes: 53 additions & 28 deletions docs/source/model_zoo/segmentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,18 @@ Get Pre-trained Model
ResNeSt Backbone Models
-----------------------

============================================================================== ============== ============== =========================================================================================================
Model pixAcc mIoU Command
============================================================================== ============== ============== =========================================================================================================
FCN_ResNeSt50_ADE 80.18% 42.94% :raw-html:`<a href="javascript:toggleblock('cmd_fcn_nest50_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt50_ADE 81.17% 45.12% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest50_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt101_ADE 82.07% 46.91% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest101_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt200_ADE 82.45% 48.36% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest200_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt269_ADE 82.62% 47.60% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest269_ade')" class="toggleblock">cmd</a>`
============================================================================== ============== ============== =========================================================================================================
ADE20K Dataset
~~~~~~~~~~~~~~

============================================================================== ==================== =================== =========================================================================================================
Model pixAcc mIoU Command
============================================================================== ==================== =================== =========================================================================================================
FCN_ResNeSt50_ADE 80.18% 42.94% :raw-html:`<a href="javascript:toggleblock('cmd_fcn_nest50_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt50_ADE 81.17% 45.12% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest50_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt101_ADE 82.07% 46.91% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest101_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt200_ADE 82.45% 48.36% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest200_ade')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt269_ADE 82.62% 47.60% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_resnest269_ade')" class="toggleblock">cmd</a>`
============================================================================== ==================== =================== =========================================================================================================

.. raw:: html

Expand All @@ -57,7 +60,7 @@ DeepLab_ResNeSt269_ADE
</code>

<code xml:space="preserve" id="cmd_deeplab_resnest101_ade" style="display: none; text-align: left; white-space: pre-wrap">
python train.py --dataset ADE20K --model deeplab --aux --backbone resnest101
python train.py --dataset ADE20K --model deeplab --aux --backbone resnest101 --epochs 180
</code>

<code xml:space="preserve" id="cmd_deeplab_resnest200_ade" style="display: none; text-align: left; white-space: pre-wrap">
Expand All @@ -69,19 +72,41 @@ DeepLab_ResNeSt269_ADE
</code>


Pascal Context Dataset
~~~~~~~~~~~~~~~~~~~~~~

============================================================================== ==================== ==================== =========================================================================================================
Model pixAcc mIoU Command
============================================================================== ==================== ==================== =========================================================================================================
DeepLab_ResNeSt101_PContext 81.91% 56.49% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_nest101_pcont')" class="toggleblock">cmd</a>`
DeepLab_ResNeSt200_PContext 82.50% 58.37% :raw-html:`<a href="javascript:toggleblock('cmd_deeplab_nest200_pcont')" class="toggleblock">cmd</a>`
============================================================================== ==================== ==================== =========================================================================================================

.. raw:: html

<code xml:space="preserve" id="cmd_deeplab_nest101_pcont" style="display: none; text-align: left; white-space: pre-wrap">
python train.py --dataset pcontext --model deeplab --aux --backbone resnest101
</code>

<code xml:space="preserve" id="cmd_deeplab_nest200_pcont" style="display: none; text-align: left; white-space: pre-wrap">
python train.py --dataset pcontext --model deeplab --aux --backbone resnest200
</code>



ResNet Backbone Models
----------------------

ADE20K Dataset
~~~~~~~~~~~~~~

============================================================================== ================= ============== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ================= ============== =============================================================================================
FCN_ResNet50s_ADE 78.7% 38.5% :raw-html:`<a href="javascript:toggleblock('cmd_fcn50_ade')" class="toggleblock">cmd</a>`
EncNet_ResNet50s_ADE 80.1% 41.5% :raw-html:`<a href="javascript:toggleblock('cmd_enc50_ade')" class="toggleblock">cmd</a>`
EncNet_ResNet101s_ADE 81.3% 44.4% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_ade')" class="toggleblock">cmd</a>`
============================================================================== ================= ============== =============================================================================================
============================================================================== ==================== ==================== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ==================== ==================== =============================================================================================
FCN_ResNet50s_ADE 78.7% 38.5% :raw-html:`<a href="javascript:toggleblock('cmd_fcn50_ade')" class="toggleblock">cmd</a>`
EncNet_ResNet50s_ADE 80.1% 41.5% :raw-html:`<a href="javascript:toggleblock('cmd_enc50_ade')" class="toggleblock">cmd</a>`
EncNet_ResNet101s_ADE 81.3% 44.4% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_ade')" class="toggleblock">cmd</a>`
============================================================================== ==================== ==================== =============================================================================================


.. raw:: html
Expand All @@ -105,12 +130,12 @@ EncNet_ResNet101s_ADE
Pascal Context Dataset
~~~~~~~~~~~~~~~~~~~~~~

============================================================================== ================= ============== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ================= ============== =============================================================================================
Encnet_ResNet50s_PContext 79.2% 51.0% :raw-html:`<a href="javascript:toggleblock('cmd_enc50_pcont')" class="toggleblock">cmd</a>`
EncNet_ResNet101s_PContext 80.7% 54.1% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_pcont')" class="toggleblock">cmd</a>`
============================================================================== ================= ============== =============================================================================================
============================================================================== ===================== ===================== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ===================== ===================== =============================================================================================
Encnet_ResNet50s_PContext 79.2% 51.0% :raw-html:`<a href="javascript:toggleblock('cmd_enc50_pcont')" class="toggleblock">cmd</a>`
EncNet_ResNet101s_PContext 80.7% 54.1% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_pcont')" class="toggleblock">cmd</a>`
============================================================================== ===================== ===================== =============================================================================================

.. raw:: html

Expand All @@ -130,11 +155,11 @@ EncNet_ResNet101s_PContext
Pascal VOC Dataset
~~~~~~~~~~~~~~~~~~

============================================================================== ================= ============== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ================= ============== =============================================================================================
EncNet_ResNet101s_VOC N/A 85.9% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_voc')" class="toggleblock">cmd</a>`
============================================================================== ================= ============== =============================================================================================
============================================================================== ====================== ===================== =============================================================================================
Model pixAcc mIoU Command
============================================================================== ====================== ===================== =============================================================================================
EncNet_ResNet101s_VOC N/A 85.9% :raw-html:`<a href="javascript:toggleblock('cmd_enc101_voc')" class="toggleblock">cmd</a>`
============================================================================== ====================== ===================== =============================================================================================

.. raw:: html

Expand Down
2 changes: 2 additions & 0 deletions encoding/models/model_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
('06ca799c8cc148fe0fafb5b6d052052935aa3cc8', 'deeplab_resnest101_ade'),
('7b9e7d3e6f0e2c763c7d77cad14d306c0a31fe05', 'deeplab_resnest200_ade'),
('0074dd10a6e6696f6f521653fb98224e75955496', 'deeplab_resnest269_ade'),
('faf5841853aae64bd965a7bdc2cdc6e7a2b5d898', 'deeplab_resnest101_pcontext'),
('fe76a26551dd5dcf2d474fd37cba99d43f6e984e', 'deeplab_resnest200_pcontext'),
]}

encoding_repo_url = 'https://hangzh.s3.amazonaws.com/'
Expand Down
2 changes: 2 additions & 0 deletions encoding/models/model_zoo.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
'deeplab_resnest101_ade': get_deeplab_resnest101_ade,
'deeplab_resnest200_ade': get_deeplab_resnest200_ade,
'deeplab_resnest269_ade': get_deeplab_resnest269_ade,
'deeplab_resnest101_pcontext': get_deeplab_resnest101_pcontext,
'deeplab_resnest200_pcontext': get_deeplab_resnest200_pcontext,
}

model_list = list(models.keys())
Expand Down
47 changes: 41 additions & 6 deletions encoding/models/sseg/deeplab.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,13 +128,8 @@ def forward(self, x):

def get_deeplab(dataset='pascal_voc', backbone='resnet50s', pretrained=False,
root='~/.encoding/models', **kwargs):
acronyms = {
'pascal_voc': 'voc',
'pascal_aug': 'voc',
'ade20k': 'ade',
}
# infer number of classes
from ...datasets import datasets, VOCSegmentation, VOCAugSegmentation, ADE20KSegmentation
from ...datasets import datasets, acronyms
model = DeepLabV3(datasets[dataset.lower()].NUM_CLASS, backbone=backbone, root=root, **kwargs)
if pretrained:
from ..model_store import get_model_file
Expand Down Expand Up @@ -237,3 +232,43 @@ def get_deeplab_resnest269_ade(pretrained=False, root='~/.encoding/models', **kw
>>> print(model)
"""
return get_deeplab('ade20k', 'resnest269', pretrained, aux=True, root=root, **kwargs)

def get_deeplab_resnest101_pcontext(pretrained=False, root='~/.encoding/models', **kwargs):
r"""DeepLabV3 model from the paper `"Context Encoding for Semantic Segmentation"
<https://arxiv.org/pdf/1803.08904.pdf>`_
Parameters
----------
pretrained : bool, default False
Whether to load the pretrained weights for model.
root : str, default '~/.encoding/models'
Location for keeping the model parameters.
Examples
--------
>>> model = get_deeplab_resnest101_pcontext(pretrained=True)
>>> print(model)
"""
return get_deeplab('pcontext', 'resnest101', pretrained, aux=True, root=root, **kwargs)

def get_deeplab_resnest200_pcontext(pretrained=False, root='~/.encoding/models', **kwargs):
r"""DeepLabV3 model from the paper `"Context Encoding for Semantic Segmentation"
<https://arxiv.org/pdf/1803.08904.pdf>`_
Parameters
----------
pretrained : bool, default False
Whether to load the pretrained weights for model.
root : str, default '~/.encoding/models'
Location for keeping the model parameters.
Examples
--------
>>> model = deeplab_resnest200_pcontext(pretrained=True)
>>> print(model)
"""
return get_deeplab('pcontext', 'resnest200', pretrained, aux=True, root=root, **kwargs)


0 comments on commit ddfb1b9

Please sign in to comment.