目前计算机视觉领域日趋火热,针对图像分类的各种深度学习框架也逐渐被提出,这些框架表现出了良好的性能和准确率,但是针对遥感图像场景的分类问题的解决一直存在挑战,因为遥感图像中包含着大量的空间信息,这些空间信息中又包含着很强的类内变化以及很弱的类间变化,因此本文提出了一种MSCP的特征堆叠与协方差池化的方法来解决此类问题。

摘要

本文提出了一种新的遥感图像场景分类方法——MSCP。该方法的创新之处在于,它能够自然地结合多层特征图,这些特征图是通过预训练的卷积神经网络(CNN)模型得到的。具体来说,提出的MSCP的分类框架包括以下三个步骤。首先,利用预训练的CNN模型提取多层特征图。然后,将特征图叠加在一起,计算叠加特征的协方差矩阵。得到的协方差矩阵的每一项都代表两个不同特征图的协方差,这为利用来自不同层的特征图提供的互补信息提供了一种新的方法。最后,利用所提取的协方差矩阵作为支持向量机分类的特征。在三个数据集上的实验表明,所提出的MSCP方法不仅优于相应的单层模型,而且比其他基于CNN的预训练场景分类方法具有更好的分类性能。

介绍

目前,遥感图像场景分类问题已经成为了深度学习应用领域一个热点问题,场景分类的目的是根据图像的内容为图像分配一个独特的标签。但是目前遥感图像场景分类也面临了一些问题,其主要问题是:
1.遥感图像图像往往表现出复杂的空间结构,具有高的类内变化和很低的类间变化高类内变化指的是同一幅遥感图像内部同一类的食物表现出的图像差异比较明显,而低类间变化指的是不同类的事务表现出的图像差异很小
2.虽然之前提出的一些方法可以获得很好的分类性能,但是无法将已经预训练好的CNN模型高效的用于遥感图像场景的分类无法利用职前训练好的模型以提高效率。
因此作者提出了一种叫做 multilayer stacked covariance pooling (MSCP)的方法,它将经过预处理的CNN不同层次的特征图结合起来进行遥感场景分类。所提出方法的主要目的是利用不同卷积层之间的互补信息,进一步提高分类性能。
众所周知,CNN模型中较浅的层更可能反映低层视觉特征(如边缘),而较深的层则代表图像中包含的更抽象的信息。正如下图所示,该图是 AlexNet 中从不同层的卷积核中提取出来的feature map并将他们可视化后的结果。
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
从图1中可以看出,AlexNet可以从图像中提取各种特征图,这些特征图可以传递互补的信息,可以用来进一步提高分类性能。此外,ResNet和DenseNet利用连接将不同的层从浅到深结合起来,展现了良好的性能,这也说明CNN中不同层的结合是非常有用的。因此,作者提出的方法使用了类似的方法来利用多层包含的互补信息。实验结果表明,与现有的几种分类方法相比,本文提出的MSCP方法确实可以利用这些互补信息,获得更好的分类性能。

框架运行的主要步骤

本文提出的MSCP场景分类框架包括三个主要步骤:
第一步,一个预先训练的CNN模型(即采用AlexNet或VGG-VD16)来提取多层特征图。
第二步,将特征图叠加在一起,计算协方差矩阵。协方差矩阵中的每一项表示两个不同特征映射之间的协方差,这是融合了不同层特征的一种方法。
第三步,利用所得到的协方差矩阵作为特征,采用SVM支持向量机分类器进行分类。我们注意到,为了将不同空间维度的特征图叠加在一起,采用了降采样downsampled的方法。(缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。)在此基础上,提出了通道平均融合算法,并将其应用于每个卷积层,以降低叠加前的计算复杂度。
其框架的基本结构如图所示
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

本文的贡献

1.没有采用一两个层的简单连接,采用了CNN中从浅层到深层的不同的feature maps,因此提出的方法有良好的效果。
2.采用了一种简单而有效的方法来组合来自不同层的特征,因此,该方法比普通方法运行速度快得多。

提出的方法

  • 多层特征的提取

普通卷积神经网络的结构可用下式表示(省略了池化层)
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
其中X代表样本,w代表卷积核。对于已经与训练好的模型来说,其卷积核w是同伙大量的数据集训练来的,在本框架中,使用了来自AlexNet的三个卷积层( “conv3,”“conv4,”and“conv5”)记作M3,M4,和M5,还使用了VGG-VD16的三个卷积层 (“conv3-3,” “conv4-3,” and “conv5-3”) 记作 M3,3,M4,3,和M5,3。

  • 多层堆叠协方差矩阵的池化

通常,不同的卷积层具有不同的空间维度,因此不能直接叠加。为了解决这一问题,本文采用双线性插值下采样。此外,为了降低计算复杂度(协方差矩阵的维数由特征图的个数决定),进一步提出了一种信道平均法,并在叠加前对每个卷积层采用该方法。首先将L个feature maps(每个feature maps的大小为H×W)按原始序列划分为d个子集。然后,进一步计算每个子集的平均feature maps,并将其叠加在一起。 三个卷积层的feature maps 如下M3,3 ∈ Rs×s×d, ˆ M4,3 ∈R s×s×d,and ˆ M5,3 ∈ Rs×s×d) 他们堆叠成的新的feature map 为 M =[ ˆ M3,3; ˆ M4,3; ˆ M5,3]∈Rs×s×D,其过程可用如下公式表示
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
CP的图解如下图所示。协方差矩阵C的非对角项表示两个不同特征图之间的协方差,对角项表示每个特征图的方差。例如,在下图中,协方差矩阵C的蓝色表示最后两个feature map(红色和蓝色)的协方差。
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
但是协方差矩阵不位于欧氏空间,而是位于黎曼流形空间。因此,它们不能被SVM处理,而SVM最初是为欧氏空间上的数据而设计的。但是通过矩阵对数运算,协变矩阵可以映射到欧氏空间,同时保留流形上定义的内在几何关系,如下所示
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 支持向量机
    支持向量机是一种常用的机器学习分类模型了,它基于构造超平面来实现分类,这里就不再赘述了。

实验和数据分析

  • 数据集的选择

为了评价该方法的性能,对三个常用的遥感场景图像数据集进行了实验,分别是
UC Merced Land Use (UC) data set
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
AID30 (AID) data set
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
以及 NWPU-RESISC45 Data Set
实验中,我们使用了两个流行的cnn预训练模型:AlexNet和VGG-VD16来提取多层特征。具体而言,三个卷积层(即分别使用AlexNet的“conv3”、“conv4”和“conv5”,以及VGG-VD16的三个卷积层(如“conv3 - 3”、“conv4 - 3”和“conv5 - 3”)。关于CNN模型使用卷积层的详细信息如下表所示。在将场景图像输入经过预处理的CNN模型进行特征提取之前,将图像调整到下表所示的大小(即, AlexNet为227×227×3,VGG-VG16为224×224×3),分别遵循和的实验设置。两种模型都是在ImageNet上进行预训练,由于采用随机抽样的方法生成训练集和测试集,所有实验运行10次。报告了获得的总体精度(OAs)的平均值和标准差。此外,为了避免随机抽样可能造成的实验偏差,我们对每个数据集先随机获得10次分割,然后对所有实验应用相同的10次分割。
【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 参数设定
    该方法的主要参数有两个:降采样空间维数s和信道平均融合后的特征图个数d。将AlexNet的s设置为13,将VGG-VD16设置为14。实验结果表明,该结构总能获得令人满意的分类性能。然后对参数d进行分析,本实验采用随机选取80%样本进行训练的UC数据集。图6显示了使用不同的d值和所提出的MSCP方法对所考虑的两个CNN模型的影响。可以看出,在AlexNet上,当d从50增长到80时,OA有明显的改善,而d的进一步增长会降低分类性能。在VGG-VD16上也可以观察到类似的情况,但最优d较大,VGG-VD16的最优d为130。主要原因可能有两个方面。首先,相对较小的d意味着卷积层上更多的相邻特征映射通过平均操作融合在一起,这可能会丢失一些有用的信息,从而降低分类性能。其次,相对较大的d会导致协方差矩阵的维数较大,这会削弱协方差矩阵的判别能力和紧致性,从而导致分类结果相对较差。上述参数配置适用于所有测试数据集,并在后续实验中保持不变。
    【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 不同层结合的效果
    在本实验中,为了证明本文提出的MSCP方法能够有效融合多层特征图,我们考虑了MSCP的一个简化版本,即,对预处理后的CNN (+ CP)单层特征图进行预处理和不预处理,得到的特征用线性支持向量机(MSCP)进行分类。这里使用UC数据集和AID数据集进行说明,其中UC数据集随机选择80%的训练样本,AID数据集随机选择20%的训练样本。由表二可以看出,所提出的MSCP通过不同层的组合对OA有明显的改善。例如,在UC数据集上,VGG-VD16预处理单层的OAs分别为96.93%、97.29%和96.76%,而使用MSCP将这三层结合起来可以显著提高准确率(OA=98.36%)。在AID数据集上也可以看到类似的结果。此外,从表二中还可以看出,所提出的MSCP方法在两个测试数据集上都优于原单层特征图(plus CP),且特征维数更小。图7给出了MSCP及其简化版本在UC和AID数据集上得到的相应的类精度。从图7中可以看出,使用所提出的MSCP策略,大多数类的分类精度在两个数据集上都有明显的提高。例如,在使用AlexNet的UC数据集上(见图7第一列第一幅图),第14类(mobile homepark)的准确率从97%提高到99.3%。上述实验表明,在考虑的CNN体系结构中,各层之间确实存在互补信息,所提出的MSCP可以利用这些信息进一步提高分类性能。
    【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类
    【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 与其他CNN模型的比较

  • 首先,将本文提出的MSCP方法与UC数据集上几种基于CNN模型的预训练分类方法进行比较,【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 然而,性能相似的情况下,提出的方法几乎快20倍。图8为所提出的MSCP(使用预训练的VGG-VD16)进行的一个实验的混淆矩阵。从下图中可以看出,除了1#、8#、13#、21#和21#之外,该方法对大多数类都能获得较好的分类性能。值得注意的是,在这种情况下,有些错误分类的图像对于人来说可能也很难区分。

  • 【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 【论文阅读】《Remote Sensing Scene Classification Using Multilayer Stacked Covariance Pooling》遥感图像场景分类

  • 结论

  • 在本文中,我们提出了一种新的方法,称为MSCP来融合来自CNN架构不同层次的特征图,用于遥感场景分类。本文提出的基于MSCP的分类框架,首先利用预先训练好的CNN模型进行特征提取,然后利用CP进行特征融合。由于本文提出的MSCP可以考虑二阶信息,所以提取的特征更加紧凑,便于分类。每个特征表示两个不同特征映射的协方差,以自然的方式捕获不同层之间的互补信息。我们利用三个公开可用的遥感影像场景分类数据集进行了综合实验,并与现有方法进行了比较,验证了所提出的MSCP方法的有效性。作为一个潜在的改进方向,我们认识到使用MSCP方法处理原始层是有用的。然而,考虑到现有的CNN模型,特性的维度很难管理。在未来,我们计划通过设计一个新的端到端CNN模型来解决这个问题,这个模型类似于用CP在[29]中提出的模型,它在每一层中使用更少的feature map。

相关文章:

  • 2021-05-06
  • 2021-06-29
  • 2021-06-05
  • 2021-07-24
  • 2021-04-06
  • 2021-09-29
  • 2021-08-14
  • 2021-12-09
猜你喜欢
  • 2021-11-18
  • 2021-07-13
  • 2021-04-03
  • 2022-01-03
  • 2021-07-23
  • 2021-06-26
  • 2021-10-10
相关资源
相似解决方案