基于Transformer的图像去噪算法:Uformer
我将为您详细讲解Uformer算法,这是一个基于Transformer架构的图像去噪方法。
题目描述
图像去噪是计算机视觉中的基础任务,旨在从含噪图像中恢复干净图像。传统方法依赖手工设计的先验,而深度学习方法通过数据驱动方式学习去噪映射。Uformer创新地将Transformer架构引入图像去噪,通过构建分层编码器-解码器结构和局部增强窗口自注意力,在保持全局建模能力的同时提升了计算效率。
解题过程详解
1. 算法整体架构
Uformer采用类似U-Net的编码器-解码器结构,但使用Transformer块替代卷积操作。整体流程包含:
- 输入:含噪图像I_noisy ∈ R^(H×W×3)
- 输出:去噪图像I_clean ∈ R^(H×W×3)
- 关键组件:层级特征提取、局部增强窗口自注意力(LeWin)、可学习多尺度恢复模块
2. 特征嵌入与下采样
首先对输入图像进行分块嵌入:
- 使用3×3卷积生成重叠块特征
- 初始特征图尺寸:H×W×C,其中C为通道数
编码器包含4个下采样阶段,每个阶段: - 通过步长卷积将分辨率减半
- 通道数加倍(C→2C→4C→8C)
- 每个阶段包含多个LeWin Transformer块
3. 局部增强窗口自注意力(LeWin)
这是Uformer的核心创新,解决了标准Transformer在图像处理中的计算复杂度问题:
3.1 窗口划分
- 将特征图划分为不重叠的M×M局部窗口
- 在每个窗口内计算自注意力,将计算复杂度从O((HW)^2)降低到O((M^2)^2 × (HW/M^2))
3.2 注意力计算
每个窗口内的自注意力计算:
Q = XW_Q, K = XW_K, V = XW_V
Attention(Q,K,V) = Softmax(QK^T/√d)V
其中d为特征维度
3.3 局部增强机制
- 在每个Transformer块中加入深度可分离卷积
- 在注意力计算前对K、V进行卷积处理
- 增强模型捕获局部上下文信息的能力
4. 解码器与上采样
解码器对称于编码器:
- 包含4个上采样阶段
- 每个阶段通过转置卷积将分辨率加倍
- 通道数减半(8C→4C→2C→C)
- 通过跳跃连接融合编码器对应层特征
5. 可学习多尺度恢复模块
输出阶段使用特殊设计:
- 采用多个并行卷积头处理不同尺度特征
- 通过可学习权重融合多尺度信息
- 最终通过3×3卷积生成去噪图像
6. 损失函数设计
Uformer使用Charbonnier损失:
L = √(||I_clean - I_pred||^2 + ε^2)
其中ε为小常数(通常设为10^-3),该损失对异常值更具鲁棒性。
7. 训练策略细节
- 数据增强:随机裁剪、旋转、翻转
- 噪声模型:处理高斯噪声、真实噪声等多种噪声类型
- 优化器:使用AdamW,结合热身和学习率衰减
算法优势总结
Uformer通过局部窗口注意力平衡了全局建模与计算效率,通过层级结构捕获多尺度特征,在多个去噪基准测试中达到了当时的最优性能,为Transformer在底层视觉任务中的应用提供了重要范例。