2.1 高分辨率遥感图像场景分类方法特征提取策略总结
高分辨率遥感图像场景分类的大致流程如图2-1所示:首先对输入图像进行特征提取,然后分类器利用图像特征进行分类得到最终结果。其中,分类器的研究已经相对成熟,当前工作的重点之一就是特征提取策略的研究。现有高分辨率遥感图像场景分类方法特征提取策略可大致分为两类:① 手工特征的提取,主要依靠专业人员设计特征提取算法;② 数据驱动特征的提取,基于大量样本自动学习出图像特征。因此,本书从手工特征、数据驱动特征两个方面对领域内现有算法进行分类介绍。
图2-1 高分辨率遥感图像场景分类的大致流程
1.基于手工特征的场景分类方法
高分辨率遥感图像场景分类方法常用的手工特征包含CH、纹理特征、SIFT和GIST等。下面对这四种较为典型的特征进行简要叙述。
(1)CH:CH属于比较简单的特征,其将颜色空间分割为多个区域,统计图像中所有像素颜色出现在各个区域的次数,即可得到CH。颜色特征对图像本身的尺寸、方向等信息的依赖性小,描述的是整体特征,不包含各个颜色在图像中所处的空间位置,不传达图像的空间信息。目前,已有多种基于CH的分类方法应用于场景分类方法中。
(2)纹理特征:纹理描述符(Texture Descriptor)主要提供的是图像局部区域内像素灰度级的空间分布信息。目前提取纹理特征的方法主要有使用灰度级共生矩阵(Gray Level Cooccurrence Matrix,GLCM)提取图像的纹理特征;利用Gabor滤波器提取图像的纹理特征;以及使用局部二进制模式(Local Binary Pattern,LBP)等。纹理描述符非常适用于纹理场景的分类辨别,因此被大量地使用在遥感图像的分类工作中。
(3)SIFT:SIFT特征是通过关键点的梯度信息对图像子区域的描述。提取SIFT特征可以分为以下五个步骤:生成尺度空间、检测尺度空间极值点、精确定位极值点、指定关键点参数方向和生成特征描述符。有大量场景分类方法使用SIFT特征。
(4)GIST:GIST最初由Oliva等人提出,是一种基于空间包络模型通过一组感知维度(自然度、开放度、粗糙度、膨胀度和险峻度)来表示场景主要空间结构的全局描述符,被广泛应用于描述图像场景。将图像分为4×4个网格区域,利用多尺度和多方向的Gabor滤波器对图像的每个网格进行卷积,然后将每个网格得到的向量连接起来就得到了GIST描述符。采用GIST特征的场景分类方法的学者有Avramović和Risojević等。
很多高分辨率遥感图像场景分类方法将手工局部特征进行编码,以此作为图像的特征表示。视觉词袋(Bag of Visual Words,BoVW)模型是近十年来较为流行的视觉特征模型之一,自从被提出以来就受到了广大学者的青睐。它不需要专家标注训练集,且不受图像其他因素的影响,已经被广泛应用到图像场景分类领域。BoVW模型的构建主要包括以下三个步骤。
(1)特征提取:先从给定的训练图像中随机抽取图像块,然后计算这些图像块的特征描述符,如比较流行的SIFT描述符。
(2)构建词典:将上一步骤得到的特征通过k-means聚类的方法得到N个聚类中心,所得到的N个聚类中心即组成词典的“词袋”。
(3)计算图像全局直方图:利用“词袋”对图像进行编码,即将测试图像的特征与词典中的视觉单词进行匹配,计算图像特征在每个视觉单词上的映射次数,最终得到一个全局直方图来表示这幅图像。
BoVW的提出使场景分类的研究产生了巨大飞跃,大量场景分类方法采用BoVW模型或BoVW的改进模型。围绕BoVW模型的改进工作主要包括SPM、SCSPM、LLC(Locality-constrained Linear Coding,局部限制的线性编码)、pLSA(probabilistic Latent Semantic Analysis,概率潜在语义分析)、LDA(Latent Dirichlet Allocation,隐含狄利克雷分配)、IFK和VLAD(Vector of Locally Aggregated Descriptors,局部聚合描述符向量)等。下面对以上一些编码方法进行简要叙述。
① SPM:对图像进行多尺度的划分,先将图像均分为(L=0,1,2,3,…)个子区域,随着尺度的增加,图像划分的子区域越精细,然后在每个子区域上都做BoVW模型的直方图统计,最后将得到的所有直方图联系在一起作为图像的最终表示。
② SCSPM、LLC:SCSPM是稀疏编码与SPM的一种组合变型,其码本依然是由提取的手工特征经过k-means聚类后得到的,因此SCSPM和BoVW具有相同的特征维数。SCSPM改变的是由码本到图像特征的映射方式,采用的是多对一的稀疏性映射,然后经过最大值池化(Max Pooling)得到图像特征,其重构误差较小,所提取的特征能够更精准地表示图像。随后,LLC对SCSPM做进一步的改进,在编码的过程中增加了局部区域限制。
③ pLSA、LDA:pLSA是结合主题模型对BoVW模型进行改进而得到的一种方法,引入了一个潜在变量来表示视觉词汇的条件概率分布,并作为图像与视觉词汇之间的连接关系,同时解决了同义词和多义词的问题。LDA模型是对pLSA模型进行了改进,增加了一个Dirichlet先验知识来描述潜在的主题变量。
④ IFK、VLAD:IFK使用高斯混合模型(Gaussian Mixture Model)对局部图像特征进行编码,最终得到一个2×K×F维的特征向量(F为局部特征描述符的维数,K为字典的大小)。VLAD可以看作IFK的一个简化模型,其采用k-means聚类的方法来产生字典,最终得到一个K×F维的特征向量。
2.基于数据驱动特征的场景分类方法
数据驱动特征可分为浅层学习特征和深度学习特征。浅层特征提取相对深度特征提取而言,可以视作一种单隐层的神经网络特征提取方法。
高分辨率遥感图像场景分类方法常用的浅层学习特征主要包括PCA(Principle Component Analysis,主成分分析)、ICA(Independent Component Analysis,独立成分分析)和Sparse Coding(稀疏编码)等。PCA是一种早期的无监督特征提取方法。它通过一个转换矩阵来获取图像的特征描述,该特征可以通过较少的数据量表达出图像中的主要信息,领域内也有一些人将PCA运用到遥感领域的场景分类方法的工作中。ICA的基本思想是从一组混合的非高斯模型信号中分离出独立信号,即用一组相互独立的基向量对其他信号进行表示,目前也有一些人采用ICA来提取特征的场景分类方法。Sparse Coding是通过大量的训练样本得到一组超完备的基向量,并以此来对图像进行编码,要求只有少部分的编码系数不为0,以编码系数或重构误差作为最终的特征表示,有大量的工作将此类特征应用到遥感图像场景分类中。
深度学习特征可大致分为两类:一类基于“一维”DNN(Deep Neural Network,深度神经网络)来提取特征,即输入为一维矢量;另一类采用“二维”DNN,即输入为二维图像(或三通道的彩色图像)。前者的典型代表是基于DBN(Deep Belief Network,深度置信网络)和SAE(Stacked Auto-encoder,堆叠自编码器)的场景分类方法,后者的典型代表是CNN的场景分类方法。DBN是一个概率生成模型,由一系列受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)组成,采用非监督贪婪逐层训练算法进行预训练。有多种场景分类方法采用DBN来提取特征。自编码器是只有一层隐藏节点且输入和输出具有相同节点数的对称神经网络,其目的是使输出尽量逼近输入。SAE则是由多个自编码器连接而成的,即前一个自编码器的输出作为后一个自编码器的输入。SAE也被用于场景分类领域。CNN一经提出,便以其强大的特征提取能力成为本领域的研究热点,它采用“二维”卷积的形式对图像进行了多层的抽象表达。目前有众多基于CNN的场景分类工作。自从AlexNet获得成功后,多种基于卷积神经网络的方法也被陆续提出,如Overfeat、VGGNet、CaffeNet、GoogLeNet、SPPNet和ResNet等。此外,还有一些方法将CNN与其他方法模型进行了结合,如Hu等人分别从不同深度的CNN全连接层提取图像特征,并将其作为局部特征,然后结合特征编码模型对这些局部特征进行编码得出全局特征,使用的编码模型有BoVW和IFK等。Cheng等人先将图像块输入CNN得出图像的局部特征,然后用k-means聚类得到词典,再结合BoVW模型进行编码得到图像的全局特征。