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.
- Awesome Domain Generalization
- Contents
- Papers
- Survey
- Theory & Analysis
- Dataset
- Domain Generalization
- Domain Alignment-Based Methods
- Data Augmentation-Based Methods
- Meta-Learning-Based Methods
- Ensemble Learning-Based Methods
- Self-Supervised Learning-Based Methods
- Disentangled Representation Learning-Based Methods
- Regularization-Based Methods
- Normalization-Based Methods
- Information-Based Methods
- Causality-Based Methods
- Inference-Time-Based Methods
- Neural Architecture Search-based Methods
- Single Domain Generalization
- Semi/Weak/Un-Supervised Domain Generalization
- Open/Heterogeneous Domain Generalization
- Federated Domain Generalization
- Applications
- Related Topics
- Publications
- Datasets
- Libraries
- Lectures & Tutorials & Talks
- Other Resources
- Contributing & Contact
- Acknowledgements
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.
- Generalizing to Unseen Domains: A Survey on Domain Generalization [IJCAI 2021] [Slides] [155]
- Domain Generalization in Vision: A Survey [TPAMI 2022] [3]
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]
- 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]
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 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 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 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 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 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 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 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 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]
- 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 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 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 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 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]
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-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 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 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]
- 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]
- 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]
- 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]
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] |
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] |
We list the GitHub libraries of domain generalization (sorted by stars).
- DeepDG (jindongwang): Deep Domain Generalization Toolkit.
- Transfer Learning Library (thuml) for Domain Adaptation, Task Adaptation, and Domain Generalization.
- DomainBed (facebookresearch) [134] is a suite to test domain generalization algorithms.
- Dassl (KaiyangZhou): A PyTorch toolbox for domain adaptation, semi-supervised learning, and domain generalization.
- (Talk 2021) Generalizing to Unseen Domains: A Survey on Domain Generalization [155]. [Video] [Slides] (Jindong Wang (MSRA), in Chinese)
- 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]
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):
- Find the max index (current max: [230], not used: none), and create a new one.
- Update Publications.
- Update Papers.
- 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!
The designed hierarchy of the Contents is mainly based on awesome-domain-adaptation.