无监督循环一致生成式对抗网络:PAN-Sharpening

news2024/9/23 1:38:33

Unsupervised Cycle-Consistent Generative Adversarial Networks for Pan Sharpening

(基于无监督循环一致生成式对抗网络的全色锐化)

基于深度学习的全色锐化近年来受到了广泛的关注。现有方法大多属于监督学习框架,即对多光谱(MS)和全色(PAN)图像进行下采样,并将原始MS图像作为地面真值,基于Wald协议形成训练样本。虽然可以取得令人印象深刻的性能,但由于尺度差距,它们在推广到原始全尺度图像时存在困难,这使得它们缺乏实用性。在这篇文章中,我们提出了一个无监督的生成式对抗框架,它可以从没有地面事实的全尺寸图像中学习来缓解这个问题。首先利用双流生成器提取PAN和MS图像的模态特征,在特征域进行融合,然后重建全色锐化图像。此外,我们还引入了一种新的基于循环一致性和对抗性的混合丢失机制来提高性能。

介绍

多分辨率图像在遥感系统中相当常见,因为它们向用户提供了一对模态:多光谱(MS)图像和全色(PAN)图像。这两种模态在光谱域或空间域中具有最高分辨率。但由于物理条件的限制,这些目标不可能同时实现。结果,MS图像具有较低的空间分辨率,PAN图像具有较差的光谱信息。为了满足在许多实际应用中对HR MS图像的需求,全色锐化任务,其目的是联合MS和PAN图像的优点,生成理想的HR MS图像,受到了社会各界的极大关注,并进入了蓬勃发展时期。图1显示了我们的全色锐化结果的一些例子。
在这里插入图片描述
近年来,基于深度学习的方法在大量计算机视觉任务中取得了令人印象深刻的成就,促使泛锐化社区充分利用深度神经网络架构的强大功能。第一个尝试是全色神经网络(PNN),它借鉴了超分辨率卷积神经网络(SRCNN)的思想,通过嵌入遥感领域的特定知识对其进行了改进。后续的工作也在深度学习的基础上取得了显著的进展。例如,受残差学习的启发,PanNet提出了比PNN更深的网络。它采用了ResNet的跳跃连接思想来设计更深层次的网络,并提出充分利用高频信息来产生清晰的空间细节。深度残差全色卷积神经网络(DRPNN)也本着类似的精神,设计了一个更深的网络来增强模型容量。除了深化神经网络,多尺度和多深度卷积神经网络(MSDCNN)探索了不同大小的卷积神经网络(CNN)滤波器,并提出了一种多尺度架构。TFNet考虑到PAN和MS图像包含不同的信息,提出使用双流网络(Two Stream Networks,TFNs)提取它们的特征,并在特征域进行融合。泛锐化生成对抗网络(PSGAN)将泛锐化看作是一个图像生成问题,利用生成对抗学习的优势,提高了TFNet的融合质量,尤其是视觉质量。由于强大的深度学习技术和海量的遥感数据,全色锐化技术发展迅速。
然而,现有的基于深度学习的全色锐化方法在真实的应用中仍然面临着巨大的挑战。一个限制是它们需要理想的HR MS图像来优化网络,而理想的HR MS图像并不存在。不是最好的,但是可行的,他们遵循Wald的协议来训练他们的模型,即:PAN和MS图像都被下采样到较低尺度,使得原始MS图像用作地面实况图像。因此,在实际应用中,它们应该推广到全尺度图像。这些方法以最小的努力在缩减尺度的图像上提供满意的结果,然而,在原始全尺度图像上的面部性能降级,这使得监督学习方法不切实际。具体而言,缩小尺度的遥感图像与全尺度遥感图像之间存在差距。与自然图像不同,遥感图像通常包含更深的位深度,具有非常不同的特征。由于降采样过程可能会改变遥感图像的原始特征,因此我们的目的是充分利用遥感图像的原始信息而不进行任何预处理。为了解决这个问题,我们提出了一种用于全色锐化的无监督生成对抗网络(GAN),称为无监督循环一致生成对抗网络(UCGAN)。UCGAN专注于无监督学习,并在原始全尺寸图像上进行训练以执行全色锐化。为了更好地从输入中提取特征,我们借鉴了现有工作的优越性。首先,利用双流发生器提取PAN和MS图像的模态特征,并在特征域进行融合。为了更好地保留图像的空间信息,我们从图像中提取高频信息,然后将其送入双流发生器。最后,我们提出一种新的混合损失,以提高全色锐化图像的质量。损失函数基于聚变输出与PAN和MS输入之间的循环一致性。应当注意,我们的网络是在没有地面实况图像的情况下训练的。

贡献

1)我们设计了一个用于全色锐化的UCGAN,称为UCGAN,它可以在全尺度图像上训练,以利用原始全色和MS图像丰富的空间和光谱信息。
2)在无监督学习框架下,提出了一种基于循环一致性的混合损失优化算法。训练期间不需要真实图像。
3)在Gaofen-2(GF-2)和WorldView-3数据集上的实验结果表明,该方法在原始全尺度图像上的性能有了很大提高,获得了清晰的空间和光谱细节。

相关工作

Deep Learning-Based Pan-Sharpening

受深度学习技术在各种计算机视觉任务,特别是单幅图像超分辨率方面取得的成就的启发,越来越多的研究者尝试使用深度学习模型来解决全色锐化问题。Masi等人开创了这一领域的三层CNN,其主要架构借鉴了超分辨率模型SRCNN。Zhong等人遵循PNN的精神,采用两阶段策略对其进行改进:他们首先用CNN方法超分辨低分辨率(LR)MS图像,然后用Gram-Schmidt(GS)变换融合空间增强的MS和PAN以获得全色锐化图像。最近,有人建议使用更深层的神经网络来提高视觉任务的性能。参考ResNet,Yang等人借助残差学习设计了一个更深层次的网络。Rao等人和Wei等人也采用了类似的思想,它们实现了图像空间和光谱信息的良好保留。Deng等人从不同的角度探索了深度学习技术与传统融合方案的结合,如组件替换和多分辨率分析,并提出了一种基于细节注入的网络。为了更好地保存信息,Xu等人使用两个编码器-解码器网络来学习PAN和MS图像的增强表示。Xie等人设计了3-D CNN架构,并通过在高频域中训练来降低对不同传感器的灵敏度。Wang等人设计了一个双路径融合网络(DPFN),它提取全局和局部特征。为了改进特征表示,Jiang等人提出了一种新的分层稠密连接网络。Wang等人使用具有双重注意力的CNN进行特征提取,然后使用基于卷积长短时记忆(LSTM)的网络合并特征。

Generative Adversarial Networks

它们是Goodfellow等人引入的生成模型。GAN已被应用于许多图像生成相关任务,并取得了优异的性能。GAN由两个组件组成:生成器G和鉴别器D。G侧重于生成接近真实的数据的图像,而D旨在将其与真实数据区分开。其主要思想是对G和D进行逆向训练,使G能够生成越来越逼真的图像,同时D也变得更强。在Goodfellow等人的工作之后,已经开发了许多变体以通过解决诸如模型崩溃之类的问题来改进GAN的性能或完善它们。如Radford等人提出了用CNN代替多层感知器(MLP)的深度卷积生成对抗网络(DCGAN),增强了网络的特征表示能力。Mao等人对原有的损失函数进行了修正,引入了一种基于最小二乘的新的损失函数,这有利于解决梯度消失问题。Arjovsky等人基于Wasserstein距离和权重裁剪重新定义了损失函数,这有助于稳定GAN的训练过程。Gulrajani等人通过惩罚鉴别器相对于其输入的梯度的范数,进一步克服了不稳定训练问题。在全色锐化任务中,研究人员还采用了遗传网络来提高融合性能。Liu等人是将GAN引入全色锐化任务的先驱者之一。他们的模型可以产生高质量的全色锐化图像。Ma等人将全色锐化处理为多任务问题,并使用空间和光谱保留的双鉴别器训练无监督模型,以生成空间和光谱失真较少的全色锐化图像。

Unsupervised Pan-Sharpening Methods

近年来,基于无监督学习的全色锐化方法因其可以在没有真实数据的情况下进行训练,具有很高的实际应用价值而备受关注。Huang等人提出了一种无监督深度学习全色锐化方法,该方法采用了改进的稀疏去噪自动编码器(MSDA)算法。Luo等人开发了一种新颖的基于无监督CNN的全色锐化方法,不使用任何手工标签。Qu等人提出了一种基于自注意机制的无监督全色锐化方法来估计空间变化细节提取和注入函数。Zhou等人将感知损失引入全色锐化,并提出了一种结合监督和非监督技术的新型训练范式。他们首先以有监督的方式预训练模型,然后以无监督的方式微调模型。Ma等人提出了一种基于GAN的新型无监督全色锐化框架,以保留来自输入的丰富光谱和空间信息。

方法

Overview

请添加图片描述
图2显示了我们的全色锐化框架的概览。首先,由于输入对的形状不同,我们在它们之间进行对齐。PAN图像沿着通道维度复制四次,并且使用双三次插值将LR MS图像上采样到与PAN图像相同的空间分辨率。结果,两种类型的图像共享相同的形状。为了在后续阶段使用统一的神经网络进行特征提取和融合,需要进行对齐。然后,利用高通滤波器(HPF)提取图像的高频信息,以更好地保留图像的空间信息。与PanNet类似,我们从原始图像中减去平均滤波器获取的低频内容,以获得该高频信息。处理后的PAN和MS图像然后通过嵌入网络(称为EmbNet)映射到特征域,EmbNet输出更高维的相应嵌入向量。值得注意的是,在EmbNet之前,没有可训练参数,所有操作都是可区分的。然后,融合网络(FusionNet)将两个嵌入向量的连接作为输入,并将它们融合成一个融合嵌入向量。最后,称为RstNet的恢复网络将嵌入向量传递回图像域以产生全色锐化图像。此外,为了使网络稳定且易于训练,存在从内插LR MS到最终输出的全局跳跃连接。此外,为了使网络稳定且易于训练,存在从内插LR MS到最终输出的全局跳跃连接。在PanNet中已经讨论过,我们保持这种方式。作为一种无监督方法,在我们的框架中没有额外的监督。为了提高融合结果的质量,我们在融合框架中引入了循环一致性和对抗性学习,并添加了一些限制条件,以强制全色锐化结果保持空间和光谱信息。因此,我们设计了一个新的混合损失函数,它主要由四部分组成,包括循环损失、对抗损失、重构损失和非参考损失。

Architecture

图3显示了我们的神经网络的详细架构,它可以分为两部分:生成器和鉴别器。请添加图片描述

1) Generator: 发生器中的所有卷积层的滤波器大小均为3 × 3,步长为1,并提取32通道特征图,但最终融合结果的最后一个卷积层除外,其输出为4通道。生成器可分为三部分:嵌入网络(EmbNet)、融合网络(FunsionNet)和恢复网络(RstNet)。EmbNet是一个用于特征提取的双流体系结构。它以一对PAN和LRMS图像作为输入,输出它们的特征嵌入。嵌入网络和恢复网络共享类似的架构,并且它们都由一个块网络(残余信道注意(RCA)块或残余块)和一个附加卷积层组成。残差块广泛用于训练更深层次的神经网络,它由两个3 × 3卷积层组成,具有跳跃连接。RCA块将信道注意机制引入到残差块,并且变得更加有效。融合网络由三个分块网络组成,并增加一个卷积层以增强融合能力。我们在发生器中使用整流线性单元(ReLU)激活。
2) Discriminator: 我们的鉴别器遵循pix2pix 的架构,它由五个卷积层组成。前三层的步幅设置为2,后两层设置为1。它们都配备了4×4滤波器,并且每层中提取的特征图的数量被设置为64、128、256、512和1。LeakyReLU激活应用于鉴别器。我们在生成器和鉴别器中都使用实例归一化,以获得稳定的训练和更好的性能。

Loss Function

为了在没有地面真实值的全尺度图像上训练我们的生成器,我们引入了一种新的混合损失函数。生成器的完整目标函数可以用公式表示如下:
请添加图片描述
损失函数由四项组成,即:循环损失、对抗损失、重构损失和非参考损失。λ1、λ2、λ3和λ4是平衡这些损失项贡献的权重。接下来,我们将按顺序介绍它们。
1) Cycle Loss: 循环一致性的概念最早由CycleGAN引入,其目的是在没有成对示例的情况下将图像从源域转换到目标域。为了防止生成器模式崩溃,提高不成对图像的性能,它们同时学习从目标域到源域的逆映射,并利用周期损失迫使发生器成为彼此的逆。图4左图显示了CycleGAN中的周期一致性。Gy将图像从域X映射到域Y,而Gx进行逆映射。循环损失要求对于来自域X的每个图像x,图像平移循环应当能够使x回到原始图像,即,x应与Gx(Gy(x))相同。而且,在从域Y到域X的方向上可以类似地定义。
请添加图片描述
这里,在全色锐化中,我们借助HR PAN图像将MS图像从LR域转换到HR域。我们的生成器起到将MS图像从LR域映射到HR域的作用。然而,与提供来自域X和域Y的图像两者的CycleGAN不同,在真实的世界中不存在理想的HR MS图像。为了解决嵌入到HR域中的MS特征,我们将LR MS图像转换为HR MS图像两次,并检查它们之间的一致性。如图4的右侧所示,图像被平移到HR域,降级回到LR域,并且再次平移到HR域。在这里,我们选择双三次插值来降低图像的空间退化,以减轻训练过程。与CycleGAN相比,我们在图像转换周期上又前进了一步。与CycleGAN相比,我们在图像转换周期上又前进了一步。这样,如果融合结果丢失了来自MS图像的信息,则将在第二平移中引起更大的差异。我们新设计的循环损失Lcyc可表示为在这里插入图片描述
其中M和P分别表示输入LR MS和PAN图像,G是双流生成器,↓表示下采样算子,其将HR图像降级回LR图像,以及||·||1为L1范式。
2) Adversarial Loss: PSGAN是用GAN产生全色锐化图像的第一次尝试之一。除了生成器之外,同时训练条件鉴别器网络以从生成的全色锐化图像中区分参考MS图像。图5中的左图描述了PSGAN中的对抗性损失。然而,当处理具有原始全尺度分辨率的真实世界图像时,利用合成地面实况对缩减图像进行训练可能导致间隙。请添加图片描述
为了克服无监督设置中参考图像的缺失,类似于我们的周期损失,我们的对抗损失也基于图像变换周期。在变换周期中,HR MS图像生成两次,第一次用作“真实地面数据”。全色锐化图像首先由G使用真实的LR MS和PAN输入生成,然后使用双三次插值退化以用作第二代的伪LR MS输入。G以伪LR MS图像作为输入,输出伪全色锐化结果。因此,鉴别器的目标是在输入全色图像的条件下区分真实的LRMS和全色锐化图像,而G则试图最小化真假组之间的差异,这也与G在cycle损失方面的目标一致。图5右边的图像详细描绘了我们的对抗性损失。为了稳定训练和更好的性能,我们基于最小二乘损失构建对抗损失。G中的对抗性损失项可表示为在这里插入图片描述
其中M和P分别表示输入LR MS和PAN图像,G是我们的双流生成器,D代表鉴别器,↓表示下采样算子,它将全色锐化结果降级回LR分辨率。
类似地,我们可以用公式表示D的对抗性损失在这里插入图片描述
其中a和b分别是接近1和0的软标签,以避免鉴别器D中的过拟合。
3) Reconstruction Loss: 我们的周期损失和对抗性损失主要集中在目标域的差异上,即:所需的HR MS域。此外,为了更好地保留空间和光谱,我们还在LR MS和PAN域中添加了约束。特别地,输入LR MS和PAN图像由全色锐化输出重建,然后,模型评估与原始输入的一致性。因此,我们的重建损失包括两部分:空间部分和频谱部分在这里插入图片描述
对于空间保持,我们关注PAN图像中的高通信息,因为高通部分通常包含更多的空间细节和较少的光谱信息在这里插入图片描述
M和P分别表示输入的LR、MS和PAN图像,G是我们的双流生成器,gethp(·)从图像中提取高通信息,MP(·)是最大合并操作,用于将全色锐化图像转换为单通道图像,同时保持细节。
在光谱保留方面,由于低通部分通常包含较多的光谱信息和较少的空间细节,因此我们将重点放在MS图像的低通信息上在这里插入图片描述
其中getlp(·)从图像中提取低通信息,↓是用于将全色锐化图像转换为与输入LR MS图像相同分辨率的下采样操作。由于PanNet在图像融合领域取得了很大的进展,我们采用了与PanNet相同的方法进行高、低通提取。
4) Nonreference Loss: 根据全色锐化生成式多对手网络(PGMAN),我们引入Q-损失来提高模型的性能。其定义如下:在这里插入图片描述
其中QNR是非参考图像质量评估度量,是Dλ和Ds的组合
在这里插入图片描述
其中F是全色锐化结果,M代表LR MS输入,K是波段数,Fi和Mi代表它们中的第i个波段。Q为图像质量指数(QI)在这里插入图片描述
在这里插入图片描述
在这里,我们构造QNR度量作为非参考损失,以最小化全色锐化图像中的空间和频谱失真,从而保持不同模态之间的一致性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/400969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java闭关修炼】SpringBoot项目-贪吃蛇对战小游戏-配置git环境和项目创建

【Java闭关修炼】SpringBoot项目-贪吃蛇对战小游戏-配置git环境和项目创建项目的逐步细分配置git环境创建项目后端前后端不分离写法-url访问路径解析资源安装vuevue文件后端解析数据发送到前端页面解析出来项目的逐步细分 匹配界面:需要用微服务实况直播&#xff1…

Lesson 9.1 集成学习的三大关键领域、Bagging 方法的基本思想和 RandomForestRegressor 的实现

文章目录一、 集成学习的三大关键领域二、Bagging 方法的基本思想三、RandomForestRegressor 的实现在开始学习之前,先导入我们需要的库,并查看库的版本。 import numpy as np import pandas as pd import sklearn import matplotlib as mlp import sea…

Flink学习-单词统计WordCount

WordCount(流处理)通过socket数据源,去请求一个socket服务(9999),得到数据流然后统计数据流中出现的单词及其个数1.创建一个编程入口,生成环境StreamExecutionEnvironment streamEnv StreamExecutionEnvir…

嵌入式Linux驱动开发(二)LED驱动

1. Linux下LED驱动原理 与裸机区别在于,编写驱动要符合linux驱动框架规范。裸机直接对寄存器物理地址进行读写,linux下需要经过MMU。 1.1 地址映射相关概念 1)MMU(Memory Manage Unit - 内存管理单元): …

新星计划·第四季·Python赛道报名入口 -〖你就是下一个新星〗

↓↓↓报名方式:(下滑到本页面底部)重要提醒:这里是新星计划第四季Python赛道报名入口,一经报名,不可更换。报名入口点击此处跳转 一、新星计划 新星计划是一个以发掘潜力新人、培养优质博主为目标的创作…

css3动画属性

边框弧度 border-radius:value // 四角 border-radius:value value // 左上右下 右上左下 border-radius:value value value value // 左上 右上 右下 左下 text-shadow:value value value color; // 水平 垂直 模糊度 颜色 线性渐变:background-image:linear-…

oracle的时间戳获取不含中文内容的方式

背景: 在做oracle的数据库同步时发现,创建的行级触发器获取表的时间戳数据时含有中文,导致入库时转义乱码,条件匹配失败。 调试过程: 写了一个declare脚本测试: declare --类型定义 cursor c_job IS sele…

java反射机制及其详解

反射反射机制反射调用优化有时候我们做项目的时候不免需要用到大量配置文件,就拿框架举例,通过这些外部文件配置,在不修改的源码的情况下,来控制文件,就要用到我们的反射来解决 假设有一个Cat对象 public class Cat …

堆的应用(topk问题)

文章目录1.堆排序1.1代码实现2. TOP-K问题2.1原理2.2实例分析1.堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1.建堆 升序:大堆 降序:小堆 2.利用堆删除思想来排序 1.1代码实现 void Heapsort(int* a, int n) {f…

C#中通过HttpClient发送Post请求

C#中HttpClient进行各种类型的传输我们可以看到, 尽管PostAsync有四个重载函数, 但是接受的都是HttpContent, 而查看源码可以看到, HttpContent是一个抽象类那我们就不可能直接创建HttpContent的实例, 而需要去找他的实现类, 经过一番研究, 发现了, 如下四个:MultipartFormData…

系列一、AliyunOSS开通及使用

一、对象存储OSS服务开通及配置 1.1、开通OSS 1.2、进入管理控制台 1.3、控制台使用 1.3.1、创建Bucket 命名:20230309-oss 读写权限:公共读 1.3.2、上传默认头像 创建文件夹 avater,上传默认的用户头像 1.4、使用RAM子用户 1.4.1、添加…

设计模式3——结构型模式

结构型模式描述如何将类或对象按某种布局组成更大的结构,它分为类结构型和对象结构型模式,前者采用继承机制来组织接口和类,后者采用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”&…

哈希表的实现

哈希表概念 二叉搜索树具有对数时间的表现,但这样的表现建立在一个假设上:输入的数据有足够的随机性。哈希表又名散列表,在插入、删除、搜索等操作上具有「常数平均时间」的表现,而且这种表现是以统计为基础,不需依赖…

CMU15-445 Project.4总结

在线测试 Project #4 - Concurrency Control 以下是Project #4的网址,2022FALL的Project #4是实现并发控制,可以分为以下三个任务: 我们首先需要实现一个锁管理器,能够支持 READ_UNCOMMITED、READ_COMMITTED、REPEATABLE_READ…

layui表格合并

先看一下最终合并之后的效果,能对单选、复选框进行按照某一列的合并 最开始的解决方案来自于这篇博客介绍的方法:https://blog.csdn.net/guishifoxin/article/details/81480136 但是还是存在没能解决的问题。 在完善之后达到的效果: 一&…

移动硬盘格式化?想要恢复硬盘那就看这里!

案例:移动硬盘无法打开,提示格式化? “怎么办啊!!!今天下午给同学重装系统,插上自己的移动硬盘,却发现读不出来,提示需要格式化!里面有很多东西,…

第十四章 opengl之高级OpenGL(深度测试)

OpenGL深度测试深度测试函数深度值精度深度缓冲的可视化深度冲突防止深度冲突深度测试 前面我们渲染一个3D图片中运用了深度缓冲:防止被阻挡的面渲染到其他面的前面。 深度缓冲就像颜色缓冲(Color Buffer)(储存所有的片段颜色:视觉输出&…

JAVA开发(JAVA中的异常)

在java开发与代码运行过程中,我们经常会遇到需要处理异常的时候。有时候是在用编辑器写代码,点击保存的时候,编辑器就提示我们某块代码有异常,强制需要处理。有时候是我们启动,运行JAVA代码的时候的,日志里…

案例06-没有复用思想的接口和sql--mybatis,spring

目录一、背景二、思路&方案问题1优化问题2优化三、总结四、升华一、背景 写这篇文章的目的是通过对没有复用思想接口的代码例子优化告诉大家,没有复用思想的代码不要写,用这种思维方式和习惯来指导我们写代码。 项目中有两处没有复用思想代码&#…

R语言基础(三):运算

接前文 R语言基础(一):注释、变量 R语言基础(二):常用函数 4.运算 4.1 数学运算 R语言中支持加减乘除四则运算、乘方运算、求余数(取模)运算: 符号含义示例加法11 结果是2-减法2-1 结果是1*乘法4*5 结果是20/除法4/5 结果是0.8%/%整除(只要…