RepPoints v2: Verification Meets Regression for Object Detection论文翻译

RepPoints v2: Verification Meets Regression for Object Detection 论文翻译

论文下载地址:点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前已更新至2020ECCV,即将更新:2020IJCAI合集,欢迎下载…

一、Abstract

       验证和回归是神经网络中常用的两种预测方式,验证更容易准确推断,回归会更有效且更适用于连续的目标变量,因此,作者思考对二者取各自的优点进行结合应当是有益的。本文也就是这样来改进的sota检测器,特别是针对RepPoints。作者将验证任务引入到reppoints的定位预测中,得到了reppoints v2。

二、Introduction

       神经网络的预测通常有两种方法,验证和回归。对于目标定位问题,验证会更容易地推断,因为每个特征在空间上和被验证的目标是对齐的,而回归方法更加有效,因为它可以预测连续的目标变量,实现位置的精细化。
       为取它们各自的优点,早期的目标定位是先验证几个anchor box假设来得到粗定位,然后通过回归框的偏移来对定位精细化。这种组合方法是有效的,得到了当时sota的结果。不过最近一些方法都是纯粹的只基于回归的方法(从特征图上的位置直接回归到目标范围), 这样的效果竟然比二者结合的方法更好,比如reppoints v1相比retinanet。因此作者就从这个点出发,研究纯粹的基于回归的方法能否以某种方式加入验证方法进行增强。验证方法肯定是有效的。和retinanet对anchor box的粗假设进行验证不同,cornernet是验证特征图的各个点是否是边界框的角点,可以看到相比之下定位性能有所提升,这种差异可能是由于角点能够表示GT目标框的精确的空间范围,而anchor box只是一个粗假设。在角点验证中,每个特征点都会和对应的点对齐,而在anchor验证中,用于验证的中心特征则远离边界区域。
在这里插入图片描述
       为了提高回归方法的性能,作者就想在回归方法中加入有效且能够兼容的验证方法。但上述两种方法目标表示的粒度不同,reppoints是对整个目标,而角点验证中是对部分目标(角点)。为解决这个问题,作者提出通过辅助分支来建模验证任务,这些辅助分支仅添加在feature level和result level,不会影响中间表示。通过辅助分支,验证可以与回归融合,有以下好处:① 由多任务学习可得到更好的特征,② 包含验证线索后,特征得到了增强,③ 可由两种方法联合推理。这种融合简单通用,能够利用各个类型的验证线索并不中断RepPoints算法的流程。
       通过对不同验证方法的利用,reppoints的定位和分类能力有了实质性的提升,得到了reppoints v2。并且作者提出的这种选择适当的验证任务融入回归框架中作为辅助分支的方法是灵活通用的,可以用在其他检测框架上,也可以用于其他的一些任务上,效果表现良好。
       通常对验证和回归的混合方法是先对提供粗定位的anchor和proposals进行验证,然后利用回归来进行精细化处理以得到最后的检测结果。在作者提出的方法中,验证和回归不是串行的而是并行的,这样能够更好地结合它们的优势,并且作者还采用了一种更精确的角点验证任务对基于回归的方法做补充。

三、Verification Meets Regression for Object Detection

3.1 RepPoints V1

       Reppoints是从特征图的位置p=(x, y)回归出一个具有代表性的点集来表示一个目标的空间范围。
在这里插入图片描述
       主要分为以下两步:
在这里插入图片描述
       Fp在位置p的特征向量,gi和gi’是由线性层实现的2d回归函数,R是pi的点集,R’是pi’的点集,转换函数τ是指取最大最小,局部最大最小以及动量函数,利用转换函数τ从点集R和R’中得到目标的bboxes。RepPoints的直接回归使其不需要anchor,虽然没有anchor验证步骤,但它的性能并不比基于anchor的检测器差。而作者就考虑将各种验证任务以某种方式给结合到reppoints中。

3.2 Verification Tasks

       作者讨论了两种可能对基于回归的定位任务有所帮助的验证任务。

Corner Point Verification

       一对左上和右下的角点可以确定一个bbox的空间范围,因此也成了对bbox的中心点和宽高组成的4d描述符的一个替代方案。虽然这样分类性能会稍微差一些,但是在目标定位方面有明显的优势。角点验证操作就是用一个分数来表示特征图上的每一个点是角点的概率,由于特征图的分辨率比输入图像低,因此又预测了一个偏移量来得到角点的连续坐标。
       原本的实现是在head进行corner pooling,并使用focal loss来训练角点分数预测,smooth l1 loss做子像素偏移预测。在标签分配中,每个特征图的点,如果GT的角点在这个特征bin中,则这个特征点被标记为正,否则为负。在计算损失时,每个GT角点周围的负样本由一个逆高斯函数根据其到GT角点的距离来赋予其一个较低的权重。
       与使用沙漏结构backbone以及单尺度高分辨率特征图的Cornernet不同,当前大多数目标检测器都用的是带FPN的网络结构。我们采用角点验证来利用多尺度的特征图,和基于fpn的目标检测是根据目标大小来分配特征图层级相反,作者是将所有GT角点分配到每个特征层级,这样的效果会稍微好一些,尽管它忽略了尺度归一化的问题,但每个尺度上可能会有更多的正样本,这样也会比在分辨率最高的特征图上进行训练,然后将预测的得分和偏移映射至其他层级的效果会更好。

Within-box foreground verification

       另一种对基于回归的目标检测器有效的验证方法是验证特征图的点是否位于目标框内。框内的前景验证任务均匀提供了一个目标框内的定位信息,而角点只关注于box的极值部分。因此虽然在描述目标边界时,这个方法不如角点精确,但在给定粗定位标准时,可能会有利于目标检测器。
       作者还使用了非二进制分类感知前景热图来区分不同目标类别,也就是对于c个目标类别,有c个通道的输出,每一个通道表示这个特征点属于对应类别的概率。与角点验证一样,每一个GT目标被分配到FPN的每一层级。

Normalized focal loss.

       训练时,focal loss会让较大的目标比较小的目标贡献更多,导致对小目标的前景得分学习很差,为了解决这个问题,作者提出了一个normalized focal loss,根据特征图中同一目标框的正样本点总数来对每个positive特征图点作归一化,对于negative points,归一化loss则会使用正样本点的数量作为分母。
在这里插入图片描述
       ycij是在GT前景热图上的值,pcij是预测热图的位置(i, j)属于第c类的分数,wcij是归一化因子,Scij是位置(i, j)属于的目标的面积大小:
在这里插入图片描述
       如果同一类别的多个目标在同一位置,我们将取最小的目标的大小。N是positive points的数量,Nw定义为所有位置的归一化因子之和:
在这里插入图片描述

3.3 A General Fusion Method

       然后就是结合上述验证方式来提升基于回归的方法的性能,通常基于回归的方法是以自顶向下的方式检测对象,所有中间表示都是对整个目标进行建模。由于两个验证任务都是处理的部分目标,如角点或前景点,它们对目标表示的不同粒度使两种方法的融合变得复杂。为解决这个问题,作者提出通过将辅助分支与主要的回归分支融合在一起来对验证任务建模,这种方式不会影响到它的中间表示,融合只发生在feature level和result level。
在这里插入图片描述
       辅助分支对检测器有以下好处:
       1、Better features by multi-task learning
       辅助验证任务提供了更丰富的学习监督,产生了更强的特征,提高了检测准确率。作者提出的附加辅助任务是从目标边界框的注释自动生成的,能在只有边界框注释可用的情况下应用。
       2、Feature enhancement for better regression
       验证的输出包括了角点位置和前景区域的强线索,对回归任务有利。由于这些验证任务的预测输出和FPN各层级特征图分辨率相同,作者采用在原本的特征图上进行直接相加融合,再经一个1*1卷积得到嵌入特征图。嵌入的目的是将验证输出投影至原始特征图相同的维度,并在不同的特征图层级上共享。并且验证输出是copy的一个副本输入到嵌入卷积层中,这样避免影响验证任务的学习。
       3、Joint inference by both methodologies
       特征级融合能够隐式地帮助目标定位。作者以一种联合推理的方法显式利用了角点预测和基于回归定位的验证输出。通过角点验证,小邻域内的亚像素角点定位通常会比主回归分支的定位更加精确,但由于缺少目标的全图信息,其判断角点是否为真实角点的能力较差。而主回归分支与之相反。为结合它们的优点,本文根据主回归分支优化预测边界框的角点pt
在这里插入图片描述
       t表示角点类型(左上或右下), qt是由角点预测分支在各特征图位置产生的亚像素角点,argmax(f(x))是求使 f(x)取得最大值所对应的变量点x(或x的集合),s(qt)是验证分数,r是邻域阈值,默认为1。这种结果级融合仅用于角点验证任务,灵活通用,能够利用每种验证线索,并避免了与主分支中的中间表示交互,对验证目标类型的要求也很少,不会中断主分支的流程,在很大程度上保持了建立在主分支上的原始检测器的便利性。

3.4 RepPoints v2: Fusing Verification into RepPoints

       RepPoints是一个纯粹的基于回归的目标检测器。作者开始用不同形式的验证任务来对其进行补充,特别是对角点和box内前景的验证方法。为增加reppoint和辅助验证任务的兼容性,作者先让前两个点来显式地表示左上角和右下角的点,称之为显性角点变体。这些角点取代了原本reppoints中使用的转换函数,这样边界框就变为由这些角点定义的而不是由点集上取最小-最大或动量操作来定义。转换函数变为:
在这里插入图片描述
       对于这种显式的角点变体,作者添加了辅助侧分支来进行验证。将定位头第三个卷积层之后的特征图输入,节省计算量,经一个3*3卷积得到两个用于两个验证任务的子网络,角点子网络由Corner pooling层和1×1卷积组成,用于预测热图得分和像素偏移量。前景子网络是一个由1×1卷积层组成,用来预测前景得分热图。
在这里插入图片描述
       多任务损失,λ1=0.25,λ2=0.1:
在这里插入图片描述
       结合General Fusion Method,作者将角点验证用于多任务学习,特征增强,联合推理。前景验证只用于多任务学习和特征增强。

四、Experiments

在这里插入图片描述
在这里插入图片描述

五、Conclusion

       这篇文章提出的RepPoints v2通过多种方式融合了验证任务来增强原始的基于回归的RepPoints。并有对reppoint做一定的改动,以提高与辅助验证任务的兼容性。得到了一定的改进。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值