第七章: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]。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个非常有趣和有挑战性的项目!首先,我需要确认您是否已经下载了人脸数据集?如果没有,建议您可以从以下网站下载: - Labeled Faces in the Wild:http://vis-www.cs.umass.edu/lfw/ - CelebA:http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html - CASIA-WebFace:https://pan.baidu.com/s/1eS2TZOt#list/path=%2F 接下来,我们可以使用 Python 中的 TensorFlow 框架来构建深度卷积神经网络。下面是一些代码片段,可以帮助您开始: ```python import tensorflow as tf from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense # 定义一个卷积神经网络模型 model = tf.keras.Sequential([ Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)), MaxPooling2D((2, 2)), Conv2D(64, (3, 3), activation='relu'), MaxPooling2D((2, 2)), Conv2D(128, (3, 3), activation='relu'), MaxPooling2D((2, 2)), Flatten(), Dense(128, activation='relu'), Dense(1, activation='sigmoid') ]) # 编译模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) # 加载数据集并训练模型 # 这里需要根据您下载的数据集进行相应的处理 model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels)) ``` 请注意,这只是一个简单的示例,您需要根据您的数据集和任务来调整模型架构和参数。另外,由于人脸识别任务是一个复杂的问题,可能需要更高级的技术和算法来实现更好的性能。 希望这可以帮助您开始构建深度卷积神经网络进行人脸识别任务!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值