Pytorch implementation for "Open Compound Domain Adaptation" (CVPR 2020 ORAL)

Overview

Open Compound Domain Adaptation

[Project] [Paper] [Demo] [Blog]

Overview

Open Compound Domain Adaptation (OCDA) is the author's re-implementation of the compound domain adaptator described in:
"Open Compound Domain Adaptation"
Ziwei Liu*Zhongqi Miao*Xingang PanXiaohang ZhanDahua LinStella X. YuBoqing Gong  (CUHK & Berkeley & Google)  in IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2020, Oral Presentation

Further information please contact Zhongqi Miao and Ziwei Liu.

Requirements

Updates:

  • 11/09/2020: We have uploaded C-Faces dataset. Corresponding codes will be updated shortly. Please be patient. Thank you very much!
  • 06/16/2020: We have released C-Digits dataset and corresponding weights.

Data Preparation

[OCDA Datasets]

First, please download C-Digits, save it to a directory, and change the dataset root in the config file accordingly. The file contains MNIST, MNIST-M, SVHN, SVHN-bal, and SynNum.

For C-Faces, please download Multi-PIE first. Since it is a proprietary dataset, we can only privide the data list we used during training here. We will update the dataset function accordingly.

Getting Started (Training & Testing)

C-Digits

To run experiments for both training and evaluation on the C-Digits datasets (SVHN -> Multi):

python main.py --config ./config svhn_bal_to_multi.yaml

After training is completed, the same command will automatically evaluate the trained models.

C-Faces

  • We will be releasing code for C-Faces experiements very soon.

C-Driving

Reproduced Benchmarks and Model Zoo

NOTE: All reproduced weights need to be decompressed into results directory:

OpenCompoundedDomainAdaptation-OCDA
    |--results

C-Digits (Results may currently have variations.)

Source MNIST (C) MNIST-M (C) USPS (C) SymNum (O) Avg. Acc Download
SVHN 89.62 64.53 81.17 87.86 80.80 model

License and Citation

The use of this software is released under BSD-3.

@inproceedings{compounddomainadaptation,
  title={Open Compound Domain Adaptation},
  author={Liu, Ziwei and Miao, Zhongqi and Pan, Xingang and Zhan, Xiaohang and Lin, Dahua and Yu, Stella X. and Gong, Boqing},
  booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2020}
}
Comments
  • Questions regarding the decoder

    Questions regarding the decoder

    Thanks for releasing the code. It seems that the paper forgets to mention how to train the decoder while in the code the decoder is updated jointly with the domain encoder.

    opened by chester256 3
  • Memory module for Semantic Segmentation

    Memory module for Semantic Segmentation

    Hi, from my understanding the memory module is a matrix which holds for each row the mean latent vector for each class (or - its centroid) over the source data. Later these centroids are also used to order the target data for a curriculum learning step.

    What I don't understand is how the memory module is implemented for semantic segmentation. when there is a single class for each image the division to centroids is clear but what is your method when the labels are segmentation maps?

    I did not find an explanation for this in the paper, or the code.

    Thanks, Nadav

    opened by Nadavc220 0
  • Motivation behined Concept and Domain Factor Selector Linear Networks

    Motivation behined Concept and Domain Factor Selector Linear Networks

    As I understand from the code, instead if using the Domain Factor network for weighting the memory value as explained in the paper, you train a "Concept Selector" and a "Domain Factor Selector" linear networks to output weights for both the memory and the domain factor net output to get the final v_transfer value when combing with the direct encoder output.

    1. Can you please explain the motivation behind this change?
    2. Can you explain the motivation behind training Man network before the domain factor network and not training both concept and domain factor selectors at once? (and in short, why not remove step 2)
    3. Can you explain how these changes are applied in the semantic segmentation task training?

    Thanks.

    opened by Nadavc220 0
  • There is no semantic segmentation label in C-Driving's train dataset.

    There is no semantic segmentation label in C-Driving's train dataset.

    Thanks for the interesting paper.

    However, there is no semantic segmentation label for C-Driving's training dataset.

    I can't even find it in the BDD100K dataset.

    C-Driving has only images, but can I know where to get the semantic segmentation map..?

    opened by Genie-Kim 0
  • C-Faces experiments

    C-Faces experiments

    Hi,

    I would like to reproduce the results of C-Faces dataset but I noticed that you shared only the code to reproduce the experiments on Digits. Can you also share the code for C-Faces?

    Thank you!

    opened by silvia1993 0
  • C-Driving segmentation code

    C-Driving segmentation code

    Hi, I am trying to reproduce the results from your paper using your code. I have noticed that the code which you have shared is for classification of digits. Can you also share the architecture and code for C-Driving segmentation as well. Thank you

    opened by Prannoy-Noel 1
  • Missing dataset

    Missing dataset "C-Faces" in https://liuziwei7.github.io/projects/CompoundDomain.html

    Hi, I have recently started working on Domain Adaption. I am trying to reproduce the results from your code. I followed the gdrive link from github site and found that the C-Faces was missing, Can you please add this dataset. Thank you

    opened by Prannoy-Noel 1
🔥RandLA-Net in Tensorflow (CVPR 2020, Oral & IEEE TPAMI 2021)

RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (CVPR 2020) This is the official implementation of RandLA-Net (CVPR2020, Oral

Qingyong 1k Dec 30, 2022
Official pytorch implementation of paper "Inception Convolution with Efficient Dilation Search" (CVPR 2021 Oral).

IC-Conv This repository is an official implementation of the paper Inception Convolution with Efficient Dilation Search. Getting Started Download Imag

Jie Liu 111 Dec 31, 2022
Official PyTorch implementation of RobustNet (CVPR 2021 Oral)

RobustNet (CVPR 2021 Oral): Official Project Webpage Codes and pretrained models will be released soon. This repository provides the official PyTorch

Sungha Choi 173 Dec 21, 2022
Pytorch implementation for "Adversarial Robustness under Long-Tailed Distribution" (CVPR 2021 Oral)

Adversarial Long-Tail This repository contains the PyTorch implementation of the paper: Adversarial Robustness under Long-Tailed Distribution, CVPR 20

Tong WU 89 Dec 15, 2022
Official PyTorch Implementation of Convolutional Hough Matching Networks, CVPR 2021 (oral)

Convolutional Hough Matching Networks This is the implementation of the paper "Convolutional Hough Matching Network" by J. Min and M. Cho. Implemented

Juhong Min 70 Nov 22, 2022
Pytorch implementation for "Large-Scale Long-Tailed Recognition in an Open World" (CVPR 2019 ORAL)

Large-Scale Long-Tailed Recognition in an Open World [Project] [Paper] [Blog] Overview Open Long-Tailed Recognition (OLTR) is the author's re-implemen

Zhongqi Miao 761 Dec 26, 2022
Implementation of "Fast and Flexible Temporal Point Processes with Triangular Maps" (Oral @ NeurIPS 2020)

Fast and Flexible Temporal Point Processes with Triangular Maps This repository includes a reference implementation of the algorithms described in "Fa

Oleksandr Shchur 20 Dec 2, 2022
The Pytorch code of "Joint Distribution Matters: Deep Brownian Distance Covariance for Few-Shot Classification", CVPR 2022 (Oral).

DeepBDC for few-shot learning        Introduction In this repo, we provide the implementation of the following paper: "Joint Distribution Matters: Dee

FeiLong 116 Dec 19, 2022
An official implementation of "SFNet: Learning Object-aware Semantic Correspondence" (CVPR 2019, TPAMI 2020) in PyTorch.

PyTorch implementation of SFNet This is the implementation of the paper "SFNet: Learning Object-aware Semantic Correspondence". For more information,

CV Lab @ Yonsei University 87 Dec 30, 2022
PyTorch implementation of CVPR 2020 paper (Reference-Based Sketch Image Colorization using Augmented-Self Reference and Dense Semantic Correspondence) and pre-trained model on ImageNet dataset

Reference-Based-Sketch-Image-Colorization-ImageNet This is a PyTorch implementation of CVPR 2020 paper (Reference-Based Sketch Image Colorization usin

Yuzhi ZHAO 11 Jul 28, 2022
Implementation of "Bidirectional Projection Network for Cross Dimension Scene Understanding" CVPR 2021 (Oral)

Bidirectional Projection Network for Cross Dimension Scene Understanding CVPR 2021 (Oral) [ Project Webpage ] [ arXiv ] [ Video ] Existing segmentatio

Hu Wenbo 135 Dec 26, 2022
(CVPR 2022 Oral) Official implementation for "Surface Representation for Point Clouds"

RepSurf - Surface Representation for Point Clouds [CVPR 2022 Oral] By Haoxi Ran* , Jun Liu, Chengjie Wang ( * : corresponding contact) The pytorch off

Haoxi Ran 264 Dec 23, 2022
Official MegEngine implementation of CREStereo(CVPR 2022 Oral).

[CVPR 2022] Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation This repository contains MegEngine implementation of ou

MEGVII Research 309 Dec 30, 2022
Official PyTorch code for CVPR 2020 paper "Deep Active Learning for Biased Datasets via Fisher Kernel Self-Supervision"

Deep Active Learning for Biased Datasets via Fisher Kernel Self-Supervision https://arxiv.org/abs/2003.00393 Abstract Active learning (AL) aims to min

Denis 29 Nov 21, 2022
Code for "NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video", CVPR 2021 oral

NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video Project Page | Paper NeuralRecon: Real-Time Coherent 3D Reconstruction from Mon

ZJU3DV 1.4k Dec 30, 2022
Dynamic Slimmable Network (CVPR 2021, Oral)

Dynamic Slimmable Network (DS-Net) This repository contains PyTorch code of our paper: Dynamic Slimmable Network (CVPR 2021 Oral). Architecture of DS-

Changlin Li 197 Dec 9, 2022
[CVPR 2021 Oral] ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis

ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis [arxiv|pdf|v

Yinan He 78 Dec 22, 2022
[CVPR 2021 Oral] Variational Relational Point Completion Network

VRCNet: Variational Relational Point Completion Network This repository contains the PyTorch implementation of the paper: Variational Relational Point

PL 121 Dec 12, 2022
Code for "Single-view robot pose and joint angle estimation via render & compare", CVPR 2021 (Oral).

Single-view robot pose and joint angle estimation via render & compare Yann Labbé, Justin Carpentier, Mathieu Aubry, Josef Sivic CVPR: Conference on C

Yann Labbé 51 Oct 14, 2022