Winner of NTIRE 2026: Semantic and Geometric Guidance Meets Cascaded Refinement
Winner of CVPR2026 NTIRE Challenge on Image Shadow Removal: Semantic and Geometric Guidance for Shadow Removal via Cascaded Refinement
The paper introduces a three-stage progressive shadow removal pipeline that won the CVPR 2026 NTIRE WSRD+ Challenge. Built on the OmniSR backbone, the method treats deshadowing as an iterative refinement process, enhanced by frozen DINOv2 semantic features and geometric guidance (depth and surface normals), achieving a top-ranked PSNR of 26.680 on the official hidden test set.
TL;DR
The problem of image shadow removal has just been pushed to a new SOTA by the winners of the CVPR 2026 NTIRE Challenge. By moving away from one-shot predictions and embracing a three-stage progressive refinement strategy, the authors demonstrate that shadows are best cleared through iterative correction. Their secret weapon? A combination of DINOv2 semantic features, monocular depth, and a novel contraction-constrained loss that forces the model to improve at every step.
Why One Pass Isn't Enough: The Motivation
Shadow removal is hard because it's an ill-posed problem. A black pixel could be a shadow on a white floor or just a black tile. Most existing SOTA models (like the original OmniSR) attempt to solve this in a single forward pass. However, these "one-shot" methods often leave behind subtle "ghost" artifacts or color inconsistencies at the shadow boundaries.
The authors observed that even the best models benefit from seeing their own mistakes. By chaining three stages together, the network uses the first stage for "heavy lifting" (removing the bulk of the shadow) and the subsequent stages for "polishing" (fixing residual tonal shifts).
Methodology: The "Trinity" of Guidance
The architecture, dubbed SGCR-SR, isn't just a deep stack of layers. It relies on three core pillars:
1. The Cascaded Pipeline
Instead of a single OmniSR block, they use three. Stage takes the output of Stage as its input. This "direct refinement" allows each stage to focus on a different scale of the error residual.
2. Semantic & Geometric Anchors
A major innovation is the reuse of auxiliary cues. The model extracts:
- Semantics: High-level context from a frozen DINOv2 backbone.
- Geometry: Depth and surface normals from Depth Anything V2. These features are extracted once from the original shadowed image and fed into all three stages, ensuring the refinement process doesn't lose track of the scene's physical structure.

3. Contraction-Constrained Loss
Multi-stage training is notoriously unstable. To prevent the model from drifting, the authors introduced a Contraction Loss: This mathematically penalizes the model if the error in stage is higher than in stage . By using a stop-gradient (sg) on the previous stage, they force the current stage to be strictly better than its predecessor without "muddling" the gradients of the earlier layers.
Experiments and Leaderboard Dominance
The results speak for themselves. In the NTIRE 2026 Challenge, this method beat out massive diffusion-based models (like RAS and APRIL-AIGC) that had significantly higher parameter counts.
| Method | PSNR ↑ | SSIM ↑ | Params (M) | Rank |
|---|---|---|---|---|
| Ours | 26.68 | 0.874 | 74.3 | 1 |
| RAS | 26.14 | 0.866 | 1500 | 2 |
| SNU-ISPL-B | 25.94 | 0.867 | 9.5 | 3 |
Beyond the challenge, the model showed remarkable zero-shot transfer and fine-tuning capability on the UAV-SC+ dataset, proving that the semantic/geometric priors are robust even for aerial views (drones) which look very different from typical ground-level photos.
Visual evidence: Note how the error maps (bottom row) progressively fade from the input through Stage 3.
Critical Insight & Conclusion
While many researchers are chasing "Foundation Models for Restoration" by making Transformers larger, this work suggests a more surgical approach:
- Iterative Refinement is computationally more efficient than one massive pass.
- External Priors (DINOv2, Depth) are "cheap" yet powerful anchors for low-level tasks.
- Contraction Loss is a clever regularizer that should probably become a standard in cascaded image restoration.
The only limitation noted is the computational overhead of running three stages (though at 0.3s per image on an H100, it remains highly practical). For future researchers, the focus will likely shift toward "distilling" these three stages back into a single faster pass while retaining the progressive accuracy.
