[CVPR2022] Representation Compensation Networks for Continual Semantic Segmentation

Overview

RCIL

[CVPR2022] Representation Compensation Networks for Continual Semantic Segmentation
Chang-Bin Zhang1, Jia-Wen Xiao1, Xialei Liu1, Ying-Cong Chen2, Ming-Ming Cheng1
1 College of Computer Science, Nankai University
2 The Hong Kong University of Science and Technology

Conference Paper

PWC PWC PWC PWC PWC PWC PWC PWC PWC PWC PWC PWC PWC

Method

截屏2022-04-09 上午1 02 44

Update

  • Coming Soon add data folder
  • Coming Soon init code for Classification
  • Coming Soon add training scripts for ADE20K and cityscapes
  • 09/04/2022 init code for segmentation
  • 09/04/2022 init readme

Benchmark and Setting

There are two commonly used settings, disjoint and overlapped. In the disjoint setting, assuming we know all classes in the future, the images in the current training step do not contain any classes in the future. The overlapped setting allows potential classes in the future to appear in the current training images. We call each training on the newly added dataset as a step. Formally, X-Y denotes the continual setting in our experiments, where X denotes the number of classes that we need to train in the first step. In each subsequent learning step, the newly added dataset contains Y classes.

There are some settings reported in our paper. You can also try it on other any custom settings.

  • Continual Class Segmentation:

    1. PASCAL VOC 2012 dataset:
      • 15-5 overlapped
      • 15-5 disjoint
      • 15-1 overlapped
      • 15-1 disjoint
      • 10-1 overlapped
      • 10-1 disjoint
    2. ADE20K dataset:
      • 100-50 overlapped
      • 100-10 overlapped
      • 50-50 overlapped
      • 100-5 overlapped
  • Continual Domain Segmentation:

    1. Cityscapes:
      • 11-5
      • 11-1
      • 1-1
  • Extension Experiments on Continual Classification

    1. ImageNet-100
      • 50-10

Performance

  • Continual Class Segmentation on PASCAL VOC 2012
Method Pub. 15-5 disjoint 15-5 overlapped 15-1 disjoint 15-1 overlapped 10-1 disjoint 10-1 overlapped
LWF TPAMI 2017 54.9 55.0 5.3 5.5 4.3 4.8
ILT ICCVW 2019 58.9 61.3 7.9 9.2 5.4 5.5
MiB CVPR 2020 65.9 70.0 39.9 32.2 6.9 20.1
SDR CVPR 2021 67.3 70.1 48.7 39.5 14.3 25.1
PLOP CVPR 2021 64.3 70.1 46.5 54.6 8.4 30.5
Ours CVPR 2022 67.3 72.4 54.7 59.4 18.2 34.3
  • Continual Class Segmentation on ADE20K
Method Pub. 100-50 overlapped 100-10 overlapped 50-50 overlapped 100-5 overlapped
ILT ICCVW 2019 17.0 1.1 9.7 0.5
MiB CVPR 2020 32.8 29.2 29.3 25.9
PLOP CVPR 2021 32.9 31.6 30.4 28.7
Ours CVPR 2022 34.5 32.1 32.5 29.6
  • Continual Domain Segmentation on Cityscapes
Method Pub. 11-5 11-1 1-1
LWF TPAMI 2017 59.7 57.3 33.0
LWF-MC CVPR 2017 58.7 57.0 31.4
ILT ICCVW 2019 59.1 57.8 30.1
MiB CVPR 2020 61.5 60.0 42.2
PLOP CVPR 2021 63.5 62.1 45.2
Ours CVPR 2022 64.3 63.0 48.9

Dataset Prepare

  • PASCVAL VOC 2012
    sh data/download_voc.sh
  • ADE20K
    sh data/download_ade.sh
  • Cityscapes
    sh data/download_cityscapes.sh

Environment

  1. conda install --yes --file requirements.txt
  2. Install inplace-abn

Training

  1. Dowload pretrained model from ResNet-101_iabn to pretrained/
  2. We have prepared some training scripts in scripts/. You can train the model by
sh scripts/voc/rcil_10-1-overlap.sh

Inference

You can simply modify the bash file by add --test, like

CUDA_VISIBLE_DEVICES=${GPU} python3 -m torch.distributed.launch --master_port ${PORT} --nproc_per_node=${NB_GPU} run.py --data xxx ... --test

Reference

If this work is useful for you, please cite us by:

@inproceedings{zhangCvpr22ContinuSSeg,
  title={Representation Compensation Networks for Continual Semantic Segmentation},
  author={Chang-Bin Zhang and Jiawen Xiao and Xialei Liu and Yingcong Chen and Ming-Ming Cheng},
  booktitle={IEEE Conference on Computer Vision and Pattern Recognition},
  year={2022}
}

Connect

If you have any questions about this work, please feel easy to connect with us (zhangchbin ^ gmail.com).

Thanks

This code is heavily borrowed from [MiB] and [PLOP].

Awesome Continual Segmentation

There is a collection of AWESOME things about continual semantic segmentation, including papers, code, demos, etc. Feel free to pull request and star.

2022

  • Representation Compensation Networks for Continual Semantic Segmentation [CVPR 2022] [PyTorch]
  • Self-training for Class-incremental Semantic Segmentation [TNNLS 2022] [PyTorch]
  • Uncertainty-aware Contrastive Distillation for Incremental Semantic Segmentation [TPAMI 2022] [[PyTorch]]

2021

  • PLOP: Learning without Forgetting for Continual Semantic Segmentation [CVPR 2021] [PyTorch]
  • Continual Semantic Segmentation via Repulsion-Attraction of Sparse and Disentangled Latent Representations [CVPR2021] [PyTorch]
  • An EM Framework for Online Incremental Learning of Semantic Segmentation [ACM MM 2021] [PyTorch]
  • SSUL: Semantic Segmentation with Unknown Label for Exemplar-based Class-Incremental Learning [NeurIPS 2021] [PyTorch]

2020

2019

You might also like...
PyTorch implementation of our Adam-NSCL algorithm from our CVPR2021 (oral) paper "Training Networks in Null Space for Continual Learning"

Adam-NSCL This is a PyTorch implementation of Adam-NSCL algorithm for continual learning from our CVPR2021 (oral) paper: Title: Training Networks in N

Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation, CVPR 2018
Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation, CVPR 2018

Learning Pixel-level Semantic Affinity with Image-level Supervision This code is deprecated. Please see https://github.com/jiwoon-ahn/irn instead. Int

Siamese-nn-semantic-text-similarity - A repository containing comprehensive Neural Networks based PyTorch implementations for the semantic text similarity task
This is an official implementation of the CVPR2022 paper "Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots".

Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots Blind2Unblind Citing Blind2Unblind @inproceedings{wang2022blind2unblind, tit

PSTR: End-to-End One-Step Person Search With Transformers (CVPR2022)
PSTR: End-to-End One-Step Person Search With Transformers (CVPR2022)

PSTR (CVPR2022) This code is an official implementation of "PSTR: End-to-End One-Step Person Search With Transformers (CVPR2022)". End-to-end one-step

CVPR2022 paper
CVPR2022 paper "Dense Learning based Semi-Supervised Object Detection"

[CVPR2022] DSL: Dense Learning based Semi-Supervised Object Detection DSL is the first work on Anchor-Free detector for Semi-Supervised Object Detecti

[CVPR2022] Bridge-Prompt: Towards Ordinal Action Understanding in Instructional Videos
[CVPR2022] Bridge-Prompt: Towards Ordinal Action Understanding in Instructional Videos

Bridge-Prompt: Towards Ordinal Action Understanding in Instructional Videos Created by Muheng Li, Lei Chen, Yueqi Duan, Zhilan Hu, Jianjiang Feng, Jie

The official codes of our CVPR2022 paper: A Differentiable Two-stage Alignment Scheme for Burst Image Reconstruction with Large Shift
The official codes of our CVPR2022 paper: A Differentiable Two-stage Alignment Scheme for Burst Image Reconstruction with Large Shift

TwoStageAlign The official codes of our CVPR2022 paper: A Differentiable Two-stage Alignment Scheme for Burst Image Reconstruction with Large Shift Pa

Official code for
Official code for "Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes", CVPR2022

[CVPR 2022] Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes Dongkwon Jin, Wonhui Park, Seong-Gyun Jeong, Heeyeon Kwon, and Cha

Comments
  • Reproduce ADE20k

    Reproduce ADE20k

    Hi, thanks for sharing the code.

    I'm trying to reproduce the results for 100-50 ADE20k. Here are the hyper-parameters I used: --pod local --pod_factor 0.001 --pod_logits --classif_adaptive_factor --init_balanced --unce --unkd

    I get the all-mIoU=29.4%, which is much lower than the reported mIoU (34.5%). Could you please share with me the parameters you used to get the reported mIoU?

    opened by HieuPhan33 10
  • 15-1 Pascal-VOC Reproduce

    15-1 Pascal-VOC Reproduce

    Hi, I couldn't reproduce the results for 15-1 Pascal-VOC. I'm running the script voc/plop_15-1-overlap.sh. Since I have two GPUs with 24GB, I adjust the batch size to 12 and trained on 2 GPUs. This ensures the total batch size is 24 like your settings.

    Here are the results | | 0-15 | 16-20 | all | | ---- | ---- | --- | ---- | | Reproduce | 63.41 | 19.25 | 52.90 | | Reported | 70.60 | 23.70 | 59.40 |

    The results are far lower than the results reported in the paper. Could you please advise?

    opened by HieuPhan33 6
  • Reproduced results lower than the reported ones

    Reproduced results lower than the reported ones

    Hi, I directly ran the released codes without any modification. However, I found that the obtained results are lower than the reported ones by >1 percent point, especially the 10-1 setting with a large gap on the base (0-10) classes.

    Relevant log files are provided for your reference. Could you advise the possible reasons that may cause such a problem? Thanks a lot.

    | | 15-5 | | | 15-1 | | | 10-1 | | | |------------|------|-------|------|------|-------|------|------|-------|------| | | 0-15 | 16-20 | all | 0-15 | 16-20 | all | 0-10 | 11-20 | all | | Reported | 78.8 | 52.0 | 72.4 | 70.6 | 23.7 | 59.4 | 55.4 | 15.1 | 34.3 | | Reproduced | 76.7 | 48.4 | 70.0 | 69.0 | 20.5 | 57.4 | 38.0 | 13.4 | 26.3 |

    opened by Ze-Yang 3
  • Full results on Cityscapes

    Full results on Cityscapes

    Nice work! Could you publish the scripts and the corresponding results on Cityscapes? I failed to reproduce the experimental results reported in the paper. I set the batch size as 24. The initial learning rate is 0.02 for the first training step and 0.001 for the next continual learning steps. I train the model for each step with 50 epochs as the paper suggested.

    opened by XiaorongLi-95 4
Owner
Chang-Bin Zhang
Master student at Nankai University.
Chang-Bin Zhang
Face uncertainty quantification or estimation using PyTorch.

Face-uncertainty-pytorch This is a demo code of face uncertainty quantification or estimation using PyTorch. The uncertainty of face recognition is af

Kaen 3 Sep 16, 2022
PyTorch implementation for "Mining Latent Structures with Contrastive Modality Fusion for Multimedia Recommendation"

MIRCO PyTorch implementation for paper: Latent Structures Mining with Contrastive Modality Fusion for Multimedia Recommendation Dependencies Python 3.

Big Data and Multi-modal Computing Group, CRIPAC 9 Dec 08, 2022
The Multi-Mission Maximum Likelihood framework (3ML)

PyPi Conda The Multi-Mission Maximum Likelihood framework (3ML) A framework for multi-wavelength/multi-messenger analysis for astronomy/astrophysics.

The Multi-Mission Maximum Likelihood (3ML) 62 Dec 30, 2022
Generalized Decision Transformer for Offline Hindsight Information Matching

Generalized Decision Transformer for Offline Hindsight Information Matching [arxiv] If you use this codebase for your research, please cite the paper:

Hiroki Furuta 35 Dec 12, 2022
Simple and Effective Few-Shot Named Entity Recognition with Structured Nearest Neighbor Learning

structshot Code and data for paper "Simple and Effective Few-Shot Named Entity Recognition with Structured Nearest Neighbor Learning", Yi Yang and Arz

ASAPP Research 47 Dec 27, 2022
Implementation of Self-supervised Graph-level Representation Learning with Local and Global Structure (ICML 2021).

Self-supervised Graph-level Representation Learning with Local and Global Structure Introduction This project is an implementation of ``Self-supervise

MilaGraph 50 Dec 09, 2022
Libraries, tools and tasks created and used at DeepMind Robotics.

dm_robotics: Libraries, tools, and tasks created and used for Robotics research at DeepMind. Package overview Package Summary Transformations Rigid bo

DeepMind 273 Jan 06, 2023
This repository contains the source code of an efficient 1D probabilistic model for music time analysis proposed in ICASSP2022 venue.

Jump Reward Inference for 1D Music Rhythmic State Spaces An implementation of the probablistic jump reward inference model for music rhythmic informat

Mojtaba Heydari 25 Dec 16, 2022
PyTorch reimplementation of the paper Involution: Inverting the Inherence of Convolution for Visual Recognition [CVPR 2021].

Involution: Inverting the Inherence of Convolution for Visual Recognition Unofficial PyTorch reimplementation of the paper Involution: Inverting the I

Christoph Reich 100 Dec 01, 2022
FedGS: A Federated Group Synchronization Framework Implemented by LEAF-MX.

FedGS: Data Heterogeneity-Robust Federated Learning via Group Client Selection in Industrial IoT Preparation For instructions on generating data, plea

Lizonghang 9 Dec 22, 2022
Generating Digital Painting Lighting Effects via RGB-space Geometry (SIGGRAPH2020/TOG2020)

Project PaintingLight PaintingLight is a project conducted by the Style2Paints team, aimed at finding a method to manipulate the illumination in digit

651 Dec 29, 2022
Implementation supporting the ICCV 2017 paper "GANs for Biological Image Synthesis"

GANs for Biological Image Synthesis This codes implements the ICCV-2017 paper "GANs for Biological Image Synthesis". The paper and its supplementary m

Anton Osokin 95 Nov 25, 2022
Official code for MPG2: Multi-attribute Pizza Generator: Cross-domain Attribute Control with Conditional StyleGAN

This is the official code for Multi-attribute Pizza Generator (MPG2): Cross-domain Attribute Control with Conditional StyleGAN. Paper Demo Setup Envir

Fangda Han 5 Sep 01, 2022
Continuous Security Group Rule Change Detection & Response at scale

Introduction Get notified of Security Group Changes across all AWS Accounts & Regions in an AWS Organization, with the ability to respond/revert those

Raajhesh Kannaa Chidambaram 3 Aug 13, 2022
Code for ICML 2021 paper: How could Neural Networks understand Programs?

OSCAR This repository contains the source code of our ICML 2021 paper How could Neural Networks understand Programs?. Environment Run following comman

Dinglan Peng 115 Dec 17, 2022
Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.

Real-ESRGAN Colab Demo for Real-ESRGAN . Portable Windows executable file. You can find more information here. Real-ESRGAN aims at developing Practica

Xintao 17.2k Jan 02, 2023
Codes for CVPR2021 paper "PWCLO-Net: Deep LiDAR Odometry in 3D Point Clouds Using Hierarchical Embedding Mask Optimization"

PWCLO-Net: Deep LiDAR Odometry in 3D Point Clouds Using Hierarchical Embedding Mask Optimization (CVPR 2021) This is the official implementation of PW

Intelligent Robotics and Machine Vision Lab 42 Dec 18, 2022
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 2022
Semantic Image Synthesis with SPADE

Semantic Image Synthesis with SPADE New implementation available at imaginaire repository We have a reimplementation of the SPADE method that is more

NVIDIA Research Projects 7.3k Jan 07, 2023
Source code for CVPR 2021 paper "Riggable 3D Face Reconstruction via In-Network Optimization"

Riggable 3D Face Reconstruction via In-Network Optimization Source code for CVPR 2021 paper "Riggable 3D Face Reconstruction via In-Network Optimizati

130 Jan 02, 2023