一种高分辨率可见光遥感图像中的舰船检测深度学习方法与流程

文档序号:16211009发布日期:2018-12-08 07:44阅读:1467来源:国知局
一种高分辨率可见光遥感图像中的舰船检测深度学习方法与流程

本发明涉及基于深度学习中的fasterr-cnn(fasterregion-convolutionalneuralnetwork)和stn(spatialtransformernetwork)的一种高分辨率可见光遥感图像中的舰船检测深度学习方法,属于高分辨率遥感图像目标检测技术领域。

(二)

背景技术:

遥感技术,一般指在飞机、卫星等飞行器上,通过传感器等设备对包括光波在内的电磁波进行传播或接收,从而获得地面目标的特性并加以分析的一种技术手段。近年来,随着传感器设备的升级、信息处理水平的提升,遥感图像的分辨率水平得到极大改善,形成了大量纹理清晰、细节丰富的高分辨率可见光遥感图像。在高分辨率可见光遥感图像中进行目标的检测识别,成为一个重要且颇具难度的研究热点。

目前针对高分辨率可见光遥感图像中的舰船检测方法很多,主要可分为传统方法和深度学习方法两大类。传统方法,主要指使用手工特征(如梯度直方图、haar特征等)并结合分类器(如支持向量机、logistic回归等)的方法,这些方法的检测结果很大程度上依赖于手工特征提取的质量,而手工特征的提取需要设计者有一定的专业知识,并会消耗设计者大量的时间与精力。深度学习方法,隶属于表示学习,它的主要思想在于从原始数据中自动地、逐层抽象地提取特征,近年来应用于图像识别、图像检测、图像分割等多个领域并展现出良好的特征提取能力与泛化能力。

目前,主流的目标检测深度学习方法主要为基于卷积神经网络的方法,具体又可分一阶段检测网络、两阶段检测网络两大类。一阶段检测网络利用回归直接得到目标的位置,速度快,但存在精度相对较低的缺点。两阶段检测网络则采用粗检测、精检测结合的思路,即先快速对图像进行扫描,得到一些潜在目标区域,然后在精检测阶段对这些潜在目标进行再次识别确认,得到最终检测结果。虽然两阶段检测网络在速度上略逊于一阶段检测网络,但从检测效果角度考虑,两阶段检测网络更胜一筹。

截至现在,两阶段检测网络中最具代表性的是fasterr-cnn,但fasterr-cnn是一种以检测自然图像中的多类目标为目的设计的网络,不能很好契合遥感图像中舰船目标的特点(如遥感图像中舰船呈细长形状、多旋转角度等)。本发明将stn与fasterr-cnn结合,提出一种高分辨率遥感图像舰船目标检测方法,以更好地针对舰船目标在高分辨率遥感图像中呈现的形状特点。

(三)

技术实现要素:

本发明的目的在于提供基于fasterr-cnn和stn的一种高分辨率可见光遥感图像中的舰船检测深度学习方法,该方法将stn集成到fasterr-cnn中,以更好地契合遥感图像中,舰船目标呈细长形状且以多方向分布的特点,从而提升检测效果。

本发明是一种高分辨率可见光遥感图像中的舰船检测深度学习方法。该检测方法主要通过卷积神经网络实现,可分为粗检测网络与精检测网络两部分,其中粗检测网络用于提取目标候选区域,粗检测获得目标候选区域,利用特征变换层对目标候选区域进行旋转等变换,增强特征对于舰船旋转等形变的鲁棒性,从而提升对候选目标的区分能力,改善检测效果。精检测网络对这些目标候选区域进行再确认与修正,并且粗检测网络与精检测网络共用作用为特征提取的各层。其流程如图1所示,其训练方法与具体步骤如下所述:

训练方法:采用四步训练法,s11,初步训练粗检测网络得到目标候选区域,以得到精检测网络训练数据集,此步采用在imagenet数据上训练得到的vgg16网络对特征提取层进行参数初始化;s12,训练精检测网络,仍采用在imagenet数据上训练得到的vgg16网络对特征提取层进行参数初始化;s13,微调粗检测网络,将步骤s12微调得到的特征提取层参数固定,微调仅属于粗检测网络部分的层,并再次生成目标候选区域;s14,微调仅属于精检测网络部分的层,得到最终模型。

步骤一:读入图像数据并进行预处理。本发明使用的图像均来自谷歌地球,分辨率为1~2米,尺寸均为600×800。读入图像后,根据迁移学习方法对图像进行减均值处理,均值为vgg16在imagenet数据集上训练时的均值。

步骤二:将图像送入卷积神经网络的浅层进行特征提取。

浅层网络主要由卷积层、池化层、非线性激活层组成。

卷积层与传统的多层感知机中的全连接层不同的是,卷积层采用部分连接、权值共享等策略,使得前传过程等效于与输入图像进行卷积。设一卷积层的输入为zi,其中一种卷积核的权重矩阵为w,该卷积核对应的特征图为zi+1,则有:

zi+1=w*zi

非线性激活层,为网络引入了非线性,增强了网络的表达能力。在每两个卷积层之间,均有嵌入一个非线性激活层。采用的非线性激活函数为折页函数,其表达式如下所示:

步骤三:在卷积层提取出图像的抽象特征后,通过锚点机制和两个小型全卷积(作用分别为分类和位置回归)筛选出目标候选区域。

锚点是一系列预先设置的具有不同长宽比、大小尺寸的矩形框,通过锚点机制完成在图像上滑窗采样。本发明以步骤二中提取的最后一层特征为基准设置锚点,尺寸分别为42×42、72×72、128×128。

用于分类的全卷积网络对于每个窗口的输出是一个二维向量,每维分别表示是背景、目标的概率,采用softmax函数输出,公式如下:

其中,j=1,2,...,k,k为维数。zj为输入向量的第j个元素,σ(zj)为对应的输出向量的第j个元素。

用于位置回归的全卷积网络对于每个窗口的输出是一个八维向量,每四维分别表示对背景、目标的包围盒修正值,其输出形式如下

其中,x′、y′、w′、h′分别是真实包围盒的左上角坐标和长宽,x、y、w、h分别是对应窗口的左上角坐标和长宽。

相应地,在训练过程中,损失函数可分为分类和位置回归两部分,具体形式如下式所示:

其中,i表示对第i个窗口,为总损失函数,分别为分类、位置回归的损失函数。λ为调节参数,用于平衡分类和位置回归在损失函数中所占的比例,i{·}为指示函数,仅在括号内命题为真时取1,否则取0。lcls采用的是交叉熵损失函数,lreg采用的是平滑l1函数,具体如下式所示:

其中,u,v分别为分类的标签与预测概率,u采用的是独热编码形式。s,t分别为位置回归的标签与预测值。函数的具体形式为:

步骤四:在步骤二提取的特征图上找到每个目标候选区域对应的特征块,并用感兴趣区域池化层对特征块的尺寸进行归一化。

本发明中设定感兴趣区域池化层的输出特征图尺寸固定为7×7,设其输入特征块大小为hi·wi,输出特征块大小为ho·wo,则池化尺寸为:

步骤五:将特征送入全连接层得到空间变换参数,然后将空间变换参数与特征送入空间变换层,得到形变校正后的特征。

假设(xs,ys)、(xt,yt)是一对分别来自原特征图和变换后特征图的像素点,aθ为空间变换参数矩阵,则其位置关系由下式确定:

本发明中设定特征变换层的输出特征图大小与输入特征图大小相同,即7×7。然后可通过上式对输出图中每个像素找到原图中的对应像素,然后在原特征图中对该像素与周围像素进行插值得到输出特征图中各像素值。

步骤六:同步骤三类似,在此直接采用全连接层,根据校正后的特征对目标候选区域进行再次分类和位置修正。

本发明一种高分辨率可见光遥感图像中的舰船检测深度学习方法,其有益效果:

遥感图像中,舰船目标存在旋转变换、轻微变形等多种形变,本发明的方法通过将stn集成到fasterr-cnn检测网络中,对候选目标区域的特征进行校正,可以提高特征对这些形变的鲁棒性,从而增加对舰船目标的识别能力,改善检测效果,具有广阔的应用前景和研究价值。

本发明是一种fasterr-cnn和stn的高分辨率可见光遥感图像舰船目标检测方法。本发明的优点是:本发明通过将stn集成到fasterr-cnn中,能够增强网络特征对于舰船目标旋转等变换的鲁棒性,从而提升对舰船目标的检测精度。

(四)附图说明:

图1所示为本发明方法步骤流程图。

图2所示为本发明方法网格结构示意图。

(五)具体实施方式:

为了更好地理解本发明的技术方案,以下结合附图对本发明的实施方式作进一步描述。

本发明在caffe深度学习框架下,使用python语言编程实现。检测网络分为粗检测和精检测两部分,两部分共用所提取的图像特征。计算机读取了高分辨率可见光遥感图像后,首先用若干卷积层提取图像特征,然后用粗检测网络的用于分类和位置回归的两个小型全卷积神经网络,得到舰船目标候选区域。接着,提取目标候选区域的相应特征,即在特征图上找到目标候选区域对应的特征块,再将这些特征块经过感兴趣区域池化层、空间变换层得到鲁棒性更好的特征,最后再通过用于分类和位置回归的全连接层完成对目标候选区域的再确认和位置修正。

对该检测网络的训练则采用的是四步训练法:首先,初步训练粗检测网络得到目标候选区域,以得到精检测网络训练数据集,此步采用在imagenet数据上训练得到的vgg16网络对特征提取层进行参数初始化;其次,训练精检测网络,仍采用在imagenet数据上训练得到的vgg16网络对特征提取层进行参数初始化;接着,微调粗检测网络。将第二步微调得到的特征提取层参数固定,微调仅属于粗检测网络部分的层,并再次生成目标候选区域;最后,微调仅属于精检测网络部分的层,得到最终模型。

步骤一:读入图像数据,根据迁移学习方法对图像进行预处理。本发明使用的数据均来源于谷歌地球,分辨率为一至两米不等,尺寸均为600×800。将图像读入内存后,根据迁移学习方法对图像进行减均值处理。迁移学习,该处主要指卷积神经网络在大型数据集(如imagenet数据集)上进行训练,具有一定特征提取能力后,在针对其他图像训练集或其他任务时,不再采用对网络参数随机初始化的方式,而是将上述训练得到的模型参数作为网络提取特征层的参数初始值,然后再进行模型微调。本发明采用在imagenet数据集上训练得到的vgg-16模型,该模型在训练过程中对数据进行了减均值处理。故此处,将训练好的vgg-16模型迁移到舰船检测任务时也应对图像进行相同的减均值预处理。

步骤二:将图像送入卷积神经网络的浅层进行特征提取。

卷积神经网络对图像进行特征提取时,主要是通过卷积层、池化层、非线性激活层的反复组合完成的。下面分别对这三种网络层级结构进行简要介绍。

卷积层是卷积神经网络的重要特点之一。

卷积神经网络是在多层感知机的基础上发展而来的,多层感知机间各结点之间采用的是全连接方式,即下一层的每一个结点都与上一层的所有结点存在连接(即有权重值),层间结点无连接。这种全连接的方式导致多层感知机具有诸多缺点,一方面网络不能感知图像中局部区域之间的强相关性,另一方面图像中的目标会出现位移、大小尺寸变化、角度变化等各种变形,而全连接中的各个神经元都具有特异性,因此为了能够对图像中目标的各种形变具有一定鲁棒性,就需要大量的训练样本,而庞大的训练样本既难以收集得到,也难以加以训练。此外,当网络层数加深或神经元结点增多时,多层感知机的参数会急剧增加,网络容易过拟合。

针对以上种种缺点,卷积神经网络采用了局部感受野、权值共享的策略。局部感受野,即卷积神经网络的神经元间的连接变为非全连接的。权值共享,则指的是卷积神经网络中某些神经元共享连接权值,从而它们具有相同的连接权值。在局部感受野、权值共享的策略下,卷积神经网络便采用了卷积层代替了原来的全连接层,一个卷积层中含有多种卷积核,一种卷积核的参数则是一系列共享参数的神经元与前层不同结点分别进行部分连接时的权重值,卷积层输出的结果则被称为特征图(因为采用卷积的形式后,该层的输出能保持输入图像各像素间的位置关系,所以其输出为一张图的形式,而非一个向量)。设一卷积层的输入为zi,其中一种卷积核的权重矩阵为w,该卷积核对应的特征图为zi+1,则有:

zi+1=w*zi

池化层,其作用主要是在于降低网络对目标位置变化的敏感性,同时缩小特征图、减少网络参数,以增强网络的泛化能力。池化层的作用机制是将其输入图进行分块,再对每个图像块进行聚合统计。通常地,将其输入特征图分为一个个2×2大小的互不重叠的小块,将每个小图像块缩为一个值,一般取其最大值或平局值,从而池化层的输出特征图大小是输入特征图的

非线性激活层,即为了在网络中引入非线性、增强网络的拟合能力,而在网络中增加的非线性层,通常每添加一层卷积层,就会在网络中增加一个非线性激活层。通常采用的非线性激活函数为折页函数(rectifiedlinearunits),其表达式如下所示,当自变量小于0时,输出为0。折页函数形式的非线性激活函数,能够增强网络的稀疏性,同时更有利于网络的优化。

以上各层中具有参数的只有卷积层,训练时通过梯度方向传播的方式对该层进行优化。

步骤三:通过卷积层提取出图像的抽象特征后,通过锚点(anchor)机制和两个小型全卷积(fullyconvolutionalnetwork)得到目标候选区域。

具体地,锚点是一系列预先设置的具有不同长宽比、大小尺寸的矩形框,通过锚点机制完成在图像上滑窗采样,继而通过对采样框的分类与位置回归完成对目标的检测。本发明以步骤二中所述的用于提取特征的最后一个卷积层的特征图为基准设置锚点。即以该特征图上的每一个像素在原输入图中的感受野中心为中心,分别设置大小为42×42、72×72、128×128三种尺寸大小的正方形锚点。

在通过锚点机制采样得到一系列窗口后,通过两个小型全卷积分别对这些窗口进行分类和位置回归。全卷积网络是仅有一系列的卷积层、非线性激活层以一定顺序搭建而成的。全卷积网络是由一般的卷积神经网络发展而来的,一般一个完整的卷积神经网络包含卷积层、非线性激活层、全连接层,且最后若干层通常为全连接层,输出为一维的标签信息。全卷积网络则去除了全连接层,输出与输入相同,均是二维图像。其核心思想是将传统卷积神经网络中的全连接层用卷积核大小为1×1的卷积层替代,从而输出能很好地保留输入图像中的空间信息。

在检测网络中,用于分类的全卷积网络主要作用为判别每个窗口是否为目标,采用的输出函数是一个两分类(背景或目标)的softmax函数,其函数表达式如下式所示:

其中,j=1,2,...,k,k为维数。zj为输入向量的第j个元素,σ(zj)为对应的输出向量的第j个元素。

从而,对于每个窗口都有一个对应的二维向量,分别对应为其类别是背景或目标的概率。设置阈值为0.5,则认为目标概率大于0.5的窗口为目标候选区域。

用于位置回归的全卷积网络的主要作用则为修正目标候选区域的位置或尺寸大小,以使其更接近于真实目标的位置和尺寸。在检测中,一般用紧包围盒(boundingbox)来框住目标,用于描述包围盒在图像中的位置和尺寸只需要四个变量,即包围盒左上角的图像坐标和包围盒的长宽。从而,对于每一个窗口,用于位置回归的全卷积网络的输出为一个四维向量,为方便网络学习,该四维向量的各元素分别采取如下形式:

其中,x′、y′、w′、h′分别是目标包围盒的左上角坐标和长宽,x、y、w、h分别是对应窗口的左上角坐标和长宽。

相应地,在训练过程中,损失函数可分为分类和位置回归两部分,具体形式如下式所示:

其中,i表示对第i个窗口,为总损失函数,分别为分类、位置回归的损失函数。λ为调节参数,用于平衡分类和位置回归在损失函数中所占的比例,i{·}为指示函数,仅在括号内命题为真时取1,否则取0。lcls采用的是交叉熵损失函数,lreg采用的是平滑l1函数,具体如下式所示:

其中,u,v分别为分类的标签与预测概率,u采用的是独热编码形式。s,t分别为位置回归的标签与预测值。函数的具体形式为:

步骤四:通过步骤三得到目标候选区域后,提取目标候选区域的特征,并用感兴趣区域池化层规范化输出特征图尺寸。

此处采用共享特征的方式以减少计算,即根据目标候选区域的位置与特征提取网络的步长,在对图像提取的整体特征图上找到目标候选区域对应的特征块。具体地,本发明采用的vgg-16网络中的conv5_3层的步长为16个像素,因此,假设一个目标候选区域的左上角坐标为(x,y),长宽分别为h和w,则该目标候选区域在特征图上对应的图像块的左上角坐标为长宽分别为

接着,特征块还需经过感兴趣区域池化层(regionofinterestpoolinglayer),以形成该目标候选区域的最终特征。目标候选区域的尺寸是各异的,在特征图上得到的对应特征块的尺寸也是各异的,但在精检测阶段对目标候选区域进行再确认时,使用的是全连接结构,要求输入的特征具有固定的维度,所以需要感兴趣区域池化层以统一目标候选区域的特征维度。

感兴趣区域池化层与普通池化层的差别主要在于步长与池化尺寸的设置。普通池化层一般采取步长、池化尺寸固定的形式,对输入图像进行等比例的尺寸缩放,因此输出图像的尺寸随输入图像尺寸的变化而变化。为保证输出图像尺寸固定,感兴趣区域池化层取消了对步长、池化尺寸的限制。假设感兴趣区域池化层的输出固定为ho·wo,改层的输入特征图大小为hi·wi,则其池化尺寸为:

在本发明中,感兴趣区域池化层的输出固定为7×7。

步骤五:将特征送入全连接层得到空间变换参数,然后将空间变换参数与特征送入空间变换层(spatialtransformerlayer),得到形变校正后的特征。

空间变换层的的主要作用在于通过网络挖掘特征图或图像的形变特点,得到旋转、尺度缩放等变形参数,根据这些参数对特征图或图像进行相应反变换,从而得到更适于分类的特征图或图像。本发明中采用的具体网络构架如下所述:

首先,将一个全连接层作用于特征图,输出为一个六维向量,即空间变换参数。

然后,空间变换层根据空间变换参数确定输出特征图中每个像素在原特征图中对应的采样点,再对采样点与周围像素进行线性插值,插值结果即为输出特征图上相应像素的值。假设(xs,ys)、(xt,yt)是一对分别来自原特征图和变换后特征图的像素点,aθ为空间变换参数矩阵,则其位置关系由下式确定:

本发明设定输出特征图大小与输入特征图大小相同,可通过上式对输出图中每个像素找到原图中的对应采样点,从而插值得到输出特征图中各像素值。

步骤六:根据校正后的特征对目标候选区域进行再次分类和再次的位置修正。

此处采用的分类和修正方式与步骤三中类似,不同在于此处直接采用的是全连接层,而非全卷积网络结构。由于检测目标只有舰船,所以此处也只需进行二分类(背景或船),从而分类、位置回归的输出函数形式与损失函数与步骤三均相同,在此不再赘述。

训练过程:

本发明的舰船目标检测方法采用梯度下降方法和反向传播方法对网络进行训练,由于采用了共用特征提取部分的粗检测网络和精检测网络,故采用四步训练法,具体内容如下:

首先,训练用于提取目标候选区域的粗检测网络。训练前,先对模型参数进行初始化,即用在imagenet数据集上训练好的vgg-16模型初始化特征提取层的参数,并随机初始化其后的用于分类与回归的层。该阶段共迭代80000次,每次迭代使用一张图像,每张图最多选取128个窗口,并保持正样本窗口与负样本窗口最大数量比为0.3,权重衰减系数为0.0005,学习率为0.001,并在迭代60000次后降为0.0001。训练完成后,用该粗检测网络对所有图像提取目标候选区域,作为精检测阶段的训练样本。

其次,训练用于再次确认与修正位置的精检测网络。训练前,同样先对模型进行初始化,即用在imagenet数据集上训练好的vgg-16模型初始化特征提取层的参数,并随机初始化其后的用于分类与回归的层。该阶段共迭代40000次,每次迭代使用两张图像,每张图最多选取128个目标候选区域,并保持正样本窗口与负样本窗口最大数量比为0.5,权重衰减系数为0.0005,学习率为0.001,并在迭代30000次后降为0.0001。

第三步,微调粗检测网络。此时,将第二阶段训练完成的特征提取层参数作为第三阶段特征提取层的参数,并且在该阶段训练过程中将特征提取层的学习率设为0,但同时随机初始化其后的用于分类与回归的层,即只对用于分类、回归的层进行训练与更新。该阶段共迭代80000次,每次迭代使用一张图像,每张图最多选取128个窗口,并保持正样本窗口与负样本窗口最大数量比为0.3,权重衰减系数为0.0005,学习率为0.001,并在迭代60000次后降为0.0001。

最后,微调精检测网络。与第三步类似,此时,将第三阶段训练完成的网络模型参数作为第四阶段的初始化模型,随机初始化精检测网络的用于分类与回归的层,且随后训练过程中,只对分类与回归的层进行微调。该阶段共迭代40000次,每次迭代使用两张图像,每张图最多选取128个目标候选区域,并保持正样本窗口与负样本窗口最大数量比为0.5,权重衰减系数为0.0005,学习率为0.001,并在迭代30000次后降为0.0001。

实施例:

本发明的网络结构图如2所示,其中,conv3/1-64表示为卷积层,该层共有64种卷积核,卷积核尺寸为3x3,步长为1;fc-2表示为有两个神经元的全连接层;maxpool2/2则代表了最大池化层,池化尺寸为2x2,步长为2;roipool(out:7x7)为感兴趣区域池化层,输出尺寸为7x7;st则为空间变换层。此外,每个卷积层或全连接层后都连接了一层非线性激活层,由于空间所限,未在图2中表示出来。计算机配置采用intel(r)core(tm)i7-6700k处理器,主频4.00ghz,内存32gb,显卡为nvidiageforcegtx1080,显存8g。该舰船目标检测过程包括如下步骤:

步骤一:计算机读取数据高分辨率可见光遥感图像,其分辨率为1~2米,对图像进行减均值预处理,均值为vgg16在imagenet数据集上训练时的均值;

步骤二:将图像送入卷积神经网络的浅层进行全图的特征提取;

步骤三:通过锚点机制和两个小型全卷积对遍布全图的多尺度窗口进行分类和位置回归,得到目标候选区域;

步骤四:在完整特征图上找到各目标候选区域的对应特征块,并通过感兴趣区域池化层规范化输出特征图的尺寸大小;

步骤五:将每个候选目标对应的特征送入全连接层得到空间变换参数,然后将空间变换参数与特征送入空间变换层,得到形变校正后的特征;

步骤六:根据校正后的特征对目标候选区域进行再次分类和再次的位置修正。

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