卷积神经网络在SAR目标识别中的应用

2018-06-06 11:07白艳萍张校非杜敦伟
关键词:卷积像素神经网络

郝 岩,白艳萍,张校非,杜敦伟

(1.中北大学 理学院, 太原 030051; 2 北京机电工程研究所, 北京 100074)

合成孔径雷达(SAR)[1]是一种高分辨率成像雷达,具有不受光照和气候条件等限制、能实现全天时、全天候对地观测的特点,甚至可以透过地表或植被获取其掩盖的信息。作为一种独特的侦察手段,合成孔径雷达在民用与军用领域的应用广泛。因此,SAR目标识别也成为现今研究的一大热点。对该问题的研究中,最重要的就是特征提取。为了避免复杂的特征提取和选择过程,本文采用卷积神经网络(CNN),通过多层网络的学习自动提取图像特征。

卷积神经网络作为深度学习的一种,具有局部感知、权值共享、下采样3个主要特点[2]。大部分特征提取方法无法保证所提取的特征具有很好的可分性,容易使图像丢失很多重要信息。CNN不仅避免了这个缺点,而且被成功地应用于手写数字、人脸识别等多种领域。传统的CNN采用soft-max分类器,但分类效果并不是很好,而支持向量机(SVM)具有适合处理高维度问题、泛化性能强、运行速度快等多方面的优点。另外,SVM可通过设计不同的核函数处理原本线性不可分的问题。因此,本文将soft-max分类器替换为支持向量机,针对CNN提取的特征分类实现了较好的识别效果。

1 卷积神经网络

卷积神经网络[3]是一种多层前馈网络,包括输入层、卷积层、池化层、全连接层以及输出层,最为核心的是卷积层和池化层。

1) 输入层

CNN的输入层不同于其他网络,可以直接将原始数据作为输入,无需额外的数据处理或特征设计,并可自动学习和提取图像特征,大大减少了人工预处理的过程。

2) 卷积层(C层)

卷积层作为特征提取层,具有良好的平移不变性。每个卷积层中包含多个C元(卷积神经元),每个C元只与前一层网络对应位置的局部感受域相连,并提取该部分的特征。相对于一般的前馈神经网络,CNN的局部连接方式大大减少了网络参数。为了进一步降低参数的数量级,CNN还采取了权值共享策略,即限制同一个卷积层不同的神经元与前一层网络不同位置相连的权重均相等。通过设计多个卷积层,网络可提取多个用于分类的不同特征。

3) 池化层(S层)

池化层属于特征映射层,每层包含多个S元(采样神经元),每个S元与前一层局部感受域连接的所有权值为一特定值。此时C层不再产生新的参数,而是对前一层网络提取的特征进行下采样。池化一般包含平均池化和最大池化两种。

4) 全连接层

与常见的前馈网络一样,该层的每一个神经元与前一层的所有神经元互相连接,同层神经元之间不连接。

5) 输出层

最后一层(C层或S层)得到的特征被拉成一个向量,作为某一分类器的输入,通过该分类器的训练得到最终分类结果。

2 SVM算法

SVM是一种有监督的统计学习方法,其核心思想是基于结构风险最小原理寻找最优分类平面,能最小化经验误差和最大化几何边缘,在非线性及高维模式识别问题中具有很大的优势,是一种较好的分类器[4]。

求解最优分类平面的目标函数和约束条件的定义如下:

(1)

其中:w为垂直于分类超平面的向量;b为偏置项;xi为一个n维向量;yi为向量所属的类别信息。将目标函数转化,此问题可以变成一个凸二次规划问题。虽然将原始数据映射到高维空间后,线性分类的概率明显增加,但对于某些情况依然存在问题。为了放宽限制条件,引入松弛变量ξi≥0,表示数据点xi可以偏离的量,另外引入惩罚因子C,C为一个常数,则原问题可转化为

(2)

通过拉格朗日函数得到其对偶问题:

(3)

式中αi为支撑向量所对应的系数。K(xi,xj)为核函数,其种类包括[5]:

以上γ、r、σ为参数。

3 基于CNN-SVM的SAR目标识别

CNN是应用最为广泛的一种深度学习方法,其通过卷积层、池化层可以自动提取图像特征,是一种性能良好的特征提取器,避免了复杂的人工特征设计过程。但由于soft-max需要计算每一类的概率,而且对于复杂的特征分类精度不是很高,这使得传统的卷积神经网络还存在很大的提升空间。SVM是一种较成熟的算法,其应用广泛,可以解决非线性问题,同时相对于神经网络而言不存在局部最优的问题,有较高的分类精度。本文将传统的卷积神经网络分为两个部分,即特征提取和分类。为了获得更好的目标识别效果,同时考虑CNN与SVM两种算法的优点,本文将二者相结合,利用CNN的自动学习能力将其作为特征提取器,将SVM作为最终的分类器。CNN-SVM示意图见图1。

图1 CNN-SVM示意图

为了进一步提升该模型的性能,本文首先对图像进行剪裁处理,去除多余的背景。由于CNN是一个深度学习模型,其训练过程包括特征学习和分类两个部分,其中特征学习是指对输入数据进行卷积、池化操作,以自动学习图像特征。而要获得一个好的网络模型,同时避免过拟合,需要大量的训练数据,因此本文采用加噪和去噪的方法对样本进行扩充,包括添加高斯噪声、泊松噪声、椒盐噪声、相干斑噪声和高斯去噪、小波加噪去噪、中值滤波、线性空间滤波、二维自适应维纳滤波9种方法,再加上预处理后的样本将其扩充为原来的10倍,然后添加冗余将样本扩充为原来的30倍。另外,为了解决在训练过程中中间层数据分布发生改变,出现梯度消失或爆炸的问题,本文引入归一化加快训练速度。最后,通过训练集将网络训练好,用选定的测试集进行测试,同时提取训练集与测试集的特征,将其分别作为SVM的训练集和测试集。CNN-SVM流程见图2。

图2 CNN-SVM流程

CNN-SVM的算法流程如下:

① 输入:输入预处理后的训练集trainx及其对应标签trainy;

② 设置参数:初始化网络参数,包括卷积核大小、数量、下采样步幅、迭代次数(epoches);

③ for i

通过trainx,trainy训练网络,BP反向调整网络参数,并提取训练集特征trainx_feature end

④ 将测试集testx输入步骤③训练好的网络,提取测试集特征testx_feature;

⑤ 将trainx_feature作为SVM的训练集,testx_feature作为测试集,并进行归一化,对目标进行分类,得到最终分类结果。

4 实验与结果分析

4.1 实验准备

实验数据来自于MSTAR的公开数据集,3类目标分别为BMP2(装甲车)、BTR70(装甲车)以及T72(主战坦克)。实验选取SN_C21、SN_C71和SN_132在17°俯仰角下的图像作为训练样本,将15°俯仰角下的图像作为测试样本。训练样本和测试样本分别为698个和588个。数据库中的SAR图像分辨率为0.3 m×0.3 m,目标图像大小为128像素×128像素。

由于图像的目标均集中于图像的中间部分,因此本文首先将图像剪裁为大小64像素×64像素的图像。同时,CNN作为深度学习的一种,在训练过程中往往需要大量的训练样本,而本文选取的实验数据过少,因此采取加噪和去噪的方法对样本进行扩充。采用的数据扩充方法包括添加高斯噪声、泊松噪声、椒盐噪声、相干斑噪声、高斯去噪、小波加噪去噪、中值滤波、线性空间滤波、二维自适应维纳滤波9种方法。通过加上预处理后的样本将其扩充为原来的10倍,然后使用repmat函数对训练样本添加冗余,将样本扩充为原来的30倍,最终得到 20 940个训练样本,5 880个测试样本。图3是图像的预处理过程,图中只显示了2种扩充方法。

图3 图像预处理过程

实验中的其他设置为:① 实验配置为Matlab R2016b。 ② CNN包括2个卷积层。第1个卷积层有5种卷积核,第2个卷积层有10种卷积核。2个对于池化层本文采用平均池化,采样步幅为2。激活函数选用sigmoid函数。批量训练的大小为10。迭代次数为8。③ 改进算法中,SVM训练集与测试集的归一化区间为[0,0.2],其他设置均与LIBSVM工具箱中的设置相同。

4.2 实验

4.2.1 实验1

为了证明本文所采用的预处理方法的有效性,针对原始数据、剪裁、去噪以及扩充后的数据进行实验,实验结果见表1。除扩充(加噪、去噪等)方法外,其余训练数据均通过repmat函数扩充为20 940,测试数据扩充为5 880,2个卷积层均采用大小为9×9的卷积核以确保实验的有效性。

表1 不同预处理方法对比

从表1可以看出:第1、3、4、7组实验的识别效果均为33.33%,即所有未剪裁的数据均将3类目标分为了1类,原因是未剪裁的图像在目标周围有很多复杂的背景,对目标的准确识别产生了一定的干扰;对比第2组和第5组实验,在剪裁的基础上去除图像的高斯噪声,识别准确率提高了1.7%,说明噪声对目标识别也具有一定的影响;第2组实验的识别准确率之所以比第7组高是因为第2组数据在扩充时直接复制原数据,降低了识别的困难程度;最后,第5组比第8组实验的识别效果好也是因为扩充数据直接添加了冗余。总体而言,剪裁、去噪对目标的识别具有非常重要的作用,特别是剪裁处理。

4.2.2 实验2

实验以最终特征图大小10像素×10像素为目标,通过改变2个卷积层卷积核的大小对传统的CNN算法进行测试,不同大小卷积核识别率见表2。

表2 不同大小卷积核识别率

从表2可以看出:不同大小的卷积核对于识别效果有一定的影响,且卷积核较大时,相应的运行时间也变长。通过对比发现,当两层的卷积核均为9×9时,识别效果最好,识别正确率达到97.5%。

4.2.3 实验3

实验主要针对改进后的算法CNN-SVM进行性能测试,根据实验2的结果,本实验中2个卷积层均采用大小为9×9的卷积核,网络结构如下:

1) 输入层:为预处理后的图像,大小为64像素×64像素;

2) 卷积层1: 采用5种大小为9×9的卷积核,得到5个大小为56像素×56像素的特征图;

3) 池化层1:5个大小为28像素×28像素的特征图;

4) 卷积层2:采用10种大小为9×9的卷积核,得到10个大小为20像素×20像素的特征图;

5) 池化层2:10个大小为10像素×10像素的特征图;

6) 全连接层:1 000个神经元节点;

7) 输出层:3个神经元节点。

图4为测试集中一个样本的特征图,其中:(a)为预处理后的输入图;(b)为第1个卷积层的特征图;(c)为第1个池化层的特征图;(d)为第2个卷积层的特征图;(e)为第2个池化层的特征图。

图4 各层部分特征图

从图4可以看出:特征图的大小在不断减小,图像的结构信息越来越少,剩余的是细节信息,这是深度学习的一个不足之处,在本文中不考虑该问题。

本文采用卷积神经网络提取训练集和测试集的特征,并将其分别作为SVM的训练集与测试集,因此SVM训练集大小为1 000×6 980,测试集大小为1 000×5 880。为了加快训练速度,提高识别正确率,将训练集与测试集数据做归一化处理,归一化区间为[0,0.2],最终实现了99.4%的识别正确率。

对比实验2、3的结果可以发现,CNN-SVM的识别正确率相对传统的卷积神经网络提高了1.9%,充分证明了改进算法的有效性。

为了进一步说明本文算法的识别效果,给出几个文献中的识别效率,将用本文方法与文献方法得到的识别效果进行对比,见图3。

表3 本文方法与文献方法的对比

表3中,文献[6]利用深度卷积神经网络模型,提取并展示目标的多维度层级特征,soft-max分类精度达到93.99%;文献[7]在卷积神经网的基础上提出了一种新的识别框架SARNet,该框架通过组合多个不同的基本操作单元实现,最终3类目标识别率达到 95.48%;文献[8]在误差代价函数中引入类别可分性度量,利用SVM对特征分类,达到95.9%的识别精度。由此可见,相比上述3个文献中的方法,本文的方法更为有效。

5 结束语

本文针对SAR目标识别问题提出CNN以及CNN-SVM两种方法,并在MSTAR数据集上对3类目标进行3组仿真实验,两种方法的最佳识别正确率分别为97.5%和99.4%,均高于文献[6-8]的识别正确率,证明了本文所提算法的有效性。但是对于卷积神经网络而言,由于结构的限制,其在网络记忆能力和表达能力上远弱于一般的全连接网络。尽管局部连接和权值共享大大减少了参数数量,但操作时仍然耗时较长,在这两方面卷积神经网络依然有很大的改进空间。

[1] 李君宝,杨文慧,许剑清,等.基于深度卷积网络的SAR图像目标检测识别[J].导航定位与授时,2017(1):60-66.

[2] 谢剑斌.视觉机器学习20讲[M].北京:清华大学出版社,2015:170-178.

[3] 陈耀丹,王连明.基于卷积神经网络的人脸识别方法[J].东北师大学报(自然科学版),2016 (2):70-76.

[4] 张迪飞,张金锁,姚克明,等.基于SVM分类的红外舰船目标识别[J].红外与激光工程,2016(1):179-184.

[5] 王小川,史峰,郁磊,等.MATLAB 神经网络43个案例分析[M].北京:北京航空航天大学出版社,2013:102-103.

[6] 张慧,肖蒙,崔宗勇.基于卷积神经网络的SAR目标多维度特征提取[J].机械制造与自动化,2017(1):111-115.

[7] 王家宝,李阳,张耿宁,等.合成孔径雷达图像目标的卷积神经网识别框架[J].计算机应用研究,2017(4):1-5.

[8] 田壮壮,占荣辉,胡杰民,等.基于卷积神经网络的SAR图像目标识别研究[J].雷达学报,2016(3):320-325.

猜你喜欢
卷积像素神经网络
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
“像素”仙人掌
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部