一种环视融合的特征融合方法

文档序号:26141489发布日期:2021-08-03 14:26阅读:110来源:国知局
一种环视融合的特征融合方法

本公开属于图像处理和人工智能技术领域,特别涉及一种环视融合的特征融合方法。



背景技术:

近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测(objectdetection)领域的主流算法,这在很大程度上得益于卷积神经网络(convolutionalneuralnetworks,cnn)的发展。目前,目标检测技术在图像搜索、商品推荐、用户行为分析以及人脸识别等互联网应用产品中,同时在智能机器人、无人自动驾驶和无人机等高新科技产业具有广阔的应用前景。目标检测任务主要由三部分构成,第一输入图像给主干网络(backbone)提取图像特征,主干网络指各种深度神经网络(deepneuralnetworks,dnn),例如vggnet、googlenet、resnet等;第二要识别图像中感兴趣目标的类别,即分类任务(classification),分类任务基于backbone输出的特征上进行;第三要在图像中用矩形框标注出感兴趣目标的位置,即回归任务(localization),回归任务同样基于backbone输出的特征上进行。一般将分类和回归任务统称为模型的检测头(head)。

目标检测任务又分为两种模型:单阶段检测器和双阶段检测器。对于双阶段检测器,backbone输出的特征会进入到rpn(regionproposalnetwork)网络,即“候选区域网络”,rpn将backbone的输出特征图作为输入,使用卷积网络构建与类别无关的候选区域,目的是预测矩形边界框是否包含目标,随后将rpn网络的输出送入到检测头中进行最终预测及输出。实质上rpn网络对不包含目标的矩形边界框做了过滤,这在很大程度上提升了模型的检测精度,但同时也牺牲了一定的检测速度,fasterrcnn即为典型的双阶段检测器之一。相比之下,单阶段检测器不包含rpn网络,但随着近些年focalloss损失函数、fpn特征融合网络的提出使得单阶段检测器同样能够达到不错的检测精度,retinanet即为典型的单阶段检测器之一。

在目标检测中,模型会基于融合网络输出的特征图上的每一个像素点产生不同大小和比例的anchorboxes,以此来覆盖整张原图像上的目标。但需要检测的目标通常在整张图像所占的比例不高,产生的很多anchorboxes并未框住所需检测的目标,这时会根据产生的anchorboxes与事先标记好的groundtruthbox计算iou(intersectionofunion),即两者的重叠程度,iou值越大表示重叠程度越高。

为了训练,一种做法是:把所有的anchorboxes分成两类,一类是正样本,它与真实目标的iou值大于0.5;另一类是负样本,它不与任何真实目标重叠或与真实目标的iou值小于0.3(0.5,0.3为常用的iou阈值),通常负样本的数量会远远超过正样本的数量。然后对分出的正负样本进行一定比例的采样,送入到分类和回归网络中分别训练类别信息和位置偏移量,最终得到预测结果。由于iou值是目标检测模型中设置的超参数,由人为设定,会在一定程度上影响到模型的检测性能。例如:iou值设置的过大,可以得到质量较高的anchorbox,分类的置信度会很高,并有利于anchorbox偏移量的回归,但是会导致训练用的正样本数量变少,统计变得不稳定,不利于模型的收敛。iou值设置的过小,正样本数量会增加,但是anchorbox的质量低下,不利于位置偏移量的回归,降低模型性能。

对于目标检测器,主干网络提供的特征越丰富,则分类和回归会越准确,检测的效果越好。一般情况下仅仅靠backbone的输出特征所具有的信息进行分类和回归任务得到的检测结果是不理想的,在用主干网络进行特征提取的过程中,低层特征具有更高的分辨率信息,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多;高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。

现有的特征金字塔网络(featurepyramidnetworks,fpn)同时利用低层特征高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到较好的预测效果。自底向上方向是卷积网络的前向计算过程,产生多个尺度不同的特征图;自上向下方向是在更高的金字塔层次上对语义上更强的特征图进行采样然后与低层特征融合,从而达到增强特征的目的。

在fpn基础上提出的双向跨尺度融合网络panet,则从backbone基于fpn融合网络,在其自上向下融合通路后,添加一条自下向上的融合通路以增加特征信息的流动方向,并引入横向连接,将处于同一层级的特征层进行融合。

对于目标检测而言,融合不同尺度的特征(丰富主干网络的输出特征)是提高检测性能的一个重要手段,如何将两者高效融合,是改善模型的关键。



技术实现要素:

为了解决上述问题,本公开提供了一种环视融合的特征融合方法,其特征在于:

对于输入特征图中的任意一个特征点,它所包含的语义信息通过参考周围特征点的某些信息来验证和填充其自身语义信息。

上述方案提升目标检测过程中特征融合的信息丰富度、高效性,以达到最终提升目标检测性能的目的,能够有效提升目标检测的准确率。现今的特征融合理论是浅层和深层特征图尺度归一化后加权融合,浅层特征图获得深层语义,深层特征获得浅层原始特征,而本方法的lookaround理论及其思想旨在迭代观察和参考验证填充语义,在浅层特征图基础上经我们的再造与深层融合,甚至可以不依靠其他特征层的交互与自己融合,自我融合是同一层次特征图上的特征点之间的特征融合所以它可以应用于分类模型,可以说是重新规划了特征融合的对象和行为,网络结构上是明显的自底向上和横向连接。

附图说明

图1是本公开一个实施例中所提供的一种环视融合网络的结构图;

图2是本公开一个实施例中所提供的加入环视融合网络的目标检测模型示意图;

图3是本公开一个实施例中所提供的环视融合模块结构图;

图4是本公开一个实施例中所提供的块的一种结构的结构图。

具体实施方式

下面结合附图1至图4对本发明进行进一步的详细说明。

在一个实施例中,本公开提供了一种环视融合lookaroundfusion的特征融合方法,其特征在于:

对于输入特征图中的任意一个特征点,它所包含的语义信息通过参考周围特征点的某些信息验证和填充其自身语义信息。

就该实施例而言,对于特征图中的任意一个特征点,它所包含的语义信息由于现实复杂多样的环境和同类样本之间差异不足以验证它应有的语义,举例来说在很多视觉任务中一张人脸上的五官总存在部分特征模糊或被污染和遮挡的情况,比如一个被眼罩遮挡的眼睛,一块被纱布包裹的鼻子,这样的例子很多,但我们人眼依然能够根据其周围的某些特征(没被“污染”的语义信息良好的眼睛,嘴巴,脸蛋,额头等)来验证和填充它本身的语义信息。这种参考周围某些信息验证和填充自身语义的行为我们命名为“lookaround”。

lookaround中的block使得特征图上的特征根据其周围的某些特征(没被“污染”的语义信息良好的稳定性高的特征)来验证和填充它本身的语义信息,而将block串联使得特征点可以将lookaround的任务转交给周围的特征点,串联的block个数决定迭代的次数,它将和block的视野一起决定可以“望”的多远。当然,最先的lookaround提取结果就已经比较好的情况下,此时再经过多次迭代反而会因冗余的网络层数而效果下降,就像resnet的残差学习,我们有必要让次序靠前的lookaround提取结果拥有一条可以跨层直接参与最终融合的路径,这也就是block间的特征融合。和其它特征融合一样,在提升准确率的同时,在参数量和训练和推算时间上的表现也会变差,lookaround模块中的block数量太多甚至也会达不到实时检测的要求。

图像在计算机中是三维的数据,假如有w*h个像素点,因为每个像素点有3通道(存储红绿蓝三原色数据),那这张图像的图像的数据在计算机中就是一个w*h*3的张量。图像或者特征图卷积后就会变为特征图。特征图也类似一张图像,每个特征点也是有很多通道,并且一个特征点对应原图的很多像素点(原图的一个方形区域),每个通道的值都是对于某个纹理的相应值而不是单纯的颜色了。一张特征图比如a特征点的1号通道有较强的圆形纹理响应2号通道有较强的绿、黑条纹梯度响应等,那我们可以凭此认为这是一个西瓜。该方案中一个特征点的某些信息就是此点各个通道的值(主要)、此特征点在特征图的位置、所属特征图在网络中的位置。一个特征点它可以反映的现实意义是语义信息。

在另一个实施例中,所述周围特征点的某些信息是保存在每个块block中,并由该块输出融合这些信息之后的特征图。

在另一个实施例中,如图1所示,所述环视融合的网络lookaroundnetwork结构为:特征融合按阶段stage划分,前一个阶段的输出会作为下一个阶段的输入,每个阶段包含一个或多个环视融合模块lookaroundmodule,每个环视融合模块包含一个或多个块block。

就该实施例而言,lookaroundnetwork和加入特征融合网络lookaroundnetwork的目标检测模型分别如图1、图2所示,特征融合按阶段划分stage,对于stagem最终输出的特征图分别记作特征融合网络的输入输出映射可以表达为:

其中sample=maxpoolingvdownsample,

m=1,2,3......,i=2,3,4,5

对于图2,它对应图1中的n=2,m=4。backbone产生的一张或多张特征图输入特征融合网络,特征融合网络将这几张特征图输入stage1,stage1接受这几张不同深度层次的特征图按层次分配lookaroundmodule处理,深度层次为d的特征图输入到相同深度层次的lookaroundmodule输出后池化或者采样融合到深度层次为d的特征图经过前向卷积产生的深度层次为d+1的特征图,得到的深度层次为d+1的特征图与本stage深度层次为d+1的输入融合形成预测该层(深度层次为d)对象的特征图,此特征图再次经过此过程形成第d+1层预测所用的特征图,一直到达最深处才完成一个stage,本stage的输出会作为下一个stage的输入,最终的输出特征图经过分类和回归就能够预测目标。

在另一个实施例中,如图3所示,所述环视融合模块包括一个或多个块,所述块串联使得输入特征图上的每个特征点参考已经参考过周围特征点的周围特征点,多个块的输出或者相邻块的输出进行块间特征融合。

就该实施例而言,对于输入的特征图,每个block都是对其中每一个点周围特征的审视和对自身特征弥补的模块,多个block串联(以两个为例)使得特征图上的每个特征点参考已经参考过周围特征点的周围特征点;多个block的输出或者相邻block输出进行block间特征融合使得网络学会考量采纳block输出的众多结果。

假定xi为输入blocki的input,xi+1为blocki的output,其中i=1,2,3,4......n.对于图3的计算过程可以表达为:

xi+1=blocki(xi),其中i=1,、2,3....n

在另一个实施例中,如图4所示,所述块的具体实现包括:输入的特征图经过第一编码模块成为输出通道数为1的判别张量,判别张量乘以第二模块输出的特征图对此特征图滤波,滤波后的结果与之前的输入特征图相加,最后输出。

就该实施例而言,block内部有多种实现方案,其中一种输入的特征图经过第一模块成为通道数为1的判别张量,判别张量乘以第二模块输出的特征图对其滤波,滤波后的结果与之前的输入特征图相加,输出。其它实现方案如对比如第一模块可以采用多层感知机,而第二模块考虑到每次环顾周围时一定要有较为广大的视野,在考虑参数量的情况下我们采用空洞卷积,也许几个连续的卷积层所组成的微型backbone可以对周围特征更好的采样和编码,而对于block内特征融合部分我们采用了相加方式,也可以相乘和concat方式。

图4中的mlp是多层感知机,由多层全连接层组成。每一层全连接层都代表conv1*1。input是上个block的输出或者lookaroundmodule的input(原始特征层);conv1*1是卷积核为1*1大小输出通道数为1的卷积操作;output是下一个block的输入或者lookaroundmodule的output(强特征层),conv1*1是一层全连接层。convlution就是conv5*5,padding=6,dilation=3,是卷积核为5*5,填充为6,空洞数量为3的卷积操作,conv5*5是一层卷积层。

在另一个实施例中,所述第一模块通过全连接层对输入特征图生成掩膜,对后续提取到的周围特征进行过滤。

在另一个实施例中,所述第二模块通过连续的空洞卷积或其它特征提取网络扩大输入特征图上每个点的感受野,以此得到更多语义。

在另一个实施例中,所述block间特征融合具体指将环视融合模块的所有串联的块一并输出后进一步融合得到融合后的结果,或者:前一个块的输入和输出进行融合后作为下一个块的输入,最后块的输出作为结果。

就该实施例而言,将lookaroundmodule的所有block的输出融合,旨在防止因为浅层block输出信息因为后续大量计算层次导致信息较严重的损失。

在另一个实施例中,该方法可以配合任一特征提取主干网络完成最终的目标检测。

就该实施例而言,本方案在特征提取主干网络的选择上不受限制,比如efficentdet中的backbone,特征融合网络从backbone中抽取p3,p4,p5,p6,p7五级不同分辨率大小的特征进行特征融合,最后将融合网络的输出特征送入到分类和回归网络中做最后的预测工作,即分别产生目标类别和回归框位置完成最终的目标检测。对于特征融合我们使用的是一种新颖的特征融合网络——lookaroundnetwork。

尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。

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