APP下载

基于中、高层特征融合的高分辨率遥感图像场景分类

2020-06-23赵春晖马博博

沈阳大学学报(自然科学版) 2020年3期
关键词:高分辨率分类器高层

赵春晖, 马博博

(哈尔滨工程大学 信息与通信工程学院, 黑龙江 哈尔滨 150001)

近年来,随着航空航天以及卫星遥感技术的突破,遥感图像的质量不断提高,数量也不断增加,影像的空间分辨率有了显著的改善,遥感影像的场景分类方法也在不断地更新进步[1].目前该领域的学术研究主要集中于高光谱遥感图像分类和高分辨率遥感图像分类.高光谱图像的空间分辨率低但是光谱信息丰富,所以分类方法主要集中在对像元的分类,划分、识别出图像中不同区域的类别.而高分辨率遥感图像的空间分辨率高,空间地物的纹理与几何特征等明显增多,目标更为清晰,因此大量高分辨率遥感图像被应用于国土规划、工程建设及抢险救灾等领域.高分辨率遥感图像包含丰富的场景语义信息,地物的多样性、空间分布的复杂性提高了数据集的类间相似性和类内多样性,给分类任务带来诸多挑战[2].

在业界,对于场景分类的方法主要是基于对影像特征提取的分类.常用的方法有3种:

① 提取高分辨率影像的手工特征作为低层局部特征;

② 对局部特征进行编码,得到能够描述高分辨率影像的中层全局特征;

③ 利用卷积神经网络来提取高分辨率影像的高层特征.

传统的分类方法中,低层手工特征包括光谱特征、纹理特征、结构特征等.常用的光谱特征包括图像的灰度值、灰度值均值、灰度值方差.纹理特征包括不变纹理指数、Gabor滤波器、共生矩阵等[3].针对图像的结构特征,在早期可见光图像的分类识别中利用了SIFT特征,并且SIFT特征对噪声、光照、目标遮挡、杂物场景有较好的鲁棒性,有了这些优点,SIFT也能够对高分辨率遥感图像的特点进行有效表达.中层特征的获得是通过对高分辨率影像的低层手工特征进行编码,经过编码得到的全局特征能够作为高分辨率影像的中层特征.常用的方法有稀疏编码、视觉词袋模型(BOVW)[4].高层特征指的是利用深度神经网络对图像进行特征提取得到的特征.近年来随着人工智能的发展,深度学习也推动了计算机视觉领域的发展.自从AlexNet获得成功后,有不少学者将深层的卷积神经网络用于高分辨率影像的处理,并且获得了较好的结果.卷积神经网络在图像分类任务中一般被设计为端到端的模型,可以利用多层次的网络,多个卷积核对图像特征进行提取,代替了烦琐的人工特征.得益于多层结构和多卷积核,模型可以从高分辨率影像中提取更抽象、更有区分性的高层特征,从而得到更好的分类结果[5].但随着网络的加深,网络的参数也同时增加,需要大量的带标签的样本来训练模型调整参数.然而在高分辨率遥感图像场景分类任务中缺乏带标签的数据样本,且制作标签需要耗费大量人力和时间.针对这个问题,可以利用迁移学习的方法将在大数据下训练好的模型迁移到小数据集上,通过迁移学习的方法可以大大提高深度网络模型的泛化能力[6].

本文提出基于BOVW算法提取高分辨率遥感图像的中层特征,以及通过迁移学习的方法利用预训练的CNN提取图像的高层特征.然后将上述提取到的特征进行线性融合作为输入,利用不同核函数的支持向量机(SVM)进行分类,得到分类结果.

1 本文方法

针对高分辨率遥感图像地物的复杂性高, 传统分类方法提取的低、中层特征不能够有效地表达图像的场景语义, 从而导致分类精度低的问题, 本文采用BOVW算法先提取图像的SIFT局部描述子, 接着用K-means算法对所提取的局部特征进行聚类, 再对样本统计特征直方图, 得到的特征矩阵可以作为图像的中层特征. 然后通过利用ImageNet[7]数据集预训练的AlexNet[8]、Vgg-16[9]、Vgg-19卷积神经网络模型迁移到高分辨率遥感图像数据集, 来提取图像的高层特征. 将得到的中、高层特征融合输入到带有径向基核函数、直方图交叉核函数的支持向量机中, 得到分类结果.

1.1 提取图像中层特征

在图像场景分类任务中,针对图像特征的提取,有很多经典的方法.在本文中,样本中层特征通过提取样本图像的低层特征(SIFT),再利用BOVW算法对其进行编码得到.

1.1.1 提取低层特征

本文中BOVW算法选用的人工特征为SIFT特征.SIFT特征的提取过程如下.

1) 尺度空间极值检测:通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点.

2) 关键点定位:利用一个拟合精细的模型确定位置和尺度.通过稳定性确定关键点.

3) 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向.所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性.

4) 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度.这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化.

1.1.2 对低层特征编码

利用SIFT特征提取算法从每张图片中提取特征点.假设数据集为M张高分辨率遥感图像,每张图片是256像素×256像素大小,算法中步长为将图片分成16像素×16像素的小patch,这样就有961个小patch,在每个小patch上都进行SIFT提取关键点,每个小patch上有一个关键点,这样就有961个关键点,也就是每张图片最终变成了961个128维的向量(SIFT特征点是128维的),也就是961×128大小的一个矩阵.

然后利用K-means[10]聚类算法对数据集提取的N个SIFT特征进行聚类,构建词汇表.K-means算法是一种根据所提特征的特点,判别其特征相似性,利用距离的思想来对特征记性聚类.它不需要人工标签,属于一种无监督的聚类方法.

K-means算法的主要步骤如下.

1) 首先输入N个特征样本,并且预先设定分出的种类数K,随机从N个特征样本中选取K个点当作第一次聚类的中心点.

2) 再依次将所有的N个特征样本到K个聚类中心的距离(欧氏距离)计算出来.

表示fl(i,j)与fl(a,b)之间的距离.根据得到的欧式距离,将计算的特征判定为离它最近的距离中心所属的类别中.

3) 在新的聚类簇中计算均值,重新获得聚类中心.当聚类中心的变化小于设定阈值,或者达到最大迭代次数,此时得到聚类结果.否则,需要重复上述步骤.

在BOVW算法中通常把K-means算法中的聚类中心叫做视觉单词,码本的长度也就为聚类中心的个数K.将所有视觉单词进行组合构成视觉词典,利用视觉词典对所有的数据集图像进行直方图统计,也就是看每张图片中的961个关键点与哪个聚类中心的欧式距离最小(最相似),然后在最近的那个聚类中心所代表的1~K之间的视觉单词次数上加1.样本的直方图统计如图1所示.最终得到K×M大小的矩阵.得到的特征矩阵被当作图像的中层特征,可以输入到SVM分类器进行分类.

图1图像的词频直方图
Fig.1Wordfrequencyhistogramofimage

1.2 提取图像高层特征

随着人工智能的发展,深度学习在计算机视觉领域的表现越来越出色.误差的反向传播是深度学习的基础,网络模型通过反向传播求解梯度,更新网络参数.得到的多层网络模型能够自动提取高层语义特征.

卷积神经网络是深度学习算法中最为常用的一种网络.其基本结构包含卷积层、池化层、全连接层.卷积层采用卷积核对样本图像进行特征提取,捕获局部信息,随着层数加深提取到的特征逐渐由边缘、纹理过渡到含有语义的高层特征[11].为了提高网络模型的非线性,在卷积层提取完特征之后会连接一个激活层.激活层由一个非线性函数构成,卷积得到的特征图再经过激活函数之后能够得到更好的非线性.常用的激活函数有ReLU及其变体.在本文网络中,采用ReLU激活函数

ReLU(x)=max(0,x)

(2)

能够有效避免梯度消失的现象.

通过卷积层之后,特征的维度通常会较大,随着网络加深,容易发生过拟合.因此在卷积层操作之后要进行池化操作.池化层根据特征图的局部统计信息进行下采样,在保留有用信息的同时减小特征图大小.常用的池化操作有最大池化和平均池化.最大池化是在特征图的局部区域选最大的值作为输出,此方法可在一定程度上增加模型的非线性.平均池化是计算局部区域的均值作为输出.全连接层将最后的特征图像经过变换,转换为一个一维的特征图像.转换之后的特征图有助于分类器对特征进行分类和统计.以Vgg-16为例,其包含输入层、13个卷积层、5个最大池化层、3个全连接层,以及输出层.图2为Vgg-16网络模型结构示意图.

图2 Vgg-16结构Fig.2 Architecture of Vgg-16

1.3 特征融合

在本文中,针对单一特征对样本表达能力不足的问题,采用特征融合的分类算法.利用BOVW算法提取样本中层语义特征.当聚类中心K为1 000时,得到的中层语义特征维度为1 000.然后利用CNN提取样本的高层语义特征,本文选择提取网络模型第2个全连接层(FC7)的输出作为高层特征.

特征融合是将多种特征用某种对应关系来转换成一个新特征.即

高层特征向量图和融合特征向量图如图3所示.

(a) FC7层输出的高层特征响应(b) 融合特征响应

图3高层特征响应和融合特征响应
Fig.3Highlevelfeatureresponseandfusionfeatureresponse

1.4 SVM分类器

SVM是一种以统计学习理论为基础的机器学习方法. SVM在满足置信风险和经验风险比值的同时, 追求分类器更高的泛化能力, 同时保证算法的复杂度不会过于繁重[12]. 这就使得在小样本的情况下也能使分类结果得到保证. SVM本身具有正则化项可以防止分类器陷入过拟合. 随着研究的深入, 已将SVM与核方法联合使用, 来解决线性不可分的问题. 其可以描述为如下优化问题:

(4)

约束条件为

yi(ωxi-b)≥1-ξi,ξi≥0,i=1,…,n.

(5)

式中:ω为与超平面垂直的向量;C为惩罚因子;xi为输入样本;b为偏置项;ξi为稀疏变量;yi的值为1或-1,表示数据点所属类别.常用的核函数有线性核函数

k(x,xi)=(xTxi);

(6)

多项式核函数

k(x,xi)=[(xTxi)+1]q;

(7)

径向基核(RBF)函数

(8)

直方图交叉核(HIK)

(9)

本文选用了径向基核函数的SVM和直方图交叉核函数的SVM作为最终的分类器.

2 实验与结果分析

为了验证本文方法的有效性,分别选用不同的K-means聚类中心、预训练网络模型(AlexNet,Vgg-16,Vgg-19)、以及带有不同核函数的SVM分类器进行实验.

2.1 数据集

本文采用的数据集为UC Merced数据集,该数据集是遥感图像分类领域利用较多的数据集,有21个不同的场景类别,图像是可见光RGB高分辨率影像.每个类别包含了100张大小为256像素×256像素的图像,它们的地空分辨率为每个像素0.3 m[13].数据集包含美国东部如迈阿密、波士顿等多个地区,图像分别为:田野、飞机、棒球场、海滨、建筑物、灌木丛、高密度民房、森林、高速路、高尔夫球场、小码头、路口、中密度民房、移动民房、高架桥、停车场、河流、跑道、低密度民房、储罐以及网球场.数据集有共2 100张图片.

试验环境为:CPU Intel(R) Xeon(R) Gold 5118;内存18G;GPU Titan V;显存12G;操作系统 Windows 10.利用MatConvNet深度学习框架,仿真语言选用MATLAB.

2.2 评价指标

本文采用总体分类精度和混淆矩阵来评价场景分类方法的性能.

总体分类精度的定义为

式中:N为数据集样本的总数量;Z为系统判断正确的样本数量.

混淆矩阵是一种更直观的评价指标,能够通过矩阵形式的表达,清晰地看出类别之间的错误情况[14].在混淆矩阵中,数据样本的真实标签为矩阵的行,分类系统的判别标签用矩阵的列来表示.在矩阵中任意一个元素amn代表真实标签为m类别,预测标签为n类别所占m类别样本的比例.

2.3 实验结果

为了验证本文方法的有效性,充分讨论参数、网络模型、不同核函数的SVM分类器对结果的影响,且本文对2种单一方法进行对比,即只用通过BOVW算法对局部特征进行编码得到的中层特征作为分类器的输入、只用卷积神经网络提取高层特征作为分类器的输入、利用BOVW提取的中层特征融合CNN提取的高层特征输入到分类器进行分类.对于数据集,本文随机选用30%的图像作为训练样本,其余70%的图像作为测试样本.

首先在BOVW算法中,在提取图像局部特征SIFT时,设置patch大小为16像素×16像素,步长为4像素.由于K-means算法在聚类SIFT特征形成视觉单词时,聚类中心K需要先验知识得到,所以本文分别设置聚类中心K的值为500、1 000、1 500、1 800,最大迭代次数为100.将BOVW算法编码得到的中层语义特征分别输入到带有径向基核函数的SVM分类器和带有直方图交叉核函数的SVM分类器当中.得到的总体分类精度结果如表1所示.

表1 不同K值的总体分类精度P

从表1可以看到,在提取中层语义特征中,最后的总体分类精度受到聚类中心K值的影响较大,随着K值的增大,精度P随之增大.但K值为1 500时,总体分类精度P趋于平稳.再将K值增加到1 800时,总体分类精度有所下降.这是因为根据聚类中心K值所构建的视觉词袋,在K值小的时候不能够详细地描述图像信息,使得精度P过低,当K值过大时,视觉词袋对图像的描述过度解析造成分类精度P的下降,且K值越大计算量越大,耗费时间越长.在后续试验中将固定K值为1 000.

当K为1 000时,经过HIK-SVM分类器得到的混淆矩阵如图4所示.从图中可以看出对于类间相似性高的类别:棒球场和高尔夫球场以及稀疏住宅区容易发生混淆.这是因为这几类共有属性较多,类间相似性高,导致提取的特征相似性较大,所以分类效果不佳.

在利用CNN提取样本高层特征时,本文分别利用经过ImageNet预训练的AlexNet、Vgg-16、Vgg-19 3种不同的网络作为样本图像高层特征的提取器,提取模型第2个全连接层(FC7)的输出作为高层特征.在实验中,设置网络模型参数batch-size为32,学习率为0.000 1,采用随机梯度下降(SGD)的方法来更新网络参数.以Vgg-16模型的训练过程为例(图5),从图5中可以看出在经过110个epoch训练之后,网络模型已经基本收敛,因此设置模型训练的迭代次数epoch为110.另外2个模型经过110个epoch也基本收敛.

利用CNN提取高层特征进行分类得到的总体分类精度如表2所示.从表2可以看出通过CNN提取的高层特征进行分类的分类结果明显高于利用BOVW算法的分类精度.因为CNN经过多层网络提取的特征提更能表达图像的语义,分类精度更高.

图4 K=1 000时BOVW得到的混淆矩阵Fig.4 Confusion matrix of BOVW at K=1 000

图5 Vgg-16训练过程Fig.5 Training process of Vgg-16

表2 利用不同CNN模型提取的高层特征得到的总体分类精度P

混淆矩阵以Vgg-16为例(图6),从图中可以看出每一类的精度较BOVW算法都有所提高,但是对于建筑物、密集居民区、网球场这些类间相似性高的类别,其分类结果仍然较低,精度有待提高.

本文所提算法在实验中,提取CNN的第2层全连接层(FC7)的输出最为高层特征,提取K=1 000时的视觉词袋特征作为中层特征.通过串联中、高层特征输入到SVM分类器,得到分类结果如表3所示.由表3中可以看出以Vgg-16作为高层特征提取模型,HIK-SVM作为分类器得到的总体分类精度最高.

表3 中高层融合特征的总体分类精度P

本文算法与其他方法对比如表4所示,从表中可以看出本文所提方法结果好于其他算法.总体分类精度达到了92.95%.

表4 不同方法的总体分类精度P

以Vgg-16作为高层特征提取模型、HIK-SVM作为分类器得到的混淆矩阵如图7所示,从图中可以看出, 本文所提方法在一些类别的分类

精确度已经达到100%.对于容易混淆的类别,本文方法的精确度也有所提升.

3 结 论

本文提出了一种视觉词袋模型结合卷积神经网络的高分辨率遥感图像场景分类方法.首先利用BOVW算法提取高分辨率遥感图像样本中层特征,然后利用CNN提取图像样本的高层特征.通过中、高层特征的融合,丰富图像的语义表达,最后将融合的特征作为输入,利用SVM分类器进行分类.该方法能够解决低、中层特征对图像语义表达欠缺的问题.通过实验可以看出所提方法的总体精确度均高于单一使用中层或高层特征的算法.验证了方法的有效性.

但是,本文所提出的方法也存在一些不足.对于类间差异非常小的类别,在分类结果上仍然不是非常准确.这也是分类任务的最大难题,在今后的工作中要把类间相似性高、类内差异性大的问题当作重点研究.来提升分类效果.

猜你喜欢

高分辨率分类器高层
论高层民用建筑施工管理
高层民用建筑设计中绿色建筑设计的应用
学贯中西(6):阐述ML分类器的工作流程
在对话中展望未来——第十三届中韩媒体高层对话会成功举办
探析高层民用建筑防火设计问题及对策
基于朴素Bayes组合的简易集成分类器①
探讨高分辨率CT在肺部小结节诊断中的应用价值
高分辨率合成孔径雷达图像解译系统
基于动态分类器集成系统的卷烟感官质量预测方法
一种自适应子融合集成多分类器方法