2.2 基于CNN的合成孔径雷达目标识别

CNN可以直接对二维图像进行处理[80],能够高效地从大量数据中学习到优于人工提取的特征,并且随着训练样本的增加,提取出的特征更加有利于目标的分类识别[158]。目前,常用的分类器有决策树(DT)[159]、支持向量机(SVM)[160]、随机森林(RF)[161]、贝叶斯分类器[162]等。但现有的MSTAR数据库中的数据较少,很多研究人员对原有数据进行扩充[163],再进行SAR图像的特征提取和目标识别。本节将CNN分别与随机森林、决策树结合对SAR进行目标识别。

2.2.1 基本CNN

本节所采用的CNN结构,输入的图像就是本节要研究的SAR图像,如图2-1所示。图2-1包括输入、两层卷积层、两层池化层、全连接层和输出层。输出层采用Softmax分类器,池化层采用平均池化。

图2-1  CNN结构图

1.卷积层

卷积层主要是用来提取图像的特征,由多个可学习的滤波器(即卷积核)组成。在卷积操作中,卷积核在原始图像中以一定的步长卷积整个图像,卷积核与原图像的连接权值不同,会得到代表不同特征的特征图。

2.池化层(下采样层)

池化层是连接在卷积层后的结构,主要功能是将高维特征提取成低维的抽象特征,常用的滤波器大小有3×3,2×2,步长为2,不宜使用尺寸更大的滤波器,这样会丢失掉更多的图像信息。

一般来说,有平均池化和最大池化两种形式。最大池化是在输入图像的不同n×n的块的所有像素中选出最大值;平均池化是对不同的n×n的像素块计算平均值,两种操作均将输出图像在两个维度上缩小为原来的1/n。同时,池化层的特征图个数永远与其前面相连接的卷积层特征图数一致。

3.全连接层

输入的图像数据经卷积、池化操作后,将得到的二维特征模式拉成一个向量,与输出层以全连接方式相连。

4.输出层

输出层的主要功能是分类,将全连接层的特征向量作为输出层的输入,对其进行分类识别,输出层的输出节点数与要分类的类别数相同。常用的分类器有Softmax分类器、SVM分类器、决策树分类器等。

2.2.2 数据集

本节所选取的数据集是MSTAR公开数据集。MSTAR数据集是美国国防高级研究计划局和美国空军研究实验室提供的实测SAR地面静止军用目标数据集,由X波段SAR传感器采集,采用用于水平发送和水平接收(HH)极化方式,0.3m×0.3m高分辨率聚束式成像模式。

MSTAR数据集包括10类军事目标,每类目标包含0°~360°不同方位角的大量图片,目标有自行榴弹炮(2S1)、装甲车(BMP2、BRDM2、BTR60、BTR70)、坦克(T62、T72)、推土机(D7)、军用卡车(ZIL131)、自行火炮(ZSU234)。图2-2展示了这些目标的光学图像和相应的SAR图像。

图2-2 MSTAR数据10类目标光学图像和SAR图像

本节选取D7(推土机)、ZIL131(军用卡车)和ZSU234(自行火炮)三类军事SAR图像进行SAR目标识别,以17°俯仰角下的SAR图像为训练样本,以15°俯仰角下的SAR图像为测试样本。这三类军事MSTAR原始数据信息如表2-1所列。

表2-1 MSTAR原始数据

2.2.3 数据预处理

对于CNN,当训练样本足够多时,CNN才可以提取到有代表性的特征,同时防止过拟合。因此,在SAR目标识别之前,需要对数据进行扩充,采用加噪、平移、旋转、镜像[65]等方式来增加数据集,以得到足够多的训练样本,更加接近于真实情况。对原始样本采用加噪、平移、旋转、镜像等方法扩充后,训练样本扩充为原来的36倍。最终的训练样本有32400个,测试样本有5400个。因为SAR图像数据本身包含很大的乘性斑点噪声和背景杂波,给目标识别过程增加了难度,所以需要对训练数据进行一定的预处理。由于目标均处在SAR图像中间区域,在SAR目标识别之前,截取中间部分大小为64×64,对截取后的图像采取中值滤波进行滤波去噪,并归一化到[0,1]区间。图2-3是以ZIL131图像为例进行数据扩充。

图2-3 ZIL131图像为例进行数据扩充

(a)加入高斯噪声、椒盐噪声;(b)镜像;(c)平移;(d)旋转(逆时针旋转,间隔为60°)

2.2.4 基于CNN与RF的合成孔径雷达目标识别

传统的CNN分类时,一般采用Softmax分类器,但达到的效果并不理想。本节首先对MSTAR数据库进行数据扩充,在采用卷积神经网络对SAR图像提取特征向量,通过用RF分类器[164]取代CNN的Softmax分类器进行分类。实验结果表明,CNN与RF分类器相结合在SAR图像识别分类中效果要比传统CNN、CNN与SVM相结合[165]的分类效果好。

1.RF概述[164]

RF算法是Breimans的“Bootstrap aggregating”思想和Ho的“random subspace”方法,实质上是包含多个决策树的分类器。在RF算法中决策树之间是没有关联的,当测试数据进入RF时,其实就是让每一棵决策树进行分类,最后取所有决策树中分类结果最多的那类为最终的结果[164]

M是样本的属性个数,整数m满足条件:mZ+mM。随机森林算法的具体步骤如下:

步骤1 基于Bootstrap方法重采样,随机产生T个训练集S1S2,…,ST

步骤2 每个训练集生成对应的决策树C1C2,…,CT,在每个内部节点上选择属性前,从M个属性中随机抽取m个属性作为当前节点的分裂属性集,并以这m个属性中最好的分裂方式对该节点进行分裂(一般而言,在整个森林的生长过程中,m的值维持不变)。

步骤3 每棵决策树都完整成长,不进行剪枝。

步骤4 对于测试集样本X,利用每棵决策树进行测试,得到对应的类别C1C2,…,CT

步骤5 采用投票的方法,将T棵决策树中输出最多的类别作为测试集样本X所属的类别。

2.CNN-RF算法

RF实质上是一个由很多决策树构成的分类器模型。当测试数据输入RF时,每棵决策树对其进行分类,最后取所有决策树中分类结果最多的那类为最终的结果。RF具有对参数不敏感、不易发生过拟合、训练速度快的优点,比较适合处理多分类问题。

本节在传统CNN的基础上经过两层卷积、两层池化操作后,提取出图像的特征向量,如图2-1所示,并将CNN中的Softmax分类器替换为RF分类器,将提取出的特征输入到RF分类器中进行分类识别,进而得出结果。这样就将CNN与RF分类器结合在一起,得到CNN-RF算法。CNN-RF算法的流程图如图2-4所示。

CNN-RF算法的具体步骤如下:

步骤1 对批量读入的训练数据及测试数据截取相同尺寸大小,经去噪并归一化到特定区间,得到批量的训练数据及测试数据,并输入CNN。

图2-4 CNN-RF算法流程图

步骤2 用一定大小的卷积核以固定步长卷积整个图像,得到卷积层C1。

步骤3 将卷积层C1得到的图像下采样生成池化层S1。

步骤4 重复步骤2和步骤3得到卷积层C2,池化层S2。

步骤5 把池化层S2得到的二维数据伸展为一维数据,得到训练及测试样本的特征向量。

步骤6 将步骤5得到的特征向量作为RF分类器的训练集P和测试集T

步骤7 利用Bootstrap方法重采样,在训练集T中随机产生n个训练集S1S2,…,Sn

步骤8 利用每个训练集,生成对应的决策树C1C2,…,Cn,在每个内部节点上选择属性前,从M个属性中随机抽取0<mM个属性作为当前节点的分裂属性集,并以这m个属性集中最好的分裂方式对该节点进行分裂。

步骤9 对于测试样本集,用每棵决策树进行测试,得到对应的类别C1X),C2X),…,CnX)。

步骤10 采用投票方法,将n棵决策树中输出最多的类别作为测试样本集X所属的类别。

3.基于CNN-RF算法的SAR目标识别的整体框架

将原始数据进行扩充后,得到带有标签的SAR图像的训练集、测试集。基于CNN-RF算法的SAR目标识别的整体框架如图2-5所示。

图2-5 SAR目标识别CNN-RF算法的整体框架

4.基于CNN-RF算法的SAR目标识别的整体框架

本节通过CNN来学习SAR图像的特征,采用的训练参数为:批训练块设为10,学习率0.1,两层卷积核大小均取为9×9,第一层卷积核数目为6,第二层卷积核数目为12。经卷积、池化操作后,可以提取出训练集与测试集特征向量,训练特征向量的大小为1200×32400,测试特征向量的大小为1200×5400。

利用传统的CNN算法、CNN-SVM算法(将传统CNN中的Softmax分类器替换为SVM分类器)和本节提出的CNN-RF算法实现SAR目标识别,得到的平均分类准确率如表2-2所列。

表2-2 三种实验的平均分类准确率

由表2-2可知,传统CNN算法的SAR目标识别的准确率为96.33%;CNN-SVM算法的SAR目标识别的分类准确率为98.33%,比传统CNN算法的分类准确率高出2%;CNN-RF算法得到SAR目标识别的分类准确率为99.33%,比传统CNN算法的分类准确率高出3%,且高于CNN-SVM算法的分类准确率,由此充分证明了本节所提出CNN-RF算法的有效性。

5.结论

本节在传统的CNN神经网络的基础上通过卷积层和池化层提取SAR图像的特征,作为全连接层的输入,并将CNN中的Softmax分类器替换为RF分类器,得到了CNN-RF算法。通过与CNN、CNN-SVM算法的比较,基于CNN-RF算法的SAR目标识别的准确率高达99.33%,说明了CNN-RF算法在SAR目标识别中是有效的。虽然本书提出的算法,在SAR图像的识别方面取得了不错的效果,但是卷积神经网络和随机森林分类器仍存在操作时间过长等问题,针对此问题,还可以提出其他的特征提取及分类等改进方法。

2.2.5 基于CNN-PCA-DT算法的SAR目标识别

主成分分析法(PCA)可以将高维数据投影至低维平面上,以达到降维的效果[166],因此本节在数据扩充的基础上先将CNN提取出的图像特征保存下来,然后将高维特征向量通过PCA降至低维,再将降维后的特征输入决策树(DT)分类器进行分类。实验结果表明,CNN、PCA和DT相结合的模型适合于SAR目标识别。

1.DT分类器概述[164]

DT分类器[164]是由根节点、内部节点、叶子节点三个基本组成部分构成的,其中每个叶子节点代表一个类别。DT分类器采用自顶向下的递归方式,从树的根节点开始,在它的内部节点上进行属性值的测试比较,然后按照给定实例的属性值确定对应的分支,最后在决策树的叶子节点得到分类结果。这个过程在以新的节点为根的子树上重复。到目前为止,DT生成算法最有影响力的DT学习算法是ID3(Iterative Dichotomic version 3)算法和C4.5算法,而C4.5算法是在ID3的基础上进行的改进。本节在SAR目标识别中采用的是DT的C4.5算法。

C4.5算法利用Quinlan在1987年提出的悲观剪枝法处理拟合问题,基本思路是:若使用叶子节点代替原来的子树,误差率能够下降,则用该叶子节点代替原来的子树。C4.5算法就是使用训练集生成决策树,并用训练集进行剪枝,不需要独立的剪枝集。

设目标属性具有c个不同的值,集合S相对于c个状态的分类的熵(entropy)定义为

式中:pi为子集合中第i个属性值的样本数所占的比例。熵刻画了任意样例集的纯度(purity)。

由式(2-1)得到:若集合S中的所有样本均属于同一类,则Entropy(S)=0;若两个类别的样本数不相等,则Entropy(S)∈(0,1)。若集合S为布尔型集合,即集合S中的所有样本属于两个不同的类别,则当两个类别的样本数相等时,Entropy(S)=1。

定义信息增益为

式中:VA)为属性A的值域;Sv为集合S中属性A上值等于v的子集。

信息增益率定义为

式中:Split Information(SA)为分裂信息量,定义为

设Examples为训练样本集合,Attribute List为候选属性集合。C4.5算法的基本步骤如下:

步骤1 建立决策树的根节点N

步骤2 若所有样本均属于同一类别C,则返回N作为一个叶子节点,并标志为C类别。

步骤3 若Attribute List为空,则返回作为一个叶子节点,并标志为该节点所含样本中类别最多的类别。

步骤4 计算Attribute List中各个候选属性的信息增益率,选择最大的信息增益率对应的属性Atribute∗,标记为根节点N

步骤5 根据属性Atribute∗值域中的每个值Vi,从根节点N产生相应的一个分支,并记Si为Examples集合中满足Atribute∗=Vi条件的样本子集合。

步骤6 若Si为空,则将相应的叶子节点标志为Examples样本集合中类别最多的类别;否则,将属性Atribute∗从Attribute List中删除,返回步骤1,递归创建子树。

2.CNN-PCA-DT算法

本节在传统CNN(激活函数是Sigmoid激活函数)的基础上经过两个卷积层和两个池化层提取出图像的特征向量,大样本的数据无疑会为训练提供丰富的信息,但也在一定程度上增加了数据处理的工作量,并且提取出的图像特征向量中,变量之间存在大量的冗余,从而增加了问题分析的复杂性,进而可以利用PCA,通过投影的方式,将这些特征向量降维至低维平面上,提取出向量的主要特征,极大程度上保留数据特征的同时降低了图像相邻像素之间的相关性,从而达到对所收集数据进行全面分析的目的。最后,将CNN中的Softmax分类器替换为DT分类器,就得到了CNN-PCA-DT算法。

CNN-PCA-DT算法的具体步骤如下:

步骤1 对批量读入的图像数据截取相同尺寸大小,经去噪并归一化到特定区间,输入卷积网络。

步骤2 用一定大小的卷积核,步长为1,卷积整个图像,得到卷积层C1。

步骤3 采用平均池化,滤波器大小为2×2,步长为2,将卷积层C1得到的图片下采样生成池化层S1。

步骤4 重复步骤2、步骤3得到卷积层C2、池化层S2。

步骤5 把池化后的二维数据伸展为一维数据,再采用PCA对其降维,选取的主成分保留对原始变量90%的解释程度,得到全连接层。

步骤6 将全连接层的特征向量传给决策树,根据上述介绍的C4.5决策树生成算法,利用Matlab自带的统计工具箱函数ClassificationTree.fit,即可基于训练集的特征向量创建一个决策树分类器,由决策树训练模型并分类识别测试数据,最后得到分类结果。

3.CNN-PCA-DT中参数的确定

CNN-PCA-DT算法实现SAR目标识别,是通过如下方式确定参数:批训练块的大小、学习率、卷积核的大小及卷积核的数量。

1)批训练块的大小

设学习率为0.1,C1的卷积核数为5,卷积核大小为5×5,C2的卷积核数为10,大小为5×5。块大小分别取10,20,30,40,50,SAR的目标识别准确率如表2-3所列。由表2-3看出,随着分块的变大,准确率呈下降趋势。因此,本节对批训练块的大小取10。

表2-3 不同分块大小取得的准确率

2)学习率

批训练块大小设为10,卷积层C1的卷积核数为5,卷积核大小为5×5,C2的卷积核数为10,大小为5×5。学习率分别取0.01,0.1,1,SAR的目标识别准确率如表2-4所列。由表2-4看出,学习率不同,准确率相差较大,当学习率为0.1时,取得的准确率最大为92.33%。在CNN-PCA-DT算法中,学习率大小取0.1。

表2-4 不同学习率取得的准确率

3)卷积核大小

批训练块大小设为10,学习率为0.1,C1的卷积核数为5,C2的卷积核数为10。卷积核分别取5×5,7×7,9×9,11×11。SAR的目标识别准确率如表2-5所列。由表2-5看出,两层卷积核大小不同,取得的准确率也不尽相同,当两层的卷积核大小均为9×9时,取得的准确率最大,为95.78%。在CNN-PCA-DT中,C1与C2的卷积核大小均取为9×9。

表2-5 卷积核大小不同时取得的准确率

4)卷积核数量

批训练块大小设为10,学习率为0.1,两层卷积核大小均取为9×9。C1的卷积核数分别为5,6和12,C2的卷积核数量分别为10,12和12,SAR的目标识别准确率如表2-6所列。由表2-6可以看出,当C1的卷积核数为6,C2的卷积核数为12时,取得的准确率最大为96.33%。

表2-6 卷积核数量不同时取得的准确率

4.基于CNN-PCA-DT算法的SAR目标识别的整体框架

将原始数据通过平移、旋转等操作对数据进行扩充后,得到带有标签的SAR图像的训练集、测试集。基于CNN-PCA-DT算法SAR目标识别的整体框架如图2-6所示。

5.实验结果与分析

通过上述方法确定的CNN的训练参数:批训练块设为10,学习率0.1,两层卷积核大小均取为9×9,C1的卷积核数为6,C2的卷积核数为12。经卷积、池化操作后,提取出训练集与测试集的特征向量,训练特征的大小为1200×32400,测试特征的大小为1200×5400。

利用传统的CNN算法、CNN-DT算法(将传统CNN中的Softmax分类器替换为DT分类器)和本节提出的CNN-PCA-DT算法实现SAR目标识别,得到的平均分类准确率如表2-7所列。由表2-7可以知道,传统的CNN的SAR目标识别的准确率为96.33%;CNN-DT得到SAR目标识别的分类准确率为94.27%,相比CNN的分类准确率略低;由于采用PCA方法将特征向量降至低维,随后用决策树分类,最终得到一个12层的决策树,CNN-PCA-DT算法的SAR目标识别的分类准确率为99.60%,相比于传统的CNN准确率要高出3.27%,比CNN-DT的分类准确率高出5.33%。由此充分证明了CNN-PCA-DT改进算法的有效性。

图2-6 基于CNN-PCA-DT算法SAR目标识别的整体框架

表2-7 三种实验的平均分类准确率

为了进一步说明本节所提算法的有效性,将本节的识别结果与相关文献的识别分类准确率进行对比,如表2-8所列。

表2-8 本节实验与相关文献方法对比

在表2-8中,文献[167]采用改进的CNN具有3个卷积层、3个池化层,卷积核的大小都是5×5,识别准确率达90.37%;文献[65]采用了多种数据扩充方法扩充样本数量,提取图像丰富的特征,最终得到的识别准确率为94.51%;文献[168]是将CNN与SVM两者相结合,达到了99.40%的识别精度。通过对比,可得本书所提出的CNN-PCA-DT算法更为有效。

6.结论

本节在传统的CNN的基础上通过卷积层和池化层提取SAR图像的特征,利用PCA进行降维,得到低维的主要特征,作为全连接层的输入,并将CNN中的Softmax分类器替换为DT分类器,得到了CNN-PCA-DT算法。通过与CNN、CNN-DT算法比较,实验结果表明,CNN-PCA-DT算法使得SAR目标识别的准确率高达99.60%。另外,将本书所得结果与相关文献进行对比,证明了CNN-PCA-DT算法在SAR目标识别中是有效的。