邓良剑,冉燃,吴潇,张添敬
电子科技大学,成都 611731
遥感卫星搭载的成像传感器旨在采集能够精确记录和反映地物特征的多/高光谱图像数据。提升传感器在光谱域与空间域的响应范围可以获得高分辨率的图像数据。然而受到搭载卫星信噪比、衍射极限等因素的限制,很难获得高分辨率的遥感图像(张良培和张立福,2011)。解决这一问题的一个有效方案就是利用全色锐化技术将特征互补的图像数据进行融合,进而得到高分辨率的遥感图像(肖亮等,2020)。
全色锐化(即遥感图像全色锐化(pansharpening))旨在应用信号处理、机器学习等方法将遥感卫星搭载的不同传感器所记录的同一目标区域的单波段高空间分辨率全色图像(panchromatic,PAN)与低空间分辨率的多光谱图像(low-spatial resolution multispectral,LRMS)进行信息融合、优势互补,从而得到优质的高空间分辨率的多光谱图像(high-spatial resolution multispectral,HRMS)(王乐和杨晓敏,2021)。其具体过程如图1所示,将同一地表场景获取的高空间分辨率全色图像(左)和低空间分辨率的多光谱图像(中)进行融合,最终得到高空间分辨率的融合图像(右)。
图1 全色锐化问题示例(来源:WorldView-3 卫星)
空间和光谱分辨率是衡量遥感图像应用价值的两个重要指标。空间分辨率指的是遥感图像中能够识别的两个相邻地物之间的最小距离,而光谱分辨率则是指传感器可以分辨的最短波长间隔。因此HRMS图像具有丰富的空间信息和光谱信息,能够准确地观察和识别到目标地物的大小、形状等几何特征,同时精细地反映地物的内在物理特性。全色锐化技术使得LRMS和PAN图像的有效信息得到充分利用,突破了单一成像传感器的局限性,极大提高了遥感图像的应用价值。目前世界各国发射的很多卫星都搭载了各种不同的成像传感器,能够同时获得LRMS与PAN图像,例如美国“WorldView”系列卫星,以及中国“高分”系列卫星。将这些图像进行融合得到HRMS图像,能够为后续的分析和应用提供更好的数据支撑,为遥感监测技术提供有利保障。因此,全色锐化技术具有广阔的应用前景和重要的社会经济效益。例如,多光谱遥感技术与军事发展息息相关,这带来了巨大的商业价值。美国军事影像情报部门使用的世界上首颗空间分辨率达到 1 m的遥感卫星是由美国DigitalGlobe公司于1999年发射的IKONOS卫星,成为太空时代的一个重大里程碑。2006年,我国启动了“高分辨率对地观测系统重大专项”,构建了稳定运行的高分辨率对地观测体系,推动了空间信息产业的发展。此外,随着遥感技术的迅猛发展,人类不断获取到丰富的遥感图像数据,通过全色锐化技术获得的HRMS图像在地质勘探、环境监测、精准农业分析和国防安全等领域都发挥着重要作用,是相关产业技术领域所倚重的重要信息技术手段。目前针对全色锐化问题已有大量的研究工作,特别是受到广泛关注的基于卷积神经网络(convolutional neural network, CNN)的方法,展示出了其出色的融合能力(杨勇 等,2022)。然而,这个领域依然存在一些亟待解决的问题,如缺少公开公平的数据集和简单高效的代码编写框架等,从而制约了基于CNN的全色锐化方法的发展。综上,本文关注的基于CNN的全色锐化问题具有重要的科学研究和实际应用价值。
全色锐化研究发展至今,大量关于全色锐化的方法相继提出。通常全色锐化方法大致可分为成分替代法(component substitution,CS)、多分辨率分析法(multiresolution analysis,MRA)、变分优化方法(variational optimization,VO)和机器学习方法(machine learning,ML)4大类。本文在此分类的基础上,按照提出时间将前3类归为传统方法,一些优秀综述如Vivone等人(2015)对传统方法进行了深入分析。本文将进一步讨论当前一个重要的主流方法——深度学习方法。
本文将CS方法、MRA方法和基于VO的方法视做传统方法。其中CS方法主要思想是将LRMS图像投影在变换域,用PAN图像的空间细节替换LRMS的空间信息分量,同时尽量保持其原有的光谱信息。代表性方法包括强度—色调—饱和度方法(Carper等,1990;Laben和Brower,2000)、主成分分析方法(Chavez和Kwarteng,1989;Shah等,2008;Shettigara,1992)、格拉姆—施密特方法(Tu等,2001)和自适应成分替换方法(Choi等,2011)等。MRA方法主要思想是通过对LRMS图像进行多分辨率分解,提取其空间成分,用高频细节信息丰富的全色图像进行替换。代表性方法包括拉普拉斯金字塔分解(Burt和Adelson,1987)、小波变换方法(Mallat,1989;Nason和Silverman,1995)和轮廓波方法(Do和Vetterli,2005)等。此外,基于VO的方法利用已知的先验信息构建正则项对模型进行合理约束,通过高效的求解算法得到最终的全色锐化结果。代表性方法包括基于稀疏先验构造正则项的全色锐化模型(Fang等,2013)、基于图像的非局部相似性(Buades等,2014)和分片光滑性(Deng等,2019)的正则化模型,这些方法可显著提高模型的光谱与空间维度的保真能力。上述3类方法的优缺点详见表1。
表1 主要方法的优缺点粗略比较
得益于计算机软硬件技术的发展,基于ML的方法(Deng等,2022)在全色锐化问题上展示出了巨大潜力。主流的ML方法主要包括字典学习(dictionary learning)方法(Cheng等,2014;Fang等,2013;Li等,2013;Zhu等,2016)和基于深度学习(deep learning,DL)的方法。
字典学习是一种特殊的数据表示方法,主要基于稀疏编码从输入数据中找到稀疏线性表示,形成所谓的字典矩阵和相应系数。但这类方法通常也是基于一些人工先验假设(比如稀疏性)下建立模型,如果假设并不是非常精确,则此类方法就会像传统VO方法一样效果受到限制。
深度学习(deep learning,DL)的概念源于人工神经网络的研究,随着DL技术在众多领域取得突破,将深度学习技术应用到全色锐化问题成为一个重要的探索领域。2015年,Huang等人(2015)受到稀疏去噪任务的自动编码器方案启发,开创性地将DL技术用于全色锐化问题。2016年,Masi等人(2016)搭建并训练了第一个基于CNN的全色锐化网络PNN(pansharpening by convolutional neural network),该架构主要由3个卷积层组成,其灵感来自于单图超分辨率问题的卷积神经网络SRCNN(super-resolution CNN)(Dong等,2016)。PNN方法作为第一个基于CNN的全色锐化方法获得了当时最优秀的融合结果,同时也启发后续学者沿着此工作不断开展研究,不过由于PNN方法只有3个卷积层,并且没有使用能加速收敛的跳跃连接技术,因此这个方法在效果和收敛速度上相较于后来的方法都是较弱的。同时,Zhong等人(2016)也提出了一种基于GS(Gerchberg-Saxton)变换的全色锐化方法,其利用高效的超分辨率CNN对LRMS图像进行超分辨率融合。得益于CNN强大的非线性拟合和特征表示能力,在这些开创性的方法取得非常优秀的效果之后,这一方向受到了更多研究人员的关注,大量基于DL的全色锐化工作相继提出。与PNN简单的网络结构不同,后续的全色锐化网络结构得到了加深和拓宽,在训练阶段具有越来越复杂的模型结构。例如,基于残差学习的网络结构能够有效缓解梯度消失和爆炸现象,从而加快网络收敛,广泛应用于全色锐化问题(Wei等,2017;Yang等,2017)。这些算法虽然在网络的深度和宽度方面不断加强并且取得较好的效果,但是其还未充分挖掘图像的另一个重要性质,即多尺度性质。随后,多尺度金字塔结构的网络能够获取不同尺度下图像所包含的信息,取得了优越的效果(Yuan等,2018;Zhang等,2019;Zhang等,2022)。
在最近的研究中,无监督学习策略也被引入到全色锐化领域(Liu等,2021;Luo等,2020;Ma等,2020;Qu等,2021)。无监督学习旨在探索没有任何标记数据下的网络潜在特征,这意味着不需要标签数据集进行训练,其效果主要依赖于损失函数的构建。无监督学习是未来研究的重要方向,其优点是可以根据实际数据进行学习,进而得到效果优良、泛化性好的结果;而其弱点在于缺乏足够好的损失函数,造成不充分的训练学习,通常效果并不比基于监督学习的方法效果更优。此外,Liu等人(2021)首次利用生成对抗网络(generative adversarial network,GAN)来解决全色锐化问题(称为PSGAN(pansharpening GAN));该方法由一个用于输出HRMS图像的生成器和一个判断图像真实性的鉴别器组成,实验验证了其在真实数据上的有效性。Ma等人(2020)提出了一种新的无监督全色锐化方法,可以避免高分辨率图像退化仿真时带来的分辨率损失。而Qu等人(2021)提出了一种基于自注意力机制的无监督学习全色锐化技术,实验验证了这类方法具有良好的泛化能力。基于GAN的方法具有很好的全色锐化效果,尤其是对真实数据效果通常较好;但这类方法有时候会造成“无中生有”的效果,产生一些不真实存在的图像细节。
除了上述4种主流全色锐化方法外,近期研究人员还从不同角度展开了相关研究。例如,基于非负矩阵分解的全色锐化方法(Berné等,2010;Kawakami等,2011;Yokoya等,2012)、基于贝叶斯的全色锐化方法(Hardie等,2004;Molina等,2008;Zhang等,2009)等。
此外,一些将传统VO方法和DL方法结合的混合方法成为全色锐化等图像融合领域的一个前景方向(Dian等,2021;Feng等,2022;Shen等,2019;Wu等,2020,2022;Xie等,2020),这种结合可以共享不同方法的优点,如深度学习的高精度图像融合效果和传统VO方法优秀的数据泛化性。将DL方法和VO方法组合的技术路线目前主要分为3类:变分优化模型展开策略(unfolding vo model)(Feng等,2022;Xu等,2021;Xie等,2020)、即插即用策略(plug-and-play,PnP)(Teodoro等,2017)和深度嵌入式变分优化模型的策略(Shen等,2019;Wu等,2020,2022)。针对模型展开的方法,Xie等人(2020)通过将构建的传统变分优化模型展开为若干个子问题,对每个子问题的求解构建合适的网络近似对应,最后通过端到端的训练获得优秀的高光谱和多光谱图像融合效果。Feng等人(2022)首先提出一个基于空间细节分解的两步优化模型,然后在梯度下降的框架下将给定的模型展开,进一步构建出相应的端到端CNN网络结构。变分优化模型展开成网络的方法综合了优化模型良好泛化性和深度学习方法大数据训练的优点,获得非常优秀的融合结果。不过据作者所了解,因为模型展开的方法涉及到求解优化模型的大量外迭代,从而使这类模型的算法参数和计算量相较于其他深度学习方法更多。而针对PnP的方法,Teodoro 等人(2017)首先假设出隐式的先验正则项,然后通过变量替换等技术将原始带隐式先验的优化问题转化为若干个子问题,其中一个为带隐式先验的去噪子问题,通过其他已有的高效去噪器(如BM3D)可快速求解此子问题,最后在外迭代框架下不断更新问题的解,最终获得融合图像。这类方法设计巧妙,并且能有效结合传统优化模型和深度学习方法的优点,但是其依然和模型展开方法一样可能会遭遇模型参数和计算量大的缺点。针对深度嵌入式变分优化模型的方法,Shen等人(2019)将从DL模型学习到的全色锐化结果嵌入到梯度域下的变分优化模型框架中,该策略虽然简单,但在实际应用中效果非常优秀。Wu等人(2022)进一步考虑构建刻画深度学习全色锐化图像和潜在高分辨率图像之间距离的深度嵌入项,并设计一个自适应权重算子用于约束这两个图像之间像素级的距离关系;最终的变分优化模型由两个传统的保真项和所提的深度嵌入项构成;这类方法将传统方法和深度学习方法融合在统一的优化模型框架下,进而针对优化模型设计相关算法;这种方法取得了优异的融合效果,并且深度先验可以直接来自于预训练模型,可以不消耗巨大的网络模型参数和计算量。
本文的主要贡献如下:
1)从全色锐化发展的角度,对其概念、意义以及国内外研究趋势进行回顾。详细介绍7种典型的基于CNN的全色锐化方法,并在统一的数据集、代码框架下进行公平比较。
2)发布全色锐化训练和测试数据集“PanCollection”,并对数据集的产生细节进行介绍。据作者了解,发布的数据集是国内外第一个可以直接用于深度学习训练和测试的全色锐化数据集。读者可以非常容易地将其应用于深度学习方法。
3)针对以往全色锐化深度学习代码编写方式不统一,进而可能造成的不公平比较问题,本文将发布一个基于Pytorch深度学习库的统一Python代码编写框架(上述比较的7种深度学习方法均在此框架下进行)。此代码框架具有统一的数据输入/输出结构,以及简单、高效的代码编写框架。读者只需要将框架中的核心部分更改为自己方法的模块,即可迅速获得模型的输出。
4)发布统一的全色锐化传统—深度学习方法MATLAB测试软件包,便于后来学者进行公平的测试。此外,本文将对本领域未来的研究方向进行讨论和展望。
本文将详细介绍7种具有代表性的基于CNN的全色锐化方法,包括网络结构、方法细节和一些相关的讨论。这7种方法分别为PNN(CNN-based pansharpening)(Masi等,2016),PanNet(deep network for pan-sharpening)(Yang等,2017),DiCNN(detail injection based convolutional neural network)(He等,2019),MSDCNN(multiscale and multidepth CNN)(Yuan等,2018),BDPN(bidirectional pyramid network)(Zhang等,2019),FusionNet(deep convolutional neural network for fusion)(Deng等,2021)和LAGConv(local-context adaptive convolution)(Jin等,2022)。这些方法都属于监督学习的范畴,因此它们的表现主要依赖于在仿真数据集上的训练。本文将在相同的训练和测试数据集上对它们进行比较。同时值得强调的是,本文并未选择无监督方法或者基于GAN的方法进行比较,因为它们需要和监督学习不一样的数据集,进而无法进行公平的比较。
作为基于PNN的全色锐化开山之作,Masi等人(2016)在2016年首次将一个简单的3层CNN结构应用于全色锐化任务(简称PNN),并获得优秀的融合效果。这个3层结构来自于自然图像单图超分辨率方法SRCNN(Dong等,2016)。针对全色锐化这个新任务,PNN首先对低分辨率多光谱图像LRMS进行插值上采样到全色图的尺寸。然后将上采样后的图像与PAN图沿谱维度进行叠加,形成网络的输入。这个输入已经是高分辨率目标图像的尺寸,因此在网络的中间层不需要使用任何上采样操作。当网络的输入通过PNN的3层卷积后,网络获得和多光谱图像MS具有相同光谱波段数的输出。最终网络的输出和高分辨率多光谱图像在L2损失函数下进行网络训练,得到网络的训练参数。具体网络结构详见图2(a)。
尽管 PNN 只是简单利用SRCNN中的3层CNN网络架构并将其扩展到全色锐化任务,但这个方法的提出在基于深度学习的全色锐化领域扮演着相当重要的角色,已经成为基于深度学习全色锐化方法的一个基准方法。由于PNN的主要结构只涉及3个简单的没有任何跳跃连接的卷积层,它的收敛速度相对较慢,不过其网络参数较少。
Yang等人(2017)提出PanNet全色锐化网络,其主要思想是将全色锐化任务分为两个目标,即光谱保真和空间细节注入。具体来说,为了光谱保真,PanNet将具有较好光谱信息的上采样MS图直接和空间细节学习网络的输出相加,这样可以有效地将光谱信息直接传播到输出图像。空间细节学习网络主要包含一个预处理卷积层,其可以增加特征通道;然后采用4个ResNet块,其可以有效加深网络深度以获得更好的特征提取。PanNet网络同样采用L2损失函数进行网络参数的训练。具体网络结构详见图2(b)。
图2 本文涉及的7种代表性的基于CNN的全色锐化方法
通常大多数基于深度学习的全色锐化技术都是在图像域上设计网络,而PanNet 的设计思想是在高频域上设计网络架构。这种在高频域上的网络设计策略可以获得优秀的数据泛化性,因为从不同传感器获得的图像具有类似的高频信息分布。此外,由于高频细节特征图大部分像素值接近于零,使得映射空间减少,进而网络更加容易训练。
He等人(2019)提出一种基于图像细节注入的全色锐化深度学习网络架构,其可有效学习多光谱图像的细节信息并将其注入到低分辨多光谱图像,这一过程与传统的滤波方法物理过程相似。文中提出两种基于细节注入的全色锐化模型,它们和PNN相似,都是受到SRCNN的启发,构建两个3层的卷积网络。但是不同于PNN,DiCNN的两个模型都加上了跳跃连接。这种策略有助于缓解梯度爆炸并加速网络的收敛。本文采用的模型即为DiCNN的第1个模型(为了方便,这里称其为DiCNN方法)。DiCNN方法首先将PAN图和上采样的低分辨率MS图串联在一起,然后进入3个简单的卷积层用于学习图像的残差细节,最后网络的输出直接与上采样的低分辨率MS图像相加得到最终的融合图像输出,并在L2损失函数下进行网络训练。这个方法的结构非常简单、高效,并且由于其简单的网络结构所涉及的参数量很小。具体网络结构详见图2(c)。
总体来说,与其他图像处理任务相似,跳跃连接的策略对于全色锐化任务非常有效,其可以有效提高网络训练的收敛速度甚至精度,也是后来全色锐化深度学习网络最常使用的策略。DiCNN方法在全色锐化表现优秀,并且参数量少,不过也是由于其网络结构简单参数量少,不能更加有效地提取特征,因此在融合效果上稍微逊于其他具有更深层网络的方法。
Yuan等人(2018)提出了MSDCNN全色锐化网络结构,其核心思想就是通过不同大小的卷积核去卷积特征图,进而提取能表征不同尺度并具有不同感受野的特征,从而增强网络的表示能力。在全色锐化问题中,图像的结构和纹理细节对修复的结果非常重要。而由于遥感图像获取的时间不同,地物目标的大小变化很大、种类众多等因素,因此如何有效刻画表示图像的多尺度特征显得尤为重要。针对这个问题,作者提出了一种包含3个并行卷积层的多尺度模块,每个并行卷积层的卷积核大小分别为3、5和7。此外,作者还针对每个多尺度块采用跳跃连接进而形成多尺度残差块(分支1)。另外,MSDCNN还采用具有3个卷积层的浅层网络去提取浅层特征,这3个卷积层的卷积核大小分别为9、1和5(分支2)。最终将两个分支的输出结果相加得到融合图像。具体网络结构见图2(d)。
总体来说,MSDCNN受益于通过不同大小的卷积核获得不同尺度的特征(称为多尺度操作)。通过这种策略,具有不同感受野的特征图被整合在一起去改进特征提取的精度。此外,第2个分支结构通过简单的卷积层去灵活学习所谓的浅层特征,但实际上这个分支效果不明显,反而会让两个分支过于灵活,导致深浅层特征学习的不确定性。
传统基于MRA的方法主要是通过手工提取PAN图的多尺度细节信息来改进MS图的空间分辨率。而多尺度细节信息提取对全色锐化的质量尤为重要,如果细节提取不足会造成图像模糊,但如果细节提取过多则会导致图像伪影和光谱失真现象。为了更精确地提取多光谱图像中的多尺度细节信息,Zhang等人(2019)提出一种双方向多尺度学习的全色锐化方法(称为BDPN)。这种方法根据传统的MRA方法思想,设计了一种基于金字塔结构的双方向网络架构去分别处理低分辨MS图和高分辨率PAN图。通过这个网络,PAN图的多尺度细节可以有效被提取出来并注入到MS图得到高分辨率输出。具体地,整个网络结构在不同尺度间转换,其中提取细节的网络使用了数个经典的残差网络块(ResBlock),而重构图像的网络采用子像素卷积层(subpixel convolutional layer)去上采样MS像。因为网络中间会产生多个不同尺度的输出,所以这种方法采用了多个损失函数监督训练的策略。具体网络结构见图2(e)。
虽然双方向网络结构的想法之前已在其他多分辨率融合任务上提出(如深度图像超分辨率(depth image SR)(Hui等,2016)),但是BDPN首次将这种思想引入到全色锐化领域,并证明了这种结构的有效性。但是由于其使用的多尺度卷积层太多,导致BDPN方法具有大量参数。而Zhuo等人(2022)提出基于高通滤波的多尺度卷积网络并使用更少参数的网络来提取特征,在高光谱全色锐化上取得了更好的结果。因此,探索如何采用更有效的方法来减轻这类方法的参数量仍然是一个研究热点。
传统基于CS和MRA的全色方法取得了非常优秀的效果,然而这些传统方法是在假设线性注入模型的基础上建立的,实际上并不适用于传感器的光谱响应特性。而CNN方法具有优秀的非线性表征能力,这激发了研究人员利用非线性技术(如CNN)来替代传统的线性全色锐化模型的想法。在Deng等人(2021)的方法中,联合CNN方法和传统方法(如CS和MRA)的物理模型思想,提出一种新型全色锐化融合网络架构(称为FusionNet)。其主要策略就是通过深度网络结构去估计关于上采样MS图和PAN图细节的非线性注入模型。不同于PanNet采用高通滤波器提取图像细节,FusionNet直接用原始的上采样MS图与PAN图作差提取图像细节,这种方式可以有效保持图像的空间信息和潜在的光谱信息。所提取的细节被输入到数个残差网络块进行特征提取和细节学习,最后的输出与上采样MS图进行相加获得融合图像。FusionNet依然采用常用的L2损失函数进行网络的训练。具体网络结构见图2(f)。
得益于传统方法启发的FusionNet可以在输入和输入之间进行更好更快的数据回归,在训练和测试时获得有竞争力的结果。
前述基于CNN的全色锐化方法都是基于传统卷积方式的方法,而基于传统卷积方式的深度模型在空间全局区域都采用一组相同的卷积核来提取特征,这样限制网络特征的表达能力并使得网络难以优化。例如在空间的不同局部区域可能存在不同的目标特征,而整个空间上只采用一组相同的卷积核提取特征显然不是最优的。为了解决这个问题,Jin等人(2022)提出一种能够对局部内容自适应的卷积模块LAGConv,其主要包括局部自适应卷积核生成和全局偏置机制。局部自适应卷积核的生成方式采用在传统卷积核上乘上可学习的自适应权重矩阵来实现,其主要涉及两个维度规模较小的全连接网络。而全局偏置机制主要是为了补充前面的局部自适应卷积造成的全局信息丢失问题,其实现也是通过两个规模较小的全连接网络来实现。所提的整体网络框架详见图2(g),而LAGConv模块的细节见图2(g)的右下角。
LAGConv方法能非常高效地提取并表示特征,且网络的参数也不高,其可以非常快速和有效地拟合训练数据,因此在相应的测试数据上表现优秀。
上述7种方法的优缺点可以在表2中找到。除了上述7种代表性的基于CNN的全色锐化方法,还有很多优秀方法从不同角度陆续提出,这里不作详细介绍。本文的目的在于针对这些CNN方法在统一公开的数据集、代码框架上进行比较,以给读者对于全色锐化问题一个全局的视角,推动本领域的发展。
表2 7种深度学习方法的优缺点总结
数据集是基于深度学习的方法最重要的因素之一,以往的工作有时数据集各异、细节不明,造成读者对本领域的困惑,也抑制了本领域的健康发展。本文一个重要的目的就是努力讲清楚基于深度学习的全色锐化数据集的来龙去脉,为后续初学者作参考。本文将具体从如下方面进行说明。
本文将在3种卫星传感器获取的数据集上进行CNN的训练和测试,数据集的具体信息如下。
1)WorldView-3(WV3)数据集。此数据集主要由WV3卫星在可见光和近红外光谱范围获取的全色图像和多光谱图像(波段数为8)数据组成,全色图像和多光谱图像的空间采样间隔(spatial sampling interval,SSI)分别为0.3 m和1.2 m,它们之间的空间分辨率比例为4,辐射测量分辨率(radiometric resolution)为11位。本数据集主要包含由WV3卫星拍摄的两个地方的图像数据,即: WV3 Rio和WV3 Tripoli。为了表征不同季相同地点的地表变化情况,进一步考虑这两个地方不同季节的图像数据。最终获得如图3右边的4幅图像用于网络的训练和测试,具体的数据详情(如地点、月份、多光谱图像MS的尺寸)可在图中找到,所涉及的图像数据包含多种地表特征,如建筑、植被、海洋或河流等,能覆盖大部分卫星观测目标的类型。其中,前两幅WV3图像数据(即WV3 Rio(5月)和WV3 Tripoli(8月))右边的1/4部分被切割出来制造仿真测试数据集,制造过程采用Wald准则(具体细节详见图4)。此外,真实测试数据集也在与仿真数据集相同的图像上进行,但其制造过程不需要进行下采样,而是直接对图像进行切割获得。
2)QuickBird(QB)数据集。此数据集主要由QB卫星在可见光和近红外光谱范围获取的全色图像和多光谱图像(波段数为4)数据组成,全色图像和多光谱图像的空间采样间隔SSI分别为0.61 m和2.44 m,空间分辨率比例为4,辐射测量分辨率为11位。本数据集主要包含由QB卫星在Indianapolis拍摄的一幅图像数据,即QB Indianapolis。最终获得如图3左边的一幅图像用于网络的训练和测试,具体的数据详情(如地点、月份、多光谱图像的尺寸)可在图中找到。其中,这幅图(即QB Indianapolis)右边的1 000个像素被切割出来制造仿真和真实测试数据集,其制造过程与WV3数据集相似。
3)GaoFen-2(GF2)数据集。此数据集由GF2(高分2号)卫星在可见光和近红外光谱范围获取的全色图像和多光谱图像(波段数为4)数据组成,全色图像和多光谱图像的空间采样间隔SSI分别为1 m和4 m,空间分辨率比例为4,辐射测量分辨率为10位。本数据集包含由GF2卫星在广州(Guangzhou)拍摄的一幅图像数据,即GF2 Guangzhou。最终获得如图3中间的一幅图像用于网络的训练和测试,具体的数据详情(如地点、月份、多光谱图像的尺寸)可在图中找到。其中,这幅图(即GF2 Guangzhou)右边的1 000个像素被切割出来制造仿真和真实测试数据集,其制造过程依然与WV3数据集相似。
由于上述获得的几种遥感图像数据集缺乏真实的高分辨多光谱图像,因此需要仿真出训练数据(包括输入数据和标签数据)和测试数据。具体的仿真过程如图3所示(以WV3数据为例),主要包括数据切割和数据仿真两个步骤。1)数据切割:原始获取的全色图(PAN)和低分辨率多光谱图(MS)首先被切割为N个尺寸为256×256和64×64×8的PAN和MS图像块。2)数据仿真(利用Wald协议):将1)中的图像块利用每个卫星特有的调制传递函数(modulation transfer function, MTF)首先进行滤波操作,然后采用“nearest”插值下采样获得低分辨尺度上的全色图像块(pan)和多光谱图像块(ms),进一步利用“23-tap polynomial”插值(Aiazzi等,2002)获得上采样的多光谱图像块(lms),下采样前的MS图像块作为标签数据(gt)。最终获得如图4(c)用于网络训练/验证的数据集。特别地,测试数据的仿真也与此过程相同。
通过数据仿真过程(即图4),2.1小节的数据(即图3)被仿真为大量用于网络训练和测试的数据集,最终生成的数据集详情见图5。通过图5可以清晰地了解整个数据仿真的过程。总体来说,本数据集的优点是卫星数据种类多,包含不同波段、不同分辨率、不同地点和地表内容的卫星数据,并详细展示数据获取的地点和时间、哪部分数据用于训练、哪部分用于测试、数据的总样本个数(包括训练和验证样本)、测试数据(包括仿真数据和真实数据)的选取原则和样本个数。这些细节有益于读者从整体角度了解数据的构造流程。而数据集的难点在于如何通过MTF来仿真数据集,如何将数据集的仿真细节描述清楚,便于读者理解。此外,测试数据集选取了不同的场景内容来进行测试,对深度学习方法来说更具挑战性。特别地,本文将在第5节为读者提供相关的数据集下载和使用细节。
图3 本文涉及的网络训练和测试数据集
图4 数据仿真详细流程(以WV3数据为例)
图5 最终生成的数据详情
本节将在上述数据集的基础上对7种典型的基于CNN的全色锐化方法进行比较,同时也针对代表性的传统方法进行比较,具体情况如下所述。特别地,本文所涉及的方法比较均在相同的设备和环境下进行,具体为在CPU为 i9-10900X, GPU为 GeForce RTX 3090,操作系统为Ubuntu 20.04的设备上进行实验,深度学习方法的训练和测试在函数库PyTorch 1.9.0平台下进行,最终所有的方法测试比较在MATLAB(2022a)上进行。
本文将在相同的测试数据集上对13种分属不同类别的全色锐化方法进行比较,主要包括:
1)EXP方法。作为基准的上采样多光谱图,即图4中经过“23-tap polynomial”插值上采样的多光谱图。
2)CS方法。包括:BT-H:带雾霾校正的优化Brovey变换方法(Lolli等,2017);BDSD-PC:带物理约束的波段相关空间细节方法(Vivone,2019)。
3)MRA方法。包括:MTF-GLP-FS:基于MTF匹配滤波器的广义拉普拉斯金字塔方法(Vivone等,2018b);MTF-GLP-HPM-R:基于MTF匹配滤波器的广义拉普拉斯金字塔高通调制注入模型方法(Vivone等,2018a)。
4)VO方法。TV:基于全变分模型的全色锐化方法(Palsson等,2014)。
5)DL方法。包括:PNN:基于3层卷积的CNN全色锐化方法(Masi等,2016);PanNet:基于高频细节学习的CNN全色锐化方法(Yang等,2017);DiCNN:基于细节注入的CNN全色锐化方法(He等,2019);MSDCNN:基于多尺度多深度的CNN全色锐化方法(Yuan等,2018);BDPN: 基于双方向网络的全色锐化方法;FusionNet:基于机器学习和传统方法的CNN全色锐化方法(Deng等,2021);LAGConv:基于局部内容自适应的CNN全色锐化方法(Jin等,2022)。
特别地,传统方法的源代码已经在网站开源:https://openremotesensing.net/knowledgebase/a-critical-comparison-among-pansharpening-algorithms/,而CNN方法的源代码网址见本文摘要的课题主页。
对全色锐化图像进行量化评估是一个备受争议的问题。通常做法是在Wald协议下对锐化结果的一致性和合成性进行评估来衡量结果的优劣。而针对仿真数据和真实数据各有不同的量化指标。
1)仿真数据的量化指标。由于仿真数据集中包括高分辨的多光谱(即标签数据gt),在这种情况下可以通过3个常用的全色锐化指标对融合图像质量进行评估(Vivone等,2021)。这3个指标分别为SAM(spectral angle mapper),ERGAS(the relative dimensionless global error in synthesis),Q2n(the multi-band extension of the universal image quality index)(当为4波段数据时使用Q4,当为8波段数据时使用Q8)。其中SAM和ERGAS越小越好(0为理想值),而Q2n越大越好(1为理想值)。
2)真实数据的量化指标。由于真实数据集中没有高分辨的多光谱图像(即标签数据gt),在这种情况下可以通过另外3个全色锐化指标对融合图像质量进行评估。这3个指标是用于衡量空间失真的指标Ds,用于衡量光谱失真的指标Dλ,以及无参考质量指标(hybrid quality with no reference, HQNR)。其中Ds和Dλ越小越好(0为理想值),而HQNR越大越好(1为理想值)。更多关于指标的详情参见Arienzo等人(2022)文献。
CNN方法的超参数和其他设置详情,包括批数量、学习率、优化算法和损失函数等细节参见表3。特别地,由于本文将所有比较的CNN方法统一在Pytorch深度框架下,一些原来在TensorFlow框架下的方法由于编程环境的变化(如两种框架下的参数初始化不同),需要对部分超参数进行细调以达到合理效果。注意,由于本文对不同数据集采用了一组相同的超参数,因此可能一些深度方法并没有达到最优(调参并不是本文的主要目的),后来读者可在本文代码框架下对每类数据集分别调参以实现最优效果。这里特别强调:由于所比较的各CNN方法是在新数据集上进行的,而本文采用的超参数依然是各方法原文的设置,因此有可能本文展示的结果并不是每个方法的最优结果(尤其是真实数据上的结果),本文结果只作为读者的参考。
表3 基于CNN方法的最优参数设置
为验证各类方法在全色锐化中的有效性,本节将分析各类方法在WV3数据集上的表现。针对这7种基于CNN的全色锐化方法,首先将其在WV3数据集上训练,然后在20个WV3仿真数据集和20个真实数据上进行测试,并与其他较优的传统方法进行比较。数据集详情见第2节,选取的测试数据来自不同的地表特征(如海岸、植被和建筑等),具有良好的代表性。
3.4.1 仿真实验结果
本节将评估所有方法在20个WV3卫星(拍摄于Rio和Tripoli地区)仿真测试数据集上的表现,这些数据集与用于训练的数据集具有相似的地理区域(参见图5中的数据介绍)。表4展示了各类比较方法在WV3测试数据集上的定量评价结果。容易观察到,深度学习方法比传统方法获得了更好的平均指标,也具有更小的标准差(std),表明深度学习方法相较于传统方法具有更好的鲁棒性。具体来说,LAGConv在这些测试数据上明显优于其他比较方法。此外,FusionNet、MSDCNN和DiCNN也具有很强的竞争力。总体来说,由于训练数据集与测试数据集具有相似的数据结构和图像特征,基于深度学习方法的结果比传统方法具有明显的优势。这证实了CNN在训练阶段强大的非线性拟合能力和特征提取能力,因此很容易针对全色锐化任务学习端到端的关系。
为了更直观地进行方法间的视觉比较,图6展示了不同全色锐化方法在WV3测试数据上的视觉效果(从20个测试数据中选取1个样例进行显示,后同)。可知,视觉效果与表4中的量化指标表现一致,基于深度学习的方法对比传统方法具有更强的光谱保真和空间细节刻画能力。而传统方法(如TV)存在明显的伪影和光谱失真现象。特别地,深度学习方法中BDPN的谱保真能力较差,对高频边缘区域的重建能力较弱。而LAGConv和FusionNet等方法获得的图像很好地保留了光谱信息,并且能够有效保持图像的纹理等信息。
表4 WV3数据集仿真实验量化指标结果
3.4.2 真实实验结果
除了对仿真数据集进行测试外,本节将在真实数据集WV3 Rio和WV3 Tripoli上进行各种方法的性能比较,数据详情参见图5。
图7和表5展示了不同方法取得的定量和视觉结果。很容易观察到,先进的传统方法能获得优秀的表现,甚至将它们与基于深度学习的方法进行比较,证明了其空间和光谱的保真能力。具体来看,传统方法中,MTF-GLP-HPM-R方法得到的HQNR最高,仅次于深度学习方法中最优越的DiCNN。而对于Dλ指标,MTF-GLP-FS和MTF-GLP-HPM-R都取得了优秀的表现,证明了其空间保真能力强。另外,基于深度学习的方法在Ds指标上的表现普遍优于传统方法,证明了深度学习方法杰出的光谱保真能力。总体来说,基于深度学习的方法在真实数据集上的性能相比仿真数据集显著降低,造成这种现象的可能原因是真实数据与仿真数据的分辨率不一致,训练好的网络参数不能很好地适应测试数据。因此,如何提高深度学习方法的泛化能力是未来亟待解决的问题。
表5 WV3数据集真实实验量化指标结果
与前面的实验设计相似,本节主要测试不同方法在QB数据集上的全色锐化表现。测试数据集包括含有代表性地物目标的20个仿真数据和20个真实数据。
3.5.1 仿真实验结果
本节主要展示所有方法在QB仿真数据集上的表现。由表6可知,所有基于CNN的深度学习方法均表现出优秀的定量结果,其效果大幅度领先于传统方法。这主要是由于深度学习方法针对大量的QB数据进行训练,而测试的数据与训练数据类型相似,则学习出的模型能有效融合测试数据。其中,基于自适应卷积的LAGConv方法表现最为亮眼,这也是由于其优秀的局部特征提取能力以及数据拟合能力。而经典的PNN方法的量化指标甚至超过PanNet方法,这可能是因为刚好在这个数据集上,PNN相较于PanNet能更好地拟合训练数据。传统方法中MTF-GLP-HPM-R在Q4和SAM指标上表现最好,但是ERGAS弱于其他方法,显示其相较于其他传统方法虽然光谱保真能力较强,但是空间保真能力较弱。图8展示了不同方法的仿真测试视觉效果,其结果基本与定量指标一致。
表6 QB数据集仿真实验量化指标结果
图8 不同方法在QB仿真数据的视觉效果展示
3.5.2 真实实验结果
本小节将所有方法在QB真实数据集上的实验结果进行了量化指标对比,参见表7。从表中可以清晰地看出,一些基于CNN的深度学习方法(如PanNet、DiCNN和FusionNet)都取得了很高的HQNR量化表现。此外,大多数基于深度学习的方法比其他传统技术(如BT-H和BDSD-PC)取得更好的指标。在所有基于深度学习的方法中,PanNet、DiCNN和FusionNet都属于最佳性能一类。特别地,PanNet在所有指标上都取得最优表现,原因与WV3真实数据集的一致。而相比于在仿真实验中的表现,BDPN在真实数据上的表现并不出色,这是由于对训练数据集的强大拟合性能导致模型在性质不同的数据集上出现不匹配的现象,这也说明了基于CNN的模型泛化性与复杂度之间难以平衡。
表7 QB数据集真实实验量化指标结果
为了更加全面地评估所有方法的性能,本节在4波段的GF2数据集上进行实验,与之前的实验类似,分别研究了在仿真数据集和真实数据集上的性能表现。
3.6.1 仿真实验结果
本节主要展示所有方法在GF2仿真数据集上的表现。由表8可知,与上一节的结果相似,所有基于CNN的深度学习方法的量化效果都能够超越传统方法。值得注意的是,传统方法中的BT-H有着极具竞争力的表现,与基于大数据训练的BDPN方法十分相近。同时,基于CNN的深度学习方法中除LAGConv具有明显的优势之外,基于高频细节特征提取的PanNet和结合传统方法的FusionNet在所有指标上都有优越的表现。为了进行视觉比较,图9中展示了所有方法的融合结果。从融合后的高分辨率图像可以看出,所有基于CNN的深度学习方法都能较好地保留图像内容的纹理和其他空间细节,这表明了这些方法的有效性。
表8 GF2数据集仿真实验量化指标结果
图9 不同方法在GF2仿真数据的视觉效果展示
3.6.2 真实实验结果
与在QB数据集上的实验流程一致,本节同样在GF2的真实数据集上进行了方法测试和对比。表9展示了所有方法的定量指标。对表9中的结果进行分析,PanNet远优于其他对比方法。总体来说,传统方法(除了MTF-GLP-HPM-R和MTF-GLP-FS)获得的性能远远低于大多数基于CNN的深度学习方法。所有深度学习方法中,通过PNN方法得到的HQNR最低,表明PNN学到的模型不能适应真实数据。
表9 GF2数据集真实实验量化指标结果
本节将进一步对前述的比较方法进行实验讨论,主要包括测试时间比较,以及不同深度学习方法的训练时间、参数量以及计算量GFlops(giga floating-point operations per second)的比较。
3.7.1 测试时间比较
表10展示了所有对比方法的测试时间,传统方法(除了TV)表现出非常少的测试时间,证明其方法的有效性。基于深度学习的方法也具有较少的测试时间。所有方法中只有TV方法测试时间最多,因为其需要迭代求解一个最优化模型,在迭代的过程中耗费了大量的计算时间。
表10 所有方法在WV3仿真测试数据集上的测试时间比较
3.7.2 训练时间—参数量—计算量比较
表11展示了7种CNN方法在WV3训练数据集上的训练时间、参数量和计算量GFlops。由表11可知,PNN和BDPN耗费的训练时间最多,而FusionNet最少;DiCNN的参数量最少,对比之下BDPN的参数量最多,超过了100万;DiCNN的GFlops最少,而BDPN的GFlops最多。为了更形象地表示参数量和性能指标之间的关系,图10分别展示了这7种CNN方法在WV3仿真数据集上的参数量和Q8、SAM、ERGAS之间的关系。
表11 基于CNN的方法在WV3训练数据集上的训练时间、参数量和GFlops比较
从实验结果可知,基于深度学习方法(本文中主要是CNN方法)当训练数据和测试数据性质接近时,可以获得出色的图像融合效果。而当训练数据与测试数据性质差异较大时,CNN获得的结果往往不尽如人意,即数据泛化性差。这实际上也是在意料之中的,因为CNN是针对当前训练数据去“学习”或“归纳”(或数学上称之为拟合)其潜在“规律”(或称之为先验),因此若在新的具有不同特征的数据下测试,通常学习到的“规律”并不适用此类数据,进而不能获得优秀效果(有时甚至差于传统方法)。而传统方法由于没有基于大量数据的训练,可能对数据潜在的先验挖掘并不充分,因此通常效果会弱于深度学习的方法。此外,基于深度学习方法的资源耗费问题(如大量数据集需求、训练时间长等)也是其一大弱点之一。
传统方法的优势在于其良好的数据泛化性,只需一对PAN和MS图像输入即可获得融合图像(即零样本),并且不需要通过下采样获得的标签数据(注:下采样过程会降低图像分辨率,因此训练得到的模型并不是在原始分辨率上获得的,即无监督)。因此,基于深度学习的全色锐化方法在未来可以朝着这两个具有潜力和挑战性的方向前进(即无监督、零样本方法),进而逐渐克服当前深度学习方法的弱点。
同样,针对上述传统方法和深度学习方法的优缺点,另一个有潜力的方向是通过合理的策略将两类方法嵌入到一个框架下,共享两类方法的优点。这个思路已有研究人员进行过尝试,大体包括两种思路。一种方法是通过将变分优化模型进行模型展开(unfolding),进而针对展开的子问题设计相似的网络结构(主要是通过网络去近似模拟子问题的求解),最后在大量训练数据集上进行训练获得优异的测试结果(Xie等,2020);另一种方法是针对变分优化模型的未知正则项进行合适的变量替换,进而构建带隐式正则项的子问题(通常可视做一个去噪问题),子问题的求解过程还是按照传统子问题交替更新的方式进行,只不过在求解带隐式正则项子问题的时候通常使用一个预训练好的深度学习去噪器(也可以是传统效果优良的去噪器,如BM3D)(Teodoro等,2017),这类方法称之为即插即用(plug-and-play,PnP)方法。近来,一种更为简单直接的结合传统方法和深度学习方法的思路是直接将深度学习预训练模型的结果嵌入到传统变分优化模型中(Shen等,2019;Wu等,2020,2022)。其主要通过构造一个潜在融合图像和深度学习预训练图像之间的近似项将传统变分模型和深度学习结果连接在一起,后续的模型求解过程和传统变分模型求解方式一致。其主要研究的科学问题集中在如何去构造连接潜在融合图像和深度学习预训练图像的权重距离函数。上述提到的方法都是近年全色锐化方向传统变分方法和深度学习方法结合的主要思路,这些方法有效提高了深度学习方法的效果,尤其是数据泛化性。但依然面临如参数量过大、训练/测试时间过长等问题,这些问题是后续可以进一步研究的方向。
本节分享的相关数据代码资源见本课题主页: https://liangjiandeng.github.io/PanCollection.html。
正如前文所提到的那样,基于深度学习的全色锐化领域当前并没有统一公平的训练数据集和测试数据集,严重制约本领域的发展。本文另一个重要目的就是正式发布全色锐化相关的训练和测试数据集,并且详细给出数据集的生成细节(包括数据集获取地点和时间、训练和测试数据的截取情况、仿真细节等,详见第2节)。
亦如前文提到的那样,当前基于深度学习的各种方法代码编写方式、平台框架等不尽相同,造成后续研究者入门困难,更可能造成方法比较的不公平性。为了有效处理这个问题,本文将正式发布一个基于Pytorch的统一代码编写框架。此框架具有统一的数据输入和输出模块、简单易懂的编写模式、清晰的使用指南,后续研究者只需要将方法模块替换为自己的工作即可有效地与已有方法进行比较。特别地,本文比较的7种CNN方法将在此框架下运行,读者可通过运行相关方法的代码轻松入门本领域。
通常,深度学习方法得到的结果需要与传统方法进行公平比较,但是传统方法并没有Python的软件包。常用的方法是将深度学习的结果(Python代码得到)放入已有的全色锐化MATLAB软件包中进行比较。本文亦会发布一个更简单的全色锐化MATLAB测试软件包,在此软件包中将预留存放深度学习结果的文件路径,读者只需要将深度学习结果存入相应路径,然后运行测试函数,即可一键得到所有传统方法和深度学习方法的比较结果(包括量化结果和视觉结果),并将结果存储在相应的文件夹,便于读者使用。
本文针对深度学习全色锐化问题中几个亟待解决的问题(如数据集的细节呈现、公平的训练—测试数据集、统一的编程代码框架、方便的全色锐化测试MATLAB软件包)展开讨论,并开源相关的数据和代码。正如引言部分所提到的贡献,本文:1)详细介绍了7种典型的基于CNN的全色锐化方法,并在统一的数据集下对这些方法进行公平的实验比较;2)对涉及的训练—测试数据集的仿真细节进行讨论,发布相关全色锐化数据集;3)发布基于Pytorch深度学习库的统一编程代码框架,便于后来初学者的入门以及研究开展;4)发布统一的全色锐化传统—深度学习方法MATLAB测试软件包,方便研究人员的测试;5)对本领域的未来研究方向进行讨论和展望。作者相信,本文可以推动全色锐化问题的发展,尤其是在实验比较的前提下,能尽量厘清当前传统方法和深度学习方法各自的优缺点,进一步探索当前全色锐化面临的挑战,希望成为其他同行优秀研究工作的一个参考。