通常来说,深度学习在一些计算机视觉任务上的应用,比如分类、定位和检测,需要大量精确标注的数据,而模型在这些数据集上进行预训练之后,并不能直接应用到其它的任务中。为了减少这种限制,人们开始利用弱监督方法来进行学习,弱监督的训练数据一般只有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中仅能有一个全连接层作为分类权重的限制,并且解决了定位与分类耦合导致的取舍问题。
本文的贡献如下:
目前的WSOL方法是在给定类标签的情况下生成bbox,它有以下几个缺点:
受到selective search和Faster R-CNN中生成ROI这个类不可知过程的启发,本文将WSOL分为两个独立的部分,并基于此提出PSOL,PSOL直接在生成的伪gt bbox上优化定位模型,因此解决了WSOL中的缺点。
WSOL和PSOL最大的不同在于为训练图像生成伪bbox。在考虑伪bbox的生成时,我们自然而然的会想到检测,因为检测模型可以直接生成bbox和类标签。但是,最大的检测数据集中只有80个类,因此不能在一些更大的数据集上(如ImageNet-1k)提供通用目标定位;而且目前的一些检测器,比如Faster R-CNN需要大量的计算资源和较大的输入图像大小,这使得检测模型不能在大规模数据集上被用于bbox的生成。
既然检测模型不行,那么我们可以试着用一下别的定位方法来为训练图像生成bbox,比如弱监督和协同训练方法:
目前的WSOL方法生成bbox的流程如下:
一些协同监督的方法也可以在定位任务上表现出良好的性能。DDT就是其中之一,它不仅性能好,而且与其他协同监督方法相比,需要的计算资源也少。DDT生成bbox的流程如下:
本文就是使用WSOL和DDT方法来生成伪bbox。
在生成伪bbox之后,接下来就是进行目标定位,使用bbox回归进行精调。有两种bbox回归方法:单类别回归(SCR)和每个类都回归(PCR),由于PCR非常依赖类标签,而本文强调定位是类不可知任务,因此这里采用SCR。
设bbox为 ( x , y , w , h ) (x,y,w,h) (x,y,w,h),其中 x , y x,y x,y是bbox的左上角坐标, w w w和 h h h分别是宽和高。首先将 x , y , w , h x,y,w,h x,y,w,h转换为 x ∗ , y ∗ , w ∗ , h ∗ x^*,y^*,w^*,h^* x∗,y∗,w∗,h∗,其中 x ∗ = x w i , y ∗ = y h i , w ∗ = w w i , h ∗ = h h i x^*= \frac{x}{w_i},y^*= \frac{y}{h_i},w^*= \frac{w}{w_i},h^*= \frac{h}{h_i} x∗=wix,y∗=hiy,w∗=wiw,h∗=hih, w i w_i wi和 h i h_i hi分别是输入图像的宽和高。然后使用两个全连接层和对应的ReLU层精心回归。最终通过sigmoid得到激活输出。使用均方误差损失( l 2 l_2 l2 loss)。
本文提出了一种伪监督目标定位方法(PSOL)来解决目前的弱监督目标定位方法(WSOL)中存在的问题。该方法将定位与分类分为两个独立的网络,在训练集上通过DDT生成伪gt bbox进行训练。实验表明PSOL方法分开训练确实比联合训练要好,说明定位和分类学习到的内容是不同的,WSOL确实应该分为两个独立的模型。
作者还提出未来的工作:试着将定位与分类整合到一个CNN模型中;试着提升生成的bbox的质量;应该去探索新的网络结构或定位问题的算法。