LIO pipeline:在目标识别中关注结构信息

摘要

  大多数物体识别方法主要关注于识别的视觉模式,而忽略了物体的整体结构。虽然结构建模很重要,但通常需要大量的手工注释。在本文中,我们提出,通过将自监督纳入传统框架来“观察对象”(但本质上是对对象结构建模)。我们表明,识别backbone可以大大增强,以实现更健壮的表示学习,而不需要额外的注释和推理速度。具体来说,我们首先提出了一个对象范围学习模块用于根据同一类别中实例之间共享的视觉模式来定位对象。然后,我们设计了一个空间上下文学习模块通过预测范围内的相对位置来建模对象的内部结构。在训练期间,这两个模块可以很容易地插入任何主干网络,并在推理时分离。大量的实验表明,我们的look-into-object方法(LIO)在许多基准上都取得了很大的性能提升,包括通用对象识别(ImageNet)和细粒度对象识别任务(CUB、Cars、airpair)。我们还表明,这种学习范式可高度推广到其他任务,如对象检测和分割(MS COCO)。

1 Introduction

  对象识别是计算机视觉中最基本的任务之一,通过深度神经网络设计和丰富的数据标注,已经取得了稳步的进展。然而,在实际应用中,识别视觉上相似的物体仍然是一个挑战,特别是当存在不同的视觉外观、姿势、背景噪声等时。

  由于视觉外观复杂,即使使用大规模的人形标记数据集,也无法完全基于区分区域正确识别对象。如图1所示,训练有素的ResNet50(第三列)仍然可以通过查看错误的部分对对象进行错误分类。

图1.基于ResNet-50主干网最后一个卷积层的特征图可视化。第一列显示原始图像,第二列和第三列分别显示来自ground truth和预测标签的最大响应特征图。最后一列通过在ResNet-50上插入我们建议的LIO来显示功能映射。由于整体结构建模,对象扩展和区分区域都得到了正确定位。(最好以彩色显示)。 

  现有的目标识别方法可以大致分为两类。一组优化网络结构以学习高质量的表示[29,21,15,7],而另一组研究引入额外的模块,以明确(通过边界框[2,16,18])或隐含(通过注意力[11,36])突出突出突出的部分。显然,后者在注释(例如边界框/零件位置)或计算(注意/检测模块)上的成本更高。然而,所有这些方法主要侧重于学习显著模式,而忽略了整体结构组成

  在本文中,我们认为,正确识别有区分性的区域在很大程度上取决于对象的整体结构。传统的基于深度学习的方法在很多情况下很容易被愚弄,例如,区分汽车的前后轮胎,在树枝间定位鸟的腿。这主要是由于缺乏对物体结构的认知能力。因此,除了简单的视觉模式外,了解物体的结构至关重要。尽管重要,但系统地学习对象结构组成仍然具有挑战性,尤其是在没有额外注释和额外推理时间成本的情况下。

  在这项工作中,我们提出在没有额外注释和额外推理时间的情况下对整体对象结构进行建模。具体来说,我们提出“look-into-objects”(简称“LIO”),通过自动建模区域间的上下文信息来理解图像中的对象结构。从心理学的角度来看,识别对象自然可分为两个阶段:1)大致定位对象范围(对象的整个范围,而不是对象部分),以及2)解析对象内各部分之间的结构。 

  因此,我们设计了两个模块来模拟这种对象识别的心理过程。我们通过将两个附加模块嵌入传统骨干网络,提出了一种新颖的通用目标识别方案,如图2所示。第一个是用于对象范围定位的对象范围学习模块(OEL),第二个是用于对象内部结构学习的空间上下文学习模块(SCL)

  当然,对象结构建模的先决条件是对象范围可以定位。OEL模块使用伪掩码强制backbone学习对象范围。我们首先测量目标图像和同一类别的其他正图像之间的区域级相关性。由于来自同一类别的图像之间的共性,属于主要对象的区域将具有高度相关性。因此,可以根据相关分数构造对象范围的伪掩码,而无需在原始图像标签之外进行额外注释。然后,对主干网进行训练,回归伪掩模以定位目标。通过端到端的训练,可以进一步增强骨干网的目标范围定位能力。

  SCL模块以自监督的方式预测对象范围内区域之间的空间关系。给定OEL模块学习到的定位范围,SCL主要关注区域之间的内部结构。具体来说,我们使用主干网络来预测区域对之间的相对极坐标,如图2所示。通过这种方式,可以对对象部件的结构组成进行建模。这种自监督信号通过端到端的训练有利于分类网络对目标结构的理解。显然,在解析良好的结构中定位区分区域比在原始特征映射中容易得多。

图2.我们提出的面向对象(LIO)方法。对象范围学习(OEL)和空间上下文学习(SCL)分别强化了学习对象范围和内部结构的主干。

  请注意,所有这些模块都将分类主干网生成的特征表示作为输入,并在区域级别上运行,从而形成一个精细的对象(LIO)框架。具有此类目标的培训通过端到端反向传播加强骨干网络的特征学习。理想情况下,对象范围和结构信息都可以注入主干网络,以改进对象识别,而无需附加注释。此外,两个模块都可以在推理期间禁用。 

  主要贡献可概括如下:

  1.一个具有两个新模块的通用LIO范式:用于对象范围定位的对象范围学习模块和用于对象结构组合建模自监督空间上下文学习模块

  2.在一般对象识别、细粒度识别、对象检测和语义分割任务上的实验结果证明了LIO的有效性和泛化能力。

  3.从实际应用的角度来看,我们提出的方法不需要额外的注释,并且在推理时不引入计算开销。此外,所提出的模块可以插入任何基于CNN的识别模型中。

2 Related Work

通用对象识别:ILSVRC的出现推广了一般图像分类[27]。随着AlexNet[32]取得的非凡进步,计算机视觉领域开始了深度学习浪潮。从那时起,一系列的工作例如VGGNet[30]、GoogLeNet[33]、ResNet[13]、InceptionNet[33,35]、SENet[15]等被提出学习更好的图像识别表示。

  然而,一般的对象识别模型仍然容易混淆视觉上相似的对象[1,8]。类混淆模式通常遵循类的层次结构。一般的对象识别网络通常能够很好地分离高级类别组,但学习分离单个类别的专用特征检测器的成本相当高。原因是同一层次结构中的类的全局几何图形和外观可能非常相似。因此,如何识别它们在辨别区域的细微差异至关重要。

细粒度目标识别:与一般的目标识别不同,对象部件的精细特征表示在细粒度对象识别中起着更为关键的作用。现有的细粒度图像分类方法可以归纳为两个方向。第一个是增强主干网的详细特征表示能力[34,31,37]。第二种方法是引入部件位置或对象边界框注释,作为基本分类网络之外的额外优化目标或监督[43,44,11,18]。

  与一般对象识别类似,基于深度学习的特征表示在细粒度图像识别方面取得了巨大成功[9,28]。然后,提出了二阶双线性特征表示学习方法[21]和一系列扩展[39,17,42],用于以平移不变的方式学习局部成对特征交互。

  然而,从细粒度类别识别对象需要神经网络更多地关注区分部分[40]。针对这一问题,提出了大量基于部件定位的细粒度识别方法。这些方法大多应用注意机制来获得辨别区域[11,25]。Zheng等人[44]试图通过聚类生成多个部分,然后对这些部分进行分类以预测类别。与早期基于部件的方法相比,最近的一些工作倾向于使用弱监督,甚至没有对部件进行注释[26,41]。特别是,Peng等人[26]提出了一个部分空间约束,以确保模型能够选择有区别的区域,并使用专门的聚类算法来集成这些区域的特征。Yang et al.[41]介绍了一种检测信息区域的方法,然后仔细检查它们以获得最终预测。这些工作的目标是直接从像素级图像中搜索关键区域。然而,要正确地检测有区别的部分,必须深入理解对象的结构和关键区域的空间上下文信息。反过来,图像中区域的位置信息可以增强神经网络的视觉表示[24],这已在无监督特征学习中得到证明。

  与以前的工作不同,我们提出的方法侧重于建模对象部分之间的空间连接,以理解对象结构和定位区分区域。受对象之间的上下文信息影响对象识别的准确性和效率的研究[14]的启发,对象内部区域之间的空间信息也有利于区分区域的定位。因此,我们引入了两个未提出的方法中的模块;第一个目标是检测主要对象,第二个目标是推断对象中区域之间的空间相关性。实验结果表明,该方法可以提高一般目标识别和细粒度目标识别的性能。此外,在推理过程中,除了主干网络前馈外,我们的方法没有额外的开销。 

3 Approach

  在本节中,我们将介绍我们提出的LIO方法。如图3所示,我们的网络主要由三个模块组成:

  • 分类模块(CM):提取基本图像表示并生成最终对象类别的主干分类网络。
  • 对象范围学习模块(OEL):用于在给定图像中定位主要对象的模块。

  • 空间上下文学习模块(SCL):一个自监督模块,通过CM中特征单元之间的交互来加强区域之间的连接。

 图3.我们的Look-into-object(LIO)框架的pipeline。从分类模块中提取的特征映射f(I)进一步反馈到空间上下文学习模块和对象范围学习模块。通过端到端的训练,来自空间上下文学习模块和对象范围学习模块的反向传播信号可以联合优化分类模块中骨干网络的表示学习。在推理过程中,只有分类模块(绿色框中)被激活。

  给定一幅图像和它的one-hot标签,我们可以从其中一个卷积层得到大小为N×N×C的特征图f(I),从分类网络得到概率向量y(I)。C是该层的通道大小,N×N是f(I)中每个特征图的大小。分类模块(CM)。 L_{cls}的损失函数可以写成: 

  其中\mathbb{I}是用于训练的图像集。 

  对象范围学习模块和空间上下文学习模块旨在帮助我们的主干分类网络学习有利于结构理解和对象定位的表示。这两个模块是轻量级的,并且只引入了一些可学习的参数。此外,OEL和SCL在推理时被禁用,为了提高计算效率,只需要使用分类模块。

3.1 对象范围学习模块 OEL

  在图像中定位对象的范围是理解对象结构的先决条件。一种典型的方法是引入边界框或分段注释,这在数据收集上花费很大。对于缺乏定位或分割注释的典型图像识别任务,我们提出了一个新的模块称为对象范围学习,以帮助主干网络区分前景和背景

 我们可以将特征图f(I)划分为n×n特征向量f(I)_{i,j}\in \mathbb{R}^{1\times C},其中i和j分别为水平和垂直指数(1≤i,j≤N) 。每个特征向量集中响应输入图像I中的特定区域。受来自同一类别的图像中的对象总是共享一些共性的原则的启发,而共性反过来又有助于模型识别对象,我们对和图像I具有相同标签l的正图像集i0={I01,I02,····,I0P}进行采样,然后测量f(I)_{i,j}和每个图像I^{'}之间的区域级相关性。

其中的\left \langle \cdot ,\cdot \right \rangle表示点乘。

  与分类目标L_{cls}联合训练,相关得分ɕi、jis通常与语义相关性tol呈正相关。

  之后,我们可以为I的对象范围构造一个N\times N掩码矩阵\phi (I,I^{'})。因此,同一类别的图像的共性可以通过该语义关联掩码\phi很好地捕捉到,并且其中的值自然地区分了主要对象区域和背景,如图4所示。 

图4.相关性计算有助于定位对象范围

  考虑到视点变化和变形的影响,我们使用多幅正面图像来定位对象的主要区域。因此,我们得到一个弱监督伪标签来模拟对象定位掩码:

  此外,M(I,I^{'})可以被视为来自同一类别的图像之间共享的共性的表示。OEL模块的主要目的是从共性中丰富分类网络,并推断对象范围的语义掩码。因此,我们在f(I)之后装备了一个简单的流来融合f(I)所有具有权重的特征映射。这些特征通过一个1×1卷积处理,以获得一个通道m^{'}(I)的输出。不同于传统的专注于检测某些特定的部分或区域,我们的OEL模块训练用于收集对象内的所有区域,而忽略背景或其他无关对象。OEL模块的损失l_{oel}可定义为对象范围的伪掩模M(I,I^{'})m^{'}(I)之间的距离,其可表示为: 

   其中,MSE定义为均方误差损失函数。根据同一类别图像之间的视觉共性,L_{oel}有助于学习更好地表示对象范围。通过端到端的训练,对象范围学习模块可以通过检测主要对象范围来丰富主干网络。

3.2 Spatial Context Learning(SCL)

  结构信息在图像理解中起着重要作用。经典的广义卷积神经网络利用卷积核提取图像中的结构信息,并通过分层融合多层次信息。我们提出了一个称为空间上下文学习的自监督模块,通过学习对象中的空间上下文信息来增强主干网络的结构信息。

  给定一个图像I,我们的SCL模块也作用于特征映射f(I),旨在了解区域之间的结构关系。首先,对特征映射进行1×1卷积加ReLU处理,得到新的映射h(I)\in \mathbb{R}^{N \times N \times C},描述不同特征单元的空间信息。h(I)中的每个单元集中表示图像I的一个区域的语义信息。通过在不同区域之间建立空间连接,可以轻松建模对象不同部分之间的结构关系。

  在本文中,我们使用极坐标测量不同区域之间的空间连接。给定参考区域R_{o}=R_{x,y},其指数为N×N平面上的(x,y)和参考水平方向,区域R_{i,j}的极坐标可以写成(\Gamma _{i,j},\theta _{i,j})

 式中0\leqslant \Gamma _{i,j}\leqslant 1测量R_{o}R_{i,j}之间的相对距离,atan2(\cdot )对于从笛卡尔坐标到极坐标的角度转换返回范围为(−π、 π]的明确值,\theta _{i,j}测量与水平方向相对应的R_{i,j}的极角。值得注意的是,为了确保\theta值的广泛分布,理想情况下,应选择对象范围内的区域作为参考区域。在本文中,选择响应m(I)中最大值的区域:

  该ground-truth极坐标被视为指导SCL模块训练的监督。具体而言,SCL模块设计用于通过联合考虑目标区域R_{i,j}和参考区域R_{o}(来自h(I))的表示来预测区域R_{i,j}的极坐标。我们首先对h(I)_{i,j}h(I)_{x,y}进行通道连接,然后由一个带有ReLU的完全连接层来处理输出,以获得预测的极坐标(\Gamma _{i,j},\theta _{i,j})。由于我们提出的模块主要关注对象内不同部分的空间结构建模,因此从OEL模块学习的对象范围掩码m^{'}(I)也适用于SCL模块。SCL模块有两个目标。第一个测量对象与所有区域的相对距离差: 

  另一个测量对象内部区域的极角差异。考虑到物体的结构信息应该是旋转不变的,并且对物体的各种外观和姿势都具有鲁棒性,我们测量了极角差L∠ 根据预测极角和ground truth极角之间间隙的标准偏差:

  式子中\bar{\theta}_{\bigtriangleup }=\frac{1}{\sum m^{'}(I)}\sum_{1\leq i,j\leq N}^{}m^{'}(I)_{i,j} \theta_{\bigtriangleup _{i,j}} 是预测极角和ground truth极角之间差距的平均值。通过这种方式,我们的SCL可以专注于建模对象各部分之间的相对结构,而不是对参考方向敏感的区域的绝对位置。此外,由于预测语义掩码m^{'}(I)的使用,除主对象外的其他视觉信息,例如:在回归极坐标时忽略背景。总之,空间上下文学习模块的损失函数可以写成:

  通过L_{scl},骨干网络可以识别模式结构,即对象的组成。通过端到端的训练,空间上下文学习模块可以授权主干网络对对象各部分之间的空间依赖性进行建模。 

3.3 Joint Structure Learning

  在我们的框架中,分类、对象范围学习和空间上下文学习模块以端到端的方式进行训练,其中网络可以利用增强的对象定位和对象结构信息。通过最小化以下目标函数对整个框架进行训练: 

  对于本文报告的所有实验结果,我们设α=β=0.1。

  在推理过程中,SCL和OEL都被删除,只保留分类模块。因此,该框架在推理时不会引入额外的计算开销,并且在实际产品部署中运行得更快。此外,对象范围学习模块和空间上下文学习模块可以附加到从分类模块的不同卷积层生成的特征映射的不同阶段。因此,我们可以在不同的粒度级别对对象的结构信息进行建模。总体训练方法称为多阶段LIO。例如,我们可以通过组合ResNet-50的L_{7 \times 7}(从N=7的最后一个卷积层提取特征映射)和L_{14 \times 14}(从N=14的倒数第二个卷积层提取特征映射)来联合优化我们的框架。

4 Experiment

  为了展示我们提出的look-in-to框架的优越性,我们评估了两种对象识别设置的性能:细粒度对象识别和通用图像分类。此外,我们还将我们的LIO框架用于其他任务,如目标检测和分割,以研究其泛化能力。

  除非特别提及,否则在主干分类网络的最后一级特征图上应用空间上下文学习模块和对象范围学习模块,默认情况下使用三幅正面图像作为训练过程。对于所有这些任务,我们没有使用任何附加注释。

4.1 Fine-grained Object Recognition

 对于细粒度对象识别,我们在三个不同的标准基准上测试LIO:CUB-200-2011(CUB)[4]、斯坦福汽车(CAR)[19]和FGVC飞机(AIR)[23]。我们首先在ImageNet分类任务中使用预先训练好的ResNet-50主干初始化LIO,然后在上述数据集上微调我们的框架。将输入图像的大小调整为512×512的固定大小,并随机剪切为448×448,以实现比例标准化。我们采用随机旋转和水平翻转来增加数据。所有上述转换都是文献中的标准转换。ResNet-50基线和LIO/ResNet-50都经过240个阶段的训练,以确保完全收敛。SGD用于优化等式10中定义的训练损失。在测试过程中,仅对主干网进行分类。对输入图像进行集中裁剪,然后送入主干分类网络进行最终预测。

  表1总结了详细结果。除了将OEL和SCL插入大小为7×7的最后阶段特征映射之外,我们还在倒数第二阶段14×14输出和倒数第二阶段28×28输出上测试了这两个模块。然后将这三个不同阶段的模型组合成一个多阶段的LIO。如表1所示,LIO嵌入式ResNet-50可以实现比基线ResNet-50更好的精度。此外,多级LIO在所有三个基准上都取得了显著的性能改进,这证明了所提出的区域级结构学习框架的有效性。

  值得注意的是,LIO和我们以前的工作DCL[6]针对细粒度识别任务中的不同研究方向。DCL的目的是学习局部区域,而LIO则试图理解整个对象的结构。这两种方法都有利于细粒度对象识别,而LIO在柔性对象识别(CUB)方面效果更好,可以进一步扩展到通用对象识别(第4.2节)、对象检测和分割(第4.3节)因为对象结构信息在这些任务中起着至关重要的作用。

4.2 Generic Object Recognition on ImageNet

   我们还评估了我们提出的LIO在大规模通用对象识别数据集ImageNet 1K(ILSVRC-2012)上的性能,其中包括1000个类的2800万张图片。为了进行兼容性测试,我们在常用的主干网ResNet50上评估了我们的方法。按照标准实践,我们使用224×224像素的随机裁剪来执行数据扩充,并执行随机水平翻转。使用动量为0.9的SGD进行优化,256的小批次。实验结果如表2所示。我们可以发现,LIO提高了ImageNet-1K验证集上三种不同主干网络的性能,这进一步证明了我们提出的对象识别框架的通用性。通过一个轻量级的LIO插件,典型的ResNet-50的性能甚至可以达到SE-ResNet-50的性能[15]。

表2.ImageNet-1K验证集上单个模型的单裁剪错误率(%)。 

4.3 Object Detection and Segmentation on COCO 

  同时,考虑到对象结构信息将有助于对象检测和分割任务,我们还研究了在MS COCO数据集上针对对象检测/分割任务提出的LIO[20]。我们采用基本掩码R-CNN[12],并将LIO插入区域建议网络后,这样每个对象的结构信息都可以很好地建模。SCL模块可以在ROI池后直接作用于对象特征,因此OEL模块被禁用。我们基于MDetection[5]工具箱实现了新的检测/分割网络,并将所有超参数保留为默认值。

  我们在基本基线ResNet-50-C4和更高基线ResNeXt-101-FPN上应用LIO模块。这些模型在COCOval2017集合中评估的COCOTRAIN2017集合上接受培训。我们报告了标准COCO指标,包括AP、AP50、AP75(多个IoU阈值的平均精度)和APS、APM、APL(跨量表的AP)。表3中所述的实验结果表明,对结构成分进行建模有利于对象理解,并在语义分割方面产生更好的结果。这证明了我们的LIO对于对象结构成分学习的有效性和泛化能力。图5给出了我们的基本ResNeXt-101-FPN和我们的方法的一些结果示例。 

图5.COCO对象检测和实例分割的定性示例。我们基于LIO的方法可以根据对象结构信息在三个方面提高性能:(a)减少错误的对象标签预测。(b) 忽略噪声分割mask。(c) 完成碎片分割掩模。

 4.4 Ablation Study

  为了证明OEL模块和SCL模块的效果,我们在CUB[4]和CAR[19]上进行了模块分离实验。OEL和SCL都作用于来自ResNet-50主干的最后阶段特征映射。结果如表4所示。我们可以发现这两个模块都显著提高了性能。具体而言,如图6所示,SCL提供了学习空间结构的原则性方法,这有助于挖掘对象中的辨别区域。此外,OEL模块还可以根据类内区域相关性对目标范围进行定位,从而克服姿态、外观和背景杂波的影响。总之,由于SCL和OEL的互补性,整体绩效可以进一步提高。

  此外,我们还尝试将伪语义maskM(I,I^{'})替换为LIO的基本真值掩码。结果表明,我们的基于学习的方法可以构造出一个高质量的语义掩码,它甚至非常接近于基本真相掩码(CUB的准确率为87.3%,而CUB的准确率为87.4%)。

图6.分别使用OEL和SCL对特征图进行可视化。OEL将主干重点放在对象范围上。SCL不仅有助于在目标范围内搜索判别区域,而且有助于完成OEL定位的目标范围。 

4.5 Discussions

正图像的数量:批次中正图像的数量是OEL模块的一个重要参数。我们通过在图7中给定不同数量的正图像P来可视化伪掩模M(I,I^{'})。我们还评估了我们的方法在CUB和CAR上使用不同数量的正面图像,识别精度如表5所示。随着使用更多正面图像,该框架在结构学习方面变得更好,并产生更好的性能。最后,性能将停止上升或下降,并变得稳定。对于刚性对象结构,例如汽车,我们只需要几个正面图像来生成合理的伪范围遮罩。一般来说,仅馈送一幅正面图像可以让主干学习视点多样性的碎片对象范围。内存的增加会导致内存使用率的快速上升。因此,我们在本文的实验中使用p=3来权衡最终性能和计算成本。

图7.在给定不同数量的正图像的情况下,可视化伪分割遮罩的变化。 

表5.正面图像数量对准确性的影响。 

模型效率: 在训练期间,我们的LIO除了主干网之外还引入了三个附加层,包括OEL模块中的一个卷积层、SCL模块中的一个卷积层和一个全连接层。对于LIO/ResNet-50(28x28),在我们的LIO中只引入了2600万个新参数,即原始ResNet-50参数的1.01%。一个重要的特性是,OEL和SCL模块都可以在测试期间禁用。这意味着最终的分类模型大小与原始主干网相同。基线主干网在推理时无需任何计算开销即可得到显著改善。

5 Conclusions

  在本文中,我们提出了一个面向对象(LIO)的框架来学习结构信息以增强对象识别。我们发现,有监督的目标识别在很大程度上得益于“额外但免费”的自我监督,其中几何空间关系显著纠正了区分区域的定位,甚至导致更好的目标检测和分割。在以前的文献中被忽略的结构信息可以可靠地防止网络陷入局部混乱。此外,我们的插件式设计可以广泛应用于向骨干网络注入额外的监督,而无需为模型部署增加额外的计算开销。

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值