本发明涉及遥感智能识别领域,具体涉及一种基于特征生成网络的小样本遥感地物分类方法及系统。
背景技术:
深度学习方法在遥感地物分类任务中得到了广泛应用并一再刷新在公开数据集上的分类精度,然而随着深度学习方法在遥感地物分类中的实际应用,暴露出的一大问题便是模型分类精度对巨额训练数据的严重依赖性。
在遥感地智能识别实际应用中,遥感影像数据的收集标注需要耗费一定的人力、物力和时间,这与深度学习技术对海量数据的依赖性形成了矛盾,主要体现在:
(1)对于特定地物场景而言,例如恶劣成像天气下的地区遥感成像、某秘密军事基地的遥感数据,对其收集数千张高质量的遥感影像来专用于深度学习模型的训练是不切实际的;
(2)模型部署前准备的训练数据集往往难以与实际需求相应合。例如模型训练中准备了二十种地物场景下的遥感影像数据进行训练,实际应用中却需要对地物分类任务的进行拓展,增加若干种新场景要求进行地物分类,迫切需要在少量样本的条件下完成新场景下的分类任务。
传统深度学习算法在小样本条件下的地物分类任务中会陷入严重的过拟合问题,现有的解决小样本地物分类问题的方法主要是基于样本扩充的小样本学习算法,具体是利用深度生成模型进行样本扩充进行样本生成,基于生成样本集再进行模型的训练来应对小样本地物分类问题。其缺陷在于需要对深度生成模型、分类模型单独训练,学习效率低下,在面对各种地物分类任务的小样本上的学习效率低下,缺乏对各类地物目标的通用性。
技术实现要素:
为了解决上述背景技术中存在的不足,本发明提供一种基于特征生成网络的小样本遥感地物分类方法及系统,利用生成网络在特征层面对地物目标进行特征生成和扩充,并利用测试样本特征和地物目标生成特征集的相似度度量完成小样本地物分类,使得模型的特征生成和地物分类能以端到端的方式进行,极大地提升了学习效率和分类精度。
本发明提供的技术方案是:
按照地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget,分别用于模型的整体训练和在各类地物目标上的小样本分类性能测试;
在源数据集dsource上对特征提取器f和生成网络g进行训练;
基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g进行特征生成,得到各地物类型对应的生成特征集,在特征层面实现地物样本扩充,满足模型在小样本条件下的训练需求;
利用特征提取器f对测试地物图像x进行特征提取,并将测试样本特征与各种地物类型的生成特征集执行相似度度量,给出测试图像x在各类地物类型上的置信度分数,进而确定被测图像x的地物分类。
优选的所述基于地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget,包括:
将遥感地物分类数据集中地物类别划分为源类别csource、目标类别ctarget,且所述源类别csource和目标类别ctarget中的地物类别互斥;
基于所述源类别csource和目标类别将遥感地物分类数据集划分为源数据集dsource、目标数据集dtarget;
其中所述源数据集dsource上每类地物目标所对应的样本数应不少于500。
优选的,在源数据集dsource上对特征提取器f进行训练,包括:
以dsource上的地物类别空间整体,作为当前的待分类集合;
对特征提取器尾端增加两层全连接层,最后一层全连接层负责给出每一类地物类型的置信度分数;另外一层用于进行非线性运算;
基于待分类集合上的样本数量分布,对所述特征提取器f进行训练的过程中采用的损失函数类别进行均衡加权策略;
待损失函数趋于平稳后终止训练,剔除全连接层,并将剩余部位的参数用于特征提取器f的参数初始化。
优选的,所述采用损失函数对类别进行均衡加权策略包括:
在交叉熵损失函数准则下,基于各地物类型样本在源数据集dtrain上的频数分布,转化成幂指残差形式对各地物类型样本的分类损失函数进行加权均衡。
优选的,在源数据集dsource上对生成网络g进行训练,包括:
步骤1,在源数据集dsource上按照地物类别随机采样出少样本地物分类任务,并划分为训练集strain和测试集stest;
步骤2,对于少样本分类任务中的训练集strain中的训练数据xtrain,利用所述特征提取器f确定的提取特征f(xtrain)与随机噪声向量z作为特征生成网络g的输入源,进行解耦学习和特征生成,重复执行特征扩充得到生成特征集f(xtrain)aug;
步骤3,对于测试集stest中的少样本分类任务中的测试数据xtest,利用所述特征提取器f确定的地物图像特征f(xtest)与所述生成特征集f(xtrain)aug送入分类器c,将测试地物图像特征与各类训练地物图像对应的生成特征集进行相似度度量,得到所述分类任务中的测试地物图像xtest在各地物类型上的置信度分数;
步骤4,基于所述置信度分数对所述少样本地物分类任务中的地物图像进行地物分类;
步骤5,在交叉熵损失函数下按照反向传播算法,对特征提取器f、分类器c和生成网络g的参数按照协同训练算法进行联合优化;
步骤6,重复步骤2至步骤5,训练特征提取器f、生成网络g与分类器c直到收敛。
优选的,所述利用所述特征提取器f确定的提取特征f(xtrain)与随机噪声向量z作为特征生成网络g的输入源,进行解耦学习和特征生成,重复执行特征扩充得到生成特征集f(xtrain)aug,包括:
对于生成网络g,首次进行特征生成时候按照对角恒等映射矩阵的形式进行参数初始化;
对于第i类地物类型图像,其所对应的输入特征f(xtrain)和噪声向量z,经过伴有relu激活函数的三层感知机,得到生成特征g(f(xtrain),z);
改变噪声向量输入,对第i类地物类型图像重复进行特征生成,直至该类样本特征数量达到naug。将第i类地物类型的原始特征输入和生成特征合并,得到该类地物类型最终的生成特征集f(xtrain)aug。
优选的,所述测试地物图像特征f(xtest)与所述生成特征集f(xtrain)aug送入分类器c,将测试地物图像特征与各类训练地物图像对应的生成特征集进行相似度度量,得到所述分类任务中的测试地物图像xtest在各地物类型上的置信度分数,包括:
基于所述训练集strain对应的生成特征集f(xtrain)aug,按照类内特征均值计算出各地物类型对应的原型向量;
对各地物类型的原型向量和测试样本的特征按照余弦相似度准则进行相似度度量,并以此作为样本xtest属于第i类地物目标的置信度分数;
选择测试样本xtest在各类地物目标上的最高置信度分数,将其所对应的地物类别作为预测输出。
优选的,所述原型向量的计算式如下:
式中pi为第i类地物类型对应的原型向量,kaug为第i类地物类型对应的生成特征集数目。
优选的,所述置信度分数计算式如下:
式中,p(y=i|x)为测试样本x属于第i类地物类型的置信度分数。pi为第i类地物类型的原型向量,j代表地物类别空间集合中的一类地物类型所对应的原型向量,cosine(.)代表余弦相似度函数;
所述余弦相似度函数cosine(.)的计算式如下:
式中,x1、x2为待进行相似度度量的一维向量。
优选的,所述在交叉熵损失函数下按照反向传播算法,对特征提取器f、分类器c和生成网络g的参数按照协同训练算法进行联合优化,包括:
按照交叉熵损失函数下按照反向传播算法,将训练图像对应的生成特征集与原始特征集共同作为一个批训练单元执行,对特征提取器f、分类器c和生成网络g按照端到端的方式进行优化。
基于同一种发明构思,本发明还提供一种小样本遥感地物分类系统,包括:
数据集构建模块:用于基于地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget;
模型训练模块:用于在源数据集dsource上对特征提取器f和生成网络g进行训练;
生成特征集模块:用于基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g进行特征生成,得到各地物类型对应的生成特征集;
分类模块:用于利用特征提取器f对测试地物图像进行特征提取,并将测试样本特征与各种地物类型的生成样本集执行相似度度量,给出测试图像在各类地物类型上的置信度分数,进而确定被测图像的地物分类。
与现有技术相比,本发明的有益效果为:
1、本发明提供的一种小样本遥感地物分类方法及系统,包括:基于地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget;在源数据集dsource上对特征提取器f和生成网络g进行训练;基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g进行特征生成,得到各地物类型对应的生成特征集;利用特征提取器f对测试地物图像x进行特征提取,并将测试样本特征与各种地物类型的生成样本集执行相似度度量,给出测试图像x在各类地物类型上的置信度分数,进而确定被测图像x的地物分类,其中,通过分类模型在源数据集上的训练,完成特征提取器的参数初始化,降低了学习的复杂度,减轻后续学习负担;通过生成网络在源数据集上的特征模式发掘,迁移应用到目标数据集上应用,可以有效地扩展出高质量的目标数据特征,降低源数据集上的过拟合风险;
2、本发明提供的一种小样本遥感地物分类方法中通过一种生成网络和分类器的联合优化方法,实现特征生成模型的端到端学习,可以实现小样本条件下的地物分类的高精度的同时并有效简化训练过程;
3、本发明提供的一种小样本遥感地物分类方法中基于特征生成网络,以遥感地物图像特征和随机噪声为输入对各类地物类型进行特征生成,同时对各类地物特征进行自适应地空间映射学习,通过映射空间上的特征相似度度量执行小样本遥感地物分类,实现了样本不足条件下的地物类别的特征泛化与扩充,解决了小样本条件下的遥感地物分类问题。
附图说明
图1是本申请实施例1提供的小样本遥感地物分类方法总体流程示意图;
图2是本申请实施例1提供的小样本遥感地物分类方法中利用源数据集对特征提取器f和生成网络g进行训练过程;
图3是本申请实施例1提供的小样本遥感地物分类方法中数据集划分示意图;
图4是本申请实施例1提供的一种小样本遥感地物分类方法的框架示意图;
图5是本申请实施例2提供的小样本遥感地物分类系统总体框图。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
实施例1
如图1所示,本发明提出的一种小样本遥感地物分类方法,包括:
s1:基于地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget。如图3所示,按照地物类别划分为源类别和测试类别并保证二者不存在地物类别重合。进一步按照源类别、目标类别,将遥感地物分类数据集划分为源数据集dsource、目标数据集dtarget,并保证源数据集dsource上每类样本数一般不少于500个。其中,源数据集中的地物类型包括但不限于:建筑物、道路、草地,用于模型的训练;目标数据集中的地物类型包括但不限于:水体、灌木、裸地,用于小样本地物分类任务的测试。
s2:在源数据集dsource上对特征提取器f和生成网络g进行训练;
s3:基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g对各类地物类型对应的训练样本进行特征提取和特征生成,得到各地物类型对应的生成特征集。
s4:利用特征提取器f对测试地物图像x进行特征提取,并将测试样本特征与各种地物类型的生成样本集执行相似度度量,给出测试图像x在各类地物类型上的置信度分数,进而确定被测图像x的地物分类。
其中s2在源数据集dsource上对特征提取器f和生成网络g进行训练,其具体训练过程如图2所示,包括:
(1)以dsource上的地物类别空间整体,作为待分类集合,对特征提取器f进行预训练。具体包括:
步骤1:对特征提取器尾端增加两层全连接层,最后一层全连接层负责给出每一类地物类型的置信度分数;另外一层用于进行非线性运算;
步骤2:对于损失函数的计算执行类别均衡加权策略:在交叉熵损失函数准则下对于各类地物类型的损失函数进行加权,权值的选取是基于各类地物样本在源数据集dtrain上的频数分布,转化成幂指残差形式
步骤3:待损失函数趋于平稳后终止训练。剔除全连接层,并将剩余部位的参数用于特征提取器f的参数初始化。
(2)基于源数据集dsource对生成网络g和分类器c进行协同训练,训练的目标在于期望生成网络g能够进行对于各类样本实现高质量的特征生成。其创新点主要将分类器c和生成网络g按照端到端方式进行的协同训练算法,增加了生成网络和分类器之间的适配性。如图4所示,其具体训练过程如下:
步骤1,在源数据集dsource上随机采样出少样本地物分类任务:少样本分类任务包括训练集strain和测试集stest。训练集strain包含n类地物目标,每类地物目标则对应k张样本数据,测试集stest与训练集strain共享n类地物目标,并各自对各类地物目标提供ntest张样本用于模型的训练和测试评估。
步骤2,所述少样本分类任务中的地物图像x输入特征提取器f,得到对应的提取特征f(x),包括训练地物图像特征f(xtrain)、测试地物图像特征f(xtest)
步骤3,对于少样本分类任务中的训练数据xtrain,将所述提取特征f(xtrain)与随机噪声向量z作为特征生成网络g的输入源进行解耦学习和特征生成。重复进行特征生成,并将原始特征输入和生成特征合并,得到最终的生成特征集f(xtrain)aug。其中特征生成网络的结构是伴有relu激活函数的三层感知机所构成的,其参数是按照对角恒等映射矩阵的形式进行初始化的;
步骤4,测试地物图像特征f(xtest)与所述生成特征集f(xtrain)aug送入分类器c,将测试地物图像特征与各类训练地物图像对应的生成特征集进行相似度度量:首先对各地物类型的生成特征集进行全局平均池化和均值化处理,得到各类地物类型对应的原型向量,计算过程为
步骤5,选择测试样本x在各类地物目标上的最高置信度分数,将其所对应的地物类别作为预测输出。
步骤6,在交叉熵损失函数下按照反向传播算法,对特征提取器f、分类器c和生成网络g的参数按照协同训练算法进行联合优化。具体是将训练图像对应的生成特征集与原始特征集共同作为一个批训练单元执行,对特征提取器f、分类器c和生成网络g按照端到端的方式进行联合优化。其中对每次小样本于地物分类任务中所具体采用的损失函数是交叉熵损失函数,即
步骤7,重复步骤2至步骤6,训练特征提取器f、生成网络g与分类器c直到收敛。
s3:基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g进行特征生成,得到各地物类型对应的生成特征集;
此外,考虑到目标数据集的训练集中样本数量较少,不具有代表性,为了让本算法的小样本地物分类性能的测试结果更为可靠,一般将目标数据集重复划分m次,然后重复进行模型的训练、测试,最后将m次划分中测试结果的平均值作为最终的测试结果。对于划分次数m的选取,则是按照各次测试结果的波动情况判断,本算法采用基于f-score的标准差进行判别,对于分类正确率标准差值小于0.01的划分实验,我们认为在该种划分条件下分类结果已趋于稳定,可以作为最终的实验评估结果。其中对于f-score的计算方式如下:
实施例2
为了实现上述方法,本发明还提供一种小样本遥感地物分类系统,如图5所示,包括:
数据集构建模块:用于基于地物类别将遥感地物分类数据集划分为源数据集dsource和目标数据集dtarget;
模型训练模块,用于在源数据集dsource上对特征提取器f和生成网络g进行训练;
生成特征集模块,用于基于目标数据集dtarget,利用所述特征提取器f和所述生成网络g进行特征生成,得到各地物类型对应的生成特征集;
分类模块,用于利用特征提取器f对测试地物图像x进行特征提取,并将测试样本特征与各种地物类型的生成样本集执行相似度度量,给出测试图像x在各类地物类型上的置信度分数,进而确定被测图像x的地物分类。
其中,数据集构建模块具体用于:
将遥感地物分类数据集中地物类别划分为源类别csource、目标类别ctarget,且所述源类别csource和目标类别ctarget中的地物类别互斥;
基于所述源类别csource和目标类别将遥感地物分类数据集划分为源数据集dsource、目标数据集dtarget;
本实施例中源数据集dsource上每类地物目标所对应的样本数应不少于500。
模型训练模块具体用于:
(1)在源数据集dsource上对特征提取器f进行训练,包括:
以dsource上的地物类别空间整体,作为待分类集合;
对特征提取器尾端增加两层全连接层,最后一层全连接层负责给出每一类地物类型的置信度分数;另外一层用于进行非线性运算;
利用待分类集合对所述f进行训练的过程中采用损失函数对类别进行均衡加权策略;
待损失函数趋于平稳后终止训练,剔除全连接层,并将剩余部位的参数用于特征提取器f的参数初始化。
(2)在源数据集dsource上对生成网络g进行训练,包括:
集合划分子单元,用于在源数据集dsource上随机采样出少样本地物分类任务,并划分为训练集strain和验证集sval和测试集stest。
特征集生成子单元,用于对于训练集strain中的少样本分类任务中的训练数据xtrain,将利用所述特征提取器f确定的提取特征f(xtrain)与随机噪声向量z作为特征生成网络g的输入源,进行解耦学习和特征生成,得到生成特征集f(xtrain)aug;具体过程参见实施例1;
置信度确定子单元,用于对于测试集stest中的少样本分类任务中的测试数据xtest,利用所述特征提取器f确定的地物图像特征f(xtest)与所述生成特征集f(xtrain)aug送入分类器c,将测试地物图像特征与各类训练地物图像对应的生成特征集进行相似度度量,得到所述分类任务中的地物图像各地物类型上的置信度分数;具体实现方式见实施例1;
分类子单元,用于基于所述置信度分数对所述少样本地物分类任务中的地物图像进行地物分类;
优化子单元,用于在交叉熵损失函数下按照反向传播算法,对特征提取器f、分类器c和生成网络g的参数按照协同训练算法进行联合优化;
然后重复调用特征集生成子单元、置信度确定子单元、分类子单元和优化子单元训练特征提取器f、生成网络g与分类器c直至网络整体收敛。