基于Transformer的图像去雨算法:IDT(Image De-raining Transformer)
字数 1465 2025-11-17 01:57:09
基于Transformer的图像去雨算法:IDT(Image De-raining Transformer)
题目描述
图像去雨旨在从雨天拍摄的图像中去除雨滴或雨丝,恢复清晰的背景内容。IDT是一种基于Transformer的端到端去雨算法,它通过自注意力机制建模雨纹的全局依赖关系,并利用多尺度特征融合提升去雨效果。与基于卷积神经网络(CNN)的方法相比,IDT能更有效地捕捉雨纹的长程空间分布,适用于复杂雨线(如密集、方向多变的雨丝)的去除。
解题过程
-
问题分析
- 雨天图像中,雨纹表现为高亮、方向随机的条纹,覆盖在背景上,导致图像模糊、对比度下降。
- 传统CNN的感受野有限,难以建模雨纹的全局分布。Transformer的自注意力机制可计算图像所有像素间的关联,从而更准确地分离雨纹与背景。
- 挑战包括:雨纹与背景纹理的相似性、雨滴的多尺度特性(如远近雨丝尺寸差异)、恢复细节时避免过度平滑。
-
算法框架设计
IDT的核心模块包括:- Patch Embedding层:将输入图像分割为固定大小的图像块(如16×16像素),通过线性投影将每个块转换为向量序列,作为Transformer的输入。
- Transformer编码器:由多层Transformer块堆叠而成,每块包含:
- 多头自注意力(MSA):计算所有图像块间的相关性,识别雨纹的全局模式(如雨丝方向的一致性)。
- 前馈网络(FFN):对每个图像块进行非线性变换,增强特征表示。
- 层归一化与残差连接:稳定训练过程。
- 多尺度特征融合模块:
- 使用金字塔结构,在Transformer的不同深度提取多尺度特征(例如,浅层捕捉细节雨丝,深层建模全局雨纹分布)。
- 通过上采样和跳跃连接融合多尺度特征,保留背景细节并消除不同尺寸的雨纹。
- 重建层:通过卷积层将融合后的特征映射回图像空间,输出去雨后的清晰图像。
-
训练策略
- 损失函数:
- 组合使用L1损失(保证像素级精度)和感知损失(基于VGG网络的特征匹配,提升视觉质量)。
- 公式:
\(\mathcal{L} = \lambda_1 \| I_{output} - I_{gt} \|_1 + \lambda_2 \| \phi(I_{output}) - \phi(I_{gt}) \|_2^2\)
其中 \(I_{output}\) 为去雨结果,\(I_{gt}\) 为真实清晰图像,\(\phi\) 为VGG特征提取器。
- 数据增强:对训练数据施加随机旋转、翻转和亮度变化,提升模型对雨天场景变化的鲁棒性。
- 优化器:使用Adam优化器,初始学习率设置为1e-4,并采用余弦退火策略调整学习率。
- 损失函数:
-
关键改进点
- 局部增强自注意力:在全局自注意力中引入局部窗口机制(如Swin Transformer的设计),减少计算复杂度,同时保持对局部雨纹结构的敏感度。
- 雨纹注意力图:通过Transformer的注意力权重可视化雨纹显著区域,指导网络聚焦于雨纹密集区域。
- 多任务辅助训练:联合训练雨纹掩码预测任务,显式分离雨纹与背景,提升去雨的精确性。
-
总结
IDT通过Transformer的全局建模能力与多尺度特征融合,有效解决了复杂雨纹的去除问题。其核心优势在于:- 自注意力机制直接捕捉雨纹的全局分布规律,避免CNN的局部性限制。
- 多尺度设计兼顾雨纹的尺寸多样性,同时保留背景细节。
实际应用中,IDT在合成数据集(如Rain100L)和真实雨天图像上均表现出较高的去雨精度和视觉质量。