PCL: Proposal Cluster Learning for Weakly Supervised Object Detection

摘要

弱监督目标检测(WSOD)是一种仅使用图像级注释来训练目标检测器的方法,在目标识别领域具有越来越重要的地位。 在本文中,我们提出了一种新的WSOD深度网络。 不同于以往使用多实例学习(MIL)将目标检测问题转化为图像分类问题的网络,我们的策略生成建议聚类簇,通过迭代过程来学习精细化的实例分类器。 同一聚类簇中的建议在空间上是相邻的,并与同一目标相关联。 这可以防止网络过于关注目标的部分而不是整个目标。 我们首先展示了实例可以根据建议的聚类簇直接分配目标或背景标签,以用于实例分类器的细化,然后展示了将每个聚类簇作为一个小的新包处理,比直接分配标签的方法产生更少的歧义。 在卷积神经网络中使用多流在线实现迭代实例分类器的精细化,其中第一个是MIL网络,其余的是在前一个网络监督下的实例分类器精细化。 实验在PASCAL VOC、ImageNet检测和MS-COCO基准WSOD上进行。 结果表明,我们的方法明显优于以前的先进状态。  

1、简介

目标在计算机视觉中的许多应用。最近,检测最重要的一个问题是由于卷积神经网络(CNN)的发展和大规模数据集的可用性与详细外接框级注释,目标检测超前跨越了一大步。然而,收集详细的注释是非常费力和耗时的,而仅通过表示目标类是否存在于图像中的图像级注释(即图像标记)来获取图像要容易得多。例如,我们可以使用图像搜索查询在Internet上进行搜索(例如谷歌和Flickr),以获得大量具有图像级注释的图像。这一事实启发我们探索弱监督目标检测(WSOD)问题的方法,即仅使用图像标签监督训练目标检测器。

许多以前的方法遵循WSOD的多实例学习(MIL)流程。他们把图像当作袋子,把建议当作实例;然后在MIL约束下训练实例分类器(目标检测器)(即一个正包中包含至少一个正实例,而所有负包中的实例都是负实例)。此外,受到CNN的巨大成功的启发,最近的努力经常将MIL和CNN结合起来,以获得更好的WSOD性能。有研究表明,将在大规模数据集上预先训练好的CNN作为现成的建议特征提取器,可以获得比传统手工设计的特征更好的性能。此外,许多最近的工作通过使用标准的端到端训练或端到端训练的变体的MIL网络对WSOD取得了更好的结果。参见2.3节,了解端到端的变体以及它与标准的不同之处。我们使用相同的策略来训练一个由[17],[19]启发的端到端MIL网络变体。

虽然MIL网络在WSOD中获得了一些有前景的结果,但它们的性能不如完全监督的。如图3a所示,以往的MIL网络通过将实例分类(目标检测)问题转化为包分类(图像分类)问题,将MIL约束整合到网络训练中,最终的图像分数是建议分数的集合。然而,图像分类与目标检测之间存在着很大的差距。对于分类来说,即使是物体的一部分也可以有助于正确的结果(如图1中的红框),因为重要的部分包含了物体的许多特征。许多建议只涵盖目标的部分,而只“看到”部分建议可能就足以粗略地定位目标了。但考虑到结果框和标签边界框之间的高交集(IoU)的性能要求,这可能不足以很好地定位目标:排名最高的建议可能只定位目标的部分,而不是整个目标。回想一下,为了进行检测,得到的方框不仅要给出正确的分类,还要定位目标,并与标签边界方框(如图1中的绿色方框)有足够的重叠。

                       

在提出我们对上述问题的解决方案之前,我们首先引入建议聚类的概念。目标检测需要算法来生成多个紧密围绕目标的重叠建议,以确保高建议召回率(例如,对于每个目标,选择性搜索平均有几十个建议,其IoU > 0.5,PASCAL VOC数据集上的ground-truth边界框)。图像中的目标提议可以被分组到不同的空间聚类中。除了一个用于背景建议的聚类簇之外,每个目标聚类粗簇与单个目标相关联,并且每个聚类簇中的建议在空间上是相邻的,如图2所示。对于完全监督的目标检测(即,使用包围框级注释训练目标检测器),可以通过将ground-truth包围框视为簇中心来生成建议簇。然后根据建议聚类训练目标检测器(例如,为每个聚类的所有建议分配相应目标类的标签)。这缓解了检测器可能只关注部分的问题。

但在弱监督场景中,由于没有提供可以用作聚类簇中心的ground-truth包围框,很难生成建议聚类簇。为了应对这一困难,我们建议找到以下建议聚类簇。首先,我们从训练中分类得分高的建议生成建议聚类簇中心,因为这些排名靠前的建议总能检测到至少部分目标。也就是说,对于每幅图像,在获得建议分数后,我们选择一些得分较高的建议作为聚类中心,然后根据与聚类簇中心的空间重叠生成建议聚类簇。那么问题就归结到如何选择建议作为中心,因为很多高分建议可能对应同一个目标。最直接的方法是选择每个正的目标类(即存在于图像中的目标类)得分最高的建议为中心。但这种方法忽略了自然图像中可能存在多个具有相同目标类别的目标(如图2中的两辆摩托车)。因此,我们提出了一种基于图的聚类中心查找方法。更具体地说,我们根据每个正向目标类的空间相似性构建一个排名建议图。在图中,如果两个建议有足够的空间重叠,则它们是连通的。然后我们贪婪地、迭代地选择其余联系最多的建议来估计中心。尽管聚类簇中心建议可能只捕获部分目标,但它的相邻建议(即聚类簇中的其他建议)可以覆盖整个目标,或者在最坏的情况下包含目标的更大部分。

            

基于这些建议聚类粗,我们提出了两种在训练过程中改进实例分类器(目标检测器)的方法。我们首先建议直接分配建议目标标签。也就是说,对于每个聚类簇,我们为其建议分配其相应目标类的标签,如图3b所示。与图3a中的传统MIL网络相比,这种策略通过将目标标签分配给直接覆盖目标较大部分的建议,迫使网络“看到”秒的较大部分,这在一定程度上填补了分类和检测之间的空白。虽然有效,但这种策略仍然存在潜在的模糊性,因为为同时覆盖目标不同部分的建议分配相同的目标标签可能会混淆网络,并损害检测器的辨别能力。为了解决这个问题,我们建议将每个建议聚类作为一个新的小袋子来训练精确的实例分类器,如图3c所示。这些新包中的大多数建议应该具有相对较高的分类分数,因为聚类中心至少覆盖了部分目标,并且同一聚类中的建议在空间上是相邻的(背景聚类除外)。同时,不是所有包里的建议都应该有很高的分类分数。因此,与直接分配标签策略相比,该策略更加灵活,可以在一定程度上减少歧义。我们将我们的方法命名为建议聚类学习(PCL),因为它基于建议聚类学习精确的实例分类器。

为了有效地实现我们的想法,我们进一步提出了一种在线训练方法。我们的网络有多个输出流,如图4所示。第一个流是一个基本的MIL网络,它将建议得分聚合成最终的图像得分,以训练基本的实例分类器,其他流迭代地细化实例分类器。在训练的正向过程中,获得建议分类分数,从而为每个流生成建议簇。然后,基于这些建议簇,生成监督以计算下一个数据流的损失。根据损失,在反向传播过程中训练这些精分类器。除了由图像标签监督的第一个流之外,其他流由图像标签以及它们之前的流的输出来监督。由于我们的方法迫使网络“看到”更大的目标部分,检测器可以通过多次执行细化(即多个输出流)来逐渐发现整个目标而不是部分。但是在训练开始时,所有的分类器几乎都是未经训练的,这将导致非常嘈杂的建议聚类,因此训练会与正确的解决方案有很大的偏差。因此,我们通过在不同的训练迭代中将不同的建议与不同的权重相关联来进一步设计加权损失。之后,所有的训练程序都可以整合到一个端到端的网络中。这可以提高性能,受益于我们的基于PCL的分类器细化过程。它在训练和测试中的计算效率也很高。此外,可以通过在不同的输出流之间共享建议特征来提高性能。

本文是我们以前工作的扩展版本。特别是,我们对我们的方法进行了更多的分析,并丰富了最近相关作品的文献,使手稿更加完整。此外,我们还做了两个方法上的改进:第一个是使用排名靠前的建议的图来生成建议簇,而不是使用得分最高的建议,第二个是将每个建议簇视为一个新的小袋子。此外,我们对实验结果进行了更多的讨论,并在具有挑战性的ImageNet检测和MS-COCO数据集上展示了我们方法的有效性。我们论文的其余部分组织如下。第二部分介绍了相关的工作。在第3节中,详细描述了我们的方法。第4节进行了详细的测量和分析。最后,第五节给出了结论和未来的发展方向。 

2、相关工作

2.1、多实例学习

MIL最早提出用于药物活性预测,是一个经典的弱监督学习问题。已经为MIL提出了许多变体。在MIL中,给出了一组包,每个包与一组实例相关联。将WSOD视为MIL问题是很自然的。那么问题就变成了只在给定包标签的情况下寻找实例分类器。我们的方法也遵循MIL策略,并对WSOD做了一些改进。特别地,我们根据实例得分和空间关系在线学习基于建议聚类的精炼实例分类器。

MIL在计算机视觉方面有很多应用,如图像分类、弱监督语义分割、目标检测、目标跟踪等。将建议集群视为包的策略部分受到[30],[31]的启发,其中[30]建议为ground-truth位置周围的补丁训练MIL,而[31]建议为预测目标位置周围的补丁训练MIL。然而,它们需要所有训练样本或开始时间帧[31]的ground-truth位置,而WSOD没有这样的注释。因此,仅通过WSOD的目标级监管来生成建议簇要困难得多。此外,我们在网络训练中采用了将建议簇集视为包的策略,而[30],[31]则没有。Oquab等人[32]还使用最大池化MIL策略训练CNN网络来定位目标。但是他们的方法只能粗略地定位目标,不管它们的大小和长宽比如何,而我们的方法可以更准确地检测目标。

2.2、弱监督目标检测

如今,WSOD引起了极大的兴趣,因为带有图像级注释的数据量比带有边界框级注释的数据量大得多,并且增长速度也快得多。WSOD问题出现了许多方法。例如,Chum和Zisserman首先通过有区别的视觉单词初始化目标位置,然后引入一个样本模型来测量图像对之间的相似性,以更新位置。Deselaers等人提出通过目标初始化框,并使用基于CRF的模型迭代定位目标。Pandey and Lazebnik在WSOD监管不力的情况下训练了一个DPM模型。Shi等等人利用贝叶斯潜在主题模型对不同的目标类和背景进行联合建模。Song等人开发了一种技术来发现鲁棒视觉模式的频繁区分配置。Cinbis等人反复训练多倍MIL,以避免检测器锁定在不准确的局部最优值上。Wang等人将MIL约束放宽到一个可导损失函数,以更有效地训练检测器。

近年来,随着计算机视觉中中CNN的革命,许多工作也试图将WSOD与CNN结合起来。早期的工作将在ImageNet上预先训练的CNN模型视为现成的特征提取器。他们为每个候选区域提取CNN特征,然后在这些特征的基础上训练自己的检测器。这些方法表明,CNN描述符可以提高传统手工设计功能的性能。最近的努力倾向于为WSOD训练端到端网络。他们通过将建议分类分数聚合到最终的图像分类分数中,将MIL约束集成到网络训练中,然后可以将图像级监督直接添加到图像分类分数中。例如,Tang等人提出使用最大池进行聚合。Bilen and Vedaldi等人发展了一种加权求和策略。在[17]的基础上,Kantorov等人认为上下文信息可以提高性能。Diba等人表明,弱监督分割图可以作为过滤建议的指导,并联合训练弱监督分割网络和WSOD端到端。我们的方法建立在这些网络上,它们中的任何一个都可以被选择作为我们的基本网络。我们的策略提出基于建议聚类学习精确的实例分类器,并提出一种新的在线方法来有效地训练我们的网络。实验结果表明,我们的策略可以显著提高结果。

除了加权求和外,[17]还提出了一个“空间规则器”,强制得分最高的建议和其空间相邻的建议的特征相同。与此不同的是,我们证明了使用图来寻找建议聚类中心并将建议聚类视为包更有效。当代的工作使用一个图形模型来生成种建议。他们的网络训练有很多步骤:首先,训练一个MIL网络[44];第二,使用该图生成种子建议;第三,基于这些种子建议,训练一个类似Fast R-CNN的检测器。我们的方法与[43]在许多方面不同:首先,我们的建议为每个训练迭代生成建议聚类,因此我们的网络是端到端而不是逐步训练的,这更有效,并且可以受益于不同流之间的建议特征共享;第二,我们建议将建议聚类视为用于训练更好的分类器的包。实验证明,我们的方法获得了更好、更稳健的结果。

2.3、端对端及其变体

在标准的端到端训练中,更新需要优化网络参数的所有功能。例如,Fast R-CNN优化了它们的分类损失和包围框回归损失关于建议分类和特征提取,用于完全监督的目标检测。[16],[18]中的MIL网络为WSOD优化了其MIL损耗加权平均建议分类和特征提取。与标准的端到端训练不同,端到端训练有一种变体。该变量包含依赖于网络参数的函数,但损失没有优化,所有这些函数。正如我们在第2.2节中所描述的,在[17]中的“空间规则器”迫使得分最高的建议及其空间相邻的建议的特征相同。他们使用一个网络参数函数来计算最高得分建议,并且没有优化他们关于这个函数的损失。Diba等人使用网络参数的函数过滤掉背景提议,并在后面的网络计算中使用这些过滤后的提议。他们也没有优化这个函数的损失。受[17],[19]的启发,我们使用这种端到端训练的变体。更准确地说,我们没有针对生成的监督优化我们的损失,例如分类器细化。

2.4、其他

还有许多其他重要的相关工作没有关注弱监督学习,但应该讨论。与其他端到端MIL网络类似,我们的方法建立在感兴趣区域(RoI)汇集层或空间金字塔汇集(SPP)层之上,以在不同的模型加速方案之间共享卷积计算。但是[7]和[45]都需要边界框级别的注释来训练它们的检测器。我们网络中的共享建议特征策略类似于多任务学习[46]。与多任务学习不同的是,每个输出流对于不同的任务有它们自己相对独立的外部监督,在我们的方法中,所有的流都有相同的任务,并且后面的流的监督依赖于它们前面的流的输出。

3、方法

我们方法的总体架构如图4所示。 给定一张图像,从选择性搜索或EdgeBox中生成大约2000个目标建议。 在训练的前向过程中,图像和这些建议被送入一些卷积(conv)层与SPP层,以产生每个建议固定大小的conv特征图映射。 然后,建议特征图被输入到两个完全连接(fc)层以生成建议特征。 这些特征被分成不同的流:第一个是训练基本实例分类器的MIL网络,其他的则是迭代地改进分类器。 对于每个流,获得建议分类分数并由此生成建议聚类。 然后,基于这些建议聚类簇,生成监督来计算下一个流的损失。 在训练的反向传播过程中,对网络损失进行优化,以训练建议特征和分类器。 如图所示,第1个精细化分级机的监督依赖于基本分级机的输出,第k个精细化分级机的监督依赖于第{k-1}个精细化分类器的输出。 在本节中,我们将详细介绍我们基于建议聚类类的精细化实例分类器的学习方法。  

概念

在介绍我们的方法之前,我们首先介绍一些常用的符号,如下所示。 对于给定的图像和建议特征,我们有R个带有的建议,其中是第R个建议框。 精炼实例分类器的数量是K(即我们精炼实例分类器K次),因此存在K+1流。 目标类的数量为C,是分别是基本实例分类器、第K个精炼分类器的参数 。分别是预测到的基本实例分类器的分数矩阵和第k个精炼分类器,其中C+1表示C个目标类和一个背景类。 之后我们使用进行简化,去掉对F、的依赖,,是来自第K个实例分类器的类C的第r个建议的预测得分。是图像标签向量,其中表示图像是否有目标类C。是第K个实例分类器的监督,其中是图像标签向量y。 是训练第k个实例分类器的损失函数。  

 我们为第k次细化计算建议聚类中心。第n个群集中心由建议框、目标标签,表示第C个目标类别),以及表示至少覆盖一个目标类的一部分。 们根据(背景为,密保为其他)我们有有个建议聚类中心。对于目标聚类簇,第n个聚类簇个建议框,一个与聚类中心标签相同的目标标签与聚类中心分数相同的置信度分数组成,其中表示对应于类别的目标的置信度。与目标聚类不同,背景集群个建议和表示背景的标签组成。 第m个建议包括一个建议框和一个表明是背景的置信度的置信度评分。  

 3.2、基本MIL网络

      为了监督精炼的实例分类器,需要生成建议分数和聚类簇。 更具体地说,第一个精炼的分类器需要基本的实例分类器来生成建议分数和聚类簇。 因此,我们首先介绍我们的基本MIL网络作为基本实例分类器。 我们的整个网络独立于特定的MIL方法,因此任何可以端到端训练的方法都可以使用。 有很多可能的选择。 这里我们选择Bilen和Vedaldi[17]的方法,提出加权和池策略来获取实例分类器,因为它的有效性和实现方便性。 为了使本文内容完备,我们对[17]作了如下简要介绍。  

给定输入图像及其建议框,网络首先生成一组建议特征。然后,如图4的“基本MIL网络”块所示,有两个分支处理建议特征以产生两个矩阵(我们使用后来为了简化,放弃了对的依赖;其中分别表示的fc层参数和的fc层参数。然后这两个矩阵沿着不同的方向通过两个softmax层:,并且。让我们用表示。建议分数由元素由逐元素乘积表示。最后是第c类的图像评分由所有建议的求和得到:

 两个分支框架的简单解释如下。是r个建议属于c类的概率。是归一化权重,表示第r个建议对被分类为类的图像的贡献。是通过加权求和得到的,范围为。给定图像标签向量。我们通过优化多类交叉熵损失方程来训练基本实例分类器。(1)、关于

                      

3.3、整个训练策略

为了迭代地细化实例分类器,我们在网络中添加多个输出流,其中每个流对应于一个细化的分类器,如图4所示。我们将基本的MIL网络和精细化分类器集成到一个端到端网络中,在线学习精细化分类器。与基本实例分类器不同,对于输入图像,第k个精炼分类器的输出得分矩阵为第一个的矩阵,通过将建议特征通过单个fc层(带有参数)以及softmax超类层,例如,如图4中精炼分类器模块所示。请注意,我们对所有分类器使用相同的建议特征F。我们后来用来简化,摆脱了对的依赖。

如前所述,训练第k个实例分类器的监督是基于建议分数和图像标签y生成的。因此,我们用表示监督。 然后通过优化关于的损失公式(2)。 我们不优化损失关于的损失,表示监督只在正向过程中计算,我们不计算它们的梯度来训练我们的网络。

                   

对第k个精炼分类器的损失在后面的(6)/(7)/(8)式中定义,是由H提供监督的损失函数。 3.4节中我们将详细说明如何获得监督和损失函数

               

 在每个随机梯度下降(SGD)训练迭代的前向过程中,我们得到一组输入图像的建议分数。 因此,我们生成监督; 在每个SGD训练迭代的反向传播过程中,我们优化关于建议特征和分类器损失Eq. (2)。 我们在算法1中总结了这个过程。 请注意,我们没有使用交替的训练策略,也就是说,固定监督和训练一个完整的模型,固定模型和更新监督。 原因是:1)需要多次训练模型,耗时长; 2)在不同的细化步骤中分别训练不同的模型可能会损害性能,因为它阻碍了从共享的建议特征(即)中获益的过程。  

3.4、建议聚类学习

在这里,我们将介绍我们基于建议聚类学习精炼实例分类器的方法(即建议聚类学习)。

回想一下第3.1节,我们有一套包含框的建议。

对于第k次精细化,在每次训练迭代中,我们的目标是使用建议分数和图像标签为损失函数生成监督。之后我们使用进行简化,降低了对的依赖。我们分三步完成。1)我们找到建议聚类中心,它是针对不同目标建议。2)我们将其余的建议分组到不同的聚类簇中,每个聚类簇与一个聚类簇中心相关联或对应于背景。3)我们为损失生成监督,使我们能够训练精炼的实例分类器。第一步,我们基于计算建议聚类簇中心。第n个集群中心的定义见3.1节。我们在第3.4.1节(1)和(2)中提出了两个求解的算法(也是算法2和算法3),其中第一个算法在会议版本的论文[21]中提出,第二个算法在本文中提出。

                

 第二步,根据建议聚类中心,生成建议聚类簇 (为背景,其他为目标)。第n个目标聚类簇和背景聚类簇的定义见章节3.1。我们使用不同的背景聚类符号,因为背景建议分散在每个图像中,因此很难确定聚类中心和相应的聚类得分。生成的方法在会议版本的论文中提出,在第3.4.2节(也是算法4)中进行了描述。

                    

第三步,基于建议聚类生成用于训练第k个精细化实例分类器的监督。我们使用了两种策略,其中是建议级标签,表示一个建议是否属于一个目标类,或者是聚类簇级标签,将每个建议集=群视为一个包。我们在3.4.3节(1)和(2)中提出了两种方法,其中第一种方法在会议版本论文中提出,第二种方法在本文中提出。

3.4.1、发现建议聚类中心

下面我们介绍两种算法来寻找建议的聚类中心。  

(1)、使用得分最高的建议寻找建议聚类中心

找到建议聚类中心的一个解决方案是选择得分最高的建议,就像我们的会议版本论文中提到的那样。 算法2,假设一个图像目标类标签c(即,)。第k次精细化,我们首先选择第个建议,根据式(3)有最高的得分,其中是第r的建议的预测分数,在3.1节中定义。

                                 

则选择该建议作为聚类中心,即,其中是第个建议的框。选择作为第r个建议覆盖c类对象的至少一部分的置信度得分,因为是被分类到c类的第r个建议的预测得分。因此,得分最高的建议可能覆盖目标的至少一部分,从而被选择作为聚类中心。

 有一个潜在的问题,一个建议可能被选择为多个目标类的聚类中心。 为了避免这个问题,如果一个建议对应多个目标类的聚类中心,则只有预测得分最高的类才会选择该建议作为聚类中心,我们为其他类重新选择聚类中心。  

(2)、使用排名靠前的建议图寻找建议聚类中心

如第1节所述,虽然我们可以使用最高得分的建议找到好的建议聚类中心,但这忽略了在自然图像中,每个类别通常有多个目标。因此,我们提出了一种利用排名靠前的建议图来寻找聚类中心的新方法。更具体地说,假设一个图像具有目标类标签c。我们首先选择具有索引的排名靠前的建议。然后我们建立一个无向未加权图;检查这些基于空间相似性的建议,其中顶点对应于这些顶级建议,边缘对应于顶点之间的连接。根据两个顶点(即建议)之间的空间相似性来确定,如等式(4)所示。其中是第r和第个提案之间的IoU,是一个阈值(如0.4)

                           

因此,如果两个顶点在空间上相邻,则它们是连通的。 在那之后,我们贪婪地用这个图为类c生成一些聚类中心。 即迭代选择连接最多的顶点作为聚类中心,如算法3所示。 在每次训练迭代中,每幅图像的聚类中心数量(即)都会发生变化,因为排名最高的建议发生了变化。 的一些典型值见4.2.9节。 我们使用与第3.4.1(1)节相同的方法来避免选择一个提议作为多个对象类的聚类中心。 

采取这种策略的原因如下。首先,根据我们的观察,排名靠前的建议总是可以覆盖至少部分目标,因此从这些建议中生成中心可以鼓励所选的中心满足我们的要求。第二,因为这些提议很好地覆盖了目标,所以更好的建议(覆盖目标的更多部分)应该具有更多空间重叠的提议(即,具有更多的连接)。第三,这些中心在空间上相距很远,因此不同的中心可以对应不同的物体。这种方法还有一个吸引人的特点,它可以为每个目标类生成自适应数量的建议,这是可取的,因为在自然图像中,每个类有任意数量的目标。我们将第n个建议聚类集中心的分数设置为n:

                         

(见算法3第8行)因为如果一个中心建议的相邻提案有高置信度覆盖至少一个目标的一部分(即有高分类分数),中心建议也应该有高置信度。

基于图的方法有一个重要的问题:如何选择排名靠前的建议?一个简单的方法是选择分数超过阈值的建议。但是在我们的例子中,建议分数在每次训练迭代中都会改变,因此很难确定一个阈值。相反,对于每个正的目标类,我们使用k-means算法将一幅图像的建议得分划分为一些聚类,并在得分中心最高的聚类中选择建议,形成排名靠前的建议。这种方法确保我们可以选择排名最高的建议,尽管建议分数在训练过程中会发生变化。其他选择也是可能的,但这种方法在实验中效果很好。

3.4.2、产生建议聚类

找到聚类中心后,我们生成会议版本的论文中的建议聚类。 除了作为背景的聚类外,好的建议聚类要求同一聚类中的建议与同一目标相关联,因此同一聚类中的建议在空间上应该是相邻的。 特别地,给定第r个建议,我们计算一组IOU,其中是第n个建议和第n个聚类的框之间的IoU。 然后,如果大于阈值(例如,0.5),我们将第r个建议赋给第个目标聚类,否则赋给背景聚类,其中nkr是最空间相邻聚类中心的索引:

                              

算法4总结了生成提议聚类的总体步骤。 我们设置的建议分数背景聚类的分数大多数空间相邻中心算法4中的十行,因为如果聚类中心置信度,它涵盖了一个目标,建议远离应该有置信度作为背景。  

 3.4.3、学习精炼实例分类器

为了得到监督函数和损失函数来学习第k个精细化实例分类器,我们设计了以下两种方法。  

 (1)、分配建议目标标签

优化分类器最直接的方法是直接将目标标签分配给目标聚类中的所有建议,因为这些建议可能对应于整个目标,正如我们的会议版本论文[21]中所述。 由于聚类中心至少覆盖了部分目标,它们相邻的建议(即聚类中的建议)可以包含更大的部分目标。 因此,我们可以将集群标签分配给第n个集群中的所有建议。 更具体地说,监督是提议级的标签,即是第k次细化的第r个建议的标签向量,其中。如果第r个建议属于第n个聚类。 因此,我们使用标准的softmax损失函数来训练精炼的分类器,如Eq.(6)所示,其中是第3个建议的预测得分,如3.1节所定义  

                  

 通过迭代实例分类器细化(即随着k的增加进行多次细化),检测器通过迫使网络“看到”更大范围的对象,逐渐检测到更大范围的目标。 其实,的学习监督是很嘈杂的,尤其是在训练的开始阶段。 这就导致了不稳定解。 为了解决这个问题,我们将Eq.(6)中的损失改为一个加权的版本,如  

                       

是与目标聚类的聚类置信度得分或者如果第r个建议属于第n个聚类,则与背景聚类的建议置信度得分sknm相同的损失权重。从算法4中,我们可以观察到与聚类中心置信度得分相同。采取这种策略的原因如下。在训练的开始,虽然我们不能获得好的建议簇,但是每个都很小,因此每个都很小,损失也很小。因此,网络的性能不会下降很多。在训练过程中,排名靠前的建议将很好地覆盖目标,因此我们可以生成良好的建议集群。这样我们就可以训练出令人满意的实例分类器。

 (2)、训练聚类器作为bag

正如我们前面强调的,尽管直接分配建议目标标签可以提高结果,但它可能会混淆网络,因为我们同时给目标的不同部分分配相同的标签。 针对这一点,我们进一步建议将每个聚类聚类作为一个小的新袋子,并使用聚类标签作为bag标签。 因此,第k次提炼的监管是bag(聚类级)标签,即。 为第n个bag的标签,即第n个建议聚类的标签,定义见3.1节。 

 特别地,对于目标聚类,我们选择平均MIL池化,因为这些建议应该至少覆盖部分目标,因此应该有较高的预测得分。 对于背景聚类,我们根据MIL约束将背景标签分配给聚类中的所有建议(负bag中的所有实例都是负的)。 那么精细化的损失函数为:

                   

分别为第n个聚类聚类的聚类置信度得分、第n个聚类中的提案数量和第n个建议的预测得分,定义见3.1节。表示第n个建议分别属于第n个目标聚类和背景聚类。 与直接赋标方法相比,该方法允许一些建议得分较低,在一定程度上减少了歧义。   

3.5、测试

在测试期间,细化实例分类器的建议分数被用作最终检测分数,如图4中的蓝色箭头所示。这里选择所有精细分类器的平均输出。非最大值抑制(NMS)用于过滤掉冗余检测。

4、实验

在本节中,我们首先介绍我们的实验设置,包括数据集、评估指标和实现细节。然后我们进行详细的实验来讨论不同设置的影响。接下来,我们将我们的结果与其他结果进行比较,以展示我们方法的有效性。之后,我们展示了一些定性结果,以供进一步分析。最后,我们给出了我们的方法的一些运行时分析。

4.1、实验设置

4.1.1、数据集和评估标准

我们在四个具有挑战性的数据集上评估了我们的方法:PASCAL VOC 2007和2012数据集,ImageNet检测数据集和MS-COCO数据集。只有图像级的注释被用来训练我们的模型。PASCAL VOC 2007和2012数据集分别有20个目标类的9962和22531个图像。这两个数据集分为训练集、验证集和测试集。这里我们选择trainval集合(2007年为5011个图像,2012为11540个图像)来训练我们的网络。对于测试,有两个度量标准用于评估:mAP和CorLoc。遵循标准的PASCAL VOC协议,平均精度(AP)和平均AP (mAP)是在测试集上测试我们的模型的评估指标。正确定位(CorLoc)是在测量定位精度的训练集上测试我们的模型。所有这两个度量都基于PASCAL标准,即ground-truth边界框和预测框之间的IoU > 0.5。

MS-COCO数据集有80个目标类,分为训练集、验证集和测试集。由于测试集上的ground-truth没有发布,我们在MS-COCO 2014训练集(约80K图像)上训练我们的模型,并在验证集(约40K图像)上测试它。对于评估,我们使用两个指标mAP@0.5和mAP@[.5,. 95],它们分别是标准PASCAL标准(即IoU > 0.5)和标准MSCOCO标准(即计算IoU2的mAP平均值[0.5 : 0.05 : 0.95])。

4.1.2、实现细节

我们的方法建立在两个预先训练的ImageNet网络VGG M和VGG16上,每个网络都有一些带有最大池化层和三个FC层的卷积层。我们将最后一个最大池层替换为SPP层,最后一个FC层以及softmax层替换为第3节中描述的层。为了增加最后一个CONV图层的要素图大小,我们用扩张的CONV图层替换倒数第二个最大池图层及其后续的CONV图层。新添加的图层使用高斯分布进行初始化,平均值和标准偏差均为0.01,偏差被初始化为0。

在训练期间,SGD的小批量设置为2、32,PASCAL VOC、ImageNet和MS-COCO分别为4。对于PASCAL VOC 2007、PASCAL VOC 2012、ImageNet和MS-COCO数据集,前40、60、15和85 K次迭代的学习速率分别设置为0.001。然后,在接下来的10、20、5和20 K迭代中,我们分别对PASCAL VOC 2007、PASCAL VOC 2012、ImageNet和MS-COCO数据集将学习率降低到0.0001。动量和重量衰减分别设为0.9和0.0005。

选择性搜索、EdgeBox和MCG分别为PASCAL VOC、ImageNet和MS-COCO数据集生成每幅图像约2000个建议。对于数据增强,我们使用五种图像比例{480, 576, 688, 864, 1200}(将最短的一边调整到其中一个刻度)水平翻转,用于训练和测试。如果没有指定,实例分类器被细化三次,即3.3节中的K=3,因此有四个输出流;第3.4.1 (2)节中的IoU阈值(也是等式。(4))设置为0.4;第3.4.1 (2)节最后一段中的k均值聚类数设置为3;第3.4.2节(也是算法4的第5行)中的设置为0.5。

 类似于其他工作,我们通过选择由我们的方法给出的最高分建议作为伪ground-truth来训练监督目标检测器,以进一步改进我们的结果。在这里,我们使用VGG16模型和相同的五个图像比例来训练Fast R-CNN (FRCNN)(仅在训练中进行水平翻转)。选择同样的建议来训练和测试FRCNN。NMS(具有30%的IoU阈值)用于计算AP。我们的实验基于Caffe深度学习框架,使用Python和C++。产生顶级建议的k-means算法由scikit-learn实现。我们所有的实验都是在英伟达GTX泰坦帕斯卡图形处理器和英特尔上运行的 (R) i7-6850 K CPU (3.60 GHz)。

 4.2、讨论

我们首先进行了一些实验来讨论我们的方法的不同组成部分(包括实例分类器细化、不同的建议生成方法、不同的细化策略和加权损失)和不同的参数设置(包括第3.4.1 (2)节中定义的IoU阈值、第3.4.1 (2)节中描述的k均值聚类的数量、第3.4.2节中定义的IoU阈值以及多尺度训练和测试)的影响。)我们还讨论了建议聚类中心的数量。不失一般性,我们只在VOC 2007数据集上进行实验,使用VGG M模型。

 4.2.1、实例分类器精炼的影响

如图5中的五条曲线所示,我们观察到,与基本的MIL网络相比,对于这两种细化方法,即使一次细化实例分类器,性能也会提高很多。这证实了精细化的必要性。如果我们多次细化分类器,结果会进一步提高。但是当细化实现次数过多时,性能会趋于饱和(从3次到4次没有明显的提升)。这是因为网络趋于收敛,使得第4次的监管与第3次类似。在本文的其余部分,我们只对分类器进行了3次改进。请注意,在图5中,“0时间”类似于使用选择性搜索作为建议的WSDDN。 

            

4.2.2、不同建议聚类生成方法的影响

我们讨论了不同建议聚类生成方法的影响。如图5所示(基于最高评分建议的方法为绿色和紫色实线,基于图的方法为蓝色和红色实线),对于所有细化时间,基于图的方法获得更好的性能,因为它可以生成更好的聚类中心。因此,我们在本文的其余部分选择了基于图的方法。

4.2.3、不同精细化策略的影响

 然后我们展示了不同细化策略的影响。直接分配标签的方法被将集群视为包(蓝色和绿色实心曲线)所取代。从图5中,很明显,通过将簇作为袋来处理的结果更好。此外,与交替训练策略(蓝色虚线曲线)相比,我们的在线训练持续且显著地提升了性能,这证实了共享建议特征的必要性。在线训练也大大减少了训练时间,因为它只需要训练单个模型,而不是在交替策略中训练K+1个模型进行K次细化。在本文的其余部分,我们只报告图5中“PCL-OBG”方法的结果,因为它实现了最佳性能。

 4.2.4、权重损失的影响

我们还研究了我们在等式(8)中的加权损失的影响。注意Eq. (8)通过简单地将设置为1,可以容易地改变为未加权版本。这里,我们使用未加权损失来训练网络。未加权损失的结果是mAP为33.6%,CorLoc为51.2%。我们看到,如果我们使用未加权损失,细化带来的改进非常少,性能甚至比交替策略更差。使用加权损失可以获得更好的性能(mAP为40.8%,CorLoc为59.6%),这证实了我们在第3.4.3节中的理论。

 4.2.5、IoU阈值的影响

这里我们讨论第3.4.1 (2)节和等式中定义的IoU阈值的影响。(4).从图6中,我们看到将它设置为0.4可以获得最佳性能。因此,对于其他实验,我们将其设置为0.4。

 4.2.6、k-means聚类数的影响

在之前的实验中,我们将第3.4.1 (2)节最后一段中描述的k均值聚类数设置为3。在这里,我们将其设置为其他数字,以探索其影响。其他数量的k-means聚类的结果是2个聚类的mAP 40.2和CorLoc 59.3,4个聚类的mAP 40.7和CorLoc 59.6,比3个聚类的结果稍差。因此,我们将其他实验的k均值聚类数设置为3。

 4.2.7、IoU阈值的影响

 我们还分析了第3.4.2节和算法4第5行中定义的的影响。如图7所示,=0.5优于其他选择。因此,对于其他实验,我们将其设置为0.5。

 4.2.8、多尺度训练和测试的影响

以前,我们的实验是基于五个图像尺度进行训练和测试的。这里我们展示了这种多尺度设置的影响。我们使用单个图像比例600作为FRCNN的默认比例设置来训练和测试我们的方法。单尺度结果是mAP 37.4和CorLoc 55.5,这比我们的多尺度结果(mAP 40.8和CorLoc 59.6)要差得多。因此,我们使用与WSOD网络一样多的五个图像尺度。

4.2.9、建议聚类中心的影响

 正如我们在第3.4.1 (2)节中所述,在每次训练迭代中,每个图像的建议聚类中心(即)的数量都会发生变化。这里我们给出了的一些典型值。在训练开始时,建议得分非常嘈杂,因此选择的形成图形的排名靠前的建议分散在图像中,这导致每个图像有几十个建议聚类中心。经过一些(约3 K)的训练迭代,建议得分更可靠,我们的方法为每个正目标类找到13建议聚类中心。为了使训练在开始时更加稳定,对于每个正的对象类,我们根据经验最多选择五个得分较高的建议聚类中心,所选择的建议聚类中心的数量对性能影响不大。

 4.3、和其他方法的比较

这里我们比较了我们表现最好的策略PCL-OB-G,即使用基于图的方法,将集群作为包来在线训练网络,与其他方法。

 我们首先在表1、2、3和4中报告了VOC2007和2012的结果。很明显,我们的方法优于使用单模型VGG M或VGG16(表中的PCL-OB-G+VGG M和PCL-OB-G+ VGG16)的其他方法。)通过组合多个不同的模型(例如模型的集合),我们的单个模型的结果甚至比其他模型更好。特别地,与同样使用相同基本MIL网络的其他两种方法相比,我们的方法获得了更好的结果。重要的是,[17]还为加权和池配备了EdgeBox的目标性度量和空间正则化器,[18]将上下文信息添加到网络中,这两者都比我们的基本MIL网络更复杂。我们相信,通过选择更好的基础MIL网络(如[17]中的完整网络)和使用上下文信息[18],可以提高我们的性能。由于完全重新实现他们的方法并不简单,这里我们只选择[17]中最简单的架构。即使在这种简化的情况下,我们的方法也取得了非常有希望的结果。

 

 

我们的结果也可以通过组合多个模型来改进。如表中所示,VGG M和VGG16模型的组合几乎没有改进。在这里,我们通过总结两个模型产生的分数来进行集合。此外,如第4.1节所述,类似于[19],最近的工作[57]。特别是,葛等人[57]使用我们的会议版论文[21]中提出的方法作为基本组成部分。我们可以期望通过用我们在这里新提出的方法替换我们在[57]中的会议版本方法来获得更好的检测性能,这是我们未来想要探索的。

                  

                

4.4、定量结果

我们首先在图8中显示了由我们的方法生成的一些建议集群。正如我们所看到的,集群中心至少包含部分目标,并且能够覆盖每个类的自适应数量的目标。

然后,我们展示了WSDDN [17]、WSDDN+上下文[18]和我们的PCL方法之间的定性比较,这两种方法都使用相同的基本MIL网络。如图9所示,我们可以观察到,对于自行车、汽车、猫等类。,我们的方法倾向于提供更精确的检测,而其他两种方法有时会因生成过大或仅包含部分目标的框(图9中的前四行)而失败。但是对于某些类,比如人,我们的方法有时会因为只检测到物体的一部分,比如人的头部(图9中的第五行)而失败。利用上下文信息有时有助于检测(如WSDDN+context [18]),我们相信我们的方法可以通过将上下文信息结合到我们的框架中来进一步改进。所有这三种方法(实际上几乎都是弱监督的对象检测方法)都存在两个问题:生成不仅包含目标目标而且还包含其相邻相似目标的框,或者只检测对象的具有变形的目标的部分(图9中的最后一行)。 

 4.5、运行时间

我们的方法和我们的基本MIL网络[17]之间的运行时间比较如表7所示,其中没有考虑建议生成的运行时间。正如我们所看到的,尽管我们的方法比我们的基本MIL网络[17]有更多的组件,但我们的方法花费的测试时间几乎与其相同。这是因为我们所有的输出流共享相同的建议特征计算。该方法的额外训练计算主要来自于发现建议聚类中心和生成建议聚类的过程。尽管额外的训练计算很少,但我们的方法获得了比基本MIL网络好得多的检测结果。

 

 5、结论

在本文中,我们提出生成建议聚类来学习用于弱监督目标检测的精细实例分类器。我们提出了两种策略来生成建议聚类和细化分类器,这两种策略都可以显著提高性能。分类器细化是通过对应于多实例学习网络中的一些实例分类器的多个输出流来实现的。引入在线训练算法对所提出的网络进行端到端的有效性和效率训练。实验表明,我们的方法取得了实质性的、一致的改进。我们观察到,我们的算法最常见的失败案例与非刚性物体的变形有关。今后,我们将集中精力解决这个问题。此外,我们相信我们的学习算法有潜力应用于其他弱监督视觉学习任务,如弱监督语义分割。我们还将探索如何将我们的方法应用到这些相关的应用中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值