阳治民,宋 威,2
1(江南大学 人工智能与计算机学院,江苏 无锡 214122)
2(江南大学 江苏省模式识别与计算智能工程实验室,江苏 无锡 214122)
近年来,细粒度图像分类在学术界和工业界都展现出巨大的应用前景[1,2].与一般的图像分类[3]不同,细粒度图像分类的目的是在于从一个大类的各子类中识别出细微的视觉差异,比如,鸟的种类[4]、汽车品牌[5]和飞机型号[6].由于这种差异通常太小而难以被人类区分,导致从图像中挖掘局部细微差异成为细粒度图像分类任务的关键问题之一.为了解决这个问题,目前大多数的方法主要集中在两个方面,即定位多样性的局部和提取鉴别性的特征.
最近的研究表明,特征金字塔[7,8]在目标检测领域对于局部的定位发挥着至关重要的作用.其中的单向特征传递能够在不同尺度下挖掘细粒度图像局部的细微差异,从而提高分类的准确性.除局部定位以外,一些特征表示的方法通过特征编码来模拟人类感知,从而提取细粒度信息[1,9].随着深度卷积神经网络(Convolutional Neural Networks,CNN)的成功,鉴别性的特征表示通过加深网络结构和映射特征到高维空间而变的更为强大.这些表示可以通过深层的神经网络[10]、复杂的特征融合[11]和高效的迁移学习[12]来获得.
尽管上述方法表明它们在细粒度图像分类任务中的有效性,但由于这些方法没有考虑通过低级特征与高级特征间的联系来挖掘细粒度信息,影响了分类的表现.如图1所示,浅层网络中,低级别神经元只能感知边缘、纹理等粗粒度的信息进行初步定位,无法获取有效的鉴别性特征;而深层网络中,高级别神经元对具有同一语义的局部响应更强烈,导致提取到的局部缺乏多样性,从而造成细粒度信息的丢失.
鉴于以上分析,本文提出一种结合金字塔和长短期记忆网络的细粒度图像分类方法.首先构建双向特征传递路径来实现低级特征的流动,提高多样性局部的定位能力.接着,通过抑制这些局部中显著的区域,获取更加丰富的鉴别性特征.由于心理研究表明,人类倾向于顺序关注于局部信息并逐步结合学习到的信息,而不是直接识别整体[13].因此我们利用长短期记忆(Long Short-Term Memory,LSTM)网络顺序建模长期依赖来模拟对局部的学习过程.然而LSTM会对各级特征施加相同的控制,难以探索各级间互补的细粒度特征.为解决这一问题,我们进一步引入注意力门控来自适应调节各级特征对细粒度信息的关注度,从而挖掘细粒度特征.本文主要贡献如下:
1)设计了一种双向特征传递路径,它基于特征金字塔自顶向下路径,结合挤压激励模块进一步构建自底向上路径,从而形成双向特征传递路径来提取局部的多级特征.
2)构建了一种感兴趣区域引导的局部精炼金字塔,通过抑制显著区域,发现其他区域中更加丰富的特征,来提高局部定位的多样性.
3)提出了一种注意力门控改进的LSTM,来调节各级特征中对细粒度信息的关注度,并通过顺序建模多级特征的长期依赖来挖掘细粒度特征.
多粒度标签、多尺度特征以及多模态信息各自的相互协作能够提高细粒度图像分类表现.Shi等人[14]提出MC-Loss(Mutual-Channel Loss)来增大同一粗粒度子类的类间距离,并减小细粒度子类的类内方差,来发现细微的差异性特征;PMG(Progressive Multi-Granularity)[15]通过渐进的训练策略,利用挖掘到的粗粒度信息来训练下一步的细粒度特征.MSMVFA(Multi-Scale Multi-View Deep Feature Aggregation)[16]在不同尺度的图像上提取特征,再对其进行特征融合.Bi-Modal PMA(Bi-Modal Progressive Mask Attention)[17]融入文本模态知识来捕获视觉模态中的鉴别性区域.区别于以上方法,本文基于特征金字塔(Feature Pyramid Networks,FPN)[18]的自顶向下路径将语义信息从高级特征传递到低级特征,再构建自底向上的特征路径实现低级特征流动并传递回去,加强多级特征联系并充分利用.
注意力机制可以被解释为一种将计算资源分配给特征中具有丰富信息部分的手段.一些研究通过对空间域[19]、通道域[20]和混合域[21]中的注意力进行建模来提升分类效果.其中,文献[19]就是在空间域中将输入图像进行空间变换,使得网络能够学习到图像在不同形态下的有用特征.Zheng等人提出的MA-CNN(Multi-Attention CNN)[22]和PA-CNN(Progressive Attention CNN)[23]都是在通道域中计算注意力,将具有同一语义信息的通道进行聚类,从而形成具有鉴别性的局部.挤压激励模块(Squeeze-and-Excitation Block,SE-Block)[20]利用特征通道间的关系来计算通道域中的注意力.CBAM(Convolutional Block Attention Modules)[21]将注意力分解为空间和通道注意力,在混合域中同时关注空间和通道关系.不同的是,我们所提出的方法在LSTM中融入注意力机制,并以门控的形式过滤掉在各级特征中关注度低的特征,并进一步发现细粒度特征.
随着深度学习的成功,细粒度图像分类任务中特征的表示已从人工特征转变为深度特征,而特征表示方法[24]就是对深度特征进行学习.B-CNN[1]被证明是一种有效的高维特征表示方法,它通过两个对称的定位和识别子网络的交互来编码特征表示.Ge等人[25]提出的CP-Models(Complementary Parts Models)通过循环学习将对象及其上下文信息进行编码来实现高效的特征表示.然而,由于缺乏对多级特征的顺序编码,以上这些特征表示方法难以正确模拟人类的感知过程[26].相比之下,本文方法有效地利用改进的LSTM模拟人类顺序关注于局部信息并逐步学习的过程,来保证多级特征中细粒度信息的长期依赖,以提高细粒度特征的鉴别能力.
为充分利用多级特征间关系来挖掘细粒度特征,本文提出一种结合金字塔和长短期记忆网络的细粒度图像分类方法.如图2所示,该网络基于FPN自顶向下路径,引入SE-Block[20]来构建自底向上的特征传递路径;接着,通过感兴趣区域(Region of Interest,ROI)引导的局部精炼金字塔,抑制显著区域,使得网络能够关注于其他鉴别性区域;再通过改进的LSTM顺序建模长期依赖,以挖掘细粒度特征并增强其鉴别性.最后将提取到的特征合并后送入全连接层和Softmax分类器,从而产生最终的细粒度图像分类结果.
图2 本文方法框架
首先为提取基础的多级卷积特征,此模块以FPN为基础,利用ResNet50中残差块conv3、conv4和conv5的输出特征来建立金字塔多级结构.若只采用传统的CNN方法提取个具有语义信息的卷积特征{B1,B2,…,Bj}来进行分类,这将不利于细粒度图像分类,这是由于其语义信息中缺乏局部细节信息,而该细节信息对细粒度图像分类任务表现的提升至关重要.因此,本模块利用FPN作为多级特征提取的基础,来选择局部细节信息生K成级特征{F1,F2,…,Fk,…,FK}(1≤k≤K≤j).具体来说,首先从FK到F1形成自顶向下路径,将语义特征从金字塔的高级别传递到低级别的浅层网络中;并进一步建立Bk~FK(k=1,2,…,K)的映射,以保留各级信息.
进一步地,为有效利用FPN提取到的基础特征,同时实现低级特征的流动,我们构建自底向上的特征传递路径,即在对应各级特征{F1,F2,…,Fk,…,FK}中引入的基于通道的特征传递路径.受SE-Block的启发,我们能够建模通道间的相关性来获取各级的通道信息{A1,A2,…,Ak,…,AK},从而构建从AK~A1的自底向上路径.其中Ak是由全局平均池化和全连接层得到的,具体表示为:
Ak=σ(Ws·ReLU(Wr·GAP(Fk)))
(1)
(2)
其中,σ和ReLU分别表示sigmoid和ReLU激活函数,Wr和Ws为两个全连接层的权重矩阵,GAP是全局平均池化,W、H和(i,j)分别代表Fk的空间维度及其像素位置.最后,对Fk进行加权并进行全局平均池化,通过提取各级中的关键信息来得到多级特征Mk:
Mk=GAP(Fk·Ak)
(3)
区域提议网络(Region Proposal Network,RPN)[27]是视觉检测中广泛使用的结构,能够提供在神经网络中对标签有不同程度响应的ROI局部.若只利用RPN提供的局部,其通过学习输入图像到输出标签的映射后,容易只关注图像中的显著区域,而忽略其他蕴含多样性信息的细微局部.因此,我们还构建ROI引导的局部精炼(ROI-guided Refinement)金字塔,将图像中具有鉴别性的局部进一步精炼,即通过ROI引导的抑制操作对图像中的显著区域进行抑制,来促使网络发现其他区域中的鉴别性特征;再通过ROI引导的放大操作对图像中的背景区域进行消除,从而避免噪声干扰.
如图3所示,对于每个金字塔级别,在RPN中我们选择统一大小的锚框对不同级别的局部进行框选,再按照比例进行尺度合并,覆盖在最大尺寸的特征图上,从而得到图3(a)中的ROI引导的金字塔{R1,R2,…,Rk,…,RK},然后对其进行局部精炼.具体来说,对之前提取到的多级特征进行GAP并降序排序,选择排序后第一个特征图,并将其放大至原始图像大小,计算该特征图的平均值Fa,以θ×Fa作为阈值,将超出阈值的局部设置为0,其他局部设置为1.如图3(b)所示,通过抑制掩膜抑S制超出阈值的局部,其公式具体表示为:
图3 ROI引导的局部精炼过程
(4)
再通过ROI引导的放大操作对进行放大,消除与这些局部无关的背景噪声.在图3(c)中,通过整合RPN框选到的局部区域,获得最大边界,并进行放大,保持和最大尺寸的特征图尺度一致.再将放大后的掩膜作用到输入图像,实现对局部的精炼.而局部精炼后的特征图,即图3(d)将被再次送入到FPN中进行学习.
图4 引入注意力门控的LSTM单元
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
为了能够有效评估所提方法的分类性能,本文在CUB-200-2011[4]、Stanford Cars[5]和FGVC-Aircraft[6]这3个真实世界的标准数据集上进行实验.其中CUB-200-2011是细粒度图像分类中极具代表性的鸟类数据集,包含200个鸟的品种,一共有11788张图像;Stanford Cars数据集有196种不同品牌的汽车图像,共计16185张;FGVC-Aircraft数据集包含10000张100种不同型号的飞机图像.这3个数据集的训练集和测试集划分的具体信息如表1所示.
表1 3个数据集的信息统计表
然而这3个数据集中每一类样本的组成只有60~100张图像,为避免网络因数据样本质量以及数据集的丰富性导致过拟合或欠拟合的问题,我们在数据集层面采用翻转和移位两种方法对3个数据集进行数据预处理.对于翻转,我们水平或垂直翻转每张训练图像,以允许网络在训练时观察原始图像的镜像.对于移位,我们在不填充图像边界的情况下,将每个图像向左或右移动5个像素,再向上或下移动3个像素.此过程使网络对图像中局部的轻微移动更具鲁棒性[28].通过对以上3个数据集进行适度的数据增强,我们的方法能够学习到更为多样化且丰富的图像细节,对网络表示能力的增益效果更好,从而强化模型的泛化能力以及鲁棒性.
为验证所提方法的优越性,将本文方法与多种先进的细粒度图像分类方法进行比较.表2展示了本文方法和其他6种方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft数据集上的对比结果,包括基础网络和准确率指标.
表2 不同方法在3个数据集中分类准确率(%)的对比结果
由表2所示,本文方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft数据集上,相比其他6种方法均表现出最好的性能.B-CNN[1]将两个对称子网络提取到的特征进行双线性池化,首次用于细粒度图像分类领域,实现特征间的交互联系以获得更具有表示能力的特征描述符.而我们的方法是通过引入LSTM对非对称特征提取模块的特征进行联系,能够自适应地学习差异性的特征表示,促进了分类性能的提升.Bi-Modal PMA[17]则是以对图像的文本描述来指导图像模态中鉴别性特征的生成,通过文本和图像的双模态融合进行分类.而本文方法只对图像本身进行细粒度地挖掘,因此在没有额外信息指导的情况下也能够有鲁棒性的性能表现.MC-Loss[14]直接在ResNet50的基础网络进行图像分类,只在传统的交叉熵损失函数的基础上添加多通道损失函数,获得了良好的性能.PMG[15]也是在ResNet50的基础网络上进行预训练,通过渐进式学习的方法来提取鉴别性特征,并采用拼图的数据增强方法提高细粒度图像分类的准确率.相比之下,我们的方法则是将ResNet50提取到的特征通过双向路径进行特征传递,加强低级特征的重要性,相比于PMG,在这3个数据集的准确率分别获得了1.2%、0.8%和2.0%的提升.MA-CNN[22]和PA-CNN[23]都是通过注意力机制来挖掘细粒度特征,其利用注意力将具有同一语义信息的局部进行聚类,来获取细微局部的特征.不同的是,本文方法引入注意力门控来自适应调节LSTM对多级特征中细粒度信息的关注度,从而挖掘更加具有鉴别性的细粒度特征,相比于性能更优的PA-CNN,我们方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft数据集上的分类准确率分别明显地提高了3.0%、2.6%和5.3%.
从以上的实验结果可以看出,所提出的方法在FGVC-Aircraft数据集上的性能有显著提升,而在Stanford Cars数据集上表现相对较弱,这是因为我们的方法加强了低级特征的流动,保证了边缘、纹理等低级特征在最终分类中的作用.具体来说,FGVC-Aircraft数据集中的飞机图像中各局部差异性较大,且在周围环境有明显突出,便于多级特征的提取,从而有效地进行细粒度图像分类;而Stanford Cars数据集中多样性局部少,容易导致网络定位到的局部间存在重叠,在改进的LSTM中进行长依赖建模时提取到冗余特征,限制了本文方法分类性能的提升.
为了验证本文方法中各个模块的有效性,我们在CUB-200-2011、Stanford Cars和FGVC-Aircraft这3个标准数据集上进行一系列消融实验.表3和图5分别比较了消融实验中各方法中不包含最后一个全连接层和Softmax分类器的参数量和计算量(Floating Point Operations,FLOPs),以及准确率和精度-召回率(Precision-Recall,PR)曲线(包含PR曲线面积的平均精度mAP).
表3 不同方法在3个数据集中分类准确率的对比结果
图5 在3个数据集上的PR曲线图
为反映双向特征传递路径的有效性,我们将FPN和带有双向特征传递路径的FPN(FPN with path)进行比较.具体地,我们首先拼接残差块conv3-5的输出特征,加入分类器在3个数据集上进行分类预测,FPN获得84.1%、86.9%和85.6%的准确率;对于FPN with path,我们同样对其输出特征进行拼接,该方法达到85.0%、88.2%和86.7%的准确率.并且由图5所示,FPN with path的PR曲线和mAP都优于FPN.并且,我们通过SE-Block构建的特征传递路径只增加了极少的参数量和计算量,但是实现了分类性能的显著提升.以上实验证明该自底向上特征传递路径构建的有效性,即该路径能够实现低级特征的流动.同时也说明了低级特征对于最终细粒度图像分类结果的有效性,简单的特征传递能够充分发挥出浅层网络中粗粒度信息的作用,保证了各层神经元对多样性局部能够提供更加丰富的响应,从而增强FPN的性能.
为了证明ROI引导的局部精炼金字塔的有效性,我们将该方法(ROI)和FPN with path进行比较.从表3中可以看出ROI的准确率提高了1.7%、1.8%和2.9%;同样在图5中,该方法的PR曲线高于FPN with path,mAP也增长了0.4、1.1和0.6.这说明ROI引导的局部精炼有效地提供了更加丰富的特征,相当于进行了数据增强,在不增加参数量的情况下,提升了网络的分类性能.
为了验证本文方法中引入LSTM的有效性,我们将结合了LSTM的方法(LSTM)和没有进入LSTM编码的方法(ROI)的实验结果进行比较.从表3中我们发现,虽然小幅度增加了网络的参数量和计算量,但是LSTM的准确率获得了明显地提升,在3个数据集上分别提高了2.1%、3.3%和2.9%.同时,由图5所示,PR曲线和mAP都表现出LSTM优越的性能,进一步验证了LSTM在所提方法中的有效性.这说明LSTM能够顺序建模多级特征中的长期依赖,从而捕获鉴别性的特征.
为了测试改进的LSTM中注意力门控的有效性,且不影响原LSTM的结构,我们直接将引入了注意力门LSTM的方法(Ours)和LSTM的方法的实验结果进行比较.从表3中可以看出,我们的方法通过注意力门控增加了少量参数和计算量,以引入可学习的注意力门控,在原始LSTM的基础上,对隐藏层和细胞状态都进行了更加细粒度地更新,从而分类准确率明显提升了2.0%~2.9%;并且在图5中,该方法的PR曲线优于LSTM,mAP也增长了0.6-1.0.这些实验结果表明,通过对每个LSTM单元的输入设计一个额外的注意力门控,能够自适应调节各级特征对细粒度信息的关注度,使得多个LSTM单元能够以互补的形式,挖掘到更加丰富的细粒度特征.
本小节在CUB-200-2011、Stanford Cars和FGVC-Aircraft这3个标准数据集上采用类激活图的方法[29],对本文方法的分类性能进行可视化实验.如图6所示,其中第1行为原图,第2行为可视化图,高亮的区域代表与预测类别相关的区域,可视化图中高亮区域越多越准,说明该方法对细粒度图像的分类准确率越高.
图6 在3个数据集上的可视化图
图6中每个数据集结果的前3列为分类准确时的可视化图,最后一列为分类失败时的可视化图.至于失败的情况,我们推断其原因是,在CUB-200-2011数据集中,存在图像中背景过于复杂的情况,由于鸟的颜色或纹理等特征和背景特征不便区分,本文方法难以有效地利用这些低级特征,使得我们方法的性能受到限制;在Stanford Cars数据集中,存在图像中对象特征过于单一的情况,由于车的图像中含有较少的有差异性的区域,导致局部多样性降低,本文方法无法进行有效地细粒度识别;在FGVC-Aircraft数据集中,存在一张图像中有多个对象的情况,由于我们的方法是基于ImageNet数据集预训练的ResNet50,这不可避免地使得网络会关注于其他不利于飞机分类结果的对象,导致在挖掘细粒度特征的时候,提取到其他不相关对象的特征,从而影响分类性能.
本文面向细粒度图像分类任务,提出了结合金字塔和LSTM的分类方法.该方法通过整合FPN和SE-Block,以设计自顶向下和自底向上的双向特征传递路径,来实现低级特征流动;并构建ROI引导的局部精炼金字塔,提高局部定位的多样性;还引入注意力门控,来调节LSTM对细粒度信息的关注度,从而挖掘具有鉴别性的细粒度特征.本文在CUB-200-2011、Stanford Cars和FGVC-Aircraft这3个标准数据集上的进行了广泛的实验,实验结果证明了我们方法的优越性.在未来的工作中,我们希望所提出的方法能够进一步提升细粒度图像分割和目标检测等任务的性能.