基于Transformer的图像去雨算法:IDT(Image De-raining Transformer)
字数 1192 2025-11-17 10:45:27
基于Transformer的图像去雨算法:IDT(Image De-raining Transformer)
题目描述
图像去雨旨在从雨天拍摄的图像中去除雨滴或雨丝,恢复清晰的背景内容。传统方法依赖手工设计的先验,但难以处理复杂雨纹。基于CNN的方法存在感受野有限和长程依赖建模不足的问题。IDT提出用Transformer架构解决图像去雨问题,利用其全局注意力机制建模图像中雨纹与背景的复杂关系。
解题过程
-
问题建模
- 输入雨天图像 \(y\),输出清晰图像 \(x\),关系为 \(y = x + r\),其中 \(r\) 为雨纹。
- 目标:学习映射 \(f: y \to x\),需分离雨纹与背景细节。
-
网络整体架构
- 编码器-解码器结构:
- 编码器:使用CNN初步提取局部特征,并通过Patch Embedding将图像分割为 patches,转换为序列数据。
- Transformer层:核心模块,通过自注意力机制建模全局依赖。
- 解码器:将处理后的序列重构为去雨图像,结合跳跃连接保留细节。
- 关键设计:
- 重叠Patch Embedding:避免块间边界伪影,增强连续性。
- 多尺度训练:处理不同密度和方向的雨纹。
- 编码器-解码器结构:
-
Transformer层设计
- 自注意力机制:
- 计算Query、Key、Value矩阵,通过注意力权重聚合全局信息:
- 自注意力机制:
\[ \text{Attention}(Q, K, V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \]
- 多头注意力:并行多个注意力头,捕获不同子空间特征。
- 前馈网络(FFN):
- 两层MLP与GELU激活,增强非线性。
- 层归一化与残差连接:稳定训练,缓解梯度消失。
- 损失函数设计
- 复合损失函数:
- \(L1\) 损失:约束像素级重建精度,保留结构:
- 复合损失函数:
\[ L_{L1} = \|x - \hat{x}\|_1 \]
- **感知损失**:基于VGG网络的特征匹配,提升视觉质量:
\[ L_{perc} = \|\phi(x) - \phi(\hat{x})\|_2 \]
- **对抗损失**:引入判别器,鼓励生成结果与真实清晰图像分布一致。
-
优化与推理细节
- 训练策略:
- 多阶段训练:先预训练L1损失,再联合优化对抗损失。
- 数据增强:随机旋转、翻转,模拟不同降雨条件。
- 推理优化:
- 滑动窗口处理高分辨率图像,避免显存溢出。
- 通道注意力融合:在解码器中强化重要特征。
- 训练策略:
-
创新点总结
- 首次将纯Transformer用于图像去雨,突破CNN的局部性限制。
- 全局注意力机制有效区分雨纹与背景纹理,尤其适合密集雨线场景。
- 多尺度与重叠Patch设计提升细节恢复能力。
通过上述步骤,IDT实现了对雨纹的精准建模和背景的高保真恢复,在多个基准数据集上优于同期CNN方法。