一种基于区域提名的小目标检测方法与流程

文档序号:15984086发布日期:2018-11-17 00:40阅读:402来源:国知局

本发明涉及图像处理的技术领域,尤其是指一种基于区域提名的小目标检测方法。

背景技术

目标检测是指从图像中精确的定位出图像中所含有的物体,并识别出物体的类别的过程。而小目标检测是指定位和识别出图像中只含有数量较少像素点的物体。小目标检测在无人驾驶路标识别、安防领域私人携带物品识别等领域有着极高的应用前景。

具体的,目标检测是要从图像中找出图像所包含的所有物体的位置、大小以及类别。现有的目标检测方法有基于区域的卷积神经网络rcnn、fast-rcnn、faster-rcnn系列神经网络以及端到端的卷积神经网络网络ssd、yolo系统神经网络。

faster-rcnn是rcnn系列卷积神经网络的最新研究成果,faster-rcnn整体结构为先由底层卷积神经网络提取特征,方法的提出者共使用了2种卷积神经神经网络(zfnet,vgg16)的前几层作为底层特征提取网络。再将提取到的特征传入到rpn(区域提名网络)产生若干大小区域提名,接下来分别对提名的区域进行分类得到目标所属类别以及回归得到目标的边界框。

ssd和yolo都是基于端到端的方法进行目标检测,即由单个卷积神经神经网络直接预测目标边界和类别概率,速度有极大提高。

上述的这两类不同的方法均存在着不足,首先,以上的几种现有目标检测方法都是针对大目标检测,而且它们也只能检测出图像中的大目标,甚至在检测大目标时也会存在误差,无法高效准确的检测出图像中的小目标。这里所指的大目标检测是指目标在图像中包含像素比较多。在faster-rcnn中需设置区域提名网络中提名区域的边界范围大小,在方法提出者以及其他研究人员的实践中,提名区域的尺寸大小均设置为128x128、256x256、512x512,即检测出来的目标大小基本在设置的这几个提名区域范围之内。同时ssd和yolo也不是专门用于检测小目标的神经网络,它们的特点是由于采用端到端的方案,只使用单个卷积神经网络进行计算,虽具有速度高效,即检测速度快的优点,但准确率没有基于区域提名的目标检测方法高,检测出来的目标区域定位误差大。特别的,yolo对稍微小一点的目标完全无法检测出来。

首先目前的计算机图像文件大小一般都为500万像素以上,但小目标通常只包含有极少的像素,例如自动驾驶中公路上的较远的交通标识、安防领域中的行李检测中的小匕首、子弹等目标本身体积较小,在计算机图像中所占有的像素点就更小。小目标的信息在整张图像占有的范围极其有限。

再者,当图像经过深度卷积神经网络提取特征后,浅层特征图维度够大,包含较多小目标信息,但是特征图中包含的信息多是背景信息,有用的语义信息不多。高层特征图语义很丰富,背景噪音少,但是经过多层的卷积、池化操作,特征图维度已经变得很小,小目标信息在高层特征图中占有范围也变的很小。原本小目标在原始图像中所占有的像素就不多,在经过多层深度卷积后体现在高层次特征图就只包含有极小的一部分特征数据,甚至还有可能被前面的卷积层过滤掉了。因此,图像小目标的检测难度很大。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出了一种基于区域提名的小目标检测方法,可以有效的检测出图像中的小目标,并且神经网络结构复杂性低,计算速度高效,针对小目标的特性进行专门优化,使得检测出的小目标更加精确高效。

具体地,通过特征融合增强小目标信息与对图像的融合特征图中每个特征值产生若干个尺寸较小比例不同的目标区域提名两个方法。首先由于小目标的特性,物体所占的像素点比较小,因此每个特征点的若干提名区域相对于原图像的大小设置为16、24、32。同时根据自然界中各种物体的特性,比例设置为1:2、1:1、2:1。

其次,针对浅层特征图包含较多小目标信息,但背景噪音多。高层特征图背景噪音少,但小目标信息在高层特征图中弱化的缺点。使用特征融合将浅层特征图与逆卷积后的高层特征图进行逐位相加增强小目标信息在特征图上的响应,提高小目标检测的准确率。

为实现上述目的,本发明所提供的技术方案为:一种基于区域提名的小目标检测方法,包括以下步骤:

1)输入图像预处理,将输入图像转换为统一大小;

2)提取图像基础特征图,提取5层特征图;

3)特征融合,融合图像第4层与第5层特征图;

4)小目标区域提名,使用区域提名网络产生小目标区域提名;

5)小目标边界框精修以及小目标区域分类。

在步骤1)中,图像预处理,将输入图像转换为统一大小,具体如下:

目前在计算机图像处理领域中,所使用的图像处理颜色标准均为采用rgb颜色标准。因此在本方法中,输入的图像均为rgb颜色标准保存的图像,即每张图像有3个颜色通道,因此每张图像文件在计算机中的表示均为一个数字矩阵,这个矩阵的维度为图像的宽*高*3,这个矩阵中的每个值均为0~255中间的一个整数值。在本方法使用中,可以进行任何分辨率大小的图像的小目标检测,但将图像传给神经网络进行检测时,需将所要检测的图像转换为统一的大小448*448*3,以便后续作为神经网络的输入。对于分辨率过小的图像,使用双线性插值算法将图像分辨率放大至448*448;对于分辨率过大的图像,同样使用双线性插值算法将图像分辨率缩小至448*448。因此,经过图像预处理后,所要进行检测的图像的分辨率均统一为448*448。

在步骤2)中,提取图像基础特征图,提取5层特征图,具体如下:

经过上一步的图像预处理后,所要检测的图像转换成448*448*3大小的矩阵,随后使用5层的卷积神经网络对输入图像充分提取基础特征,具体每一层的细节为:

第1层卷积神经网络使用64个3*3大小的卷积核,步长为1,输入图像的3个通道每个方向填充一个0,即第1层网络的最终输入的图像维度为443*443*3,使用线性校正单元激活函数(relu)进行激活。经过卷积后,得到的特征图的维度为442*442*64。随后使用2*2大小的池化核,步长为2,无填充的最大值池化(maxpooling)计算,得到第1层网络的特征图维度为224*224*64;

第2层卷积神经网络使用128个3*3大小的卷积核,步长为1,输入特征图的每个通道每个方向填充一个0,第2层网络的输入为第一层网络中得到特征图,使用线性校正单元进行激活。经过卷积后得到的特征图维度为224*224*128。随后使用2*2大小的池化核,步长为2,无填充的最大值池化(maxpooling),得到第2层网络的特征图维度为112*112*128;

第3层卷积神经网络使用256个3*3大小的卷积核,步长为1,输入特征图的每个通道每个方向填充一个0,使用线性校正单元激活函数激活,经过卷积后,得到的特征图的维度为112*112*256。随后使用2*2大小的池化核,步长为2,无填充的最大值池化(maxpooling),得到第3层网络的特征图的维度为56*56*256;

第4层卷积神经网络使用512个3*3大小的卷积核,步长为1,输入特征图的每个通道每个方向填充一个0,使用线性校正单元激活函数激活,经过卷积后,得到的特征图的维度为56*56*256。随后使用2*2大小的池化核,步长为2,无填充的最大值池化(maxpooling),得到第4层网络的特征图的维度为28*28*512;

第5层卷积神经网络使用512个3*3大小的卷积核,步长为1,输入特征图的每个通道每个方向填充一个0,使用校正线性单元激活函数激活,经过卷积后,得到的特征图的维度为28*28*512。随后使用2*2大小的池化核。步长为2,无填充的最大值池化(maxpooling),得到第5层网络的特征图的维度为14*14*512;

在步骤3)中,所述的图像特征图融合,具体如下:

由于第5层卷积神经网络输出的特征图的维度为14*14*512,先行逆卷积计算,逆卷积计算的参数为512个2*2大小的卷积核。经过逆卷积后,得到特征图维度为28*28*512。

将逆卷积计算得到特征图与第4层卷积神经网络的特征图进行对应位特征相加,得到融合的特征图。

在步骤4)中,所述的小目标区域提名,具体如下:

首先使用1层卷积神经网络在融合特征图上提取高层特征,该层卷积神经网络的参数为256个3*3大小的卷积核,步长为1,融合特征图的每个通道每个方向上填充一个0。随后使用线性校正单元激活函数进行激活。经过卷积后得到的特征图维度为28*28*256。

随后使用18个1*1大小的卷积核,无填充,步长为1的卷积计算,经过卷积后的特征图维度为28*28*18。此步计算将在上层特征图的每个特征值上产生9个区域提名,每个特征值上对应的18维向量为这9个区域提名的属于前景或背景的概率,即这9提名区域中包含物体与否的概率。

随后使用36个1*1大小的卷积核,无填充,步长为1在融合特征图上进行卷积计算,经过卷积后得到的特征图维度为28*28*36。此步计算为在上层特征图上的每个特征值产生的9个区域提名的边界范围。4个值即可确定一个提名区域的边界范围,因此每个特征值上对应的36维向量为这9个区域提名的边界范围的坐标。

至此,即得到了在融合特征图上的每个特征值产生了9个大小不同、比例不同的区域提名,并且包括区域提名内包含物体的概率,以及提名区域的边界范围。

在步骤5)中,所述的小目标边界框精修以及小目标区域分类,具体如下:

在得到的提名区域概率和边界范围基础上,使用非极大值抑制算法(nms)对产生的提名区域进行过滤,即将产生的提名区域中包含物体的概率低于设定阈值的提名区域过滤掉,最终将包含物体概率高于设定阈值的提名区域作为参数传入下一阶段,在具体应用中,每张图像中所包含的小目标数量不相等。因此符合要求的小目标区域数量也不相等。为方便表述,设最终剩下的包含物体概率高于设定阈值的提名区域个数为n。

接下来,这n个提名区域为具有不同比例、不同大小且尺寸较小的区域,使用roipooling(兴趣区域池化)算法将提名区域范围转化为同样大小14*14的特征区域,以进行后续计算。兴趣区域池化计算将提名区域在融合特征图上的边界范围限定的区域划分固定大小,即14*14的块,然后在每个块里分别取最大值,即将每个提名区域都转化成了相同大小的特征区域。得到n个14*14的特征图。

再将n个14*14的特征图转换为n*196大小的特征向量,传入两层全连接层提取特征,每层的神经元数量为4096个,同样的,每层全连接层后接一层线性校正单元激活函数激活。为减少计算参数数量,每层全连接层都后接一层随机失活层(dropout),即随机选取一些神经元数值为0。因此对于一个提名区域就得到一个4096维的特征向量,即总共将得到n个4096维向量。

将上一步得到的n个4096维特征向量传入一层包含21个神经元的全连接层,得到的输出将是n*21维的向量,每个21维向量即表示这个提名区域中包含的物体分别属于21类的概率。这里的21的意义是在训练时使用的pascalvoc数据库中标记的物体类别有20类,如果提名区域中的物体未在标记类别中,也要输出一个概率,表示未知类别。这个21的值可以根据训练数据库进行更改,如果训练数据库中标记有1000类物体,则设置成有1001个神经元即可。至此,得到了前面产生的每个包含物体的提名区域内所包含具体物体的概率,取概率最大的值即为该提名区域内所包含物体的类别。

将上上一步得到的n个4096维特征向量传入一层包含84个神经元的全连接层,得到的输出将是n*84维的向量。每个84维向量表示该提名区域内包含21类物体的精修的物体边界范围(4个值可确定一个物体在图像上的范围,在本方法中,使用的位置值表示为一个边界范围的中心点坐标(x_center,y_center),以及该边界范围的长(h)和宽(w))。在上一步得到的提名区域内包含的物体概率(21维概率)与此步中得到物体边界范围(84维向量)有着对应关系,即一个物体概率对应84维向量中的4个连续的值,将提名区域内包含物体概率最大的索引乘以4,以这个数在84维向量作为索引中取连续的4个值即为该提名区域所包含物体精修过的边界范围。至此,就得到了输入图像中所包含的小目标类别,以及小目标在图像中的边界范围。

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明采用区域提名网络在图像底层特征图的每个特征值上专门产生尺寸较小不同比例的小目标区域提名,不会遗漏图像中包含的细小目标,检测全面。

2、本发明采用特征融合的方法将浅层特征图与高层特征图进行融合,得到增强的图像语义信息进行检测,提高了小目标检测的准确率。将小目标信息增强,抑制部分背景噪音,显著提高检测检测准确率。

3、本发明的网络结构简单,在特征融合阶段与小目标区域精修阶段都是共享底层特征图,减少计算量,计算高效,从而达到实时性。

附图说明

图1是图像中小目标检测流程图。

图2是小目标检测所用完整神经网络结构图。

图3是提取5层基础特征图的卷积神经网络结构图。

图4是融合特征的神经网络结构图。

图5是区域提名网络结构图。

图6是提名区域物体分类和边界范围精修调整图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

本实施例所提供的基于区域提名的小目标检测方法,输入一张rgb颜色标准图像进行检测。所进行检测的完整流程如图1,所设计的图像小目标检测所用的完整神经网络结构图如图2。在预处理图像文件时,使用算法将所要检测的图像转换至统一大小;接下来,使用5层卷积神经网络对图像提取5层基础特征;然后,将图像的第4层和第5层基础特征进行融合;再使用区域提名网络在融合特征图上产生小目标区域提名;最后,将区域提名网络产生的提名区域映射至融合特征图上,并使用全连接层网络在提名区域特征图上进行物体分类以及物体边界范围精修。具体地:

1.图像预处理:首先,判断所要进行检测图像的分辨率是否大小或小于448*448。如果所要进行检测的图像分辨率小于448*448,则使用双线性插值算法将图像分辨率放大至448*448;如果所要进行检测的图像分辨率大于448*448,则使用双线性插值算法将图像分辨率缩小至448*448。因此,经过图像预处理后,所要进行检测的图像的分辨率均统一为448*448,作为接下来神经网络的输入。

2.提取5层基础特征图的流程如图3所示。首先用包含64个3*3大小的卷积核对输入图像提取底层特征,然后用陆续用包含128、256、512、512个卷积核对输入图像充分提取特征,分别得到输入图像的5层底层特征图。为缩小计算参数量,底层特征提取网络均使用3*3大小的卷积核,这比使用7*7大小的卷积核减少了5倍多的参数量。

3.特征融合的流程如图4所示。由于第4层特征图的维度为28*28*512,第5层特征图的维度为14*14*512,维度不同,无法直接进行融合。因此先使用包含512个2*2大小的卷积核对第5层特征图进行逆卷积运算,经过逆卷积运算后得到特征图维度为28*28*512,将第4层特征图与逆卷积运算得到的特征图进行逐位相加得到的融合特征图。在融合特征图中,既包含增强了的小目标信息,也包含高层特征图上丰富的语义信息,同时背景噪音在融合特征图中也弱化了。

4.使用区域提名网络进行小目标区域提名流程如图5所示。小目标区域提名过程如下:

首先使用1层包含512个3*3大小的卷积核的卷积神经网络在融合特征图上提取特征,并使用线性校正单元激活函数进行激活,得到融合特征图的高层特征图。随后使用包含18个1*1大小卷积核的卷积计算在上层特征图的每个特征值上产生9个区域提名,该提名区域以该特征值为中心点,然后9个区域的尺寸大小为常见小目标在图像中的大小(16、32、48)与常见小目标物体的长宽比(1:1,2:1,1:2)分别组合得到。计算得到的特征向量维度为28*28*18,每个特征值上对应的18维向量为这9个区域提名的属于前景或背景的概率,即这9提名区域中包含物体与否的概率。

随后使用36个1*1大小的卷积核的卷积计算得到在融合特征图的高层特征图上的每个特征值产生的9个区域提名的边界范围。4个值确定一个提名区域的边界范围,因此每个特征值上对应的36维向量为这9个区域提名的边界范围的坐标。

至此,即得到了在融合特征图上的每个特征值产生的9个大小不同、比例不同的区域提名,并且包括区域提名内包含物体的概率,以及提名区域的边界范围。

5.使用2层全连接网络对小目标提名区域进行区域内物体识别以及物体边界范围精修流程如图6所示。

在区域提名网络中得到小目标区域提名中,由于特征图中的每个特征值都会产生9个小目标区域提名,并且产生的区域提名是以该特征值为中心。因此对于图像边界上的特征点产生的区域提名已经超出了图像边界,在进行下一步计算前,需先对产生的所有提名区域进行过滤,将提名区域边界范围超出图像边界以及提名区域包含物体概率过低的提名区域删除,使得符合要求的提名区域进入下一步兴趣区域池化(roipooling)计算。

兴趣区域池化计算将提名区域在融合特征图上的边界范围限定的区域划分固定大小,本方法中采用的是分成14*14的块,然后在每个块里分别取最大值,即将每个提名区域都转化成了相同大小的特征区域。然后将每一个提名对应的特征区域连续传入两层包含4096个神经元的全连接层提取特征,最后对于每一个提名区域对应的特征向量分别传入两层全连接层,其中一层全连接层包含21个神经元,即经过这层全连接层计算后每一个提名区域得到一个21维向量,这个21维向量是该提名区域内所包含物体属于21类中物体中的概率,取最高概率的那个物体类别即为该提名区域内所包含的小目标的物体类别。另外一层全连接层包含84个神经元,即经过这层全连接层计算后每一个提名区域得到一个84维向量,这个84维向量是该提名区域所包含物体的边界范围坐标,将提名区域内包含物体类别概率最大的索引乘以4,以这个数在84维向量作为索引中取连续的4个值即为该提名区域所包含物体精修过的边界范围。至此,就得到了输入图像中所包含的小目标类别,以及小目标在图像中的边界范围。从而在图像中精确完整的检测出了所有小目标,包括小目标的物体类别和边界范围。

以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

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