基于迁移学习的卷积神经网络SAR图像目标识别
2019-01-21,,,,
,,,,
长沙理工大学 电气与信息工程学院,长沙 410114
合成孔径雷达(Synthetic Aperture Radar,SAR)系统具有全天时、全天候的特点,能够在任何天气状况下,全天时不间断的有效获取地面信息。星载SAR作为对地观测的重要手段,已广泛应用于农业、工业等领域。随着星载SAR成像技术的不断完善,海量的SAR数据需要处理,因此从大量基于复杂场景的数据集中获取信息并完成识别、分割等任务成为了当前的研究热点[1-3]。图像目标识别的研究主要包含图像预处理、特征提取、识别与分类三个方面。传统的图像目标识别研究主要基于特征提取,如文献[4]将应用于人脸识别的非负矩阵分解(Non-negative Matrix Factorization,NMF)特征应用于SAR目标识别;文献[5]将SAR图像映射到流形空间,提取局部判别嵌入(Local Discriminant Embedding,LDE)特征,然后用于图像目标识别;基于特征提取的方法有主成份分析(Principal Component Analysis,PCA)[6]、单演信号描述[7]、支持向量机(Support Vector Machine,SVM)[8]等。以上方法提取的特征均基于人工设计,需要大量的试验基础和专业领域知识,并且由于这些特征都是基于目标的底层视觉特征,无法充分表征目标的本质属性,因此在很多情况下无法获得有用的特征,导致目标识别效果不佳。2006年,文献[9]揭开了深度学习(Deep Learning)发展的序幕。近年来,深度学习的模型在图像识别领域展现出了强大的学习能力,文献[10]提出一种深度卷积神经网络将ImageNet数据的分类正确率提升了9%。随后许多学者在不同的应用背景下提出了多种深度学习模型如栈式消噪自动编码机[11]、深度置信网络和卷积神经网络(Convolutional Neural Network,CNN)等。卷积神经网络作为一种深度学习模型,由于其权值共享网络结构使得图像可直接作为网络的输入,卷积神经网络在图像识别领域取得了广泛的应用,如人脸识别[12]、行为识别[13]、医学图像识别[14]等。
卷积神经网络源于人工神经网络的研究,是一种包含多隐层的多层感知器深度学习结构,这种多层的结构通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。本文针对SAR图像数据的目标识别问题,提出一种基于迁移学习监督式预训练的卷积神经网络,试验结果表明该算法有效地改善和提升了网络误差收敛和识别精度。
1 基于迁移学习监督式预训练的卷积神经网络
1.1 卷积神经网络
卷积神经网络是一种多层的监督学习神经网络,每层由多个二维平面组成,每个平面又包含多个独立的神经元。典型的卷积神经网络由卷积层、池化层和全连接层3种类型的二维平面层构成。卷积层通过卷积运算,增强了原信号的特征;池化层也叫下采样层,利用图像局部相关性的原理,对输入图像进行下采样,在减少数据处理量的同时保留了特征信息;输出层通过整合具有类别区分性的特征信息,实现分类器的效果。
(1)卷积层
在卷积层,将输入图像或上一层的特征图与该层的卷积滤波器进行卷积加偏置,通过一个非线性激活函数输出卷积层的特征图(feature map)。具体计算如下:
*xl-1+bi
(1)
cl=f(z)
(2)
式中:xl-1为上一层的输出特征图;z为经卷积操作后的特征图输出;cl为通过非线性激活函数得到的卷积层最终特征图输出;k为卷积核;b为偏置;“*”为卷积计算(步长为1);f(·)为非线性激活函数。在该算法中选择ReLU函数作为非线性激活函数。常用的非线性激活函数如sigmoid和tanh由于其正负饱和区的梯度都接近于0,会出现梯度弥散,而ReLU函数在大于0的部分梯度为常数,因此避免了梯度弥散的问题。同时,采用ReLU函数作为非线性激活函数,由于只有在输入值为正时有输出,其余均为零,使得网络具有了适度的稀疏性,对于卷积层而言,提高了网络对数据的表征能力,加快了网络训练过程的收敛。
(2)池化层
在池化层,对卷积层的输出特征图进行下采样,实现数据的降维。最大值池化采用池化区域中的最大值作为下采样输出,避免了零元素对区域中数值较大元素的削弱。
rl=max(rl-1)
(3)
式中:rl-1为上一层的输出特征图中对应的一个池化区域;rl为对应池化区域的最大值池化输出,多个区域输出组合成最终的池化层输出特征图。
(3)输出层
传统的CNN采用全连接层作为网络输出层输出分类结果,而CNN中大部分训练参数集中于全连接层,过多的网络参数往往带来过拟合的问题。在本算法中,采用卷积层替代全连接层作为CNN的输出层,卷积层输出为个数为N的特征图(分别对应样本的N个类别),然后采用Softmax进行归一化。Softmax回归模型是logistic回归模型在多分类问题上的推广,对于给定的输入x,Softmax的假设函数定义如下:
(4)
式中:zk为第k个神经元的输出;wT和b分别为权重和偏置。由式(4)可以看出,Softmax回归模型把神经元的输出构造成概率分布,同时起到了归一化的作用。该算法中损失函数定义为交叉熵损失函数:
C=-∑kyklnzk
(5)
式中:yk为对应于第k类的真实值,取值为0或1。
1.2 基于迁移学习的监督式预训练
卷积神经网络中包含大量的待训练参数,在训练开始阶段这些参数通常采用随机初始化的方式,这使得网络的初始误差会处于一个数值相对较大的位置,容易导致网络收敛效果差和过拟合的问题。针对这一问题,提出一种基于特征选择的迁移学习监督式预训练方式,目的是为了获得源域和目标域中共有的特征表示,然后基于这些特征表示来实现知识迁移。
迁移学习是一种运用已有的知识对不同但相关的领域进行求解的机器学习方法,它放宽了传统机器学习中的两个基本假设:1)用于学习的训练样本和新的测试样本应满足独立且同分布的条件;2)必须有足够多的训练样本才能得到一个好的模型。迁移学习中包含源域(Source Domain)和目标域(Target Domain),定义[15]如下:
D(s)={x,P(x)}
(6)
D(t)={x,P(x)}
(7)
式中:D(s)和D(t)分别为源域和目标域;x和P(x)分别为1个域中的特征空间及其对应的边际概率分布。针对移动与静止目标搜索识别(Moving and Stationary Target Acquisition and Recognition,MSTAR)数据集目标识别任务,为了建立一种小规模数据到大规模数据的特征迁移学习,源域的源任务T(s)定义为三类目标识别,目标域的目标任务T(t)定义为十类目标识别。由于源域与目标域的数据具有同分布特性,通过源任务获得的预训练模型来初始化目标任务中的网络参数,从而实现了源域到目标域的特征信息迁移。
1.3 算法流程
图1为基于迁移学习监督式预训练的卷积神经网络目标识别算法流程。算法具体步骤如下:
(1)源域预训练
将MSTAR中三类目标数据集作为源域训练样本,针对三类目标识别任务进行有监督地训练卷积神经网络,得到预训练模型。
(2)特征信息迁移
构建与预训练模型具有相同结构的卷积神经网络,将十类目标识别作为目标域的目标任务,将上一步获得的预训练模型作为该网络的初始参数,采用十类目标数据作为训练样本对网络进行微调:
1)前馈网络:
①根据式(1)计算卷积,卷积结果通过式(2)的非线性激活函数得到卷积层的输出特征图cl;
②根据式(3)对特征图cl进行最大值池化,得到池化层的输出特征图;
③将先前层提取到的特征图通过卷积层输出对应各类的特征图,最后利用Softmax回归模型,根据式(4)得到识别结果。
2)误差反向传播:
根据式(5)交叉熵损失函数计算梯度,采用误差反向传播的方法调整网络的权值和偏置参数,直到误差收敛。
2 试验结果与分析
为了验证算法的有效性,采用美国国防高等研究计划署支持的MSTAR公开数据集进行试验,MSTAR数据集是通过高分辨率的聚束式合成孔径雷达采集到的静止车辆的SAR切片图像,包括多类目标的SAR图像数据。算法基于caffe平台构建卷积神经网络实现,试验环境为:i7-6700(主频3.4 GHz,四核),16 GB内存,训练过程采用GPU加速。
2.1 卷积神经网络框架配置
本文算法采用一个包含5个卷积层和4个池化层的卷积神经网络。MSTAR数据集训练样本可直接作为网络的输入,图像尺寸缩放为88×88,最终输出层输出一个N维的向量,对应于N个类别的概率分布。CNN网络参数配置如表1所示。
2.2 三类目标监督式预训练
算法基于迁移学习的监督式预训练获得预训练模型,采用MSTAR中数据规模较小的三类目标数据作为源域训练样本。三类目标数据如表2所示,训练样本为方位角17°下BMP2_SN9563、BTR70_C71、T72_SN132的SAR图像数据。三类目标识别框架如表1所示,其中N设置为3。
表2 三类目标训练数据分布
针对源域的三类目标识别任务,采用小批量随机梯度下降法(Mini-batch Stochastic Gradient Descent,MSGD)训练源域目标网络,批处理数量(batchsize)设置为25,学习率设置为0.01。保存训练迭代60 000次时的网络参数作为预训练模型。
2.3 十类目标训练与测试
为了实现源域到目标域的特征信息迁移,在目标域中构建与源域相同的卷积神经网络框架,如表1(其中N=10)所示,网络初始参数由源域获得的预训练模型得到。目标域中采用十类目标识别样本对网络进行微调。在十类目标数据包括BMP2、BTR70、T72、2S1、BRDM2、ZSU234、BTR60、D7、T62、ZIL131十类目标数据,训练样本为方位角17°下的十类目标SAR图像数据,测试样本为方位角15°的十类目标SAR图像数据。十类目标测试与训练数据分布如表3所示。
表3 十类目标测试与训练数据分布
针对目标域的十类目标识别任务,采用小批量随机梯度下降法训练网络,batchsize设置为25;由于采用预训练模型初始化网络参数,学习率设置为源任务的1/10,即0.001,最大迭代次数为60 000次,每迭代200次进行一次测试。训练过程在迭代34 200次时测试正确率达到了99.13%,十类目标的识别结果如图2所示,其中对角线上以黑灰色框出的数字表示目标识别正确的数目,其余表示识别错误的数目及对应错分类别。
2.4 不同算法对比
为了更好地评测本文算法针对目标域十类目标识别的性能,构建一个采用参数随机初始化的卷积神经网络进行对比。两个网络具有相同的卷积层和池化层,同样采用卷积层作为网络输出层,训练过程采用相同的学习率和batchsize。两个算法的十类目标识别测试正确率对比如表4所示,由正确率对比可以看出本文算法的基于三类目标监督式预训练CNN比网络参数随机初始化的CNN识别精度提升了0.88%。
表4 测试正确率对比
由于两个卷积神经网络在训练迭代10 000次以后已基本达到收敛,所以截取了训练迭代前10 000次两个算法误差收敛情况如图3所示,由对比曲线可以看出基于监督式预训练的CNN由于初始误差较小,误差的收敛速度和整体收敛情况均优于参数随机初始化的CNN。测试正确率截取了训练迭代前15 000次得到对比曲线如图4所示,由对比曲线可以看出基于监督式预训练的CNN在整个训练阶段的测试正确率均高于参数随机初始化的CNN,具有更高的识别精度。
本文算法是基于小规模数据到大规模数据特征信息迁移的思想,为了评测源任务中数据规模大小对目标任务的影响,构建了一个六类目标识别作为源任务实现监督式预训练的CNN,最终十类目标识别的正确率如表4所示。由表4可得六类目标预训练的最终识别精度高于网络参数随机初始化的CNN,但略低于三类目标预训练的CNN,可能的原因是,与三类目标预训练相比,六类目标预训练的训练样本数据分布及CNN输出层结构与十类目标识别目标任务的相似程度较高,使得这种特征信息迁移对目标任务的影响较小。考虑一种极端情况,若采用十类目标做预训练,而目标任务也为十类目标识别,这种预训练实际上起到的效果只是训练迭代次数的增加而已。由以上分析可得,基于小规模数据到大规模数据特征信息迁移的预训练方法,在确定预训练数据的分布与规模大小时,不宜与目标任务的训练数据具有过高的相似程度。
3 结束语
本文针对MSTAR数据集中的SAR图像多类目标识别问题,提出了一种基于迁移学习监督式预训练的卷积神经网络。首先,建立一种以三类目标识别作为源域、十类目标识别作为目标域的迁移学习模型;然后基于源域预训练模型进行目标域卷积神经网络的微调,最终实现了源域到目标域的特征信息迁移。通过这种迁移学习的方式,使得目标域充分利用了源域预训练模型的特征信息,加快了卷积神经网络在训练过程的误差收敛速度,在目标域的十类目标识别精度达到了99.13%,相比于参数随机初始化的卷积神经网络,识别精度提升了0.88%。由于本文算法是从大规模数据中抽取部分数据构建源域样本,从而实现特征迁移,故该方法不适用于小规模数据的卷积神经网络训练。今后的研究方向可在源域数据样本分布与规模大小的标准定义上展开。