Generalize or Detect? Towards Robust Semantic Segmentation Under Multiple Distribution Shifts

Zhitong Gao, Bingnan Li, Mathieu Salzmann, Xuming He
2/3/2026

No official code found. Best implementation: gaozhitong/MultiShiftSeg (19 stars, Apache-2.0, last commit 2025-04-21).

Abstract

In open-world scenarios, where both novel classes and domains may exist, an ideal segmentation model should detect anomaly classes for safety and generalize to new domains. However, existing methods often struggle to distinguish between domain-level and semantic-level distribution shifts, leading to poor out-of-distribution (OOD) detection or domain generalization performance. In this work, we aim to equip the model to generalize effectively to covariate-shift regions while precisely identifying semantic-shift regions. To achieve this, we design a novel generative augmentation method to produce coherent images that incorporate both anomaly (or novel) objects and various covariate shifts at both image and object levels. Furthermore, we introduce a training strategy that recalibrates uncertainty specifically for semantic shifts and enhances the feature extractor to align features associated with domain shifts. We validate the effectiveness of our method across benchmarks featuring both semantic and domain shifts. Our method achieves state-of-the-art performance across all benchmarks for both OOD detection and domain generalization. Code is available at https://github.com/gaozhitong/MultiShiftSeg.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Code for "Generalize or Detect? Towards Robust Semantic Segmentation Under Multiple Distribution Shift". (NeurIPS 24)

191C++, CudaOct 21, 20241 years agoApache-2.0

Similar Papers

Cite this paper

@article{gao2026generalize,
  title  = {Generalize or Detect? Towards Robust Semantic Segmentation Under Multiple Distribution Shifts},
  author = {Zhitong Gao and Bingnan Li and Mathieu Salzmann and Xuming He},
  year   = {2026},
  eprint = {2411.03829},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2411.03829},
  url    = {https://arxiv.org/abs/2411.03829},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2411.03829.svg)](https://codeofpaper.com/paper/2411.03829)

Discussion