[0001]
本发明涉及一种基于门控卷积进行云和阴影修复工作的方法,可结合多时相无云遥感影像,用于云和阴影等缺失信息的重建工作,有效对于受损的遥感影像进行空间维及光谱维的信息重建,提高不同天气条件下传感器获得的遥感影像的利用率。
背景技术:[0002]
作为获取地球表面几何和物理信息的最重要的地球观测技术之一,遥感技术已获得越来越多的关注并得到广泛应用。然而,由于大气条件的约束,每日全球范围内平均云覆盖率达到67%左右,从卫星上获取的遥感影像中被云和云阴影所遮挡的低利用价值甚至无利用价值的无效像元导致地物信息被遮盖或扭曲,为遥感影像信息提取、数据融合、图像解译等后续工作带来严重影响。
[0003]
从修复方式出发,云和阴影修复的方法可大致分为两类:基于传统算法的和基于学习的云修复方法。传统的云修复方法主要利用与受损区域相相邻的像素信息,未受云或阴影损坏的波段,无云的多时相图像或来自其他传感器的辅助信息,通过数学、物理模型重建缺失信息,例如补绘技术、基于样例的方法、插值理论和扩散模型等。基于学习的云修复方法,摆脱了人工干预,无需额外经验设计参数,利用稀疏表达、极限向量机、随机森林、深度学习等算法,自动学习受损影像以及辅助数据之间的特征关联,从光谱映射、信息重建等角度出发,修复受损区域。
[0004]
从辅助数据的来源出发,云和阴影修复方法可大致分为五类:基于空间信息的,基于波段的,基于多时相数据的,基于混合策略的和基于多源数据的重建方法。基于空间信息的云修复方法假设云和阴影下方的像素与未被云和阴影影响的邻域共享相似的纹理和像素值,可利用相应的设计规则进行局部相似像元搜索,然后结合邻域差值等方法填补缺失信息,然而由于遥感影像中地物类型的多样性,缺失区域千变万化,结果往往是虚假的并且存在过平滑的现象。基于波段的重建方法假设一部分多光谱波段可以穿透薄云,提供云下相关信息,多光谱图像的不同光波段之间可以进行信息互补,但这种方法仅限于恢复具有薄云的图像,因为所有波段都不能穿透厚云。基于多时相数据的修复方法利用无云多时相影像上对应的被云和阴影影响区域的像素值进行辐射纠正和填补,然而这类方法对几何配准误差和图像之间的光谱变化很敏感。基于混合策略的云修复方法结合基于空间,波段或多时相方法的优点,构建一个最佳融合框架进行修复。基于多源数据的方法主要利用来自不同类型传感器的数据,例如合成孔径雷达(sar)数据,由于微波信号能穿透云,它被认为是一种云修复的新型有效辅助数据源。
[0005]
然而,尽管最近出现了很多通过深度学习进行云去除的方法,但是在某些方面仍然存在许多缺点:1)所有的基于深度学习进行云修复的方法虽然部分在修复之前考虑到了对于含云区域与无云区域的区分,但是在特征提取时,利用普通的卷积层无法对于不同面积缺失区域的特征进行区分;2)单一损失函数是语义分割和对象检测中很常用的,但是在云修复中,需要对抽象特征(光谱特征)进行约束,他的能力不足;同时,传统的云修复方法
中,没有对重建区域以及无云区域的损失进行区分,缺乏重建区域与邻域之间的纹理一致性约束。因此,一种能够给对无效像元区域加以区分的有效的云和阴影修复方法的研究很有必要。
技术实现要素:[0006]
本发明针对现有技术的不足,提供了一种基于门控卷积的结合多时相遥感影像的云和阴影修复方法,能够在保留与原始图像相似性较高的光谱信息的情况下修复云下缺失的细节信息。
[0007]
本发明的主要创新点在于:
[0008]
1)引入多时相数据进行辅助。由于传感器的成像周期性,考虑到厚云可能完全遮挡地物信息,选取其他时相无云的遥感影像,进行空间信息的补充。
[0009]
2)引入门控卷积。门控卷积层可以有区别地滤除无效像素,仅提取纯净像素中的抽象特征,以进行后续的图像修复。
[0010]
3)设计了一种联合损失函数。为加强训练过程中的全局、局部信息的一致性,从像素,特征和局部级进行多级约束。利用总变分(total variation,tv)函数,平滑重建区域与相邻像素之间的颜色和纹理信息;利用vgg网络,提取重建影像以及标签影像之间的深层特征,进行特征级相似性约束;分别计算重建影像中受损区域以及无云区域的损失。
[0011]
实现本发明目的采用的技术方案是:步骤1,根据已有的含云遥感影像和多时相无云遥感影像构建云修复训练和测试的数据集;步骤2,结合步骤1中的云修复训练数据集,利用多时相的无云遥感数据进行空间、光谱和时间域的补充,对输入的模拟缺失信息影像、缺失信息区域的模板以及多时相影像进行特征提取工作,输入基于门控卷积的时空联合云修复网络(spatio-temporal cloud removal network with gated convolution neural network,stgcn),训练模型;步骤3,在测试阶段,对于真实有云的遥感影像,利用预先训练好的云探测网络模型(cloud detection network,cdn),对有云遥感影像中的云和阴影进行像素级预测,利用高召回率(recall)的探测结果,尽可能完整的对进行无效像元进行提取;步骤4,结合步骤2中训练好的云修复网络,以真实有云影像、对应的多时相无云影像以及步骤3中探测得到的高召回率探测结果作为输入,进行真实有云遥感影像的修复工作,重建有云的遥感影像云和阴影处的缺失信息。
[0012]
1)步骤1,构建云修复训练的模拟数据集。具体实现包括如下子步骤:
[0013]
步骤1.1,遥感影像的预处理。选取5%含云量的landsat8遥感影像与对应区域的多时相无云影像进行配准,由于成像条件、拍摄时间、传感器等因素,不同时相的landsat8影像在图幅大小上有细微差距,根据坐标信息裁剪得到合适的大小范围。
[0014]
步骤1.2,样本裁剪。综合考虑计算机性能、网络复杂度、代探测目标大小等因素,将遥感影像与对应的标签数据裁剪为大小适宜(512
×
512像素)的样本块。
[0015]
步骤1.3,模拟缺失信息。随机生成模拟缺失信息的模板,缺失信息区域为黑色分型结构(像素值为0),选取步骤1.2中含云遥感影像中的无云图像块叠加缺失信息模板,模拟云和阴影等缺失信息。其中模拟影像为网络输入中的受损影像,随机模拟之前的纯净无云影像为网络输出所需要对照的真值(label)。
[0016]
步骤1.4,云修复训练工作样本库构建。选取步骤1.2中生成的多时相影像块,步骤
1.3中生成的模拟缺失信息影像块,对应的无云遥感影像块和模拟缺失信息的模板,构建样本库。
[0017]
步骤1.5,真实含云影像的云修复测试工作样本库构建。选取步骤1.2中生成的含云遥感影像块以及对应的多时相影像块,构建样本库。
[0018]
2)步骤2,云和阴影修复网络的训练。首先,在云修复训练工作样本库的基础上,针对输入数据进行纯净像素提取,分别将输入的多时相无云数据以及模拟的当前有云影像与无效像元位置的蒙版进行相乘,剔除无效像素点。其次,对于原始的多时相数据、模拟的有云影像、剔除云和阴影像素点的模拟有云影像,对应的多时相影像四幅数据进行特征提取,通过四个不同的卷积层,卷积核大小为3
×
3,步长为1,特征维度为32。然后,将四个特征串联,通过一个卷积层压缩冗余信息,卷积核大小为3
×
3,步长为1,特征维度为32。接着,将模拟有云影像无云像素值的特征进行光谱、空间信息的传递,叠加到压缩特征上,输入设计的时空联合云修复网络(stgcn)中训练修复模型,利用设计的复合损失函数进行相似性约束,结合随机梯度下降(sgd)算法进行反向传播中的梯度优化。
[0019]
其中所涉及的网络stgcn特征在于:在云修复网络(cloud removal network,crn)的基础上,引入了多尺度模块、门控卷积层、aspp模块、亚像素卷积层,以及联合损失函数,由编码(encoding stage)、中间层、解码(decoding stage)、多尺度特征融合(multi-scale fusion)、输出五部分组成。
[0020]
编码部分,由4组连续堆叠密集门控卷积模块(gated convolution block with dense connected architecture,gcb_a)和步长为2的最大池化层(max pooling layer)组成,每个gcb_a模块由2个卷积核大小为3
×
3,步长为1的门控卷积层(convolution layer)、2个线性纠正激活函数(rectified linear unit,relu)、1个多孔空间金字塔池化(atrous spatial pyramid pooling,aspp)模块组成。两个激活函数分别在两个卷积层之后。每个gcb_a模块中的输入特征通过跳接(skip connection)操作与输出特征进行串联,第一个门控卷积特征激活之后叠加到assp提取的特征上,进行抽象特征的信息传递。编码层中所有卷积核提取的特征的维度均为256。aspp模块中首先利用4个扩张因子分别为1,3,5,7的卷积核大小为3
×
3,步长为1的空洞卷积层进行多尺度感受野特征的提取,利用线性纠正激活函数(rectified linear unit,relu)激活然后串联。
[0021]
中间层部分,由1个多尺度模块构成,首先,通过一个卷积核大小为3
×
3,步长为1的卷积层,将编码层的特征进行维度的调整;其次利用卷积核大小为3
×
3,尺度因子为1/2,1/4,1/8,1/16的平均池化层分别提取多尺度特征;然后,分别通过4个不同的多孔空间金字塔池化(atrous spatial pyramid pooling,aspp)模块进行多尺度感受野特征的提取,接着利用四个不同的亚像素卷积层(sub-pixel convolution)进行尺度的恢复,最后通过4个不同的卷积核大小为3
×
3,步长为1的卷积层进行特征的提取并串联。
[0022]
解码部分,由对应的4组堆叠的反卷积层(deconvolution layer)和门控卷积(gated convolution block,gcb_b)模块构成。反卷积层的卷积核大小为3
×
3,步长为2。gcb_b模块由2个卷积核大小为3
×
3,步长为1,特征维度分别为512,256,128,64的卷积层,2个线性纠正激活函数,1个aspp模块构成。
[0023]
多尺度特征融合部分,首先利用4个不同的卷积核大小为3
×
3,步长为1,特征维度为3的卷积层将4个不同尺度大小(512
×
512,256
×
256,128
×
128,64
×
64)的多维特征进行
特征压缩,然后利用4个不同的亚像素卷积层分别将特征归一化到最终结果的尺度下(512
×
512),进行串联。输出部分由一个卷积核大小为3
×
3,步长为1的卷积层和一个线性纠正单元构成,输出影像的维度与目标影像维度相同,为3。
[0024]
在训练过程中,stgcn利用了联合损失函数,主要包括三个部分:图像级别的损失函数,特征级别的损失函数,平滑损失函数。
[0025]
图像级别的损失函数中,分别计算有云区域和无云区域的损失函数:
[0026]
l
cloud
=||m
⊙
(i
out-i
gt
)||1ꢀꢀꢀꢀꢀꢀꢀ
(1)
[0027]
l
non-cloud
=||(1-m)
⊙
(i
out-i
gt
)||1ꢀꢀꢀꢀꢀꢀ
(2)
[0028]
l
cloud
为有云区域的像素级别损失,m为云和阴影的探测结果,i
out
为stgcn网络输出结果,i
gt
为标签数据。l
non-cloud
为有云区域的像素级别损失。
[0029]
特征级别的损失利用imgenet大赛中训练得到的vgg的网络模型对重建结果(即利用stgcn网络生成的结果)和标签进行特征提取:
[0030]
i
comp
=(1-m)
⊙
i
gt
+m
⊙
i
out
ꢀꢀꢀꢀꢀꢀꢀ
(3)
[0031][0032]
其中i
comp
为只对受损区域进行重建得到的合成图像,受损区域以外的像素值为原始有云影响中不受云影响的像素,ψ
n
指提取第n个的vgg特征,本文中,选取pool1,pool2,pool3层3个之后的特征,因此n=3,ψ0表示pool1之后的vgg特征,ψ1表示pool2之后的vgg特征,ψ2表示pool3层之后提取得到的vgg特征,利用一范数||||1计算重建结果提取得到的特征与标签提取得到的特征之间的差异。
[0033]
平滑损失函数主要利用全变分(total variation loss,tv loss),计算当前像素与其上边和右边的像素点的相似性进行平滑性约束。
[0034][0035]
其中(i,j)为图像点的坐标,p表示整个影像的像素位置合集,表示合成图像的第(i,j)个像素。
[0036]
最终的损失函数为:
[0037]
l
total
=l
non-cloud
+λ
c
l
cloud
+λ
t
l
tv
+λ
p
l
pptl
ꢀꢀꢀꢀꢀꢀ
(6)
[0038]
其中权重λ
c
、λ
t
、和λ
p
根据多次实验,经验性的设置为5,0.5,0.06。
[0039]
3)步骤3,真实含云遥感影像块中云和阴影的探测。对于云修复测试工作样本库,在云和阴影探测的过程中,利用已有的云探测网络,例如cdn进行像素级语义分割,选取召回率(recall)超过93%的云和阴影探测结果进行2个像素的膨胀操作,召回率越高代表所探测出来的正确的包含云的像素值越多。
[0040]
4)步骤4,真实含云遥感影像的修复。根据步骤3中得到的无效像元探测结果、步骤1中云修复测试工作样本库中的数据进行缺失信息重建。
[0041]
本发明具有如下优点:
[0042]
1)设计的方法中引入多时相数据进行空间辅助,保证在信息缺失面积较大或者地物类型较为复杂时有足够的可利用信息;2)以unet为基础骨干网络,编码层部分引入密集
连接结构,脱离传统网络通过加深网络层或者加宽网络层来提升效果的思维定式,从信息流传递和多次重复利用特征的角度出发,既减少了参数量,又提高了精度,所有浅层,中层和高层语义信息被保留到最后参与信息重建;3)在编码层与解码层之间引入多尺度特征提取模块,在网络的最后采用多尺度融合模块,进行全局及局部特征提取;4)利用门控卷积层区分整个深层网络中的有效像元和无效像元区域,针对每个通道和每个空间位置,学习一种动态特征选择机制,抑制无效像元区域对应的特征,自动更新输入的无效像元区域。5)从像素级别,特征级别和局部一致性级别设计了一种联合损失函数,实现训练过程中的多层约束,获得更好的光谱、内容一致性。
附图说明
[0043]
图1是本发明的多时相云和阴影修复任务的流程图
[0044]
图2是本发明中的云和阴影修复网络结构示意图。
[0045]
图3是本发明中的多尺度模块示意图。
[0046]
图4是本发明中的复合损失函数的示意图。
[0047]
图5是本发明在模拟数据上的修复结果,其中a图为含丰富植被的山区修复结果示例,b图为水域地区的修复结果示例,c图为居民区地区的修复结果示例,d图为农田地区修复结果示例,e图为植被较少的山区的修复结果示例,f为多类型复合地区的修复结果。
[0048]
图6是本发明在真实有云数据上的修复结果,a,c为植被丰富地区的修复结果,c地区的海拔较之a更高,b为植被稀少地区的修复结果。
具体实施方式
[0049]
下面通过实例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0050]
参见附图1-4,本发明提供了一种结合多时相遥感影像基于门控卷积的云修复方法。进行主体工作之前,需要对遥感影像进行预处理,完成数据准备工作。将下载的landsat8含5%左右云量的遥感影像与对应同一行列号的多时相landsat8遥感影像用envi中的image registration workflow工具进行配准,消除由于不同时间、不同传感器(成像设备)、不同拍摄条件(天候、照度、摄像位置和角度)等因素造成的影像之间的偏差,在此基础上,根据两幅遥感影像的地理坐标信息裁剪得到两者均覆盖到的统一区域。最后,综合考虑计算机性能、网络复杂度等问题,将影像裁剪为512
×
512大小的影像块。
[0051]
1)云和阴影的探测。
[0052]
首先根据已经训练好的云探测网络cdn对于裁剪好的包含云和阴影的影像块进行探测工作。将有云遥感影像块输入进云探测网络cdn,进行像素级的语义分割,得到三通道的云、阴影和背景地物的概率图,将每个像素划归到概率最大的类别,区分云、阴影与背景地物,得到最终的云和阴影的探测结果。
[0053]
2)云和阴影的修复。
[0054]
首先,进行云和阴影样本库的构建。
[0055]
(1)随机生成类似云和阴影分型结构的模板,其中模拟的缺失信息像元的像素值为0。
[0056]
(2)挑选出裁剪后的影像块中未受云和阴影影像的数据,叠加随机生成的模板,模
拟含云遥感影像。
[0057]
(3)结合当前无云的遥感影像、含有模拟缺失信息的遥感影像、多时相无云遥感影像以及模拟缺失信息的模板完成云和阴影修复的训练工作样本库的构建。
[0058]
(4)挑选出裁剪后影像块中真实的含云影像、对应的多时相遥感影像以及步骤(1)中的探测结果,构成云和阴影修复的测试工作样本库。
[0059]
其次,将云和阴影修复训练工作样本库中的含有模拟缺失信息的影像块和多时相影像块分别与模拟的缺失信息模板进行相乘,提取纯净像元。然后,对于输入的含云影像块,多时相影像块,剔除云和阴影像素点的模拟有云影像,对应的剔除无效像元区域像素的多时相影像四幅数据输入进四个不同的卷积层进行特征提取并串联,为了减少参数量,压缩特征维度并且将原始有云影像的特征传递过来,输入后续的云修复网络stgcn中,深度挖掘空间、光谱特征,训练云修复的模型。
[0060]
最后,将云和阴影修复测试样本库中含有真实云和阴影的遥感数据、对应的多时相同一区域的遥感影像以及云和阴影的模板进行相同的特征提取与数据传递工作,输入到训练好的修复模型中,进行缺失信息的重建的同时,完成多时相数据到待修复影像的光谱映射,得到最终的与原始有云影像在光谱信息(色调)上一致的修复结果。
[0061]
图5为本发明提出的算法在模拟数据集上的云修复结果,重建结果细节信息修复完整,与周围不受云影响的区域光谱差异小,无边缘效应。图6为在真实有云遥感影像上的修复结果,与多时相数据相比,重建结果具有较高的真实性,纹理信息、结构信息修复完整,无明显光谱畸变。
[0062]
本文中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例作各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。