一种多级语义融合的云和云影检测方法、设备及存储介质

文档序号:31301921发布日期:2022-08-27 05:11阅读:239来源:国知局
一种多级语义融合的云和云影检测方法、设备及存储介质

1.本发明属于图像处理技术领域,具体涉及一种多级语义融合的云和云影检测方法、设备及存储介质。


背景技术:

2.目前由于航天技术的迅速发展,具有高分辨率的遥感图像的获取方式变得越来越简单,但是获取到的遥感图像由于天气的原因通常会受到云层遮挡的影响,这对提取地物信息产生阻碍,使得提取到的有效信息大大减少,甚至产生错误的判断。同时,云在气象学中也担任了重要的角色,是表征气候变化的重要指标,所以将遥感图像中云层以及云影进行精确分割对遥感图像的后期使用具有重要的作用。
3.现有技术中对云的检测方法主要是通过人工根据云和云影不同波段的阈值或者利用云的不同波段之间的归一化差异来进行识别,但是传统算法普遍存在操作复杂,需要花费大量人力去进行特征提取,检测精度低等问题。
4.近年来,随着人工智能的兴起,也出现了许多利用机器学习,深度学习的检测方法,许多学者将深度学习应用到云的检测当中,虽然深度学习在图像处理领域具有很好的效果,但是对于特定的场景应用许多网络的效果表现得并不是那么理想,在云和云影的检测任务中,大多数网络都存在分割结果不准确,边缘信息恢复的不理想,许多薄云不能准确地检测到以及在检测云影时受到复杂背景的干扰的问题,为此,现在提出一种多级语义融合的云和云影检测方法。


技术实现要素:

5.针对现有技术的不足,本发明的目的在于提供一种多级语义融合的云和云影检测方法、设备及存储介质,解决了现有技术中对于云影的检测精度不够高的技术问题。
6.本发明的目的可以通过以下技术方案实现:一种多级语义融合的云和云影检测方法,方法包括以下步骤:
7.从谷歌地球上直接获取到的原始图片,大小为4800
×
2742像素,之后将原始图片进行统一裁剪,之后通过人工手动进行图片标签的标注,将图片中的云层标注为红色,云影标注为绿色,背景标注为黑色,使得标签与原图一一对应,再将所有图片以8:2的比例划分为训练集和验证集;
8.构建多级特征上下文语义融合网络以及三个所属模块,其中包括多支路残差上下文语义模块,多尺度卷积子通道注意力模块和特征融合上采样模块;
9.将数据集中的图片进行数据增强操作,以0.2的概率对数据集中的图片进行随机旋转,水平翻转或者垂直翻转操作,再将图片和标签转换为张量作为输入序列,并将输入的批量大小设置为8,将初始学习率设置为0.001,衰减系数为0.98,每训练3次更新一次学习率,一共训练了200次,其中学习率计算公式如下:
10.lrn=lr0×
β
n/s
11.其中lrn为第n次训练的学习率大小,lr0为初始学习率,β为衰减系数,s为更新间隔,损失函数选择交叉熵损失函数,计算公式如下:
[0012][0013]
其中x是网络的输出张量,class是真实标签,训练过程中使用adam算法来作为优化器,从而得到训练后的多级特征上下文语义融合网络;
[0014]
输入一张彩色图片,将彩色图片经过训练后的多级特征上下文语义融合网络进行编码解码操作后输出得到云和云影的掩膜图像。
[0015]
进一步地,所述多支路残差上下文语义模块采用残差结构的形式,通过对输入张量进行一个捷径连接的方式实现恒等映射,既没有引入额外的参数也没有引入计算复杂性,且保留输入的部分原始参数;
[0016]
主体部分采用双支路的连接方式,左边支路是一个上下文语义支路,用于提取上下文的语义信息,并且融入了自注意力机制来关注特征图中有意义的信息;右边支路是一个强化特征提取支路,在使用3x3卷积块的同时引入了两个条状卷积,用于强化特征的提取,实现效果的提升;
[0017]
首先将输入张量经过一个1x1的卷积进行通道压缩,将通道压缩为原来的1/2,接着经过双支路输出后将输出张量进行融合,并与输入端构成残差连接后再经过一个双通道注意力模块,建模各个通道特征之间的重要性;
[0018]
多支路残差上下文语义模块中引入了上下文语义支路,将卷积与注意力结合起来,使用卷积提取特征图中的局部信息,首先对于输入特征,使用一个3
×
3的卷积对输入进行特征映射来获得具有局部上下文信息联系的key,标记为k,使用一个1
×
1的卷积对输入进行特征映射来获得value,标记为v,而query仍然采用原来的值,将query标记为q,之后将key与query进行concat并且进行了两次连续的卷积操作后得到每个像素点的权重attention map,标记为a:
[0019]
a=conv(conv(concat[k,q]))
[0020]
其中conv(.)表示卷积操作,concat(.)表示将多个张量进行通道维度上的连接,与传统的注意力机制不同的是,这里的a是由q和局部上下文语义信息k交互得到的,利用局部上下文语义信息之间的交互联系增强了注意力机制,之后再将这个a与v进行相乘得到动态上下文信息x:
[0021]
x=a*v
[0022]
最后将具有局部上下文信息的k与具有全局上下文信息的x相加便得到左边支路的输出结果;
[0023]
右边支路引入了1
×
3和3
×
1这一组条状卷积块,通过分别使用3
×
3,1
×
3和3
×
1这三种卷积核来替代单一的3
×
3卷积核进行计算,之后再将三个输出相加得到最终输出;
[0024]
进一步地,所述多尺度卷积子通道注意力模块用于提取深层通道互相之间的联系,通过分组卷积提取不同尺度的信息后经过改进的金字塔池化模块进一步提取深层语义信息,其中使用了条状池化来精确提取云和云影的边界信息,改善分割边界粗糙的问题,使用多尺度卷积来提取不同尺度的信息以此来提升模型的表达能力,在主支路中首先使用1
×
1,3
×
3,5
×
5,7
×
7不同尺寸的卷积核提取深层特征中不同尺度的信息,这样更好的提取
特征图中的信息,接着使用改进的金子塔池化层对特征图中云和云影的边缘信息进行细化提取,最后进行拼接输出,主干支路计算过程如下:
[0025]ci
=conv(ki×ki
)(x)i=0,1,2,3
[0026]ai1
=avg(ki×
1)(ci)i=0,1,2,3
[0027]ai2
=avg(1
×ki
)(ci)i=0,1,2,3
[0028]ai
=a
i1
+a
i2
[0029]
y=dwconv(concat[a0,a1,a2,a3])
[0030]
其中conv(.)表示不同尺度的卷积,ki表示卷积核大小,avg(.)表示不同尺寸的条状池化,dwconv(.)表示深度可分离卷积,concat(.)表示拼接操作;
[0031]
对输入特征图进行通道上的split,划分为不同的子通道,之后基于每个子通道上使用不同的卷积核进行卷积得到通道上的不同特征图,接着分别经过通道注意力提取不同尺度下的关注度,得到通道注意力向量,最后使用softmax进一步对通道信息进行校准;
[0032]
其中通道注意力模块允许对每个通道的重要性进行评估,从而关注重要的信息,同样的与大多数通道注意力一样首先使用一个自适应全局平均池化层对特征图进行通道信息的提取,接着经过两层一维卷积层对全局信息进行压缩和重新校准,最后通过非线性激活函数sigmoid计算权重,整个辅助支路的计算过程如下:
[0033]fi
=conv(ki×ki
)(x)i=0,1,2,3
[0034]gi
=gap(fi)
[0035]
si=sigmoid(w1σ(w0(gi)))
[0036]
qi=softmax(si)
[0037]
w=concat(q1,q2,q3,q4)
[0038]
其中σ表示非线性激活函数relu,表示一维卷积操作,通过对通道的压缩再还原能够更有效的组合通道间的相互关系,有利于维度之间的信息交互;
[0039]
通过主支路的强化特征提取与辅助支路的通道权重计算得到特征图中的重要信息,将两者进行乘积,最后使用深度可分离卷积进行通道调整,计算公式如下:
[0040]
output=dwconv(w*y)。
[0041]
进一步地,所述特征融合上采样模块将高层特征的语义信息与低层特征的细节信息相互融合,使用高层特征丰富的类别信息来指导低层特征进行分类,采用双支路的模式对低级特征图中的信息进行提取,在左边支路中采用了“瓶颈结构”的模式,引入空洞卷积增大其感受野面积,右边支路同样引入空洞卷积,之后经过一个最大池化层减小邻域大小受限造成的估计值方差增大的误差,保留更多的图像背景信息,对于高级特征来说,首先采用双线性插值上采样的方法将高级特征图上采样到与低级特征图同样的大小,然后经过卷积层对其中的类别信息进行细化提取,将高层特征进行加权后与低层特征进行融合,最后将两边结果进行相加后经过1
×
1卷积对通道进行调整并输出。
[0042]
进一步地,所述多级特征上下文语义融合网络主要采取了多级特征融合的方法,将深层特征与浅层特征进行融合并加入注意力机制,总体是一个编码器-解码器的结构,首先使用残差网络resnet-18作为主干网络并采用逐层下采样方式进行特征提取,接着将输出特征分别经过多支路残差上下文语义模块与多尺度卷积子通道注意力模块进行上下文
语义的提取以及特征强化,加入大量的特征传输通道以及融合操作用于融合不同特征层的信息,编码器部分通过逐层上采样的同时将深层信息与浅层信息进行聚合使得网络中的上下文信息传播到更高分辨率的层中,最后在输出端采用一个残差模块进行通道阶梯细化。
[0043]
进一步地,所述裁剪的方式为滑动无盖切割,所裁剪获取的图像为3通道,宽高为224的大小。
[0044]
进一步地,所述裁剪后的图片的大小为224
×
224。
[0045]
进一步地,经过双支路特征提取后进入一个双通道注意力模块,由于常见的通道注意力大都是直接采用全局平均池化从而会导致边缘信息的丢失,使用两种类型的全局池化操作,分别是全局平均池化和全局最大池化,使得提取到的特征信息更加丰富,接着使用1x1卷积操作提取通道之间的相互信息,主要关注不同的特征信息在不同通道之间的重要性,计算公式如下:
[0046]gmax
=conv1d(gmp(x))
[0047]gavg
=conv1d(gap(x))
[0048]
其中gmp(.),gap(.)分别为全局最大池化和全局平均池化操作,conv1d(.)为一维卷积操作,接着将两条分支的结果进行拼接后经过卷积操作,自适应的关注全局平均池化和最大池化的特征信息,加强对有用信息的关注,如云层和云影的边缘轮廓和像素颜色值,弱化了对无用信息的关注,如背景农田和房屋建筑,最后经过非线性激活函数sigmoid(.)与输入原始特征层进行乘积运算,计算过程如下:
[0049]
g=concat(g
max
,g
avg
)
[0050]
w=sigmoid(conv1d(g))
[0051]yout
=x*w
[0052]
其中concat(.)表示拼接操作,sigmoid(.)表示非线性激活函数,conv1d(.)表示一维卷积操作。
[0053]
一种设备,其特征在于,包括:
[0054]
一个或多个处理器;
[0055]
存储器,用于存储一个或多个程序;
[0056]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的一种多级语义融合的云和云影检测方法。
[0057]
一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如上所述的一种多级语义融合的云和云影检测方法。
[0058]
本发明的有益效果:
[0059]
本发明在使用的过程中,使用残差网络作为骨干网络对输入图片数据进行特征提取,整体采用编码器-解码器的结构,在模型中我们提出了多支路残差上下文语义模块,多尺度卷积子通道注意力模块和特征融合上采样模块三个模块用于强化特征提取,细化云和云影边缘信息,增强模型的实际分割能力,相较于当前的方法检测云和云影更加准确,可以有效减少背景信息的干扰,增强对云层边缘以及薄云的检测能力,同样的,本文所提出的模型在分割其他物体方面也具有不错的效果,泛化能力优秀。
附图说明
[0060]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]
图1为本发明的云检测网络结构示意图;
[0062]
图2为本发明的多支路残差上下文语义模块示意图;
[0063]
图3为本发明的多尺度卷积子通道注意力模块示意图;
[0064]
图4为本发明的特征融合上采样模块示意图;
[0065]
图5为本发明实施例的训练集样本图,其中上半部分为遥感图像原图,下半部分为对应的标签图;
[0066]
图6为本发明实施例进行预测的遥感图像原图;
[0067]
图7为本发明实施例进行预测的遥感图像原图的预测图。
具体实施方式
[0068]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0069]
如图1所示,一种多级语义融合的云和云影检测方法,包括:
[0070]
训练集和数据集的获取:
[0071]
首先是训练集的获取,获取的图片大小为4800
×
2742像素,由于受到显卡内存的限制,将原始图片统一裁剪为224
×
224大小,裁剪方式为滑动无盖切割,最终得到3
×
224
×
224大小的图像,表示所裁剪获取的图像为3通道,宽高为224的大小,之后将所有图片以8:2的比例划分为训练集和验证集。
[0072]
我们选取的图片包含多个不同角度、高度以及背景,目的是为了确保图片背景的复杂性,使得数据会更加具有真实性,图片背景主要包含林地,水域,荒漠,建筑,农田等多处景象,如图5所示,选取了训练集中的部分图片机器标签进行展示。
[0073]
二、构建多级特征上下文语义融合网络
[0074]
一种基于多级特征上下文语义融合网络的遥感图像云和云影的检测方法的结构如图1所示。采用端到端的训练方式,mfcsf主要由主干网络,多支路残差上下文语义模块(mrcs),多尺度卷积子通道注意力模块(mcsa),多尺度卷积子通道注意力模块(mcsa)以及特征融合上采样模块(ffu)构成。网络主要采取了多级特征融合的方法,将深层特征与浅层特征进行融合并加入注意力机制,总体是一个编码器-解码器的结构。该网络首先使用resnet-18作为主干网络采用逐层下采样方式进行特征提取,接着将输出特征分别经过mrcs与mcsa模块进行上下文语义的提取以及特征强化,在网络中我们加入了大量的特征传输通道以及融合操作用于融合不同特征层的信息,编码器部分通过逐层上采样的同时将深层信息与浅层信息进行聚合可以使得网络中的上下文信息传播到更高分辨率的层中。最后在输出端采用一个残差模块进行通道阶梯细化。
[0075]
需要进一步进行说明的是,在具体实施过程中,所述多支路残差上下文语义模块
采用残差结构的形式,通过对输入张量进行一个捷径连接的方式实现恒等映射,既没有引入额外的参数也没有引入计算复杂性,且保留输入的部分原始参数;
[0076]
主体部分采用双支路的连接方式,左边支路是一个上下文语义支路,用于提取上下文的语义信息,并且融入了自注意力机制来关注特征图中有意义的信息;右边支路是一个强化特征提取支路,在使用3x3卷积块的同时引入了两个条状卷积,用于强化特征的提取,实现效果的提升;
[0077]
首先将输入张量经过一个1x1的卷积进行通道压缩,将通道压缩为原来的1/2,接着经过双支路输出后将输出张量进行融合,并与输入端构成残差连接后再经过一个双通道注意力模块,建模各个通道特征之间的重要性;
[0078]
多支路残差上下文语义模块中引入了上下文语义支路,将卷积与注意力结合起来,使用卷积提取特征图中的局部信息,首先对于输入特征,使用一个3
×
3的卷积对输入进行特征映射来获得具有局部上下文信息联系的key,标记为k,使用一个1
×
1的卷积对输入进行特征映射来获得value,标记为v,而query仍然采用原来的值,将query标记为q,之后将key与query进行concat并且进行了两次连续的卷积操作后得到每个像素点的权重attention map,标记为a:
[0079]
a=conv(conv(concat[k,q]))
[0080]
其中conv(.)表示卷积操作,concat(.)表示将多个张量进行通道维度上的连接,与传统的注意力机制不同的是,这里的a是由q和局部上下文语义信息k交互得到的,利用局部上下文语义信息之间的交互联系增强了注意力机制,之后再将这个a与v进行相乘得到动态上下文信息x:
[0081]
x=a*v
[0082]
最后将具有局部上下文信息的k与具有全局上下文信息的x相加便得到左边支路的输出结果;
[0083]
右边支路引入了1
×
3和3
×
1这一组条状卷积块,通过分别使用3
×
3,1
×
3和3
×
1这三种卷积核来替代单一的3
×
3卷积核进行计算,之后再将三个输出相加得到最终输出。
[0084]
需要进一步进行说明的是,在具体实施过程中,所述多尺度卷积子通道注意力模块用于提取深层通道互相之间的联系,通过分组卷积提取不同尺度的信息后经过改进的金字塔池化模块进一步提取深层语义信息,其中使用了条状池化来精确提取云和云影的边界信息,改善分割边界粗糙的问题,使用多尺度卷积来提取不同尺度的信息以此来提升模型的表达能力,在主支路中首先使用1
×
1,3
×
3,5
×
5,7
×
7不同尺寸的卷积核提取深层特征中不同尺度的信息,这样更好的提取特征图中的信息,接着使用改进的金子塔池化层对特征图中云和云影的边缘信息进行细化提取,最后进行拼接输出,主干支路计算过程如下:
[0085]ci
=conv(ki×ki
)(x)i=0,1,2,3
[0086]ai1
=avg(ki×
1)(ci)i=0,1,2,3
[0087]ai2
=avg(1
×ki
)(ci)i=0,1,2,3
[0088]ai
=a
i1
+a
i2
[0089]
y=dwconv(concat[a0,a1,a2,a3])
[0090]
其中conv(.)表示不同尺度的卷积,ki表示卷积核大小,avg(.)表示不同尺寸的条状池化,dwconv(.)表示深度可分离卷积,concat(.)表示拼接操作;
[0091]
对输入特征图进行通道上的split,划分为不同的子通道,之后基于每个子通道上使用不同的卷积核进行卷积得到通道上的不同特征图,接着分别经过通道注意力提取不同尺度下的关注度,得到通道注意力向量,最后使用softmax进一步对通道信息进行校准;
[0092]
其中通道注意力模块允许对每个通道的重要性进行评估,从而关注重要的信息,同样的与大多数通道注意力一样首先使用一个自适应全局平均池化层对特征图进行通道信息的提取,接着经过两层一维卷积层对全局信息进行压缩和重新校准,最后通过非线性激活函数sigmoid计算权重,整个辅助支路的计算过程如下:
[0093]fi
=conv(ki×ki
)(x)i=0,1,2,3
[0094]gi
=gap(fi)
[0095]
si=sigmoid(w1σ(w0(gi)))
[0096]
qi=softmax(si)
[0097]
w=concat(q1,q2,q3,q4)
[0098]
其中σ表示非线性激活函数relu,表示一维卷积操作,通过对通道的压缩再还原能够更有效的组合通道间的相互关系,有利于维度之间的信息交互;
[0099]
通过主支路的强化特征提取与辅助支路的通道权重计算得到特征图中的重要信息,将两者进行乘积,最后使用深度可分离卷积进行通道调整,计算公式如下:
[0100]
output=dwconv(w*y)。
[0101]
需要进一步进行说明的是,所述特征融合上采样模块将高层特征的语义信息与低层特征的细节信息相互融合,使用高层特征丰富的类别信息来指导低层特征进行分类,采用双支路的模式对低级特征图中的信息进行提取,在左边支路中采用了“瓶颈结构”的模式,引入空洞卷积增大其感受野面积,右边支路同样引入空洞卷积,之后经过一个最大池化层减小邻域大小受限造成的估计值方差增大的误差,保留更多的图像背景信息,对于高级特征来说,首先采用双线性插值上采样的方法将高级特征图上采样到与低级特征图同样的大小,然后经过卷积层对其中的类别信息进行细化提取,将高层特征进行加权后与低层特征进行融合,最后将两边结果进行相加后经过1
×
1卷积对通道进行调整并输出。
[0102]
由于遥感图像中包含的类别信息十分丰富,普通网络在识别云或者云影时很容易受到复杂背景的干扰,所以为了精确识别图片中的云和云影部分,我们在网络中加入了多支路残差上下文语义模块(mrcs),其整体结构图如图2所示,在整体网络中加入mrcs模块,可以很好的提取出不同空间位置之间的特征交互信息以及通道之间的相互联系。
[0103]
在这个模块中,整体采用残差结构的形式,通过对输入张量进行一个捷径连接的方式实现恒等映射,这里既没有引入额外的参数也没有引入计算复杂性,可以保留输入的部分原始参数。此模块的主体部分采用双支路的连接方式,左边支路是一个上下文语义支路,用于提取上下文的语义信息,并且融入了自注意力机制来关注特征图中有意义的信息;右边支路是一个强化特征提取支路,在使用3
×
3卷积块的同时引入了两个条状卷积,用于强化特征的提取,实现效果的提升。
[0104]
在云和云影检测过程中,云和云影的边界充满了不规则的形状,并且受到复杂背景的干扰,所以精确的识别出云和云影的边界信息显得十分困难,所以在这里我们提出了多尺度卷积子通道注意力模块(mcsa),整个模块不仅可以提取深层通道互相之间的联系,
通过分组卷积提取不同尺度的信息后经过改进的金字塔池化模块进一步提取深层语义信息。其中使用条状池化来精确提取云和云影的边界信息,改善分割边界粗糙的问题。整个模块结构如图3所示。
[0105]
最后在解码器上采样输出云和云影的分割图像时加入特征融合上采样模块(ffu),如图4所示是整个模块的结构图,在上采样过程中将高层特征的语义信息与低层特征的细节信息相互融合,使用高层特征丰富的类别信息来指导低层特征进行分类。
[0106]
三、利用数据集进行网络模型的训练:
[0107]
本发明采用有监督训练的训练模式,首先将数据集中的图片进行数据增强操作,以0.2的概率对数据集中的图片进行随机旋转,水平翻转或者垂直翻转操作,再将图片和标签转换为张量作为输入序列并将输入将每次的批量大小设置为8,采用等间隔调整学习率(steplr)策略随着训练次数的增大相应的减小学习率来进行训练以达到更好的训练效果,其中将初始学习率设置为0.001,衰减系数为0.98,每训练3次更新一次学习率,一共训练了200次。在训练过程中使用adam算法进行优化,反向传播更新网络的参数。
[0108]
四、使用训练好的网络模型进行预测并生成云和云影的掩膜图像:
[0109]
训练结束后得到模型的权重,接下来进入模型预测的预测阶段,本发明在预测时,使用训练好的多级特征上下文语义融合网络进行预测,输入一张彩色图片到模型中,如图6所示为进行测试的原始彩色遥感图像,经过训练好的权重提取特征进行编码解码操作后输出得到云和云影的掩膜图像,如图7所示。
[0110]
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0111]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1