基于特征金字塔网络的小目标船只检测方法及系统与流程

文档序号:20755384发布日期:2020-05-15 17:22阅读:223来源:国知局
基于特征金字塔网络的小目标船只检测方法及系统与流程

本发明属于基于计算机视觉的船只检测技术领域,特别涉及基于特征金字塔网络的小目标船只检测方法及系统。



背景技术:

因为复杂的背景以及船只种类大小的多样性,近海船只的实时检测一直是军事民用领域的难题,实时性导致无法使用遥感和雷达影像,只能用视觉影像能够实时检测。

在目标检测中,对弱小目标的检测又极为重要。“弱小目标”这个概念最初来源于军事领域,在进行空间导弹拦截时,目标与拦截器距离较远(一般几千公里),而在成像平面呈现为一个或者几个像素的大小,称为“小目标”。由于目标太小,很容易被噪声和各种杂波(云杂波、海杂波)淹没,所以又称为“弱目标”。小物体在许多现实世界的应用中非常普遍,例如交通标志检测,用于高级自动驾驶的行人检测以及海上的船只检测。一般小目标的定义是由相对尺寸大小决定的,如果目标尺寸的长宽是原图像尺寸的0.1,即认为它是小目标。

一般的深度学习模型通常无法检测到非常小的物体,因为丰富的表现很难从它们质量差的外观和结构中学习。一种情况是目标太远难以检测,如下图中的最左边的小型船只总是无法正确检测。对于海上预警,当船只较远位置就能够成功检测并锁定位置的话,面对紧急情况时就有充分的反应时间来进行预防。另一种情况是目标自身太小难以检测,如下图所示,右边的小渔船很难检测出来。对于海上预警,也会存在小渔船的违规行为,如果无法准确识别,将导致相关部门无法做出及时的处理

为了研究如何从环岛监控视频系统中快速准确地检测出小目标船只。纵观国内外的船只检测方法现状,逐渐从基于手工提取船只特征建模传统方法转向基于深度学习的卷积神经网络。卷积神经网络从感兴趣区域(roi)学习深层次的代表,并根据学习的表现进行分类,如fasterr-cnn和yolov2。这些网络对于具有高分辨率,清晰外观和结构的大型物体可以很好地工作,从中可以了解辨别特征。但是,他们通常无法检测到非常小的对象,因为丰富的表示形式很难从其质量差的外观和结构中学习。

在目标检测里面,有限计算量情况下,网络的深度(对应到感受野)与步长通常是一对矛盾的东西,常用的网络结构对应的步长一般会比较大(如32),而图像中的小物体甚至会小于步长的大小,造成的结果就是小物体的检测性能急剧下降。传统解决这个问题的思路包括:(1)多尺度训练和测试。即将图像做成不同的尺度,然后不同尺度的图像生成对应的不同尺度的特征。然而这样的方法由于很高的时间及计算量消耗,难以在实际中应用。(2)特征分层。网络没有上采样过程,即从网络不同层抽取不同尺度的特征进行预测。这样的方法问题在于直接强行让不同层学习同样的语义信息。而对于卷积神经网络而言,不同深度对应着不同层次的语义特征,浅层网络分辨率高,学的更多是细节特征,深层网络分辨率低,学的更多是语义特征。因此本领域亟待提出更具有实用价值的技术方案。



技术实现要素:

本发明的目的就在于克服现有技术存在的缺点和不足,结合环岛监控系统的数据特性,提供一种基于特征金字塔网络的小目标船只的检测技术方案。

本发明提供一种基于特征金字塔网络的小目标船只检测方法,包括以下步骤:

步骤①,进行样本数据预处理,得到预处理后的图片;所述样本数据相应标注船只类型和位置数据;

步骤②,构建自底向上的卷积神经网络,在前向过程中,抽取不同大小的特征图构成初始特征金字塔;将步骤①经过预处理后的图片作为输入,经过网络处理后,生成不同尺度的特征图;

步骤③,以上采样的方式构建自顶向下的网络,通过横向连接与步骤②的自底向上的网络融合,将上采样的结果和步骤②生成的初始特征金字塔内对应相同大小的特征图融合成新的特征图;

步骤④,利用步骤③的特征金字塔内新的特征图,经过rpn网络处理后,生成船只目标的候选区域;

步骤⑤,根据步骤④产生的候选区域,利用样本数据训练特征金字塔网络,采用训练好的特征金字塔网络实现小目标船只的检测。

而且,步骤①中,采集的样本数据为可见光下的沿海区域监控视频帧数据,预处理包括中值滤波和retinex图像增强处理。

而且,步骤②中,在前向卷积神经网络中,为每个阶段定义一个金字塔级别,选择每个阶段的最后一层的输出作为特征图的输出,构成特征金字塔。

而且,步骤③中,自顶向下的网络通过对在空间上更抽象但语义更强的高层特征图进行上采样来得到高分辨率的特征,随后通过侧向连接从底向上的相同大小的特征,使得高层特征得到增强。

而且,步骤④中,采用rpn网络生成目标的候选区域,不同尺度的特征图作为rpn网络的输入来生成多个候选区域;选择与训练样本中真实目标区域的区域重合度iou大于0.7的候选区域作为正样本,iou小于0.3的候选区域作为负样本,作为卷积神经网络的基础。

本发明还提供一种基于特征金字塔网络的小目标船只检测系统,包括以下模块:

第一模块,用于进行样本数据预处理,得到预处理后的图片;所述样本数据相应标注船只类型和位置数据;

第二模块,用于构建自底向上的卷积神经网络,在前向过程中,抽取不同大小的特征图构成初始特征金字塔;将第一模块经过预处理后的图片作为输入,经过网络处理后,生成不同尺度的特征图;

第三模块,用于以上采样的方式构建自顶向下的网络,通过横向连接与第二模块的自底向上的网络融合,将上采样的结果和第二模块生成的初始特征金字塔内对应相同大小的特征图融合成新的特征图;

第四模块,用于利用第三模块的特征金字塔内新的特征图,经过rpn网络处理后,生成船只目标的候选区域;

第五模块,用于根据第四模块产生的候选区域,利用样本数据训练特征金字塔网络,采用训练好的特征金字塔网络实现小目标船只的检测。

而且,第一模块中,采集的样本数据为可见光下的沿海区域监控视频帧数据,预处理包括中值滤波和retinex图像增强处理。

而且,第二模块中,在前向卷积神经网络中,为每个阶段定义一个金字塔级别,选择每个阶段的最后一层的输出作为特征图的输出,构成特征金字塔。

而且,第三模块中,自顶向下的网络通过对在空间上更抽象但语义更强的高层特征图进行上采样来得到高分辨率的特征,随后通过侧向连接从底向上的相同大小的特征,使得高层特征得到增强。

而且,第四模块中,采用rpn网络生成目标的候选区域,不同尺度的特征图作为rpn网络的输入来生成多个候选区域;选择与训练样本中真实目标区域的区域重合度iou大于0.7的候选区域作为正样本,iou小于0.3的候选区域作为负样本,作为卷积神经网络的基础。

对比现有技术,本发明具有下列优点和积极效果:

本发明特征金字塔结构设计了自上而下的网络结构和横向连接,以此融合具有高分辨率的浅层特征和具有丰富语义信息的深层特征。先通过下采样的卷积神经网络获得不同尺度的特征。这些顶层特征再通过上采样的网络和低层特征做融合,而且每层都独立的进行预测。这样就实现了从单尺度的单张输入图像,快速构建在所有尺度上都具有强语义信息的特征金字塔,同时不产生明显的代价。本发明采用特征金字塔网络对监控视频图像进行船只目标的检测,该方法十分快速高效,能有效改善对小型目标船只的检测效果。对于复杂场景如云雾、阴天、下雨等情况也能有不错的检测结果,方法鲁棒性高,并且对于不同类别的船只也有很好的稳定性。

附图说明

图1为本发明实施例的整体流程图。

图2为本发明实施例的特征金字塔网络结构图,步骤②③的对应网络结构均在其中。

具体实施方式

为了更好地理解本发明的技术方案,下面结合附图和实施例对本发明做进一步的详细说明。

参见图1,本发明实施例所提供基于特征金字塔网络的小目标船只检测方法包括以下步骤:

①样本数据预处理:进行样本数据预处理,得到预处理后的图片;所述样本数据相应标注船只类型和位置数据。

本发明实施例使用的数据主要为从环岛监控视频中提取的帧图像数据,大小为1920×1080像素,并且标注的船只类型和位置信息满足voc2007数据集的标准。为了实现更好的检测效果,本发明对样本数据进行了预处理操作,使用的预处理流程包括中值滤波和retinex图像增强方法。

具体实施时,所需采集的数据主要为可见光下的沿海区域监控视频帧数据,中值滤波可以消除一些高频率的小噪声,且较好的保护了边缘信息;retinex图像增强方法考虑了图片的颜色信息,减少光照带来的影响,尤其可以增强阴影区域的细节信息。

由于预处理方法实现较为简单,因此本部分仅介绍其基本原理,具体的推导公式不作为重点。

①中值滤波,是一种非线性图像平滑滤波技术,在一定条件下可以克服线性滤波带来的图像细节的模糊问题,特别是针对被椒盐噪声污染的图像。其方法步骤为:

1)获得输入图像的首地址及宽高;

2)新建一块内存缓冲区,用以暂存结果图像,并初始化为0;

3)逐一扫描图像中的像素点,将其邻域各元素的像素值从小到大进行排序,将求得的中间值赋值给结果图像中与当前点对应的像素点;

4)循环步骤3),直到处理完输入图像的全部像素点;

5)将结果从内存缓冲区复制到输入图像的数据区。

②retinex图像增强方法,该方法在彩色图像增强、图像去雾、彩色图像恢复方面拥有很好的效果。retinex理论的基本假设是原始图像s是光照图像l和反射率图像r的乘积:

s(x,y)=r(x,y)l(x,y)

其中,(x,y)表示图像中的像素点坐标。基于retinex的图像增强的目的,就是从原始图像s中估计出光照l,从而分解出r,消除光照不均的影响,以改善图像的视觉效果。实际处理中,通常将图像转至对数域,从而将乘积关系转换为和的关系,即:

log(s)=log(rl)=logr+logl

s=r+l

s、r、l分别为s、r、l取对数之后的结果。retinex方法的核心就是估测照度l,从图像s中估测l分量,得到原始反射分量r,f()为估测函数,即:

l=f(s)

r=s-f(s)

②构建自底向上的卷积神经网络:在前向过程中,抽取不同大小的特征图构成初始特征金字塔。包括将步骤①经过预处理后的图片作为输入,经过网络处理后,生成不同尺度的特征图。

实施例中,参见图2左侧,自底向上的卷积神经网络输入为原始图片,包括卷积层conv1、激活层relu1、归一化层bn1、池化层pool1、卷积层conv2、激活层relu2、归一化层bn2、池化层pool2、卷积层conv3、激活层relu3、卷积层conv4、激活层relu4、卷积层conv5和激活层relu5。一共包括5个卷积层、5个relu激活层、2个bn归一化层、2个普通池化层。

特征图经过卷积核计算,通常是越变越小的,也有一些特征层的输出和原来大小一样,称为“相同网络阶段”。特征图经过卷积核计算,通常是越变越小的,也有一些特征层的输出和原来大小一样,称为“相同网络阶段”,这里为每个阶段定义一个金字塔级别,而因为每个阶段的最深层应该具有最强的特征,所以选择每个阶段的最后一层的输出作为特征图的输出。本发明实施例网络一共五个阶段,但考虑到内存占用,没有将第一个阶段包含在金字塔中,所以将后四个阶段的最后一层的特征激活输出。将初始特征金字塔表示为{c2,c3,c4,c5},对应于conv2,conv3,conv4和conv5的输出,并且注意它们相对于输入图像具有{2,4,8,16}像素的步长。

为便于理解特征提取,以下介绍深度学习网络的原理:

深度学习网络由多个交替的卷积层,池化层,全连接层组成,主要采用反向传播方法(bp方法)更新,由一个输入层,多个隐藏层和一个输出层组层。层与层之间通过不同的卷积方式连接。对于普通卷积层,上一层的特征层被一个可学习的卷积核进行卷积,然后通过一个激活函数,就可以得到输出特征层。每一个输出层可能是组合卷积多个输入层的值:

其中,mj表示选择的输入层的集合,i是输入层单元的索引值,j是输出层单元的索引值,表示输入层与输出层之间的权重,表示各层之间的激活偏置,f()表示该输出层的激活函数,表示l层的第j个输出层,表示l-1层的第i个输入层。

对于池化层来说,有n个输入层,就有n个输出层,只是每个输出层都变小了。

其中,down()表示一个下采样函数。一般是对输入图像的不同n*n区域内所有像素进行求和。这样输出图像在两个维度上都缩小了n倍,具体实施时可预设n的取值。每个输出层都对应一个属于自己的乘性偏置β和一个加性偏置b,为第l层的第j个输入层的乘性偏置和加性偏置,f()表示一层卷机操作。表示l层的第j个输出层,表示l-1层的第j个输入层。

对于输出的全连接层来说,卷积输入多个特征层,再对这些卷积值求和得到一个输出层,这样的效果往往是比较好的。用αij表示在得到第j个输出特征层中第i个输入层的权值或者贡献。这样,第j个输出层可以表示为:

其中,nin代表网络总层数,本发明实施例中为5,表示输入层与输出层之间的权重,表示各层之间的激活偏置,表示l层的第j个输出层,表示l-1层的第j个输入层,*表示卷积。

③构建自顶向下的网络:以上采样的方式构建自顶向下的网络,通过横向连接与步骤②的自底向上的网络融合。将上采样的结果和步骤②生成的初始特征金字塔内对应相同大小的特征图融合成新的特征图。

自顶向下的网络通过对在空间上更抽象但语义更强的高层特征图进行上采样来得到高分辨率的特征。随后通过侧向连接从底向上的相同大小的特征,使得高层特征得到增强。

实施例中,参见图2中间部分,以上采样的方式构建自顶向下的网络,通过横向连接与步骤②的自底向上的网络融合。将步骤②生成的特征金字塔中的高层特征如c5通过最邻近上采样法做上采样,然后将步骤②得到的前一层特征如c4经过1*1的卷积层来保证两者通道数相同能够融合,然后将两层特征进行相加融合生成p4。重复迭代该过程,直至生成最精细的特征图p2。迭代开始阶段,本发明在c5层后面加了一个1*1的卷积核来产生最粗略的特征图p5来来保证与其他新生成的特征图通道数相同。{c2,c3,c4,c5}层对应的融合特征金字塔为{p2,p3,p4,p5},对应的层空间尺寸是相通的。

④rpn网络生成候选区域:利用步骤③的特征金字塔内新的特征图,经过rpn网络处理后,生成船只目标的候选区域。

采用rpn网络生成目标的候选区域。不同尺度的特征图作为rpn网络的输入来生成多个候选区域。选择与训练样本中真实目标区域的区域重合度iou大于0.7的候选区域作为正样本,iou小于0.3的候选区域作为负样本,作为卷积神经网络的基础。

实施例中,利用步骤③的特征金字塔内新的特征图,经过rpn网路处理后,生成船只目标的候选区域。采用rpn网络生成目标的候选区域,比传统的选择性搜索方法(selectivesearch,ss)更加快速高效。本发明在每一个金字塔层级应用了单尺度的anchor,{p2,p3,p4,p5}分别对应的anchor尺度为{32^2,64^2,128^2,256^2,512^2},每个anchor对应三种比例{1:2,1:1,2:1}。所以每个特征金字塔共能产生12种anchor。选择与训练样本中真实目标区域的区域重合度(iou,intersectionoverunion)大于0.7的候选区域作为正样本,iou小于0.3的候选区域作为负样本。由于本发明着重关注特征提取部分,而不是区域生成部分,且rpn网络采用目前学界统一的处理方法,因此此处不再赘述其详细过程。⑤训练特征金字塔网络:根据步骤④产生的候选区域,利用样本数据训练特征金字塔网络,采用训练好的特征金字塔网络实现小目标船只的检测。

实施例中,根据步骤④产生的候选区域,利用样本数据训练特征金字塔网络,步骤④产生的候选区域经过一个roipooling层后,生成了候选区域的特征;然后连接一个全连接层,将特征变换为4096维的特征向量;最后再经分类器和边框回归,经过softmax计算后输出计算结果,训练网络。

softmax为损失函数,实施例使用交叉熵损失:

其中,k是用与表示求和函数从0开始计算的参数,n表示待检测的类别数目,本发明实施例中为6;pk表示预测为目标的概率。

采用训练好的特征金字塔网络实现小目标船只的检测。具体实施时,可以利用测试数据对输出的模型进行验证和测试。验证通过后,输入待检测图像到训练好的特征融合网络,即可获取船只目标检测结果。

至此,本专利所使用的一种基于特征金字塔网络的小目标船只检测方法具体实施过程介绍完毕。具体实施时,本发明技术方案所提供流程可由本领域技术人员采用计算机软件技术实现自动运行,也可采用模块化方式提供系统。本发明实施例还提供一种基于特征金字塔网络的小目标船只检测系统,包括以下模块:

第一模块,用于进行样本数据预处理,得到预处理后的图片;所述样本数据相应标注船只类型和位置数据;

第二模块,用于构建自底向上的卷积神经网络,在前向过程中,抽取不同大小的特征图构成初始特征金字塔;将第一模块经过预处理后的图片作为输入,经过网络处理后,生成不同尺度的特征图;

第三模块,用于以上采样的方式构建自顶向下的网络,通过横向连接与第二模块的自底向上的网络融合,将上采样的结果和第二模块生成的初始特征金字塔内对应相同大小的特征图融合成新的特征图;

第四模块,用于利用第三模块的特征金字塔内新的特征图,经过rpn网络处理后,生成船只目标的候选区域;

第五模块,用于根据第四模块产生的候选区域,利用样本数据训练特征金字塔网络,采用训练好的特征金字塔网络实现小目标船只的检测。

各模块实现可参见相应步骤,本发明不予赘述。

本文中所描述的具体实例仅仅是对本发明作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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