论文链接
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9684717
摘要
卫星采集的图像序列往往具有多视角和较长的时间跨度,因此将多个低分辨率视图融合为一张细节丰富的高分辨率图像是一个具有挑战性的问题。然而,大多数基于深度学习的MISR方法无法充分利用多张图像进行融合。它们的融合模块——无法很好地适应时间相关性较弱的图像序列多图像超分辨率——提出该模型(编码器、融合模块、解码器)。主要解决输入图像顺序敏感和特征融合不足的问题。
MISR任务的工作流程

- Step1:输入来自同一场景的多个视角(或不同时间点)的低分辨率图像的图像序列。
- Step2:对图像进行采样和填充操作,保证输入图像的尺寸和分辨率一致以及卷积操作时不丢失边缘信息。
- Step3:图像通过编码器提取特征,生成特征图。
- Step4:利用Step3的特征图进行特征融合生成综合的特征表示。
- Step5:将输入解码器,通过上采样(通常是子像素卷积或反卷积)操作生成SR。
主要创新点
- 首次引用Transformer来处理MISR任务,为Transformer在其他低级视觉任务(如图像去噪和增强)中的应用提供了新的思路。突破了Transfomer在低级计算机视觉任务的局限性,(传统的Transformer破坏了图像或特征的二维结构,并且需要大量数据才能超过具有结构优势的 CNN。该文章提出的 Transformer 避免了额外的空间关系学习,显著降低了对数据的依赖。通过关注来自不同图像块的相同区域,动态分配注意力,并通过额外的可学习嵌入向量进行融合)
模型架构
整个框架的核心在融合模块使用了transfomer对多个视角的特征进行特征融合。

笔者在阅读论文的时候有以下几个疑问,本文尝试着回答这些疑问并记录下来。
1. 为什么 TR-MISR 的融合模块能够避免 Transformer 进行额外的空间关系学习?
传统的 Transformer 模型 通常用于自然语言处理任务,需要对序列数据进行自注意力机制计算。然而,当 Transformer 被应用到图像处理时,由于图像具有二维空间结构,必须将图像展平为一维序列再进行处理,Transformer 需要学习图像像素之间的空间关系,这导致了更高的数据需求和计算复杂度。而TR-MISR 通过其特有的编码器和融合模块设计,巧妙地避免了这一问题:
利用CNN编码器对TR-MISR进行特征提取捕捉图像的 局部空间信息 和 上下文关系来保留图像的空间结构,于是输入到 Transformer 的不是展平后的像素序列,而是带有空间信息的二维特征图,因此,Transformer 只需关注如何融合这些高层次的特征,而不必重新学习像素之间的空间关系。
2. 为了使 Transformer 融合模块能够理解每个特征的来源,文章为每个输入特征 F i F_i Fi加上一个可学习的嵌入向量 E i E_i Ei得到增强后的特征。模型的时候更新的时候参数是怎么更新的?
(1) 前向传播(Forward Pass)
-
CNN 提取输入图像特征 x ( h , w ) i x_{(h, w)}^i x(h,w)i。
-
对于每个空间位置 ( h , w ) (h, w) (h,w),将提取到的特征向量 x ( h , w ) i x_{(h, w)}^i x(h,w)i 进行特征重排将同一个位置不同通道和可学习的嵌入向量 x ( h , w ) 0 x_{(h, w)}^0 x(h,w)0 拼接成序列 z ( h , w ) 0 z_{(h, w)}^0 z(h,w)0。即 ( z ( h , w ) 0 = [ x ( h , w ) 0 , x ( h , w ) 1 , … , x ( h , w ) k ] ) ( z_{(h,w)}^0 = \left[ x_{(h,w)}^0, x_{(h,w)}^1, \dots, x_{(h,w)}^k \right] ) (z(h,w)0=[x(h,w)0,x(h,w)1,…,x(h,w)k]),其中, k k k代表通道数。
-
将这个序列输入到 Transformer 模块中进行处理,从而得到融合后的特征。
-
最后,通过解码器生成超分辨率输出图像。
(2) 反向传播(Backward Pass)
- 损失函数:计算生成的超分辨率图像与真实高分辨率图像之间的误差(可以使用 l 1 l_1 l1 或 l 2 l_2 l2 损失)。由于由于低分辨率图像和高分辨率图像的采集环境不同,可能会导致生成的图像有垂直/水平偏移以及亮度差异,考虑到这些情况:文中提及了如何处理输入图像的位移、亮度差异以及如何计算最终的损失函数。
位移处理(Offset Handling)
- 假设:偏移在整张图像中是一致的。
- 处理方法:
- 从超分辨率图像 S R SR SR 中裁剪掉边缘的 c c c 个像素,得到 S R ( c , c ) SR_{(c,c)} SR(c,c)。
- 从高分辨率图像 H R HR HR 中以不同的起始点 ( u , v ) (u, v) (u,v) 裁剪出与 S R ( c , c ) SR_{(c,c)} SR(c,c) 尺寸相同的子图 H R ( u , v ) HR_{(u,v)} HR(u,v),其中 u , v ∈ { 0 , … , 2 c } u, v \in \{0, \dots, 2c\} u,v∈{0,…,2c}。
- 对每一对 ( S R ( c , c ) , H R ( u , v ) ) (SR_{(c,c)}, HR_{(u,v)}) (SR(c,c),HR(u,v)) 计算损失,并选择最小的损失作为当前偏移下的最终损失。
亮度差异处理(Brightness Adjustment)
- 目的:修正 S R ( c , c ) SR_{(c,c)} SR(c,c) 和 H R ( u , v ) HR_{(u,v)} HR(u,v) 之间的亮度偏差。
- 亮度偏差计算公式:
b ( u , v ) = ∑ S M ( u , v ) ⋅ ( H R ( u , v ) − S R ( c , c ) ) ∑ S M ( u , v ) b(u,v) = \frac{\sum SM(u,v) \cdot \left(HR_{(u,v)} - SR_{(c,c)}\right)}{\sum SM(u,v)} b(u,v)=∑SM(u,v)∑SM(u,v)⋅(HR(u,v)−SR(c,c))- S M ( u , v ) SM(u,v) SM(u,v):像素的权重(例如,用于遮挡区域的掩码)。
- b ( u , v ) b(u,v) b(u,v):亮度偏差。
损失函数设计(Loss Function Design)
-
损失函数类型:
- 平均绝对误差(Mean Absolute Error, MAE):
l 1 = min u , v ∑ ∣ H R ( u , v ) − S R ( c , c ) − b ( u , v ) ∣ ⋅ S M ( u , v ) ∑ S M ( u , v ) l_1 = \min_{u,v} \frac{\sum \left| HR_{(u,v)} - SR_{(c,c)} - b(u,v) \right| \cdot SM(u,v)}{\sum SM(u,v)} l1=u,vmin∑SM(u,v)∑ HR(u,v)−SR(c,c)−b(u,v) ⋅SM(u,v) - 均方误差(Mean Squared Error, MSE):
l 2 = min u , v ∑ [ H R ( u , v ) − S R ( c , c ) − b ( u , v ) ] 2 ⋅ S M ( u , v ) ∑ S M ( u , v ) l_2 = \min_{u,v} \frac{\sum \left[ HR_{(u,v)} - SR_{(c,c)} - b(u,v) \right]^2 \cdot SM(u,v)}{\sum SM(u,v)} l2=u,vmin∑SM(u,v)∑[HR(u,v)−SR(c,c)−b(u,v)]2⋅SM(u,v)
- 平均绝对误差(Mean Absolute Error, MAE):
-
选择:
- l 1 l_1 l1:注重误差分布的平衡,减少整体偏差。
- l 2 l_2 l2:对较大的误差更加敏感,适合减少显著的误分类或误差。
-
梯度更新:
- 嵌入向量的更新:通过反向传播算法,根据损失函数的梯度调整嵌入向量 x ( h , w ) 0 x_{(h, w)}^0 x(h,w)0 的值。
- CNN 编码器的参数更新:通过梯度下降算法调整 CNN 编码器的参数,以提高特征提取的质量。
- Transformer 模块的参数更新:调整 Transformer 的权重,包括自注意力层和前馈网络的参数,以更好地融合输入特征。
2355





