基于Transformer的图像去模糊算法:Uformer
字数 1431 2025-11-25 16:19:43
基于Transformer的图像去模糊算法:Uformer
题目描述
图像去模糊旨在从模糊图像中恢复出清晰的图像,这是一个典型的图像复原问题。Uformer是一种基于Transformer架构的图像去模糊算法,它通过结合分层U-Net结构和局部增强窗口自注意力(LeWin)模块,在全局建模能力和计算效率之间取得平衡。该算法在多个去模糊任务中表现出色,包括动态场景去模糊和运动去模糊。
解题过程
-
问题分析
- 图像模糊通常由相机抖动、物体运动或对焦不准引起,导致图像细节丢失。
- 传统方法依赖物理模型(如模糊核估计),但泛化能力有限。深度学习通过端到端学习映射关系,但CNN的局部感受野难以建模长距离依赖。
- Transformer的自注意力机制能捕获全局信息,但直接应用于高分辨率图像时计算量过大。
-
Uformer核心思想
- U形编码器-解码器结构:沿用U-Net的多尺度特征提取,逐步下采样减少分辨率,再上采样恢复细节。
- LeWin Transformer块:将自注意力限制在局部窗口内,减少计算复杂度,并通过窗口移位增强跨窗口交互。
- 跳跃连接:连接编码器和解码器的同尺度特征,保留低级细节。
-
关键组件详解
- 输入映射:
模糊图像输入后,先通过3×3卷积提取浅层特征,生成嵌入表示。 - 编码器(下采样阶段):
- 每层包含LeWin Transformer块和下采样模块。
- LeWin块结构:
- 层归一化(LayerNorm)
- 局部增强窗口自注意力:将特征图划分为非重叠窗口,在每个窗口内计算自注意力,公式为:
- 输入映射:
\[ \text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}} + B\right)V \]
其中 $Q,K,V$ 为查询、键、值矩阵,$B$ 为可学习相对位置编码。
3. 多层感知机(MLP)与残差连接。
- **下采样**:使用步长为2的4×4卷积,将分辨率减半,通道数加倍。
- 解码器(上采样阶段):
- 每层包含LeWin Transformer块和上采样模块。
- 上采样:使用2×2转置卷积,分辨率加倍,通道数减半。
- 通过跳跃连接融合编码器的同尺度特征,增强细节恢复。
- 输出重建:
解码器输出通过3×3卷积,将特征映射为3通道清晰图像。
- 损失函数设计
- 结合L1损失和多尺度结构相似性损失(MS-SSIM):
\[ \mathcal{L} = \lambda_1 \mathcal{L}_{L1} + \lambda_2 \mathcal{L}_{MS-SSIM} \]
- L1损失保留边缘锐度:$\mathcal{L}_{L1} = \|I_{clear} - I_{pred}\|_1$
- MS-SSIM损失保持结构一致性:$\mathcal{L}_{MS-SSIM} = 1 - \text{MS-SSIM}(I_{clear}, I_{pred})$
-
训练与优化
- 使用Adam优化器,学习率预热与余弦退火策略。
- 数据增强:随机旋转、翻转和色彩抖动,提升泛化能力。
-
优势总结
- LeWin模块显著降低计算复杂度,从 \(O(H^2W^2)\) 降至 \(O(HW M^2)\)(\(M\) 为窗口大小)。
- U形结构实现多尺度特征融合,兼顾全局模糊建模与局部细节恢复。
- 在GoPro、REDS等数据集上超越CNN基线,PSNR/SSIM指标显著提升。