范迎迎,张姗姗
(新疆财经大学信息管理学院,新疆 乌鲁木齐 830008)
高光谱图像具有丰富的空间信息和光谱信息,被广泛应用于生态科学、农业信息学、地质学等领域[1].高光谱图像分类是将高光谱图像应用于各领域的基础,其目标是为每一个像素分配一个唯一的语义标签.
对于高光谱图像分类,传统的基于光谱特征的方法[2-5],由于忽略了空间特征之间的相互依赖关系,往往不能获得良好的性能.而基于光谱空间特征的分类方法,如小波变换法[6]、低秩表示法[7]等,充分考虑了高光谱图像中的光谱信息和空间信息,取得了相对较好的效果.然而,上述方法依赖于手工提取的特征,分类过程相对烦琐,通用性不高,且传统的浅层机器学习算法,在处理高维遥感数据时,容易陷入“维数灾难”.
近年来,深度学习技术使得高光谱图像分类性能得到了较大改善[8-10].尽管基于深度学习的方法在纯数据驱动的方式下表现良好,但它们通常依赖于大量标记样本.然而,由于高光谱遥感图像特殊的成像机理,高光谱图像的获取及标注成本较高,很难获得大量的标注数据.训练样本的缺乏在很大程度上制约着高光谱图像分类性能的进一步提升.因此,如何在降低标注成本的同时提高高光谱图像的分类精度,成为亟待解决的问题.
本文从提高高光谱图像分类精度和降低样本标注成本两方面入手,提出一种结合残差连接和注意力机制的分类网络,充分利用高光谱图像中的光谱空间信息进行分类.将深度学习和主动学习技术相结合,降低样本标注成本.
近年来,深度学习被广泛应用于高光谱图像分类任务.如文献[9]提出基于深度信念网络的高光谱数据特征提取和分类框架,文献[10]提出使用栈式自编码对高光谱图像进行分类,而这两种方法在处理高光谱数据时,不能充分利用其空间信息,分类精度有待进一步提高.卷积神经网络(CNN)引入了局部感受野的概念,通过卷积核捕获图像上的空间信息,在图像分类领域取得了可观的成就.目前,有不少研究者使用CNN实现高光谱图像分类.Yu等[11]通过构建高效的端到端CNN模型,提高了高光谱图像分类的精度;Kang等[12]提出了一种基于双路径网络的分类方法,结合了残差网络和密集卷积网络的优点,取得了较好的分类效果;文献[13]利用迁移学习和CNN模型对高光谱图像分类,提高了分类性能,并且从一定程度上缓解了高光谱图像样本不足的问题.CNN方法使得高光谱图像分类效果得到了一定程度的提升,但不难发现现有的基于CNN的分类方法通常对样本量需求过大,而现有算法不能从根本上解决高光谱图像数据缺乏以及标注困难问题.
主动学习(Active Learning,AL)[14]主要用来最大限度地减少训练集规模并降低标注成本,其主要思想:通过机器学习算法筛选出那些比较难分类的样本并进行专家标注,然后将得到的标注数据再次放入机器学习模型中进行学习,进而提高模型的准确度.目前,已有学者将主动学习算法运用在高光谱图像分类中,如王立国等[15]采用支持向量机作为分类器的AL算法进行高光谱图像分类,但SVM在面对高光谱图像的复杂空间光谱特征时,分类性能并不如人意;程圆娥等[16]将栈式自编码和AL结合实现高光谱图像分类,而栈式自编码网络要求输入为一维向量,破坏了高光谱图像的空间邻域信息.针对上述问题,本文拟采用CNN作为主动学习的分类器,通过残差连接和注意力机制提升CNN网络对高光谱图像的空间-光谱信息的利用能力.
本文提出的基于深度主动学习的高光谱图像分类网络,充分利用深度学习的判别能力和主动学习的标记效率,进一步提高了高光谱图像分类的性能.其网络框架图如图1所示.首先,为了充分利用高光谱图像丰富的光谱空间信息,选取以待分类像素点为中心的三维图像子块作为网络的输入,其中有标记样本作为训练集训练分类器,而未标记样本则作为主动学习的候选池;然后,使用训练集训练分类器,并基于训练好的分类器计算候选池中每个样本的类别概率;最后,使用主动学习策略选择信息量最大的样本进行专家标注,并将新标记的样本加入到训练集中,对网络进行新一轮的迭代训练;重复上述步骤,直至达到最大迭代次数为止.
图1 网络整体框架图
由于本文所提算法的样本选择过程依赖于分类器的分类结果,所以分类器的设计在主动学习过程中至关重要.鉴于CNN网络在图像分类领域取得的巨大成就,本文选取CNN网络作为高光谱图像分类的骨干网络.
2.1.1 基于残差连接的CNN网络
在深度学习算法中,随着网络深度的加深,网络性能常常会出现退化,实践证明,残差连接通过将网络低层信号以跳跃传播的方式传入网络高层,能够解决这种退化问题.此外,高光谱图像存在不可避免的高维、小样本问题,过深的网络容易造成过拟合,因此本文借鉴ResNet网络[17]的残差连接思想,构建了一个6层卷积神经网络模型,每层均采用3×3大小的卷积核,其中,前5层卷积核个数为256,第6层卷积核个数为1 024,两个全连接层的神经元个数分别为500和K,其中K为类别数.该模型引入残差连接方式,既能缓解使用小样本训练过程中的梯度消失问题,同时有助于梯度的反向传播.
2.1.2 融合注意力机制的CNN网络
高光谱图像的高维特性增加了对高光谱数据进行分类的难度,如果能让模型快速聚焦于高光谱图像中的重要波段和关键区域,将会在很大程度上简化分类过程.深度学习中的注意力机制是仿照人类大脑处理视觉信息的思维方式而设计的一种机器视觉注意力机制,该机制可以将注意焦点迅速聚焦于图像中的重要区域,而忽略其他无关背景区域,从而能够更加高效地处理视觉信息.目前常用的空间注意力机制[18]能够凸显关键区域的特征表示,但忽略了图像中各通道之间的相关性;而通道注意力机制[19]能够为每个通道赋予不同的权值,提升重要通道信息抑制无关通道特征,但忽略了图像空间内的信息交互.为了同时兼顾空间内、通道间的信息交互,CBAM[20]混合注意力机制被提出,该机制结合了通道域和空间域的注意力方法,形成一种较为综合的注意力机制.如图2所示,CBAM在原通道注意力的基础上,连接了一个空间注意力模块.为了充分利用高光谱图像不同光谱之间的相关性以及提升高光谱图像关键空间区域的特征表达,本文在CNN网络中加入了CBAM注意力机制.
图2 CBAM结构图
本文提出的分类网络结构图如图3所示.为了更好地描述分类器的工作过程,给出如下定义:对于高光谱数据I∈RH×W×D,H和W分别为高光谱图像的高和宽,D为波段数,假设xi∈Rm×m×D是以像素pi为中心像素、空间大小为m×m、波段数为D的3维图像块,yi为像素pi的类别标签,N为校本总数,则训练样本集DL={(x1,y1),…,(xn,yn)},候选样本集(未标记样本)DU={pn+1,…,pN},高光谱图像分类的目的是为每个像素pi分配一个类别标签yi.
图3 分类器结构图
则卷积操作计算公式为
(1)
在网络的输出层采用Softmax函数计算类别概率,对于一个多分类问题,如C(C>2)类,给定输入x,假设P=(y(i)=1|x(i);θ)为每一个类别j的概率值,则其公式为
(2)
使用交叉熵损失函数优化网络参数,公式为
(3)
主动学习查询策略是主动学习算法的核心组件通过查询策略可以挑选出最有价值的一组样本,提高模型分类的精度.目前,使用最多的是基于不确定性采样的方法.本文拟采用基于最小置信度(Minimum Confidence,MC)和基于最优标号和次优标号(Best vs second-best,BvSB)的采样方法.
2.2.1 基于MC的采样
该方法选择最大概率最小的样本进行标注,最大概率越小说明样本的不确定性越大.本文将所有未标记数据输入到CNN网络,网络的Softmax函数输出值为属于某类地物的类别概率,假设最后一层全连接层的输出向量为v,vi表示v中的第i个元素,则经过Softmax函数后的输出为
(4)
所有基于MC的采样可以表示为
MC=min{Pmax}.
(5)
其中Pmax=max(Pi).
2.2.2 基于BvSB的采样
该方法选择极易被判定为两类的数据,即选择模型预测最大和次大的概率差值最小的样本.样本的最大和次大的概率差值小就说明该样本很容易被错误分类,对这样的样本进行标注,有更大的标注价值.由(5)式基于BvSB的采样可以表示为
BvSB=min{Pmax-Psecond-max}.
(6)
其中Psecond-max表示次大概率值.
训练集和未标注样本集在每次主动选择后动态更新,即被主动选择策略选中的样本将从未标记样本池DU中删除,新标注的样本会被添加到训练集DL中,假设每次主动选择b个样本进行标记,则:
DL=DL∪{(x1,y1),…,(xb,yb)};
(7)
DU=DU-{(x1),…,(xb)}.
(8)
整个算法流程可以归纳如下:
算法1 本文算法
输入:训练样本集DL,未标注样本集DU,主动选择次数S,首次随机选取样本数a,每次主动选取样本数b;
初始化:s=0
(1)随机选择m个标记样本构造初始训练样本集DL,
(2)Whiles (3)使用DL训练分类网络, (4)使用训练好的分类网络计算DU中的每个样本的类别概率, (5)根据(5)—(6)式主动选择b个样本进行标记, (6)根据(7)—(8)式更新DL,DU, (7)EndWhile; 输出:类别. 为了评估本文所提算法的性能,在两个广泛使用的高光谱图像分类数据集上进行实验. (1)IndianPines(IP)数据集:该数据集是最早用于高光谱图像分类的公开数据集,由机载可见光红外光谱仪(AVIRIS)采集得到,影像范围为美国西北部印第安纳州的印第安纳松树试验田,大小为145×145像素,空间分辨率大小为20 m,包含220个波段,剔除了20个噪声和水吸收波段,保留了200个波段用于实验,包含了16种地物类别.该数据集的伪彩图和标签图见图4(a). (2)Pavia University(PU)数据集:该数据集由反射光学成像光谱仪(ROSIS)采集获得影像范围为意大利帕维亚城,大小为610×340像素,空间分辨率大小为1.3 m,包含103个可用波段,共9种地物类别.该数据集的伪彩图和标签图见图4(b). 图4 IP(a)和PU(b)的伪彩色和真彩色图 本文实验在深度学习框架Pytorch中进行,硬件环境为IntelCore i7-9700CPU处理器,内存大小为16 GB,显卡为 NVIDIAGeForce RTX 2080.分类网络选取遥感图像块作为网络的输入,若图像块尺寸过大,则会包含较多的其他地物信息,对实验结果影响较大;若选取的图像块尺寸过小,则从图像中学习到的特征有限,也不利于分类,因此,本文根据经验选取输入图像块大小为7×7像素,设置分类器的batch大小设为32,epoch大小为200,学习率大小为0.01.实验设置5轮CNN训练,第一轮从未标记样本池中随机选取250个样本标注后进行训练,主动学习迭代次数为5,每次从未标记样本中选择60个进行标注,所以总训练样本数为550. 实验选用3个评价指标评估分类性能,即总体分类精度(Overall accuracy,OA)、平均分类精度(Average accuracy,AA)、Kappa系数作为评价指标. 3.3.1 不同查询策略对分类精度的影响 为了探索不同查询策略对模型结果的影响,通过实验比较了MC、BvSB、RS(Randomselection,RS)3种查询策略在5次主动学习迭代后的分类结果,如表1所示. 表1 不同查询策略的实验结果 % 由表1可以看出,采用BvBS的主动学习策略在两个数据集上都取得了较好的分类效果,这是因为在3种策略中,只有BvBS是基于边缘的查询方法,能够更准确地筛选出难分类样本;基于RS的分类策略毫无悬念地取得了最差的分类结果,因为这种选择方法漫无目的地从未标记样本中选择样本进行标记,无法为模型提供贡献率较大的样本.因此在实验中采用BvBS查询策略. 3.3.2 注意力机制和AL策略对分类精度的影响 通过对比实验验证注意力机制和主动学习策略对实验结果的影响.将本文提出的未加注意力机制的CNN网络设置为基线网络,记为CNN,则CNN-CBAM为在基线网络中加入CBAM,CNN-AL为使用基线CNN网络作为分类器的主动学习模型,CNN-CBAM-AL为使用CNN-CBAM作为分类器的主动学习模型.非主动学习方法(CNN、CNN-CBAM)采用随机选择样本的方式进行迭代训练,所有模型经过5次迭代后的实验结果如表2所示.由表2中CNN和CNN-CBAM方法的对比结果可知,加入注意力机制后的网络分类结果在两个数据集上均有提升,说明CBAM可以使网络更加关注关键空间-光谱特征,能够提高特征表达能力,提升网络分类效果;由CNN和CNN-AL方法的对比结果可知,采用主动学习策略的模型能够大幅度提升网络性能,在IP、PU数据集上OA分别提升了7.9%,9.54%;4种方法对比可知,加入注意力机制和主动学习策略的网络取得了最优的分类结果,而且,发现在PU数据集上的分类结果高于IP数据集,这主要是因为IP数据集地物类别更加复杂. 表2 实验结果 % 3.3.3 不同分类器对AL方法实验结果的影响 为了验证本文所提分类网络的性能,将本文方法与使用K近邻(KNN)、支持向量机(SVM)、栈式自编码(SAE)、深度置信网络(DBN)作为分类器的主动学习方法进行了对比.对于KNN算法,设置近邻数K=10;对于SVM算法,将高光谱图像的光谱特征作为模型输入,使用径向基核函数将输入映射到高维空间,正则化参数c和核参数g由交叉验证的网格搜索确定;对于SAE算法,设置3个隐藏层,隐层神经元个数分别为80,50,30,学习率为0.05,epoch为200;对于DBN算法,设置DBN网络为3层,各层节点数为64,学习率为0.05,epoch为200.图像的选取见3.2节的实验设置,使用不同分类器主动学习算法在IP数据集上分类效果如图5所示、PU数据集上的分类结果见图6. 图5 不同分类器在IP数据集上的分类结果 图6 不同分类器在PU数据集上的分类结果 由图5和6可知,(1)随着训练样本的增加,所有方法的OA值均呈现上升趋势,说明主动学习算法在分类过程中能够提升分类准确度;(2)深度神经网络方法高于传统浅层机器学习算法,说明深度学习方法在处理高维数据时具有明显优势;(3)本文提出的加入CBAM的CNN方法取得了最高的分类方法,且明显高出其余两种深度学习算法,这是因为使用SAE和DBN方法时需要将输入数据转成一维向量,破坏了高光谱图像的空间结构信息,而基于CNN的方法以图像块作为输入,能够同时利用高光谱图像的空间光谱信息进行分类. 本文将深度学习和主动学习技术结合使用,提出基于深度主动学习的高光谱图像分类技术,设计了适用于高光谱图像分类问题的6层卷积神经网络,并加入CBAM注意力机制,充分挖掘图像中关键的空间光谱信息;应用不同的主动学习策略,探索主动学习技术在解决高光谱图像标注问题中的应用潜力.通过在IP和PU两个高光谱数据集上进行实验,结果表明本文提出的CNN-CBAM分类器结合BvSB查询策略能够取得较好的分类性能.3 实验结果与分析
3.1 实验数据集
3.2 实验环境与设置
3.3 实验结果与分析
4 结束语