OUCer&CVer
首发于OUCer&CVer
RepPoints:用代表性点集进行目标检测

RepPoints:用代表性点集进行目标检测

Paper link:

RepPoints: Point Set Representation for Object Detectionarxiv.org

Code link:

暂无

在目标检测领域,这是一篇创新性较强的paper,跳出了以往的思维定式,对以后的工作也很有启发,值得我们学习。当前主流的目标检测网络,对于bounding box的依赖很严重,无论是one-stage还是two-stage的检测器,都需要bounding box对目标区域进行提取,划分,然后进行分类和回归。但是这些bounding box都是规则且相对固定的候选框,只能对目标提供一个较为粗糙的定位,这就导致bounding box提取出来的特征也是粗糙的。本文提出了RepPoints(representive points),通过一组有代表性的点,实现对目标的更精细表示,对于后续的分类和定位都有帮助。在训练过程中,给定Ground Truth的位置和识别目标,RepPoints学会自动排列代表性点,限定目标的空间范围,并表示语义上重要的局部区域。整个过程都不需要anchor进行bounding box的采样,是名副其实的anchor-free。实验表明,基于RepPoints的网络结构,在没采用多尺度训练的情况下,跟SOTA的anchor-based目标检测器相比毫不逊色,在COCO数据集上,AP指标上达到了42.8%。

目标检测一直是计算机视觉中的基础且热门领域,为诸如分割,跟踪等任务提供辅助。随着深度学习的迅速发展,目标检测网络取得了迅速的发展进步,代表性网络如Faster R-CNN, YOLO,Ssd等都有很好的表现。纵观所有的目标检测网络,都绕不开bounding box的存在,bounding box包围图像的目标区域,作为整个目标检测中的基本处理单元。基于提取的bounding box,进一步进行分类和位置回归处理。bounding box的应用很大程度源于网络结构的评价指标,即预估框和GT框的重叠覆盖程度。还有一个原因是因为bounding box这种规则的形状对特征提取和后续的池化处理提供了便利。虽然如此,但是bounding box只是对目标的粗糙提取,这种提取可能并不符合目标的姿态和形状,因此提取出来的内容势必会包括一些背景信息等无关信息,这可能会产生较低质量的特征,从而影响目标检测的分类性能。

本文提出了一种全新的方法RepPoints,通过一组点集提供更细粒度的位置表示和便于分类的信息。如下图所示:RepPoints是一系列点组成的集合,这些点分布在目标的空间范围和具有重要语义信息的位置。RepPoints的训练由目标定位和识别共同驱动,RepPoints与GT bounding box紧密结合,引导检测器正确分类目标。这种方法摆脱了bounding box的限制,更没有了anchor的烦恼。

为了证明ReoPoints的强大,本文利用一个可变形卷积实现了目标检测网络,该网络在保持特征提取方便的同时,提供了适合于指导自适应采样的识别反馈。接下来会有详细介绍。

三 Bounding box相关

  • Bounding Box Representation

基于bounding box的目标定位,实质是一个四维的空间表示B = (x, y, w, h),其中(x,y)是候选框的中心位置坐标,w是宽,h是长。

  • Review of Multi-Stage Object Detectors

现阶段性能最好的目标检测网络通常遵循的是多阶段的识别范式,对于目标定位来说,是逐步细化进行,如下图所示

我们可以复原一个检测过程看一下,在开始阶段,不同尺寸,不同长宽比的anchor密集覆盖在图像中,比如在RetinaNet中,在P3-P7层中,每层都有9个anchor,一共有45个anchor。对每一个anchor来说,图像中心点的特征通常会作为目标的特征,以此为依据,确定anchor是前景还是背景,给出相应的置信度,同时进行位置回归,对bounding box进行精细微调,也就是上图中(S1)的过程。第二阶段,通常是一个池化操作,利用ROI Pooling或者ROI-Align,将第一阶段提取到的特征进行进一步提取。

  • Bounding Box Regression

给定一个GT bounding box Bt =(xt, yt, wt, ht),假设候选框bounding box为Br,回归的目标是让Bt和Br越接近越好。在训练过程中,如下式所示,构造一个预测的4-d回归向量和真实的4-d回归向量之间的距离Fˆ(Bp, Bt) 作为学习目标,损失函数用smooth L1。

这种回归方式的弊端是,当预测与真实之间的距离相差较大时,性能会比较差。

四 RepPoints

正如前面讨论的,4-d的bounding box是目标位置的粗糙表达,边界框只考虑目标的矩形空间范围,不考虑形状、姿态和语义上重要的局部区域的位置,但恰恰是这些区域,可用于更好的定位和更好的对象特征提取。为了克服这些局限,RepPoints建立一组自适应的特征点集,如下式所示:

其中n是构成点集的点数量,在本文中,n被设置为9,也就是抽样9个点

  • RepPoints refinement

逐步细化边界框定位和特征提取是多阶段目标检测方法成功的关键。对于RepPoints来说,细化过程可以简单的表示为:

即对每一个样本点,预测一组相对于原来位置的偏移量。

  • Converting RepPoints to bounding box

得到一组点后,接下来就把这些点转化为bounding box ,我们定义一个转换函数,如下图所示:

其中Rp是对于目标P的点集表示,Bp是经过转换函数T之后的box,关于T的形式,主要有三种:(关于三种转换函数理解,作者在原文中并没有详细说明,以下是个人理解,请辩证看待)

  1. T=T1:Min-max function. 在x,y两个坐标轴方向上,寻找点集中的极值点来表示bouning box,一般来说,有两个点就能构成一个bounding box
  2. T = T2: Partial min-max function. 先从点集中选取相应的子集,将选取出的点利用(1)式方法,构成bounding box
  3. T = T3: Moment-based function.计算点集中所有点的均值作为bounding box的中心点坐标,二阶矩作为bounding box的宽和高。“矩”是一组点组成的模型的特定的数量测度,关于二阶矩,可以简单理解为随机变量的方差。
  • Learning RepPoints

RepPoints中点的学习是由目标定位的损失和分类损失共同驱动的。下面来逐一分析一下,关于目标定位的损失,需要我们利用上文中提到的转换函数T生成一个“伪”bounding box,然后利用bounding box和GT bounding box进行运算。在本文中,作者在左上角和右下角之间的距离运用smooth L1,进行位置回归。而不是和常规的位置回归,要计算四个偏移量(∆x, y ,w, h

五 RPDet: an Anchor Free Detector

为了验证利用RepPoints代替bounding box候选的可行和强大,设计了一个anchor-free的网络结构,整个网络是由两个基于可变形卷积的识别阶段组成。作者将RepPoints和可变形卷积很好的结合起来

  • Deformable Convolution

关于可变形卷积的解读,我在专栏里有相应的文章,如果想详细了解,可以点跳转。但是时间过去很长时间,我们再简单的回顾一下。

研究发现,标准卷积中的规则采样格点采样是导致网络难以适应几何形变的“罪魁祸首”,为了削弱这个限制,对卷积核中每个采样点为位置都增加一个偏移量,可以实现在当前位置附近随意采样而不局限于规则的格点,如下图是常见的采样点和可变形卷积采样点的对比。其中(a)是规则的采样点,(b)(c)(d)是在规则采样点的基础上,加上一个偏移量,使得采样点的位置发生变化

可变形卷积的目的是提升形变的建模能力。通过可变形卷积(deformable conv)和可变形感兴趣区域池化(deformable ROI Pooling)这两个模块,基于一个平行网络学习一个偏移量(offset),使得卷积核在feature map上的采样点发生偏移,集中于我们感兴趣的区域。我们可以用下列网络结构来看:以一个feature map作为输入,常规的采样点如绿框所示,是规则且局限的,而可变形卷积的做法是,增加一路网络,经过卷积之后,输出一个维度为2N的map,其中N是采样点数量,2N是说明学习x,y两个方向的偏移,这样,对于每一个原始的采样点,我们都学习到了它在x,y两个方向上的偏移,即下图offsets map,指示了原始的采样点在融合x,y两个方向的偏移量后,最终的偏移方向。然后,将原始采样点与offset对应融合,得到最终采样位置,经过卷积运算,得到输出feature map上的结果。

非常需要注意的一个点是,可变形卷积的可变形体现在采样点不是局限规则的,而不是卷积核是可变形的

好,我们把镜头拉回,简单了解了可变形卷积之后,我们来看一下本文设计的anchor-free网络,RPDet

可变形卷积与RepPoints很好地结合在一起,因为它的卷积是在一组不规则分布的采样点上计算的,反之,它的识别反馈可以指导这些点的定位训练。接下来我们详细解读一下

RPDet的主干网络是FPN。FPN一经提出,就大获欢迎,也为anchor-free系列的网络结构做出了很大的贡献。RPDet运用FPN有以下几个原因:

(1)FPN是特征金字塔,是分层的,这样,对于不同尺度的物体,可以将其分配到FPN的不同层进行处理,即使这些目标的中心位置可能相同。这样就很好的解决了中心位置重叠造成的检测混淆。

(2)FPN融合了丰富的语义信息和高分辨率信息,这种融合对于小物体的检测很有帮助,这样的特性,也减少了两个物体中心处于同一位置的概率。

实验表明,随着FPN的运用,在COCO数据上,只有1.1%的物体会有中心点重叠的问题,这个比例还是非常小的。

基于中心点的预测还有一个问题,就是物体的空间变化范围很大,这样对于准确得到物体的位置很不利,但是在RPDet中,这个问题可以通过基于RepPoints的 区域不断细化解决。

实验表明,这种基于RepPoints的anchor-free网络结构 RPDet,能够和SOTA方法相匹敌。

下面具体说说RepPoins是怎么用的。在整个网络结构中,RepPoints都是作为基础目标表示。从中心点出发,通过3x3卷积得到第一组RepPoints。RepPoints的学习是由两方面驱动的:

(1)通过RepPoints生成的“伪”box和GT box中,左上角点和右下角点的距离损失

(2)后续阶段的目标识别损失

以上是第一阶段中RepPoints的运用,在第二阶段中,基于RepPoints得到的box就是最终的位置预测。这一阶段的细化,是根据下列公式,也就是前文中提到的RepPoints refinement生成:

这一阶段RepPoints的学习,是由左上角点和右下角点的距离损失 独自驱动的

通过下列实验图可以看到,RPDet可以将边界点和语义关键点标注出来


Experiments

与传统一阶段,二阶段亦或是其他anchor-free的网路相比,RPDet都取得了提升。

本次跟大家分享的歌曲是校长在专辑《再见吧!浪漫》中的歌曲《Don't say goodbye》

Don't Say Goodbye - 谭咏麟 - 单曲 - 网易云音乐music.163.com图标

完结,撒花~

编辑于 2019-06-25

文章被以下专栏收录