基于深度特征字典学习和Largevis的遥感图像检索

2022-08-01 03:43峰,斌,政,力*,
测控技术 2022年7期
关键词:降维字典卷积

侯 峰, 刘 斌, 卓 政, 卓 力*, 张 菁

(1.北京工业大学 北京计算智能与智能系统重点实验室,北京 100124;2.北京工业大学 信息学部 微电子学院,北京 100124; 3.北京航空航天大学 计算机学院,北京 100191)

遥感技术在近些年发展迅速,遥感卫星对地观测分辨率越来越高,遥感图像数据量呈现出爆发式的增长。如何对海量的遥感图像数据进行高效的检索,是发挥其效应的关键所在[1]。

图像检索技术[2]的发展经历了两个阶段。第一阶段是20世纪70年代基于文本的图像检索技术 (Text-based Image Retrieval,TBIR),它采用关键字的方式来进行图像检索,虽然简单快速,但是需要耗费大量人工成本进行标注,在海量图像数据场景下难以适用。第二阶段是20世纪90年代以来基于内容的图像检索(Content-based Image Retrieval,CBIR)。这一方法包含两个核心技术,分别是图像特征提取和相似性度量。首先,提取图像的低层视觉特征用于描述图像的内容,然后建立图像特征描述符库,将每一幅图像与其特征描述符之间建立一一对应关系;在相似性度量阶段,对查询图像以同样的方式提取特征,然后与图像特征描述符库中所有特征描述符进行相似性度量,并按照相似性大小进行排序,将特征描述符最相似的若干幅图像作为结果返回给用户。对于CBIR来说,图像检索性能的优劣主要取决于图像特征的表达能力。因此,如何提取更具有表达能力和区分性的图像特征就成为研究重点。

早期的遥感图像检索基于CBIR框架加以实现,采用一些手工提取的特征,例如局部二值模式(LocalBinary Patter,LBP)、尺度不变特征变换(Scale-Invariant Feature Transformation,SIFT)、定向梯度直方图(Histogram of Oriented Gradients,HOG)等,这些特征表征了图像中一些局部点的统计特性,可以称作局部描述子。由于这些局部描述子并不能描述整个图像,因此需要将这些局部描述子使用一定的编码方法构建出更加紧凑的全局图像描述符。常用的编码方法有词袋(Bag of Words,BoW)[3]、改进的Fisher核(Improved Fisher Kernel,IFK)[4]和向量局部聚集描述符(Vector Locally Aggregated Descriptors,VLAD)[5]等。

2012年,深度卷积神经网络(Convolutional Neural Network,CNN)在大规模视觉识别挑战赛中取得了当时最优的成绩,且性能遥遥领先第二名。自此,以CNN为代表的深度学习技术在图像处理、机器视觉等领域不断突破,取得了远超过传统方法的性能。CNN通过多层卷积层来模仿人类大脑的学习机制,可以自动学习到从图像细节纹理到局部块再到高层语义的层次化递进表达。与手工特征相比较,CNN不仅减少了手工设计图像特征的复杂数学推导,而且学习到的深度特征相比手工特征更具鲁棒性,区分性与表达能力也更强。

学者们将CNN应用于遥感图像检索中,取得了诸多成果。2015年,Babenko等[6]使用不同的CNN、卷积层池化和编码方法进行了对比实验。他们得出的结论是,基于聚合池化的方法可以获得更优的性能。同年,Lin等[7]提出了一个深度学习框架,用于生成二进制哈希码,实现图像的快速检索。该方法以一种逐点的方式学习哈希码和图像表示,比较适合于大规模数据集的检索。实验结果表明,在CIFAR-10和MNIST数据集上,该方法优于几种最新的哈希算法。2019年,Ge等[8]将不同的卷积特征图融合成一个更大的特征图,以保留图像的空间信息,将所有卷积层特征进行级联后,采用maxpool方法进行压缩,并采用PCA降维,得到了优于单一特征的检索性能。同年,Xiong等[9]将注意力机制和新的注意模块引入到CNN结构中,使得人们更加关注显著特征,并对其他特征进行抑制,极大地提高了遥感图像检索的基线。2020年,彭晏飞等[10]提出了区域注意力网络,该方法有效抑制了遥感图像背景和不相关的图像区域,在两大遥感图像数据集上取得了优异的效果。

本文以Google公司提出的Inception系列网络的最新版本Inception v4[11]作为骨干网络,提出了一种深度特征字典学习方法,该方法对Inception v4第一个Reduction Block输出的卷积特征图进行重组,然后使用重组特征学习深度特征字典,最后使用学习到的深度特征字典对卷积特征图进行紧凑的表达,得到卷积层特征表示向量。该向量与全连接(Full Connection,FC)层特征级联起来,形成图像的特征表示向量。为了避免“维度灾难”,采用Largevis方法对高维的特征表示向量进行降维,通过L2距离度量降维后的低维特征之间的相似度,实现图像检索。在多个遥感图像数据集上的实验表明,此方法可以有效地提升卷积层的特征表达能力,与现有的先进方法相比,可以获得更好的检索性能。

1 深度特征提取

目前基于CNN的遥感图像检索方案提取的深度特征分别来自于卷积层和FC层,其中卷积层特征来自于CNN的低层,包含的大多是图像局部细节信息,可以表征图像的低层视觉特性[12];FC层通常位于CNN的最后几层,用于表征图像的高层语义信息[13]。

根据特征提取阶段所利用的深度特征的不同,可以将基于CNN的遥感图像检索方案分为两大类:基于卷积层特征的遥感图像检索和基于FC层特征的遥感图像检索,卷积层特征和FC层特征如图1所示。

图1 从卷积层和FC层提取的深度特征

Inception系列网络是Google提出的面向图像分类的卷积神经网络结构,它们最大的特点是在同一个卷积层中使用不同大小的卷积核来提取深度特征。相比前面几代的Inception系列网络结构,Inception v4使用大量小尺度卷积核来代替大尺度卷积核,并多次使用1*1卷积核将特征图通道数控制在一个合理的范围内。这些操作使得网络在保证性能不降低的情况下参数量更少,计算速度更快。除此之外,Inception v4进一步整合了前几代的Inception网络,引入了专门的Reduction Block,用于改变特征图的宽度和高度。本文将采用Inception v4作为骨干网络,来提取图像的深度特征。

图2是Inception v4的第一个Reduction Block结构,它将输入的35*35大小的特征图变成了17*17。Reduction Block结构包含3种操作,分别是3*3卷积、5*5卷积和maxpool操作。3种操作会得到3种不同类型的特征图,这些特征图无法直接作为描述符用于图像检索。为此,本文对这些特征图进行了重组并对其进行量化编码,得到一种紧凑的特征表示向量用于图像检索。

2 深度特征字典学习

提出了一种深度特征字典学习方法,该方法采用K均值聚类算法对重组后的卷积层特征进行训练,得到深度特征字典。基于该字典对卷积层特征进行紧凑表达,得到卷积层的特征表示向量。

图2 Inception v4中的Reduction Block结构

2.1 卷积层特征图的重组

在Inception v4的第一个Reduction Block模块中,包含的3种操作可以表示为Fi_conv(.),i=1,2,3,分别表示3*3卷积、5*5卷积和maxpool操作,得到3组不同类型的卷积特征图,分别为5*5 conv,3*3 conv和maxpool conv,如图3所示。最终输出的数据量大小为Si_conv=Bi_conv*Ci_conv*Hi_conv*Wi_conv。其中,Bi_conv为批数量;Ci_conv为特征通道数目;Hi_conv和Wi_conv分别为特征图的高度和宽度。

对于CNN来说,特征图中每个特征点是通过某一卷积核对图像中的对应区域进行卷积得到。采用相同大小、不同参数的卷积核进行卷积,得到的是某一个感受野的不同响应输出,可以看作是对该区域的不同特征表示。对3组卷积特征图数据进行重新组织的过程如图3所示。对于每组数据,将每个特征图中相同位置处的特征值提取出来,形成一个一维向量xk,其中k的取值范围是[1,2,… ,Hi_conv*Wi_conv],最终共获得Hi_conv*Wi_conv个xk,这些向量共同构成了一个样本集合X=[x1,x2,…,xHiconv*Wiconv]∈RHiconv*Wiconv。

2.2 深度特征字典学习

对于重组后的卷积层特征,通过K均值聚类算法训练并构建深度特征字典,用于对X集合进行紧凑表示。K均值聚类算法是一种无监督方法,通过聚类算法可以将数据表示为n个簇,假设设置的聚类中心为n,每个簇的中心作为一个视觉单词,集合起来构成一个n维字典。

图3 卷积层特征图数据的组织过程示意图

图4 基于K均值聚类的深度特征字典学习

2.3 卷积特征图的编码表示

接下来,利用深度特征词字典集合P,对卷积层特征图进行量化,得到卷积层特征的紧凑表示。根据2.1节中所示的方法,每组卷积层特征图可以看作是Hi_conv*Wi_conv个一维的特征列向量,向量维度为Ci_conv,i=1,2,3,分别表示其由3*3卷积、5*5卷积和maxpool等不同操作得到。每个列向量都可以用深度特征字典中的某个特征单词近似代替,代替的依据是该列向量与某个特征单词的L2距离最小。通过统计字典中每个特征单词出现的次数,可以将每组卷积特征图量化表示为一个L维的深度特征表示向量,L=1024。深度特征表示向量构建过程如图5所示。

图5 卷积特征图的编码表示

2.4 图像特征表示向量

利用深度特征字典对卷积特征图进行编码,得到了一个1024维的深度特征表示向量Fi_conv,i=1,2,3,分别表示其由3*3卷积、5*5卷积和maxpool等不同操作得到。Fi_conv与FC层的特征向量Ffc进行级联后,得到图像特征表示向量F,F的维度为1024+1536=2560,如图6所示。

图6 特征级联与Largevis降维

为了降低计算量,节约存储空间,对于得到的图像特征表示向量,使用Largevis降维方法对其进行降维。Largevis是唐建等[14]于2016年提出的降维方法,该方法被用于大规模超高维数据的可视化。它由t-SNE进一步发展得到,采用了高效的 KNN图来构建算法,并采用最近邻搜索方法进行优化。Largevis算法相对于t-SNE不仅极大地降低了训练的时间复杂度,而且在数据由高维空间向低维空间映射的过程中拉大了类间距离,缩小了类内距离。

采用Largevis对深度特征进行降维以后的特征向量为64维,作为最终的图像特征表示。

3 相似性度量

本文采用L2距离度量特征之间的相似性。n维空间中两个特征x1(x11,x12,…,x1n)与x2(x21,x22,…,x2n)间的L2距离定义如下:

(1)

4 实验结果与分析

为了验证笔者提出的遥感图像检索方法的有效性,分别在UCM、RS19和RSSCN三个数据集上进行了实验,并与现有的各种先进方法进行了对比。

4.1 数据集与评价标准

目前最常用的遥感图像检索数据集有UCM、RS19和RSSCN等。其中RS19[15]是武汉大学发布的一个高分辨率卫星场景数据集,一共包括19个地物类别,每个类别有50张左右的图像,每幅图像大小是600像素×600像素,一共有1005张图像。UCM数据集[16]由加州大学摩赛德分校发布,一共包含了21类地物,每个类别100张图像,每张图像大小是256像素×256像素。RSSCN7数据集[17]称为遥感场景数据集,一共有7个类别,每个类别包含400张图像,图像大小是400像素×400像素。

使用平均准确率(mean Average Precision,mAP)作为检索性能评价指标[18],平均准确率是遥感图像检索最常用的评价指标,定义如下:

(2)

式中:Q为类别数目;AveP的定义为

(3)

式中:P(k)为准确率;rel(k)是一个分段函数,当第k张图像为相关图像时,其值为1,否则为0。

4.2 参数设置

采用“预训练+微调”的策略对Inception v4网络进行训练,解决无法在小规模的数据集上训练深层网络的问题。首先利用ImageNet数据集对Inception v4网络进行预训练,得到初始的网络参数。然后利用遥感图像数据集对初始网络参数进行微调,得到面向遥感图像检索任务的网络参数。接下来,提取网络卷积层和FC层特征,按照第2节中所述的方法处理后得到图像特征表示向量。

对于遥感图像数据集,按照80%训练集,20%测试集的比例进行划分。单次实验中对数据集随机划分,进行3次重复实验,对3次的结果取平均作为最终的实验结果。

实验采用PyTorch开源框架进行搭建。计算硬件平台使用单张Titan Xp 12GB的显卡进行训练和测试。训练迭代次数设置为100轮,batch大小设置为16,学习率为0.001。

4.3 实验结果

4.3.1 不同卷积特征表示向量对检索性能的影响

通过使用深度特征字典对由Inception v4的第一个Reduction Block模块输出的3组卷积特征进行量化,可以获得相应的卷积特征表示向量,表示为F3*3_conv、F5*5_conv和Fmaxpool。这些特征表示向量分别与FC特征级联,形成用于图像检索的图像特征表示向量,分别为F3*3_conv+FC、F5*5_conv+FC和Fmaxpool_conv+FC,维度均为2560,相似性度量采用的是式(1)所示的L2距离度量准则。在UCM、RS19和RSSCN7数据集使用3种特征表示向量得到的检索性能如表1所示。

表1 不同卷积特征表示向量对检索性能的影响

可以看出,卷积核的大小对检索性能有很大的影响。综合来看,采用5*5的卷积核得到的卷积特征表示向量可以获得更好的检索性能。因此可以选择5*5卷积核得到的特征表示向量与FC层特征级联,作为图像的特征表示向量。

4.3.2 不同降维算法对检索性能的影响

为了验证不同降维算法对检索性能的影响,在UCM、RS19和RSSCN7三个数据集上使用FICA( Fast Independent Component Analysis)、PCA(Principal component analysis)以及Largevis三种降维算法对4.3.1节中的F5*5_conv+FC进行降维,并进行了对比,对比结果见表2。为了达到速度与精度的均衡,设置降维的维度为64。可以看出,使用Largevis降维算法所得到的降维向量的检索准确率在3个数据集上均远超另外两种降维算法,甚至高于4.3.1节中未降维之前的检索准确率。这是因为Largevis可以将高维数据投影到低维空间,在减少高维数据冗余的同时,能有效地拉大原来在高维空间中不同类别数据之间的距离,减小相同类别数据之间的距离,从而提升特征的区分能力。

表2 采用Largevis降维对检索性能的影响

4.3.3 与其他方法的对比结果

为了验证笔者提出的图像检索方法的有效性,将其与现有的7种遥感图像检索方法进行对比。在3个数据集上和其他方法所得到的检索性能对比结果如表3所示,表中的“—”表示原文中未进行该数据集的准确率测试实验。

表3 mAP与现有检索方法对比

由表3可以看出,与现有方法相比,笔者提出的方法在RS19和RSSCN7数据集上都能达到较好的检索性能。而在UCM数据集上,mAP值仅比性能最好的方法低0.37%。采用Inception v4网络架构,可以获得描述性好、表达能力强的深度特征。采用深度特征进行字典学习以后对图像细节表达更加充分,更加有利于遥感图像检索性能的提升。而采用Largevis对深度特征进行降维,不但可以降低计算复杂度,节约存储空间,还可以进一步提升深度特征的区分能力,从而获得最优的检索性能。

5 结束语

本文基于Inception v4网络结构,提出了一种遥感图像检索方法。该方法对卷积特征图数据进行了重组,利用K均值聚类算法建立深度特征字典,对卷积层特征进行紧凑表示。然后将卷积层特征表示向量与FC层特征进行级联,得到图像特征表示向量。对其采用Largevis进行降维,进一步提升特征的区分能力。最后,利用L2距离度量准则进行特征相似性比对,实现遥感图像检索。在RS19、RSSCN7和UCM数据集上的实验结果表明,与现有方法相比,该方法能获得更好的检索性能。在今后的工作中,将努力学习更深层次的视觉字典,以进一步提高检索性能。

猜你喜欢
降维字典卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
基于数据降维与聚类的车联网数据分析应用
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
降维打击
字典的由来
大头熊的字典
几种降维算法的研究及应用
正版字典