摘要
弱监督目标检测(WSOD)和定位(WSOL),即使用图像级标签检测图像中包含边界框的多个或单个实例,是CV领域中长期存在且具有挑战性的任务。 随着深度神经网络在目标检测中的成功,WSOD和WSOL都受到了前所未有的关注。 在深度学习时代,已有数百种WSOD和WSOL方法和大量技术被提出。 为此,本文将WSOL视为WSOD的一个子任务,并对近年来WSOD的成就进行了全面的综述。 具体来说,我们首先描述了WSOD的制定和设置,包括产生的背景、面临的挑战、基本框架。 同时,总结和分析了提高检测性能的各种先进技术和训练技巧。 然后,介绍了目前广泛使用的WSOD数据集和评价指标。 最后,讨论了WSOD的未来发展方向。 我们相信这些总结可以为今后的WSOD和WSOL研究铺平道路。
1、简介
目标检测[1],[2]是一项基本的和具有挑战性的任务,旨在定位和分类的目标实例在图像。 目标定位是使用边界框(一个与轴对齐的矩形紧紧包围对象)在图像中搜索尽可能多的目标的空间位置和范围[3],[4]。 目标分类是评估图像中给定一组目标类中是否存在目标。 目标检测作为计算机视觉最基本的任务之一,是许多高级应用不可或缺的技术,如机器人视觉[5]、人脸识别[6]、图像检索[7]、[8]、增强现实[9]、自动驾驶[10]、变化检测[11]等。 随着卷积神经网络在视觉识别领域[12]-[14]的发展,以及大规模数据集[4]、[15]的发布,当今最先进的目标检测器在全监督设置下可以达到近乎完美的性能,即全监督目标检测(FSOD)[16] -[21]。 遗憾的是,这些完全监督的目标检测方法存在两个不可避免的局限性:1)大型实例注释难以获取,且工作量大。 2)在标注这些数据时,可能会无意中引入标注噪声。 为了避免上述问题,社区开始在弱监督设置下解决目标检测问题,即弱监督目标检测(WSOD)。 与完全监督的设置不同(参见图1 (a)), WSOD的目的是检测只有图像级标签的实例(例如,实例在整个图像中的类别)。 同时,WSOD也可以从网络上的大规模数据集中获益,如Facebook和Twitter。 另一个类似的任务是弱监督WSOD定位(WSOL),它只检测图像中的一个实例。 由于WSOD和WSOL分别检测多个实例和单个实例,所以我们认为WSOL是WSOD的一个子任务。 在接下来的文章中,我们使用WSOD来表示WSOD和WSOL。
在本文中,我们回顾了所有典型的WSOD方法,并对WSOD的最新进展进行了全面的综述(参见图2)。 由于关于WSOD的论文数量惊人,我们真诚地向那些没有在本调查中涉及WSOD和其他相关领域的研究的作者道歉。 在第二部分,我们介绍了背景、主要挑战和基本框架。 在第三部分中,我们根据WSOD的发展时间表,详细介绍了几种现代经典方法。 然后,对主要挑战的所有先进技术和技巧进行了深入分析。 在第8节中,我们将演示WSOD的所有流行基准和标准评估指标。 在第9节中,我们简要地讨论了未来的方向。
2、WSOD
A. A Problem Definition
WSOD的目的是在训练阶段仅使用图像级标签对目标实例进行分类和定位。 如图1 (b)所示,给定一张猫和狗的图像,WSOD不仅可以对猫和狗进行分类,还可以通过边界框对猫和狗进行定位。 不同于FSOD在训练阶段可以使用实例级注释(如图1 (a)所示),WSOD只访问图像级标签。 由于这一限制,虽然已经提出了数百种WSOD方法,但WSOD和FSOD之间的性能差距仍然很大。 例如,在PASCAL VOC 2007数据集[24]上,最先进的FSOD方法[22]和WSOD方法[23]的mAP分别为86.9%和54.9%。 因此,在wssod的任务方面,特别是在提高检测性能的方向上,仍有许多挑战需要研究者去解决。
B. Main Challenges
WSOD的主要挑战来自两个方面:定位的准确性和速度。 在定位精度方面,该算法由判别区域问题和多实例同类别问题组成。 对于速度,它是实际应用的一个重要特征。 在表1中,我们总结了所有典型的WSOD方法及其对这些挑战的贡献。
Discriminative Region Problem.
它是检测器[25],[26]倾向于聚焦于物体最具区别性的部分。 培训期间,周围可能存在多个提议一个目标,目标的和最区别的部分地区可能是得分最高的(例如,该地区是最歧视的地区图3(左)和它有一个更高的分数比其他地区)。 如果该模型仅根据分数选择正向建议,则很容易关注目标中最有区别性的部分,而不是整个目标范围。
Multiple Instance Problem.
表示当一幅图像中可能存在多个相同类别的物体时,检测器[25]、[31]难以准确识别多个实例。 尽管在一个图像中有多个具有相同类别的实例,但是这些检测器[25],[31]只选择每个类别中得分最高的作为积极的建议,而忽略其他可能的实例建议。
Speed Problem.
目前,WSOD方法的速度瓶颈主要集中在提案生成上。 选择性搜索(SS)[58]和边缘框(EB)[59]在WSOD中被广泛使用,它们太耗时了。
C. Basic WSOD Framework
根据多实例检测和单实例检测的不同,WSOD方法的基本框架可分为基于MIL的网络和基于CAM的网络。
1) MIL-based Network:
当检测网络预测图像中的多个实例时,它被认为是一个多实例学习问题[60]。 以图1 (b)为例,图像被解释为MIL问题中的提案包。 如果图像被标记为cat,这意味着至少有一个提议紧密包含了CAT实例。 否则,所有区域都不包含CAT实例(狗也一样)。 基于MIL的网络是基于WSDDN[25]的结构,它由三个部分组成:提议生成器、主干网和检测头。
Proposal Generator.
在基于MIL的网络中,通常使用许多提议生成器。 1)选择性搜索(SS)[58]:它利用详尽搜索和细分的优势来生成初始建议。 2)边缘盒(Edge boxes, EB)[59]:使用对象边缘生成提案,广泛应用于[25]、[27]、[32]、[33]、[41]、[44]、[46]等多种方式。 3)滑动窗口(SW):特征映射的每个点对应于原始图像相对位置上的一个或多个提案。 在提案生成方面,SW比SS[58]和EB[59]都要快。
Backbone.
随着cnn和大规模数据集(如ImageNet[4])的发展,预处理的AlexNet[61]、VGG16[12]、GoogLeNet[13]、ResNet[14]和SENet[62]是用于分类和目标检测的主要特征表示网络。
Detection Head.
它包括一个分类流和一个本地化流。 分类流预测每个提案的类别分数,而定位流预测每个提案的每个类别的现有概率分数。 然后将这两个分数聚合起来预测图像整体的置信度分数,用于在学习中注入图像级的监督。 给定一个图像,我们首先将其输入建议生成器和主干,分别生成建议和特征图。 然后,特征地图和建议被转发到空间金字塔池(SPP)[63]层,生成固定大小的区域。 最后,这些区域被输入到检测头来分类和定位目标实例。
2) CAM-based Network:
当检测网络仅预测图像中的单个实例时,它被认为是一个目标定位问题。 基于CAM的网络是基于CAM[26]的结构,由主干、分类器和类激活映射三部分组成。
Backbone.
它类似于第II-C1节中介绍的基于MIL的网络。
Classifier.
该算法的目的是对图像进行分类,包括全局平均池化(GAP)层和全连通层。
Class Activation Maps.
它通过使用一个简单的分割技术来定位目标实例。 由于类激活映射是由完全连接层的权重与最后一个卷积层的特征映射相乘的矩阵产生的,它突出了每个激活映射中的类特定的判别区域。 因此,通过分割类的激活映射,很容易生成每个类的边界框。 给定一幅图像,我们首先将其输入主干,生成该图像的特征图。 然后,将特征映射转发到分类器中,对图像进行分类。 同时,我们将全连接层的权值与最后一个卷积层的特征映射相乘,生成类激活映射。 最后,对概率最高的激活映射进行分割,得到目标定位的边界框。
3) Discussions:
在本节中,我们将讨论基于MIL:的网络和基于cam的网络之间的区别。 首先,基于MMI的网络利用SS[58]、EB[59]或SW生成数千个初始提案,但基于CAM的网络段激活映射到每个类的一个提案。 因此,基于MIL的网络在检测图像中具有相同类别的多个实例时优于基于CAM的网络,但基于CAM的网络的训练和推理速度要快于基于MIL的网络。 其次,由于SS和EB生成的提议的大小不一致,基于MIL的网络利用SPP层生成固定大小的向量,然后将这些固定大小的向量输入到完全连接的层中进行后续训练。 然而,基于CAM的网络利用GAP层在特征图上生成固定大小的向量。 然后,它将矢量输入一个完全连接的层进行分类。 最后,基于mil的网络和基于CAM的网络都将面临判别域问题和多实例问题。 此外,基于MIL的网络将面临训练和测试速度问题,因为SS和EB太耗时,并产生大量的初始方案。
3、WSOD的里程碑
2016年以来,对WSOD的研究有了一些标志性的方法(参见图4)。 下面,我们将简要介绍这些里程碑。
A、MIL-based Methods
WSDDN.
WSDDN [25]最大的贡献是使用双流,目的是分别进行分类和定位。WSDDN首先在特征图的顶部使用SPP [63],并在两个完全连接的层过程之后生成特征向量。接下来,特征向量被馈送到分类流和定位流中。具体来说,分类流负责计算每个区域的类别分数,本地化流被设计为计算每个区域对于每个类别的存在概率。然后,每个区域的类别分数和每个类别的现有概率的矩阵乘积被认为是最终的预测分数。然而,由于在训练阶段只访问图像级别的标签,所以在训练中对象的最有区别的部分将比整个对象实例受到更多的关注。由于上述限制,WSDDN存在区分区域问题。
OICR.
为了缓解区分区域问题,OICR [31]使用WSDDN作为其基线,并在基线后添加了三个实例分类器细化过程。每个实例分类器细化过程由两个完全连接的层组成,旨在进一步预测每个建议的类别分数。因为每个实例分类器细化过程的输出是对其后一个细化过程的监督,所以OICR可以继续学习,以便更大的区域可以具有比WSDDN更高的分数。虽然WSDDN的预测可能只关注目标的区分部分,但它将在几个实例分类器细化过程后得到细化。
SDCN.
SDCN [52]介绍了一种分段检测协作机制。它由检测分支和分割分支组成,分别负责检测包围框和生成分割掩码。在SDCN,通过为每个建议中的所有像素设置分类分数作为分割分支的监督掩码,检测结果将被转换为热图。同时,与来自分割掩模的连接区域的最高重叠的建议将是检测分支的伪基本真值盒。检测分支和分割分支交替优化,相互促进,因此SDCN的检测性能优于OICR。
ICMWSD.
与SDCN使用目标检测和分段协作机制不同,ICMWSD[23]通过利用上下文信息来解决关注目标最具区别性的部分的问题。首先,通过删除最具区别性的部分,获得被删除的特征。然后,最大限度地减少丢失的要素,迫使ICMWSD审视周围的环境区域。
B. CAM-based Methods
CAM.
CAM的最大贡献[26]是使用类激活图来预测实例。计算机辅助制造首先在最后的卷积特征映射上利用一个间隙层来产生一个特征向量。然后,将特征向量输入到具有完全连通层的分类器中,以生成图像的预测分数。最后,计算机辅助制造通过使用简单的阈值技术分割每个类的激活图来生成每个类的包围盒。然而,计算机辅助制造的类激活映射突出了对象中最具区分性的区域,因此计算机辅助制造也面临着区分性区域问题。
WCCN.
为了缓解区分区域问题,WCCN [32]提出使用级联网络,该网络具有在端到端流水线中训练的三个级联级。第一阶段是CAM [26]网络,旨在生成类激活图和初始建议。第二阶段是分割网络,它使用类激活映射来训练对象分割,以细化目标定位。最后一个阶段是MIL网络,它对第二阶段提取的建议进行多次学习。因为第二和第三阶段改进了对象定位,WCCN减轻了倾向于集中在目标的最有区别的部分的问题。
ACoL.
为了缓解区分区域问题,ACoL [40]引入了两个并行分类器,用于使用对立互补学习的目标定位。具体来说,它首先利用第一个分类器来定位最有区别的区域。然后,ACoL通过掩蔽在第一分类器中发现的最具区别性的区域来使用掩蔽的特征映射,作为第二分类器的输入特征映射。这迫使第二分类器选择下一个区分区域。最后,ACoL融合两个分类器的类激活图,通过分割最高概率类的激活图来生成每个类的包围框。
4、判别区域问题的特殊技术
在这一节中,我们将介绍几种解决判别区域问题的先进技术。
A. Context Modeling
一个区域的上下文是该区域的外部信息,其可以通过用特殊数字(例如,零)掩蔽特征地图的区域来获得。使用上下文建模的策略有以下两种类型。
Strategy A.
它会选择分数与其背景区域分数差距较大的区域作为积极建议。例如,WSLPDA [27]首先用零替换一个建议中的像素值,以获得上下文区域。然后,WSLPDA比较建议的分数和它们的上下文区域。如果两个分数之间的差距很大,这表明该建议可能是积极的。ContextLocNet [29]从提案的外部矩形区域的本地化分数中减去一个提案的本地化分数。然后,减法被认为是提案的最终本地化分数。类似于WSLPDA和ContextLocNet,TS2C [42]通过比较一个建议及其周围区域中像素的平均目标分数来选择积极的建议。但是为了减轻周围区域中背景像素的影响,TS2C仅使用周围区域中具有大置信度值的像素来计算平均目标分数。
Strategy B.
它通过利用上下文区域的丢失来选择积极的建议。例如,OAILWSD[50]认为,如果一项提案的背景特征图的损失趋于减少,则该建议没有严格涵盖目标实例。因此,OAILWSD首先利用上下文分类损失来标记区域。然后,选择上下文类别概率较低的得分最高的区域作为积极建议。ICMWSD[23]首先删除特征地图中最具区别性的部分,以获得背景特征地图。然后,它最大化上下文特征映射的损失,以迫使它关注上下文区域。
B. Self-training Algorithm
在自训练算法中,早期预测实例随后在检测器中被用作后续训练的伪地面真实实例。自训练算法有两种类型:间流算法和间历元算法。在流间自训练中,每个流的实例监督其后面的流。在跨时代自我训练中,每个时代的实例监督着它的后一个时代。自我训练的关键思想是,即使早期的高分建议可能只关注目标的辨别部分,但经过几个细化程序后,它们也会得到细化。
1) Inter-stream Self-training:
OICR [31]期望B、C和D可以继承A的类分数,以正确定位图3(右)中的目标。因此,OICR在WSDDN中添加了三个具有两个完全连接的层的细化分类器来解决图3(左)所示的问题。具体来说,第一个细化分类器的监管就是WSDDN的输出。至于其他细化分类器,当前细化分类器的监督是其先前细化分类器的输出。受OICR的启发,WSOD2 [49]由许多分类器组成。ICMWSD [23]也在WSDDN中插入了细化流,但是,每个细化流都包括一个分类器和一个回归器。此外,一些方法[39]、[50]、[51]、[53]使用OICR作为它们的基线。
2) Inter-epoch Self-training:
自学-WS [33]使用两个相邻时期的每个建议的分数的相对提高(RI)作为选择阳性样本的标准。具体地说,它选择与最大RI建议的过并(IoU) ≥ 0:5的前一个时期的建议作为当前时期的正样本。
C. Cascaded Network
级联网络包括几个阶段,当前阶段的监管是前一阶段的输出。如WCCN [32]和TS2C [42]由三个阶段组成。第一阶段是计算机辅助制造模块,该模块使用类激活图生成初始建议。中间阶段是目标分割模块,旨在细化初始建议。最后一个阶段是多实例学习模块,负责检测准确的目标。
D. Bounding Box Regression
边界框回归可以在训练阶段使用实例级注释来提高对象定位性能,但是WSOD任务只访问图像级标签。为了使用包围盒回归来细化来自SS [58]或EB [59]的初始建议,一些方法提出产生高质量的伪地面真值盒作为包围盒回归的监督。现在,许多方法[23]、[48]、[49]、[51]、[57]包括至少一个包围盒回归器。回归器的监督是先前分类器的输出。
E. Discriminative Region Removal
从图3(左)中,一些研究人员发现最高分数区域仅覆盖了物体的最具辨别性的部分。为了定位整个对象范围,屏蔽对象的最有区别的部分被设计成迫使检测器找到下一个有区别的区域。TP-WSL [36]是一个两阶段学习网络,它通过屏蔽最有区别的区域来检测下一个有区别的区域。在第一阶段,它产生类激活图,随后使用最高概率类的激活图中的阈值来掩蔽最有区别的区域。在第二阶段,它将屏蔽的激活图乘以第二网络的特征图,以细化用于检测下一个区分区域的特征图。与有两个主干的TP-WSL不同,ACoL [40]由一个共享主干和两个并行分类器组成。来自第一分类器的屏蔽特征映射被馈送到第二分类器中,以生成类别激活映射。最后,ACoL通过融合两个分类器的两类激活图来定位融合激活图中的对象实例。EIL [56]建议共享ACoL的两个并行分类器的权重,并且它只从未屏蔽的分支中分割最高概率类的激活图以产生对象提议。将C-MIDN [53]与ACoL进行比较,有三个不同之处。第一,CMIDN的检测网络是WSDDN [25],而ACoL的检测网络是CAM [26]。第二,C-MIDN没有计算第二分支中第一检测模块的最高得分建议的高度重叠的损失,但是ACoL在第二分支中用零屏蔽了第一检测模块的最高得分建议的区域。最后,C-MIDN选择第二检测模块的最高分建议和第一检测模块的最高分建议作为积极建议,其中第一检测模块的最高分建议与所选择的建议具有低的重叠度,但是蚁群算法通过分割融合的类激活图来产生积极建议。
F. Incorporating Low-level Features
低级特征通常保留更丰富的目标细节,如边缘、角、颜色、像素等。如果充分利用这些低层特征,我们可以获得准确的目标定位。例如,Grad-CAM [30]利用高分辨率的引导反向传播[64],突出图像的细节,以创建高分辨率和类别区分的可视化。WSOD2 [49]首先计算区域建议的分数。然后,它在低级图像特征(例如,超像素)中选择相同的区域,并计算该区域的分数。最后两个分数的乘积就是区域建议的最终分数。
G. Segmentation-detection Collaborative Mechanism
分割-检测协同机制包括分割分支和检测分支。协作机制产生的主要原因有以下几点:1) MIL(检测)可以正确区分某个区域为对象,但不善于检测该区域是否包含整个目标。2)分割可以覆盖整个目标实例,但不能区分该区域是否为真实目标[52]。因此,一些模型通过相互监督来利用检测和分割之间的深度合作来实现精确定位。WS-JDS [46]首先选择由语义分割分支生成的具有上采样像素的区域建议作为检测分支的正样本。然后,对检测分支的每个正建议内的所有像素设置分类分数,作为分割分支的监督掩码。与WS-JDS相似,SDCN [52]也将检测分支和分割分支相结合,这在第三章第一节中介绍。
H. Transforming WSOD to FSOD
将WSOD转换为FSOD是另一种使用图像级标签实现目标检测的流行技术,该技术旨在使用WSOD模型的输出来训练FSOD模型。转换的主要问题是从WSOD产生好的伪基本ground-truth框。有几种策略可以将盒子挖掘为伪ground-truth框。1)最高分:众多方法[31],[37],[42],[46],[52],[53]选择WSOD的最高分检测框作为伪ground-truth框。2)相对改善(RI): ST-WSL [33]选择两个相邻时期的相对得分提高最大的盒子作为伪基本ground-truth框。3)合并:W2F [39]把几个小盒子合并成一个大的候选盒子,把这些合并的盒子作为伪地真盒子,用于后面的训练。SLV [57]首先将几个盒子的分数合并到像素中,然后通过使用简单的阈值技术来分割每个类别的地图来生成每个类别的边界盒。此外,还有以下几种FSOD型号:Fast R-CNN [65]、Fast R-CNN [16]和SSD [17]。众多方法[31],[33],[37],[42],[46],[52],[53],[57]使用WSOD的预测盒作为伪ground-truth框来训练快速R-CNN。W2F [39]用WSOD的预测箱训练Faster R-CNN。GALfWSD [38]用WSOD的预测箱训练SSD。
I. Discussions
在前面的章节中,我们通过详细列举多种方法,分别介绍了几种常用于提高检测性能的技术。在本节中,我们将比较和讨论这些技术。首先,上下文建模和区分区域去除是两种类似的技术。上下文建模是分别计算提案及其上下文区域的得分。然后从这两个分数中选择积极的建议。另一方面,区别性区域去除是通过在第一分支的特征映射中设置零值,然后将擦除的特征映射馈送到第二分支,来直接擦除得分最高的区域。其次,自训练算法通常与包围盒回归同时出现。包围框回归负责细化来自SS [58]或EB [59]的初始建议。并设计了自训练算法来细化基线的预测结果。自训练算法和包围盒回归的核心问题都是产生良好的伪地面真值盒。第三,级联网络和分段检测协作机制是两种相似的技术。他们利用分割模块来提高对象检测模块的性能。级联网络是一种顺序结构,前一个模块负责训练后一个模块。然而,分割检测协作机制是一种循环结构,它利用检测和分割之间的深度协作来相互监督,以实现精确定位。最后,结合低层特征技术利用低层特征的高分辨率特性的优势来改善对象定位。将WSOD技术转化为FSOD技术的关键思想是充分利用FSOD模型(如Fast R-CNN [65])的网络结构优势。
5、多实例问题的特定技术
在这一节中,我们将介绍如何充分利用提案的空间关系来解决第二节-B中介绍的多实例问题。具体来说,两个相距较远的提案可能对应两个目标实例,而两个重叠较大的提案可能对应同一个目标实例。ST-WSL [33]利用图形来检测图像中具有相同类别的多个实例。它首先选择每个正类的前N个评分建议作为图的节点。两个节点之间的边缘表示它们之间有很大的重叠。然后,它使用非最大抑制(NMS)算法[66]选择最大程度(到其他节点的连接数)的节点作为肯定建议。PCL [37]引入了建议组,以取代包含每个类别所有提案的提案包。PCL将相同的标签和空间相邻的建议分配给相同的建议群。如果建议没有相互重叠,它们将被分配到不同的建议组中。然后,PCL从每个建议簇中选择得分最高的建议作为正面建议。W2F [39]迭代地将得分最高的高度重叠的提案合并成大建议。最后,这些大建议被认为是积极的建议。
6、速度问题的特殊技巧
在本节中,我们将介绍解决第二节-B中介绍的速度问题的几种先进技术。速度慢的主要原因是基于Mil的方法采用SS [58]或EB [59]生成大量初始建议,其中大多数是负面的。提高速度的方法可以大致分为三组:1)基于变换的方法[38],[39]:这些方法使用它们的预测盒作为伪ground-truth框来训练更快的R-CNN [16]或SSD [17],然后使用Faster R-CNN或SSD来推断图像。2)基于滑动窗口的[28]、[35]:这些方法使用滑动窗口技术,通过遍历要素地图上的每个点来快速生成建议。3)基于热图的[26],[30],[34],[36],[40],[43],[47],[54]–[ 56]:这些方法使用阈值分割热图以生成建议,从而提高建议生成的速度。