基于卷积神经网络的遥感图像飞机目标识别方法与流程

文档序号:12887608阅读:693来源:国知局
基于卷积神经网络的遥感图像飞机目标识别方法与流程

本发明涉及一种遥感图像飞机目标识别方法,具体是指一种基于卷积神经网络的遥感图像飞机目标识别方法,属于深度学习技术领域。



背景技术:

遥感图像的飞机识别技术,在民用和军事领域上都具有重大意义。现如今,随着数据量和目标相似性的增加,以及采集到的遥感飞机图像存在大量干扰,如遮挡、噪声、视角变化、复杂背景等因素;因此,如何在复杂环境中精准的识别出各飞机的类型并减少计算的复杂度,成为计算机视觉的研究重点与热点。

传统的飞机目标识别通常采用模板匹配算法,其具有算法简单、计算量小的特点。但由于计算过程简单,提取图像中飞机的完整形状在现实环境中非常困难,且不能适用于飞机目标的尺度变换。

目前,在飞机目标识别领域内应用最广泛的方法是利用不变矩,具有代表性的不变量特征提取方法有hu矩、zernike距、小波距等。现主要采用优化组合矩对飞机目标进行识别,将提取的多维不变矩作为识别特征,再使用支撑向量机(supportvectormachine,svm)或bp(backpropagation,反向传播)神经网络来识别飞机目标。虽然该方法可以克服单一特征描述信息能力不强的特点,但多特征融合困难,抗噪性较差。另外,虽然bp神经网络具有良好的学习能力和泛化能力,但由于学习速率固定,学习步长及动量因子难以确定,使得网络收敛速度慢,纠错能力有限,甚至导致算法收敛于局部极小值。

基于上述,现有的飞机目标识别方法都需先采用复杂的特征提取,再结合svm或浅层神经网络的方式。这些方法在面对大规模数据时实现非常困难,并且识别精度较低。因此,针对采集到的遥感飞机图像的大数据量和复杂背景环境等问题,本发明提出一种基于卷积神经网络的遥感图像飞机目标识别方法。



技术实现要素:

本发明的目的是提供一种基于卷积神经网络的遥感图像飞机目标识别方法,对旋转、尺度缩放或者其他形变具有稳定性,针对采集到的遥感飞机图像的大数据量和复杂背景环境等问题,增强算法的通用性,提高算法识别精度及抗噪性。

为实现上述目的,本发明提供一种基于卷积神经网络的遥感图像飞机目标识别方法,包含以下步骤:

s1、建立飞机图像库,由实验飞机模型库和实际遥感飞机模型库构成,包括训练图像和测试图像;

s2、初始化设置卷积神经网络,并设置该卷积神经网络的训练过程;

s3、初始化设置卷积神经网络中的参数;

s4、读取训练图像数据,根据卷积神经网络的训练过程对训练图像数据进行卷积和池化的训练操作,得到训练图像的实际输出;

s5、调整卷积神经网络的参数,使得训练图像数据的指定目标输出和实际输出之间的误差值满足精度要求,完成卷积神经网络的训练;

s6、读取测试图像,采用完成训练的卷积神经网络作为测试网络,输出遥感图像飞机目标识别结果。

所述的s1中,实验飞机模型库中包含n类飞机机型的实验飞机图像,对该些实验飞机图像进行归一化和二值化处理。

所述的s1中,实际遥感飞机模型库中包含:在飞机墓场中的n类飞机机型的遥感飞机图像,对该些遥感飞机图像进行灰度化处理。

所述的s1中,对实际采集到的实验飞机图像和遥感飞机图像进行预处理,包括:尺度缩放、旋转、仿射变换、加噪声、运动模糊和亮度变化、及任意位置遮挡,将预处理后的图像划分为测试图像和训练图像。

所述的s2中,初始化设置卷积神经网络的步骤具体为:卷积神经网络设置5层网络层,分别为2个卷积层、2个全连接层和1个softmax分类层;并且,每个卷积层均包含池化层,池化窗口为2×2的最大池化。

所述的s2中,设置卷积神经网络的训练过程的步骤,具体包含:

s21、将训练图像输入卷积神经网络,使用卷积核对输入图像进行卷积,得到第一卷积层的特征图;

s22、对第一卷积层的特征图进行池化,经过池化窗口为2×2的最大池化,得到第一池化层的特征图;

s23、使用卷积核对第一池化层的特征图进行卷积,得到第二卷积层的特征图

s24、对第二卷积层的特征图进行池化,经过池化窗口为2×2的最大池化,得到第二池化层的特征图;

s25、设置与第二池化层连接的第一全连接层,以及与第一全连接层连接的第二全连接层;

s26、设置与第二全连接层连接的softmax分类层,设置输出神经元个数为n,对应n类飞机机型的分类结果。

所述的s3中,初始化设置卷积神经网络中的参数的步骤具体为:在由训练图像构成的训练集中,设置各个模式下输入单元i到隐藏单元j的权值vij;设置隐藏单元j到输出单元k的权值wjk;设置输出单元k的阈值θk;设置隐藏单元j的阈值设置精度控制参数ε;设置学习率α;设置每使用batchsize个训练样本就调整一次权值;设置迭代周期epoch。

所述的s4中,具体包含以下步骤:

s41、向前传播阶段:从训练集中读取任意的训练图像数据xk,并将其输入至卷积神经网络中,指定目标输出ok;

s42、卷积过程:依次将输入卷积神经网络的训练图像、该训练图像在第一卷积层中的特征图、该训练图像在第二卷积层中的特征图分别与可训练滤波器kj进行卷积,并加上偏置bj,得到各个卷积层;具体卷积形式为:

其中,j表示第j张特征图;l表示卷积层数;mj表示输入特征图的集合;xi表示在l-1卷积层中选择的输入特征图,且属于输入特征图组合mj中;f(x)表示线性修正单元激活函数rrelu,且有:

其中,aji~u(l,u),l<u且l,u∈[0,1),u(l,u)为平均分布,aji为一个从均匀分布u(l,u)中取样的随机数;

s43、池化过程:采用最大池化模型取池化域中的最大值作为子采样池化后的特征图,即:

sij=maxi=1,j=1(fij)+b;

其中,fij为输入特征图矩阵,i、j分别表示该矩阵的行号和列号;子采样池化域为2×2的矩阵,b为偏置,sij为子采样池化后的特征图;maxi=1,j=1(fij)表示从输入特征图矩阵fij的大小为2×2的池化域中取出的最大值;

s44、计算n个输入特征图点乘每层对应的权值矩阵w,得到训练图像的实际输出yk:

yk=fn(…(f2(f1(xkw(1))w(2))…)w(n))。

所述的s5中,具体包含以下步骤:

s51、反向传播阶段:根据训练图像经过卷积神经网络训练后得到的实际输出yk与指定目标输出ok之间的误差值,计算第k个训练图像的输出误差值ek,即:

其中,m表示输出层的单元数;yk表示输出层的各单元输出;hj表示中间层各单元的输出;l表示中间层的单元数;n表示输入层的单元数;f(x)激活函数rrelu;

s52、根据误差值ek,按极小化误差的方法反馈至卷积神经网络,计算权值的调整量:

δk=(ok-yk)yk(1-yk);

其中,δk表示输出层各单元的误差项;

s53、根据权值调整量,调整权值:

wjk(n+1)=wjk(n)+δwjk(n);

δvij(n+1)=vij(n)+δvij(n);

s54、根据误差值ek,按极小化误差的方法反馈至卷积神经网络,计算阈值的调整量:

其中:δj表示中间层的隐藏单元的误差项:

s55、根据阈值调整量,调整阈值:

θk(n+1)=θk(n)+δθk(n);

s56、计算总输出误差e:

e=∑ek;

其中,k=1,2,……,m;

s57、判断总输出误差e的值是否满足e≤ε;如是,继续执行s6;如否,返回执行s3。

所述的s6中,测试网络的输出层采用softmax分类层,并且针对n类飞机机型的分类结果,设置输出神经元的个数为n。

综上所述,本发明所提供的基于卷积神经网络的遥感图像飞机目标识别方法,对旋转、尺度缩放或者其他形变具有稳定性,针对采集到的遥感飞机图像的大数据量和复杂背景环境等问题,增强算法的通用性,提高算法识别精度及抗噪性。

附图说明

图1为本发明中的基于卷积神经网络的遥感图像飞机目标识别方法的流程图;

图2为本发明中的基于卷积神经网络的训练图像学习的示意图。

具体实施方式

以下结合图1和图2,详细说明本发明的一个优选实施例。

如图1所示,为本发明所提供的基于卷积神经网络的遥感图像飞机目标识别方法,包含以下步骤:

s1、建立飞机图像库,由实验飞机模型库和实际遥感飞机模型库构成,包括训练图像和测试图像;

s2、初始化设置卷积神经网络,并设置该卷积神经网络的训练过程;

s3、初始化设置卷积神经网络中的参数;

s4、读取训练图像数据,根据卷积神经网络的训练过程对训练图像数据进行卷积和池化的训练操作,得到训练图像的实际输出;

s5、调整卷积神经网络的参数,使得训练图像数据的指定目标输出和实际输出之间的误差值满足精度要求,完成卷积神经网络的训练;

s6、读取测试图像,采用完成训练的卷积神经网络作为测试网络,输出遥感图像飞机目标识别结果。

其中,所述的卷积神经网络(convolutionneuralnetworks,cnn)是人工神经网络与深度学习的结合。传统意义上的多层神经网络只包含输入层、隐藏层和输出层,且隐藏层较难确定。而卷积神经网络在原来多层神经网络的基础上,加入部分连接的卷积层与池化层,用于模仿人脑对信号处理上的分级。卷积神经网络通过局部感受野、权值共享及池化操作来减少训练参数和计算的复杂度。这种网络结构对飞机的旋转、尺度缩放或者其他形变具有稳定性。在面对大数据量的情况下,卷积神经网络可以将图像直接输入到网络,避免了复杂的特征提取和数据重建的过程,提高了识别率。

所述的s1中,实验飞机模型库中包含:a-10攻击机、b-2轰炸机、b-52轰炸机、e-a预警机、f-15战斗机和f-16战斗机等n类飞机机型的实验飞机图像,对该些实验飞机图像进行归一化和二值化处理。

所述的s1中,实际遥感飞机模型库中包含:在飞机墓场中的a-10攻击机、b-2轰炸机、b-52轰炸机、e-a预警机、f-15战斗机和f-16战斗机等n类飞机机型的遥感飞机图像,对该些遥感飞机图像进行灰度化处理。

所述的s1中,为了扩大数据量,需要对实际采集到的复杂背景环境下的实验飞机图像和遥感飞机图像进行预处理,包括:尺度缩放、旋转、仿射变换、加噪声、运动模糊和亮度变化、及任意位置遮挡等处理,使得实验飞机模型库和实际遥感飞机模型库中的每种机型的飞机各角度图片达到11000幅;其中,选取10000幅涵盖每种机型的不同角度的图像作为训练图像(样本图像),每幅图像大小为64×64;选取1000幅涵盖每种机型的不同角度的图像作为测试图像,每幅图像大小为64×64。因此,训练图像和测试图像完全不重复。

所述的s2中,初始化设置卷积神经网络的步骤具体为:卷积神经网络设置5层网络层,分别为2个卷积层、2个全连接层和1个softmax分类层;其中每个卷积层的卷积核大小均为5×5,卷积核个数分别为4和8;并且,每个卷积层均包含池化层,池化窗口为2×2的最大池化。

如图2所示,所述的s2中,设置卷积神经网络的训练过程的步骤,具体包含:

s21、将训练图像以64×64的大小输入卷积神经网络,使用4个5×5的卷积核对输入图像进行卷积,得到4个特征图大小为60×60的第一卷积层c1层;

s22、对第一卷积层c1层中的特征图进行池化,经过池化窗口为2×2的最大池化,得到4个特征图大小为30×30的第一池化层s1层;

s23、使用8个5×5的卷积核对第一池化层s1层中的特征图进行卷积,得到8个特征图大小为26×26的第二卷积层c2层;

s24、对第二卷积层c2层中的特征图进行池化,经过池化窗口为2×2的最大池化,得到8个特征图大小为13×13的第二池化层s2层;

s25、为了得到更好的拟合效果,设置与第二池化层s2层连接的第一全连接层f5层,以及与第一全连接层f5层连接的第二全连接层f6层;每层全连接层中设置dropconnect函数对权重随机置0,其设置概率为0.5;

其中,所述的dropconnect函数是对正则化函数dropout的优化,用于在激活函数之前进行随机去除连接的操作,从而减少计算量;

s26、设置与第二全连接层f6层连接的softmax分类层,设置输出神经元个数为n,对应n类飞机机型的分类结果。

所述的s3中,初始化设置卷积神经网络中的参数的步骤具体为:在由训练图像构成的训练集中,设置各个模式下输入单元i到隐藏单元j的权值vij;隐藏单元j到输出单元k的权值wjk;输出单元k的阈值θk;将隐藏单元j的阈值设置为接近于0的随机值;将精度控制参数ε的初始值设置为0.01,将学习率α的初始值设置为0.1;将batchsize设置为50,也就是每使用50个训练样本就调整一次权值;将迭代周期epoch设置为20。

所述的s4中,具体包含以下步骤:

s41、向前传播阶段:从训练集中读取任意的训练图像数据xk,并将其输入至卷积神经网络中,指定目标输出ok,即训练图像数据xk所属的飞机机型,是在监督下得到的训练结果;

s42、卷积过程:依次将输入卷积神经网络的训练图像、该训练图像在第一卷积层中的特征图、该训练图像在第二卷积层中的特征图分别与可训练滤波器kj进行卷积,并加上偏置bj,得到各个卷积层cj;具体卷积形式为:

其中,j表示第j张特征图;l表示卷积层数;mj表示输入特征图的集合;xi表示在l-1卷积层中选择的输入特征图,且属于输入特征图组合mj中;f(x)表示线性修正单元激活函数rrelu,且有:

其中,aji~u(l,u),l<u且l,u∈[0,1),u(l,u)为均匀分布,aji为一个从均匀分布u(l,u)中取样的随机数;

s43、池化过程:采用最大池化模型取池化域中的最大值作为子采样池化后的特征图,即:

sij=maxi=1,j=1(fij)+b;

其中,fij为输入特征图矩阵,i、j分别表示该矩阵的行号和列号;子采样池化域为2×2的矩阵,b为偏置,sij为子采样池化后的特征图;maxi=1,j=1(fij)表示从输入特征图矩阵fij的大小为2×2的池化域中取出的最大值;

s44、计算n个输入特征图点乘每层对应的权值矩阵w,得到训练图像的实际输出yk:

yk=fn(…(f2(f1(xkw(1))w(2))…)w(n))。

所述的s5中,具体包含以下步骤:

s51、反向传播阶段:根据训练图像经过卷积神经网络训练后得到的实际输出yk与指定目标输出ok之间的误差值,计算第k个训练图像的输出误差值ek,即:

其中,m表示输出层的单元数;yk表示输出层的各单元输出;hj表示中间层各单元的输出;l表示中间层的单元数;n表示输入层的单元数;f(x)激活函数rrelu;

s52、根据误差值ek,按极小化误差的方法反馈至卷积神经网络,计算权值的调整量:

δk=(ok-yk)yk(1-yk);

其中,δk表示输出层各单元的误差项;

s53、根据权值调整量,调整权值:

wjk(n+1)=wjk(n)+δwjk(n);

δvij(n+1)=vij(n)+δvij(n);

s54、根据误差值ek,按极小化误差的方法反馈至卷积神经网络,计算阈值的调整量:

其中:δj表示中间层的隐藏单元的误差项:

s55、根据阈值调整量,调整阈值:

θk(n+1)=θk(n)+δθk(n);

s56、计算总输出误差e:

e=∑ek;

其中,k=1,2,……,m;

s57、判断总输出误差e的值是否满足e≤ε;如是,继续执行s6;如否,返回执行s3。

所述的s6中,测试网络的输出层采用softmax分类层,并且针对n类飞机机型的分类结果,设置输出神经元的个数为n。

综上所述,现有技术中对于飞机目标大多是针对特定场景下单一视角获取到的飞机图像来进行识别。实际采集到的遥感飞机图像较复杂,视角场景变化、噪声、云层遮挡等干扰因素会导致较高的误识率;并且对于大规模的数据集,特征提取较困难。

因此,本发明采用基于卷积神经网络来进行遥感图像飞机目标的识别,由于卷积神经网络是通过局部感受野和权值共享减少训练参数和计算的复杂度,这种网络结构对旋转、尺度缩放或者其他形变具有稳定性;针对采集到的遥感飞机图像的大数据量和复杂背景环境等问题,同时增强算法的通用性,提高算法识别精度及抗噪性。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1