基于双线性孪生架构的遥感场景分类方法和装置转让专利

申请号 : CN202110777702.0

文献号 : CN113449672B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邹焕新曹旭李润林应昕怡贺诗甜李美霖成飞魏娟孙丽

申请人 : 中国人民解放军国防科技大学

摘要 :

本申请涉及一种基于双线性孪生架构的遥感场景分类方法和装置。所述方法包括:获取遥感场景图像,并对其进行处理并平均分为两组,得到两组训练样本;构建基于双线性孪生架构的遥感场景分类网络,该网络包括:孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;构建损失函数,损失函数包括:分类损失、对比损失以及双线性损失;根据两组训练样本,并根据损失函数,对遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。基于双线性孪生架构的遥感场景分类网络可以超过自身分类网络的性能,并使训练过程更快更稳定。

权利要求 :

1.一种基于双线性孪生架构的遥感场景分类方法,其特征在于,所述方法包括:获取遥感场景图像,对所述遥感场景图像进行处理并平均分为两组,得到两组训练样本;

构建基于双线性孪生架构的遥感场景分类网络,所述遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;所述特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征;双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合,并最终输出双线性预测分类;所述分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性模块的输出进行分类得到双线性预测分类;所述融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果;

构建损失函数,所述损失函数包括:分类损失、对比损失以及双线性损失;

根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;

获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果;

其中,构建损失函数,包括:

将所述分类损失、所述对比损失以及所述双线性损失进行加权融合得到总损失,总损失的函数表达式为:Loss=w1*Lcls+w2*Lcontrastive+w3*Lbilinear其中:Loss为总损失,w1,w2,w3为损失权重,Lcls表示分类损失,Lcontrastive表示对比损失,Lbilinear表示双线性损失;

Lbilinear=0.5*CE(y,labelA)+0.5*CE(y,labelB),其中,y表示双线性预测分类结果,labelA表示图像A的真值标签,labelB表示图像B的真值标签。

2.根据权利要求1所述的方法,其特征在于,根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型,包括:将一对所述遥感场景图像样本分别输入到特征提取网络的第一个卷积神经网络,得到第一个图像特征和第二个图像特征;

将所述第一个图像特征和所述第二个图像特征输入到所述双线性模块,得到双线性特征;

将所述第一个图像特征、所述第二个图像特征以及所述双线性特征输入到分类网络中,得到预测分类结果和预测双线性分类结果;

根据所述分类预测结果和预测双线性分类结果、样本自身真值标签以及所述损失函数,对所述遥感场景分类网络进行反向训练,得到训练好的遥感场景分类模型。

3.根据权利要求2所述的方法,其特征在于,所述双线性模块包括:两个并列的特征提取模块和全连接层;所述特征提取模块是将卷积神经网络AlexNet或VGGNet去掉最后的全连接层和Softmax层的卷积神经网络;

将所述第一个图像特征和所述第二个图像特征输入到所述双线性模块,得到双线性特征,包括:将所述第一个图像特征输入到第一个所述特征提取模块中,得到第一卷积特征;

将所述第二个图像特征输入到第二个所述特征提取模块中,得到第二卷积特征;

将所述第一卷积特征进行交换维度处理后与所述第二卷积特征进行外积相乘,得到外积双线性特征;

将所述外积双线性特征进行调整,并进行开方和标准化,得到标准化双线性特征;

将所述标准化双线性特征输入到所述全连接层中,得到双线性特征。

4.根据权利要求3所述的方法,其特征在于,所述分类网络包括3个条分类支路,所述分类支路有全连接层和分类层组成;

将所述第一个图像特征、所述第二个图像特征以及所述双线性特征输入到分类网络中,得到预测分类结果、预测对比分类结果以及预测双线性分类结果,包括:将所述第一个图像特征输入到第一条分类支路的全连接层中,并将全连接层的输出输入到第一条分类支路的分类层中,得到第一分类预测结果;

将所述第二个图像特征输入到第三条分类支路的全连接层中,并将全连接层的输出输入到第三条分类支路的分类层中,得到第二分类预测结果;

将所述双线性特征输入到第二条分类支路的全连接层中,并将全连接层的输出输入到第二条分类支路的分类层中,得到双线性预测分类结果;

将所述第一分类预测结果、所述第二分类预测结果以及双线性预测分类结果进行判别融合,得到预测分类结果。

5.根据权利要求4所述的方法,其特征在于,将所述第一分类预测结果、所述第二分类预测结果以及双线性预测分类结果进行判别融合,得到预测分类结果,包括:将所述第一分类预测结果、所述第二分类预测结果以及双线性预测分类结果采用DS证据理论进行判别融合,得到预测分类结果。

6.根据权利要求1或4所述的方法,其特征在于,根据所述分类预测结果和预测双线性分类结果、样本自身真值标签以及所述损失函数,对所述遥感场景分类网络进行反向训练,得到训练好的遥感场景分类模型,包括:根据第一分类预测结果与样本自身真值标签,得到第一分类损失;

根据第二分类预测结果与样本自身真值标签,得到第二分类损失;

根据所述第一个图像特征和所述第二个图像特征的距离以及预设的距离阈值,得到对比损失;

根据双线性预测分类结果、第一样本的真实标签以及第二样本的真实标签,得到双线性损失;

将所述第一分类损失、所述第二分类损失、所述对比损失以及所述双线性损失进行加权融合,得到总损失;

根据所述总损失,对所述基于双线性孪生架构的遥感场景分类网络进行反向训练,得到训练好的基于双线性孪生架构的遥感场景分类模型。

7.根据权利要求1所述的方法,其特征在于,根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型,步骤后还包括:获取测试样本;

将所述测试样本输入到训练好的遥感场景分类网络的特征提取网络的其中一个所述卷积神经网络中,得到测试样本特征;

将所述测试样本特征输入到全连接层,并将全连接层的输出输入到分类层中,采用Softmax逻辑回归模型进行分类,得到测试分类预测;

根据所述测试样本特征与预定义的标准模板特征计算得到特征距离,并采用Softmax逻辑回归模型进行分类,得到测试对比预测;

将所述测试分类预测和所述测试对比预测进行判据融合,得到最终的分类预测结果。

8.根据权利要求1所述的方法,其特征在于,计算特征距离采用欧氏距离计算方式。

9.一种基于双线性孪生架构的遥感场景分类装置,其特征在于,所述装置包括:样本获取模块,用于获取遥感场景图像,对所述遥感场景图像进行处理并平均分为两组,得到两组训练样本;

模型构建模块,用于构建基于双线性孪生架构的遥感场景分类网络,所述遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;所述特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征;双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合,并最终输出双线性预测分类;所述分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性模块的输出进行分类得到双线性预测分类;所述融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果;

构建损失函数,所述损失函数包括:分类损失、对比损失以及双线性损失;

模型训练模块,用于根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;

遥感场景图像分类模块,用于获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果;

其中,构建损失函数,包括:

将所述分类损失、所述对比损失以及所述双线性损失进行加权融合得到总损失,总损失的函数表达式为:Loss=w1*Lcls+w2*Lcontrastive+w3*Lbilinear其中:Loss为总损失,w1,w2,w3为损失权重,Lcls表示分类损失,Lcontrastive表示对比损失,Lbilinear表示双线性损失;

Lbilinear=0.5*CE(y,labelA)+0.5*CE(y,labelB),其中,y表示双线性预测分类结果,labelA表示图像A的真值标签,labelB表示图像B的真值标签。

说明书 :

基于双线性孪生架构的遥感场景分类方法和装置

技术领域

[0001] 本申请涉及图像信息处理技术领域,特别是涉及一种基于双线性孪生架构的遥感场景分类方法和装置。

背景技术

[0002] 随着遥感技术快速发展,遥感图像分辨率逐步提高,同时图像的空间和纹理信息也越来越丰富。遥感场景分类是遥感领域近年来的热门研究课题。其主要过程是根据提取的图像特征进行分类。如何有效提取特征信息并且能够区分差异较小的不同类别的场景,是遥感场景分类的关键。由于遥感图像具有尺寸大、内容丰富等特点,这也意味着遥感图像比一般自然图像特征更多、更难被表示。卷积神经网络由于其强大的特征提取能力而被广泛用于图像分类。所以当前主流的遥感场景分类任务通常采用卷积神经网络提取特征并完成分类。
[0003] 在遥感场景分类方法方面已经取得了一定的成果,但是在细粒度分类任务中分类的准确率不高。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高细粒度分类任务准确率的基于双线性孪生架构的遥感场景分类方法和装置。
[0005] 一种基于双线性孪生架构的遥感场景分类方法,所述方法包括:
[0006] 获取遥感场景图像,对所述遥感场景图像进行处理并平均分为两组,得到两组训练样本。
[0007] 构建基于双线性孪生架构的遥感场景分类网络,所述遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;所述特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征;双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合,并最终输出双线性预测分类;所述分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性模块的输出进行分类得到双线性预测分类;所述融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果。
[0008] 构建损失函数;所述损失函数包括:分类损失、对比损失以及双线性损失。
[0009] 根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型。
[0010] 获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。
[0011] 一种基于双线性孪生架构的遥感场景分类装置,所述装置包括:
[0012] 样本获取模块,用于获取遥感场景图像,对所述遥感场景图像进行处理并平均分为两组,得到两组训练样本。
[0013] 模型构建模块,用于构建基于双线性孪生架构的遥感场景分类网络,所述遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;所述特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征;双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合,并最终输出双线性预测分类;所述分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性模块的输出进行分类得到双线性预测分类;所述融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果。
[0014] 构建损失函数,所述损失函数包括:分类损失、对比损失以及双线性损失。
[0015] 模型训练模块,用于根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型。
[0016] 遥感场景图像分类模块,用于获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。
[0017] 上述基于双线性孪生架构的遥感场景分类方法和装置,通过获取遥感场景图像,对遥感场景图像进行处理并平均分为两组,得到两组训练样本;构建基于双线性孪生架构的遥感场景分类网络,遥感场景分类网络包括:孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;构建损失函数,损失函数包括:分类损失、对比损失以及双线性损失;根据两组训练样本,并根据损失函数,对遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。基于双线性孪生架构的遥感场景分类网络可以超过自身分类网络的性能,并使训练过程更快更稳定。

附图说明

[0018] 图1为一个实施例中基于双线性孪生架构的遥感场景分类方法的流程示意图;
[0019] 图2为另一个实施例中基于双线性孪生架构的遥感场景分类网络训练过程示意图;
[0020] 图3为另一个实施例中双线性模块结构示意图;
[0021] 图4为另一个实施例中基于双线性孪生架构的遥感场景分类网络测试过程示意图;
[0022] 图5为一个实施例中基于双线性孪生架构的遥感场景分类装置的结构框图。

具体实施方式

[0023] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0024] 在一个实施例中,如图1所示,提供了一种基于双线性孪生架构的遥感场景分类方法,该方法包括以下步骤:
[0025] 步骤100:获取遥感场景图像,对遥感场景图像进行处理并平均分为两组,得到两组训练样本。
[0026] 训练样本包括遥感场景图像样本、图像的真实标签。训练样本不要求样本一定为同类或者非同类。
[0027] 网络的输入为一对遥感场景图像样本、图像的真实标签以及这一对样本是否同类的对比标签。
[0028] 步骤102:构建基于双线性孪生架构的遥感场景分类网络。
[0029] 遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块。
[0030] 特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征。基于孪生结构的特征提取网络负责学习样本的分类和匹配情况。作为优选,使用Resnet类型的卷积神经网络作为特征提取网络。
[0031] 双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合得到双线性特征。双线性模块负责学习一对样本间特征双线性融合后的特征。
[0032] 分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性特征进行分类得到双线性预测分类。
[0033] 融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果。
[0034] 步骤104:构建损失函数。
[0035] 损失函数包括:分类损失、对比损失以及双线性损失。
[0036] 分类损失是样本自身分类损失;对比损失是样本间对比损失;双线性分类损失是根据双线性特征进行分类后的预测结果与一对样本是否同类的对比标签之间得到的损失。
[0037] 步骤106:根据两组训练样本,并根据损失函数,对遥感场景分类网络进行训练,得到训练好的遥感场景分类模型。
[0038] 将两组训练样本输入到遥感场景分类网络中,并根据损失函数,对网络进行方向训练,得到训练好的遥感场景分类模型。
[0039] 步骤108:获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。
[0040] 上述基于双线性孪生架构的遥感场景分类方法中,通过获取遥感场景图像,对遥感场景图像进行处理并平均分为两组,得到两组训练样本;构建基于双线性孪生架构的遥感场景分类网络,遥感场景分类网络包括:孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;构建损失函数,损失函数包括:分类损失、对比损失以及双线性损失;根据两组训练样本,并根据损失函数,对遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。基于双线性孪生架构的遥感场景分类网络可以超过自身分类网络的性能,并使训练过程更快更稳定。
[0041] 在其中一个实施例中,步骤104还包括:将分类损失、对比损失以及双线性损失进行加权融合得到总损失,总损失的函数表达式为:
[0042] Loss=w1*Lcls+w2*Lcontrastive+w3*Lbilinear
[0043] 其中:Loss为总损失,w1,w2,w3为损失权重,Lcls表示分类损失,Lcontrastive表示对比损失,Lbilinear表示双线性损失,Lbilinear=0.5*CE(y,labelA)+0.5*CE(y,labelB),其中,y表示双线性预测分类结果,labelA表示图像A的真值标签,labelB表示图像B的真值标签。
[0044] 损失函数构建原理:
[0045] 损失函数由三部分组成,包括分类损失Lcls、对比损失Lcontrastive和双线性损失Lbilinear。损失函数如式(4)所示。其中,w1,w2,w3为损失权重,作为优选损失权重值都为1,损失函数的表达式为:
[0046] Loss=w1*Lcls+w2*Lcontrastive+w3*Lbilinear
[0047] (1)分类损失
[0048] 分类损失采用交叉熵损失的方式,如下式所示:
[0049]
[0050] 其中,y表示分类预测结果, 表示真值标签。
[0051] (2)对比损失
[0052] 对比损失是基础孪生网络的核心,其本质是计算两个变量(最后一级特征图)间的距离,该距离测度通常使用欧式距离。对比损失函数计算方式如下式所示:
[0053]
[0054] W表示网络的权重, 表示两个变量 间的欧式距离,表示向量通过网络后,产生的最后一级特
征图;Y表示输入的第一个图像和第二个图像之间的匹配关系,即图像若为同类,则Y=0,损失函数简化为 若图像不为同类,则Y=1,损失函数简化为 LD,LS为
控制常数默认取0.5;i表示次方含义,默认取2表示欧氏距离的平方;损失函数虽然希望不同类样本的距离越大越好,但不可能做到无穷大,这样会破坏网络训练,此时需要增加一个距离阈值m,当不同类间计算出的距离超过阈值m时,认为网络已经训练好,对比损失应该为
0。综上,本发明中对比损失表达式为:
[0055]
[0056] (3)双线性损失
[0057] 双线性损失本质上还是一个分类损失,只是对比的真值标签有变换,由于双线性将两个不同样本的特征混合并形成新的特征用以分类,所以该分类预测所对应的真值标签应为第一个图像和第二个图像的混合标签,混合标签的构造方式如下式所示:
[0058] labelAB=(1‑λ)*labelA+λ*labelB
[0059] 其中λ为混合比率,由于双线性操作为均匀混合,所以λ=0.5。双线性损失函数计算方式如下式所示:
[0060] Lbilinear=0.5*CE(z,labelA)+0.5*CE(z,labelB)
[0061] 其中,z表示双线性预测分类结果,labelA表示第一个图像的真值标签,labelB表示第二个图像的真值标签。
[0062] 在其中一个实施例中,步骤106还包括:将一对遥感场景图像样本分别输入到特征提取网络的第一个卷积神经网络,得到第一个图像特征和第二个图像特征;将第一个图像特征和第二个图像特征输入到双线性模块,得到双线性特征;将第一个图像特征、第二个图像特征以及双线性特征输入到分类网络中,得到预测分类结果和预测双线性分类结果;根据分类预测结果和预测双线性分类结果、样本自身真值标签以及损失函数,对遥感场景分类网络进行反向训练,得到训练好的遥感场景分类模型。
[0063] 在另一个实施例中,基于双线性孪生架构的遥感场景分类网络的训练过程如图2所示。网络输入一对图像样本形式,不要求样本一定为同类或者非同类。每个样本都经过简单的图像增强,如随机翻转和颜色抖动等。孪生结构可以计算一对样本的特征距离,并通过对比损失来调整CNN参数,有助于CNN识别不同类间的微小特征差异,即同类样本在特征空间中距离被拉近,不同类样本在特征空间中距离被拉远。CNN输出最后一级特征图即特征A和特征B,然后,特征输入三条支路。1)特征A和特征B各自输入全连接层(FC)映射为分类数,并进行Softmax分配概率,完成分类并计算与样本自身真值标签的分类损失;2)特征A和特征B计算特征距离(本文采用欧氏距离作为距离衡量准则),完成对比损失的计算;3)特征A和特征B输入双线性模块得到双线性特征,然后输入全连接层映射为分类数,并进行Softmax分配概率,完成分类并计算与双样本混合标签的双线性损失。双样本混合标签由两个样本各自标签的按照Mixup标签混合方式构建。
[0064] 在其中一个实施例中,双线性模块包括:两个并列的特征提取模块和全连接层;特征提取模块是将卷积神经网络AlexNet或VGGNet去掉最后的全连接层和Softmax层的卷积神经网络;步骤106还包括:将第一个图像特征输入到第一个特征提取模块中,得到第一卷积特征;将第二个图像特征输入到第二个特征提取模块中,得到第二卷积特征;将第一卷积特征进行交换维度处理后与第二卷积特征进行外积相乘,得到外积双线性特征;将外积双线性特征进行调整,并进行开方和标准化,得到标准化双线性特征;将标准化双线性特征输入到全连接层中,得到双线性特征。
[0065] 双线性模型是一种细粒度图像分类模型。该模型使用的是两个并列的CNN模型,模型使用去掉最后的全连接层和Softmax层的AlexNet或VGGNet作为特征提取器,提取到的特征进行外积相乘并池化得到双线性特征,最后使用SVM作为最后的线性分类器。其优点有,1)以平移不变的方式,建模了局部成对特征交互,适用于细粒度图像分类,而本文应用任务为遥感场景分类,同样具有类间特征相似、难以区分的特性;2)双线性模型能够泛化多种顺序无关的纹理描述符;3)双线性模型简化了梯度计算。
[0066] 在另一个实施中,双线性模块如图3所示,特征A与特征B尺寸为C通道、M宽、N高。特征A与特征B首先通过调整操作,调整尺寸为(C,M*N),特征A继续进行交换维度操作,交换维度顺序,此时特征A尺寸为(M*N,C);然后,特征A(FA)与特征B(FB)通过外积操作,得到双线性特征(BFAB),此时双线性特征尺寸为(C,C)。该过程可以用式(1)表示。
[0067] BFAB=FAT*FB                      (1)
[0068] 然后,通过调整操作将双线性特征尺寸调整为(C*C),此时需要对其进行开方和标准化,如式(2)和式(3)
[0069]
[0070]
[0071] 最后,为避免特征冗余,本实施例继续将BFAB输入全连接层进行降维,降维后的BFAB尺寸为(C*)。得到双线性特征将继续后续步骤,输入分类层和Softmax进行分类。
[0072] 在其中一个实施例中,分类网络包括3个条分类支路,分类支路有全连接层和分类层组成;步骤106还包括:将第一个图像特征输入到第一条分类支路的全连接层中,并将全连接层的输出输入到第一条分类支路的分类层中,得到第一分类预测结果;将第二个图像特征输入到第三条分类支路的全连接层中,并将全连接层的输出输入到第三条分类支路的分类层中,得到第二分类预测结果;将双线性特征输入到第二条分类支路的全连接层中,并将全连接层的输出输入到第二条分类支路的分类层中,得到双线性预测分类结果;将第一分类预测结果、第二分类预测结果以及双线性预测分类结果进行判别融合,得到预测分类结果。
[0073] 作为优选,采用DS证据理论作为判别融合方法。DS(Dempster‑Shafer)证据理论是由Dempster和Shafer提出并完善的一种不精确推理理论,具有处理不确定信息的能力,并广泛应用于专家系统中。其所需要的先验数据比概率推理理论中更直观、更容易获得,且满足比Bayes概率理论更弱的条件,可以融合多种数据和知识。
[0074] 在其中一个实施例中,步骤106还包括:将第一分类预测结果、第二分类预测结果以及双线性预测分类结果采用DS证据理论进行判别融合,得到预测分类结果。
[0075] 在其中一个实施例中,步骤106还包括:根据第一分类预测结果与样本自身真值标签,得到第一分类损失;根据第二分类预测结果与样本自身真值标签,得到第二分类损失;根据第一个图像特征和第二个图像特征的距离以及预设的距离阈值,得到对比损失;根据双线性预测分类结果、第一样本的真实标签以及第二样本的真实标签,得到双线性损失;将第一分类损失、第二分类损失、对比损失以及双线性损失进行加权融合,得到总损失;根据总损失,对基于双线性孪生架构的遥感场景分类网络进行反向训练,得到训练好的基于双线性孪生架构的遥感场景分类模型。
[0076] 在其中一个实施例中,步骤106后还包括:获取测试样本;将测试样本输入到训练好的遥感场景分类网络的特征提取网络的其中一个卷积神经网络中,得到测试样本特征;将测试样本特征输入到全连接层,并将全连接层的输出输入到分类层中,采用Softmax逻辑回归模型进行分类,得到测试分类预测;根据测试样本特征与预定义的标准模板特征计算得到特征距离,并采用Softmax逻辑回归模型进行分类,得到测试对比预测;将测试分类预测和测试对比预测进行判据融合,得到最终的分类预测结果。
[0077] 在另一个实施例中,基于双线性孪生架构的遥感场景分类网络的测试过程如图4所示。测试时输入单个图像样本进入CNN并提取特征,得到最后一级特征图,然后,特征输入两条支路。1)特征输入全连接层映射为分类数,并进行Softmax分配概率,完成分类预测;2)特征与准备好的标准模板特征进行距离度量后进行Softmax分配概率,得到对比预测。标准模板的制作过程为:在数据训练集的每一类场景中随机挑选5个样本,并输入训练好的CNN进行特征提取,得到相应的最后一级特征图(标准特征)。度量过程为:测试样本特征与标准模板特征计算特征距离,由于每类场景包含5个标准样本,所以距离需要按类别除以5进行平均,得到平均距离。平均距离的倒数进行Softmax分配概率,得到对比预测。最后对比预测和分类预测进行判据融合,得到最终的分类预测结果。
[0078] 在其中一个实施例中,计算特征距离采用欧氏距离计算方式。
[0079] 应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0080] 在一个实施例中,如图5所示,提供了一种基于双线性孪生架构的遥感场景分类装置,所述装置包括:样本获取模块、模型构建模块、损失函数构建模块、模型训练模块以及遥感场景图像分类模块,其中:
[0081] 样本获取模块,用于获取遥感场景图像,对所述遥感场景图像进行处理并平均分为两组,得到两组训练样本;
[0082] 模型构建模块,用于构建基于双线性孪生架构的遥感场景分类网络,所述遥感场景分类网络包括:基于孪生结构的特征提取网络、双线性模块、分类网络以及融合模块;所述特征提取网络包括结构相同且权重共享的两个卷积神经网络,用于提取输入样本的特征;双线性模块利用双线性融合算法,将两个卷积神经网络输出的特征进行融合,并最终输出双线性预测分类;所述分类网络用于根据特征提取网络的输出进行分类预测,同时根据双线性模块的输出进行分类得到双线性预测分类;所述融合模块用于将得到的预测分类和双线性预测分类进行判据融合,得到遥感场景图像分类结果;
[0083] 损失函数构建模块,用于构建损失函数,所述损失函数包括:分类损失、对比损失以及双线性损失;
[0084] 模型训练模块,用于根据两组所述训练样本,并根据所述损失函数,对所述遥感场景分类网络进行训练,得到训练好的遥感场景分类模型;
[0085] 遥感场景图像分类模块,用于获取一对待测遥感场景图像样本并进行处理,将处理结果输入到遥感场景分类模型中,得到遥感场景图像分类结果。
[0086] 在其中一个实施例中,损失函数构建模块,还用于将分类损失、对比损失以及双线性损失进行加权融合得到总损失,总损失的函数表达式为:
[0087] Loss=w1*Lcls+w2*Lcontrastive+w3*Lbilinear
[0088] 其中:Loss为总损失,w1,w2,w3为损失权重,Lcls表示分类损失,Lcontrastive表示对比损失,Lbilinear表示双线性损失,Lbilinear=0.5*CE(y,labelA)+0.5*CE(y,labelB),其中,y表示双线性预测分类结果,labelA表示图像A的真值标签,labelB表示图像B的真值标签。
[0089] 在其中一个实施例中,模型训练模块,还用于将一对遥感场景图像样本分别输入到特征提取网络的第一个卷积神经网络,得到第一个图像特征和第二个图像特征;将第一个图像特征和第二个图像特征输入到双线性模块,得到双线性特征;将第一个图像特征、第二个图像特征以及双线性特征输入到分类网络中,得到预测分类结果和预测双线性分类结果;根据分类预测结果和预测双线性分类结果、样本自身真值标签以及损失函数,对遥感场景分类网络进行反向训练,得到训练好的遥感场景分类模型。
[0090] 在其中一个实施例中,双线性模块包括:两个并列的特征提取模块和全连接层;特征提取模块是将卷积神经网络AlexNet或VGGNet去掉最后的全连接层和Softmax层的卷积神经网络;模型训练模块,还用于将第一个图像特征输入到第一个特征提取模块中,得到第一卷积特征;将第二个图像特征输入到第二个特征提取模块中,得到第二卷积特征;将第一卷积特征进行交换维度处理后与第二卷积特征进行外积相乘,得到外积双线性特征;将外积双线性特征进行调整,并进行开方和标准化,得到标准化双线性特征;将标准化双线性特征输入到全连接层中,得到双线性特征。
[0091] 在其中一个实施例中,分类网络包括3个条分类支路,分类支路有全连接层和分类层组成;模型训练模块,还用于将第一个图像特征输入到第一条分类支路的全连接层中,并将全连接层的输出输入到第一条分类支路的分类层中,得到第一分类预测结果;将第二个图像特征输入到第三条分类支路的全连接层中,并将全连接层的输出输入到第三条分类支路的分类层中,得到第二分类预测结果;将双线性特征输入到第二条分类支路的全连接层中,并将全连接层的输出输入到第二条分类支路的分类层中,得到双线性预测分类结果;将第一分类预测结果、第二分类预测结果以及双线性预测分类结果进行判别融合,得到预测分类结果。
[0092] 在其中一个实施例中,模型训练模块,还用于将第一分类预测结果、第二分类预测结果以及双线性预测分类结果采用DS证据理论进行判别融合,得到预测分类结果。
[0093] 在其中一个实施例中,模型训练模块,还用于根据第一分类预测结果与样本自身真值标签,得到第一分类损失;根据第二分类预测结果与样本自身真值标签,得到第二分类损失;根据第一个图像特征和第二个图像特征的距离以及预设的距离阈值,得到对比损失;根据双线性预测分类结果、第一样本的真实标签以及第二样本的真实标签,得到双线性损失;将第一分类损失、第二分类损失、对比损失以及双线性损失进行加权融合,得到总损失;
根据总损失,对基于双线性孪生架构的遥感场景分类网络进行反向训练,得到训练好的基于双线性孪生架构的遥感场景分类模型。
[0094] 在其中一个实施例中,模型训练模块后还包括网络测试模块,用于获取测试样本;将测试样本输入到训练好的遥感场景分类网络的特征提取网络的其中一个卷积神经网络中,得到测试样本特征;将测试样本特征输入到全连接层,并将全连接层的输出输入到分类层中,采用Softmax逻辑回归模型进行分类,得到测试分类预测;根据测试样本特征与预定义的标准模板特征计算得到特征距离,并采用Softmax逻辑回归模型进行分类,得到测试对比预测;将测试分类预测和测试对比预测进行判据融合,得到最终的分类预测结果。
[0095] 在其中一个实施例中,计算特征距离采用欧氏距离计算方式。
[0096] 关于基于双线性孪生架构的遥感场景分类装置的具体限定可以参见上文中对于基于双线性孪生架构的遥感场景分类方法的限定,在此不再赘述。上述基于双线性孪生架构的遥感场景分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0097] 在一个验证性实施例中,数据样本选用:在WHU‑RS19、UCMerced_LandUse和SIRI‑WHU数据集。采用本方法进行多组实验进行功能、性能验证,结果如下:
[0098] (1)与其它算法的分类性能对比实验
[0099] 将基于双线性孪生架构的遥感场景分类网络与其它8种的带有孪生结构的分类网络(即AlexNet,Siamese AlexNet,VGG‑16,Siamese VGG‑16,ResNet‑50,Siamese ResNet‑50,CapsNet,Siamese CapsNet)进行比较。并采用分类正确率来评估三个数据集(即SIRI‑WHU,WHU‑RS19和UCMerced_LandUse)。实验结果列在表1中。
[0100] 表1通过不同的方法获得的实验结果
[0101]
[0102] 如表1所示,基于双线性孪生架构的遥感场景分类网络(Resnet50‑512)在SIRI‑WHU和WHU‑RS19数据集上获得了最好的精度。在UCMerced‑LandUse数据集上虽然没有取得最佳,但是相比于Siamese ResNet‑50仍提升了2.1%,这也证明了本文方法的优越性。同时本文方法相比于其他大部分方法可以更快的完成收敛且分类精度较高,这是因为基于双线性孪生架构的遥感场景分类网络可以充分利用更丰富的双线性特征来提升网络分类效果,同时基于度量学习的判别融合也可以部分提升精度。
[0103] (2)消融实验
[0104] 1)不同的改进和策略
[0105] 以Resnet18为特征提取网络进行实验,通过对比不同改进和策略相组合,以验证本发明改进的有效性。对比内容包括:1)单CNN分类(只使用Resnet18和分类损失);2)孪生CNN分类(网络使用分类损失和对比损失);3)基于双线性孪生架构的遥感场景分类网络,该网络使用全部三个损失函数:分类损失、对比损失和双线性损失);4)在测试过程后加入判别融合。实验结果如表2。
[0106] 表2基于双线性孪生架构的遥感场景分类网络中不同改进和策略的消融结果[0107]
[0108] 如表2所示,与仅使用Resnet18分类相比,添加对比损失后,三个数据集分类准确率分别提升了0.87%、2.71%和2.2%,平均提升1.93%;添加对比损失后,便可以使用标准模板进行对比预测并判别融合,在对比损失基础上,使用DS在三个数据集上分别提升了0.31%,0.38%和0.42%,平均提升0.37%;此外,当引入双线性模块后,与原始Resnet18分类相比,准确率分别提升了1.8%、3.97%和3.69%,平均提升3.15%;最后,在三个损失函数基础上,继续使用DS策略,达到模型最佳性能。最佳模型为基于双线性孪生架构的遥感场景分类网络。
[0109] (2)不同的网络和结构
[0110] 本节主要研究不同特征提取网络尺寸和深度对模型分类性能的影响,本实验使用两种深度的Resnet网络,包括Resnet18和Resnet50,同时每种深度的网络各使用两个尺寸的特征降维,Resnet18‑64代表经过Resnet18卷积层特征提取后,再输入双线性模块前,使用1*1卷积将特征维度从512维降低至64维。同理,Resnet50‑512是将特征图从2048维降低至512维。网络名称后为其参数量。实验结果列在表3中。
[0111] 表3基于双线性孪生架构的遥感场景分类网络使用不同特征提取网络尺寸和深度的消融结果
[0112]
[0113] 如表3所示,由于特征降维虽然减少了参数量,但是也牺牲了部分精度。相比于Resnet18‑64,Resnet18‑512在三个数据集上的分类准确率分别提升了1.18%、1.35%和0.65%,平均提升1.06%;相比于Resnet50‑64,Resnet50‑512在三个数据集上的分类准确率分别提升了0.65%、0.46%和0.62%,平均提升0.58%;同时,网络深度的增加也可以提升部分精度,Resnet50平均比Resnet18提升了1.24%。需要注意的是,网络深度的增加需要相应调整学习率,以避免训练过拟合。为追求较好分类效果,本方法的特征提取网络采用Resnet50‑512。
[0114] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0115] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。