PhaSR: Generalized Image Shadow Removal with Physically Aligned Priors¶
会议: CVPR 2026
arXiv: 2601.17470
代码: https://github.com/ming053l/PhaSR
领域: 图像复原
关键词: 阴影去除, Retinex分解, 差分注意力, 几何-语义先验对齐, 环境光归一化
一句话总结¶
提出PhaSR框架,通过双层物理先验对齐——全局级的PAN执行无参数Retinex分解抑制色彩偏差、局部级的GSRA利用差分注意力对齐DepthAnything深度先验和DINO-v2语义嵌入——实现从单光源直射阴影到多光源环境光场景的泛化阴影去除,在WSRD+和Ambient6K上达到SOTA且FLOPs最低。
研究背景与动机¶
领域现状:阴影去除是计算机视觉基础任务,核心挑战在于准确区分阴影与物体固有暗色区域,并进行物理合理的颜色校正。学习方法从CNN到Transformer到扩散模型不断进步,但大多在单光源直射阴影基准上评估。
现有痛点:(1) 仅依赖RGB线索时,阴影容易与材料固有属性混淆,在纹理边界处产生颜色失真;(2) 现有方法在单光源直射阴影基准上表现好,但面对多光源室内环境光场景(色偏、漫反射间接照明)泛化能力差;(3) 传统编码器-解码器框架无法有效传播物理先验,均匀融合忽略了空间变化的退化特征,导致边缘模糊。
核心矛盾:物理先验未对齐(prior misalignment)。几何特征(局部着色变化、法线方向)对光照几何敏感但有噪声,语义特征(物体类别、材料)跨光照稳定但空间粗糙。如果不正确对齐,几何噪声会破坏语义一致性,或语义过度平滑会擦除光照边界——在间接光照下尤其严重。
本文目标 (1) 全局色彩偏差的抑制;(2) 几何先验和语义先验的跨模态冲突解决;(3) 从单光源到多光源场景的泛化能力。
切入角度:从"对齐"的角度统一思考——全局级对齐(PAN做光照-反射率分解)和局部级对齐(GSRA用差分注意力协调几何和语义)。
核心 idea:通过双层物理先验对齐(全局无参数Retinex归一化 + 局部差分注意力跨模态校正),使阴影去除系统能从单光源泛化到复杂多光源场景。
方法详解¶
整体框架¶
PhaSR把"泛化阴影去除"拆成两层物理对齐,分两阶段串起来。Stage 1是PAN,一个完全无训练参数的预处理模块:原图先做Gray-world颜色归一化压掉全局色偏,再到对数域做一次闭式Retinex分解把光照和反射率分开,最后重组归一化,吐出一张光照一致的图。Stage 2是多尺度Transformer编码器-解码器,吃这张干净图,并在不同深度注入两种冻结的外部先验——编码器阶段注入DINO-v2语义嵌入,瓶颈层注入DepthAnything-v2的深度/法线几何先验——再由GSRA在瓶颈层用差分注意力把这两种先验对齐后融合。整条流水线不依赖任何阴影mask,全局色偏由PAN管、局部跨模态冲突由GSRA管,对应"全局对齐+局部对齐"的双层设计。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
A["输入阴影图(无需mask)"] --> S1
subgraph S1["物理对齐归一化 PAN(无参数·全局对齐)"]
direction TB
P1["Gray-world 颜色归一化<br/>压全局色偏"] --> P2["对数域 Retinex 闭式分解<br/>光照 / 反射率分离"] --> P3["重组并归一化动态范围"]
end
S1 --> ENC["多尺度Transformer骨干 · 编码器<br/>注入 DINO-v2 语义先验"]
ENC --> GSRA["几何-语义校正注意力 GSRA · 瓶颈层<br/>注入 DepthAnything-v2 几何先验<br/>差分校正 A_sem − λ·A_geo"]
GSRA --> DEC["多尺度Transformer骨干 · 解码器"]
DEC --> O["去阴影输出图"]
关键设计¶
1. 物理对齐归一化(PAN):用闭式Retinex在输入端就掐掉全局色偏
直接拿RGB喂网络的方法会把阴影和材料固有暗色混在一起,间接光照下还会整体偏色。PAN不学参数,纯靠三步闭式运算解决这个输入端的退化:先做Gray-world颜色归一化 \(\mathbf{I}_{\text{norm}} = \mathbf{I} \cdot \frac{\mathbb{E}[\mathbf{I}]}{\mathbb{E}_c[\mathbf{I}]+\varepsilon}\) 把各通道光照拉平去掉色偏;再到对数域利用加法可分性做Retinex分解,光照分量取空间均值 \(\log\hat{\mathbf{S}} = \mathbb{E}_{H,W}[\log(\mathbf{I}_{\text{norm}}+\varepsilon)]\)、反射率为残差 \(\log\hat{\mathbf{R}} = \log(\mathbf{I}_{\text{norm}}+\varepsilon) - \log\hat{\mathbf{S}}\),对数域让这一步有闭式解、不用迭代优化;最后重组并归一化动态范围 \(\hat{\mathbf{I}} = \frac{\hat{\mathbf{R}} \otimes \hat{\mathbf{S}} - \min}{\max - \min + \varepsilon}\)。和学习型Retinex最大的不同是它零参数、零训练,可以当即插即用模块塞进任何框架——实验里把它接到OmniSR/DenseSR前面就能白捡0.15–0.34dB,说明很多方法的瓶颈其实在没处理好的输入色偏。
2. 几何-语义校正注意力(GSRA):用跨模态减法让稳定的语义和敏感的几何各取所长
几何先验(深度/法线)在阴影边缘很准、但在均匀光照区噪声大;语义先验跨光照稳定、但空间太糊。直接均匀融合会让几何噪声污染语义、或语义过平滑抹掉光照边界。GSRA先做多模态先验注入:用一份共享查询特征,分别加上几何和语义先验(各带可学习缩放因子 \(\alpha\))生成模态专属的键值对;再用这份共享查询算出两张注意力图 \(\mathbf{A}_{\text{geo}}\) 和 \(\mathbf{A}_{\text{sem}}\),做一次差分校正
把语义当"全局稳定基底"、几何当"局部光照敏感扰动"减掉,可学习的 \(\lambda\) 调节对光照变化的敏感度和几何正则强度的平衡;最后拼接两路输出 \(\mathbf{F}_{\text{output}} = \text{Concat}(\mathbf{A}_{\text{rect}}\mathbf{V}_{\text{geo}}, \mathbf{A}_{\text{rect}}\mathbf{V}_{\text{sem}})\)。这个减法结构天然就是一个物理可解释的门控:真实光照边界处几何精度被保留,均匀区域里几何噪声被压住。和原始DiffTransformer在同一自注意力头内部做减法不同,GSRA的减法是跨模态的——减的是两种异质先验之间的冲突。
3. 多尺度Transformer骨干:按抽象层次把两种先验注到对的深度
无mask阴影去除需要一个能在不同阶段承接物理先验的主干。骨干是层次化编码器-解码器,基础通道维度 \(C=32\)、每个Transformer块2层。关键不是堆层数,而是注入位置的安排:语义先验稳定、适合放在抽象的编码器阶段引导高层理解,所以冻结的DINO-v2嵌入注在编码器;几何先验精细、信息密度高,放在最压缩的瓶颈层,所以DepthAnything-v2的深度/法线注在瓶颈,并由GSRA在瓶颈层完成两者的对齐。让每种先验落在它最适合的抽象层次,是这个骨干能稳定传播物理先验、而不是均匀糊在一起的原因。
损失函数 / 训练策略¶
总损失 \(\mathcal{L}_{\text{total}} = 0.95\mathcal{L}_{\text{Charb}} + 0.05\mathcal{L}_{\text{SSIM}}\),以Charbonnier损失保像素保真度、少量SSIM损失约束结构一致性。优化器用AdamW,batch size 9,训练1400 epochs,学习率 \(2\times10^{-4}\) 余弦退火。
实验关键数据¶
主实验¶
| 数据集 | 指标 | PhaSR | 之前SOTA | 提升 |
|---|---|---|---|---|
| ISTD | PSNR/SSIM | 30.73/0.960 | 30.64(DenseSR) | +0.09 |
| ISTD+ | PSNR/SSIM | 34.48/0.960 | 35.19(StableSD) | -0.71 |
| INS | PSNR/SSIM | 30.38/0.961 | 30.64(DenseSR) | -0.26 |
| WSRD+ | PSNR/SSIM | 28.44/0.842 | 26.28(DenseSR) | +2.16 |
| Ambient6K | PSNR/SSIM | 23.32/0.834 | 22.54(DenseSR) | +0.78 |
注:在最具挑战性的WSRD+和Ambient6K(多光源环境光)上提升最大,验证了泛化能力。
消融实验(PAN作为插件)¶
| 框架 + PAN | ISTD(PSNR) | WSRD+(PSNR) | Ambient6K(PSNR) |
|---|---|---|---|
| OmniSR | 30.45→30.60 | 26.07→26.22 | 23.01→23.15 |
| DenseSR | 30.64→30.98 | 26.28→26.47 | 22.54→22.73 |
| PhaSR(Ours) | 30.73 | 28.44 | 23.32 |
复杂度对比¶
| 方法 | FLOPs(G) | Params(M) |
|---|---|---|
| OmniSR | 118.67 | 21.02 |
| DenseSR | 109.32 | 24.70 |
| PhaSR | 55.63 | 18.95 |
关键发现¶
- 在环境光场景(Ambient6K)上PhaSR大幅领先——比专门的环境光归一化方法IFBlend(21.44dB)高出1.88dB,说明物理对齐先验在多光源场景中的关键作用
- PAN作为即插即用模块可稳定提升多种框架性能,ISTD数据集上误差减少高达26.4%
- PhaSR的计算效率最高——FLOPs仅55.63G,约为OmniSR的47%、DenseSR的51%,同时参数量最小(18.95M)
- 在ISTD+上低于StableShadowDiffusion,但后者是基于扩散的方法,计算代价远高于PhaSR
- PAN与传统颜色校正方法(ACE、White-balance等)对比,在所有指标上都优于后者
亮点与洞察¶
- PAN的即插即用性是最大亮点——一个无参数的闭式预处理模块就能稳定提升各种阴影去除方法0.15-0.34dB,说明很多方法的输入端就存在color bias问题。这个模块可以迁移到任何图像复原任务
- GSRA的跨模态差分注意力:\(\mathbf{A}_{\text{sem}} - \lambda \cdot \mathbf{A}_{\text{geo}}\) 有很好的物理可解释性——语义注意力是"全局稳定的基底",几何注意力是"局部光照敏感的扰动",减法操作校正语义过平滑同时抑制几何噪声。这种跨模态差分范式可迁移到其他需要融合异质先验的任务
- 从单光源到多光源的泛化思路:通过物理对齐而非数据驱动来实现泛化,比直接扩大训练集更优雅
局限与展望¶
- PAN基于Gray-world假设,对于颜色分布极不均匀的图像(如大面积单色背景)可能引入偏差
- 对数域Retinex用全局均值估计光照,无法处理空间变化剧烈的复杂光照(如多方向聚光灯)
- 在ISTD+上低于扩散模型方法,精细纹理恢复仍有提升空间
- GSRA中的 \(\lambda\) 是全局可学习标量,空间自适应的 \(\lambda(x,y)\) 可能在处理局部复杂阴影时更优
相关工作与启发¶
- vs OmniSR: OmniSR也用几何-语义先验但融合策略无法正确对齐互补模态强度;PhaSR通过差分注意力显式校正
- vs DenseSR: DenseSR将阴影去除重构为密集预测利用自适应融合,但在Ambient6K上依然显著低于PhaSR,说明没有物理对齐的融合在多光源场景下不够
- vs ReHiT: ReHiT用Retinex引导的双分支分解做无mask阴影去除,但在环境光场景下性能下降(Ambient6K仅19.98dB),PhaSR通过PAN+GSRA实现了更好的泛化
评分¶
- 新颖性: ⭐⭐⭐⭐ 双层物理对齐(PAN+GSRA)的设计思路系统且有物理直观
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖五个基准包括环境光场景,PAN插件实验、传统方法对比、复杂度分析齐全
- 写作质量: ⭐⭐⭐⭐ 物理动机阐述清晰,图表辅助理解
- 价值: ⭐⭐⭐⭐ PAN作为即插即用模块有广泛应用价值,GSRA的跨模态对齐思路可泛化