利用高判别低维深度特征的SAR船只分类
2021-01-20寻兴青万剑华郎海涛徐永杰刘善伟
寻兴青,万剑华,郎海涛,徐永杰,刘善伟
(1.中国石油大学(华东)海洋与空间信息学院,山东 青岛 266580;2.北京化工大学 数理学院,北京 100029)
0 引 言
自近几年海洋发展战略提出以来,海上船只活动越来越频繁,对船只进行监测成为每个海洋国家的重点监管内容。合成孔径雷达(synthetic aperture radar,SAR)因其全天时、全天候、大范围、远距离等特点成为重要的监测手段之一[1]。
随着TerraSAR-X、Cosmo-SkyMed、Radarsat-2等高分辨率SAR卫星的发射,监测过程中船只分类识别的研究得到了极大发展,其中较为常见且成熟的方法是从SAR图像中提取具有船只类型区别能力的特征,利用这些特征进行分类。常用的分类特征主要有3种:几何特征、极化特征和散射特征。如郎海涛等提出的简单而有效的朴素几何特征揭示了不同类型SAR船只之间的本质差异[2];Jiang等基于船只上层建筑后向散射特征提出维度比特征进行SAR船只分类[3];席阳宇等利用极化特征描述船只的散射机制和散射能量进行分类识别[4]。该方法存在的问题是提取的特征多为人类专家依据物理或数学特性人工设计的特征,提取方法复杂繁琐,且缺乏良好的泛化性能。
近几年深度学习在机器视觉、语音识别等领域取得了突破性的进展,因此也成为船只分类识别的重要研究方向之一,如Bentes等利用卷积神经网络在TerraSAR图像上进行船只分类[5];刘晨等提出一种基于卷积神经网络迁移学习的目标分类方法[6]。该类方法存在的问题是深度学习网络需要大量具有标签信息的船只样本数据,训练数以百万计的参数,如果数量不足将使得模型过拟合,分类效果变差。然而在实际应用中,获取大量带标签信息的船只样本是十分困难的,船只样本的数量往往难以达到深度网络的要求[7]。
在图像分类领域,利用深度神经网络,例如卷积神经网络(convolutional neural network,CNN)模型作为特征提取器提取深度特征的理念获得广泛认同,其避免了人工设计特征所遇到的麻烦,例如不可或缺的专家知识。深度特征包含大量的语义信息,表达能力更为强大,结合传统分类器实现图像分类往往能取得更好的分类结果[8,9]。因此,本文提出了利用低维度高判别的深度特征进行SAR船只分类的方法,充分利用不同层深度特征的判别信息,以提高船只分类精度。
1 方 法
虽然深度特征包含大量的语义信息,但受CNN结构因素的影响,不同网络层提取的深度特征从不同方面表达图像信息,低层深度特征保留丰富的细节信息,高层深度特征具有较强的抽象语义信息[10]。虽已有大量实验结果表明高层深度特征具有丰富的语义信息,且对于分类具有很好的性能[11,12],但对于SAR船只分类来说,不同类别的船只样本在SAR图像上差异性较小,部分判别信息体现在细节上,提取的最高层深度特征虽包含最强的抽象语义信息,但丢失了较多的细节信息,所包含的判别信息不够全面,因此只利用单一的最高层深度特征进行船只分类结果并不好。不同层级深度特征所包含的判别信息有所不同,如何选择具有不同判别信息的深度特征以及如何综合利用这些不同层级的深度特征,是提升船只分类正确率的关键[13]。深度特征维度均在千量级,过高的维度不仅增加了计算成本和数据存储空间,还有可能导致过拟合问题,影响分类性能。因此深度特征中是否存在信息冗余,通过降维操作能否提高分类精度也是值得研究的方面之一。
为提高船只分类准确率,本文提出了利用低维度高判别的深度特征进行SAR船只分类的方法,创新点有以下两点:①将深度特征用于SAR船只分类,并提出针对深度特征的特征优选方法;②提出级联二分类的分类策略。本文提出的方法主要分为以下4个部分:①将ImageNet数据库预训练的VGG16网络作为特征提取器,提取船只样本数据的深度特征;②对深度特征进行t-SNE可视化,计算每类船只的类间分离度,选择对于每类船只样本来说类间分离度最大即最具判别信息的深度特征;③对深度特征分别进行降维;④采用级联二分类策略对船只进行分类。流程图如图1所示。实验结果表明,所提出的方法对船只分类性能有明显提升。
图1 本文方法流程
1.1 深度特征提取
近年来,卷积神经网络(CNN)作为深度学习技术中极具代表性的网络结构之一,在图像分类和目标检测等领域发展的日益成熟,应用领域越发宽泛。相比于其它网络结构,CNN是为了处理二维图像专门设计的多层神经网络,更适合图像特征的学习和表达;相比于其它传统的图像处理算法,CNN可以将原始图形作为输入,利用网络自动提取特征,有效避免了复杂的前期预处理和人工提取特征的过程[14]。CNN主要由输入层、卷积层、池化层、全连接层和输出层构成。卷积层又叫特征提取层,由多个特征面组成,每个特征面由多个神经元组成,它的每一个神经元通过卷积核与上一层特征面的局部感受野相连,并提取该局部的特征。全连接层在多个卷积层和池化层之后,每一个神经元与其前一层的所有神经元进行全连接,全连接层可以整合卷积层或者池化层中具有可分性的信息[15]。本文分别在卷积层和全连接层后提取深度特征,特征可以分为两类:卷积层特征和全连接层特征。
VGG(visual geometry group)网络是牛津大学计算机视觉组研发的一种深度卷积神经网络架构。该网络经过构建交替的3×3的卷积核和2×2的池化层,实现了16-19层的网络结构[16]。常用的结构是VGG16和VGG19。本文使用的网络结构为VGG16,VGG16网络的总体结构共16层,包括13个卷积层和3个全连接层,结构如图2所示。本文将提取第5-13层卷积层和第1-2层全连接层的输出向量作为深度特征进行后续实验。
图2 VGG16网络结构
1.2 特征优选
t分布随机邻域嵌入(t-distributed stochastic neighbor embedding,t-SNE)算法是随机邻域嵌入(SNE)的一种变体,通过在二维或三维空间中给出每个样本点的位置来可视化高维数据。t-SNE算法的基本思想是在原始高维空间中利用高斯分布将所有样本对之间的距离转换为表示相似性的条件概率,构建一个概率分布,同时在低维空间中利用t分布构建这些点的概率分布,使得这两个概率分布尽可能地相似[17]。t-SNE能够同时保留数据的局部结构和全局结构,在可视化后相似的数据更好地聚合在一起,相对其它算法具有一定的优越性,因此本文选择t-SNE算法对样本数据进行可视化。在可视化的结果图上,通过不同类别的样本聚集情况,判断该深度特征所包含的判别信息;若同一类别的样本紧密聚集在一起,并且远离其它类别的样本,说明该深度特征对于此样本类别具有较好的判别信息。
每个样本类别的最优鉴别信息可能分布在不同层级的深度特征上,因此本文提出针对每个样本类别的特征优选方法。该方法首先对每个层级的深度特征进行t-SNE可视化;然后在可视化特征上,计算每个类别的类间分离度,类间分离度越大,则认为该特征上此类别的判别信息越丰富;最后为每个样本类别选择类间分离度最大即判别信息最丰富的特征,并根据类间分离度对样本类别进行优先级排序。具体实现步骤如下:
(1)对每层的深度特征进行t-SNE可视化;
(2)在每层深度特征可视化的结果上,计算类间距离,计算公式为
(1)
(2)
(3)计算每个类别的类间分离度S, 计算公式为
(3)
(4)为每个样本类别选择类间分离度最大的深度特征作为有效特征,并将样本类别按可分离度大小进行优先级排序。
1.3 特征降维
主成分分析(principal component analysis,PCA)是无监督降维,其基本思想是通过对原始特征的相关矩阵或协方差矩阵内部结构的研究,将多个特征转换为少数几个综合特征,这些特征是原特征的线性组合,最大化保留原特征的信息,且彼此间不相关,最终达到将数据特征映射到新的特征空间的目的。线性判别分析(linear discriminant analysis,LDA)是有监督的降维方法,其基本思想是找到一个最优的鉴别方向集,将样本数据投影到这些方向上,使得投影后的类间散布距离和类内散布距离的比值最大,从而使得投影后每一种类别数据的投影点尽可能接近,而不同类别的数据的类别中心之间的距离尽可能的远[18]。局部保留投影(locality preserving projection,LPP)方法是基于流形学习的无监督降维方法,其基本思想是先构建样本之间的原始近邻关系,然后寻找一个投影子空间,使得原始数据投影到此空间后依旧可以很好保留原先的局部近邻关系[19]。监督局部保留投影(supervised locality preserving projection,SLPP)是在LPP 的基础上加入了类标签信息,在保留类内局部结构的同时最大化类间的距离[20]。
1.4 船只分类
K近邻算法(K-Nearest neighbor,KNN)是机器学习中比较简单且理论成熟的分类算法之一,其基本思想是先计算训练样本集中与待分类样本距离最近的K个邻居,若这K个邻居样本中的大多数都属于某一个类别,那么该待分类样本也属于该类别[21]。本文选择KNN分类器对降维后的深度特征进行分类,但若将优选的所有深度特征直接连接后输入到KNN分类器中,直接连接的方式无法充分利用不同层级深度特征中包含的判别信息,分类结果可能不佳。
本文根据特征优选的方法,提出了基于KNN的级联二分类方法。在特征优选时,为每个样本类别选择了一个有效深度特征,并且根据类间分离度对样本类别进行了优先级排序。
该方法首先对优先级最高的样本类别进行分类,利用KNN分类器对该类别的有效深度特征进行二分类,分类结果为该类别和非该类别,分为该类别的样本确定最终分类结果,分为非该类别的样本需进一步确定分类结果;对于需进一步确定结果的样本,利用KNN分类器对次优先级样本类别的有效深度特征进行二分类,确定属于次优先级类别的样本,非该类别的样本按照优先级依次往下分类,直到分类完成。分类过程中优先级最低的深度特征实际并未使用,这里以3类为例,流程如图3所示。
图3 基于KNN的级联二分类
2 实 验
2.1 实验数据
实验使用的船只样本数据取自TerraSAR-X遥感影像。所选用的船只样本包括货船90个,集装箱船50个,油轮50个,共190个样本构成船只库。图4展示了3类船只部分样本的SAR图像。
图4 SAR船只样本图像
数据增强已被验证是一种有利于机器学习模型,特别是深层结构训练的常见技术,通过加快收敛速度或者充当正则化器,从而避免过度拟合并提高泛化能力。最常见的数据增强是通过对现有的数据应用平移、旋转、变形、缩放、裁剪等变换来生成新样本以扩充样本数量[22,23]。刘凯品等通过旋转和向图像中添加随机噪声的方法进行数据扩充,以此提高SAR图像中目标的识别率[24];Furukawa通过对比有无数据增强的MSTAR数据在深度残差网络上的分类结果,验证数据增强提高了分类精度[25]。
由于船只样本数据过少,为了防止过拟合,现采用数据增强的方法将每类船只的数量增至500个,形成包含1500个船只样本图像的数据集。为保证实验的可信度,随机抽取1200个船只样本作为训练集,其中每类船只样本400个,剩下的300个样本作为测试集,重复10次,得到10次随机划分的训练集和测试集,实验结果取10次实验的均值。
2.2 深度特征提取与特征优选
本文采用标准的ImageNet数据库预训练的VGG16网络直接提取特征,VGG16网络中卷积核为3×3,卷积步长为1,池化窗口为2×2,池化步长为2,采用Relu激活函数。这里分别提取第5-13层的卷积层特征和第1-2层的全连接层特征,在以下部分中,convi表示第i层卷积层特征,fci表示第i层全连接层特征。
首先对训练样本的所有特征进行t-SNE可视化,然后通过类间距离计算每类船只的类间分离度,计算结果见表1。由表1可知,货船在fc2特征上的可分离度最高,说明货船在fc2特征上具有最为丰富全面的判别信息,可以很好的从其它类型的船只中被区分开;而油轮和集装箱船在conv13特征上的分离度最高,说明油轮与集装箱船都在conv13特征上有最为全面的判别信息,可以很好的被区分开。
表1 每类船只在不同层级深度特征上的类间分离度
为更直观体现fc2特征和conv13特征的区别,图5给出了fc2特征和conv13特征的t-SNE可视化结果。在fc2特征可视化图中,货船被很好分到一起,而集装箱船和油轮混淆严重;相比之下,conv13特征可视化图中,油轮和集装箱船的区分度更好一些,大部分油轮集中在图像右上部。由此也验证了fc2特征虽包含较强的语义信息,但却不能对所有船只类别做很好的区分,而conv13特征中具有更多油轮和集装箱船的判别信息,可以对此进行更好的分类。
图5 fc2特征和conv13特征可视化结果
2.3 特征降维
SAR图像深度特征具有维度过高的特点,不仅会增加计算成本和所需的存储空间,在训练分类器时可能会导致过拟合,使得分类器的泛化能力较差,因此本文将选为有效特征的fc2特征、conv13特征先进行降维处理。为比较直接连接的特征组合方式的分类效果,将fc2特征和conv13特征直接连接(conv13+fc2)后进行降维处理。
为分析降维效果,将特征分别进行PCA、LDA、LPP和SLPP降维,然后用KNN分类器进行分类,其中K=35为取值在5-100之间,间隔为5进行寻优后的最优值,与未降维时作比较。表2给出了在fc2特征、conv13特征、conv13+fc2特征上未降维和降维后的分类正确率,其中每种降维方法的分类正确率取在不同维度时的最高分类正确率。
表2 conv13特征、fc2特征和conv13+fc2特征上未降维和降维后的分类正确率
从降维结果可以看出,conv13特征在PCA降维时分类正确率提升了0.57%,而其它降维方法都不升反降;fc2特征在PCA降维时分类正确率几乎维持不变,但在LDA和SLPP这两种监督降维方法时正确率有了大幅度提升。由此可以分析,卷积层由于每个卷积核提取的是局部特征,可分性信息可能较少,因此conv13特征更适合PCA无监督降维方法;而全连接层整合了卷积层或者池化层中具有可分性的信息,因此fc2特征更适合LDA和SLPP监督降维方法。
conv13+fc2特征在未降维时分类正确率相比fc2特征和conv13特征有了小幅度提升,说明fc2特征和conv13特征含有不同的判别信息,组合后可以提高分类性能,在LDA和SLPP降维后,分类正确率提升至75%左右,但相比fc2特征77%的正确率依旧低2%,说明将fc2特征和conv13特征直接组合后进行降维,并未较好保留特征中的判别信息。
本文将对优选的特征分别进行单独降维,这里选用PCA方法对conv13特征进行降维,SLPP对fc2特征进行降维,其中conv13特征降到16维,fc2特征降到64维,取值为PCA和SLPP降维方法分类正确率最高时的维度。
2.4 船只分类
将降维后的fc2特征和conv13特征使用基于KNN的级联二分类方法进行分类,得到的分类结果见表3。为保证实验公平性,以下实验所使用的KNN分类器统一K=35。
为比较深度特征的分类性能,表3中给出了3种具有代表性的普通特征和两种深度特征的分类结果,普通特征分别是方向梯度直方图特征(HOG)、局部二值特征(LBP)、散射特征和几何特征(S&G),深度特征分别是conv13特征和fc2特征[26]。由实验结果可以看出,HOG特征和S&G特征的分类正确率偏低,不足50%,LBP特征在普通特征中表现最佳,正确率为67.77%;而conv13特征和fc2特征正确率都达到了70%以上,特别是fc2特征的分类正确率达到了77.80%,相比普通特征提高了至少10%。可见优选的深度特征相比普通特征包含更为丰富的判别信息。
表3 船只分类结果
为测试级联二分类方法的有效性,表3中给出了conv13+fc2特征直接KNN分类,conv13+fc2特征先SLPP降维后KNN分类,以及conv13特征和fc2特征未降维直接级联二分类的结果。从实验结果可知,级联二分类方法对分类精度有大幅度提高,相比conv13+fc2特征直接KNN分类提高了10.34%,相比降维后的conv13+fc2特征KNN分类提高了5.9%。由此说明级联二分类方法可以更好地综合利用不同层级深度特征所包含的判别信息。
为体现本文方法的优越性,表3中给出了利用微调的VGG16网络分类的结果,分类正确率为79.4%,比本文方法低4.23%,说明了本文方法对于船只分类的有效性。本文方法降维时相比未降维正确率提升了2.16%,由此可见降维不仅可以很好保留特征中的判别信息,而且有效地提高了船只分类的正确率。
表4和表5给出了conv13特征和fc2特征进行KNN分类对应的混淆矩阵,在conv13特征中油轮分类正确的数量比fc2特征多,而fc2特征中货船和集装箱船的分类正确数量比conv13特征多,尤其是货船的数量增加了218只。由此说明了conv13特征和fc2特征中具有不同的判别信息。
表4 conv13(PCA)特征分类混淆矩阵
表5 fc2(SLPP)特征KNN分类混淆矩阵
表6~表9给出了conv13特征和fc2特征直接用KNN分类和用本文方法分类对应的混淆矩阵,conv13+fc2特征直接用于KNN分类,货船的分类正确数量少于fc2特征,油轮的分类正确数量低于conv13特征;conv13+fc2特征进行SLPP降维后用于KNN分类,虽然油轮分类正确数量有小幅增长,但货船和集装箱船的正确数量均有大量下降。由此可见,这两种方法并未能充分利用conv13特征和fc2特征的判别信息。本文方法在未降维时,虽然货船和油轮分类正确的数量有小幅下降,但集装箱船的正确数量却提高到822只,比conv13特征多170只,比fc2特征多151只。本文方法在降维时,货船的正确数量高达994只,集装箱船数量高达839只,为所有方法中的最高数量,说明了本文方法的优越性。相比未降维,3类船只的正确数量均有增加,验证了降维能保留有效的判别信息,提高船只分类的正确率。
表6 conv13+fc2特征分类混淆矩阵
表7 conv13+fc2(SLPP)特征分类混淆矩阵
表8 本文方法(未降维)分类混淆矩阵
表9 本文方法分类混淆矩阵
3 结束语
本文利用深度特征进行SAR船只分类,分类性能远远优于普通特征,并且验证了不同层级的深度特征包含不同的判别信息;文中提出的特征优选和级联二分类方法可以更好地综合利用不同层级的深度特征,大幅度提高船只分类正确率。
为增加样本数量,本文对船只样本进行了数据增强操作,这种操作得到的1500个样本都是同源的,很多样本实际上会重复学习,这是否会影响目标的分类精度以及实际应用效果,以及数据增强前后相关深度特征是否会发生变化都是今后值得进一步研究的方向。文中使用的KNN分类器是比较简单且相对弱势的分类器,今后的工作中也将进一步研究更为复杂的分类器。