1.本发明属于
遥感图像处理领域,特别涉及一种
标签引导自编码网络,可用于遥感场景开放集分类。
背景技术:
2.随着卫星成像技术的发展,遥感图像易于获取,包含丰富的空间细节和地物邻域关系。遥感场景分类旨在为每个遥感图像准确分配语义标签,在城市规划和环境监测中起着至关重要的作用。
3.传统的遥感场景分类方法通常使用颜直方图和尺度不变变换提取手工制作的
特征,然后通过视觉词袋、概率主题模型等中级方法对这些特征进行编码或量化。这些方法依赖于浅层特征,表示能力相对较弱。
卷积神经网络(convolutional neural network,cnn)构建了一个层次结构来提取判别和语义特征。基于卷积神经网络的网络已被广泛使用,并在遥感场景分类中取得了令人满意的结果。
4.大多数基于卷积神经网络的遥感场景分类方法都在“静态封闭集”假设下,这意味着所有测试样本都属于已知类,是带有标签的数据。由于地面场景广阔,数据标注不全,遥感图像通常包含许多未标注过的未知场景,“静态封闭集”假设在遥感中难以保证。现有的遥感场景分类方法容易将未知类的样本强制错误分类为已知类。因此,将测试样本正确分类为未知类别变得至关重要。在给定的遥感图像中检测已知和未知场景并正确分类已知场景被定义为遥感场景的开放集分类。
5.遥感场景开放集分类近年来逐渐受到关注。遥感场景开放集分类的关键在于提高未知样本的检测能力,同时保持已知类分类的准确性。有人提出了一种开放集域自适应算法,该算法减少了域的全局分布差异和同一类在不同域中的局部分布差异,用于遥感场景开放集分类。然而,上述方法基于图像重建,容易受到复杂背景的干扰,弱化了区分已知和未知类的性能。
6.综上所述,现有基于深度卷积神经网络的遥感场景开放集分类方法难以有效剔除复杂背景的干扰,导致遥感场景开放集分类的精度较低。
技术实现要素:
7.本发明针对现有方法的不足,提出一种多任务学习的标签引导自编码网络的遥感场景开放集分类方法,保证已知类分类精度的同时有效检测未知类,提高遥感场景开放集分类的精度。
8.本发明采用如下技术方案:
9.一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,包括如下步骤:
10.(1)提取训练集图像的特征,并对图像特征再表达。将卷积神经网络在数据集
imagenet预训练好。用上述预训练好的卷积神经网络提取图像全局特征和局部特征,其中,除去resnet50的最后一个分类器,剩余部分作为特征提取器,剩余部分的输出做为图像提取的特征;
11.(2)构建标签引导的自编码网络,对图像特征进行卷积编码。将第(1)步的输出输入到编码器中进行编码,不改变每幅图像局部特征的数目;
12.(3)对图像特征进行标签引导解码。将第(2)步的输出输入到标签引导层中进行求解,同时将第(2)步的输出输入到解码器中进行解码。不改变每幅图像局部特征的数目;
13.(4)构建损失函数。本方法包括分类和重建两个任务,总体损失函数对应包括分类损失和重建损失两部分。分类任务使用交叉熵损失函数,特征重建任务使用均方误差函数计算;
14.(5)模型训练。使用adam优化器算法,通过使第(4)步定义的损失函数最小来迭代训练参数,直至网络收敛。
15.(6)模型测试。将测试数据集的图像特征输入到训练好的标签引导自编码网络中,得到场景类别。
16.进一步的,步骤(1)中提取训练集图像的多层卷积特征包括如下步骤:
17.利用卷积操作、池化操作、全连接操作搭建resnet50卷积神经网络,使用imagenet数据集对resnet50进行预训练,然后将遥感场景图像输入到预训练的resnet50中提取多层卷积特征,使用resnet50最后一个stage的卷积操作提取特征,记为x
′
∈rm×n×c,其中m和n为卷积特征x的宽和高,c为卷积特征x的通道数,即resnet50在imagenet上预训练好,将图像经过resnet50网络,得到resnet50模型最后一个卷积层conv5.x的输出feature map,即:
18.x
′
=conv(i)
19.其中,conv表示特征提取过程,i是输入的图像,x
′
对表示提取到的特征。
20.进一步的,步骤(2)中对图像表达进行卷积编码包括:
21.对步骤(1)中的图像表达进行卷积编码,将x输入到编码器e中提取潜在向量,计算公式如下:
22.zi=[z
i1
,z
i2
,
…
,z
im
]=e[x
′
]=e[x
′1,x
′2,
…
,x
′m]
[0023]
其中,zi表示编码得到的张量集合,z
im
表示第m个输入编码得到的特征,m为输入图像的个数;x
′i表示第i个训练样本提取的特征,e表示编码器,主要由卷积层,池化层和batch normalization层即bn层组成,卷积层负责获取图像局域特征,池化层对图像进行下采样并且将尺度不变特征传送到下一层,而bn层主要对训练图像的分布归一化,加速学习;使用编码器用于将输入的特征序列编码成低位的向量表示,输出结果记为z。
[0024]
进一步的,其特征在于,步骤(3)中对图像特征进行标签引导解码包括:
[0025]
(3a)为了在训练期间更好地学习已知类和未知类的重建误差分布,对步骤(2)用编码器e提取潜在向量{z
i1
,z
i2
,
…
,z
im
}进行标签解码训练,通过应用基于标签信息的特征线性调制来调节潜在向量;对缩小后的特征向量进行上采样,然后对上采样后的特征进行卷积处理,完善物体的几何形状,弥补编码器池化层将物体缩小造成的细节损失;当以与输入的类标识匹配的标签向量为条件时,解码器可近乎一致地重建原始输入特征,对于包含标签信息的输入特征z和向量lj,其具体计算公式如下:
[0026]
γj=h
γ
(lj),βj=h
β
(lj)
[0027][0028]
其中,
[0029][0030]hγ
和h
β
是具有参数θ
γ
和θ
β
的神经网络,计算得到的张量γj,βj具有相同的形状,lj用于条件化,此处称为标签条件向量,
⊙
代表hadamard积,zi表示类标识符和标签向量匹配时,计算得到的张量,z
im
表示类标识符和标签向量不匹配时,计算得到的张量;
[0031]
(3b)对于给定输入进行特征重建;输入的类标识符和标签向量匹配时记为lm,否则,记为l
nm
经过注意力机制后的图像信息编码对于来自给定输入的x和和标签解码训练具体计算公式为:
[0032][0033][0034][0035][0036]
公式解释与步骤(3a)一致,由于标签包括匹配和未匹配两种情况,此处参数上标为m表示标签匹配成功,参数上标为nm表示标签匹配失败;和分别代表匹配成功和匹配失败的标签信息,和为神经网络h
γ
匹配成功和失败的输出,和为神经网络h
β
匹配成功和失败的输出,得到的输出分别输入特征zi进行线性组合分别得到和最后送入解码器得到匹配和不匹配的重建特征和d表示解码器decoder。
[0037]
进一步的,步骤(4)中构建损失函数包括:
[0038]
(4a)编码器e参数为θe,分类器c参数为θc使用交叉熵损失,损失函数公式如下:
[0039][0040]
其中,y(i)表示第i个样本对应的真实标签即one-hot向量,预测的概率能力得分向量是第i个样本来自第j个类别的概率。
[0041]
(4b)标签解码层包括参数为θd的解码码器d和参数为θ
γ
和θ
β
的标签引导层损失函数如下所示:
[0042][0043][0044]
其中,zi表示标签解码层第i个样本的输入特征,表示第i个样本标签向量匹配
成功的重建特征,表示第i个样本标签向量匹配失败的重建特征,损失函数对应使用匹配标签向量重建的损失,损失函数对应使用不匹配标签向量重建的损失,n表示样本总数,k表示已知类的个数;
[0045]
(4c)该方法包括分类和重建两个任务,所以总体损失也应该包括分类损失和重建损失两部分,总体损失的公式可写为:
[0046][0047]
λ1和λ2表示表示权重系数。
[0048]
进一步的,步骤(5)中模型训练包括:
[0049]
利用adam优化器算法,通过使步骤(4)定义的损失函数最小来迭代训练参数θe,θc,θd,θ
γ
,θ
β
,直至网络收敛。
[0050]
进一步的,步骤(6)中预测遥感场景类别包括:
[0051]
将测试的遥感场景输入到训练完成后的标签自编码网络中,得到重建误差;根据已知类和未知类重建误差的分布选取阈值,将每个测试样本测试得到的重建误差和该阈值进行比较,如果重建误差大于阈值,则认为该样本为未知类,否则认为该样本为已知类,将分类器输出的场景类别作为该类的类别。
[0052]
本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器运行所述计算机程序时,执行上面所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的步骤。
[0053]
本发明还提出一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行上面公开的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的步骤。
[0054]
本发明利用卷积神经网络cnn提取已知类的图像特征,然后在特征层面基于已知类的特征分布对图像进行重建,使得重建特征更具判别性。经过模型训练,可以不断减小已知类的重建误差,增大已知和未知类别的可判别性,从而确保遥感场景开放集分类的精度。
附图说明
[0055]
图1为本发明所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的流程图。
具体实施方式
[0056]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图1对本发明作进一步详细的说明。参照图1,本发明一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,实现的步骤如下:
[0057]
步骤(1)中提取训练集图像的多层卷积特征包括如下步骤:
[0058]
(1a)首先,利用卷积操作、池化操作、全连接操作等搭建resnet50卷积神经网络。具体来说,使用imagenet数据集对resnet50进行预训练,然后将遥感场景图像输入到预训练的resnet50中提取多层卷积特征。使用resnet50最后一个stage的卷积操作提取特征,记为x
′
∈rm×n×c,其中m和n为卷积特征x的宽和高,c为卷积特征x的通道数。即resnet50在
imagenet上预训练好,将图像经过resnet50网络,得到resnet50模型最后一个卷积层conv5.x的输出featuremap,即:
[0059]
x
′
=conv(i)
[0060]
其中,conv表示特征提取过程,i是输入的图像,x
′
对表示提取到的特征。
[0061]
步骤(2),对图像表达进行卷积编码。
[0062]
(2a)对(1a)中的图像表达进行卷积编码。将x输入到编码器e中提取潜在向量,计算公式如下:
[0063]
zi=[z
i1
,z
i2
,
…
,z
im
]=e[x
′
]=e[x
′1,x
′2,
…
,x
′m]
[0064]
其中,zi表示编码得到的张量集合,z
im
表示第m个输入编码得到的特征,m为输入图像的个数;x
′i表示第i个训练样本提取的特征,e表示编码器,主要由卷积层,池化层和batch normalization层(bn层)组成。卷积层负责获取图像局域特征,池化层对图像进行下采样并且将尺度不变特征传送到下一层,而bn主要对训练图像的分布归一化,加速学习。使用编码器用于将输入的特征序列编码成低位的向量表示。输出结果记为z。
[0065]
步骤(3)中对图像特征进行标签引导解码包括:
[0066]
(3a)为了在训练期间更好地学习已知类和未知类的重建误差分布,对上文(2a)用编码器e提取潜在向量{z
i1
,z
i2
,
…
,z
im
}进行标签解码训练,通过应用基于标签信息的特征线性调制来调节潜在向量。对缩小后的特征向量进行上采样,然后对上采样后的特征进行卷积处理,可以完善物体的几何形状,弥补编码器池化层将物体缩小造成的细节损失。当以与输入的类标识匹配的标签向量为条件时,解码器可近乎一致地重建原始输入特征。对于包含标签信息的输入特征z和向量lj,其具体计算公式如下:
[0067]
γj=h
γ
(lj),βj=h
β
(lj)
[0068][0069]
其中,
[0070][0071]hγ
和h
β
是具有参数θ
γ
和θ
β
的神经网络。计算得到的张量γj,βj具有相同的形状,lj用于条件化,此处称为标签条件向量,
⊙
代表hadamard积。
[0072]
(3b)对于给定输入进行特征重建。输入的类标识符和标签向量匹配时记为lm,否则,记为l
nm
经过注意力机制后的图像信息编码对于来自给定输入的x和和标签解码训练具体计算公式为:
[0073][0074][0075][0076][0077]
公式解释与(3a)一致,由于标签包括匹配和未匹配两种情况,此处参数上标为m表
示标签匹配成功,参数上标为nm表示标签匹配失败;和分别代表匹配成功和匹配失败的标签信息,和为神经网络h
γ
匹配成功和失败的输出,和为神经网络h
β
匹配成功和失败的输出,得到的输出分别输入特征zi进行线性组合分别得到和最后送入解码器得到匹配和不匹配的重建特征和d表示解码器decoder。
[0078]
步骤(4),构建损失函数。
[0079]
(4a)编码器e参数为θe,分类器c参数为θc使用交叉熵损失,损失函数公式如下:
[0080][0081]
其中,y(i)表示第i个样本对应的真实标签(one-hot向量),预测的概率能力得分向量是第i个样本来自第j个类别的概率。
[0082]
(4b)标签解码层包括解码器d(参数为θd)和标签引导层(参数为θ
γ
和θ
β
)损失函数如下所示:
[0083][0084][0085]
其中,zi表示标签解码层第i个样本的输入特征,表示第i个样本标签向量匹配成功的重建特征,表示第i个样本标签向量匹配失败的重建特征。损失函数对应使用匹配标签向量重建的损失,损失函数对应使用不匹配标签向量重建的损失。
[0086]
(4c)由于该方法包括分类和重建两个任务,所以总体损失也应该包括分类损失和重建损失两部分,总体损失的公式可写为:
[0087][0088]
λ1和λ2表示表示权重系数。
[0089]
步骤(5),模型训练,以训练网络。
[0090]
利用adam优化器算法,通过使步骤4定义的损失函数最小来迭代训练参数θe,θc,θd,θ
γ
,θ
β
,直至网络收敛。
[0091]
步骤(6),预测遥感场景类别。
[0092]
将测试的遥感场景输入到训练完成后的标签自编码网络中,得到重建误差。根据已知类和未知类重建误差的分布选取阈值,将每个测试样本测试得到的重建误差和该阈值进行比较,如果重建误差大于阈值,则认为该样本为未知类,否则认为该样本为已知类,将分类器输出的场景类别作为该类的类别。
[0093]
本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器运行所述计算机程序时,执行上面所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的步骤。
[0094]
本发明还提出一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行上面公开的一种基于多任务学习的标签引导自编码网络的遥感场景开放集
分类方法的步骤。
[0095]
以上所述仅为本发明的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,包括如下步骤:(1)提取训练集图像的特征,并对图像特征再表达;将卷积神经网络在数据集imagenet预训练好,用上述预训练好的卷积神经网络提取图像全局特征和局部特征,其中,除去resnet50的最后一个分类器,剩余部分作为特征提取器,剩余部分的输出做为图像提取的特征;(2)构建标签引导的自编码网络,对图像特征进行卷积编码;(3)对图像特征进行标签引导解码;(4)构建损失函数:包括分类和重建两个任务,总体损失函数对应包括分类损失和重建损失两部分,分类任务使用交叉熵损失函数,特征重建任务使用均方误差函数计算;(5)模型训练;(6)模型测试,将测试数据集的图像特征输入到训练好的标签引导的自编码网络中,得到场景类别。2.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(1)中提取训练集图像的多层卷积特征包括如下步骤:利用卷积操作、池化操作、全连接操作搭建resnet50卷积神经网络,使用imagenet数据集对resnet50进行预训练,然后将遥感场景图像输入到预训练的resnet50中提取多层卷积特征,使用resnet50最后一个stage的卷积操作提取特征,记为x
′
∈r
m
×
n
×
c
,其中m和n为卷积特征x的宽和高,c为卷积特征x的通道数,即resnet50在imagenet上预训练好,将图像经过resnet50网络,得到resnet50模型最后一个卷积层conv5.x的输出featuremap,即:x
′
=conv(i)其中,conv表示特征提取过程,i是输入的图像,x
′
对表示提取到的特征。3.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(2)中对图像表达进行卷积编码包括:对步骤(1)中的图像表达进行卷积编码,将x输入到编码器e中提取潜在向量,计算公式如下:z
i
=[z
i1
,z
i2
,
…
,z
im
]=e[x
′
]=e[x
′1,x
′2,
…
,x
′
m
]其中,z
i
表示编码得到的张量集合,z
im
表示第m个输入编码得到的特征,m为输入图像的个数;x
′
i
表示第i个训练样本提取的特征,e表示编码器,主要由卷积层,池化层和batch normalization层即bn层组成,卷积层负责获取图像局域特征,池化层对图像进行下采样并且将尺度不变特征传送到下一层,而bn层主要对训练图像的分布归一化,加速学习;使用编码器用于将输入的特征序列编码成低位的向量表示,输出结果记为z。4.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(3)中对图像特征进行标签引导解码包括:(3a)为了在训练期间更好地学习已知类和未知类的重建误差分布,对步骤(2)用编码器e提取潜在向量{z
i1
,z
i2
,
…
,z
im
}进行标签解码训练,通过应用基于标签信息的特征线性调制来调节潜在向量;对缩小后的特征向量进行上采样,然后对上采样后的特征进行卷积处理,完善物体的几何形状,弥补编码器池化层将物体缩小造成的细节损失;当以与输入的类标识匹配的标签向量为条件时,解码器可近乎一致地重建原始输入特征,对于包含标签
信息的输入特征z和向量l
j
,其具体计算公式如下:γ
j
=h
γ
(l
j
),β
j
=h
β
(l
j
)z
lj
=γ
j
⊙
z+β
j
其中,h
γ
和h
β
是具有参数θ
γ
和θ
β
的神经网络,计算得到的张量z
lj
,γ
j
,β
j
具有相同的形状,l
j
用于条件化,此处称为标签条件向量,
⊙
代表hadamard积;(3b)对于给定输入进行特征重建;输入的类标识符和标签向量匹配时记为l
m
,否则,记为l
nm
经过注意力机制后的图像信息编码对于来自给定输入的x和和标签解码训练具体计算公式为:码训练具体计算公式为:码训练具体计算公式为:码训练具体计算公式为:公式解释与步骤(3a)一致,由于标签包括匹配和未匹配两种情况,此处参数上标为m表示标签匹配成功,参数上标为nm表示标签匹配失败;和分别代表匹配成功和匹配失败的标签信息,和为神经网络h
γ
匹配成功和失败的输出,和为神经网络h
β
匹配成功和失败的输出,得到的输出分别输入特征z
i
进行线性组合分别得到和最后送入解码器得到匹配和不匹配的重建特征和d表示解码器decoder。5.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(4)中构建损失函数包括:(4a)编码器e参数为θ
e
,分类器c参数为θ
c
使用交叉熵损失,损失函数公式如下:其中,y(i)表示第i个样本对应的真实标签即one-hot向量,预测的概率能力得分向量p
yi
(j)是第i个样本来自第j个类别的概率;(4b)标签解码层包括参数为θ
d
的解码码器d和参数为θ
γ
和θ
β
的标签引导层损失函数如下所示:如下所示:其中,z
i
表示标签解码层第i个样本的输入特征,表示第i个样本标签向量匹配成功的
重建特征,表示第i个样本标签向量匹配失败的重建特征,损失函数对应使用匹配标签向量重建的损失,损失函数对应使用不匹配标签向量重建的损失,n表示样本总数,k表示已知类的个数;(4c)该方法包括分类和重建两个任务,所以总体损失也应该包括分类损失和重建损失两部分,总体损失的公式可写为:λ1和λ2表示表示权重系数。6.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(5)中模型训练包括:利用adam优化器算法,通过使步骤(4)定义的损失函数最小来迭代训练参数θ
e
,θ
c
,θ
d
,θ
γ
,θ
β
,直至网络收敛。7.如权利要求1所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,其特征在于,步骤(6)中预测遥感场景类别包括:将测试的遥感场景输入到训练完成后的标签自编码网络中,得到重建误差;根据已知类和未知类重建误差的分布选取阈值,将每个测试样本测试得到的重建误差和该阈值进行比较,如果重建误差大于阈值,则认为该样本为未知类,否则认为该样本为已知类,将分类器输出的场景类别作为该类的类别。8.一种电子设备,其特征在于:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时,执行如权利要求1-7任一项所述的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的步骤。9.一种计算机可读存储介质,其存储计算机程序,其特征在于,所述计算机程序使得计算机执行权利要求1-7任一项公开的一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法的步骤。
技术总结
本发明公开了一种基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,包括以下步骤:(1)将卷积神经网络在数据集ImageNet上预训练好;(2)提取遥感数据集中的特征;(3)将提取的特征输入标签引导自编码器进行特征重建任务;(4)构建损失函数,损失函数包含分类任务损失和重建任务损失两部分。通过使用反向传播算法优化网络参数,使损失函数达到最小;(5)将测试数据集的图像样本输入网络,产生测试集图像对应的重建特征,并和提取的特征进行比较计算重建误差,设定阈值根据重建误差的大小划分已知和未知类。本发明与现有方法相比,基于多任务学习的标签引导自编码网络的遥感场景开放集分类方法,能够有效抑制复杂背景的干扰,可用于环境监测、城市规划等方面。城市规划等方面。城市规划等方面。
技术研发人员:
周东波 李千千 孙昊 刘三女牙
受保护的技术使用者:
华中师范大学
技术研发日:
2022.07.19
技术公布日:
2022/11/22