AdvCAM

The implementation of Anti-Adversarially Manipulated Attributions for Weakly and Semi-Supervised Semantic Segmentation, Jungbeom Lee, Eunji Kim, and Sungroh Yoon, CVPR 2021. [paper]

Input Image Initial CAM Successive Maps with adversarial climbing
2008_004430 2008_004430_noreg_c_idx_0_iter_0 2008_004430_gif

Installation

  • We kindly refer to the offical implementation of IRN.
  • This repository is tested on Ubuntu 18.04, with Python 3.6, PyTorch 1.4, pydensecrf, scipy, chaniercv, imageio, and opencv-python.

Usage

Step 1. Prepare Dataset

  • Download PASCAL VOC 2012 benchmark: Download.

Step 2. Prepare pre-trained classifier

  • Pre-trained model used in this paper: Download.
  • You can also train your own classifiers following IRN.

Step 3. Obtain the pseudo ground-truth masks for PASCAL VOC train_aug images and evaluate them

bash get_mask_quality.sh

Step 4. Train a semantic segmentation network

GitHub

https://github.com/jbeomlee93/AdvCAM