Rethinking the Route Towards Weakly Supervised Object Localization 论文笔记

前言

通常来说,深度学习在一些计算机视觉任务上的应用,比如分类、定位和检测,需要大量精确标注的数据,而模型在这些数据集上进行预训练之后,并不能直接应用到其它的任务中。为了减少这种限制,人们开始利用弱监督方法来进行学习,弱监督的训练数据一般只有image-level标签,没有大型数据集中的location-level(bbox和关键点)和pixel-level(每个像素都有一个类标签,用于语义分割)标签,因此很容易获得。在弱监督任务中,弱监督目标定位(WSOL)是最实际的任务,因为它只需要在给定类标签的情况下对目标定位。在WSOD中,假设图像中只有一个目标。

但是,作者通过实验发现,WSOL中的定位部分应该是类不可知的,即与类标签无关。基于此,本文将WSOL分为两个独立的子任务:类不可知目标定位与目标分类,如下图所示,称为伪监督目标定位(Pseudo Supervised Object Localization,PSOL):
在这里插入图片描述
在先前的WSOL方法中,需要最终生成的特征图来产生bbox;而在PSOL方法中,首先通过DDT生成伪监督gt bbox,也就是不准确的bbox,然后在这些bbox上进行回归。PSOL去掉了WSOL中仅能有一个全连接层作为分类权重的限制,并且解决了定位与分类耦合导致的取舍问题。

本文的贡献如下:

  • 证明WSOD应该被分为两部分:类不可知目标定位与目标分类,提出PSOL以解决WSOL中存在的问题;
  • 虽然生成的bbox有偏差,但作者认为应该直接对它们进行优化,而不需要类标签;
  • 不需要fine-tuning,PSOL方法也能在不同的数据集上拥有良好的定位迁移能力。

WSOL的缺点

目前的WSOL方法是在给定类标签的情况下生成bbox,它有以下几个缺点:

  • 学习目标不明确,导致定位的性能下降。HaS和ADL表明当仅有一个CNN模型时,定位和分类不能同时进行。定位需要目标的全局特征,它是将整个目标的位置表示出来,而分类只需要目标最具有判别性的部分,也即只需要目标的局部特征。
  • CAM需要存储一个三维特征图用于计算类别的heatmap,然后来通过阈值进行过滤,而这个阈值非常难确定。

受到selective search和Faster R-CNN中生成ROI这个类不可知过程的启发,本文将WSOL分为两个独立的部分,并基于此提出PSOL,PSOL直接在生成的伪gt bbox上优化定位模型,因此解决了WSOL中的缺点。


PSOL方法实现

PSOL的通用框架如以下算法所示:
在这里插入图片描述

1. 伪bbox的生成

WSOL和PSOL最大的不同在于为训练图像生成伪bbox。在考虑伪bbox的生成时,我们自然而然的会想到检测,因为检测模型可以直接生成bbox和类标签。但是,最大的检测数据集中只有80个类,因此不能在一些更大的数据集上(如ImageNet-1k)提供通用目标定位;而且目前的一些检测器,比如Faster R-CNN需要大量的计算资源和较大的输入图像大小,这使得检测模型不能在大规模数据集上被用于bbox的生成。

既然检测模型不行,那么我们可以试着用一下别的定位方法来为训练图像生成bbox,比如弱监督和协同训练方法:

WSOL方法

目前的WSOL方法生成bbox的流程如下:

  • 首先图像II被送入网络FF中,生成最终的特征图GGGRh×w×d=F(I)G \in \Bbb R^{h \times w \times d}=F(I)GG通常是最后一个卷积层生成的特征图;
  • 然后GG在经过全局池化和最终的全连接层之后,得到标签LpredL_{pred},根据LpredL_{pred}或gt标签LgtL_{gt},得到特定类别在最终全连接层中的权重WRdW \in \Bbb R^d
  • 然后对GG的空间位置进行channel-wise的加权求和并得到特定类的heatmap Hi,j=k=1dGi,j,kWkH_{i,j}= \sum^d_{k=1} G_{i,j,k}W_k
  • 最后对HH进行上采样到原始输入大小,使用阈值过滤并生成最终的bbox。

DDT

一些协同监督的方法也可以在定位任务上表现出良好的性能。DDT就是其中之一,它不仅性能好,而且与其他协同监督方法相比,需要的计算资源也少。DDT生成bbox的流程如下:

  • 给定一个图像集SS,包含nn个图像,每个图像ISI \in S的标签相同,或包含相同的目标。通过一个经过预训练的模型FF生成最终的特征图GRh×w×d=Rhw×d=F(I)G \in \Bbb R^{h \times w \times d}= \Bbb R^{hw \times d}=F(I)
  • 然后这些特征图集合到一起得到一个更大的特征集GallRn×hw×d=Rnhw×dG_{all} \in \Bbb R^{n \times hw \times d}= \Bbb R^{nhw \times d},在深度维度上使用主成分分析(PCA),得到特征值最大的特征向量PP
  • 然后对GG的空间位置进行channel-wise的加权求和并得到特定类的heatmap Hi,j=k=1dGi,j,kPkH_{i,j}= \sum^d_{k=1} G_{i,j,k}P_k
  • 然后对HH进行上采样到原始输入大小,通过零阈值过滤和最大连通区域分析得到最终的bbox。

本文就是使用WSOL和DDT方法来生成伪bbox。

2. 目标定位

在生成伪bbox之后,接下来就是进行目标定位,使用bbox回归进行精调。有两种bbox回归方法:单类别回归(SCR)和每个类都回归(PCR),由于PCR非常依赖类标签,而本文强调定位是类不可知任务,因此这里采用SCR。

设bbox为(x,y,w,h)(x,y,w,h),其中x,yx,y是bbox的左上角座标,wwhh分别是宽和高。首先将x,y,w,hx,y,w,h转换为x,y,w,hx^*,y^*,w^*,h^*,其中x=xwi,y=yhi,w=wwi,h=hhix^*= \frac{x}{w_i},y^*= \frac{y}{h_i},w^*= \frac{w}{w_i},h^*= \frac{h}{h_i}wiw_ihih_i分别是输入图像的宽和高。然后使用两个全连接层和对应的ReLU层精心回归。最终通过sigmoid得到激活输出。使用均方误差损失(l2l_2 loss)。


结论

本文提出了一种伪监督目标定位方法(PSOL)来解决目前的弱监督目标定位方法(WSOL)中存在的问题。该方法将定位与分类分为两个独立的网络,在训练集上通过DDT生成伪gt bbox进行训练。实验表明PSOL方法分开训练确实比联合训练要好,说明定位和分类学习到的内容是不同的,WSOL确实应该分为两个独立的模型。

作者还提出未来的工作:试着将定位与分类整合到一个CNN模型中;试着提升生成的bbox的质量;应该去探索新的网络结构或定位问题的算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章