GithubHelp home page GithubHelp logo

trellixvulnteam / drs_69u4 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qjadud1994/drs

0.0 0.0 0.0 42.32 MB

Discriminative Region Suppression for Weakly-Supervised Semantic Segmentation

License: MIT License

Shell 0.86% Python 99.14%

drs_69u4's Introduction

Discriminative Region Suppression for Weakly-Supervised Semantic Segmentation (AAAI 2021)

Official pytorch implementation of our paper: Discriminative Region Suppression for Weakly-Supervised Semantic Segmentation [Paper], Beomyoung Kim, Sangeun Han, and Junmo Kim, AAAI 2021

PWC PWC

We propose the discriminative region suppression (DRS) module that is a simple yet effective method to expand object activation regions. DRS suppresses the attention on discriminative regions and spreads it to adjacent non-discriminative regions, generating dense localization maps.

[2021.06.10] we support DeepLab-V3 segmentation network!

DRS module

Setup

  1. Dataset Preparing

    # dataset structure
    VOC2012/
        --- Annotations/
        --- ImageSets/
        --- JPEGImages/
        --- SegmentationClassAug/
        --- saliency_map/
        --- refined_pseudo_segmentation_labels/
    
  2. Requirements pip install -r requirements.txt

Training & Pseudo Segmentation Labels Generation

  • step1 : training the classifier with DRS modules
  • step2 : training the refinement network for the localization maps refinement
  • step3 : pseudo segmentation labels generation
# all-in-one
bash run.sh 
Model pretrained
VGG-16 with the learnable DRS DRS_learnable/best.pth
Refinement network Refine_DRS_learnable/best.pth
Pseudo Segmentation Labels refined_pseudo_segmentation_labels/

Training the DeepLab-V2 using pseudo labels

We adopt the DeepLab-V2 pytorch implementation from https://github.com/kazuto1011/deeplab-pytorch.

cd DeepLab-V2-PyTorch/

# motify the dataset path (DATASET.ROOT)
vi configs/voc12.yaml

# 1. training the DeepLab-V2 using pseudo labels
bash train.sh

# 2. evaluation the DeepLab-V2
bash eval.sh

Training the DeepLab-V3+ using pseudo labels

We adopt the DeepLab-V3+ pytorch implementation from https://github.com/VainF/DeepLabV3Plus-Pytorch.

Note that DeepLab-V2 suffers from the small batch issue, therefore, they utilize COCO pretrained weight and freeze batch-normalization layers; DeepLab-V2 without COCO-pretrained weight cannot reproduce their performance even in fully-supervised setting.

In contrast, DeepLab-V3 does not require the COCO-pretrained weight due to the recent large memory GPUs and Synchronized BatchNorm. We argue that the choice of DeepLab-V3 network is more reasonable and better to measure the quality of pseudo labels.

cd DeepLabV3Plus-Pytorch/

# training & evaluation the DeepLab-V3+ using pseudo labels
vi run.sh # modify the dataset path --data_root
bash run.sh
Model mIoU mIoU + CRF pretrained
DeepLab-V2 with ResNet-101 69.4% 70.4% [link]
DeepLab-V3+ with ResNet-101 70.4% 71.0% [link]
  • Note that the pretrained weight path ./DeepLab-V2-Pytorch/data/models/Deeplabv2_pseudo_segmentation_labels/deeplabv2_resnet101_msc/train_cls/checkpoint_final.pth

Citation

We hope that you find this work useful. If you would like to acknowledge us, please, use the following citation:

@inproceedings{kim2021discriminative,
    title={Discriminative Region Suppression for Weakly-Supervised Semantic Segmentation},
    author={Kim, Beomyoung and Han, Sangeun and Kim, Junmo},
    year={2021},
    booktitle={AAAI Conference on Artificial Intelligence},
}

drs_69u4's People

Contributors

qjadud1994 avatar trellixvulnteam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.