APP下载

一种生成对抗网络半监督遥感图像分类方法

2022-10-13钱园园刘进锋朱东辉

遥感信息 2022年4期
关键词:分类器标签样本

钱园园,刘进锋,朱东辉

(宁夏大学 信息工程学院,银川 750021)

0 引言

遥感技术是一门综合性的学科,主要通过遥感器在空中对地物进行测量等操作获取信息,并对获取的地物信息进行研究分析。分类作为一种基础的遥感图像处理手段备受关注,已经被广泛应用于自然灾害检测、土地资源利用、资源勘测等各个领域中。根据遥感图像分类时样本的标签是否参与,可将这些方法分为有监督分类、无监督分类、半监督分类。

有监督分类方法被广泛应用于遥感图像分类,并且取得了较好的成绩。张浩等[1]利用支持向量机对建筑物进行识别并分类,达到了很好的分类效果。基于CART决策树[2]等的算法被相继用于遥感图像分类。Cheng等[3]将AlexNet、VGGNet和GoogleNet应用于遥感图像场景的监督分类中,取得了良好的分类效果。Xu等[4]应用两个深度神经网络,以一定的加权融合方式进行遥感图像分类并得到了令人满意的分类精度。有监督分类方法虽然被广泛应用并且获得很好的分类精度,但是常见的遥感影像数据集中每个类别的图像数量和图像总数量都很少,因此不能满足有监督分类需要用到大量标签样本的需求,分类精度不高。

无监督分类是在只知道图像数据但不知道所属类别的情况下,利用某种度量标准或一定的模型得到数据之间的关系。基于BoVW的方法[5],根据数据集学习特征得到相应特征的数据,再通过聚类对特征进行分类。Xu等[6]提出了一种具有知识编码粒度空间的深层自动编码器神经网络体系结构,用于遥感图像分类。Zhang等[7]首次对没有标签的遥感图像进行分类时用到了生成式对抗网络(generative adversarial network,GAN)模型。Lin等[8]提出一种无监督的多层特征匹配生成对抗网络模型(MARTA GANs),为适应遥感数据的复杂特性,使用了一个特征融合层融合中间层和全局特征。由于遥感图像中同种类别的图像通常可能会显示出不同的大小、颜色,或者不同类别的图像表现出很大的相似性,因此,如果只使用无监督的方法进行遥感图像分类就很难训练出泛化能力较强的模型,进而影响分类的准确率。

半监督分类恰好可以弥补以上两种分类方法的缺点,这种方法不仅通过有标记的样本图像进行模型的训练,而且可以有效地利用大量的无标记样本图像,使模型见识到更多的图像、更好的学习特征,得到泛化能力更好的模型。文献[9-10]使用SVM分类器进行遥感图像的半监督分类。Han等[11]将具有深度学习功能的半监督生成框架用在遥感图像场景分类中。Xu等[12]提出了一种新型的半监督方法(SS-AIT2FCM),用于遥感图像分类,使遥感图像的分类精度获得提高的同时对遥感图像进行了清晰化处理。

GAN作为无监督模型[13],它主要由一个生成器和一个判别器两部分组成,两个模型之间通过零和博弈的思想对网络进行训练。在GAN的基础上衍生出很多改进方法,如基于深度卷积生成对抗网络的DCGAN[14]、对原始目标函数改进的WGAN[15]、加入条件信息提出的条件GAN(CGAN)[16]等。

GAN在半监督分类方面也有很多研究,Salimans等[17]提出的一种GAN改进模型——半监督生成对抗网络(SSGAN)。Dai 等[18]基于生成式对抗网络框架提出了一种新的生成模型,同时改变网络训练的过程,有效提高了半监督分类的效果。

目前基于GAN的半监督遥感图像分类方法存在不足之处,GAN 的生成器生成样本的真实度与清晰度不太高,生成样本多样性不够,在有标签数据过少时分类精度不足。

本文结合GAN与VGGNet-16设计了一个针对遥感图像的半监督分类方法(classification based on semi-supervised learning,CSSL),该方法结合了自训练和协同训练的优势,提高了遥感图像分类的精度。

1 相关理论与技术基础

1.1 生成对抗网络

GAN作为一种无监督的生成模型,其基本架构如图1所示,它由生成模型(生成器)和判别模型(判别器)两部分组成。在训练过程中,生成器的目的是生成质量较好的、与真实图片差距较小的图片,判别器的目的是将真假图像分辨开来。

1.2 常用的半监督分类方法

半监督学习[19]是结合了监督学习与无监督学习优势的一种分类方法,半监督学习模型在训练时可以利用海量的无标签数据以及少量的有标签数据学习到泛化能力较强的模型。常见的半监督分类方法有很多,本文提出的半监督方法主要基于自训练算法[20]与协同训练算法[21]。

2 网络模型设计

2.1 设计原理

结合自训练与协同训练的优势,本文提出了一个半监督分类模型(CSSL)。在CSSL模型中借鉴了协同训练的优势,使用两个模型cDCGAN和VGGNet-16对遥感图像进行分类,从而使每个无标签样本被预测两次,增强对标签预测的精确度。同时借鉴自训练方式,通过操作简单、容易理解的多次训练的方式进行遥感图像分类。相比自训练算法只对无标签样本进行一次预测,CSSL模型使用两个分类器对每个无标签样本进行两次预测,这样可以减少模型预测错误的可能性。相比协同训练算法而言,CSSL模型不需要根据图像的特征将数据集分为两个不同的子数据集,只需通过两个分类器用多训练的方式为无标签样本添加伪标签,并使模型收敛,所以CSSL模型更适合对遥感图像进行分类。

2.2 CSSL模型结构

本文设计的CSSL模型包含cDCGAN和VGGNet-16两个分类模型。其中cDCGAN是对DCGAN的改进。对DCGAN的改进主要包括两部分:其一是将DCGAN的判别器的二分类器改为多分类器;其二是对DCGAN的生成器使用BatchNorm层+SELU激活函数进行改进。改进后的cDCGAN不仅可以对无标签的图像进行分类,而且可以生成无标签的遥感数据集。然后,结合cDCGAN与VGGNet-16模型通过多次自训练的方式进行遥感图像的半监督分类。

1)将DCGAN模型改为cDCGAN。

(1)将DCGAN的判别器的二分类器改为多分类器。本文不仅使用DCGAN产生遥感场景样本,而且要对它的判别器改进使它可以作为一个分类器用于多训练。在普通DCGAN中,生成器(G)输入的是噪声,输出的是生成的图像。判别器(D)相当于一个二分类器,输入的是真实图像和生成的图像,输出的是对图像真假的判断。在本文中cDCGAN模型的生成器的功能没有变,依旧是生成类似于真实图像的假样本,但判别器的功能发生变化,不仅要使判别器实现对真假图像的判别,还要对生成的图像进行预分类,因此,用softmax层替换了DCGAN模型中判别器的最后一层,其结构如图2所示。softmax层有C+1维,前C维表示与遥感图像训练集类别相同的C维,第C+1维表示判断图像的真假。它是指将真实的遥感场景样本与虚假遥感场景样本区分后,再按图像场景类别进行分类。最后判别器输出一个离散概率分布P={p1,…,pC,pFake}。

图2 判别器改进后的模型

(2)对DCGAN的生成器使用BatchNorm层+SELU激活函数进行改进。在人工神经网络中,激活函数对于网络学习复杂、非线性的问题都有很重大的意义。在卷积神经网络中,激活函数保证了卷积运算过程各个神经元的非线性化,从而学习到更多的非线性特征,解决更加复杂的图像问题。在DCGAN模型中,使用ReLU激活函数完成卷积的非线性化,ReLU激活函数的优点在于对梯度下降优化算法的收敛有巨大的加速作用,当输入x小于等于0时,输出0,当输入x大于0时,才产生输出,这使得ReLU激活函数具有一定的稀疏性,这从一定程度上可以使过拟合现象降低。但是ReLU激活函数也有很大的缺点,比如在运算过程中当梯度的变化非常大时,使用ReLU激活函数后,这个神经元就会失去活性,不会被激活。因此,如果这样的现象频繁发生,就会导致数据丢失,失去数据的多样性,从而导致生成的图像质量较差或者图像的多样性比较差。

SELU激活函数[22]被提出后,在理论上被证明比ReLU等激活函数有更多的优势,可以提取到更多的图像特征,被应用到GAN模型中[23],用于生成具有更高分辨率的人脸图像。SELU激活函数的图像如图3所示。SELU激活函数包含了ReLU函数的优点,即通过设置λ略大于1即等于1.050 7时,对于输入大于0的部分保持非饱和性,即保证了让某些区域的斜率是大于1的,意味着当梯度变化较小时,通过乘以1.050 7,会使输入稍微变大,保证对于变化不大的输入值也使其梯度不会减小得太快或者消失。此外,SELU激活函数保留了输入值小于0的计算结果,从而可以学习到更多的图像特征,从而提高模型的分类精度。

图3 SELU激活函数图像

本文使用BatchNorm层+SELU激活函数对DCGAN进行改进。SELU激活函数可以使模型学习到更多的图像特征,从而生成质量更好的图像,提高半监督模型的分类精度。加入BatchNorm层是为了使模型学习到的数据分布在一个稳定的区域,不会出现梯度消失或者爆炸情况,加快收敛速度。

但是在图3中可以看出SELU激活函数保留了小于0的部分,这在提供了更丰富的特征的同时,增多了网络参数量,使计算量增加,因此在正向和反向传播的过程中会相应地增长计算时间。所以本文只对DCGAN的生成器引入BatchNorm层+SELU激活函数,图4显示了改进后的cDCGAN模型的生成器结构。

图4 改进后的cDCGAN生成器

(3)cDCGAN模型的损失函数。在cDCGAN模型中,生成器的损失函数如式(1)所示,其参数的含义与原始GAN 模型生成器的损失函数类似。

Ez~Pz[logDk+1(G(z))]

(1)

式中:z表示随机噪声;Ez~Pz表示在分布z上的数学期望;D为判别器;G为生成器。由于cDCGAN的判别器的输出是多维的(图2),所以该公式中判别器D加了个下标k+1,Dk+1(G(x))表示判别器输入为生成图像时输出的第k+1维(最后一维)。

cDCGAN的判别器的损失函数与原始 GAN 的损失函数有一定的差别,分为有监督损失和无监督损失两部分。其中的无监督损失与原始GAN 类似,即对图像的真或者假判断即可,不需要加入损失标签。无监督损失函数如式(2)所示。

Lunsupervised=Ex~Pdata(x)[logDk+1(x)]+
Ez~Pz[log(1-Dk+1(G(z)))]

(2)

式中:x表示真实图像;Ex~Pdata(x)表示在x分布上的数学期望,其他符号含义与式(1)相同。

有监督学习损失要判断生成遥感图像的类别,所以以交叉熵的形式给出(式(3))。

(3)

式中:真实数据的标签y以独热向量(one-hot vector)的形式给出;yi表示标签的第i维;Di(x)表示判别器输入为真时其输出的第i维,通过i=0到k的累加将除了最后一维(k+1维)的其他各类别的交叉熵计算出来。

判别器的总损失为无监督损失与有监督损失之和,如式(4)所示。

(4)

整个模型的优化目标与通常GAN类似,为最大化判别器D,最小化生成器G,如式(5)所示。

(5)

2)CSSL模型。CSSL模型由cDCGAN和VGGNet-16两部分组成,如图5所示。图中上半部分为生成模型cDCGAN,主要目的是生成大量的无标记遥感样本,扩充遥感数据集的不足并对生成样本进行预分类。下半部分为分类模型VGGNet-16,主要负责对遥感数据集进行分类。本文选择cDCGAN和VGGNet-16作为CSSL模型的组合主要有4个原因。第一,遥感图像数据集中包括的有标签遥感图像数量较少,而改进后cDCGAN模型可以生成无标签的遥感图像,扩增数据集用于半监督分类。第二,本文提出的CSSL模型需要用到两个分类器对生成的图像进行分类,而cDCGAN的判别器恰好可以作为其中的一个分类器对生成图像进行分类。第三,选择VGGNet-16是因为相比于cDCGAN模型而言,该模型具有较多的层数,因此非线性因素也较多,可以学习到更多的图像特征,有利于对遥感图像的特征进行提取。第四,cDCGAN模型的卷积核为5*5,而VGGNet-16模型的卷积核为2*2与3*3,所以对于相同的遥感图像,两个网络在每个阶段都可以学到不同的特征图像,使用该半监督模型生成大量遥感场景图像的同时处理标记样本和未标记样本,从而提高分类器的分类性能。因此选择VGGNet-16和cDCGAN作为两种不同的分类器很合适。

图5 基于生成对抗网络的半监督分类模型(CSSL)

在整个训练过程中,将原始标记样本L划分为两个子集:训练集L1和测试集,然后训练该模型。算法包括4个主要步骤。

步骤1:预训练。在L1上训练VGGNet-16,生成初始模型Mv,使其具有一定的分类能力。

步骤2:cDCGAN生成样本并预测标签。用L1作为真实数据训练cDCGAN,模型稳定后生成的一批无标记样本记为U,并对每个样本作出预测记为Pc。

步骤3:扩大训练集。将生成样本集U送入模型Mv,每个样本得到一个预测类别标签Pr及预测概率,选取概率高且Pc和Pr相同的样本分配相应的类标签,这样能保证选取的生成样本与真实样本的特征分布(或者说分类属性)相当程度上保持一致。然后把这些加了标签的生成样本添加到训练集L1中,记为L2。使用L2数据集更新Mv模型。

南水北调中线工程配套建设正在有序进行。长距离输水管道管材选择要充分考虑管材性能、施工、寿命、造价等因素。在石油基地和盐渍土地区采用涂层隔离和阴极保护技术的防腐措施,能有效地防止土壤的电化学腐蚀,不仅保障了输水管道的安全和耐久性,同时提高了输水管道使用寿命。在施工过程中应严格按照设计要求和相关规范施工,严把关键部位各个环节的质量关,才能保证管道不漏水,实现质量达到优良目标。

步骤4:多次重复。在完成步骤3之后,有标签的训练集会增大。如果增加的生成样本不够,重复步骤2和步骤3。

最终形成的训练集可以再反复训练VGGNet-16分类器。当训练好后,用该分类器模型对测试集的样本进行分类。

3 实验设计与结果分析

3.1 实验环境

为了验证本文提出的CSSL方法的分类性能,实验使用了每个图像大小相同的大型遥感数据集NWPU-RESISC45和常用的土地分类数据集UC-Merced对CSSL模型的分类效果进行验证。NWPU-RESISC45是一个数据量较大的数据集,该数据集图像大小为256像素×256像素,所包含图像类别是现存的遥感数据集中类别最多的数据集之一,共有31 500张图像,可表示为45×700,其中700表示每个类别的数量,45表示类别数。UC Merced数据集比较小,总量只有2 100张图像,可表示为21×100,其中21是类别数,100是每个类的包含的图像。

实验以TensorFlow-GPU-1.1.4作为框架,处理器型号为i7-8750,显卡为GeForce GTX 1060。

3.2 实验结果

本文通过生成样本的质量对比、总分类精度对比来分析提出方法的性能。

图6和图7分别随机展示了UC-Merced原始数据集和NWPU-RESISC45原始数据集与生成图像中的部分图像。其中图6和图7中的(a)指原始图像,(b)和(c)分别是CSSL模型训练20 轮和50 轮生成的部分图像。在图中可以看出,在模型中的cDCGAN训练了20轮后,生成的假图像已经基本具备了遥感图像的主要特征信息,由于训练次数少,所以生成的图像存在噪声,还不能清晰地用肉眼识别图像类别。图6和图7中的(c)随机展示了cDCGAN模型训练50轮后的生成图像,虽然生成图像与原始图像相比还存在一定的差距,但是,与训练20轮的图像相比,50轮后的图像明显更加清晰,也基本具备了与真实图像相似的特征信息。因此这些生成的图像可以扩大数据集,并具备提高半监督模型的分类精度的可能性。

图6 UC-Merced原始数据集与CSSL中生成的部分图像

图7 NWPU-RESISC45原始数据集与CSSL生成的部分图像

表1 UC-Merced数据集中CSSL与其他方法分类精度对比 %

表2 NWPU-RESISC45数据集中CSSL与其他方法分类精度对比 %

4 结束语

本文结合自训练算法和协同训练算法的优势设计了基于生成对抗网络的半监督分类模型CSSL。该方法不仅能生成大量无标签的样本,增广了遥感数据集,并且能够充分利用这些数据达到提高分类精度的效果,缓解决了有监督分类需要用到大量有标签数据的问题。通过UC-Merced以及NWPU-NWPU-RESISC45数据集设计对比实验对本文提出的CSSL模型进行性能分析。经过生成图像对比实验以及总分类精度证明了本方法的优越性。

猜你喜欢

分类器标签样本
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
规划·样本
不害怕撕掉标签的人,都活出了真正的漂亮
人大专题询问之“方城样本”
基于AdaBoost算法的在线连续极限学习机集成算法
随机微分方程的样本Lyapunov二次型估计
让衣柜摆脱“杂乱无章”的标签
科学家的标签