Abstract
识别细粒度类别(例如,鸟类种类)高度依赖于鉴别部分定位和基于部分的细粒度特征学习。现有的方法主要是独立地解决这些挑战,而忽略了这样一个事实:部分本地化(例如,鸟的头部)和细粒度特征学习(例如,头部形状)是相互关联的。本文提出了一种基于多注意卷积神经网络(MA-CNN)的零件学习方法,该方法能使零件生成和特征学习相辅相成。MA-CNN讨论了卷积、信道分组和部分分类子网络。信道分组网络以卷积层中的输入特征信道为输入特征信道,通过空间相关信道的聚类、加权和池化来生成多个部分。局部分类网络进一步对图像的各个部分进行分类,从而获得更有鉴别性的细粒度特征。提出了两种损失来指导多任务的信道分组和部件分类学习,鼓励MA-CNN从特征信道中生成更多有鉴别性的部件,并以相互增强的方式从部件中学习更细粒度的特征。MA-CNN不需要边界框/零件标注,可以端到端的训练。我们将MA-CNN中学习到的部分与部分- cnn结合起来进行识别,并在三个具有挑战性的、已发布的细粒度数据集(例如,cubbird、FGVC-Aircraft和Stanford-Cars)上展示了最佳性能。
1. Introduction
卷积神经网络(convolutional neural networks, CNNs)[2, 4, 15]利用类别标签学习弱监督的零件模型取得了显著的进展,这些类别标签不依赖于边界框/零件标注,因此可以大大提高细粒度识别的可用性和可伸缩性[25,31,35]。该框架通常由两个独立的步骤组成:1)通过正/负图像块[35]的训练进行局部定位,或者通过预先训练好的特征通道[25]进行定位;2)通过选择性汇聚[31]或从特征图[17]进行密集编码进行细粒度特征学习。虽然已经有了很好的结果,但是在没有明确的零件约束的情况下,分类级CNN的识别能力严重制约了零件定位和特征学习的性能。此外,我们发现局部局部化和细粒度特征学习是相互关联的,可以相互促进。例如在图1中,最初的头部定位可以促进周围特定模式的学习。
为了解决上述问题,我们提出了一种新的基于多注意力卷积神经网络(MA-CNN)的零件学习方法。MA-CNN联合学习部件建议和各部件的特征表示。不同于人类定义的语义部分[9,33,34],这里的语义部分被定义为图像中具有较强辨别能力的多个注意区域。MA-CNN由卷积、信道分组和局部分类子网络组成,以全图像为输入,生成多个局部建议。
首先,卷积特征信道往往对应于某种类型的视觉模式[25,35]。该信道分组子网络从而将空间相关的模式聚类并加权到邻近位置出现峰值响应的信道的部分注意图中。多样化的高响应位置进一步构成了多个部分的注意力地图,我们通过裁剪固定的尺寸来提取多个部分的建议。其次,一旦获得了部件建议,部件分类网络就会进一步根据基于部件的特征对图像进行分类,这些特征是从全卷积特征图中提取出来的。这样的设计可以通过消除对其他部分的依赖,特别优化与某部分相关的一组特征通道,从而学习到该部分更好的细粒度特征。第三,联合执行两个优化损失函数,指导多任务的信道分组和部件分类学习,促使MA-CNN从特征信道中生成更多有鉴别性的部件,并以相互增强的方式从部件中学习更多细粒度的特征。具体地,我们提出了一种信道分组损失函数来优化信道分组子网络,该子网络将空间区域上具有高类内相似性和类间可分性的信道簇作为局部关注,从而产生紧凑多样的局部建议。
一旦零件被定位,我们将每个参与零件从图像中放大,并将其输入到part- cnns管道[1]中,其中每个part- cnn通过使用相应的零件作为输入来学习分类。为了进一步利用部分集成的能力,通过学习全连通融合层,将多个部分的特征深度融合到一起,对图像进行分类。据我们所知,该工作是首次尝试通过联合优化通道组合和特征表示来学习多部件模型。我们的贡献可以总结如下
提出了一种新的多注意力卷积神经网络,将特征通道组合作为局部模型和细粒度特征表示联合学习,解决了弱监督下的零件模型学习问题。摘要提出了一种用于零件学习的信道分组损失算法,该算法通过在零件注意图上应用几何约束来最小化损失函数,并使用类别标签来增强零件的识别能力。我们对三个具有挑战性的数据集(幼鸟、fgvc飞机、斯坦福汽车)进行了全面的实验,并在所有这些数据集上实现了优于最先进方法的性能
论文的其余部分组织如下。第二部分介绍了相关工作。第3节介绍了提出的方法。第4节给出了评价和分析,第5节给出了结论。
2. Related Work
细粒度图像识别的研究一般分为两个维度,即细粒度特征学习和鉴别零件定位。
2.1. Finegrained Feature Learning
学习代表特征在细粒度图像识别中得到了广泛的研究。由于deep learning的巨大成功,大部分的识别框架都依赖于强大的convolutional deep features[15],它在general[8]和fine- categories上都比手工制作的特性有了显著的改善。为了更好地模拟细微的视觉差异以进行细粒度识别,最近提出了一种双线性结构[17]来计算两个独立CNNs之间的两两特征交互作用,这在鸟类分类[30]中取得了最新的成果。此外,一些方法(如[35])提出将CNN与Fisher向量[23]的空间加权表示相结合,在鸟类[30]和犬类[12]数据集上都显示出较好的结果。利用boost的能力将多个学习者的优势结合起来,也可以提高[20]的分类精度,达到最先进的性能。
2.2. Discriminative Part Localization
大量的工作建议利用边界框和部件的额外注释来定位细粒度识别中的重要区域[9、16、22、30、33、34]。然而,大量的人力投入使得这一任务对于大规模的实际问题并不实际。最近,有许多新兴的研究工作为一个更普遍的场景,并建议使用无监督的方法来学习部分注意模型。一种基于视觉注意力的方法在对象和部件上都提出了一个两层的domain-net,其中部件模板是通过聚类方案从CNN[31]的内部隐藏表示中获得的。选择深度过滤器响应[35]和多粒度描述符[27]建议通过分析来自CNN的过滤器响应来学习一组部分检测器,这些过滤器响应以非监督的方式一致地响应特定的模式。空间变压器[10]更进一步,提出了一种动态机制,可以主动地对图像进行空间变换,以实现更精确的分类。与我们最相关的工作来自[25,31,35],他们从卷积信道响应中学习候选部分模型。与他们相比,我们的工作有两方面的优势。首先,我们建议从一组空间相关的卷积信道中学习部件生成,而不是从独立的信道中学习部件生成,独立信道往往缺乏很强的区分能力。其次,对零件进行细粒度特征学习和零件定位,相互增强,保证了从一致优化的特征图中可以准确地推断出多个具有代表性的零件。
3. Approach
传统的基于零件的框架无法利用经过深度训练的网络来相互促进零件本地化和特征表示的学习。在本文中,我们提出了一种多注意力卷积神经网络(MA-CNN)用于零件模型学习,其中零件注意力的计算几乎是免费的,可以端到端的训练。
我们使用图2中的卷积、信道分组和部分分类子网络来设计网络。首先,整个网络以图2 (a)中的全尺寸图像作为输入,将其送入图2 (b)中的卷积层中,提取基于区域的特征表示。其次,通过对图2 (d)中的信道分组和加权层,生成图2 (e)中的多个部分注意图,然后使用sigmoid函数生成概率。其结果部分表征是由具有空间注意机制的基于区域的特征表征汇聚而成,如图2 (f)所示。一组概率得分/每一部分细粒度分类预测的全连通图2和softmax层(g),提出MA-CNN优化收敛,或者学习一门softmax分类损失/每一部分代表和通道分组丢失/每一部分注意力地图。
3.1. MultiAttention CNN for Part Localization
给定一个输入图像X,我们首先通过将图像输入到预先训练好的卷积层中来提取基于区域的深度特征。提取的深层表示是W*X,*代表一系列卷积,池化,激活的操作。虽然卷积特征信道可以对应某种类型的视觉模式(如stripe)[25,35],通常很难通过单一通道表达丰富的零件信息。因此,我们提出了一种信道分组和加权子网络,将与空间相关的细微模式从一组峰值响应出现在邻近位置的信道中作为紧凑和区分的部分进行聚类。
直观地,每个特征通道可以表示为一个位置向量,其元素为所有训练图像实例上峰值响应的坐标
3.2. Multitask Formulation
损耗函数:本文提出的MA-CNN通过两类监督进行优化,即:,部件分类损失和信道分组损失。具体地,我们将目标函数表示为一个多任务优化问题。图像X的损失函数定义如下
虽然对于局部化来说,强分辨是必不可少的,但是来自多个局部建议的丰富信息可以进一步提高鲁棒识别的泛化能力,特别是在位姿方差和遮挡较大的情况下。因此,本文提出了用于零件学习的紧凑多样的信道分组损耗
替代优化:为了以一种相互增强的方式优化零件定位和特征学习,我们采用以下替代训练策略。首先,我们对卷积层中的参数进行了修正,并在Eqn中使用Lcng对图2 (d)中的信道分组层进行了优化。(6)局部发现收敛。其次,我们修正了信道分组层,并通过Eqn中的Lcls切换到图2中的(b)和(g)中的softmax来优化卷积层。(6)细粒度特征学习。这种学习是迭代的,直到这两种类型的损失不再改变。
由于Lcls的影响是可以直观理解的,所以我们通过展示学习部分注意力mapsMi上的导数来说明Lcng中距离损失Dis(·)和多样性损失Div(·)的机制。鸟类头部和翅膀的迭代中的部分注意力映射如图3的顶行所示,区域越亮,注意力响应越高。此外,我们将每个位置的导数从部分的注意中形象化表示优化方向的map。黄色+表示需要加强的区域,蓝色-表示需要弱化的区域,灰色·表示不变。基于对每个位置的优化,在下一次迭代中,背景区域和两个注意力图之间的重叠会变小(如图3底部所示),这得益于Eqn中的第一项和第二项。(7)。
3.3. Joint Partbased Feature Representation
虽然提出的MA-CNN可以通过同时学习零件定位和细粒度零件特征来帮助检测零件,但是由于局部区域尺寸较小,很难表示局部区域存在的细微视觉差异。由于之前的研究(如[5,18,34])已经观察到区域缩放的好处,在本节中,我们遵循相同的策略。
具体来说,首先将图像X(如448x448像素)输入MA-CNN, MA-CNN从X裁剪出一个正方形,生成N个部分,每个Mi对应的顶点为中心,96x96区域为部分包围框。每个裁剪的区域被放大成一个更大的分辨率(例如,224x224),并被part- cnns作为输入,其中每个part- cnn学会将一个部分(例如,head for a bird)分类为图像级类别。为了从图像中提取局部和全局特征,我们按照之前的工作[1,18,33],从局部水平的patch和对象水平的图像中提取Part- CNN作为输入。因此,我们可以得到每个图像的联合基于部分的特征表示:
4. Experiment
4.1. Datasets and Baselines
使用三个数据集,
前五种方法使用人工监督,后八种方法基于非监督部分学习方法。我们与他们比较,因为他们的最先进的结果。所有基线如下所示
4.2. Implementation Details
为了进行公平的比较,我们使用与基线相同的设置来进行实验。具体来说,我们使用相同的在ImageNet上预先训练的VGG-19[26]模型,用于448 448输入的MA-CNN的局部定位和224 - 224输入的part - cnn的分类,其中MA-CNN中较大的分辨率输入有利于鉴别部分学习。每个Part-CNN的输出由Global Average Pooling (GAP)[37]从最后一个convolutional layer(即卷积层)中提取出来。生成512-dim特征进行分类。fgvc飞机和斯坦福汽车数据集,Eqn中的PO。(10)为原始图像;对于cub200 -2011,我们还使用裁剪的高卷积响应区域(例如,阈值为最高响应值的十分之一)作为对象级表示。Eqnλ。(7) Eqn中的mrg。(9)经验设置为2和0.02,对优化具有鲁棒性。信道分组层的具体形式是由两个全连通层通过tanh激活来构造的。我们使用Caffe[11]进行实验,并将在不久的将来发布完整的模型。
4.3. Experiment on CUB2002011
零件定位结果:利用本文提出的MA-CNN网络,对不同设置下的零件定位结果进行定性分析。这些设置包括:1)使用Eqn聚类进行零件定位。(1)和Eqn。(2)、(2)仅通过通道分组Lcng对零件进行优化,(3)通过通道分组Lcng和零件分类Lcls进行联合学习。我们将零件编号N设置为2、4、6,并以4个零件为例,在图4中显示了学习到的零件定位结果。
从图4 (a)可以看出,虽然初始化的红色部分检测器可以定位这四只鸟的头部,但是其他部分检测器并不总是有区别的。例如,绿色检测器分别对四只鸟的脚、尾巴、喙和翅膀等不一致的部分进行定位,显示出较差的部分学习结果。此外,多部件探测器(e。g,红色和蓝色)出现在相同的区域中,很难从不同的部件位置捕获不同的特性表示。虽然可以通过引入图4 (b)中的信道分组损耗来生成更加多样化的部件,但是所学习的部件检测器仍然不够健壮,无法区分一些相似的部件。例如,绿色的鸟很难分辨出细长的喙和脚与蓝色的松鸦和黄昏鸟。进一步的改进受到来自预先训练好的卷积层的特征表示的限制,这些特征表示是通过将全局鸟的特征回归到类别标签得到的,并且很难学习特定部分的细粒度表示。提出的MA-CNN采用了一种可选的策略,既学习局部局部化,又学习特定局部的细粒度特征,从而可以获得对四个部分的一致预测,其中红、蓝、黄、绿探测器分别定位头部、胸部、翅膀和脚。为了更好地展示特征学习结果,我们展示了VGG-19中512个通道上的特征通道分组生成的部分注意图。从图5中我们可以看出,通过联合学习得到的注意图往往集中在一个特定的部分(如图5 (c)中绿色部分的脚)。然而,图5 (b)中没有特征学习的绿色注意图在脚和喙上产生了多个峰值响应,这反映了将两个身体区域与鸟类区分开来的能力不足。
在分类精度方面,我们进一步对零件本定位进行了定量比较。所有比较的方法都使用VGG-19模型进行基于零件的分类,但零件定位设置不同。从表2可以看出,与第一行初始信道聚类得到的结果相比,提出的损耗Lcng的信道分组网络在第二行取得了显著的改进(相对增加4.0%)。通过进一步定位更细粒度的部件(如英尺),可以通过第三行中的联合学习来提高性能,与第二行相比,其相对精度提高了1.4%。
细粒度图像识别:我们根据两种基线是否使用humandefined bounds box (bbox)/part注释对它们进行比较。掩蔽- cnn[29]使用监督与人类定义的边界框和地面真相部分。B-CNN[17]使用边界框,具有非常高维的特征表示(250k维)。头部和翅膀,如图4中红色和黄色的方块所示,其零件数量与Mask-CNN[29]相同。如表3所示,本文提出的MA-CNN (2 parts + object)即使不使用bbox和part annotation,也可以达到与Mask-CNN[29]和B-CNN[17]相当的效果,说明了其有效性。通过四个部分的结合,我们可以得到比Mask-CNN[29]更好的结果。与RA-CNN[5]相比,使用MA-CNN (2 parts + object)可以获得比较的结果,使用MA-CNN (4 parts + object)可以获得1.4%的相对精度增益,显示了多注意力的威力。我们甚至超越了B-CNN(不含Train Anno.)[17]和ST-CNN[10],这两种[10]要么使用高维特征,要么使用更强的inception网络作为基线模型,其相对准确率几乎都提高了2.9%。请注意,MA-CNN(4个部分+对象)的性能明显优于MA-CNN(2个部分+对象),并且有明显的优势(1.3%的相对增益),但是在将MA-CNN扩展到6个部分之后,性能达到饱和。原因主要来自于MA-CNN (2 parts + object)捕捉到头部和翅膀周围的部分,MA-CNN (4 parts + object)进一步定位到脚和乳房周围。因此,MA-CNN(6个部件+目标)很难从鸟类中获得更多的识别性部件,且识别精度饱和。
4.4. Experiment on FGVCAircraft
由于飞机图像具有清晰的空间结构,因此本文提出的MA-CNN网络可以获得良好的局部定位结果,共包含四个部分建议,如图6 (c)所示。提出的MA-CNN(4个部分+对象)性能明显优于高维B-CNN [17] (6.9)结果表明,该方法是有效的。MDTP[28]还提出通过包围框标注和几何约束来检测零件。然而,他们并没有充分利用卷积网络来细化本地化的特征。与MDTP[28]相比,ma - cnn (4 parts + object)的相对增益为1.7%,进一步说明了特征和部件联合学习的重要作用。与RA-CNN[5]相比,MA-CNN (2 parts + object)获得了比较结果,MA-CNN (4 parts + object)获得了1.8%的相对精度增益。通过使用FGVC-Aircraft数据集上的六个部分,可以观察到类似的性能饱和。
4.5. Experiment on Stanford Cars
Stanford Cars的分类结果如表5所示。汽车零部件检测由于具有不同的汽车零部件[32]的差异性和互补性,可以显著提高汽车零部件的检测性能。例如,一些汽车模型可以很容易地识别从大灯或进气口在前面。从图6 (b)中可以看出,从汽车中学习到的四个部分与人的感知是一致的,包括前/后视图、侧视图、车灯和车轮。由于精确的零件定位,MA-CNN(4个零件+目标)与FCAN相比可以获得4.2%的相对精度增益[18]在相同的实验设置下。我们的非监督部分模型的结果甚至可以与使用边界框的PACNN[14]相媲美。我们可以观察到与RA-CNN[5]相比的边缘改善,因为多个注意力区域(如前视图和车灯)的位置足够近,这些区域已经被RA-CNN作为一个整体来关注。
5. Conclusions
本文提出了一种用于细粒度识别的多注意卷积神经网络,它可以联合学习判别零件定位和细粒度特征表示。建议的网络不需要边界框/部件注释来进行训练,可以端到端的进行训练。大量的实验表明,该方法在鸟类、飞机和汽车的多部件定位和细粒度识别方面都具有较好的性能。未来,我们将从两个方向进行研究。首先,如何将零件的结构模型和外观模型进行整合,以获得更好的识别性能。第二,如何通过非监督的部件学习方法来捕获更小的部件(例如,鸟的眼睛),以表示细粒度类别之间更细微的差异。