基于ResNet或GAN的遥感图像超分辨率论文
这一周阅读了几篇针对遥感图像的超分辨率论文,其中两篇基于的是残差网络做改进,另外两篇是基于生成对抗网络。遥感图像与普通图像有较大区别,具体表现在纹理特征明显、成像幅宽较大、具有较多的地物特征等。因此不能直接将普通图像的超分辨率方法直接应用于遥感影像。这些文章中的改进点,大多是在调整网络结构、增加卷积层数量、改变损失函数等,对于处理遥感影像,取得了较好效果。
《空间感知残差网络的遥感图像超分辨率重建》
目的: 提升遥感图像超分辨率重建算法纹理细节信息还原能力。
方法: 基于特征空间感知损失深度残差网络的遥感图像超分辨率重建算法。
操作:
- 增加深度残差网络中的残差块数量;
- 在网络末端采用了亚像素卷积的方法;
- 在损失函数中增加了特征空间感知损失。
可以学习到遥感图像更多的纹理细节信息,最终对遥感图像进行了有效的超分辨率重建。
遥感图像特点:
- 遥感图像的成像幅宽较大,
- 低空间分辨率与低对比度,
- 普通影像相比,具有地球地表更多的地物信息,
(如山川、河流、城市建筑群等静态物体及空中的飞机等运动物体) - 遥感图像的纹理信息比较丰富。
网络模型:
采用了深度残差网络作为网络模型,并对传统的残差网络做了些细微的调整。
本文使用的残差网络的残差块则***去掉了所有的批处理化层***及***每个残差块之后的线性整流函数***。
为了更好地还原出遥感图像的纹理信息和细节信息,本文***将传统的深度残差网络中的批规范化层去掉***了,并将残差块调整成了32层。
虽然增加残差块的数量会使网络的计量增加,计算效率降低,但由于去除批处理化层可以节省计算内存,因此在相同的GPU内存下,相比传统的残差网络,可以堆叠更多的残差块,以提取更多的特征,达到更好的超分辨率重建效果。
去掉批处理层的原因:
对于图像超分辨率重建,网络输出的图像在色彩、对比度、亮度上要求和输入一致,改变的仅仅是分辨率和一些细节,而批处理化层对图像来说类似于一种对比度的拉伸,任何图像经过批处理化层后,其色彩的分布都会被归一化,图像原本的对比度信息被破坏,所以批处理化层会影响输出图像的质量,因此在超分辨率重建过程中去掉批处理层。)
具体操作
-
输入的图像块首先***经过一个卷积层得到256个特征图谱***(feature map)。
-
接着,经过32个残 差块、一 个卷积层,
其中卷积层以及残差块中的卷积层的填充输入图像边界(padding)均为0,使得亚像素卷积层之前输入输出图像块的分辨率保持不变, 降低了整个网络模型的参数数量。
对所有的残差块,卷积核的大小设为3像素×3像素,由于排列了足够多的残差块, 该网络模型具有足够大的感受野(receptive field),能够得到更好的图像重建效果。 -
为了避免由于堆叠太多的残差块导致训练不稳定,将经过第一层卷积处理的结果***乘以一个小于1的系数与残差网络的输出相加***,作为亚像素卷积层的输入.
-
最后经过亚像素卷积层改变图像尺度,得到整个网络的输出。
损失方程:
内容损失(参考自 Lossfunctions for image restoration with neural networks)
L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)。总的说来,它是把目标值(Yi)与估计值(f(xi))的绝对差值的总和(S)最小化:
本文使用L1损失作为本文模型的内容损失,见式(6)、式(7)。
式中:Iest为模型生成的图像;Igt为对应的高分辨率图像;w 为输入模型图像的宽度;h为输入模型图像的高度;c为输入模型图像的通道数。内容损失通过除以图像所有像素数量值进行归一化。
特征空间的感知损失(参考自Generating image with perceptual similarity metrics based on deep networks)
在计算距离之前先通过一个可微函数φ将Iest 和Igt 映射到一个特征空间
式中:Iest为模 型 生 成 的 图 像;Igt为 对 应 的 高 分 辨率图像;φ为将Iest和Igt映射到一个特征空间的可微函数。这 使 得 模 型 产 生 具 有 与 真 实 图 像 相 似 特征,但可能与真实图像像素精度不那么匹配的图像,从而能够更好地重建出图像的纹理细节信息。
总损失函数
为了更好地还原出遥感图像的细节纹理 信 息,在 内 容 损 失 的 基 础 上,在 损 失函数部分加上了特征空间感知损失。SRRSP 的损失函数表示为式(9)。
式中:L 为 总 损 失;Lcont为 内 容 损 失;LP 为 特 征空间的感知损失;λ为特征空间感知损失的比例系数。根据对不同的λ值进行实验,可知若λ太小网络不能很好地重建出遥感图像的细节信息,若λ太大,网络 生 成 的 高 分 辨 率 图 像 的 PSNR 会 变 小,因此这里λ取0.001。
实验数据集:
为了训练SRRSP,使 用 了 公 开 的UCMerced-LandUse数 据 集。从飞机、建筑物、高密度住宅区、十字路口、中密度住宅区、储油罐、网球场这7类图像中各选用30张作为训练图像。输入神经网络模型的高分辨率图像块分辨率大小为64像素×64像素×3通道,是从训练数据集中随机截取的。
低分辨率图像块的分辨率大小为32像素×32像素×3通道,由对应的高分辨率图像下采样得到。为了防止训练 的 过 程 中 过 拟 合,本 文 采 取 了 下 列 的 方法:对UCMerced-LandUse数据集中的遥感图像进行随机截取并 将截取的图像块旋转随机的角度或水平、垂直翻转。最终得到4×104个高、低分辨率遥感图像对。
《改进的残差卷积神经网络遥感图像超分辨率重建》
方法:
在 VDSR 基础上,将神经网络的卷积层数目由 20 层增加到 24 层,改进激活函数为 PReLU 函数,并以 80 000 张遥感图像作为训练集,训练迭代次数到 40 000 次网络收敛,最终针对遥感图像进行了超分辨的网络训练。
操作:
由于 VDSR算法以彩色图像作为训练集,而对遥感图像的超分辨效果没有其对彩色图像的超分辨效果好,本文在 VDSR的基础上,对网络的结构与激活函数进行了优化,使用遥感图像作为训练集,客观参数与主观视觉上都好于其他算法。
不使用池化层的原因:
本文算法与 VDSR、SRCNN 算法都没有使用池化层,因为下采样层通常应用于图像的分类,保证了图像特征。同时,可以减少参数增加网络性能,但图像超分辨的目的是为了获取图像更多的细节信息,与池化层的作用恰好相反,所以在图像超分辨算法中并不需要池化层。
《基于对抗网络遥感图像超分辨率重建研究》
方法:
基于条件生成对抗网络的遥感图像超分辨率重建的改进模型。为了加快模型的收敛速度,在生成器网络中 使用内容损失和对抗损失相结合作为目标函数。另外为了提高了网络训练的稳定性,在判别器网络中 引入梯度惩罚函数对判别器梯度进行限制。
遥感图像特点:
在获取遥感图像的过程中,由于受到频率干扰,大气扰动和成像设备等多因素的影响,导致传统的遥感图像分辨率普遍偏低。高分辨率遥感图像相比低分辨率遥感图像,图像细节信息更加丰富,更有利于遥感数据的后续处理。
本文的改进:
- 改进 CGAN(Conditional GenerativeAdversarial Nets) ,用于遥感图像超分辨率重建。
- 在判别器网络中,引入梯度惩罚损失函数,提高训练的稳定性和收敛速度。
- 相较于传统使用随机向量作为输入,采用低分辨率图像作为生成器输入,实现了四倍上采样的遥感图像超分辨率重建。
CGAN原理:
CGAN 结合了卷积神经网络强大的特征提取能力,在此基础上加以条件辅助生成样本。为得到高分辨率的遥感图像,在对网络进行训练时可将高分辨率的遥感图像作为额外输入,其作用相当于网络训练的控制条件,在训练过程中将上述的控制条件作为标签加到训练数据中,最后得到所需要的高分辨率遥感图像。
算法改进:
采用梯度惩罚来满足Lipschitz 连续性。为了尽可能将判别器的梯度▽D(x)变大,而 Lipschitz 连续性限制要求判别器的梯度▽D(x)不能超过 K
网络结构:
- 生成器:
CNN生成器网络采用了包含 两个1/2间隔的卷积单元,9 个剩余残差单元 和 两个反卷积单元 ,每个残差模块由一个卷积层,实例归一化层和 ReLU激活组成。在图像生成过程中,以高分辨率遥感图像作为条件变量,引导低分辨率图像重建。不同于一般的对抗网络生成器输入为任意随机向量,输入为1/4 采样的低分辨率遥感图像,输入的每张低分辨率遥感图像对应有高分辨率遥感图像进行重建。
- 判别器
判别器采用 PatchGAN的方法,即 对每张输出图像的每个 N×N 小块(Patch)计算概率,然后再将这些概率求平均值作为整体的输出。这样的结果通常通过卷积层来达到,最终输出的矩阵中的每一个元素,实际上代表着原图中一个比较大的感受野,也就是对应着原图中的一个 Patch。该方法能够加快模型收敛和计算速度。
损失函数:
1. 对抗损失:
2. 内容损失:
是估计生成图像和真实图像两者的差距,这里的内容损失为 L2 损失,它反映的是生成的特征图和真实的特征图之间的距离
3. 最终损失:
上式中由于是加权合并,所以 为 0 到 1 的常数。
数据集:
本文采用的数据集,大约包含了 1 万张 30类的高分影像,包含了机场,立交桥和车场等15 个类别,训练集和测试集的比例 8:2,进行 1/4采样,使用 SSIM(结构相似度)和 PSNR(峰值信噪比)两种评价算法对重建图像进行评价,同时使用 SRCNN,FSRCNN,SRGAN 重构出的超分辨率图像作为结果对比。
训练时,为了避免模型陷入局部最优解,首先预训练好 VGG19 模型作为初始化模型。训练过程中,将生成器和判别器进行交替训练,学习率设置为 0.0002,迭代次数为 500,训练时间为72 小时。
《基于生成对抗网络的单帧遥感图像超分辨率》
遥感图像特点:
遥感图像的分辨率对图像解译质量有着重要影响,与低分辨率图像相比,高分辨率图像具有更高的像素密度,能
够提供更多的色调、形状和纹理信息。
改进点:
- 将BEGAN经调整改进后应用于遥感图像超分辨率重建;
- 设计了一种端到端的自编码器结构网络,生成网络和判别网络均使用该类型结构,简化网络结构设计,易于代码复用;
- 与传统GAN使用随机向量作为生成网络输入不同,本文生成网络使用低分辨率图像作为输入,实现了4倍上采样的单帧遥感图像超分辨率。
使用均方误差作为待优化损失函数,被应用于单帧遥感图像超分辨率时存在两个主要问题:
一是网络难以训练,常会出现梯度消失问题;
二是重建结果过于平滑。
网络结构及参数设置:
由于遥感图像的多样性和复杂性,需设计专门的超分辨率神经网络结构,总体上,网络属于条件生成对抗网络,高分辨遥感图像作为条件变量,指导低分辨率图像重建过程。本文网络生成器的输入为经双线性立方插值方法 4 倍放大后的低分辨遥感图像自编码器类型网络结构设计参考了 SegNet,设计的网络结构拥有更多的卷积组和特征图数量,为增强生成图像质量及加速网络收敛,每一卷积组和其对应的解卷积组之间都使用了“跳跃连接”
对生成器 G :
- 网络输入为经过归一化处理的三波段 (R、G、B) 遥感图像,大小为256×256×3。
- 然后是编码器结构部分,即五组“卷积+ELU 激活+最大池化”操作,前两组包含连续两次卷积操作,后三组包含连续三次卷积操作。各组过滤器大小均为 3×3,深度依次为64、128、256、512、512,过滤器权重使用服从截断高斯分布的随机值初始化,移动为单位步长、边界补齐,偏置权重统一置初始值 0.1。最大池化层中过滤器大小为2×2,步长为 2,边界补齐。
- 接着是对应的解码器结构,包含五组“解卷积+卷积+ELU 激活”操作,参数设置与编码器部分相同。与原始 SegNet 网络结构不同的是,用“解卷积”替代“上池化”,使用跳跃连接辅助图像重构过程。生成器最后输出为重建的高分辨率遥感图像,这也将会作为判别器的输入之一。
对判别器 D :
除输入输出不同以外,判别器的网络结构与生成器一致。具体地,判别器的输入包含生成器的输出及相应的真实高分辨率遥感图像,输出仍是与输入同样尺寸的图像形式,这一点与传统GAN输出为判别概率有很大区别。在其他超参数的设置方面,batch_size为 16,epochs为 100,初始学习率为 0.000 1,每 2 000次迭代学习率衰减为0.95,γ 初始值设置为0.75。
损失函数:
在传统 GAN 中的训练过程早期,判别器 D 的学习能力远远超过生成器 G ,从而造成 model collapse 问题。由此,在网络训练中使用一种基于 L1 范数和判别器重构误差的损失函数,该损失函数不仅可以平衡生成器和判别器的竞争力,而且可以增加增强生成图像视觉质量。
式中,IHR 表示真实高分辨率图像,ILR 表示对应的低分辨图像。生成器和判别器的待优化损失函数及更新
规则有:
式(3)~(7)中,x 表示真实的高分辨率图像,z 表示对应低分辨图像,y 表示生成高分辨率图像,LDr
、LDf 分别表示判别器关于 x 和 y 的损失,θG、θD 分别表示生成器和判别器的相关参数。 λk 表示 k 的比例增益,kt 表示 k的第 t 次更新值,参数 k 可以平衡生成器和判别器的竞争力。 γ 是生成样本损失的期望与真实样本损失的期望值之比,该参数可以控制生成图像多样性和视觉质量之间的权衡。
数据集:
实验使用数据集源自 NWPU-RESISC45 高分辨率遥感图数据集。NWPU-RESISC45 包含机场、立交桥、火车站、住宅区等 45 个场景类别,每一类拥有 700 幅图像,保证了实验数据的真实性和多样性。对原始数据集中的每一类别图像选取10幅,共450幅图像组成实验数据集。按照惯例,将图像样本顺序随机打乱后,按照8∶2的比例进行划分,80%的样本用于训练,20%的样本用于测试。
优点:
克服了传统方法重建结果整体平滑的缺点,重建结果恢复了更多的高频细节。这主要得益于本文网络采用了基于生成对抗网络的框架,同时不再使用均方误差作为损失函数。在对单帧遥感图像做超分辨时,其他生成网络主要是对多种可能的生成图像取平均,该方式会得到一个较小的均方误差值,但也会造成图像模糊。生成对抗网络一次可生成多个高分辨图像,然后将这多个生成图像随机映射到一个潜在的输出上,从而增加了生成图像的多样性。受BEGAN启发,本文网络使用超参数 γ 来平衡生成图像多样性和视觉质量,这实现了最优的遥感图像超分辨结果。