当前位置: 首页 > news >正文

第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割

0.摘要

        本文介绍了WILDCAT,一种深度学习方法,它旨在通过对齐图像区域来获得空间不变性和学习强烈局部化特征。我们的模型仅使用全局图像标签进行训练,并致力于三个主要的视觉识别任务:图像分类、弱监督的逐点对象定位和语义分割。WILDCAT在三个主要层面上扩展了最先进的卷积神经网络:使用全卷积网络以保持空间分辨率,网络中明确设计了与不同类别模态相关的局部特征,并采用一种新的方法来汇集这些特征以提供弱监督训练所需的全局图像预测。大量实验证明,我们的模型在性能上显著优于最先进的方法。

1.引言

        在过去的几年中,深度学习和卷积神经网络(CNNs)已成为视觉识别的最先进方法,包括图像分类[34,56,28]、目标检测[21,20,10]或语义分割[8,42,9]。CNNs通常需要大量的训练样本:一种常见的做法是使用在大规模数据集上预训练的模型,例如ImageNet [53],然后在目标领域进行微调。

        就空间信息而言,ImageNet主要包含中心化的物体,而其他常见数据集,如VOC或MS COCO,则包含多个物体和强烈的尺度和平移变化。为了在这种情况下实现最佳的领域适应,有必要对信息丰富的图像区域进行对齐,例如通过检测物体[44,29]、部分[68,69,70,35]或上下文[23,13]。尽管一些研究在训练过程中引入了更精确的注释,例如边界框[43,21],但增加的注释成本阻碍了其广泛使用,特别是对于大型数据集和像素级标注,即分割掩码[3]。

        在本文中,我们提出了WILDCAT(弱监督的深度卷积神经网络学习)方法,用于学习与类别模态相关的局部化视觉特征,例如狗的头部或腿部(见图1(c)和1(d))。所提出的模型可以用于进行图像分类以及弱监督的逐点对象定位和分割(图1(b))。

        WILDCAT的整体架构(图2)在三个主要层面上改进了现有的深度弱监督学习(WSL)模型。首先,我们利用最新的全卷积网络(FCNs)作为后端模块,例如ResNet [28](图2左侧)。FCNs最近在全监督目标检测[10]和语义分割[9]方面表现出了出色的性能,并且我们在WSL环境中调整了它们保留空间信息的能力。

        其次,我们引入了一个新的多映射弱监督学习转换层(图2中间),该层明确地学习与互补类别模态相关的多个局部特征,例如图1中狗的头部和腿部。我们的多映射策略并没有针对任何特定类型的特征进行专门设计,例如部分或基于视图的特征,而一些方法是这样的[16,22,10,9]。

        最后,我们解决了将空间得分聚合到全局预测的问题,这是WSL训练中的一个关键问题。我们提出了一种新的汇聚策略(图2右侧),它概括了文献中的几种方法,包括(顶部)最大池化[44,39]、全局平均池化[70]或负证据模型[47,12,13]。

        我们还对六个数据集上的WILDCAT模型进行了全面评估,在分类、弱监督逐点检测和分割任务上表现出色。

图1. WILDCAT示例进行定位和分割(b),基于不同的类别特定模态,这里是狗类的头部(c)和腿部(d)。

 

图2. WILDCAT架构。它基于FCN ResNet-101从整个图像中提取具有良好空间分辨率的局部特征(第3.1节)。所有区域都通过WSL多映射转换层编码为多个类别模态(第3.2节)。然后,特征图分别组合以产生特定类别的热图,可以使用新的空间聚合模块对其进行全局汇集,以获得每个类别的单个概率(第3.3节)。WILDCAT以WSL方式使用图像级标签进行训练,并应用于复杂场景理解、WSL目标检测和语义分割(第3.4节)。

2.相关工作

        尽管深度卷积神经网络(Deep ConvNets)在性能上表现出色[34,56,28],但其具有有限的不变性特性,即通过池化层[62,55,7]进行微小的平移不变性。这对于具有强烈尺度和平移变化的对象或场景数据库来说是有问题的。一种检测信息图像区域的选项是重新审视词袋(Bag of Words)模型[57,2],通过使用深度特征作为局部区域激活[27,25,24]或设计特定的词袋层,例如NetVLAD [1]。

        获得强大的不变性的另一种选择是考虑弱监督学习框架(WSL),在该框架中,我们可以明确地对齐图像区域。WSL的一个重要范例是多实例学习(MIL)[11],它将图像视为一组实例(区域)的集合。主要问题涉及将实例分数汇集为全局预测的聚合函数。已经尝试了不同的策略来结合深度模型和MIL。最大池化[44]只选择最具信息量的区域进行MIL预测。最近的替代方法包括全局平均池化(GAP)[70]、LSE池化中的软最大值[58]、学习标签比例(LLP)[65,36]和最高分数最大化[39]。负证据模型[47,12,13]明确选择区域以解释类别的缺失。在WILDCAT中,我们提出了将负证据洞察力纳入考虑,但使用不同的正负贡献过程。

        关于WSL定位任务,[5]使用标签共现信息和基于深度特征图的粗细策略来预测物体位置。ProNet [58]使用两个网络级联的方式:第一个生成边界框,第二个对其进行分类。类似地,[6]提出了一种专门用于分类和检测的双分支架构。WSL的另一个重要应用是分割。许多方法都基于MIL框架:MIL-FCN [49]将MIL扩展到多类别分割,MIL-Base [50]引入了MIL的软扩展,EM-Adapt [45]在MIL框架中包含自适应偏置,而Constrained CNN (CCNN)[48]使用针对CNN输出空间上任意一组线性约束的损失函数进行优化。

        与WSL类似,基于注意力的模型[63,29,66,64]选择相关区域来支持决策。然而,WSL方法通常在选择过程中包含一些结构,而在基于注意力的方法中,这种结构是隐含的。

        不同的语义类别通常由多个对应于不同类别模态的局部属性来表征(例如图1中狗类的头部和腿部)。开创性的DPM模型[16]包括多个用于决策的模板区域,已经进行了广泛的研究[54,46],可以选择性地引入先验知识,例如稀疏性或多样性,以学习合理的模型[30,59]。虽然[22,60]是DPM直接推广到CNN的方法,R-FCN [10]通过明确学习多个部分模型,并使用基于部分的特征池化,专为准确的空间定位而设计,并直接插入到网络的顶部,从而提高了性能。MR-CNN [19]通过使用一组固定的少量局部特征(例如部分、上下文)对对象进行建模,并结合分割线索来利用多个模态。通过显式的上下文建模[23]或像RRSVM [61]中建模区域相关性一样,最近还通过结合不同区域来解决问题。对于细粒度识别,多特征检测已经在完全监督的设置[67,40,68]和WSL [33]中得到解决。

        在使用深度模型计算局部特征时,最简单的方法是将每个区域重新调整为适应CNN架构的固定大小向量,这在早期的检测作品(如R-CNN [21])或场景理解[27,25,43,12]中已经使用过。由于这种方法效率低下,人们已经做了大量尝试,使用卷积层来共享特征计算,用于图像分类[44,13,70]、目标检测[22,20,52]或图像分割[8,42]。然而,在标准的深度架构中,如AlexNet [34]或VGG [56]中,全连接层是有益的。最近,全卷积网络(FCN)在图像分类方面取得了巨大的成功,例如ResNet [28],这推动了使用FCN进行完全监督的目标检测[10]和图像分割[9]的成功方法,这使得特征共享完整,并具有最先进的性能。我们的方法将这些最新FCN的见解应用到了WSL的设置中。

3.WILDCAT模型

        整体的WIDLCAT架构(图2)基于适用于空间预测的FCN,一个编码与类别相关的多模态WSL转移层,以及一个学习准确定位的全局池化层。现在我们来深入了解模型的每个部分。

图3.WILDCAT局部特征编码和池化。类别模态通过多通道的WSL转移层进行编码,并针对所有类别分别进行池化。然后,使用全局空间池化将局部特征进行聚合,得到每个类别的单一分数。 

3.1.全卷积架构

        在WSL中,选择特征图中的相关信息是一个重要问题。它影响了学到的表示的定位和结果的精确性(例如语义分割或目标检测)。因此,我们期望特征图的分辨率成为WILDCAT的关键组成部分:更高的分辨率可以保留更多的空间分辨率,并导致更具体的区域(例如对象、部分)。

        为此,我们利用了最近引入的FCN ResNet-101 [28](图2左侧),它在整个网络中自然地保留了空间信息。它还可以在单次前向传递中从所有区域计算局部特征,而无需调整它们的大小。此外,ResNet架构在图像分类方面非常有效,同时具有参数和时间效率[28]。这种架构已经被利用来加速计算,并在完全监督的设置中产生准确的空间预测,例如在目标检测[10]和语义分割[9]中。

        我们使用在ImageNet数据集[53]上预训练的公开发布的模型,并移除最后的层(全局平均池化和全连接层),用WSL转移层和WILDCAT池化层(图3)来替代它们,具体描述如下。

3.2.多映射转移层

        我们引入了一个多通道的WSL转移层,通过1×1卷积学习多个与类别相关的模态,并通过每个类别编码成M个特征图(图2中间)。这些模态以WSL的方式进行学习,只使用图像级别标签,而转移层保持了空间分辨率,在WSL中非常关键。我们将ResNet-101的conv5特征图的大小记为w×h×d,对于大小为W×H×3的原始图像来说,其大小为W/32×H/32×2048 [28]。转移层的输出大小为w×h×MC(图3)。

        这M个模态旨在专门化不同类别的特定特征,例如部分[9,10](图1中的狗的头部和腿部)或视角[16,22]。我们强调与一些特定编码方法的区别:R-FCN中的位置敏感RoI池化强制实现基于位置的专业化(相对于对象),而我们的方法还可以学习其他类型的特征,例如语义部分(图1)。同样,DPM[16]只学习区分部分,而我们的多通道转移模型可以找到更一般的特征,例如上下文。此外,与为每个视角学习不同模型的DPM相反,在FCN中我们共享大部分计算,这更高效。我们注意到,当M = 1时,这就变成了一个标准的分类层,即分为C个类别。

3.3.Wildcat池化

        WILDCAT从图像级别标签中学习,因此我们需要一种方式来总结每个类别在特征图中包含的所有信息(图2右侧)。我们注意到,在这个池化层中不再有学习的参数,这意味着我们可以直接解释和可视化这个层次的特征图[70,10]。我们通过两个步骤来完成这个过程(图3):首先是类别池化(方程(1)),将来自多通道转移层的M个特征图组合起来,然后是空间池化模块(方程(2)),选择在特征图中支持预测的相关区域。这导致了WILDCAT池化,一个两阶段的池化操作,用于计算类别c的得分sc:

 其中z是转移层的输出,Cl.Pool是选择的类别池化函数,Sp.Pool是空间聚合过程。

类别池化。第一步是独立地组合所有类别的M个特征图,并且使用通用的类别池化函数Cl.Pool来描述,如方程(1)所示。在接下来的过程中,我们使用平均池化。特征图从w×h×MC转换为w×h×C(图3)。当M = 1时,不需要进行此操作,因为每个类别已经由单个特征图表示。我们注意到,即使多个特征图后跟平均池化在功能上等效于单个卷积(即M = 1),但它带有M个模态的明确结构,具有重要的实际优势,使训练更加容易。我们凭经验证明,M > 1比常规的M = 1可以获得更好的结果。

空间池化。现在我们介绍我们的新空间聚合方法,用于实现方程(2)中的第二个空间池化步骤,对于每个特征图c:

        其中Hk是这样的,其中h ∈ Hk满足hi,j ∈ {0,1}和∑i,j hi,j = k。它的作用是从输入z¯c中选择对于每个类别c来说具有最高(或最低)激活程度的k+(或k-)区域。该层的类别c的输出sc是所选区域的得分的加权平均值。我们只考虑由卷积特征图中的单个神经元定义的区域。

        已经使用了几种类似的MIL方法,但我们提出的模型以多种方式进行了泛化。相关的参数在表1中描述。标准的最大池化MIL方法[44]只使用一个元素,而顶部实例模型[39]、学习标签比例[65]和全局平均池化[70]可以使用更多元素来获得。借鉴负面证据[47,12,13],我们可以将最小得分区域纳入分类支持,而我们的空间池化函数可以简化为[13]的kMax+kMin层。

        最高得分区域和最低得分区域对于获得良好的结果都非常重要[12,13],但它们提供的信息不同。我们通过引入一个因子α来探索两种类型区域的相对权重,该因子平衡了两个术语之间的相对重要性。我们假设最高得分区域对于分类更有用,因为它们直接支持决策,而最低得分区域主要起到正则化的作用。当α<1时,WILDCAT应该更加关注区分区域,从而比α=1时更好地定位特征。

讨论:WILDCAT架构由一个传输层和一个池化层组成。由于池化模块中没有需要学习的参数,传输层负责分类任务,并且可以通过直接定位区分性区域来轻松可视化热图。我们注意到,这种架构在[70]中是相反的,池化在最后一个全连接层之前进行,例如原始的ResNet架构[28]。然而,这种顺序需要使用一种不自然的方式来可视化特定类别的热图[70]。[70]表明,如果空间聚合方法是线性的,例如全局平均池化,那么两层的顺序不重要,但是当使用非线性池化函数(如WILDCAT空间池化)时,两种配置可能会有不同的效果。当k++k−较小时,即WILDCAT空间池化与全局平均池化真正不同的时候,这种差异更为显著。我们在实验中评估了这种设计选择和所选择的池化函数的影响,并证明我们的架构可以获得更好的结果。

表1.将WILDCAT空间池化推广到其他现有的MIL方法,并给出相应的参数。n是总区域数,ρ是LLP中正标签的比例,k是要选择的区域的任意数量。

3.4.WILADCAT应用

训练阶段。我们的WILDCAT模型基于ResNet-101 [28]作为骨干架构。我们使用在ImageNet [53]上预训练的模型进行初始化,并使用带有动量的随机梯度下降(SGD)仅使用图像级标签对其进行训练。网络的所有层都进行了微调。输入图像被调整为给定比例的正方形大小。我们使用多尺度设置,为每个尺度学习一个不同的模型,并使用Object Bank [38]策略将它们组合起来。WILDCAT设计用于仅从图像级别的监督中进行学习:图像分类、弱监督点状对象检测和弱监督语义分割使用相同的训练过程。在学习WILDCAT时,梯度仅在k++k−选择的区域内通过wildcat层进行反向传播,而其他梯度被丢弃[13]。选择正确的区域进行反向传播对于学习精确定位的特征而不需要任何空间监督是关键[58]。

推理阶段。根据不同的任务,预测结果也有所不同。对于图像分类,预测结果直接取网络的单值输出(与训练阶段相同)。目标检测和语义分割需要进行空间预测,因此我们在空间池化之前提取类别特定的特征图以保留空间分辨率。对于ResNet-101架构[28],相对于输入图像,它们的分辨率为1/32。对于弱监督的点状对象检测,我们提取每个类别得分最高的区域(即特征图中的神经元)并将其用于点对点的定位,就像在[44,5]中所做的那样。对于弱监督的语义分割,我们可以通过独立地在每个空间位置上选择具有最高得分的类别,或者通过应用CRF进行空间预测来计算最终的分割掩码,这是常见的做法[8,48]。

4.分类实验

        我们使用Torch7(http://torch.ch/)实现了WILDCAT模型。为了展示我们的方法在非常不同的识别场景中的鲁棒性,我们在六个数据集上对其进行评估:物体识别(VOC 2007 [14],VOC 2012 [15]),场景分类(MIT67 [51]和15 Scene [37]),以及上下文起重要作用的视觉识别(MS COCO [41],VOC 2012 Action [15])。对于MIT67、15 Scene、VOC 2007和2012,我们按照标准协议进行评估。在MS COCO数据集(或VOC 2012 Action)上,我们遵循[44](或[13])的协议。详细信息请参见补充材料第1节。我们首先将我们的模型与最先进的方法进行比较,然后分析我们的贡献。

4.1.与最先进方法比较

        我们将WILDCAT与几种最先进的物体分类模型进行了比较。我们的模型参数固定为M=4和α=0.7。物体分类结果(表2)显示,WILDCAT在性能上大大优于所有最近的方法。与使用ResNet-101 [28]在整个图像上计算的深度特征相比,我们可以看出明显的改进:在VOC 2007上提高了5.2个百分点,在VOC 2012上提高了4.2个百分点。请注意,这些差异直接衡量了所提出的弱监督学习方法的相关性,因为WILDCAT是基于ResNet-101的。我们还将我们的模型与区域选择方法进行了比较:DeepMIL [44]、WELDON [13]和RRSVM [61]。尽管像[44,13,61]中使用多个区域是重要的,但我们在这里展示了通过学习每个类别的多种模态可以进一步显著提高性能。

        在表3中,我们将WILDCAT在场景分类方面的结果与最近用于图像分类的全局图像表示进行了比较:深度特征[71,28]以及在图像区域上计算的深度特征的全局图像表示:MOP CNN [25]和Compact Bilinear Pooling [18]。同样,WILDCAT获得了最佳结果,显示出我们模型寻找有区别的部分区域的能力,而其他方法则将背景和无信息的部分纳入图像表示中。我们还将WILDCAT与现有的基于部分的模型进行了比较,包括在训练过程中考虑负面证据的模型[47]和将非线性部分分类器与部分相关的软池化相结合的模型[35]。WILDCAT还优于使用不同空间池化策略的最新WSL模型:相对于使用全局平均池化的GAP GoogLeNet [70],性能提高了17个百分点;相对于使用kMax+kMin池化的WELDON [13],性能提高了6个百分点。这证实了我们空间池化方法的相关性。

        最后,在表4中报告了WILDCAT在上下文数据集上的出色表现。我们将我们的模型与在整个图像上计算的ResNet-101深度特征[28]以及最近用于图像分类的WSL模型进行了比较:DeepMIL [44],WELDON [13]和ProNet [58]。WILDCAT在这两个数据集上的表现优于ResNet-101 8个百分点,再次验证了我们在这个上下文中的WSL模型的有效性。

表2.物体识别数据集上的分类性能(MAP)。我们使用VOC评估服务器对VOC 2012进行评估。(*)表示结果是使用在线代码https://github.com/facebook/fb.resnet.torch获得的。

表3.场景数据集上的分类性能(多类准确度)。

表4.上下文数据集上的分类性能(MAP)。

4.2.进一步分析

        我们详细说明了我们的贡献对三个数据集的影响:VOC 2007、VOC 2012 Action和MIT67。我们提供了448×448大小的输入图像和k+=k−=1的结果,但对于其他尺度和更大的k+和k-也观察到了类似的行为。默认情况下,我们的模型参数α和M被固定为1。

深度结构。首先,为了验证所提出的WILDCAT架构的设计选择,我们评估了两种不同的配置(参见第3.4节之前的讨论):(a)conv5 +conv +pooling(我们的架构);(b)conv5 +pooling +conv([70]中提出的架构)。这两个配置在第3.3节中描述的非线性WILDCAT池化方案上有所不同,并且它们的比较结果报告在表5中。我们可以看到,我们的架构(a)相对于GAP [70]中使用的架构(b)在所有三个数据集上都取得了一致的改进,例如在VOC07上提高了1.7个百分点。

        需要注意的是,架构(a)的策略与架构(b)有非常不同的解释:(a)独立地对每个区域进行分类,然后汇总区域得分;而(b)对卷积映射的输出进行汇总,然后在汇总空间上进行图像分类。

参数α的影响。我们研究了参数α对分类性能的影响。从图4的结果可以明确看出,与标准的最大池化(α=0)相比,引入负证据,即α>0,对分类是有益的。我们进一步注意到,对于最大和最小得分使用不同的权重,即α≠1,比[13]中的α=1取得了更好的结果,在VOC 2007上的最佳改进为1.6个百分点(相应的在VOC 2012 Action和MIT67上分别为2和1.8),在α=0.6(相应的在α=0.7和0.8时)取得了更好的结果。这证实了使用相对权重来表示负证据的相关性。此外,我们的模型对于α的取值是鲁棒的。

模态数量。我们模型的另一个重要超参数是在多图传输层中使用的模态数量(M)。不同M值的性能报告在表6中。明确地学习多个模态,即M > 1,相对于标准的分类层,即M = 1 [13],可以取得较大的收益。然而,编码超过必要的模态(例如M = 16)可能会导致过拟合,因为性能会下降。在VOC 2007(相应的在VOC 2012 Action和MIT 67上)中,最佳改进为3.5个百分点(相应的为4.3和3.5),当M = 8(相应的为8和12)时。同一类别的热图示例显示在图6中。

消融研究。我们进行了一项消融研究,以说明每个贡献的效果。我们的基准是具有M = 1和α = 1的WSL传输模型。结果报告在表7中。从这个消融研究中,我们可以得出以下结论:-α = 0.7和M = 4的改进在所有数据集上都取得了显著的性能提升;-将α = 0.7和M = 4的改进相结合进一步提升了性能:在VOC 2007上提高了0.4个百分点,在VOC 2012 Action上提高了0.8个百分点,在MIT67上提高了0.8个百分点。这表明了这两个贡献的互补性。

表5. 架构(a)和(b)的分类性能

图4. 参数α的分析 

表6. 多图传输层的分析

表7. VOC 2007、VOC 2012 Action (VO CAc)和MIT67的消融研究结果。这些结果与第4.1节的结果不同,因为在此分析中只使用了一个尺度。 注:VO CAc代表VOC 2012 Action。

5.弱监督实验

        在这一部分中,我们展示了我们的模型可以应用于各种任务,并且只通过全局图像标签进行训练。我们对WILDCAT模型进行了两个具有挑战性的弱监督应用的评估:点位定位和分割。

5.1.弱监督点位定位

        我们在PASCAL VOC 2012验证集[15]和MS COCO验证集[41]上评估了我们模型的定位性能。性能是使用[44]引入的基于点的物体定位度量进行评估的。该度量衡量了检测的质量,相较于其他度量标准(如IoU[15]),它对于对齐不准确性的敏感性较低,而后者需要使用额外的步骤(例如边界框回归)。

        WILDCAT的定位性能报告在表8中。我们的模型明显优于现有的弱监督方法。我们可以注意到WILDCAT和基于MIL架构的DeepMIL[44]之间存在重要的改进,这证实了我们的空间池化函数的相关性。尽管我们的模型具有简单且多功能的架构,但它在性能上远远超过了ProNet[58]的复杂级联架构。它还在VOC 2012(分别为3.2 pt)和MS COCO(分别为4.2 pt)上优于最近的弱监督模型[5],后者使用了比我们的模型更复杂的基于搜索树的定位策略。

        需要注意的是,由于定位预测是基于分类分数的,因此良好的分类性能对于稳健的物体定位非常重要。在图5中,我们评估了在VOC 2012上关于α的分类和定位性能。分类和定位曲线非常相似。最佳的定位性能是在α∈[0.6,0.7]范围内获得的,而α=1和α=0.7之间的改进为1.6 pt。我们可以注意到,α=0时获得的性能最差,这证实了最小值带来的上下文信息对于分类和定位都是有用的。

表8. PASCAL VOC 2012和MS COCO上的点位定位性能(MAP)。

  

图5. 关于α的在VOC 2012上的分类和定位性能。

5.2.弱监督分割

        我们在PASCAL VOC 2012图像分割数据集[15]上评估了我们的模型,该数据集包括20个前景对象类别和一个背景类别。我们使用训练集(1,464张图像)和[26]提供的额外注释(结果是一个扩充的10,582张图像集)对我们的模型进行训练,并在验证集(1,449张图像)上进行测试。性能以像素交并比(IoU)平均值来衡量,跨越21个类别。与现有方法一样,我们添加了一个全连接的CRF(FC-CRF)[32]来对最终的输出标签进行后处理。

分割结果。我们的方法的结果如表9所示。我们将其与仅在训练期间使用图像标签的弱监督方法进行比较。我们可以看到,没有CRF的WILDCAT方法在性能上远远超过了现有的弱监督模型。相对于基于(软)最大池化的MIL模型[49,50],我们可以看到明显的改善,这证实了我们的池化方法对于分割的相关性。WILDCAT与CRF相比,最佳模型的改善为7.1 pt。这证实了我们的模型学习到了具有区分性和准确定位特征的能力。我们可以注意到,表9中评估的所有方法的复杂度是可比较的。

        在一篇非常新的论文[31]中,通过采用一种更复杂的策略,提出了令人印象深刻的结果(50.7 MIoU)。[31]中的训练方案结合了不同的项,这些项专门为分割任务量身定制:一项强制分割掩码与低层次图像边界匹配,另一项则包含先验知识,支持预测的类别占据一定的图像比例。相比之下,WILDCAT使用单个模型,以相同的方式对三个任务进行训练,即分类、定位和分割。

定性结果。在图6中,我们展示了四个图像的预测分割掩码。与真实情况((b)列)相比,我们可以看到我们的预测分割掩码((e)列)总是相关的,除了最后一个示例,其中铁轨和火车被粘在一起。来自同一类别的热图(列(c)和(d))展示了我们模型学到的不同模态。当成功时,它们会关注对象的不同部分。例如,在第一行中,热图(c)关注鸟的头部,而热图(d)关注腿和尾巴。

图6. VOC 2012上的分割示例。我们的预测是正确的,除了火车(最后一行),在这个例子中,我们的模型将铁轨和火车区域聚合在一起。对于鸟或飞机等对象,可以看到两个热图(热图1(c)和热图2(d)分别表示相同的类别:鸟、飞机、狗和火车)成功地关注了对象的不同但相关的部分。

表9. VOC 2012上弱监督语义分割方法的比较。

6.总结

        我们提出了一种新的弱监督学习方法WILDCAT,专门用于在训练过程中仅使用图像级标签来学习具有区分性的局部视觉特征。广泛的实验证明了WILDCAT在三个主要的视觉识别任务上的有效性:图像分类,在六个具有挑战性的数据集上取得了出色的性能;以及弱监督定位和分割,使用单一通用的训练方案适用于所有任务。未来的工作包括将WILDCAT应用于语义应用中,其中局部特征至关重要,例如视觉问答[64,4]或视觉定位[17]。

相关文章:

第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割

0.摘要 本文介绍了WILDCAT&#xff0c;一种深度学习方法&#xff0c;它旨在通过对齐图像区域来获得空间不变性和学习强烈局部化特征。我们的模型仅使用全局图像标签进行训练&#xff0c;并致力于三个主要的视觉识别任务&#xff1a;图像分类、弱监督的逐点对象定位和语义分割。…...

Axios-post请求下载文件

场景背景 1.一般来说&#xff0c;都是使用get请求后台接口&#xff0c;如此后台返回文件流于浏览器&#xff0c;则可直接下载。 2.那么除一般情况&#xff0c;就有特殊情况&#xff0c;比如你的请求接口参数特别长&#xff0c;此时便不可使用get请求&#xff0c;get请求的参数…...

视频增强技术-对比度增强

在图像处理中&#xff0c;由于获取的图像质量不好&#xff0c;需要通过对比度增强来提升图片质量&#xff0c;主要解决的是由于图像灰度级范围较小造成的对比度较低的问题&#xff0c;作用是使图像的灰度级范围放大&#xff0c;从而让图像更加清晰。主要对比度增强方法包括线性…...

uni-app点击按钮弹出提示框(以弹窗的形式显示),选择确定和取消

学习目标&#xff1a; 学习目标如下所示&#xff1a; uni-app点击提交按钮后弹出提示框&#xff0c;&#xff08;以弹窗的形式显示&#xff09;,提示用户是否确认提交&#xff08;即确定和取消&#xff09;&#xff0c;点击确定后调用真正的提交方法&#xff0c;将数据传给后端…...

linux部署es+kibana

部署kibana与es 3.4.1、拷贝文件 首先把elasticsearch-7.3.1-linux-x86_64.tar.gz 和kibana-7.3.1-linux-x86_64.tar.gz拷贝到linux上&#xff0c;比如我是拷贝/usr/local 目录下 3.4.2、解压文件 然后分别执行tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz和tar -zx…...

二十三种设计模式第十七篇--迭代子模式

迭代子模式是一种行为型设计模式&#xff0c;它允许你按照特定方式访问一个集合对象的元素&#xff0c;而又不暴露该对象的内部结构。迭代子模式提供了一种统一的方式来遍历容器中的元素&#xff0c;而不需要关心容器的底层实现。 该模式包含以下几个关键角色&#xff1a; 迭…...

《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图

今天我们结合前面学习的知识&#xff0c;进行一个实例&#xff0c;从网络上下载图片&#xff0c;话说我们平时闲来无事会上煎蛋网看看新鲜事&#xff0c;那么&#xff0c;熟悉煎蛋网的朋友一定知道&#xff0c;这里有一个 随手拍 的栏目&#xff0c;我们今天就来写一个爬虫&…...

23.7.26总结(博客项目)

接下来要完成&#xff1a; 从主页面点击进入时&#xff0c;通过作者id从数据库查找作者的nickname点击文章收藏&#xff08;需要有收藏列表&#xff09;首页还要加最新发布&#xff0c;点赞收藏最多作者名得改成文章作者&#xff08;通过user_id从user表中拿数据&#xff09;消…...

安全第一天

1. 编码 1.1 ASCLL编码 ASCII 是基于拉丁字母的一套电脑编码系统&#xff0c;主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准&#xff0c;并等同于国际标准ISO/IEC 646。 1.2 URL编码 URL&#xff1a;&#xff08;统一资源定位器、定位地址&#xff0c;俗称网页…...

SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步

一、数据聚合 聚合&#xff08;aggregations&#xff09;&#xff1a; 实现对文档数据的统计、分析、运算。 &#xff08;一&#xff09;聚合的常见种类 桶&#xff08;Bucket&#xff09;聚合&#xff1a; 用来做文档分组。 TermAggregation&#xff1a; 按照文档字段值分组…...

cloudstack的PlugNicCommand的作用

PlugNicCommand是CloudStack中的一个命令&#xff0c;用于将一个网络接口卡&#xff08;NIC&#xff09;插入到虚拟机实例中。它的作用是将一个已存在的NIC连接到指定的虚拟机&#xff0c;以扩展虚拟机的网络功能。 具体来说&#xff0c;PlugNicCommand可以完成以下几个步骤&a…...

LT9211C 是一款MIPI/RGB/2PORT LVDS互转的芯片

LT9211C 1.描述&#xff1a; Lontium LT9211C是一个高性能转换器&#xff0c;可以在MIPI DSI/CSI-2/双端口LVDS和TTL之间相互转换&#xff0c;除了24位TTL到24位TTL&#xff0c;并且不推荐同步和DE的2端口10位LVDS和24位TTL之间的转换。LT9211C反序列化输入的MIPI/LVDS/TTL视…...

【Rust 基础篇】Rust 通道(Channel)

导言 在 Rust 中&#xff0c;通道&#xff08;Channel&#xff09;是一种用于在多个线程之间传递数据的并发原语。通道提供了一种安全且高效的方式&#xff0c;允许线程之间进行通信和同步。本篇博客将详细介绍 Rust 中通道的使用方法&#xff0c;包含代码示例和对定义的详细解…...

学习 C语言第二天 :C语言数据类型和变量(下)

目录&#xff1a; 1.变量的介绍以及存储 2.算术操作符、赋值操作符、单目操作符 3.scanf和printf的介绍 1.变量的介绍以及存储 1.1.变量的创建 了解了什么是类型了&#xff0c;类型是用来创建变量的。 变量是什么呢&#xff1f;在C语言当中不经常变的量称为常量&#xff0c;经常…...

【Kubernetes资源篇】ingress-nginx最佳实践详解

文章目录 一、Ingress Controller理论知识1、Ingress Controller、Ingress简介2、四层代理与七层代理的区别3、Ingress Controller中封装Nginx&#xff0c;为什么不直接用Nginx呢&#xff1f;4、Ingress Controller代理K8S内部Pod流程 二、实践&#xff1a;部署Ingress Control…...

Java基础阶段学习哪些知识内容?

Java是一种面向对象的编程语言&#xff0c;刚接触Java的人可能会感觉比较抽象&#xff0c;不要着急可以先从概念知识入手&#xff0c;先了解Java&#xff0c;再吃透Java&#xff0c;本节先来了解下Java的基础语法知识。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态…...

【HISI IC萌新虚拟项目】ppu整体uvm验证环境搭建

关于整个虚拟项目,请参考: 【HISI IC萌新虚拟项目】Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 本篇文章完成ppu整体uvm环境搭建的指导,在进行整体环境搭建之前,请确认spt_utils、cpu_utils和ral_model均已经生成。此外,如果参考现在的工程目录…...

图像处理之hough圆形检测

hough检测原理 点击图像处理之Hough变换检测直线查看 下面直接描述检测圆形的方法 基于Hough变换的圆形检测方法 对于一个半径为 r r r&#xff0c;圆心为 &#xff08; a , b &#xff09; &#xff08;a,b&#xff09; &#xff08;a,b&#xff09;的圆&#xff0c;我们将…...

el-upload文件上传(只能上传一个文件且再次上传替换上一个文件) vue3+vite+ts

组件&#xff1a; <template><el-upload class"upload-demo" v-model:file-list"fileList" ref"uploadDemo" action"/public-api/api/file" multiple:on-preview"handlePreview" :on-remove"handleRemove&quo…...

随手笔记——根据点对来估计相机的运动综述

随手笔记——根据点对来估计相机的运动综述 说明计算相机运动 说明 简单介绍3种情况根据点对来估计相机运动所使用的方法 计算相机运动 有了匹配好的点对&#xff0c;接下来&#xff0c;要根据点对来估计相机的运动。这里由于相机的原理不同分为&#xff1a; 当相机为单目时…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...