基于注意力机制的目标检测方法、网络、设备和存储介质与流程

文档序号:23134664发布日期:2020-12-01 13:09阅读:511来源:国知局
基于注意力机制的目标检测方法、网络、设备和存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种基于注意力机制的目标检测方法、网络、设备和存储介质。



背景技术:

目标检测是用于识别图像中的目标及其位置的技术,其既要使用边界框定位图像中的目标(确定目标位置),也要检测出每个目标所属的类别(图像分类)。目标检测是很多计算机视觉任务的基础,其在自动驾驶、人脸识别、行为识别和目标计数等领域有广泛的应用前景。

目前主流的目标检测算法主要是基于深度学习模型,可以分为两大类:一类是one-stage检测算法。该类算法直接产生目标的类别概率和坐标位置,不需要产生候选区域。另一类是two-stage检测算法。该类算法将检测问题划分为两个阶段,首先是产生候选区域,然后基于候选区域进行分类和边框回归,得到目标的类别概率和坐标位置。

上述各类目标检测模型存在的主要问题有:(1)目标定位不准确;(2)模型泛化能力(模型对新样本的适应能力)不强,导致分类错误;(3)速度较慢。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种基于注意力机制的目标检测方法、网络、设备和存储介质。

第一方面,本申请提供了一种基于注意力机制的目标检测方法,包括:

通过特征提取网络提取待检测图像的特征,得到第一特征图;

通过区域生成网络处理所述第一特征图,得到至少一个候选区域;

通过roi池化网络处理所述第一特征图和所述至少一个候选区域,得到第二特征图,所述第二特征图包括所述至少一个候选区域;

通过分类网络和回归网络分别处理所述第二特征图,得到至少一个目标的类别得分和边界框信息;

其中,所述特征提取网络、所述分类网络和所述回归网络中的至少一个包括注意力子网络;

其中,所述注意力子网络用于:确定在先层,所述在先层为待配置注意力权重的特征图;确定临时层;基于所述在先层和所述临时层,确定注意力权重;将所述在先层和所述注意力权重进行乘积操作,实现对所述在先层增加注意力。

第二方面,本申请提供了一种基于注意力机制的目标检测网络,该目标检测网络包括:

特征提取网络、区域生成网络、roi池化网络、分类网络和回归网络;

其中,所述特征提取网络、所述分类网络和所述回归网络中的至少一个包括注意力子网络;

其中,所述注意力子网络,用于确定在先层,所述在先层为待配置注意力权重的特征图;确定临时层;基于所述在先层和所述临时层,确定注意力权重;将所述在先层和所述注意力权重进行乘积操作,实现对所述在先层增加注意力;

所述特征提取网络,用于提取待检测图像的特征,得到第一特征图;

所述区域生成网络,用于处理所述第一特征图,得到至少一个候选区域;

所述roi池化网络,用于处理所述第一特征图和所述至少一个候选区域,得到第二特征图,所述第二特征图包括所述至少一个候选区域;

所述分类网络,用于处理所述第二特征图,得到至少一个目标的类别得分;

所述回归网络,用于处理所述第二特征图,得到所述至少一个目标的边界框信息。

第三方面,本申请提供了一种的电子设备,该电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的基于注意力机制的目标检测方法中的任一实施例。

第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于注意力机制的目标检测方法中的任一实施例。

本申请实施例提供的技术方案与现有技术相比具有如下优点:

一、向目标检测网络中的特征提取网络、分类网络和回归网络中的至少一个增加注意力子网络,使得目标检测网络更加专注于图像中需要关注的目标的特征、类别和位置中的至少一种,提高目标分类精度和目标定位精度,从而提高目标检测精确度。

二、增加的注意力子网络只需在原有网络基础上增加确定注意力权重和将在先层和注意力权重进行乘积的操作,不会增加网络的计算量和计算时间。反而,注意力子网络的增加,使得目标检测网络可以更加快速地专注于目标的特征、类别和位置,一定程度上节省了网络的训练时间和检测时间,提高了目标检测的速度。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于注意力机制的目标检测网络的网络结构框图;

图2是本申请实施例提供的一种注意力子网络的网络结构框图;

图3是本申请实施例提供的一种多尺度的特征提取网络的网络结构框图;

图4是本申请实施例提供的一种区域生成网络的网络结构框图;

图5是本申请实施例提供的一种增加了注意力子网络的分类网络和回归网络的网络结构框图;

图6是本申请实施例提供的电子设备的结构示意图;

图7是本申请实施例提供的一种基于注意力机制的目标检测方法的流程图。

图8是本申请实施例提供的一种注意力子网络的处理流程图。

具体实施方式

为了能够更清楚地理解本申请的上述目的、特征和优点,下面将对本申请的方案进行进一步描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,但本申请还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本申请的一部分实施例,而不是全部的实施例。

目标检测要求在尽量短的时间内正确检测到尽量多的目标。但是目前的目标检测算法,大部分二阶段two-stage检测算法的计算量大、运行速度慢;大部分一阶段one-stage检测算法虽然检测速度较快,但其分类和定位的精确率都较低。即目前的目标检测算法致使目标检测效果不理想。针对该问题,本申请实施例提供一种基于注意力机制的目标检测方案,实现在目标检测网络中的特征提取网络、分类网络和回归网络中的至少一个增加注意力子网络,在确保检测速度的同时,提高目标检测精度。

对于某个目标检测网络,在一些实施例中,可以在目标检测网络中的特征提取网络、分类网络或回归网络中增加注意力子网络,得到基于注意力机制的目标检测网络;在一些实施例中,也可以在特征提取网络、分类网络和回归网络中的任意两个中增加注意力子网络,得到基于注意力机制的目标检测网络;在一些实施例中,还可以在特征提取网络、分类网络和回归网络中均增加注意力子网络,得到基于注意力机制的目标检测网络。针对于在特征提取网络中增加注意力子网络,能够使得特征提取网络学习到在更加适合的尺度上进行当前目标的检测和特征提取,从而使得特征提取网络更加关注于图像中的当前目标,提高特征提取的精确度。针对于在分类网络中增加注意力子网络,能够使得分类网络学习到更加关注于对类别识别更重要的特征,从而更加准确地确定当前目标的类别,提高分类的精确度。针对于在回归网络中增加注意力子网络,能够使得回归网络学习到当前目标出现的位置,从而提高目标定位的精确度。

并且,本申请中的注意力子网络基于在先层和临时层确定注意力权重,并将在先层和注意力权重进行乘积操作,实现对在先层增加注意力,只是在原有的目标检测网络基础上增加了少量的操作,但增加的操作的运算量和运算时间相对于整个网络可以忽略不计,不会减慢网络的检测速度。反而,注意力子网络的增加,使得目标检测网络可以更加快速地专注于图像中需要关注的目标的特征、类别和位置,一定程度上节省了网络的训练时间和检测时间,提高了目标检测的速度。

本申请实施例提供的基于注意力机制的目标检测方案,可应用于各种需要目标检测的应用场景中。在一些实施例中,可以应用至自动驾驶场景中,用于检测其他汽车、行人、交通信号等物体,为自动驾驶系统提供重要的基础技术的支撑;在一些实施例中,可以应用至人脸检测和人脸识别领域,例如用于移动终端的密码锁和修图软件等场景中;在一些实施例中,可以应用于行为识别场景中,用于检测需要识别行为的目标;在一些实施例中,可以应用于目标计数领域,例如分析存储表现或估计人流量等场景中。

图1为本申请实施例提供的一种基于注意力机制的目标检测网络的网络结构框图。如图1所示,基于注意力机制的目标检测网络100包括特征提取网络110、区域生成网络120、roi池化网络130、分类网络140和回归网络150;其中,特征提取网络110、分类网络140和回归网络150中的至少一个包括注意力子网络160。

注意力子网络160,用于确定在先层,在先层为待配置注意力权重的特征图;确定临时层;基于在先层和临时层,确定注意力权重;将在先层和注意力权重进行乘积操作,实现对在先层增加注意力。具体地,本申请中的注意力子网络160是通过为网络中需要被关注的信息增加权重来实现增加注意力的,而为了确保权重的可靠性,将权重设置为通过网络中的特征图计算而来。所以,注意力子网络160要选定包含被关注信息的特征图,即待配置注意力权重的在先层,并且要选定用于计算权重的临时层。然后,通过在先层和临时层之间的各种运算,便可获得注意力权重。最后,将该注意力权重应用至在先层,便可为在先层增加注意力。

参见图2所示的注意力子网络160的网络结构框图。在一些实施例中,注意力子网络160选定在先层161后,通过对在先层161进行卷积操作确定临时层162。这样临时层也是由网络中的特征图而来,避免引入外来误差,进一步确保后续权重的可靠性。在一些实施例中,注意力子网络160确定了在先层161和临时层162之后,先对在先层161和临时层162进行相加操作;再对相加操作所得的特征图进行卷积和sigmoid激活操作,便可得到与在先层161相匹配的注意力权重163。该注意力权重163代表网络的注意力,权重大的地方,是注意力集中点,该处是目标的可能性就增大。最后,对在先层161和注意力权重163进行乘积操作,得到增加注意力的在先层164。本实施例中,注意力子网络160只是增加了少数的卷积层和sigmoid层,所以相较原来的网络,其增加的计算量可以忽略不计,保持了原来网络的检测速度。

在一些实施例中,注意力子网络160基于在先层和临时层,确定注意力权重之前,将在先层的尺度和临时层的尺度进行统一,进行尺度统一的方式可以是对尺度较小的层进行上采样,也可以是对尺度较大的层进行下采样。如果在先层161和临时层162的尺度不统一,则无法进行后续的相加操作,所以可以通过上采样或者下采样的方式将两者尺度统一。在一些实施例中,鉴于在先层161是用于后续目标检测的特征图,而临时层162只是用于计算注意力权重的中间过渡层,可以选择将临时层162的尺度统一至在先层的尺度161。

特征提取网络110,用于提取待检测图像的特征,得到第一特征图。具体地,特征提取网络110由多个卷积层、激活层和池化层等构成,激活层和池化层的数量和位置可以根据业务需求来确定。在一些实施例中,其可以是多组卷积层、激活层和池化层的重复组合;在一些实施例中,其也可以是多组卷积层和激活层的重复组合后叠加池化层;在一些实施例中,其还可以是多个卷积层之后叠加激活层和池化层。特征提取网络110的输入为待检测图像,由第一个卷积层对其进行特征提取,生成待检测图像的抽象描述,而后的每个卷积层利用前面网络所得的特征图来进一步生成抽象描述,以不断学习图像中的边缘信息、复杂的形状信息等,最终得到的卷积特征层称为第一特征图。第一特征图的空间维度与待检测图像的空间维度不同,第一特征图在长度和宽度的维度上所包含的信息量均小于待检测图像,但是第一特征图在深度维度上包含的信息量要大于待检测图像。例如,待检测图像的长度、宽度和深度的维度信息分别为512*512*32,经过特征提取网络110的处理后,所得第一特征图的长度、宽度和深度的维度信息分别为32*32*512,深度信息增多。

在一些实施例中,特征提取网络110提取得到多张尺度不同的第一特征图。参见图3所示的多尺度的特征提取网络的网络结构框图。本实施例中,特征提取网络110利用特征金字塔的结构,先对待检测图像进行自上而下的特征提取,分别获得初始特征图l1、l2、l3和l4,再对上述四层初始特征图中的l2、l3和l4进行自下而上的特征提取,得到三个中间特征图。之后,基于这三个中间特征图和初始特征图l4,提取到对应的四个不同尺度的第一特征图f1、f2、f3和f4,并对第一特征图f4进一步提取特征,得到又一尺度的第一特征图f5。对于每一个检测尺度,均可直接进行后续的分类和边界框回归,能够实现在不同尺度上进行目标检测,确保网络的检测速度的同时,能够丰富目标检测的特征信息,从而进一步提高目标检测的精确度。需要说明的是,图3只是多尺度的特征提取网络的一种网络结构示例,其还可以是其他的特征提取网络结构。

在一些实施例中,可以在特征提取网络110中增加注意力子网络160,以增加特征提取过程中网络对于重要特征的注意力,从而使得提取的特征更加准确。在一些实施例中,可以将多尺度的特征提取网络与注意力子网络结合,即对特征提取网络110所得的至少一个尺度的第一特征网络增加注意力子网络160。这样能够使特征提取网络110学习每一个尺度的权重,即关注到目标应该在哪一个尺度上进行检测,从而在检测过程中更加快速地关注于相应尺度的特征的提取,提高目标检测的精度和速度。

参见图3,可以对第一特征图f1、f2、f3、f4和f5中的至少一个尺度增加注意力子网络160。以向一个尺度增加注意力子网络160为例。在一些实施例中,注意力子网络160选择第一尺度的一个第一特征图为在先层,并选择尺度小于第一尺度的第二尺度的一个第一特征图为临时层。例如,可以选择第一特征图f1为在先层,并从第一特征图f2、f3、f4和f5中选择一个作为临时层。这样在注意力权重的确定过程中,可以对临时层进行上采样操作,避免特征信息的丢失。之后,经过注意力子网络160的处理,得到第一特征图f1对应的增加了注意力的第一特征图,其可以用于后续的目标检测处理。在一些实施例中,注意力子网络160选择任一尺度的第一特征图为在先层;而确定临时层的过程为:从剩余尺度中选择小于在先层的尺度的至少两个尺度的第一特征图,并对选择的多个第一特征图进行卷积操作,得到一个合并的特征图,将该合并的特征图作为临时层。例如,选择第一特征图f1为在先层,并且选择第一特征图f2、f3、f4和f5进行合并,得到临时层。之后,经过注意力子网络160的处理,得到第一特征图f1对应的增加了注意力的第一特征图,其可以用于后续的目标检测处理。

区域生成网络120,用于处理第一特征图,得到至少一个候选区域。在一些实施例中,特征提取网络110输出多个尺度的第一特征图,针对每一个尺度可以通过区域生成网络120来生成对应的第一特征图的候选区域。在一些实施例中,参见图4所示的区域生成网络的网络结构框图,区域生成网络120的输入是特征提取网络110输出的第一特征图,然后通过一个卷积层和一个滑动窗口层,得到多个候选区域roi的信息。输出的候选区域roi的数量和尺寸与滑动窗口中预设的锚点(anchor)相关。区域生成网络120中对于滑动窗口层中的每个滑动窗口设置k个不同大小比例的锚点,如预先设置的1:2和1:5等的长宽比例,这样每个滑动窗口覆盖的位置会出现k个候选区域。在一些实施例中,区域生成网络120的输出为n×5的矩阵,n表示roi的数目,矩阵中的第一列表示roi标识(如编号),后四列表示roi的坐标信息,该坐标信息是对应于待检测图像中的绝对坐标。在一些实施例中,坐标信息可以表示为roi的两个对角点的坐标,如左上角坐标和右下角坐标,或者右上角坐标和左下角坐标。在一些实施例中,坐标信息还可以表示为roi的中心坐标和roi的宽度w和高度h。

在一些实施例中,为了更好地训练区域生成网络120,需要对样本候选区域进行筛选,将各样本候选区域划分为是目标的正样本、不是目标的负样本和无法确定是不是目标的无效样本。例如,以目标的实际边界框为边界框真值(groundtruth),以锚点对应的边界框和实际边界框的交集与并集的比,即交并比(iou)为样本划分依据。将具有与实际边界框的重叠最高交并比(iou)的样本候选区域,以及具有与实际边界框的重叠超过0.7iou的样本候选区域,均划分为正样本(或称正锚点),这样,一个groundtruth就可以对应有多个正样本;而将具有与所有的目标的实际边界框的重叠都小于0.3iou的样本候选区域划分为负样本(或称负锚点);将剩余的样本候选区域全部划分为无效样本,不参与区域生成网络120的训练。

roi池化网络130,用于处理第一特征图和至少一个候选区域,得到第二特征图,第二特征图包括至少一个候选区域。具体地,roi池化是池化的一种,是针对于有多个候选区域roi的池化操作,其是将第一特征图中对应于不同候选区域roi的局部特征图提取出来,并放缩到统一大小的过程。所以,roi池化网络130的输入为特征提取网络110和区域生成网络120的输出,即第一特征图和多个候选区域。roi池化网络130的处理过程为:首先,将每个候选区域roi信息映射到第一特征图中。在一些实施例中,如果候选区域和第一特征图的尺度不一致,鉴于roi坐标信息是待检测图像中的绝对坐标,可以按照待检测图像和第一特征图之间的比例关系,放缩第一特征图的坐标,使候选区域和第一特征图的坐标尺度一致。然后,经过最大池化,使每个候选区域roi生成固定大小(w×h)的特征图,即第二特征图。最大池化是将区域等分,然后取每一小块的最大值。

在一些实施例中,可以将第二特征图直接输入后续的分类网络140和回归网络150中,进行分类和边界框回归的处理。在一些实施例中,还可以在roi池化网络130以后增加一个全连接层,对第二特征图进行处理,生成一个全连接层。将该全连接层输入后续的分类网络140和回归网络150中,进行分类和边界框回归的处理。

分类网络140,用于处理第二特征图,得到至少一个目标的类别得分。在一些实施例中,分类网络140通过全连接层等网络结构,计算每个候选区域对应的第二特征图所属的类别,输出其属于每个类别的预测概率,即分类概率向量。在一些实施例中,分类网络140为二分类过程,其针对每个候选区域输出两个预测概率:属于目标的概率得分和不属于目标的概率得分。本实施例中,如果区域生成网络120中设置了k个锚点,那么分类网络140的输出便为2k个分类概率得分。

在一些实施例中,可以在分类网络140中增加注意力子网络160。参见图5所示的增加了注意力子网络的分类网络和回归网络的网络结构框图。分类网络140中,首先,对第二特征图进行卷积操作,所得特征图作为注意力子网络160的在先层,再对该在先层进行卷积操作,所得结果作为临时层。然后,通过注意力子网络160的处理,得到增加了注意力的在先层,其更加关注于目标所属类别对应的特征。最后,对增加了注意力的在先层经过卷积等操作,得到2k个分类概率得分,k为第二特征图中包含的候选区域的数量。

回归网络150,用于处理第二特征图,得到至少一个目标的边界框信息。在一些实施例中,回归网络150再次利用边界框回归获得第二特征图中每个候选区域的位置偏移量,用于回归获得更加精确的目标检测框。在一些实施例中,目标检测框以候选区域的中心点坐标(x,y)和框的宽度w和高度h,即(x,y,w,h),来表征。本实施例中,如果区域生成网络120中设置了k个锚点,那么回归网络150的输出便为4k个坐标值。

在一些实施例中,可以在回归网络150中增加注意力子网络160。参见图5,回归网络150中,首先,对第二特征图进行卷积操作,所得特征图作为注意力子网络160的在先层,再对该在先层进行卷积操作,所得结果作为临时层。然后,通过注意力子网络160的处理,得到增加了注意力的在先层,其更加关注于每个边界框的位置。最后,对增加了注意力的在先层经过卷积等操作,得到4k个坐标值,k为第二特征图中包含的候选区域的数量。

在一些实施例中,可以利用分类损失(classificationloss,用于评价分类的准确度)和回归损失(regressionloss,用于评价边界框的准确度)作为目标检测网络100训练的损失函数的基础。这两个损失函数按照一定的比重(如λ)构成目标检测网络100的完整的损失函数。在一些实施例中,完整的损失函数示例如公式(1):

其中,i是一个锚点的索引;pi是第i个锚点是目标的预测概率;是实际边界框groundtruth的概率,如果锚点为正,就是1,如果锚点为负,就是0;ti是一个向量,表示预测的边界框的4个参数化坐标;是与ti维度相同的向量,是与正锚点对应的groundtruth的坐标向量;λ是平衡参数;表示分类损失函数,ncls表示锚点的数量,表示两个类别(是目标、不是目标)的对数损失,其函数具体形式示例见公式(2);表示回归损失函数,nreg表示锚点的坐标的数量,的函数具体形式示例见公式(3),其中的r为表示l1范数的损失函数。

需要说明的是,上述损失函数(公式(1)-公式(3))为现有的损失函数形式,其只是本申请中的一个示例,目标检测网络100在训练过程中可以根据具体的训练需求而采用其他的损失函数形式。

在一些实施例中,提取网络110、区域生成网络120、roi池化网络130、分类网络140、回归网络150和注意力子网络160可以集成于同一电子设备中实现。在一些实施例中,提取网络110、区域生成网络120、roi池化网络130、分类网络140、回归网络150、注意力子网络160可以分散配置于至少两个电子设备中实现,这些设备之间互相通信连接,用以传输不同网络之间的处理数据。上述电子设备可以是具有大量运算功能的设备,例如可以是笔记本电脑、台式电脑、服务器或服务集群等。

图6是适于用来实现根据本申请实施方式的电子设备的结构示意图。

如图6所示,电子设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行前述的实施方式中的各种处理。在ram603中,还存储有电子设备600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出接口(i/o接口)605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本申请的实施方式,本申请描述的基于注意力机制的目标检测方法可以被实现为计算机软件程序。例如,本申请的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,该计算机程序包含用于执行基于注意力机制的目标检测方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

作为另一方面,本申请还提供了一种非暂态计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中电子设备中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的基于注意力机制的目标检测方法。

图7为本申请实施例提供的一种基于注意力机制的目标检测方法的流程图。该方法包括以下步骤701至704:

701、通过特征提取网络提取待检测图像的特征,得到第一特征图。

具体地,将待检测图像输入目标检测网络,目标检测网络中的特征提取网络会对其进行特征提取,输出第一特征图。第一特征图的空间维度与待检测图像的空间维度不同,第一特征图在长度和宽度的维度上所包含的信息量均小于待检测图像,但是第一特征图在深度维度上包含的信息量要大于待检测图像。例如,待检测图像的长度、宽度和深度的维度信息分别为512*512*32,经过特征提取网络110的处理后,所得第一特征图的长度、宽度和深度的维度信息分别为32*32*512,深度信息增多。

702、通过区域生成网络处理第一特征图,得到至少一个候选区域。

具体地,将第一特征图输入目标检测网络中的区域生成网络,经过处理,便可输出一个或多个候选区域roi的信息。输出的候选区域roi的数量和尺寸与区域生成网络中滑动窗口中预设的锚点(anchor)相关。如果区域生成网络中每个滑动窗口设置k个不同大小比例的锚点,那么每个滑动窗口覆盖的位置会出现k个候选区域。在一些实施例中,区域生成网络的输出为n×5的矩阵,n表示roi的数目,矩阵中的第一列表示roi标识(如编号),后四列表示roi的坐标信息,该坐标信息是对应于待检测图像中的绝对坐标。在一些实施例中,坐标信息可以表示为roi的两个对角点的坐标,如左上角坐标和右下角坐标,或者右上角坐标和左下角坐标。在一些实施例中,坐标信息还可以表示为roi的中心坐标和roi的宽度w和高度h。

703、通过roi池化网络处理第一特征图和至少一个候选区域,得到第二特征图,第二特征图包括至少一个候选区域。

具体地,将上述得到的第一特征图和至少一个候选区域输入roi池化网络,roi池化网络首先,将每个候选区域roi信息映射到第一特征图中。在一些实施例中,如果候选区域和第一特征图的尺度不一致,鉴于roi坐标信息是待检测图像中的绝对坐标,可以按照待检测图像和第一特征图之间的比例关系,放缩第一特征图的坐标,使候选区域和第一特征图的坐标尺度一致。然后,经过最大池化,使每个候选区域roi生成固定大小(w×h)的特征图,即得到第二特征图。

704、通过分类网络和回归网络分别处理第二特征图,得到至少一个目标的类别得分和边界框信息;其中,特征提取网络、分类网络和回归网络中的至少一个包括注意力子网络。

具体地,将第二特征图分别输入分类网络和回归网络。通过分类网络的处理,计算每个候选区域对应的第二特征图所属的类别,输出其属于每个类别的预测概率,即分类概率向量。在一些实施例中,分类网络为二分类过程,其针对每个候选区域输出两个预测概率:属于目标的概率得分和不属于目标的概率得分。本实施例中,如果区域生成网络中设置了k个锚点,那么分类网络140的输出便为2k个分类概率得分(即类别得分)。通过回归网络的处理,再次利用边界框回归获得第二特征图中每个候选区域的位置偏移量,用于回归获得更加精确的目标检测框。在一些实施例中,目标检测框以候选区域的中心点坐标(x,y)和框的宽度w和高度h,即(x,y,w,h),来表征。本实施例中,如果区域生成网络120中设置了k个锚点,那么回归网络150的输出便为4k个坐标值(即边界框信息)。

在一些实施例中,可以在将第二特征图输入分类网络和回归网络之前,将第二特征图输入一个全连接层,得到第二特征图对应的全连接特征图,在将该全连接特征图分别输入分类网络和回归网络。

在一些实施例中,上述特征提取网络、分类网络和回归网络中的至少一个包括注意力子网络。这样,在步骤701和704的处理过程中,会增加注意力子网络的处理过程,使得特征提取过程更加关注目标的特征、分类的类别和边界框的位置,提高目标分类精度和目标定位精度,从而提高目标检测的准确度。

在一些实施例中,注意力子网络的处理过程包括步骤801至804:

801、确定在先层,该在先层为待配置注意力权重的特征图。

具体地,本申请中的注意力子网络是通过为网络中需要被关注的信息增加权重来实现增加注意力的,而为了确保权重的可靠性,将权重设置为通过网络中的特征图计算而来。所以,注意力子网络要选定包含被关注信息的特征图,即待配置注意力权重的在先层。在一些实施例中,如果注意力子网络被增加至特征提取网络,那么在先层可以是第一特征图。在一些实施例中,如果特征提取网络为多尺度的特征提取网络,即特征提取网络提取得到多张尺度不同的第一特征图,那么在先层可以是多个尺度中较大的一个第一尺度的第一特征图。在一些实施例中,如果特征提取网络提取得到多张尺度不同的第一特征图,那么在先层可以是任一尺度的一个第一特征图。在一些实施例中,如果注意力子网络被增加至分类网络或回归网络,那么在先层可以基于第二特征图来获得,例如对第二特征图进行卷积操作,所得特征图便可作为在先层。

802、确定临时层。

在一些实施例中,注意力子网络通过对在先层进行卷积操作确定临时层。这样临时层也是由网络中的特征图而来,避免引入外来误差,进一步确保后续权重的可靠性。

在一些实施例中,如果特征提取网络提取得到多张尺度不同的第一特征图,并且在先层是第一尺度的一个第一特征图,那么选择尺度小于第一尺度的第二尺度的一个第一特征图为临时层。例如,参见图3,可以选择第一特征图f1为在先层,并从第一特征图f2、f3、f4和f5中选择一个作为临时层。这样在注意力权重的确定过程中,可以对临时层进行上采样操作,避免特征信息的丢失。

在一些实施例中,如果特征提取网络提取得到多张尺度不同的第一特征图,并且在先层是任一尺度的一个第一特征图,那么确定临时层的过程为:从剩余尺度中选择小于在先层的尺度的至少两个尺度的第一特征图,并对选择的多个第一特征图进行卷积操作,得到一个合并的特征图,将该合并的特征图作为临时层。例如,图3中,选择第一特征图f1为在先层,并且选择第一特征图f2、f3、f4和f5进行合并,得到临时层。

803、基于在先层和临时层,确定注意力权重。

具体地,注意力子网络确定了在先层和临时层之后,便可通过对在先层和临时层进行各种运算来得到注意力权重。在一些实施例中,先对在先层和临时层进行相加操作;再对相加操作所得的特征图进行卷积和sigmoid激活操作,便可得到与在先层相匹配的注意力权重。该注意力权重代表网络的注意力,权重大的地方,是注意力集中点,该处是目标的可能性就增大。

在一些实施例中,注意力子网络基于在先层和临时层,确定注意力权重之前,将在先层的尺度和临时层的尺度进行统一,进行尺度统一的方式可以是对尺度较小的层进行上采样,也可以是对尺度较大的层进行下采样。如果在先层和临时层的尺度不统一,则无法进行后续的相加操作,所以可以通过上采样或者下采样的方式将两者尺度统一。在一些实施例中,鉴于在先层是用于后续目标检测的特征图,而临时层只是用于计算注意力权重的中间过渡层,可以选择将临时层的尺度统一至在先层的尺度。

804、将在先层和注意力权重进行乘积操作,实现对在先层增加注意力。

具体地,对在先层和注意力权重进行乘积操作,得到增加注意力的在先层。

需要说明的是,如果特征提取网络提取得到多张尺度不同的第一特征图,那么可以向至少一个尺度增加注意力子网络。例如,图3中,可以向其中一个尺度增加注意力子网络,也可以向一种两个、三个、四个甚至五个尺度均增加注意力子网络。

综上所述,本申请提供的基于注意力机制的目标检测方法向目标检测网络中的特征提取网络、分类网络和回归网络中的至少一个增加注意力子网络,使得目标检测网络更加专注于图像中需要关注的目标的特征、类别和位置中的至少一种,提高目标分类精度和目标定位精度,从而提高目标检测精确度。并且,增加的注意力子网络只需在原有网络基础上增加少数的卷积和激活的操作,不会增加网络的计算量和计算时间。反而,注意力子网络的增加,使得目标检测网络可以更加快速地专注于目标的特征、类别和位置,一定程度上节省了网络的训练时间和检测时间,提高了目标检测的速度。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

附图中的流程图和框图,图示了按照本申请各种实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所述的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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