3rd Place Solution for ICCV 2021 Workshop SSLAD Track 3A - Continual Learning Classification Challenge

Overview

Online Continual Learning via Multiple Deep Metric Learning and Uncertainty-guided Episodic Memory Replay

3rd Place Solution for ICCV 2021 Workshop SSLAD Track 3A - Continual Learning Classification

Technical Report slides
video

Description

Official implementation of our solution (3rd place) for ICCV 2021 Workshop Self-supervised Learning for Next-Generation Industry-level Autonomous Driving (SSLAD) Track 3A - Continual Learning Classification using "Online Continual Learning via Multiple Deep Metric Learning and Uncertainty-guided Episodic Memory Replay".

How to run

First, install dependencies

# clone project   
git clone https://github.com/mrifkikurniawan/sslad.git

# install project   
cd sslad 
pip3 install -r requirements.txt   

Next, preparing the dataset via links below.

Next, run training.

# run training module with our proposed cl strategy
python3.9 classification.py \
--config configs/cl_strategy.yaml \
--name {path/to/log} \
--root {root/of/your/dataset} \
--num_workers {num workers} \
--gpu_id {your-gpu-id} \
--comment {any-comments} 
--store \

or see the train.sh for the example.

Experiments Results

Method Val AMCA Test AMCA
Baseline (Uncertainty Replay)* 57.517 -
+ Multi-step Lr Scheduler* 59.591 (+2.07) -
+ Soft Labels Retrospection* 59.825 (+0.23) -
+ Contrastive Learning* 60.363 (+0.53) 59.68
+ Supervised Contrastive Learning* 61.49 (+1.13) -
+ Change backbone to ResNet50-D* 62.514 (+1.02) -
+ Focal loss* 62.71 (+0.19) -
+ Cost Sensitive Cross Entropy 63.33 (+0.62) -
+ Class Balanced Focal loss* 64.01 (+1.03) 64.53 (+4.85)
+ Head Fine-tuning with Class Balanced Replay 65.291 (+1.28) 62.58 (-1.56)
+ Head Fine-tuning with Soft Labels Retrospection 66.116 (+0.83) 62.97 (+0.39)

*Applied to our final method.

File overview

classification.py: Driver code for the classification subtrack. There are a few things that can be changed here, such as the model, optimizer and loss criterion. There are several arguments that can be set to store results etc. (Run classification.py --help to get an overview, or check the file.)

class_strategy.py: Provides an empty plugin. Here, you can define your own strategy, by implementing the necessary callbacks. Helper methods and classes can be ofcourse implemented as pleased. See here for examples of strategy plugins.

data_intro.ipynb: In this notebook the stream of data is further introduced and explained. Feel free to experiment with the dataset to get a good feeling of the challenge.

Note: not all callbacks have to be implemented, you can just delete those that you don't need.

classification_util.py & haitain_classification.py: These files contain helper code for dataloading etc. There should be no reason to change these.

Owner
Rifki Kurniawan
MS student at Xi'an Jiaotong University; Artificial Intelligence Engineer at Nodeflux
Rifki Kurniawan
A synthetic texture-invariant dataset for object detection of UAVs

A synthetic dataset for object detection of UAVs This repository contains a synthetic datasets accompanying the paper Sim2Air - Synthetic aerial datas

LARICS Lab 10 Aug 13, 2022
Rename Images with Auto Generated Neural Image Captions

Recaption Images with Generated Neural Image Caption Example Usage: Commandline: Recaption all images from folder /home/feng/Downloads/images to folde

feng wang 3 May 01, 2022
Code base for NeurIPS 2021 publication titled Kernel Functional Optimisation (KFO)

KernelFunctionalOptimisation Code base for NeurIPS 2021 publication titled Kernel Functional Optimisation (KFO) We have conducted all our experiments

2 Jun 29, 2022
The code for 'Deep Residual Fourier Transformation for Single Image Deblurring'

Deep Residual Fourier Transformation for Single Image Deblurring Xintian Mao, Yiming Liu, Wei Shen, Qingli Li and Yan Wang News 2021.12.5 Release Deep

145 Jan 05, 2023
Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.

CycleGAN PyTorch | project page | paper Torch implementation for learning an image-to-image translation (i.e. pix2pix) without input-output pairs, for

Jun-Yan Zhu 11.5k Dec 30, 2022
[3DV 2020] PeeledHuman: Robust Shape Representation for Textured 3D Human Body Reconstruction

PeeledHuman: Robust Shape Representation for Textured 3D Human Body Reconstruction International Conference on 3D Vision, 2020 Sai Sagar Jinka1, Rohan

Rohan Chacko 39 Oct 12, 2022
The project is an official implementation of our CVPR2019 paper "Deep High-Resolution Representation Learning for Human Pose Estimation"

Deep High-Resolution Representation Learning for Human Pose Estimation (CVPR 2019) News [2020/07/05] A very nice blog from Towards Data Science introd

Leo Xiao 3.9k Jan 05, 2023
Implementation of the method described in the Speech Resynthesis from Discrete Disentangled Self-Supervised Representations.

Speech Resynthesis from Discrete Disentangled Self-Supervised Representations Implementation of the method described in the Speech Resynthesis from Di

4 Mar 11, 2022
A complete speech segmentation system using Kaldi and x-vectors for voice activity detection (VAD) and speaker diarisation.

bbc-speech-segmenter: Voice Activity Detection & Speaker Diarization A complete speech segmentation system using Kaldi and x-vectors for voice activit

BBC 16 Oct 27, 2022
Autonomous racing with the Anki Overdrive

Anki Autonomous Racing Autonomous racing with the Anki Overdrive. Using the Overdrive-Python API (https://github.com/xerodotc/overdrive-python) develo

3 Dec 11, 2022
Bio-Computing Platform Featuring Large-Scale Representation Learning and Multi-Task Deep Learning “螺旋桨”生物计算工具集

English | 简体中文 Latest News 2021.10.25 Paper "Docking-based Virtual Screening with Multi-Task Learning" is accepted by BIBM 2021. 2021.07.29 PaddleHeli

633 Jan 04, 2023
A embed able annotation tool for end to end cross document co-reference

CoRefi CoRefi is an emebedable web component and stand alone suite for exaughstive Within Document and Cross Document Coreference Anntoation. For a de

PythicCoder 39 Dec 12, 2022
Tom-the-AI - A compound artificial intelligence software for Linux systems.

Tom the AI (version 0.82) WARNING: This software is not yet ready to use, I'm still setting up the GitHub repository. Should be ready in a few days. T

2 Apr 28, 2022
Uncertain natural language inference

Uncertain Natural Language Inference This repository hosts the code for the following paper: Tongfei Chen*, Zhengping Jiang*, Adam Poliak, Keisuke Sak

Tongfei Chen 14 Sep 01, 2022
The Habitat-Matterport 3D Research Dataset - the largest-ever dataset of 3D indoor spaces.

Habitat-Matterport 3D Dataset (HM3D) The Habitat-Matterport 3D Research Dataset is the largest-ever dataset of 3D indoor spaces. It consists of 1,000

Meta Research 62 Dec 27, 2022
A generator of point clouds dataset for PyPipes.

CloudPipesGenerator Documentation | Colab Notebooks | Video Tutorials | Master Degree website A generator of point clouds dataset for PyPipes. TODO Us

1 Jan 13, 2022
Koopman operator identification library in Python

pykoop pykoop is a Koopman operator identification library written in Python. It allows the user to specify Koopman lifting functions and regressors i

DECAR Systems Group 34 Jan 04, 2023
Official repository for the NeurIPS 2021 paper Get Fooled for the Right Reason: Improving Adversarial Robustness through a Teacher-guided curriculum Learning Approach

Get Fooled for the Right Reason Official repository for the NeurIPS 2021 paper Get Fooled for the Right Reason: Improving Adversarial Robustness throu

Sowrya Gali 1 Apr 25, 2022
Unet network with mean teacher for altrasound image segmentation

Unet network with mean teacher for altrasound image segmentation

5 Nov 21, 2022
Depression Asisstant GDSC Challenge Solution

Depression Asisstant can help you give solution. Please using Python version 3.9.5 for contribute.

Ananda Rauf 1 Jan 30, 2022