计算机视觉研究院专栏
作者:Edison_G
目前在目标检测方面的进展依赖于大规模的数据集来获得良好的性能。然而,在许多场景下可能并不总是有足够的样本,从而导致当前基于深度学习的目标检测模型的性能下降。
一、简要
为了克服上述的问题,有研究者提出了一种新的one-shot条件检测框架(OSCD)。给予一个含有target object的support image和query image作为输入,OSCD可以在查询图像中检测属于目标对象类别的所有目标。
具体来说,OSCD由一个Siamese网络和一个two-stages检测模型组成。在two-stages检测的每个阶段,分别设计了一个特征融合模块和一个可学习的度量模块来进行有效的条件检测。一旦训练,OSCD可以在不需要进一步训练的情况下检测可见和看不见类的对象,这也有优势,包括classagnostic, training-free for unseen classes和without catastrophic forgetting。实验表明,该方法在基于Fashion-MNIST和Pascal VOC的数据集上取得了最先进的性能
二、背景
如下图所示。[S.K. Biswas, P. Milanfar, One shot detection with laplacian object and fast matrix cosine similarity, IEEE Trans. Pattern Anal. Mach. Intell. (TPAMI)]中提出的传统one-shot检测框架,将onr-shot检测问题视为具有滑动窗口方案的经典检测问题,并选择了最适合的窗口。特别是使用一个度量学习模块,而不是经典的分类器,来计算来自新感兴趣的类的support image和query image的标记窗口之间的相似性。另一种方法如下图(b),LSTD框架选择利用来自新感兴趣的类的support样本来优化区域候选网络(RPN,即取代传统的滑动窗口方案)和基于深度学习的检测器,并期望原始检测流能够以有限的支持样本数量自适应地识别新类。
由于这两种方法的基本相似性,结果表明,这两种方法通过将新类的support图像作为条件处理,可以与条件目标检测模型相等。
然后,研究者就提出了将检测问题更好地命名为one-shot条件目标检测。并设计了一个基于可学习度量和two-stages检测模型的通用one-shot条件目标检测框架(OSCD),如上图(c)。
条件目标检测与目标检测之间存在一些区别。
首先,他们有不同的目标。条件目标检测的目的是检测与测试图像中给定的条件图像相似的对象。因此,条件目标检测可以检测到属于不可见类别的对象。而目标检测是检测所有属于训练类别的对象,不能检测看不见类对象;其次,这两种方法有不同的训练方式。条件目标检测的训练是基于support和query图像对。而目标检测是标准的监督学习,并有足够的训练样本;第三,这两种方法有不同的评价标准,在各种support和query图像对上评估了条件目标检测模型,而目标检测模型则在许多检测图像上进行了评估。
三、新框架
在one-shot条件目标检测的设置中,数据通常成对组织,由support和query图像组成。support图像通常包含一个主导的目标对象(人或马),并且模型应该能够在query图像中检测到属于目标对象类别的对象。
对于目标检测,假设在感兴趣的类中没有足够的样本,从而导致公共监督学习方法的性能较差。此外,我们可能不知道在未来的任务中存在哪些类别。更严重的挑战是,“目标”可以是任何令人感兴趣的模式。所有这些问题都使得目标检测任务对传统方法来说极其困难。因此,提出了one-shot的条件目标检测方法来解决上述问题。
如下图所示。One-shot条件检测的目标是根据查询图像中的给定条件(目标对象的单个支持图像)来检测对象。在one-shot条件检测的情况下,在许多支持查询的可见类图像对上训练一个模型,以获得强先验。一旦训练,模型可以从具有单一支持图像的看不见类中检测属于目标类别的所有对象。
通用目标检测器(Faster R-CNN)和提出的OSCD。Faster R-CNN可以定位和识别可见类(人)的对象,但无法对看不见类(马)的对象进行分类。相比之下,所提出的OSCD实现了C-RPN和C-Detector的条件目标检测,以更加关注支持类的对象,并过滤掉其他类的无关对象。
上图,(a)C-RPN:S操作连接全局平均和最大池support features,并通过卷积层生成显著support features,然后T平铺突出support features使平铺support features具有与query features相同的空间大小,因此F可以连接平铺support features来查询特征。C1、C2是两个卷积层。(b)C-Detector:从C-RPN中选择候选区域的query features,然后将它们与support features结合起来。R表示调整大小的操作,F表示深度上的连接。可学习的度量模块由一个用于降维的卷积层和两个用于检测的全连接层组成。
四、实验及可视化
(a) The generation process of support-query image pairs on the FashionOSCD dataset.
(b) Examples for the Fashion-OSCD dataset. Green boxes denote ground truth bounding boxes. Each image contains as much as 3 objects with multiple scales and aspect ratios.
五、分析总结
研究者提出了一种新的one-shot条件目标检测框架。一个精心设计的C-RPN和C-Detector已经被实现,以形成一个粗到细的two-stages条件检测通道。在这two-stages,模型通过所提出的特征融合模块和可学习的度量模块来学习识别和定位支持类对象。在两个数据集上的实验证明了新方法在one-shot条件目标检测方面取得了最先进的性能。
虽然模型取得了良好的结果,但仍然有一些局限性:模型和具有足够训练样本的传统监督学习检测器之间的性能差距很大,模型的计算开销大于传统的监督学习检测器。研究者需要继续改进所提出的框架,如利用triplet loss来提取更具表现力的深度特征和探索更好的Siamese networks。
感觉研究者进行本研究时,还缺乏相关的OSCD研究。SiamFC and SiamRPN是研究者们所能找到的最相关的方法。在未来,可以把新方法与更多的one-shot目标检测方法进行比较。
计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!