1.一种基于注意力图排序的细粒度识别方法,其特征在于,包括如下步骤:(1)获取原图像特征,所述获取原图像特征具体包括:
利用卷积神经网络Inception v3前三个卷积层提取训练集中图像的特征,然后使用3*
3卷积Conv、全局最大池化GAP和全局平均池化GMP分别对第三个卷积层的输出结果X3进行处理,将处理得到的三个特征: 进行级联,得到级联后的特征 然后将级联后的特征进行批标准化Batch Normalization处理加快卷积网络的训练速度,通过全连接处理得到图像的特征图;通过双线性插值法将得到的特征图调整到相同大小,从而得到原图像的特征,用于最后的类别预测;
(2)进行弱监督注意力学习,所述进行弱监督注意力学习包括:(2.1)获取特征图和注意力图;
(2.2)双线性注意力集中;
(2.3)注意力正则化;
(2.4)训练过程中注意力图导向的数据扩充,包括增强图、注意力裁剪和注意力下降的数据扩充;
(3)定位与细化,通过边界框定位出细粒度识别区域并提取该区域的特征;
(4)将注意力图按重要性排序算法进行排序,选取出最有鉴别性的区域来参与类别预测;
(5)将所述原图像、定位出的所述细粒度识别区域、选取的所述最有鉴别性的区域三个层面的特征进行级联,用于最终的预测。
2.根据权利要求1所述的细粒度识别方法,其特征在于,步骤(2.1)中,所述获取特征图和注意力图具体为:H×W×N
利用卷积神经网络提取训练集中图像的特征,得到特征图F,F∈R ,R表示维度,H、WH分别表示特征图的高度、宽度,N表示特征图通道数,物体各部分的分布用注意力图A∈R×W×M来表示,M表示注意力图数量,注意力图A是由F通过如下公式获得的:其中F表示特征图,f(F)表示对特征图进行卷积操作,k表示计数器,k∈[1,M],Ak表示第k张注意力图。
3.根据权利要求2所述的细粒度识别方法,其特征在于,步骤(2.2)中,所述双线性注意力集中具体为:在得到注意力图A之后,使用双线性注意力集中BAP从这些部分提取特征,按元素将特征图F乘以每个注意力图来生成零件特征图,如下公式所示:Fk=Ak⊙F(k=1,2,...M)
1×N
其中,Fk∈R 表示第k张零件特征图,⊙代表逐元素相乘操作;
通过特征提取操作进一步提取有区别的局部特征,获得第k个进一步提取后的零件特
1×N
征fk∈R ,如下公式所示:
fk=g(Fk)
其中,fk表示第k个进一步提取后的零件特征,g(Fk)表示对第k张零件特征图Fk进行特征提取操作;
M×N
物体整体的特征由零件特征矩阵P∈R 表示,该矩阵由这些进一步提取后的零件特征叠加而成,可以用下边的式子表示零件特征矩阵,其中,M表示注意力图数量,N表示特征图通道数。
4.根据权利要求3所述的细粒度识别方法,其特征在于,步骤(2.3)中,所述注意力正则化具体为:对于每一个细粒度的类别,期望第k张注意力图Ak代表对象的第k个相同部位,惩罚属于同一部位进一步提取后的零件特征的差异,第k个进一步提取后的零件特征fk将接近第k个
1×N
全局特征中心ck∈R ,并且第k张注意力图Ak将在同一对象的零件中被激活,注意力正则化损失 如下公式所示:ck更新公式如下:
ck←ck+β(fk‑ck)
其中,M表示注意力图数量,k表示计数器,k∈[1,M],fk表示第k个进一步提取后的零件特征,ck表示第k个全局特征中心, 表示对第k个进一步提取后的零件特征fk与第k个全局特征中心的差求二范数再平方,β表示ck的更新速率。
5.根据权利要求4所述的细粒度识别方法,其特征在于,步骤(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)的下降遮罩。
6.根据权利要求5所述的细粒度识别方法,其特征在于,步骤(3)中,所述定位与细化,通过边界框定位出细粒度识别区域并提取该区域的特征,具体为:利用训练好的网络模型经过步骤(2.1)后得到所述注意力图A,指示对象位置的M张注意力图的平均Aaver由下式计算:根据Aaver按照步骤(2.4)中所述注意力裁剪的数据扩充步骤从原图像中裁剪出Aaver指示的对象区域,该区域即为定位出的细粒度识别区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,得到细粒度识别区域特征,用于最后的类别预测。
7.根据权利要求6所述的细粒度识别方法,其特征在于,步骤(4)中,所述将注意力图按重要性排序算法进行排序,选取出最有鉴别性的区域来参与类别预测具体为:利用训练好的网络模型经过步骤(2.1)后得到所述注意力图A,从原图像中裁剪出Ak指示的对象区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,根据该特征判断其属于groundtruth类的概率Q1,Q2,Q3,...,Qm,选取出属于groundtruth类概率的最大值Qk所对应的一个区域,该区域相应的Ak被认为重要程度最高,把该区域当作锚节点,计算出每个区域的几何中心的坐标,把几何中心距离锚节点几何中心小于margin的所有区域挑选出来,相应地得到这些区域相对应的注意力图Ak,Al,...,At,对这些注意力图求平均得到Aaver,从原图像中裁剪出Aaver指示的物体区域,该区域即为最有鉴别性的区域,利用双线性插值法将该区域放大,利用相同的网络结构提取该区域的特征,得到最有鉴别性的区域特征,用于最后的类别预测。