基于随机子图像模型的遥感图像分类

2020-11-10 07:10方希禄胡正言竺凡超周建含
计算机工程与应用 2020年21期
关键词:剪切卷积尺寸

方希禄,付 伟,胡正言,竺凡超,周建含

哈尔滨师范大学 计算机科学与信息工程学院,哈尔滨 150025

1 引言

随着遥感技术以及计算机视觉的发展,高分辨率遥感图像(High-Resolution Remote Sensing,HRRS)的分类也逐渐成为了研究热点问题之一。高分辨率遥感图像的分类主要是通过图像丰富的空间信息进行分类,它的光谱信息相对匮乏。早期的高分辨率遥感图像分类主要是基于手工特征的提取,比如:图像关键点(SIFT)[1]、纹理特征(LBP)[2]、颜色直方图(CH)[3]等。但是浅层特征难以表达遥感图像中更高级的语义信息,于是有研究者将浅层特征进行编码[4],以表示更高级的语义特征,最为流行的BOW“词袋”模型[5]是一种有效的浅层特征聚合方式,它将目标浅层特征进行聚类得到一个“词袋“,然后通过“词袋”对图像进行编码得到一个直方图来描述特征。由于BOW“词袋”模型忽略了图像局部的空间分布特征,后又相继提出SPM[6]、ScSPM[7]等算法改进,其中SPM弥补了BOW中对空间分布的忽略,其中ScSPM算法采用稀疏编码代替K-means。通过对浅层特征编码得到的特征被称为中级特征,由于浅层特征的表达能力有限,且容易受到其他因素干扰,因此中层特征也很难实现很高的语义表达和性能。随着深度学习的发展,VGG[8]、AlexNet[9]等多层深度卷积网络[10](Convoulutional Nenral Network,CNN)的相继提出,使得卷积神经网络在自然图像上的分类取得了显著成果。于是有研究者将深度卷积网络用于高分辨率遥感图像的分类,由于卷积神经网络可以自动提取特征,从而降低了很多其他因素的干扰,使得提取的特征更具有鲁棒性。通过深度卷积神经网络提取的特征具有较好的分类精度,缺点是需要大量的人工标注和大量的标签数据进行训练。而在大多数遥感数据中,难以获取充足的训练数据,且目前公开的遥感数据集的图片数量不足以很好地完成深度卷积神经网络的训练。于是有研究者引入迁移学习[11-13],将在大型自然数据集(Image-Net 数据集)预训练好的网络模型迁移到高分辨率遥感图像中[12],通过对在大型自然图像数据集上预训练好的CNN 的模型参数进行微调(fine-tune)[14],对遥感数据集进行分类,得到了显著的效果,但是微调网络参数,会消耗大量时间,需要通过不断的实验来调整某些超参数,如学习率等参数。Hu等人[15]从不同深度的CNN全连接层以及卷积层提取图像特征,并直接作为浅层特征进行特征编码作为分类依据,还有研究者将浅层人工特征和深度特征进行多尺度深度特征融合[16-17]取得了较好的分类效果。

但这些方法没有考虑到遥感图像本身的图像特点,由于自然图像数据集多以图像物体中心作为整张图像的判别,而遥感图像的局部信息便可以作为场景表达的重要依据。如图1所示。从遥感图像中分割出一部分仍可以识别整张图像的场景表达;而自然图像中分割出来的图像若缺少了中心物体则无法分辨整张图像表达的场景信息。经统计,目前公开的常用高分辨率遥感数据集95%以上的图像都具有这种单元图案规则复制的特点。

由于遥感图像的单元图案规则复制特性,本文提出一种基于随机子图像提取并带有金字塔池化模型的卷积神经网络,并将其运用到高分辨率遥感图像场景的分类。具体步骤:首先,将HRRS 图像数据集的图像进行随机裁剪,然后将这些剪切后的不同尺寸的子图像与原图像使用相同标签,由于普通卷积神经网络的全连接层的特性,使得卷积神经网络的图像输入尺寸需固定大小,若使用传统的拉伸或缩小图像的方法将图像固定到相同尺寸,会造成图像的部分像素失真,导致识别精度下降,于是使用带有空间金字塔池化模型[18]的卷积神经网络、带有空间金字塔池化的网络可以输入任意尺寸的图像,将每张图像的子图像送入神经网络模型进行预测,取子图像的分类众数作为最终分类。

2 分类框架及技术

本文提出结合随机剪切子图像和空间金字塔池化模型的遥感图像场景分类方法,如图2所示。由于遥感图像本身的性质,即使从图中抽取一小部分局部图像,也可以表达整张图像的场景表达信息,例如森林、农田、湖泊等,所以首先对原始图像进行随机剪切,得到原图像的多张子图像,然后通过卷积神经网络模型对每个碎片进行类别预测,在对子图像的预测过程中,使用空间金字塔池化模型代替传统的拉伸或压缩图片的方式,可将不同大小的碎片直接送入神经网络模型训练及预测,最后得到一组预测直方图,取预测数最多的做为最终预测结果。

图2 本文分类框架

2.1 基于柯西分布的子图像随机剪切

由于目前公开的高分辨率遥感图像数据集图像局部信息可以做为场景表达的特性,本文采用对输入的原图像进行随机剪切的方式,得到一组标签相同而大小表现范围不同的子图像,考虑到剪切过小的图像无法表达图像的语义信息,于是对随机剪切时对图像的大小通过设定阈值进行限制,并采用基于柯西分布的方式对图像进行随机剪切。由于柯西分布的概率度函数有更长的尾巴。一方面两端较长的分布使得剪切获得的图像有更高的概率逃离峰值,能够得到更多与原图像尺寸相差较大图像,更能提高训练模型的鲁棒性;另一方面,位于中心点的峰值使得剪切的图片有更高的概率与原图像吻合,能够提供训练模型的稳定性。柯西分布与正态分布比较如图3所示。

图3 两种分布比较图

所以只需采用一个服从柯西分布的变量X,对原数据集的图像进行随机剪切,图像随机剪切尺寸公式:

其中,L是原图像尺寸,P是子图像尺寸,X~C(r,x),其中x为定义分布峰值位置的位置参数,r为最大一半处的一半宽度的尺度参数。本文中采用X~C(0.5,0)的柯西分布,并对子图像尺寸限制在原图的十分之一以上。柯西分布的概率密度函数:

获取到子图像的随机尺寸后,随机在原图像中采集子图像,为防止在采集子图像时出现超越图像轮廓的情况,在采集中只取在图像边界内的以L为边长的正方形子图像。

2.2 卷积神经网络

卷积神经网络是一种带有卷积结构的多次监督学习神经网络,由卷积层、降采样层、全连接层组成,其中隐藏层的卷积层和降采样层是特征提取的关键部分。卷积神经网络具有稀疏连接和权值共享的特性,使得该模型非常适合大规模图像处理,稀疏连接解决了前馈全连接神经网络规模过大,参数太多的缺点,而权值共享保证了在卷积操作时只需要对一个参数集进行学习,进一步减少了参数数量。权值w往往通过激励层进行非线性化处理做为下一层的输入,本文采用的是较为流行的ReLU函数,由于ReLU函数只有线性关系的特性,使得神经网络在前向传播和反向传播的计算优于sigmod、tanh函数,且x在正区间内时永远不会产生神经元饱和现象,函数公式如下:

如图4所示,该网络模型通过梯度下降最小化损失函数的方法对网络前向传播的权重参数逐层进行反向传播优化,不断地迭代训练提高网络的精度,最终通过全连接层输出一维向量和softmax 层对输入图像进行分类。

图4 卷积神经网络模型

卷积层是网络模型的特征映射层,卷积运算的目的是提取不同的特征,在前几层可以提取部分初级特征,随着层数的增多可以在初级特征中提取出更复杂的特征。

池化层是网络模型的特征提取层,它将从卷积层得到的维度大的特征分割为几个区域,在每个区域中提取最大值或平均值。

全连接层是将提取到的特征整合为全局特征,如图4中,全连接层将特征整合为一维向量。

输出层通常采用Softmax 函数解决多类的分类问题,通过Softmax 函数将输出映射为(0,1)的值,而这些值的累和为1,值最大的点即预测目标。

2.3 空间金字塔池化

由于通过随机剪切得到的子图像,尺寸各不相同,而传统的CNN模型中,由于全连接层的特性,使得在网络输入的时候,要求固定输入图片的尺寸或大小。为了解决CNN 输入尺寸的问题,通常会采用对原图像进行拉伸或放缩的办法处理。本文中通过柯西分布的随机剪切会得到一小部分尺寸较小的子图像,若采取传统的拉伸压缩图像的处理方法,会严重扭曲原始图像,破坏原本的语义信息,对分类的精度产生影响。传统处理公式如下:

其中P为子图像的尺寸,n为子图像的个数,Q为统一子图像的尺寸大小。

如图中,空间金子塔池化模型通过在卷积层和全连接层之间加入金子塔池化层,对任意尺寸的输入图像进行三种不同尺度的划分,得到21个图像块,对每个图像块进行最大池化特征提取,即得到21 维特征向量。即用多个窗口对卷积层得到的特征图分别进行池化处理、合并得到固定的全连接输出,使得卷积神经网络可以输入任意尺寸、纵横比的图片。在本文中,通过加入金字塔池化层,使得通过预处理得到的不同尺寸的子图像能够直接送入卷积神经网络训练。空间金字塔池化模型如图5所示。

图5 金字塔池化层示意图

3 实验

3.1 数据集描述

本文采用的是两个常用的高分辨率遥感数据集。

第一个数据集为RSSCN7 数据集,包含了7 个场景类别,每个类别有400张图像,每张图像由400×400像素组成。包含的场景类别有草地、农田、工业用地、河流湖泊、森林、住宅以及停车场。图6 所示为RSSCN7 数据集的部分样例。

图6 RSSCN7数据集示例

第二个数据集为SIRI-WHU DataSet[19],包含了12个场景类别,每个类别有200 张图像,每张图像由200×200 像素组成。包含的场景类别有草地、池塘、港口、工业区、公园、河流、居民地、立交桥、农田、商业区、水域、闲置地。图7 所示为SIRI-WHU DataSet 数据集部分样例。

图7 SIRI-WHUDataSet数据集示例

3.2 图像预处理

在将图像送入网络模型之前,先对数据集进行分配处理,将数据集分为训练集和测试集,从每类场景中分别选取训练集和测试集。为简单计算在对图像数据进行随机剪切之前进行归一化化处理,即将像素除以最大像素将像素归一化到0到1之间:

式中,M为原像素,Mmax为最大像素,Mn为归一化后的像素。

其中,mob代表对图像旋转u度,而u取值为0°、90°、180°、270°,通过归一化预处理及随即剪切随机旋转处理后,将图像训练集扩充。

3.3 模型结构参数设置

由于遥感图像数据集与大型自然数据集相比数量远远不足以完成深度神经网络的训练,因此像VGG、ResNet 等深度模型无法直接使用,本文采用类VGG 的深度模型结构,每两个卷积层后跟一个最大池化层,最后加入空间金字塔池化层。表中的卷积层后面的n×n表示卷积核的大小,后面的数字k,代表卷积核的个数,本文的模型结构如表1所示。

表1 实验模型网络参数

3.4 评价指标

Kappa系数在图像分类工作中应用广泛:

Kappa 系数的计算基于混淆矩阵,在混淆矩阵中,每列代表预测类别,每列的总数为预测为该类别的数目,每行代表真实类别,每行的总数代表真实类别的数目。式中r为混淆矩阵行的个数,xii为对角线上类型组合的个数,xi+表示行i的总观测个数,x+i表示为列的总观测个数,N为混淆矩阵总体单元格个数,P0表示总体分类精度,即在混淆矩阵中对角线的上数据和除以总样本数。Pk表示偶然性因素导致的错误的解释的比例。

3.5 实验结果分析

图8、图9 的混淆矩阵直观地展示了本文方法在RSSCN7数据集和SIRI-WHU DataSet数据集下每类场景类别的的分类准确率及场景判别错误的情况。

图8 RSSCN7场景分类混淆矩阵

图9 SIRI-WHU DataSet场景分类混淆矩阵

两个数据集的分类正确率为6 次独立重复实验后所得的平均值,总体分类正确率分别达到了96.75%和96.67%。从混淆矩阵中可以看出本文方法对河流湖泊、森林、居民区等语义信息在整张图像较为普遍的场景分类精度较高,对停车场、闲置地、农田等分类精度较低,一方面草地和农田的语义信息相似度较高导致分类错误,另一方面像闲置地这种图像小部分类似于自然图像,只有很小的中心物体做为整张图像的场景判别。

为了比较本文提出方法的分类效果,使用两个不同的数据集,对图像采取子图像预处理的方式从训练图像中截取等同数目的等尺寸子图像,利用其训练网络,以同一幅测试图像中所有子图的预测类别众数作为测试图像的最终类别,具有代表性的几种方法与本文方法作对比如表2所示。

几种代表性方法在SIRI-WHU DataSer数据集上与本文方法对比如表3所示。

表2、表3中的TSCNN方法采用了与本文方法模型层数相同的卷积神经网络,该方法是将随机剪切得到后的子图像通过传统的处理方式,即将所有子图像拉伸或压缩到统一尺度后再送入网络模型,由于拉伸或压缩到统一尺寸的操作会对图像信息带来部分损失,使用其方法与本文采用金字塔池化的方式做对比,其中SISCNN-N是采用正态分布进行子图像选取方法,SISCNN-C是本文采用柯西分布进行子图像选取方法,结果表明本文分类效果相对其他方法较好。

表2 RSSCN7不同方法的分类精度%%

表3 SIRI-WHU DataSet不同方法的分类精度%

4 结束语

本文提出了一种基于随机子图像模型的卷积神经网络,利用了遥感图像单元图案规则复制特点,即局部信息也可以表达整张图像场景的语义特性进行分类,使用金字塔池化模型辅助训练,在提出的模型中,基于柯西分布得到的子图像具有随机性,对网络模型的训练具有一定的鲁棒性,将裁剪好的图像送入带有金字塔池化的网络模型,可以解决CNN固定输入尺寸的问题,最后设定由每张子图像与原图像具有相同的标签,得到一组预测分布图,取所有子图的预测类别众数做为测试图像的最终预测。通过在数据集上的实验表明,该方法可以取得较高的分类精度,与典型的分类方法相比,该方法取得了较好的分类精度。通过实验得出结论:(1)大部分的遥感场景适用于本文方法,有个别遥感图像不具备单元图案规则复制特点或不明显,导致分类结果不佳;(2)验证了在遥感图像分类任务中,柯西分布准则可以有效地确定随机子图像尺寸。(3)验证了遥感图像与自然图像的语义表达区别,针对遥感图像的近似单元图案特征采取将遥感图像切块的方法可以有效地提高分类精度。

猜你喜欢
剪切卷积尺寸
CIIE Shows Positive Energy of Chinese Economy
基于3D-Winograd的快速卷积算法设计及FPGA实现
东天山中段晚古生代剪切带叠加特征及构造控矿作用
TC4钛合金扩散焊接头剪切疲劳性能研究
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
D90:全尺寸硬派SUV
混凝土短梁斜向开裂后的有效剪切刚度与变形
土-混凝土接触面剪切破坏模式分析