Skip to content

Latest commit

 

History

History
538 lines (475 loc) · 85.8 KB

README.md

File metadata and controls

538 lines (475 loc) · 85.8 KB

Awesome Domain Generalization

Awesome

This repository is a collection of awesome things about domain generalization, including papers, code, etc.

If you would like to contribute to our repository or have any questions/advice, see Contributing & Contact.

Contents

Papers

We list papers, implementation code (the unofficial code is marked with *), etc, in the order of year and from journals to conferences. Note that some papers may fall into multiple categories.

Survey

  • Generalizing to Unseen Domains: A Survey on Domain Generalization [IJCAI 2021] [Slides] [155]
  • Domain Generalization in Vision: A Survey [TPAMI 2022] [3]

Theory & Analysis

We list the papers that either provide inspiring theoretical analyses or conduct extensive empirical studies for domain generalization.

  • A Generalization Error Bound for Multi-Class Domain Generalization [arXiv 2019] [123]
  • Domain Generalization by Marginal Transfer Learning [JMLR 2021] [Code] (MTL) [188]
  • The Risks of Invariant Risk Minimization [ICLR 2021] [196]
  • In Search of Lost Domain Generalization [ICLR 2021] [134]
  • The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization [ICCV 2021] [Code] [135]
  • An Empirical Investigation of Domain Generalization with Empirical Risk Minimizers [NeurIPS 2021] [Code] [198]
  • Towards a Theoretical Framework of Out-Of-Distribution Generalization [NeurIPS 2021] [199]
  • Out-of-Distribution Generalization in Kernel Regression [NeurIPS 2021] [205]
  • Quantifying and Improving Transferability in Domain Generalization [NeurIPS 2021] [Code] (Transfer) [206]
  • OoD-Bench: Quantifying and Understanding Two Dimensions of Out-of-Distribution Generalization [CVPR 2022] [Code] (OoD-Bench) [214]

Dataset

  • Free Viewpoint Action Recognition Using Motion History Volumes [CVIU 2006] (IXMAS dataset) [39]
  • Geodesic flow kernel for unsupervised domain adaptation [CVPR 2012] (Office-Caltech dataset) [32]
  • Unbiased Metric Learning: On the Utilization of Multiple Datasets and Web Images for Softening Bias [ICCV 2013] (VLCS dataset) [16]
  • Domain Generalization for Object Recognition with Multi-Task Autoencoders [ICCV 2015] [Code] (MTAE, Rotated MNIST dataset) [6]
  • Scalable Person Re-identification: A Benchmark [ICCV 2015] (Market-1501 dataset) [46]
  • The Cityscapes Dataset for Semantic Urban Scene Understanding [CVPR 2016] (Cityscapes dataset) [44]
  • The SYNTHIA Dataset: A Large Collection of Synthetic Images for Semantic Segmentation of Urban Scenes [CVPR 2016] (SYNTHIA dataset) [42]
  • Playing for Data: Ground Truth from Computer Games [ECCV 2016] (GTA5 dataset) [43]
  • Performance Measures and a Data Set for Multi-target, Multi-camera Tracking [ECCV 2016] (Duke dataset) [47]
  • VisDA: The Visual Domain Adaptation Challenge [arXiv 2017] (VisDA-17 dataset) [36]
  • Deep Hashing Network for Unsupervised Domain Adaptation [CVPR 2017] (OfficeHome dataset) [20]
  • Deeper, Broader and Artier Domain Generalization [ICCV 2017] [Code] (PACS dataset) [2]
  • Learning Multiple Visual Domains with Residual Adapters [NeurIPS 2017] (Visual Decathlon (VD) dataset) [38]
  • Recognition in Terra Incognita [ECCV 2018] (Terra Incognita dataset) [45]
  • Invariant Risk Minimization [arXiv 2019] [Code] (IRM, Colored MNIST dataset) [165]
  • Learning Robust Representations by Projecting Superficial Statistics Out [ICLR 2019] [Code] (HEX, ImageNet-Sketch dataset) [35]
  • Benchmarking Neural Network Robustness to Common Corruptions and Perturbations [ICLR 2019] (CIFAR-10-C / CIFAR-100-C / ImageNet-C dataset) [37]
  • Moment Matching for Multi-Source Domain Adaptation [ICCV 2019] [Code] (DomainNet dataset) [33]
  • Learning to Generate Novel Domains for Domain Generalization [ECCV 2020] [Code] (L2A-OT, Digits-DG dataset) [28]
  • Domain Adaptive Ensemble Learning [TIP 2021] [Code] (mini-DomainNet dataset) [34]
  • Towards Non-IID Image Classification A Dataset and Baselines [PR 2021] (NICO dataset) [108]
  • NICO++ Towards Better Benchmarking for Domain Generalization [arXiv 2022] (NICO++ dataset) [183]
  • MetaShift: A Dataset of Datasets for Evaluating Contextual Distribution Shifts and Training Conflicts [ICLR 2022] [Code] (MetaShift dataset) [213]

Domain Generalization

To address the dataset/domain shift problem [109]) [110)] [111)] [112], domain generalization [113] aims to learn a model from source domain(s) and make it generalize well to unknown target domains.

Domain Alignment-Based Methods

Domain alignment-based methods aim to minimize divergence between source domains for learning domain-invariant representations.

  • Domain Generalization via Invariant Feature Representation [ICML 2013] [Code] (DICA) [65]
  • Domain-Adversarial Training of Neural Networks [JMLR 2016] [Code] (DANN) [226]
  • Learning Attributes Equals Multi-Source Domain Generalization [CVPR 2016] (UDICA) [120]
  • Robust Domain Generalisation by Enforcing Distribution Invariance [IJCAI 2016] (ESRand) [66]
  • Scatter Component Analysis A Unified Framework for Domain Adaptation and Domain Generalization [TPAMI 2017] (SCA) [67]
  • Unified Deep Supervised Domain Adaptation and Generalization [ICCV 2017] [Code] (CCSA) [71]
  • Beyond Domain Adaptation: Unseen Domain Encapsulation via Universal Non-volume Preserving Models [arXiv 2018] (UNVP) [166]
  • Domain Generalization via Conditional Invariant Representation [AAAI 2018] (CIDG) [68]
  • Domain Generalization with Adversarial Feature Learning [CVPR 2018] [Code] (MMD-AAE) [76]
  • Deep Domain Generalization via Conditional Invariant Adversarial Networks [ECCV 2018] (CIDDG, CDANN) [77]
  • Generalizing to Unseen Domains via Distribution Matching [arXiv 2019] [Code] (G2DM) [81]
  • Image Alignment in Unseen Domains via Domain Deep Generalization [arXiv 2019] (DeGIA) [169]
  • Multi-Adversarial Discriminative Deep Domain Generalization for Face Presentation Attack Detection [CVPR 2019] [Code] (MADDG) [78]
  • Generalizable Feature Learning in the Presence of Data Bias and Domain Class Imbalance with Application to Skin Lesion Classification [MICCAI 2019] [72]
  • Domain Generalization via Model-Agnostic Learning of Semantic Features [NeurIPS 2019] [Code] (MASF) [18]
  • Adversarial Invariant Feature Learning with Accuracy Constraint for Domain Generalization [ECMLPKDD 2019] [Code] (AFLAC) [84]
  • Feature Alignment and Restoration for Domain Generalization and Adaptation [arXiv 2020] (FAR) [189]
  • Representation via Representations: Domain Generalization via Adversarially Learned Invariant Representations [arXiv 2020] (RVR) [82]
  • Correlation-aware Adversarial Domain Adaptation and Generalization [PR 2020] [Code] (CAADA) [80]
  • Domain Generalization Using a Mixture of Multiple Latent Domains [AAAI 2020] [Code] [83]
  • Single-Side Domain Generalization for Face Anti-Spoofing [CVPR 2020] [Code] (SSDG) [79]
  • Scanner Invariant Multiple Sclerosis Lesion Segmentation from MRI [ISBI 2020] [85]
  • Respecting Domain Relations: Hypothesis Invariance for Domain Generalization [ICPR 2020] (HIR) [74]
  • Domain Generalization via Multidomain Discriminant Analysis [UAI 2020] [Code] (MDA) [70]
  • Domain Generalization for Medical Imaging Classification with Linear-Dependency Regularization [NeurIPS 2020] [Code] (LDDG) [75]
  • Domain Generalization via Entropy Regularization [NeurIPS 2020] [Code] [86]
  • Iterative Feature Matching: Toward Provable Domain Generalization with Logarithmic Environments [arXiv 2021] [192]
  • Semi-Supervised Domain Generalization in RealWorld: New Benchmark and Strong Baseline [arXiv 2021] [179]
  • Collaborative Semantic Aggregation and Calibration for Separated Domain Generalization [arXiv 2021] [Code] (CSAC) [161]
  • Multi-Domain Adversarial Feature Generalization for Person Re-Identification [TIP 2021] (MMFA-AAE) [144]
  • Scale Invariant Domain Generalization Image Recapture Detection [ICONIP 2021] (SADG) [177]
  • Domain Generalization under Conditional and Label Shifts via Variational Bayesian Inference [IJCAI 2021] (VBCLS) [195]
  • Domain Generalization using Causal Matching [ICML 2021] [Code] (MatchDG) [73]
  • Generalization on Unseen Domains via Inference-Time Label-Preserving Target Projections [CVPR 2021] [Code] [118]
  • Progressive Domain Expansion Network for Single Domain Generalization [CVPR 2021] [Code] (PDEN) [141]
  • Confidence Calibration for Domain Generalization Under Covariate Shift [ICCV 2021] [133]
  • On Calibration and Out-of-domain Generalization [NeurIPS 2021] [154]
  • Domain-invariant Feature Exploration for Domain Generalization [TMLR 2022] [Code] (DIFEX) [209]

Data Augmentation-Based Methods

Data augmentation-based methods augment original data and train the model on the generated data to improve model robustness.

  • Certifying Some Distributional Robustness with Principled Adversarial Training [arXiv 2017] [Code] [52]
  • Generalizing across Domains via Cross-Gradient Training [ICLR 2018] [Code] (CrossGrad) [53]
  • Generalizing to Unseen Domains via Adversarial Data Augmentation [NeurIPS 2018] [Code] [25]
  • Staining Invariant Features for Improving Generalization of Deep Convolutional Neural Networks in Computational Pathology [Frontiers in Bioengineering and Biotechnology 2019] [26]
  • Multi-component Image Translation for Deep Domain Generalization [WACV 2019] [Code] [167]
  • Domain Generalization by Solving Jigsaw Puzzles [CVPR 2019] [Code] (JiGen) [98]
  • Addressing Model Vulnerability to Distributional Shifts Over Image Transformation Sets [ICCV 2019] [Code] [21]
  • Domain Randomization and Pyramid Consistency: Simulation-to-Real Generalization Without Accessing Target Domain Data [ICCV 2019] [Code] [62]
  • Hallucinating Agnostic Images to Generalize Across Domains [ICCV workshop 2019] [Code] [63]
  • Improve Unsupervised Domain Adaptation with Mixup Training [arXiv 2020] [Code*] (Mixup) [227]
  • Improving the Generalizability of Convolutional Neural Network-Based Segmentation on CMR Images [Frontiers in Cardiovascular Medicine 2020] [24]
  • Generalizing Deep Learning for Medical Image Segmentation to Unseen Domains via Deep Stacked Transformation [TMI 2020] (BigAug) [23]
  • Deep Domain-Adversarial Image Generation for Domain Generalisation [AAAI 2020] [Code] (DDAIG) [55]
  • Towards Universal Representation Learning for Deep Face Recognition [CVPR 2020] [Code] [22]
  • Heterogeneous Domain Generalization via Domain Mixup [ICASSP 2020] [Code] [128]
  • Learning to Generate Novel Domains for Domain Generalization [ECCV 2020] [Code] (L2A-OT, Digits-DG dataset) [28]
  • Learning from Extrinsic and Intrinsic Supervisions for Domain Generalization [ECCV 2020] [Code] (EISNet) [99]
  • Towards Recognizing Unseen Categories in Unseen Domains [ECCV 2020] [Code] (CuMix) [57]
  • Rethinking Domain Generalization Baselines [ICPR 2020]
  • More is Better: A Novel Multi-view Framework for Domain Generalization [arXiv 2021] [184]
  • Semi-Supervised Domain Generalization with Stochastic StyleMatch [arXiv 2021] [Code] (StyleMatch) [54]
  • Better Pseudo-label Joint Domain-aware Label and Dual-classifier for Semi-supervised Domain Generalization [arXiv 2021] [156]
  • Out-of-domain Generalization from a Single Source: A Uncertainty Quantification Approach [arXiv 2021] [151]
  • Towards Principled Disentanglement for Domain Generalization [arXiv 2021] [Code] (DDG) [170]
  • MixStyle Neural Networks for Domain Generalization and Adaptation [arXiv 2021] [Code] (MixStyle) [58]
  • VideoDG: Generalizing Temporal Relations in Videos to Novel Domains [TPAMI 2021] [Code] (APN) [197]
  • Domain Generalization by Marginal Transfer Learning [JMLR 2021] [Code] [188]
  • Domain Generalisation with Domain Augmented Supervised Contrastive Learning [AAAI Student Abstract 2021] (DASCL) [139]
  • DecAug: Out-of-Distribution Generalization via Decomposed Feature Representation and Semantic Augmentation [AAAI 2021] [Code] (DecAug) [171]
  • Domain Generalization with Mixstyle [ICLR 2021] [Code] (MixStyle) [56]
  • Robust and Generalizable Visual Representation Learning via Random Convolutions [ICLR 2021] [Code] (RC) [59]
  • Learning to Learn Single Domain Generalization [CVPR 2020] [Code] (M-ADA) [27]
  • FSDR: Frequency Space Domain Randomization for Domain Generalization [CVPR 2021] [Code] (FSDR) [115]
  • FedDG: Federated Domain Generalization on Medical Image Segmentation via Episodic Learning in Continuous Frequency Space [CVPR 2021] [Code] (FedDG) [147]
  • Uncertainty-guided Model Generalization to Unseen Domains [CVPR 2021] [Code] [168]
  • Continual Adaptation of Visual Representations via Domain Randomization and Meta-learning [CVPR 2021] (Meta-DR) [153]
  • A Fourier-Based Framework for Domain Generalization [CVPR 2021] [Code] (FACT) [160]
  • Open Domain Generalization with Domain-Augmented Meta-Learning [CVPR 2021] [Code] (DAML) [119]
  • A Simple Feature Augmentation for Domain Generalization [ICCV 2021] (SFA) [142]
  • Universal Cross-Domain Retrieval Generalizing Across Classes and Domains [ICCV 2021] [Code] (SnMpNet) [150]
  • Feature Stylization and Domain-aware Contrastive Learning for Domain Generalization [MM 2021] [137]
  • Adversarial Teacher-Student Representation Learning for Domain Generalization [NeurIPS 2021] [203]
  • Model-Based Domain Generalization [NeurIPS 2021] [Code] (MBDG) [200]
  • Optimal Representations for Covariate Shift [ICLR 2022] [Code] (CAD) [223]
  • Label-Efficient Domain Generalization via Collaborative Exploration and Generalization [MM 2022] [Code] (CEG) [211]

Meta-Learning-Based Methods

Meta-learning-based methods train the model on a meta-train set and improve its performance on a meta-test set for boosting out-of-domain generalization ability.

  • Learning to Generalize: Meta-Learning for Domain Generalization [AAAI 2018] [Code] (MLDG) [1]
  • MetaReg: Towards Domain Generalization using Meta-Regularization [NeurIPS 2018] [Code*] (MetaReg) [4]
  • Feature-Critic Networks for Heterogeneous Domain Generalisation [ICML 2019] [Code] (Feature-Critic) [5]
  • Episodic Training for Domain Generalization [ICCV 2019] [Code] (Epi-FCR) [7]
  • Domain Generalization via Model-Agnostic Learning of Semantic Features [NeurIPS 2019] [Code] (MASF) [18]
  • Domain Generalization via Semi-supervised Meta Learning [arXiv 2020] [Code] (DGSML) [127]
  • Frustratingly Simple Domain Generalization via Image Stylization [arXiv 2020] [Code] [60]
  • Domain Generalization for Named Entity Boundary Detection via Metalearning [TNNLS 2020] (METABDRY) [124]
  • Learning to Learn Single Domain Generalization [CVPR 2020] [Code] (M-ADA) [27]
  • Learning to Learn with Variational Information Bottleneck for Domain Generalization [ECCV 2020] (MetaVIB) [15]
  • Sequential Learning for Domain Generalization [ECCV workshop 2020] (S-MLDG) [14]
  • Shape-Aware Meta-Learning for Generalizing Prostate MRI Segmentation to Unseen Domains [MICCAI 2020] [Code] (SAML) [17]
  • More is Better: A Novel Multi-view Framework for Domain Generalization [arXiv 2021] [184]
  • Few-Shot Classification in Unseen Domains by Episodic Meta-Learning Across Visual Domains [ICIP 2021] (x-EML) [180]
  • Meta-Learned Feature Critics for Domain Generalized Semantic Segmentation [ICIP 2021] [185]
  • MetaNorm: Learning to Normalize Few-Shot Batches Across Domains [ICLR 2021] [Code] (MetaNorm) [19]
  • Learning to Generalize Unseen Domains via Memory-based Multi-Source Meta-Learning for Person Re-Identification [CVPR 2021] [Code] (M3L) [12]
  • Uncertainty-guided Model Generalization to Unseen Domains [CVPR 2021] [Code] [168]
  • Continual Adaptation of Visual Representations via Domain Randomization and Meta-learning [CVPR 2021] (Meta-DR) [153]
  • Meta Batch-Instance Normalization for Generalizable Person Re-Identification [CVPR 2021] [Code] (MetaBIN) [13]
  • Open Domain Generalization with Domain-Augmented Meta-Learning [CVPR 2021] [Code] (DAML) [119]
  • On Challenges in Unsupervised Domain Generalization [NeurIPS workshop 2021] [178]
  • Exploiting Domain-Specific Features to Enhance Domain Generalization [NeurIPS 2021] [Code] (mDSDI) [202]

Ensemble Learning-Based Methods

Ensemble learning-based methods mainly train a domain-specific model on each source domain, and then draw on collective wisdom to make accurate prediction.

  • Exploiting Low-Rank Structure from Latent Domains for Domain Generalization [ECCV 2014] [87]
  • Visual recognition by learning from web data: A weakly supervised domain generalization approach [CVPR 2015] [89]
  • Multi-View Domain Generalization for Visual Recognition [ICCV 2015] (MVDG) [88]
  • Deep Domain Generalization With Structured Low-Rank Constraint [TIP 2017] [91]
  • Visual Recognition by Learning From Web Data via Weakly Supervised Domain Generalization [TNNLS 2017] [121]
  • Robust Place Categorization with Deep Domain Generalization [IEEE Robotics and Automation Letters 2018] [Code] (COLD) [97]
  • Multi-View Domain Generalization Framework for Visual Recognition [TNNLS 2018] [122]
  • Domain Generalization with Domain-Specific Aggregation Modules [GCPR 2018] (D-SAMs) [92]
  • Best Sources Forward: Domain Generalization through Source-Specific Nets [ICIP 2018] [90]
  • Batch Normalization Embeddings for Deep Domain Generalization [arXiv 2020] (BNE) [96]
  • DoFE: Domain-oriented Feature Embedding for Generalizable Fundus Image Segmentation on Unseen Datasets [TMI 2020] (DoFE) [93]
  • MS-Net: Multi-Site Network for Improving Prostate Segmentation with Heterogeneous MRI Data [TMI 2020] [Code] (MS-Net) [95]
  • Generalized Convolutional Forest Networks for Domain Generalization and Visual Recognition [ICLR 2020] (GCFN) [126]
  • Learning to Optimize Domain Specific Normalization for Domain Generalization [ECCV 2020] (DSON) [94]
  • Class-conditioned Domain Generalization via Wasserstein Distributional Robust Optimization [ICLR workshop 2021] [175]
  • Domain and Content Adaptive Convolution for Domain Generalization in Medical Image Segmentation [arXiv 2021] (DCAC) [176]
  • Dynamically Decoding Source Domain Knowledge for Unseen Domain Generalization [arXiv 2021] (D2SDK) [174]
  • Domain Adaptive Ensemble Learning [TIP 2021] [Code] (mini-DomainNet dataset) [34]
  • Generalizable Person Re-identification with Relevance-aware Mixture of Experts [CVPR 2021] (RaMoE) [187]
  • Learning Transferrable and Interpretable Representations for Domain Generalization [MM 2021] (DTN) [131]
  • Embracing the Dark Knowledge: Domain Generalization Using Regularized Knowledge Distillation [MM 2021] (KDDG) [157]
  • TransMatcher: Deep Image Matching Through Transformers for Generalizable Person Re-identification [NeurIPS 2021] [Code] (TransMatcher) [208]

Self-Supervised Learning-Based Methods

Self-supervised learning-based methods improve model generalization by solving some pretext tasks with data itself.

  • Domain Generalization for Object Recognition with Multi-Task Autoencoders [ICCV 2015] [Code] (MTAE, Rotated MNIST dataset) [6]
  • Domain Generalization by Solving Jigsaw Puzzles [CVPR 2019] [Code] (JiGen) [98]
  • Improving Out-Of-Distribution Generalization via Multi-Task Self-Supervised Pretraining [arXiv 2020] [102]
  • Generalized Convolutional Forest Networks for Domain Generalization and Visual Recognition [ICLR 2020] (GCFN) [126]
  • Learning from Extrinsic and Intrinsic Supervisions for Domain Generalization [ECCV 2020] [Code] (EISNet) [99]
  • Zero Shot Domain Generalization [BMVC 2020] [Code] [100]
  • Out-of-domain Generalization from a Single Source: A Uncertainty Quantification Approach [arXiv 2021] [151]
  • Self-Supervised Learning Across Domains [TPAMI 2021] [Code] [101]
  • Multi-Domain Adversarial Feature Generalization for Person Re-Identification [TIP 2021] (MMFA-AAE) [144]
  • Scale Invariant Domain Generalization Image Recapture Detection [ICONIP 2021] (SADG) [177]
  • Domain Generalisation with Domain Augmented Supervised Contrastive Learning [AAAI Student Abstract 2021]
  • Progressive Domain Expansion Network for Single Domain Generalization [CVPR 2021] [Code] (PDEN) [141]
  • FedDG: Federated Domain Generalization on Medical Image Segmentation via Episodic Learning in Continuous Frequency Space [CVPR 2021] [Code] (FedDG) [147]
  • Boosting the Generalization Capability in Cross-Domain Few-shot Learning via Noise-enhanced Supervised Autoencoder [ICCV 2021] (NSAE) [194]
  • A Style and Semantic Memory Mechanism for Domain Generalization [ICCV 2021] (STEAM) [130]
  • SelfReg: Self-Supervised Contrastive Regularization for Domain Generalization [ICCV 2021] (SelfReg) [138]
  • Domain Generalization for Mammography Detection via Multi-style and Multi-view Contrastive Learning [MICCAI 2021] [Code] (MSVCL) [172]
  • Feature Stylization and Domain-aware Contrastive Learning for Domain Generalization [MM 2021] [137]
  • Adversarial Teacher-Student Representation Learning for Domain Generalization [NeurIPS 2021]
  • Domain Generalization via Contrastive Causal Learning [arXiv 2022] (CCM) [212]
  • Towards Unsupervised Domain Generalization [CVPR 2022] (DARLING) [69]
  • Unsupervised Domain Generalization by Learning a Bridge Across Domains [CVPR 2022] [Code] (BrAD) [182]

Disentangled Representation Learning-Based Methods

Disentangled representation learning-based methods aim to disentangle domain-specific and domain-invariant parts from source data, and then adopt the domain-invariant one for inference on the target domains.

  • Undoing the Damage of Dataset Bias [ECCV 2012] [Code] [103]
  • Deeper, Broader and Artier Domain Generalization [ICCV 2017] [Code] [2]
  • DIVA: Domain Invariant Variational Autoencoders [ICML workshop 2019] [Code] (DIVA) [107]
  • Efficient Domain Generalization via Common-Specific Low-Rank Decomposition [ICML 2020] [Code] (CSD) [105]
  • Cross-Domain Face Presentation Attack Detection via Multi-Domain Disentangled Representation Learning [CVPR 2020] [106]
  • Learning to Balance Specificity and Invariance for In and Out of* Domain Generalization [ECCV 2020] [Code] (DMG) [104]
  • Towards Principled Disentanglement for Domain Generalization [arXiv 2021] [Code] (DDG) [170]
  • Meta-Learned Feature Critics for Domain Generalized Semantic Segmentation [ICIP 2021] [185]
  • DecAug: Out-of-Distribution Generalization via Decomposed Feature Representation and Semantic Augmentation [AAAI 2021] [Code] (DecAug) [171]
  • Robustnet: Improving Domain Generalization in Urban-Scene Segmentation via Instance Selective Whitening [CVPR 2021] [Code] (RobustNet) [193]
  • Reducing Domain Gap by Reducing Style Bias [CVPR 2021] [Code] (SagNet) [230]
  • Shape-Biased Domain Generalization via Shock Graph Embeddings [ICCV 2021] [149]
  • Domain-Invariant Disentangled Network for Generalizable Object Detection [ICCV 2021] [143]
  • Domain Generalization via Feature Variation Decorrelation [MM 2021] [146]
  • Exploiting Domain-Specific Features to Enhance Domain Generalization [NeurIPS 2021] [Code] (mDSDI) [202]
  • Variational Disentanglement for Domain Generalization [TMLR 2022] (VDN) [210]
  • Intra-Source Style Augmentation for Improved Domain Generalization [WACV 2023] (ISSA) [215]

Regularization-Based Methods

Regularization-based methods leverage regularization terms to prevent the overfitting, or design optimization strategies to guide the training.

  • Generalizing from Several Related Classification Tasks to a New Unlabeled Sample [NeurIPS 2011] [113]
  • MetaReg: Towards Domain Generalization using Meta-Regularization [NeurIPS 2018] [Code*] (MetaReg) [4]
  • Invariant Risk Minimization [arXiv 2019] [Code] (IRM, Colored MNIST dataset) [165]
  • Learning Robust Representations by Projecting Superficial Statistics Out [ICLR 2019] [Code] (HEX, ImageNet-Sketch dataset) [35]
  • Distributionally Robust Neural Networks for Group Shifts On the Importance of Regularization for Worst-Case Generalization [ICLR 2020] [Code] (DroupDRO) [218]
  • Self-challenging Improves Cross-Domain Generalization [ECCV 2020] [Code] (RSC) [64]
  • Energy-based Out-of-distribution Detection [NeurIPS 2020] [Code] [181]
  • When Can We Formulate the Out-of-Distribution Generalization Problem as an Invariance Problem? [arXiv 2021] [Code*] (IGA) [219]
  • Learning Representations that Support Robust Transfer of Predictors [arXiv 2021] [Code] (TRM) [220]
  • SAND-mask: An Enhanced Gradient Masking Strategy for the Discovery of Invariances in Domain Generalization [arXiv 2021] [Code*] (SANDMask) [222]
  • Out-of-Distribution Generalization via Risk Extrapolation [ICML 2021] (VREx) [190]
  • Learning Explanations that are Hard to Vary [ICLR 2021] [Code*] (ANDMask) [221]
  • A Fourier-Based Framework for Domain Generalization [CVPR 2021] [Code] (FACT) [160]
  • Domain Generalization via Gradient Surgery [ICCV 2021] [Code] (Agr) [148]
  • SelfReg: Self-Supervised Contrastive Regularization for Domain Generalization [ICCV 2021] (SelfReg) [138]
  • Embracing the Dark Knowledge: Domain Generalization Using Regularized Knowledge Distillation [MM 2021]
  • Model-Based Domain Generalization [NeurIPS 2021] [Code] (MBDG) [200]
  • Swad: Domain Generalization by Seeking Flat Minima [NeurIPS 2021] [Code] (SWAD) [201]
  • Training for the Future: A Simple Gradient Interpolation Loss to Generalize Along Time [NeurIPS 2021] [Code] (GI) [204]
  • Adaptive Risk Minimization: Learning to Adapt to Domain Shift [NeurIPS 2021] [Code] (ARM) [228]
  • Gradient Starvation: A Learning Proclivity in Neural Networks [NeurIPS 2021] [Code*] (SD) [225]
  • Quantifying and Improving Transferability in Domain Generalization [NeurIPS 2021] [Code] [206]
  • Gradient Matching for Domain Generalization [ICLR 2022] [Code] (Fish) [224]
  • Fishr: Invariant Gradient Variances for Our-of-distribution Generalization [ICML 2022] [Code] (Fishr) [173]

Normalization-Based Methods

Normalization-based methods calibrate data from different domains by normalizing them with their statistic.

  • Deep CORAL: Correlation Alignment for Deep Domain Adaptation [ECCV 2016] [Code] (CORAL) [229]
  • Batch Normalization Embeddings for Deep Domain Generalization [arXiv 2020] (BNE) [96]
  • Learning to Optimize Domain Specific Normalization for Domain Generalization [ECCV 2020] (DSON) [94]
  • MetaNorm: Learning to Normalize Few-Shot Batches Across Domains [ICLR 2021] [Code] (MetaNorm) [19]
  • Meta Batch-Instance Normalization for Generalizable Person Re-Identification [CVPR 2021] [Code] (MetaBIN) [13]
    • Learning to Generalize Unseen Domains via Memory-based Multi-Source Meta-Learning for Person Re-Identification [CVPR 2021] [Code] (M3L) [12]
  • Adversarially Adaptive Normalization for Single Domain Generalization [CVPR 2021] (ASR) [116]
  • Collaborative Optimization and Aggregation for Decentralized Domain Generalization and Adaptation [ICCV 2021] (COPDA) [159]
  • Domain Generalization through Audio-Visual Relative Norm Alignment in First Person Action Recognition [WACV 2022] (RNA-Net) [186]

Information-Based Methods

Information-based methods utilize techniques of information theory to realize domain generalization.

  • Learning to Learn with Variational Information Bottleneck for Domain Generalization [ECCV 2020] (MetaVIB) [15]
  • Progressive Domain Expansion Network for Single Domain Generalization [CVPR 2021] [Code] (PDEN) [141]
  • Learning To Diversify for Single Domain Generalization [ICCV 2021] [Code] [158]
  • Invariance Principle Meets Information Bottleneck for Out-Of-Distribution Generalization [NeurIPS 2021] [Code] (IB-IRM) [207]
  • Exploiting Domain-Specific Features to Enhance Domain Generalization [NeurIPS 2021] [Code] (mDSDI) [202]
  • Invariant Information Bottleneck for Domain Generalization [AAAI 2022] [Code] (IIB) [140]

Causality-Based Methods

Causality-based methods analyze and address the domain generalization problem from a causal perspective.

  • Invariant Risk Minimization [arXiv 2019] [Code] (IRM, Colored MNIST dataset) [165]
  • Learning Domain-Invariant Relationship with Instrumental Variable for Domain Generalization [arXiv 2021] (IV-DG) [163]
  • A Causal Framework for Distribution Generalization [TPAMI 2021] [Code] (NILE) [191]
  • Domain Generalization using Causal Matching [ICML 2021] [Code] (MatchDG) [73]
  • Deep Stable Learning for Out-of-Distribution Generalization [CVPR 2021] [Code] (StableNet) [117]
  • Out-of-Distribution Generalization via Risk Extrapolation [ICML 2021] [Code] (VREx) [217]
  • A Style and Semantic Memory Mechanism for Domain Generalization [ICCV 2021] (STEAM) [130]
  • Learning Causal Semantic Representation for Out-of-Distribution Prediction [NeurIPS 2021] [Code] (CSG-ind) [145]
  • Recovering Latent Causal Factor for Generalization to Distributional Shifts [NeurIPS 2021] [Code] (LaCIM) [152]
  • On Calibration and Out-of-domain Generalization [NeurIPS 2021]
  • Invariance Principle Meets Information Bottleneck for Out-Of-Distribution Generalization [NeurIPS 2021] [Code] (IB-ERM, IB-IRM) [207]
  • Domain Generalization via Contrastive Causal Learning [arXiv 2022] (CCM) [212]
  • Invariant Causal Mechanisms through Distribution Matching [arXiv 2022] [Code*] (CausIRL-CORAL, CausIRL-MMD) [216]
  • Invariant Information Bottleneck for Domain Generalization [AAAI 2022] [Code] (IIB) [140]

Inference-Time-Based Methods

Inference-time-based methods leverage the unlabeled target data, which is available at inference-time, to improve generalization performance without further model training.

  • Generalization on Unseen Domains via Inference-Time Label-Preserving Target Projections [CVPR 2021] [Code] [118]
  • Adaptive Methods for Real-World Domain Generalization [CVPR 2021] [Code] (DA-ERM) [132]
  • Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization [NeurIPS 2021] [Code] (T3A) [136]

Neural Architecture Search-based Methods

Neural architecture search-based methods aim to dynamically tune the network architecture to improve out-of-domain generalization.

  • NAS-OoD Neural Architecture Search for Out-of-Distribution Generalization [ICCV 2021] (NAS-OoD) [129]

Single Domain Generalization

The goal of single domain generalization task is to improve model performance on unknown target domains by using data from only one source domain.

  • Learning to Learn Single Domain Generalization [CVPR 2020] [Code] (M-ADA) [27]
  • Out-of-domain Generalization from a Single Source: A Uncertainty Quantification Approach [arXiv 2021] [151]
  • Uncertainty-guided Model Generalization to Unseen Domains [CVPR 2021] [Code] [168]
  • Adversarially Adaptive Normalization for Single Domain Generalization [CVPR 2021] (ASR) [116]
  • Progressive Domain Expansion Network for Single Domain Generalization [CVPR 2021] [Code] (PDEN) [141]
  • Learning To Diversify for Single Domain Generalization [ICCV 2021] [Code] [158]
  • Intra-Source Style Augmentation for Improved Domain Generalization [WACV 2023] (ISSA) [215]

Semi/Weak/Un-Supervised Domain Generalization

Semi/weak-supervised domain generalization assumes that a part of the source data is unlabeled, while unsupervised domain generalization assumes no training supervision.

  • Visual recognition by learning from web data: A weakly supervised domain generalization approach [CVPR 2015] [89]
  • Visual Recognition by Learning From Web Data via Weakly Supervised Domain Generalization [TNNLS 2017] [121]
  • Domain Generalization via Semi-supervised Meta Learning [arXiv 2020] [Code] (DGSML) [127]
  • Deep Semi-supervised Domain Generalization Network for Rotary Machinery Fault Diagnosis under Variable Speed [IEEE Transactions on Instrumentation and Measurement 2020] (DSDGN) [125]
  • Semi-Supervised Domain Generalization with Stochastic StyleMatch [arXiv 2021] [Code] (StyleMatch) [54]
  • Better Pseudo-label Joint Domain-aware Label and Dual-classifier for Semi-supervised Domain Generalization [arXiv 2021] [156]
  • Semi-Supervised Domain Generalization in RealWorld: New Benchmark and Strong Baseline [arXiv 2021] [179]
  • On Challenges in Unsupervised Domain Generalization [NeurIPS workshop 2021] [178]
  • Domain-Specific Bias Filtering for Single Labeled Domain Generalization [IJCV 2022] [Code] (DSBF) [162]
  • Towards Unsupervised Domain Generalization [CVPR 2022] (DARLING) [69]
  • Unsupervised Domain Generalization by Learning a Bridge Across Domains [CVPR 2022] [Code] (BrAD) [182]
  • Label-Efficient Domain Generalization via Collaborative Exploration and Generalization [MM 2022] [Code] (CEG) [211]

Open/Heterogeneous Domain Generalization

Open/heterogeneous domain generalization assumes the label space of one domain is different from that of another domain.

  • Feature-Critic Networks for Heterogeneous Domain Generalisation [ICML 2019] [Code] (Feature-Critic) [5]
  • Episodic Training for Domain Generalization [ICCV 2019] [Code] (Epi-FCR) [7]
  • Towards Recognizing Unseen Categories in Unseen Domains [ECCV 2020] [Code] (CuMix) [57]
  • Heterogeneous Domain Generalization via Domain Mixup [ICASSP 2020] [Code] [128]
  • Open Domain Generalization with Domain-Augmented Meta-Learning [CVPR 2021] [Code] (DAML) [119]
  • Universal Cross-Domain Retrieval Generalizing Across Classes and Domains [ICCV 2021] [Code] (SnMpNet) [150]

Federated Domain Generalization

Federated domain generalization assumes that source data is distributed and can not be fused for data privacy protection.

  • Collaborative Semantic Aggregation and Calibration for Separated Domain Generalization [arXiv 2021] [Code] (CSAC) [161]
  • FedDG: Federated Domain Generalization on Medical Image Segmentation via Episodic Learning in Continuous Frequency Space [CVPR 2021] [Code] (FedDG) [147]
  • Collaborative Optimization and Aggregation for Decentralized Domain Generalization and Adaptation [ICCV 2021] (COPDA) [159]

Applications

Person Re-Identification

  • Deep Domain-Adversarial Image Generation for Domain Generalisation [AAAI 2020] [Code]
  • Learning to Generate Novel Domains for Domain Generalization [ECCV 2020] [Code] (L2A-OT, Digits-DG dataset) [28]
  • Learning Generalisable Omni-Scale Representations for Person Re-Identification [TPAMI 2021] [Code] [114]
  • Multi-Domain Adversarial Feature Generalization for Person Re-Identification [TIP 2021] (MMFA-AAE) [144]
  • Domain Generalization with Mixstyle [ICLR 2021] [Code] (MixStyle) [56]
  • Learning to Generalize Unseen Domains via Memory-based Multi-Source Meta-Learning for Person Re-Identification [CVPR 2021] [Code] (M3L) [12]
  • Meta Batch-Instance Normalization for Generalizable Person Re-Identification [CVPR 2021] [Code] (MetaBIN) [13]
  • Generalizable Person Re-identification with Relevance-aware Mixture of Experts [CVPR 2021] (RaMoE) [187]
  • TransMatcher: Deep Image Matching Through Transformers for Generalizable Person Re-identification [NeurIPS 2021] [Code] (TransMatcher) [208]

Face Recognition & Anti-Spoofing

  • Multi-Adversarial Discriminative Deep Domain Generalization for Face Presentation Attack Detection [CVPR 2019] [Code] (MADDG) [78]
  • Towards Universal Representation Learning for Deep Face Recognition [CVPR 2020] [Code] [22]
  • Cross-Domain Face Presentation Attack Detection via Multi-Domain Disentangled Representation Learning [CVPR 2020] [106]
  • Single-Side Domain Generalization for Face Anti-Spoofing [CVPR 2020] [Code] (SSDG) [79]

Related Topics

Life-Long Learning

  • Sequential Learning for Domain Generalization [ECCV workshop 2020] (S-MLDG) [14]
  • Continual Adaptation of Visual Representations via Domain Randomization and Meta-learning [CVPR 2021] (Meta-DR) [153]

Publications

Top Conference Papers
before 2014 CVPR: [8], [11]; ICCV: [16], [41]; NeurIPS: [31], [113]; ECCV: [32], [87], [103]; ICML: [65]
2015 CVPR: [89]; ICML: [30]; ICCV: [6], [46], [88]
2016 CVPR: [42], [44], [120]; IJCAI: [66]; ECCV: [43], [47], [229]
2017 CVPR: [20]; ICCV: [2], [71]; NeurIPS: [38]
2018 ICLR: [1], [68]; ICLR: [53]; CVPR: [76]; ECCV: [45], [77]; NeurIPS: [4], [25]
2019 ICLR: [35], [37]; CVPR: [78], [98]; ICML: [5], [107], [110]; ICCV: [7], [21], [33], [62], [63]; NeurIPS: [18]
2020 ICLR: [55], [83], [218]; ICLR: [126]; CVPR: [22], [27], [79], [106]; ICML: [105]; ECCV: [14], [15], [28], [57], [64], [94], [99], [104]; NeurIPS: [75], [86], [112], [181]
2021 ICLR: [19], [56], [59], [134], [175], [196]; ICLR: [139], [171], [221]; CVPR: [12], [13], [115], [116], [117], [118], [119], [132], [141], [147], [153], [160], [168], [187], [193]; IJCAI: [155], [195], [230]; ICML: [73], [190], [217]; ICCV: [129], [130], [133], [135], [138], [142], [143], [148], [149], [150], [158], [159], [194]; MM: [131], [137], [146], [157]; NeurIPS: [136], [145], [152], [154], [198], [199], [200], [201], [202], [203], [204], [205], [206], [207], [208], [228], [225]
2022 AAAI: [140]; ICLR: [213], [224]; CVPR: [69], [182], [214]; ICML: [173]; MM: [211]
2023 WACV: [215]; ICLR: [223]
Top Journal Papers
before 2017 IJCV: [9], [10]; JMLR: [226]
2017 TPAMI: [67]; TIP: [91]
2021 TIP: [34], [144]; TPAMI: [101], [114], [191], [197]; JMLR: [188]
2022 TMLR: [209], [210]; IJCV: [162]
arXiv Papers
before 2014 [40]
2017 [36], [52]
2018 [166]
2019 [81], [123], [165], [169]
2020 [60], [82], [96], [102], [127], [189], [227]
2021 [3], [54], [58], [151], [156], [161], [163], [170], [174], [176], [178], [179], [184], [192], [219], [222]
2022 [183], [212], [216], [220]
Else Papers
before 2018 [29], [39], [48], [49], [50], [51], [90], [92], [97], [109], [111], [121], [122]
2019 [26], [72], [84], [167]
2020 [17], [23], [24], [61], [70], [74], [80], [85], [93], [95], [100], [124], [125], [128], [164]
2021 [108], [172], [177], [180], [185]
2022 [186]

Datasets

Evaluations on the following datasets often follow leave-one-domain-out protocol: randomly choose one domain to hold out as the target domain, while the others are used as the source domain(s).

Datasets (download link) Description Related papers
Colored MNIST [165] Handwritten digit recognition; 3 domains: {0.1, 0.3, 0.9}; 70,000 samples of dimension (2, 28, 28); 2 classes [82], [138], [140], [149], [152], [154], [165], [171], [173], [190], [200], [202], [214], [216], [217], [219], [220], [222], [224]
Rotated MNIST [6] (original) Handwritten digit recognition; 6 domains with rotated degree: {0, 15, 30, 45, 60, 75}; 7,000 samples of dimension (1, 28, 28); 10 classes [5], [6], [15], [35], [53], [55], [63], [71], [73], [74], [76], [77], [86], [90], [105], [107], [138], [140], [170], [173], [202], [204], [206], [216], [222], [224]
Digits-DG [28] Handwritten digit recognition; 4 domains: {MNIST [29], MNIST-M [30], SVHN [31], SYN [30]}; 24,000 samples; 10 classes [21], [25], [27], [28], [34], [35], [55], [59], [63], [94], [98], [116], [118], [130], [141], [142], [146], [151], [153], [157], [158], [159], [160], [166], [168], [179], [189], [203], [209], [210]
VLCS [16] (1; or original) Object recognition; 4 domains: {Caltech [8], LabelMe [9], PASCAL [10], SUN [11]}; 10,729 samples of dimension (3, 224, 224); 5 classes; about 3.6 GB [2], [6], [7], [14], [15], [18], [60], [61], [64], [67], [68], [70], [71], [74], [76], [77], [81], [83], [86], [91], [98], [99], [101], [102], [103], [117], [118], [126], [127], [131], [132], [136], [138], [140], [142], [145], [146], [148], [149], [161], [170], [173], [174], [184], [190], [195], [199], [201], [202], [203], [209], [216], [217], [222], [223], [224]
Office31+Caltech [32] (1) Object recognition; 4 domains: {Amazon, Webcam, DSLR, Caltech}; 4,652 samples in 31 classes (office31) or 2,533 samples in 10 classes (office31+caltech); 51 MB [6], [35], [67], [68], [70], [71], [80], [91], [96], [119], [131], [167]
OfficeHome [20] (1; or original) Object recognition; 4 domains: {Art, Clipart, Product, Real World}; 15,588 samples of dimension (3, 224, 224); 65 classes; 1.1 GB [19], [54], [28], [34], [55], [58], [60], [61], [64], [80], [92], [94], [98], [101], [118], [126], [130], [131], [132], [133], [137], [138], [140], [146], [148], [156], [159], [160], [162], [163], [167], [173], [174], [178], [179], [182], [184], [189], [190], [199], [201], [202], [203], [206], [211], [212], [214], [216], [217], [220], [222], [223], [224], [230]
PACS [2] (1; or original) Object recognition; 4 domains: {photo, art_painting, cartoon, sketch}; 9,991 samples of dimension (3, 224, 224); 7 classes; 174 MB [1], [2], [4], [5], [14], [15], [18], [19], [34], [54], [28], [35], [55], [56], [57], [58], [59], [60], [61], [64], [69], [73], [77], [80], [81], [82], [83], [84], [86], [90], [92], [94], [96], [98], [99], [101], [102], [104], [105], [116], [117], [118], [127], [129], [130], [131], [132], [136], [137], [138], [139], [140], [142], [145], [146], [148], [149], [153], [156], [157], [158], [159], [160], [161], [162], [163], [167], [170], [171], [173], [174], [178], [179], [180], [182], [184], [189], [190], [195], [199], [200], [201], [202], [203], [206], [209], [210], [211], [212], [214], [216], [217], [220], [222], [223], [224], [230]
DomainNet [33] (clipart, infograph, painting, quick-draw, real, and sketch; or original) Object recognition; 6 domains: {clipart, infograph, painting, quick-draw, real, sketch}; 586,575 samples of dimension (3, 224, 224); 345 classes; 1.2 GB + 4.0 GB + 3.4 GB + 439 MB + 5.6 GB + 2.5 GB [34], [57], [69], [104], [119], [130], [131], [132], [133], [138], [140], [150], [173], [182], [189], [201], [202], [203], [216], [222], [223], [224], [230]
mini-DomainNet [34] Object recognition; a smaller and less noisy version of DomainNet; 4 domains: {clipart, painting, real, sketch}; 140,006 samples [34], [130], [156], [157], [210]
ImageNet-Sketch [35] Object recognition; 2 domains: {real, sketch}; 50,000 samples [64]
VisDA-17 [36] Object recognition; 3 domains of synthetic-to-real generalization; 280,157 samples [119], [182]
CIFAR-10-C / CIFAR-100-C / ImageNet-C [37] (original) Object recognition; the test data are damaged by 15 corruptions (each with 5 intensity levels) drawn from 4 categories (noise, blur, weather, and digital); 60,000/60,000/1.3M samples [27], [69], [74], [116], [141], [151], [168]
Visual Decathlon (VD) [38] Object/action/handwritten/digit recognition; 10 domains from the combination of 10 datasets; 1,659,142 samples [5], [7], [128]
IXMAS [39] Action recognition; 5 domains with 5 camera views, 10 subjects, and 5 actions; 1,650 samples [7], [14], [67], [76]
SYNTHIA [42] Semantic segmentation; 15 domains with 4 locations and 5 weather conditions; 2,700 samples [27], [62], [115], [141], [151], [185], [193]
GTA5-Cityscapes [43], [44] Semantic segmentation; 2 domains of synthetic-to-real generalization; 29,966 samples [62], [115], [185], [193]
Cityscapes-ACDC [44] (original) Semantic segmentation; real life domain shifts, ACDC contains four different weather conditions: rain, fog, snow, night [215]
Terra Incognita (TerraInc) [45] (1 and 2; or original) Animal classification; 4 domains captured at different geographical locations: {L100, L38, L43, L46}; 24,788 samples of dimension (3, 224, 224); 10 classes; 6.0 GB + 8.6 MB [132], [136], [138], [140], [173], [201], [202], [207], [212], [214], [216], [222], [223], [224]
Market-Duke [46], [47] Person re-idetification; cross-dataset re-ID; heterogeneous DG with 2 domains; 69,079 samples [12], [13], [28], [55], [56], [58], [114], [144], [187], [208]

Libraries

We list the GitHub libraries of domain generalization (sorted by stars).

Lectures & Tutorials & Talks

  • (Talk 2021) Generalizing to Unseen Domains: A Survey on Domain Generalization [155]. [Video] [Slides] (Jindong Wang (MSRA), in Chinese)

Other Resources

  • A collection of domain generalization papers organized by amber0309.
  • A collection of domain generalization papers organized by jindongwang.
  • A collection of papers on domain generalization, domain adaptation, causality, robustness, prompt, optimization, generative model, etc, organized by yfzhang114.
  • Adaptation and Generalization Across Domains in Visual Recognition with Deep Neural Networks [PhD 2020, Kaiyang Zhou (University of Surrey)] [164]

Contributing & Contact

Feel free to contribute to our repository.

  • If you woulk like to correct mistakes, please do it directly;
  • If you would like to add/update papers, please finish the following tasks (if necessary):
    1. Find the max index (current max: [230], not used: none), and create a new one.
    2. Update Publications.
    3. Update Papers.
    4. Update Datasets.
  • If you have any questions or advice, please contact us by email ([email protected]) or GitHub issues.

Thank you for your cooperation and contributions!

Acknowledgements

The designed hierarchy of the Contents is mainly based on awesome-domain-adaptation.