一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力图排序的细粒度识别方法与流程

2022-02-20 14:24:46 来源:中国专利 TAG:


1.本发明涉及一种基于注意力图排序的细粒度识别方法,属于计算机视觉和模式识别技术领域。


背景技术:

2.细粒度图像识别主要是对某个类别的子类进行细分类,例如不仅要识别花、鸟、狗这样大的类别,而且要识别狗的不同子类,例如哈士奇、萨摩、金毛等细分类别。在区分细分类别时,往往总体外观差不多,需要通过一些局部细节来进行区分,而局部细节随着当前目标的姿态不同在图像中的位置并不相同,因此细粒度图像识别相较于传统图像识别更为困难。
3.细粒度图像识别任务一直是计算机视觉领域的一个挑战,主要有以下原因:(1)高类内差异。属于同一类别的物体通常呈现明显不同的姿态;(2)低类间差异。属于不同类别的物体除了一些微小的差异外非常相似,例如,除了鸟头颜色、鸟嘴形状外非常相似;(3)训练数据有限。标记细粒度类别通常需要大量专业知识和标注时间,因此细粒度识别数据集规模一般较小。由于这些原因,仅仅依靠现有的粗粒度卷积神经网络(cnn)很难获得准确的分类结果。
4.为了区分不同的子类,例如,为了区分不同种类的鸟,除了从图片整体提取特征之外,还需要挑选出有区别性的局部区域,比如鸟的头部,嘴,脚等局部区域,用局部区域的特征来辅助最后的类别判断。至于背景信息,例如花草之类的,则对类别判断不重要,因为不同的鸟类会停留在树木上,草地上,关注树木和草地的信息对鸟类的识别并不能够起到至关重要的作用。所以,在图像识别领域引入注意力机制就是一个非常有效的技术,让深度学习模型更加关注某个有区别性的局部区域。又由于细粒度识别有区别性的局部区域差异比较细微,因此在本发明中利用中间层特征来进行分类,中间层特征相较于高层特征分辨率更高,包含更多位置、细节信息,同时又克服了低层特征语义性低、噪声多的特点。同时,通过卷积、全局平均池化、全局最大池化的操作来获得多尺度信息,从而更有利于只有局部区域有细微差异的细粒度识别任务。
5.标记细粒度类别通常需要领域专家依靠专业知识花费大量标注时间来完成,因此细粒度识别数据集一般较小。正是由于这个原因,数据扩充就显得尤为必要。传统的数据增强方式一般是对图片做随机裁剪,这样就很容易剪切出背景区域或者不完整的部件区域,这些背景区域或者被裁剪的不完整的部件区域就相当于噪声,尤其是当要识别对象的尺寸很小时,引入的噪声会更多。


技术实现要素:

6.针对以上问题,本发明提出一种基于注意力图排序的细粒度识别方法,通过该方法可以从原图像、定位出的细粒度识别区域、选取的最有鉴别性的区域三个层面来提取特征,进行类别预测,从而提高细粒度识别的精度。
7.本发明的技术方案如下:
8.为实现本发明目的,本发明提出了一种基于注意力图排序的细粒度识别方法,包括如下步骤:(1)获取原图像特征;(2)进行弱监督注意力学习;(3)定位与细化,通过边界框定位出细粒度识别区域并提取该区域的特征;(4)将注意力图按重要性排序算法进行排序,选取出最有鉴别性的区域来参与类别预测;(5)将所述原图像、定位出的所述细粒度识别区域、选取的所述最有鉴别性的区域三个层面的特征进行级联,用于最终的预测。
9.进一步地,步骤(1)中,所述获取原图像特征具体包括:利用卷积神经网络inception v3前三个卷积层提取训练集中图像的特征,然后使用3*3卷积conv、全局最大池化gap和全局平均池化gmp分别对第三个卷积层的输出结果x3进行处理,将处理得到的三个特征:进行级联,得到级联后的特征然后将级联后的特征进行批标准化batch normalization处理加快卷积网络的训练速度,通过全连接处理得到图像的特征图;通过双线性插值法将得到的特征图调整到相同大小,从而得到原图像的特征,用于最后的类别预测。
10.进一步地,步骤(2)中,所述进行弱监督注意力学习包括:(2.1)获取特征图和注意力图;(2.2)双线性注意力集中;(2.3)注意力正则化;(2.4)训练过程中注意力图导向的数据扩充,包括增强图、注意力裁剪和注意力下降的数据扩充。
11.进一步地,步骤(2.1)中,所述获取特征图和注意力图具体为:利用卷积神经网络提取训练集中图像的特征,得到特征图f,f∈rh×w×n,r表示维度,h、w分别表示特征图的高度、宽度,n表示特征图通道数,物体各部分的分布用注意力图a∈rh×w×m来表示,m表示注意力图数量,注意力图a是由f通过如下公式获得的:其中f表示特征图,f(f)表示对特征图进行卷积操作,k表示计数器,k∈[1,m],ak表示第k张注意力图。
[0012]
进一步地,步骤(2.2)中,所述双线性注意力集中具体为:在得到注意力图a之后,使用双线性注意力集中bap从这些部分提取特征,按元素将特征图f乘以每个注意力图来生成零件特征图,如下公式所示:fk=ak⊙
f(k=1,2,

m)其中,fk∈r1×n表示第k张零件特征图,

代表逐元素相乘操作;通过特征提取操作进一步提取有区别的局部特征,获得第k个进一步提取后的零件特征fk∈r1×n,如下公式所示:fk
=g(fk)其中,fk表示第k个进一步提取后的零件特征,g(fk)表示对第k张零件特征图fk进行特征提取操作;物体整体的特征由零件特征矩阵p∈rm×n表示,该矩阵由这些进一步提取后的零件特征叠加而成,可以用下边的式子表示零件特征矩阵,其中,m表示注意力图数量,n表示特征图通道数。
[0013]
进一步地,步骤(2.3)中,所述注意力正则化具体为:对于每一个细粒度的类别,期望第k张注意力图ak代表对象的第k个相同部位,惩罚属于同一部位进一步提取后的零件特征的差异,第k个进一步提取后的零件特征fk将接近第k个全局特征中心ck∈r1×n,并且第k张注意力图ak将在同一对象的零件中被激活,注意力正则化损失如下公式所示:ck更新公式如下:ck←ck
β(f
k-ck)其中,m表示注意力图数量,k表示计数器,k∈[1,m],fk表示第k个进一步提取后的零件特征,ck表示第k个全局特征中心,表示对第k个进一步提取后的零件特征fk与第k个全局特征中心的差求二范数再平方,β表示ck的更新速率。
[0014]
进一步地,步骤(2.4)中,所述训练过程中注意力图导向的数据扩充,包括增强图、注意力裁剪和注意力下降的数据扩充,具体为:所述增强图的数据扩充步骤如下:当对象的尺寸很小时,图像中很大一部分都是背景,此种情况下随机数据增强效率很低,对于每个训练图像,随机选择一张注意力图来指导强化学习过程,并将其归一化为增强图,该过程可用如下公式来表示:其中,表示第k张注意力图的增强图,r表示维度,h、w分别表示注意力图的增强图的高度、宽度,ak表示第k张注意力图,min(ak)表示第k张注意力图中像素值最小像素点的像素值,max(ak)表示第k张注意力图中像素值最大像素点的像素值;所述注意力裁剪的数据扩充步骤如下:首先将大于人为设定的裁剪阈值θc∈[0,1]的像素点的裁剪遮罩设置为1,其他像素点的裁剪遮罩设置为0,如下公式所示:
其中,(i,j)表示横轴、纵轴坐标分别为i和j的像素点,ck(i,j)表示从第k张增强图获得的像素点(i,j)的裁剪遮罩,表示第k张增强图中像素点(i,j)的值;从第k张增强图确定的边界框bk可以覆盖ck(i,j)为正值的区域,从原图像中放大bk包围的区域作为增强的输入数据,提取更细粒度的特;所述注意力下降的数据扩充步骤如下:通过将大于人为设定的下降阈值θd∈[0,1]的像素点的下降遮罩设置为0,并将其它像素点的下降遮罩设置为1,如下公式所示:其中dk(i,j)表示从第k张增强图获得的像素点(i,j)的下降遮罩。
[0015]
进一步地,步骤(3)中,所述定位与细化,通过边界框定位出细粒度识别区域并提取该区域的特征,具体为:利用训练好的网络模型经过步骤(2.1)后得到所述注意力图a,指示对象位置的m张注意力图的平均a
aver
由下式计算:根据a
aver
按照步骤(2.4)中所述注意力裁剪的数据扩充步骤从原图像中裁剪出a
aver
指示的对象区域,该区域即为定位出的细粒度识别区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,得到细粒度识别区域特征,用于最后的类别预测。
[0016]
进一步地,步骤(4)中,所述将注意力图按重要性排序算法进行排序,选取出最有鉴别性的区域来参与类别预测具体为:利用训练好的网络模型经过步骤(2.1)后得到所述注意力图a,从原图像中裁剪出ak指示的对象区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,根据该特征判断其属于groundtruth类的概率q1,q2,q3,...,qm,选取出属于groundtruth类概率的最大值qk所对应的一个区域,该区域相应的ak被认为重要程度最高,把该区域当作锚节点,计算出每个区域的几何中心的坐标,把几何中心距离锚节点几何中心小于margin的所有区域挑选出来,相应地得到这些区域相对应的注意力图ak,a
l
,...,a
t
,对这些注意力图求平均得到a
aver
,从原图像中裁剪出a
aver
指示的物体区域,该区域即为最有鉴别性的区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,得到最有鉴别性的区域特征,用于最后的类别预测。有益效果
[0017]
1、本发明提出了一个注意力图重要性排序的算法,可以把各个注意力图按重要性进行排序,从而按注意力图的重要程度,在原图中定位出最有鉴别性的区域,强化对最有鉴别性的区域的学习,同时该方法也解决了随机裁剪这种数据增强方式随机性强会引入过多
不必要的噪声的问题;2、本发明在提取原图像特征时采用了前三个卷积层提取,提取的中间层特征相较于高层特征分辨率更高,包含更多位置、细节信息,同时又解决了低层特征语义性低,噪声多的问题;然后使用3*3卷积conv、全局最大池化gap和全局平均池化gmp对第三个卷积层的输出结果进行操作,这样可以得到多尺度的信息,从而更有利于只有局部区域有细微差异的细粒度识别任务;3、本发明中用到了注意力裁剪和注意力下降操作,应用了强化学习的思想,驱使网络提取出更有区别性的特征。
附图说明
[0018]
图1为本发明一种基于注意力图排序的细粒度识别方法的流程图;图2为本发明一种基于注意力图排序的细粒度识别方法的总体框架图;图3为图2中弱监督注意力学习过程的示意图;图4为图2中双线性注意力集中过程的示意图;图5为图2中注意力图重要性排序算法的示意图。
具体实施方式
[0019]
下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0020]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0021]
在本实施例一种基于注意力图排序的细粒度识别方法,其流程如图1所示,其总体框架图如图2所示,包括如下步骤:(1)获取原图像特征;利用卷积神经网络inception v3前三个卷积层提取训练集中图像的特征,然后使用3*3卷积conv、全局最大池化gap和全局平均池化gmp分别对第三个卷积层的输出结果x3进行处理,如图3所示,将处理得到的三个特征:进行处理,如图3所示,将处理得到的三个特征:进行级联,得到级联后的特征然后将级联后的特征进行批标准化batch normalization处理加快卷积网络的训练速度,通过全连接处理得到图像的特征图;通过双线性插值法将得到的特征图调整到相同大小,从而得到原图像的特征,用于最后的类别预测。
[0022]
(2)进行弱监督注意力学习;(2.1)获取特征图和注意力图:利用卷积神经网络提取训练集中图像的特征,得到特征图f,f∈rh×w×n,物体各部分的分布用注意力图a∈rh×w×m来表示,r表示维度,h、w分别表示高度、宽度,n表示特征图通道数,m表示注意力图数量,注意力图a是由f通过如下公式获得:
其中f表示特征图,f(f)表示对特征图进行卷积操作,k表示计数器,k∈[1,m],ak表示第k张注意力图。
[0023]
(2.2)双线性注意力集中:在得到注意力图a之后,使用双线性注意力集中(bilinear attention pooling,bap)从这些部分提取特征,如图4所示,为双线性注意力集中过程图,按元素将特征图f乘以每个注意力图来生成零件特征图,如下公式所示:fk=ak⊙
f(k=1,2,...m)其中,fk∈r1×n表示第k张特征图,

代表逐元素相乘操作。通过特征提取操作进一步提取有区别的局部特征,获得第k个进一步提取后的零件特征fk∈r1×n,如下公式所示:fk=g(fk)其中fk表示第k个进一步提取后的零件特征,g(fk)表示对第k张特征图fk进行特征提取操作。
[0024]
物体整体的特征由零件特征矩阵p∈rm×n表示,该矩阵由这些进一步提取后的零件特征叠加而成,可以用下边的式子表示,其中,m表示注意力图数量,n表示特征图通道数。
[0025]
(2.3)注意力正则化:对于每一个细粒度的类别,期望第k张注意力图ak代表对象的第k个相同部位,本发明提出了注意力正则化损失来弱监督注意力学习过程。惩罚属于同一对象进一步提取后的零件特征的差异,第k个进一步提取后的零件特征fk将接近第k个全局特征中心ck∈r1×n,并且第k张注意力图ak将在同一对象的零件中被激活,注意力正则化损失如下公式所示:ck更新公式如下:ck←ck
β(f
k-ck)其中m表示注意力图数量,k表示计数器,k∈[1,m],fk表示第k个进一步提取后的零件特征,ck表示第k个全局特征中心,表示对第k个进一步提取后的零件特征fk与第k个全局特征中心的差求二范数再平方,β表示ck的更新速率。
[0026]
(2.4)训练过程中注意力图导向的数据扩充,包括增强图、注意力裁剪和注意力下降的数据扩充。
[0027]
其中,增强图的数据扩充步骤如下:
当对象的尺寸很小时,图像中很大一部分都是背景,此种情况下随机数据增强效率很低。有了注意力图,数据可以更有效地扩充。对于每个训练图像,随机选择一张注意力图来指导强化学习过程,第k张注意力图归一化为增强图表示为:其中r表示维度,h、w分别表示高度、宽度,ak表示第k张注意力图,min(ak)表示第k张注意力图中像素值最小像素点的像素值,max(ak)表示第k张注意力图中像素值最大像素点的像素值。
[0028]
注意力裁剪的数据扩充步骤如下:有了增强图,通过放大增强图在原图中对应的区域,提取更详细的局部特征,具体来说,首先将大于人为设定的裁剪阈值θc∈[0,1]的像素点的裁剪遮罩设置为1,其他像素点的裁剪遮罩设置为0,如下公式所示:其中(i,j)表示横轴、纵轴坐标分别为i和j的像素点,ck(i,j)表示从第k张增强图获得的像素点(i,j)的裁剪遮罩,表示第k张增强图中像素点(i,j)的值。
[0029]
从第k张增强图确定的边界框bk可以覆盖ck(i,j)为正值的区域,从原图像中放大bk包围的区域作为增强的输入数据,如图3所示。由于对象部分的比例增加,可以更好地看到对象,提取更细粒度的特征。
[0030]
注意力下降的数据扩充步骤如下:注意力正则化损失监督第k张注意力图ak代表相同对象的第k个部位,而不同的注意力图可能聚焦于对象的相似部位。为了鼓励注意图代表对象的多个区分部位,提出了注意力下降。具体来说,通过将大于人为设定的下降阈值θd∈[0,1]的像素点的下降遮罩设置为0,并将其它像素点的下降遮罩设置为1,如下公式所示:其中dk(i,j)表示从第k张增强图获得的像素点(i,j)的下降遮罩。
[0031]
通过dk(i,j)掩蔽原图像删除第k个部位区域,由于从图像中消除了第k个部位区域,将鼓励网络提取出其他有区别的部分,这意味着也可以更好地看到对象:分类的鲁棒性和定位的准确性将得到提高。
[0032]
(3)定位与细化,通过边界框定位出细粒度识别区域并提取该区域的特征:利用训练好的网络模型经过步骤(2.1)后得到注意力图a,指示对象位置的m张注意力图的平均a
aver
由下式计算:根据a
aver
按照步骤(2.4)中注意力裁剪的数据扩充步骤从原图像中裁剪出a
aver
指示的对象区域,该区域即为定位出的细粒度识别区域,利用双线性插值法将该区域放大,利
用相同的网络结构提取该区域的特征,得到细粒度识别区域特征,用于最后的类别预测。
[0033]
(4)将注意力图按重要性排序算法进行排序,选取出最有区别性的部位来参与类别预测,如图5所示,为注意力图重要性排序算法的示意图。
[0034]
利用训练好的网络模型经过步骤(2)后得到注意力图a,根据ak按照步骤(2.4)中注意力裁剪的数据扩充步骤从原图像中裁剪出ak指示的对象区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,根据该特征判断其属于groundtruth类的概率q1,q2,q3,...,qm,选取出属于groundtruth类概率的最大值qk所对应的一个区域,该区域相应的ak被认为重要程度最高,把该区域当作锚节点。计算出每个区域的几何中心的坐标,把几何中心距离锚节点几何中心小于margin的所有区域挑选出来,这些区域相对应的注意力图ak,a
l
,...,a
t
,对这些注意力图求平均得到a
aver
,按照步骤(2.4)中注意力裁剪的数据扩充从原图像中裁剪出a
aver
指示的物体区域,该区域即为最有鉴别性的区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,得到最有鉴别性的区域特征,用于最后的类别预测;(5)将原图像、定位出的细粒度识别区域、选取的最有鉴别性的区域三个层面的特征进行级联(concat),用于最终的预测。
[0035]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献