基于注意力转移机制的细粒度图像分类方法

文档序号:1737502 发布日期:2019-12-20 浏览:24次 >En<

阅读说明:本技术 基于注意力转移机制的细粒度图像分类方法 (Fine-grained image classification method based on attention transfer mechanism ) 是由 牛毅 焦阳 李甫 石光明 于 2019-09-06 设计创作,主要内容包括:本发明提出了一种基于注意力转移机制的细粒度图像分类方法,用于提高细粒度图像分类精度。实现步骤为:获取包含细粒度图像的训练样本集和测试样本集;构建全局感知网络和注意力转移网络模型;利用训练样本集对全局感知网络和注意力转移网络进行训练;用训练好的全局感知网络和注意力转移网络对测试样本集进行分类。本发明通过设计全局感知网络和注意力转移网络对图像进行联合特征提取,使网络在提取了全局特征和判别区域特征的基础上,进一步提取了不同判别区域之间的语义相关性,从而加强了网络的特征提取能力,有效提高了细粒度图像分类准确率。(The invention provides a fine-grained image classification method based on an attention transfer mechanism, which is used for improving the classification precision of fine-grained images. The method comprises the following implementation steps: acquiring a training sample set and a test sample set containing fine-grained images; constructing a global perception network model and an attention transfer network model; training a global perception network and an attention transfer network by utilizing a training sample set; and classifying the test sample set by using the trained global perception network and attention transfer network. The invention carries out combined feature extraction on the image by designing the global perception network and the attention transfer network, so that the network further extracts semantic relativity between different discrimination areas on the basis of extracting global features and discrimination area features, thereby enhancing the feature extraction capability of the network and effectively improving the classification accuracy of fine-grained images.)

基于注意力转移机制的细粒度图像分类方法

技术领域

本发明属于计算机视觉技术领域,涉及一种细粒度图像分类方法,具体涉及一种基于注意力转移机制的细粒度图像分类方法,可用于精细分类任务,如鸟类分类、汽车分类等。

背景技术

图像分类,是一种通过基于设计或学习的方法来提取图像自身判别特征,让智能设备能够自动识别图像主体所属的类别的处理方法。图像分类方法广泛应用在社会各个领域,如人脸识别、物种识别等。根据图像分类目标的粒度不同,图像分类方法一般可以分为两类,即通用(粗粒度)图像分类及子类(细粒度)图像分类。粗粒度图像分类方法旨在识别不同类别物体,如区分猫和狗;而细粒度图像分类方法旨在识别同一类物体的不同子类,如区分蓝猫和波斯猫,或区分阿拉斯加犬和哈士奇等。

近年来,随着深度学***均水平。因此,细粒度图像分类得到越来越多的重视。相对于粗粒度图像,细粒度图像不仅存在自身光照及姿态变化的问题,还存在图像类间距离小、类内距离大的问题。这些问题对细粒度图像分类过程中判别区域定位与特征提取造成极大的困难。因此,如何精确且自适应地定位细粒度图像判别区域,并准确地提取判别区域的特征,成为提升细粒度图像分类精度的关键。

根据不同的判别区域定位方法,细粒度图像分类方法可分为两类:基于强监督的细粒度图像分类方法和基于弱监督的细粒度图像分类方法。相对于基于强监督的细粒度图像分类方法,基于弱监督的细粒度图像分类方法只利用图像类别标签进行判别区域定位,而不使用额外的判别区域标签。基于弱监督的细粒度分类方法一般过程为:首先,对细粒度图像进行特征提取;其次,通过采用不同方法,如基于视觉注意力的方法、基于图像金字塔的方法等,利用提取到的特征对细粒度图像进行判别区域定位,并对得到的判别区域进行进一步特征提取;最后,根据提取到的图像特征进行图像分类。基于弱监督的细粒度分类具有训练效率高、判别区域自适应,以及标签成本低等优点,是当前细粒度图像分类领域的研究热点。

目前为止,基于弱监督的细粒度图像分类方法有以下几种:

例如,申请公布号为CN 110084285A,名称为“基于深度学习的鱼类细粒度分类方法”的专利申请,公开了一种基于深度学习的鱼类细粒度图像分类方法,包括将获取的图像进行预处理,使用深度神经网络进行特征提取,构建特征金字塔网络进行区域提议,对判别区域进行裁剪和特征提取,随后一方面利用提取出的特征做一次分类,将该分类的准确率作为监督信号输入到区域提议网络,另一方面将该特征与全局特征融合送入全连接层做分类,输出最终的分类结果。该发明通过设计特征金字塔来进行判别区域定位,解决了细粒度图像分类任务中由于较大的类内差异和较小的类间差异造成的准确率较低的问题。然而,该方法仅在14*14、7*7和4*4三个尺度上构建特征金字塔,迫使细粒度图像的判别区域只能在该尺度上产生,而无法准确定位判别区域,导致分类准确率仍然较低。

又如,Zheng Heliang等人于2017年在《IEEE International Conference onComputer Vision》上发表了一篇题为“Learning Multi-Attention ConvolutionalNeural Network for Fine-Grained Image Recognition”的文章,公开了一种多注意力机制的细粒度图像分类方法,该方法通过构建多个深度卷积网络来对细粒度图像进行特征提取,然后采用多注意机制和优化损失函数的方法对图像判别区域进行定位,最后将全局特征和多个判别区域特征级联后输入分类器进行分类,得到分类结果。该方法解决了细粒度图像分类任务中判别区域定位不精确的问题,但由于该方法没有考虑不同判别区域之间的语义相关性,降低了网络的特征提取能力,导致分类准确率仍然较低。

发明内容

本发明的目的在于针对上述现有技术的不足,提出一种基于注意力转移机制的细粒度图像分类方法,用于解决现有技术中存在的细粒度图像分类准确率较低的技术问题。

本发明的技术思路是:首先,通过全局感知网络GNet提取图像全局特征及基于全局特征定位全局判别区域;然后,通过注意力转移网络ANet定位注意力判别区域,并提取不同注意力判别区域之间的相关性特征;最后,采用决策级融合对GNet和ANet的输出结果进行融合,得到最终的细粒度分类结果。具体步骤如下:

(1)获取训练样本集和测试样本集:

(1a)选取包含C类细粒度类别且每个类别的幅数为H的自然图像,并对所有自然图像进行尺寸归一化,归一化后的自然图像的像素大小为h×w,C≥2,H≥20,h≥2,w≥2;

(1b)对随机选取的50%以上的每类归一化后的自然图像进行标记,并将标记过的每类归一化后的自然图像及其标签组成训练样本集,将剩余每类归一化后的自然图像组成测试样本集;

(2)构建全局感知网络GNet模型:

(2a)构建全局感知网络GNet结构:

构建包括M个并行排列的全局特征提取网络GNet1及与M个GNet1相连的全局特征融合网络GNet2的全局感知网络结构,其中:

全局特征提取网络GNet1包括输入层、多个卷积层、多个池化层、多个激活层、多个全连接层、自动编码层和Softmax层,用于生成M个全局预测概率其中m为全局特征图标号索引,且m∈[1,M];

全局特征融合网络GNet2包括输入层、多个卷积层、多个池化层、多个激活层、级联层、多个全连接层和一个Softmax层,用于生成全局特征向量fglb和全局融合概率yGNet2

(2b)定义全局感知网络GNet的损失函数:

定义M个全局特征提取网络GNet1中第m个GNet1的损失函数及全局特征融合网络GNet2的损失函数LGNet2

其中,表示交叉熵损失函数,是经过独热编码后的训练图像真实类别标签,c是图像类别标号索引,中第c个类别的概率值,是全局预测概率中第c个类别的概率值,且c∈[1,C],α为中所占的权重;表示分离损失函数,j是全局特征图标号索引,且j∈[1,M],(x,y)是的像素坐标,mrg是阈值,β为中所占的权重;是距离损失函数,(txm,tym)是中像素最大值的位置坐标,γ为中所占的权重;yGNet2_c是yGNet2中第c个类别的概率值;

(3)构建注意力转移网络ANet模型:

(3a)构建注意力转移网络ANet结构:

构建包括N个并行排列的注意力提取网络ANet1及与N个ANet1相连的注意力解码网络ANet2的注意力转移网络结构,其中:

注意力提取网络ANet1包括输入层、多个卷积层、多个池化层、多个激活层、自动编码层和循环神经网络、多个全连接层和一个Softmax层,用于生成N个注意力特征图和注意力预测概率其中n为注意力特征图标号索引,且n∈[1,N];

注意力解码网络ANet2包括输入层、多个卷积层、多个池化层、多个激活层、循环神经网络、全连接层和Softmax层,用于生成注意力解码概率yANet2

(3b)定义注意力转移网络ANet的损失函数:

定义N个注意力提取网络ANet1中第n个ANet1的损失函数及注意力解码网络ANet2的损失函数LANet1

其中是yANet2中第c个类别的概率值;

(4)对全局感知网络GNet模型进行训练:

(4a)初始化M个全局特征提取网络GNet1的参数及与M个GNet1相连的全局特征融合网络GNet2的参数,并设置训练最大迭代次数TG,当前迭代次数tG=1;

(4b)从训练样本集中随机选取BS幅自然图像IG分别作为每个GNnet1的输入,BS≥8,并进行前向传播,得到M个全局特征图和全局预测概率并通过计算GNet1的损失函数

(4c)判断tG≤TG/2是否成立,若是,则得到训练好的GNet1,并执行步骤(4d);否则,利用反向传播方法并根据计算每个GNet1的网络参数梯度,并利用网络参数梯度对GNet1的网络参数进行更新后,令tG=tG+1,执行步骤(4b);

(4d)计算每个全局特征图对应的全局判别区域并将M个作为全局特征融合网络GNet2的输入,进行前向传播,得到全局特征向量fglb和全局融合概率yGNet2,并根据yGNet2计算损失函数LGNet2

(4e)判断tG≤TG是否成立,若是,得到训练好的GNet2;否则,采用反向传播方法并通过LGNet2计算GNet2的网络参数梯度,再利用该网络参数梯度对GNet2的网络参数进行更新后,令tG=tG+1,执行步骤(4b);

(5)对注意力转移网络ANet进行训练:

(5a)初始化N个注意力提取网络ANet1的参数及与N个ANet1相连的注意力解码网络ANet2的参数,并设置训练最大迭代次数TA,当前迭代次数tA=1;

(5b)从训练样本集中随机选取BS幅自然图像IA作为每个ANnet1的输入,并进行前向传播,得到N个注意力特征图和注意力预测概率并通过计算ANet1的损失函数

(5c)判断tA≤TA/2是否成立,若是,则得到训练好的ANet1,并执行步骤(5d);否则,利用反向传播方法并根据计算N个ANet1的网络参数梯度,并利用网络参数梯度对ANet1网络参数进行更新后,令tA=tA+1,执行步骤(5b);

(5d)计算每个注意力特征图对应的注意力判别区域并将fglb和N个作为注意力解码网络ANet2的输入,进行前向传播,得到注意力解码概率yANet2,并根据yANet2计算损失函数LANet2

(5e)判断tA≤TA是否成立,若是,得到训练好的ANet2;否则,采用反向传播方法并通过LANet2计算ANet2的网络参数梯度,再利用该网络参数梯度ANet2的网络参数进行更新后,令tA=tA+1,执行步骤(5b);

(6)获取图像分类结果:

(6a)将测试样本集分别作为每个训练好的全局特征提取网络GNet1和每个训练好的注意力提取网络ANet1的输入,进行前向传播,分别得到M个全局特征图和N个注意力特征图并计算每个对应的全局判别区域及每个对应的注意力判别区域

(6b)将M个作为训练好的全局融合网络GNet2的输入,进行前向传播,得到全局特征fglb和全局融合概率yGNet2

(6c)通过迭代贝叶斯路径,将fglb和N个作为训练好的注意力解码网络ANet2的输入,进行前向传播,得到注意力解码概率yANet2

(6d)采用最大化投票方法对yGNet2和yANet2进行决策级融合,得到最终预测概率p:

p=max(yGNet2,yANet2);

(6i)计算概率p中最大值对应的下标索引idx,并通过查找索引表,得到idx对应的细粒度图像分类类别。

本发明与现有技术相比,具有以下优点:

本发明通过设计全局感知网络GNet和注意力转移网络ANet对图像进行联合特征提取,在GNet提取图像全局特征和判别区域特征的基础上,进一步通过ANet提取不同判别区域之间的语义相关性,从而加强了网络的特征提取能力,与现有技术相比,有效提高了细粒度分类准确率。

附图说明

图1为本发明的实现流程图。

图2为本发明的全局感知网络结构图。

图3为本发明的注意力转移网络结构图。

具体实施方式

下面结合附图和具体实施例,对本发明作进一步详细说明。

参照图1,一种基于注意力转移机制的细粒度图像分类方法,包括如下步骤:

步骤1)获取训练样本集和测试样本集:

步骤1a)本实施例采用加利福尼亚鸟类数据库CUB-200-2011,包括200种鸟类的11788幅自然图像,如黑脚信天翁,黄嘴杜鹃,白鹭麻雀等;

步骤1b)对数据库中所有鸟类自然图像进行数据增强,包括对所有鸟类自然图像进行[-10,+10]随机旋转后,再将图像进行随机水平翻转;

步骤1c)对增强后的鸟类自然图像进行尺寸归一化,归一化后的鸟类自然图像像素为448×448;

步骤1d)选取所有尺寸归一化后的鸟类自然图像中5994张图像进行类别标注,然后将标注过的尺寸归一化的鸟类自然图像及其标签作为训练样本集,剩余5794张尺寸归一化后的鸟类自然图像作为测试样本集。

步骤2)构建如图2所示的全局感知网络GNet模型:

步骤2a)设置全局特征提取网络GNet1的数量为M=4;

步骤2b)构建由依次层叠的第一卷积层→第一激活层→第二卷积层→第二激活层→第一池化层→第三卷积层→第三激活层→第四卷积层→第四激活层→第二池化层→第五卷积层→第五激活层→第六卷积层→第六激活层→第七卷积层→第七激活层→第三池化层→第八卷积层→第八激活层→第九卷积层→第九激活层→第十卷积层→第十激活层→第四池化层→第十一卷积层→第十一激活层→第十二卷积层→第十二激活层→第十三卷积层→第十三激活层→第五池化层组成的VGG16特征提取网络;

其中,池化层选取最大池化方式,激活层选取ReLU激活函数f(x),具体为:

f(x)=max(0,x)

其中x为卷积层输出;

卷积层参数设置:

第一卷积层卷积核大小设置为3,卷积核数量设置为64;

第二卷积层卷积核大小设置为3,卷积核数量设置为64;

第三卷积层卷积核大小设置为3,卷积核数量设置为128;

第四卷积层卷积核大小设置为3,卷积核数量设置为128;

第五卷积层卷积核大小设置为3,卷积核数量设置为256;

第六卷积层卷积核大小设置为3,卷积核数量设置为256;

第七卷积层卷积核大小设置为3,卷积核数量设置为256;

第八卷积层卷积核大小设置为3,卷积核数量设置为512;

第九卷积层卷积核大小设置为3,卷积核数量设置为512;

第十卷积层卷积核大小设置为3,卷积核数量设置为512;

第十一卷积层卷积核大小设置为3,卷积核数量设置为512;

第十二卷积层卷积核大小设置为3,卷积核数量设置为512;

第十三卷积层卷积核大小设置为3,卷积核数量设置为512;

步骤2c)构建由依次层叠的第一全连接层,第十四激活层,第二全连接层,第十五激活层,第三全连接层,第十六激活层组成的自动编码层;

其中第十四激活层和第十五激活层选取ReLU激活函数f(x),第十六激活层选取Sigmoid激活函数s(x):

其中z为第三全连接层输出的特征向量;

全连接层参数设置:

第一全连接层长度设置为512;

第二全连接层长度设置为64;

第三全连接层长度设置为512;

步骤2d)构建M个全局特征提取网络GNet1,其中每个GNet1由依次层叠的VGG16特征提取网络、全局池化层、自动编码层和Softmax层组成;

步骤2e)构建由依次层叠的VGG16特征提取网络、级联层和Softmax层组成的全局特征融合网络GNet2;

步骤3)构建注意力转移网络ANet模型:

步骤3a)设置注意力提取网络ANet1的数量为N=4;

步骤3b)构建由依次层叠的全连接层、ReLU激活层组成的H层,其中全连接层长度设置为512;

步骤3c)构建由依次层叠的全连接层、ReLU激活层组成的C层,其中全连接层长度设置为512;

步骤3d)构建由LSTM组成的循环神经网络,LSTM中隐层长度设置为512;

步骤3e)构建N个注意力提取网络ANet1,其中每个ANet1由依次层叠的VGG16特征提取网络、全局池化层、H层、C层、自动编码层、循环神经网络和Softmax层组成;

步骤3f)构建由依次层叠的VGG16特征提取网络、循环神经网络和Softmax层组成的注意力解码网络ANet2;

步骤4)训练全局感知网络GNet:

步骤4a)采用在ImageNet数据库上预训练好的VGG16特征提取网络参数初始化M个全局特征提取网络GNet1,及与M个GNet1相连的全局特征融合网络GNet2中的VGG16特征提取网络,其余层进行随机参数初始化;

步骤4b)设置训练最大迭代次数TG=2000,当前迭代次数tG=1;

步骤4c)从训练样本集中随机选取BS=128幅自然图像IG分别作为每个GNet1的输入,并进行前向传播,得到M=4个全局特征图和全局预测概率其中m为全局特征图标号索引,且m∈[1,4];

步骤4d)判断tG≤1000是否成立,若是,则得到训练好的GNet1,并执行步骤(4e);否则,利用反向传播方法并根据计算4个GNet1的网络参数梯度,并利用Adam优化方法对每个ANet1网络参数进行更新后,令tG=tG+1,执行步骤(4c);其中Adam优化器动量参数设置为[0.9,0.999],权值衰减系数为0.001;

步骤4e)计算中最大值对应的像素坐标对应于输入的自然图像IG中的像素坐标其中并以为中心,以16为半边长,截取IG中像素尺寸为32×32的图像块作为全局判别区域

步骤4f)将作为全局特征融合网络GNet2的输入,进行前向传播,得到全局特征向量fglb和全局融合概率yGNet2,并根据yGNet2计算损失函数LGNet2

步骤4g)判断tG≤2000是否成立,若是,得到训练好的GNet2;否则,采用反向传播方法并通过LGNet2计算GNet2的网络参数梯度,再利用该网络参数梯度对GNet2的网络参数进行更新后,令tG=tG+1,执行步骤(4b);

步骤5)训练注意力转移网络ANet:

步骤5a)采用在ImageNet数据库上预训练好的VGG16特征提取网络参数初始化N个注意力提取网络ANet1,及与N个ANet1相连的注意力解码网络ANet2中的VGG16特征提取网络,其余层进行随机参数初始化;

步骤5b)设置训练最大迭代次数TA=2000,当前迭代次数tA=1;

步骤5c)从训练样本集中随机选取BS=128幅自然图像IA分别作为每个GNet1的输入,并进行前向传播,得到N=4个注意力特征图和注意力预测概率其中n为注意力特征图标号索引,且n∈[1,4];

步骤5d)判断tA≤1000是否成立,若是,则得到训练好的ANet1,并执行步骤(5e);否则,利用反向传播方法并根据计算4个ANet1的网络参数梯度,并利用Adam优化方法对每个ANet1网络参数进行更新后,令tA=tA+1,执行步骤(5c);其中Adam优化器动量参数设置为[0.9,0.999],权值衰减系数为0.001;

步骤5e)计算中最大值对应的像素坐标对应于输入的自然图像IA中的像素坐标其中并以为中心,以16为半边长,截取IA中像素尺寸为32×32的图像块作为注意力判别区域

步骤5f)将作为注意力解码网络ANet2的输入,通过VGG16特征提取网络后依次作为循环神经网络的输入,并将fglb通过贝叶斯迭代路径输入ANet2中的循环神经网络,进行前向传播,得到注意力解码概率yANet2,并根据yANet2计算损失函数LANet2

步骤5g)判断tA≤2000是否成立,若是,得到训练好的ANet2;否则,采用反向传播方法并通过LANet2计算ANet2的网络参数梯度,再利用该网络参数梯度对ANet2的网络参数进行更新后,令tA=tA+1,执行步骤(5b);

步骤6)通过训练好的GNet与ANet对测试样本集进行分类:

步骤6a)将测试样本集输入训练好的全局感知网络GNet和注意力转移网络ANet中,对每幅自然图像包含的目标进行分类,得到GNet和ANet对细粒度图像目标的分类结果yGNet2和yANet2

步骤6b)采用最大化投票方法对yGNet2和yANet2进行决策级融合,得到最终预测概率p:

p=max(yGNet2,yANet2)

并计算概率p中最大值对应的下标索引,并通过查找索引表,得到每幅测试样本集中的图像对应的细粒度图像分类类别,并统计测试样本集中鸟类图像的分类正确率Accuracy,

其中,Ntest为测试样本集中自然图像数量,ci分别为测试样本集中第i幅自然图像的预测类别和真实类别。

以下结合仿真实验,对本发明的技术效果作进一步说明:

1.仿真条件和内容:

本仿真实验采用4块Nvidia Titan X GPU在PyTorch深度学***台进行网络训练与测试,对本发明和现有的“Learning Multi-Attention Convolutional Neural Networkfor Fine-Grained Image Recognition”(MA-CNN)方法的分类精度进行对比仿真,其结果如表1所示。

表1卷积神经网络方法与本发明分类正确率对比

网络结构 MA-CNN 本发明
分类准确率 86.5% 91.2%

2.仿真结果分析:

由表1可以看出,本发明方法的分类准确率较MA-CNN提高了4.7%,说明本方法中采用的注意力转移机制有效的提高了细粒度图像的分类精度。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于局部CNN框架的甲骨拓片分类方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!