跳转至

Reversible Decoupling Network for Single Image Reflection Removal

会议: CVPR 2025
arXiv: 2410.08063
代码: https://github.com/lime-j/RDNet
领域: 图像复原
关键词: 图像反射去除, 可逆网络, 信息保留, 多列编码器, 传输率感知

一句话总结

RDNet 提出了一种基于可逆解耦架构的单图像反射去除方法,通过多列可逆编码器保证多尺度语义信息在前向传播中的无损传递,并设计传输率感知提示生成器来自适应不同反射强度,在五个基准数据集上全面超越 SOTA,赢得 NTIRE 2025 挑战赛。

研究背景与动机

  1. 领域现状:单图像反射去除(SIRR)旨在从透过玻璃拍摄的混合图像 \(I=T+R\) 中分离出传输层 \(T\) 和反射层 \(R\)。深度学习方法主要依赖两条技术路线:利用预训练模型的层级语义特征(如 VGG hypercolumn),以及双流交互网络。
  2. 现有痛点:(1) 根据信息瓶颈原理,高层语义线索在逐层传播中会被压缩或丢弃——将高维层级特征堆叠后映射到低维空间不可避免地造成语义信息损失;(2) 双流交互网络(如 YTMT 的线性假设、DSRNet 的乘法门控)中,特征交互遵循固定模式,且信息保留无法被完全保证。
  3. 核心矛盾:SIRR 任务本质是病态问题,需要尽可能多的信息来消除分解歧义,但现有架构在特征传递过程中不断丢失信息。
  4. 本文目标:设计一种架构,既能保证多尺度语义信息的无损传递,又能灵活地将传输和反射相关特征解耦。
  5. 切入角度:可逆网络天然具有信息保留特性——输出可以精确恢复输入,从而避免信息丢失。结合 GLOM/RevCol 的多列层级结构,可以在保留信息的同时实现跨尺度交互。
  6. 核心 idea:用多列可逆编码器替代传统的 U-Net 式结构,通过可逆连接保证信息无损传播,同时用传输率感知提示生成器动态适应不同场景的反射强度。

方法详解

整体框架

RDNet 由三个核心模块组成:预训练层级特征提取器(PHE)从输入图像中提取多尺度语义特征,送入多列可逆编码器(MCRE)的第一列;传输率感知提示生成器(TAPG)估计传输率参数并生成通道级提示来调制特征;MCRE 中多列之间通过同层可逆连接和跨层双向交互逐步解耦传输/反射特征;每列的层级编码由层级解码器(HDec)解码,最后一列的输出给出最终分离结果。

关键设计

  1. 多列可逆编码器(MCRE):

    • 功能:在保证信息无损传播的前提下,逐步解耦多尺度的传输/反射特征
    • 核心思路:受 RevCol 启发,采用多个子网络("列"),每列处理多尺度信息。列间传播有两种机制:同层可逆连接(保证信息无损)和跨层连接(双向交互)。具体地,第 \(i\) 列第 \(j\) 层的特征为 \(F_j^i = \omega(\theta(F_{j-1}^i) + \delta(F_{j+1}^{i-1})) + \gamma F_j^{i-1}\),其中 \(\gamma\) 是可学习的可逆通道缩放操作。其逆操作为 \(F_j^{i-1} = \gamma^{-1}[F_j^i - \omega(\theta(F_{j-1}^i) + \delta(F_{j+1}^{i-1}))]\),保证前一列的信息可精确恢复。嵌入层使用 7×7 卷积(stride=2)生成 2×2 重叠 patch。
    • 设计动机:传统双流交互网络(如 YTMT 的线性操作、DSRNet 的门控机制)都会在交互中损失信息。可逆连接从根本上解决了这个问题——学习的是"分离重组"而非"选择丢弃"。多列设计则兼顾了跨尺度交互的需要。
  2. 传输率感知提示生成器(TAPG):

    • 功能:估计场景的传输率参数,生成通道级提示来指导解耦网络
    • 核心思路:使用简化版 ConvNext 预训练模型估计 6 个参数 \(\alpha_{\{R,G,B\}}, \beta_{\{R,G,B\}}\),使 \(\|\alpha_i T + \beta_i - I\|_2\) 最小化。然后用三层 MLP 将这些参数转换为维度为 \(C \times H \times W\) 的提示 \(P\),通过逐元素乘法 \(P \circ F\) 调制列嵌入层的特征。分两阶段训练:先训练传输率估计器,再固定后训练主网络。
    • 设计动机:真实场景中反射模式随折射率、颜色粒度、观察角度等多因素变化。直接调整输入图像(除以估计的 \(\alpha\))在估计不准时会引入不可修复的偏移。通过通道级提示间接调制特征更加灵活和鲁棒——仅估计了 24.34dB 的粗略调整参数,就已超越之前 SOTA。
  3. 层级解码器(HDec):

    • 功能:将多尺度层级编码整合解码为最终的传输/反射图像
    • 核心思路:使用多个 Level Decoder(LD),通过 pixel-shuffle 上采样(信息一致操作)逐层解码,用乘法调制融合不同尺度的信息。最终输出层残差 \(\hat{T}_{res}\)\(\hat{R}_{res}\),与原始输入相加得到分离结果 \(\hat{T}\)\(\hat{R}\)
    • 设计动机:pixel-shuffle 是信息一致的缩放操作(不像普通上采样会丢失信息),配合乘法调制可以有效融合跨尺度特征。残差学习减轻了网络的学习负担。

损失函数 / 训练策略

两阶段训练:第一阶段训练传输率估计器(仅用 MSE 损失),第二阶段固定估计器,训练主网络 + 提示生成器。

总损失 \(\mathcal{L} = \mathcal{L}_{\text{cont}} + 0.01 \cdot \mathcal{L}_{\text{per}}\): - 内容损失:\(\mathcal{L}_{\text{cont}} = 0.3\|\hat{T}-T\|^2 + 0.9\|\hat{R}-R\|^2 + 0.6\|\nabla\hat{T}-\nabla T\|_1\),同时约束传输和反射,并在梯度域正则化 - 感知损失:VGG-19 多尺度特征(conv2_2 到 conv5_2)的 \(\ell_1\) 差异 - Adam 优化器,学习率 \(10^{-4}\),batch size 2,RTX 3090 上训练 20 epochs

实验关键数据

主实验

数据集 指标 RDNet (Ours) DSRNet (之前SOTA) 提升
Real20 PSNR/SSIM 25.58/0.846 24.23/0.820 +1.35
Objects PSNR/SSIM 26.78/0.921 26.74/0.920 +0.04
Postcard PSNR/SSIM 26.33/0.922 24.83/0.911 +1.50
Wild PSNR/SSIM 27.70/0.915 26.11/0.906 +1.59
平均 PSNR/SSIM 26.65/0.917 25.75/0.910 +0.90

消融实验

配置 PSNR SSIM 说明
w/o 传输率技术 (A) 25.52 0.909 去掉所有传输率感知,掉 1.13dB
直接调整输入 (B) 25.99 0.910 粗暴地除以估计的 α
调整输入 + Prompt (C) 26.03 0.913 调整输入后加 Prompt 无进一步提升
完整模型 (Ours) 26.65 0.917 仅用 Prompt,效果最好
双流设计 (D) 26.37 0.917 DSRNet 风格双流,计算量翻倍但掉 0.28dB
w/o 反射损失 (E) 25.99 0.914 去掉 R 的损失,掉 0.66dB
U-Net 连接 (F) 24.05 0.884 替换可逆连接为 U-Net,掉 2.6dB
2 列 26.25 0.914 列数不足
4 列 26.65 0.917 最优列数
6 列 26.19 0.910 列数过多反而退化

关键发现

  • 可逆性至关重要:将可逆连接替换为 U-Net 连接导致 2.6dB 的巨大下降,这是最关键的组件
  • 反射损失的加入有 0.66dB 贡献——同时监督两个分量有助于网络更清晰地识别两者
  • 传输率感知提示贡献 1.13dB,且间接调制(通过 Prompt)优于直接调整输入
  • 最优列数为 4,过少不够充分解耦,过多可能引入冗余
  • 用户研究中以 77.2% 的胜率击败 Zhu et al.,64.4% 胜率击败 DSRNet

亮点与洞察

  • 可逆解耦的理念:不是"选择并丢弃"信息,而是"分类并重组"信息。可逆连接保证了分解过程中没有信息被不可逆地丢弃。这一设计哲学可以迁移到其他需要信号分解的任务(如白平衡、阴影去除、图像和谐化)。
  • 传输率感知提示的巧妙设计:仅 6 个标量参数就能捕获场景的全局反射特性,然后通过 MLP 扩展为空间提示。这避免了直接操作输入可能带来的不可修复偏差。
  • NTIRE 2025 挑战赛冠军:在保真度和感知质量两个比较维度都取得最佳表现,证明了方法的实际竞争力。

局限与展望

  • 作者使用的物理模型(线性叠加)在过曝等复杂场景下可能失效
  • PHE 使用预训练 FocalNet,推理时需要额外计算开销
  • 4 列结构的计算和内存需求仍较高
  • 可能改进方向:引入扩散模型做生成式反射去除、结合多帧信息增强鲁棒性、处理非线性反射模型

相关工作与启发

  • vs YTMT: YTMT 基于"你是我的透明"策略的双流交互,但交互模块依赖线性假设,信息瓶颈限制了性能。RDNet 用可逆结构从根本上解决了信息丢失问题。
  • vs DSRNet: DSRNet 也是双流互引导设计,但乘法门控机制会产生信息衰减,且渐进层级融合仅在第一阶段进行。RDNet 的可逆连接贯穿全部列间传播,保证信息完整。
  • vs RevCol/GLOM: RDNet 借鉴了 RevCol 的多列可逆设计,但创新性地用于反射去除这一需要对偶解耦的任务,并增加了跨列的传输率感知动态调制。

评分

  • 新颖性: ⭐⭐⭐⭐ 可逆网络在反射去除中的首次应用,传输率感知提示也很巧妙,但核心是组合已有技术
  • 实验充分度: ⭐⭐⭐⭐⭐ 五个数据集全面领先、详尽消融、用户研究、NTIRE 冠军
  • 写作质量: ⭐⭐⭐⭐ 动机推导清晰,公式严谨,但论文结构略显冗长
  • 价值: ⭐⭐⭐⭐ NTIRE 冠军方案,实际价值高,可逆解耦是反射去除的新范式

相关论文