APP下载

基于多层聚焦Inception-V3卷积网络的细粒度图像分类

2022-03-17刘利军黄青松单文琦

电子学报 2022年1期
关键词:注意力卷积对象

王 波,黄 冕,刘利军,3,黄青松,4,单文琦

(1.昆明理工大学信息工程与自动化学院,云南昆明 650500;2.云南国土资源职业学院信息中心,云南昆明 652501;3.云南大学信息学院,云南昆明 650091;4.云南省计算机技术应用重点实验室,云南昆明 650500)

1 引言

随着深度学习、卷积网络技术的不断发展,深度学习网络在计算机视觉领域得到广泛的应用,如图像检索[1]、场景解析[2]和目标跟踪[3]等.在细粒度图像识别领域,深度卷积网络也得到了广泛的研究与应用.由于在细粒度图像识别中,类内差异容易受姿态、视角与位置等因素影响,类间具有相似性,且手工标注位置不稳定且耗费人力,因此细粒度识别任务更具有挑战性.Zhang 等人[4]提出强监督细粒度图像分类模型(Part-based Region Convolutional Neural Network,Partbased R-CNN),借助Bounding Box 和Part Annotation 标签进行对象部件定位等操作得到对象与部件的图像块,最后将对象部件等特征级联之后进行分类.Partbased R-CNN 分类在准确率方面取得了不错的效果,但存在算法速度慢、过于依赖标签、定位检测不稳定等问题.因此Wei 等人[5]提出Mask-CNN 模型,在训练时仅需要part annotations 和image-level 标签,同时借助(Fully Convolutional Networks,FCN)学习Part Mask来进行对象部件定位等操作得到对象与部件的图像块,最后将对象部件等特征级联之后进行分类.Mask-CNN 取得很好的定位效果以及分类准确率,并且大大降低了对标记的依赖性,但是仍避免不了强监督标记分类.Lin 等人提出高阶特征编码双线性卷积网络(Bilinear-CNN,B-CNN)[6]和改进的双线性卷积网络[7],通过对特征图进行外积操作建立了特征图中通道之间的线性相关,并进行端到端的联合优化学习,在细粒度分类任务上取得了优异的性能,但是无法捕捉特征图中通道之间的非线性关系.于是Ge 等人[8]提出一种核化的双线性卷积网络,通过使用核函数的方式有效地建模特征图中通道之间的非线性关系,改进了高阶特征编码方法,提升了特征的表达能力.但是该方法存在外积导致特征的维度增大为原来的平方等缺点.Zheng 等人[9]提出(Multi-Attention Convolutional Neural Network,MACNN)模型,抛弃手工标记对象部件的方法,采用弱监督学习方法,同时定位多个对象部件,提出信道分组损耗,通过聚类产生多个部分,将这些部分分别与特征进行点乘得到局部精细化的特征分别进行分类,取得了很好的分类准确率.但是该方法中对象的部件数量有限(2 个或4 个),因此会限制分类的准确性.先前工作通常采用定位或者分割来解决类内的差异性,但是类间相似性依然影响特征的学习.针对该问题,Dubey 等人[10]提出细粒度图像识别(Pairwise Confusion,PC),以解决类别间相似性问题,该研究将成对的混淆损失和交叉熵损失结合,使用交叉熵函数强迫神经网络挖掘较高置信度的特征,从而减少损失从而提高分类准确率,提供了很好的解决方法.Yang 等人[11]提出一种新的训练模式,使Navigator 能够在Teacher 的指导下检测到最具判别性的区域,Scrutinizer 仔细检查这些区域并做出预测.这种多主体合作的方式相互促进、相互收益,取得了较好的分类准确率,非常值得借鉴.

针对上述分析,本文提出多层聚焦网络模型.本文模型的创新性和贡献之处如下.

(1)根据贪心算法思想设计多层聚焦网络模型架构,模型能够有效地定位识别对象位置,同时又能找出更多的识别对象位置.从而达到更好的分类效果.

(2)提出卷积块特征注意力模块,能在空间和通道对特征进行注意力特征的提取,同时进行降维处理,增强网络对对象有效特征的提取,又降低计算的复杂度.

(3)提出定位区域选择机制,能有效地选择具有代表性的定位区域,同时也能提高模型的泛化能力.

(4)提出双线性注意力最大池化,增强特征的表达,降低维度和减少由卷积层参数误差造成的估计均值的偏移误差,提高模型的鲁棒性.

模型架构如图1 所示,本模型由三层聚焦网络、裁剪模块以及遮挡模块构成.模型设计思想主要源于贪心算法.贪心算法(又称贪婪算法)是指在对问题求解时,总是做出在当前看来是最好的选择.通过首层聚焦网络(图2)找到最优的识别位置和特征矩阵并输出定位区域和特征与注意力矩阵积矩阵,其余两层聚焦网络只输出特征与注意力矩阵积矩阵.裁剪模块根据定位区域对原图像进行裁剪得到裁剪图像,输入下一层聚焦网络进行训练.裁剪后的图像能更大面积地覆盖识别对象,能够起到非常好的识别分类效果.但是贪心算法仍然存在问题,它没有从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优解.同样本模型也存在局部最优、过拟合问题.所以加入遮挡模块与之对抗来解决局部最优问题,能够促进模型寻找更多具有识别对象的特征信息.遮挡模块根据定位区域对原图像进行遮挡得到遮挡图像,输入下一层聚焦网络进行训练.该模型各层之间相互对抗、相互合作、相互受益、共同进步.

图1 多层聚焦网络架构图

单层聚焦网络流程图如图2 所示.本网络主要由Inception-V3 网络[12]、卷积块特征注意力模块、定位区域选择机制、双线性注意力最大池化构成.本网络设计思想同样遵循贪心算法思想.使用Inception-V3作为本网络的基础网络,用来提取基础特征.卷积块特征注意力模块借鉴卷积块注意力模块(Convolutional Block Attention Module)[13]方法,能在空间和通道进行注意力特征的提取以及进行降维处理,得到特征矩阵和注意力矩阵.降维处理一方面能够降低计算复杂度,另外一方面是为了选择最能代表识别对象的特征.定位区域选择机制将从注意力矩阵中选出最佳定位区域,机制加入softmax 函数以及均方和等方式计算概率,softmax 函数使用指数函数能让大的值更大,让小的更小,增加区分对比度.同时本文设计了防止过拟合的策略,每次倾向随机选择定位区域,其中概率较大的特征矩阵被选中的优先级相对而言会高一些.将定位区域输入裁剪和遮挡模块,对原图像进行裁剪和遮挡得到的裁剪图像和遮挡图像,作为下一层聚焦网络的输入.受双线性模型的影响,本文提出双线性注意力最大池化,对特征矩阵和注意力矩阵进行外积相乘,再配合最大池化提取特征能保留图像更多的纹理信息,同时提高所提取特征的鲁棒性.双线性注意力最大池化输出特征与注意力矩阵积矩阵去做分类预测.最后为了解决网络中局部最优过拟合这一问题,并增强模型的泛化能力,加入注意力中心损失,对属于同一对象特征的方差进行惩罚.

图2 单层聚焦网络流程图

2 多层聚焦卷积网络

2.1 聚焦卷积网络

2.1.1 卷积块特征注意力模块

卷积块注意力模块(Convolutional Block Attention Module,CBAM)是一种结合空间和通道的注意力机制.在分类和检测模型上被广泛使用.其优势不言而喻,但仍然存在以下不足:缺乏通道与通道之间的交互,无法捕捉通道之间的非线性关系,过于关注特征表达从而导致过拟合.为改进CBAM 存在的这些不足,提出卷积块特征注意力模块(Convolutional Block Feature Attention Module,CBFAM).该模块是在CBAM 原有的基础上加入多层1*1卷积核对特征进行降维处理,实现跨通道的交互和信息整合,增加网络的非线性能力,提高网络的表达能力并且减少计算量,进行通道数随机截取以此提高泛化能力,最后输出的是特征图F和注意力图A.将从Inception-V3 网络中提取图像I 的特征图F∈RC×H×W输入CBFAM 模块中得到特征图Fa∈RC×H×W和注意力图Α∈RM×H×W计算公式如式(1)所示.

其中,A表示物体的某个部分;C、H、W分别表示特征图的通道数、高度、宽度;分别代表经过全局平均池化层和全局最大池化层计算后的特征值;W0和W1代表的是多层感知机模型中的两层参数;σ表示的是sigmoid 激活函数;f7*7表示卷积层使用7*7 的卷积核,f1*1表示卷积层使用1*1的卷积核;M是注意力图的数量.

2.1.2 定位区域选择机制

在注意力图Α∈RM×H×W中有M个特征矩阵表示图像中的不同对象部件.如何选择其中一个特征矩阵来代表最具有判别性的对象部件尤为重要.本文希望模型在找到最佳部分特征的同时也能够找到更多具有判别性的部分特征,从而提高模型泛化能力.使用softmax函数处理注意力图A,将注意力图中的值映射成为(0,1)的值,这些值的累和为1(满足概率的性质).softmax函数加入幂函数使这些值两极化:正样本的结果将趋近于1,而负样本的结果趋近于0.根据softmax 函数的性质进一步去除噪音.计算M个特征矩阵被选中的概率pM,其计算公式如式(2)所示,在参考概率pM的同时采用随机的方式从M个特征矩阵中选出一个特征矩阵Αk∈R1×H×W,其中概率大的特征矩阵优先选中.

根据pM采用概率和随机方式得到定位区域注意力矩阵Αk∈R1×H×W进行标准化处理,计算公式如式(3)所示.

2.1.3 双线性注意力最大池化

双线性卷积网络通过对卷积层输出的特征图进行外积操作建模了特征图中通道之间的线性相关,在细粒度图像识别任务上取得了优异的性能,但是无法捕捉特征图中通道之间的非线性关系,并且导致特征的维度增大为原来的平方.因而提出双线性注意力最大池化(Bilinear Attention Max Pooling)方法,解决无法捕捉通道之间的非线性关系问题并降低维度.将特征图Fa∈RC×H×W与每个注意力图Α∈RM×H×W相乘,生成M个部分的特征图Fk∈RC×H×W,加入非线性激活函数、最大池化层,计算公式如式(4)所示.

其中,Fk为两个张量的元素乘.通过全局最大池层得到第k个特征与注意力矩阵积矩阵fk∈R1×C,计算公式如式(5)所示.

Pk∈RM×C表示对象不同部分特征矩阵将作为模型输出进行预测,Pk由特征fk叠加而成.计算公式如式(6)所示.

2.1.4 注意力中心损失

Wen 等人[14]提出的中心损失问题,在配合softmax函数使用时希望学习到的特征具有更好的泛化性和辨别能力.通过惩罚每个种类的样本和该种类样本中心的偏移,使得同一种类的样本尽量聚合在一起.为了解决局部优化过拟合这一问题,增强模型的泛化能力,本文中对属于同一对象部件的特征的方差进行惩罚,即部件特征Pk∈RM×C将趋近于全局特征中心Ck∈RM×C,在同一对象部件kth中反馈注意力图A.其中损失函数LC只在首层聚焦网络和使用裁剪图像作为输入的聚焦网络中使用,计算公式如式(7)所示.

Ck初始化为(0,0),计算公式如式(8)所示.

其中,β控制Ck的更新速度,中心更新计算只在首层聚焦网络和使用裁剪图像作为输入的聚焦网络中使用.

2.2 裁剪模块

根据定位区域注意力矩阵对原图像进行裁剪,裁剪后的图像能更大面积地覆盖识别对象,去除无关背景,起到非常好的分类效果.通过设置大于阈值θc∈[0.4,0.6]时等于1,其他为0,得到裁剪边框Ck,采取上采样的方式从原图像中放大这个区域得到裁剪图像作为下一层聚焦网络的输入.由于对象部分的规模增加,因此能更好地对对象提取更细粒度的特性.该模块在模型训练和测试中使用,计算公式如式(10)所示.

2.3 遮挡模块

根据定位注意力矩阵对原图像进行局部遮挡,促进模型找出更多具有代表性的多个有判别性对象部分的定位区域注意力矩阵以此对抗由于裁剪模块产生局部最优过拟合的负面效果,提高分类的稳健性和定位的准确性.通过设置小于或等于阈值θd∈[0.4,0.6]时为1,其他为0,得到遮挡框Dk,将遮挡框与原图像相乘得到遮挡图像作为下一层聚焦网络的输入.该模块只在模型训练时使用,计算公式如式(10)所示.

3 实验

3.1 数据集

实验部分在3 个细粒度图像识别数据集CUB-200-2011[15]、FGVC-Aircraft[16]以及Stanford Cars[17]上对本文方法进行评估.

CUB-200-2011 数据集共包含来自200 个鸟类物种的11788 张图像,其中5994 张训练与验证图像,5794 张测试图像.FGVG-Aircraft 数据集包括1 万张图像共100种飞机型号,其中训练与验证图像共6667张,测试图像为3333 张.Stanford Cars 数据集具有196 个汽车类别共16185 张图像,其中训练与验证图像共8144 张,测试图像为8041 张.本文实验中均未采用边界框等额外标记信息.数据集示例实例如图3所示.

图3 数据集示例图

3.2 实验参数

实验的环境配置如下.CPU:Intel(R)Silver;GPU:NVIDIA TITAN XP;内存为128G;操作系统为Ubuntu16.04;采用Inception-V3 作为主干,输入图像大小为512×512.定位区域裁剪和遮挡后的图片大小为512×512.特征图的通道数目均为768,注意力图通道数均为32.本文使用带动量的批处理随机梯度下降算法(SGD),动量为0.9,权重衰减为0.00001,批量大小设置为16.训练次数为80,初始学习率设置为0.001,每隔2 个epoch 指数衰减0.9.数据增广方式为图像的随机水平翻转.

3.3 模型组件测试

本模型主要由5个部分组成,包括卷积块特征注意力模块、定位区域选择机制、双线性注意力最大池化、裁剪模块、遮挡模块.本文在CUB200-2011数据集上测试每个模块对模型的影响.

实验结果如表1所示.在单层聚焦模型中,相对Inception-V3 网络的准确率83.7%,效果提升非常显著,模型准确率提升到86.8%,证明了本文方法的有效性.在多层聚焦网络中,模型在分别加入裁剪和遮挡模块后均得到提升.使用全部模块后,模型达到最高的准确率.实验结果证明了该模型在多层聚焦卷积网络中每个模块的有效性.

表1 组成部分及其组合的贡献

3.4 注意力图数量测试

在弱监督模型中,注意力图是进行对象部件定位的重要部分,在本文的M个注意力图中每一个都代表了对象的一个部件,例如鸟的头部、飞机的机翼等.本文对注意力图M大小的设置进行相应的实验.

实验结果如表2 所示.当M=4 时,对象部件可能分为鸟的头、翅膀、尾巴和脚等4 个部分,当M不断增加时,对象部件会定位到鸟喙、眼等部位.在这一过程中模型将去掉相似性区域、无关区域,找到细微的判别区域,从而使分类准确率不断提升.当M=32 后,准确率到达最高,同时意味着已经分出最佳判别区域对象部件的大小.之后M再增加时,产生的对象部件将是最佳判别区域部件的子集,模型是通过对判别性区域的裁剪放大后的图像再分类.因此M再增加,准确率也趋于稳定.

表2 注意力图数量的影响

3.5 与当前方法准确率对比

本节实验进一步在三个细粒度图像数据集上对本文方法进行全面的评估,并与当前主流方法进行比较.实验结果如表3 所示[7~12,18~27].本模型在当前主流细粒度图像数据集上都达到最佳的准确率.

表3 与当前方法准确率对比

4 结论

本文提出一种多层Inception-V3 聚焦卷积网络,能够提取更多有效的局部特征,聚焦于对象的识别位置,得到更具有判别力的图像表达.同时多层聚焦卷积网络之间相互对抗、相互合作、相互受益、共同进步,进一步提高网络的性能.实验表明,本文所提出的多层聚焦网络在3个细粒度图像数据集上均取得了优异的性能.在未来的工作中,可以将本文方法应用至更多计算机视觉任务中,同时进一步考虑将本文提出的多层聚焦网络应用于其他卷积网络架构中.

猜你喜欢

注意力卷积对象
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
判断电压表测量对象有妙招
如何培养一年级学生的注意力
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
攻略对象的心思好难猜
A Beautiful Way Of Looking At Things