[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
Code from the paper "High-Performance Brain-to-Text Communication via Handwriting"

High-Performance Brain-to-Text Communication via Handwriting Overview This repo is associated with this manuscript, preprint and dataset. The code can

Francis R. Willett 306 Jan 03, 2023
T-LOAM: Truncated Least Squares Lidar-only Odometry and Mapping in Real-Time

T-LOAM: Truncated Least Squares Lidar-only Odometry and Mapping in Real-Time The first Lidar-only odometry framework with high performance based on tr

Pengwei Zhou 183 Dec 01, 2022
Propagate Yourself: Exploring Pixel-Level Consistency for Unsupervised Visual Representation Learning, CVPR 2021

Propagate Yourself: Exploring Pixel-Level Consistency for Unsupervised Visual Representation Learning By Zhenda Xie*, Yutong Lin*, Zheng Zhang, Yue Ca

Zhenda Xie 293 Dec 20, 2022
Learnable Boundary Guided Adversarial Training (ICCV2021)

Learnable Boundary Guided Adversarial Training This repository contains the implementation code for the ICCV2021 paper: Learnable Boundary Guided Adve

DV Lab 27 Sep 25, 2022
CCAFNet: Crossflow and Cross-scale Adaptive Fusion Network for Detecting Salient Objects in RGB-D Images

Code and result about CCAFNet(IEEE TMM) 'CCAFNet: Crossflow and Cross-scale Adaptive Fusion Network for Detecting Salient Objects in RGB-D Images' IEE

zyrant丶 14 Dec 29, 2021
Extremely simple and fast extreme multi-class and multi-label classifiers.

napkinXC napkinXC is an extremely simple and fast library for extreme multi-class and multi-label classification, that focus of implementing various m

Marek Wydmuch 43 Nov 14, 2022
Denoising images with Fourier Ring Correlation loss

Denoising images with Fourier Ring Correlation loss The python code accompanies the working manuscript Image quality measurements and denoising using

2 Mar 12, 2022
InsCLR: Improving Instance Retrieval with Self-Supervision

InsCLR: Improving Instance Retrieval with Self-Supervision This is an official PyTorch implementation of the InsCLR paper. Download Dataset Dataset Im

Zelu Deng 25 Aug 30, 2022
[CVPR2022] Representation Compensation Networks for Continual Semantic Segmentation

RCIL [CVPR2022] Representation Compensation Networks for Continual Semantic Segmentation Chang-Bin Zhang1, Jia-Wen Xiao1, Xialei Liu1, Ying-Cong Chen2

Chang-Bin Zhang 71 Dec 28, 2022
A denoising diffusion probabilistic model synthesises galaxies that are qualitatively and physically indistinguishable from the real thing.

Realistic galaxy simulation via score-based generative models Official code for 'Realistic galaxy simulation via score-based generative models'. We us

Michael Smith 32 Dec 20, 2022
Groceries ARL: Association Rules (Birliktelik Kuralı)

Groceries_ARL Association Rules (Birliktelik Kuralı) Birliktelik kuralları, mark

Şebnem 5 Feb 08, 2022
Jupyter notebooks showing best practices for using cx_Oracle, the Python DB API for Oracle Database

Python cx_Oracle Notebooks, 2022 The repository contains Jupyter notebooks showing best practices for using cx_Oracle, the Python DB API for Oracle Da

Christopher Jones 13 Dec 15, 2022
NAS-HPO-Bench-II is the first benchmark dataset for joint optimization of CNN and training HPs.

NAS-HPO-Bench-II API Overview NAS-HPO-Bench-II is the first benchmark dataset for joint optimization of CNN and training HPs. It helps a fair and low-

yoichi hirose 8 Nov 21, 2022
Animatable Neural Radiance Fields for Modeling Dynamic Human Bodies

To make the comparison with Animatable NeRF easier on the Human3.6M dataset, we save the quantitative results at here, which also contains the results of other methods, including Neural Body, D-NeRF,

ZJU3DV 359 Jan 08, 2023
The repository is for safe reinforcement learning baselines.

Safe-Reinforcement-Learning-Baseline The repository is for Safe Reinforcement Learning (RL) research, in which we investigate various safe RL baseline

172 Dec 19, 2022
Implicit MLE: Backpropagating Through Discrete Exponential Family Distributions

torch-imle Concise and self-contained PyTorch library implementing the I-MLE gradient estimator proposed in our NeurIPS 2021 paper Implicit MLE: Backp

UCL Natural Language Processing 249 Jan 03, 2023
Pytorch implementation of

EfficientTTS Unofficial Pytorch implementation of "EfficientTTS: An Efficient and High-Quality Text-to-Speech Architecture"(arXiv). Disclaimer: Somebo

Liu Songxiang 109 Nov 16, 2022
Code for the paper "Query Embedding on Hyper-relational Knowledge Graphs"

Query Embedding on Hyper-Relational Knowledge Graphs This repository contains the code used for the experiments in the paper Query Embedding on Hyper-

DimitrisAlivas 19 Jul 26, 2022
Simple Python application to transform Serial data into OSC messages

SerialToOSC-Bridge Simple Python application to transform Serial data into OSC messages. The current purpose is to be a compatibility layer between ha

Division of Applied Acoustics at Chalmers University of Technology 3 Jun 03, 2021
Head and Neck Tumour Segmentation and Prediction of Patient Survival Project

Head-and-Neck-Tumour-Segmentation-and-Prediction-of-Patient-Survival Welcome to the Head and Neck Tumour Segmentation and Prediction of Patient Surviv

5 Oct 20, 2022