【目标检测】One-Stage无痛涨点 —— ATSS


开始之前学习一个单词热热身:

dissect 英[dɪˈsekt]
v. 解剖(人或动植物); 仔细研究; 详细评论; 剖析; 把…分成小块;
[例句]Her latest novel was dissected by the critics.
评论家对她最近出版的一部小说作了详细剖析。


0 写在前面

      Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection.

作者的这篇论文是用于解决什么样的问题呢?

  1. 解释了Anchor-Based 方法和 Anchor-Free 方法最关键的差异是在训练阶段定义正负样本的方式;
  2. 提出ATSS(Adaptive Training Sample Selection),可以根据物体的尺寸特征来定义正负样本;
  3. 通过实验证明了一个位置预设多个anchors是不work的;

1 Introduction

     首先作者发现,在anchor-based 方法和 anchor-Free方法的三点区别中,正负样本的定义是导致网络表现结果不同的关键:
      " If they select the same positive and negative samples during training, there is no obvious gap in the final performance, no matter regressing from a box or a point."

     之后作者以RetinaNet为代表的 anchor-based 方法与以 FCOS 为代表的 anchor-Free方法讨论两者的最关键的差异所在。

      " These are only two differences between the anchor-based RetinaNet (#A=1) and the anchor-free FCOS. One is about the classification sub-task in detection, i.e., the way to define positive and negative samples. Another one is about the regression sub-task, i.e., the regression starting from an anchor box or an anchor point."

     两个最关键的差异是:

  • 分类子任务中,定义正负样本的方式不同;
  • 边界框回归任务中,是基于一个anchor回归还是基于一个点回归;

     接下来首先讨论 anchor-based 方法和 anchor-Free方法定义正负样本的差异,其次证明在边界框回归任务中无论是anchor回归还是点回归影响不大,最后总结如何进行ATSS计算。


2 Essential Difference

     RetinaNetFCOS 分别采取了两种不同的策略去产生不同的正负样本。

在这里插入图片描述
     对于RetinaNet,使用IoU阈值来区分正负anchor bbox,在所有的尺度当中(FPN)选择anchor与真实框的IoU大于设定阈值的为正样本,IoU小于设定阈值(往往比正样本的设定阈值小)的为负样本,中间部分的anchor不参与训练过程。

     对于 FCOS ,FCOS使用空间限制和尺寸限制来区分正负anchor point。还记得FCOS中采用multi-level FPN prediction,来避免同一anchor点落入两个真实物体的公共区域以至于不知道该将其划分为是哪个类别的情况。

     FCOS使用了{P3, P4, P5, P6, P7}这五个尺度的特征图进行预测。为了能够更好的利用这种多尺度特征,在每一个尺度的特征层上都限定了边界框回归的范围,不让其野蛮生长。更具体地说,首先计算所有不同尺度的特征图上每个位置的回归目标:

  • 计算当前层级中的回归目标:l*、t*、r*、b*。
  • 判断max(l, t, r, b) > mi 或者 max(l, t, r, b) < mi -1是否满足。
  • 若满足,则不对此边界框进行回归预测。
  • mi是作为当前尺度特征层的最大回归距离。

     其中五个预测层的mi值设置为[32, 64,128, 256, 512]
     所以对于 FCOS 中的正样本定义,首先必须在GT box内,其次需要是GT尺寸对应的层,其余均为负样本。

对于RetinaNetFCOS 两种方法的边界框坐标回顾回归差异,就很明显了:
     对于RetinaNet,预测anchor中心点与真实框中心点的偏差以及长宽偏差;
     对于 FCOS ,预测正样本点到真实框的上下左右距离。

在这里插入图片描述
     作者通过实验发现,对于两种方法的差异,正负样本定义问题才是导致模型结果不同的关键所在,而在边界框回归任务中无论是anchor回归还是点回归对结果的影响不大。
在这里插入图片描述

      " we indicate that the essential difference between one-stage anchor-based detectors and center-based anchorfree detectors is actually how to define positive and negative training samples, which is important for current object detection and deserves further study."

3 ATSS

     作者提出一个更好定义训练过程中的正负样本的方法,来实现无痛涨点;ATSS可以根据数据特性来定义正负样本,具体是怎么做的呢?

  1. 在每一层多尺度预测层上,一共仅仅设置K个anchor,并且这K个anchor的中心与真实框的中心点的欧氏距离是最小的K个距离;那么如果有L层尺度预测的话,一共产生L×K个anchor;
  2. 其次计算这些anchor与gt box之间的 IoU;
  3. 计算以上所有IoU的均值mg以及标准差vg
  4. 对与训练过程中的判定正负样本的IoU阈值,按照tg = mg + vg来计算;
  5. 对于步骤1中产生的L×K个anchor,如果其IoU大于tg,则标记为正样本,否则标记为负样本。

     总结一下首先是极大的减少了anchor的数量(YOLO中每个网格都会产生9个anchor),这里假定在每个网格中仅设置1个anchor,最后会提到,结合ATSS,每个网格中 anchor 的数量不会对网络表现产生影响;其次是根据真实框的特征来给定自适应IoU阈值,使其更加适应与不同的数据集;最后极大的减少了正负样本间的不平衡,有利于模型的收敛。

在这里插入图片描述


4 数据对比

      由于这篇论文是按照RetinaNetFCOS 之间的对比来展开的,所以我这里贴两个论文中的对比数据以证明ATSS方法的有效性以及一些参数设置的无关性。

4.1 ATSS方法的有效性

在这里插入图片描述
     上面表格为RetinaNetFCOS 用/不用ATSS的AP值,显然ATSS仅仅通过改变定义训练过程中正负样本的方式,AP实现了2个点左右的提升;

4.2 超参数设置的无关性

  1. 在ATSS算法过程中,每个尺度预测层选择K个anchor的参数K是影响不大的。下图表示K在7-17之间均是OK的;
    在这里插入图片描述
  2. 在ATSS算法过程中,对于每个网格中anchor的个数,即anchor的超参数(size、aspect ratio)是影响不大的。下图显示了在每个位置设置1种大小的anchor和设置9种大小的anchor,其AP结果是相似的。

在这里插入图片描述


5 最后的最后

     这篇论文中最大的贡献是,重新考虑了训练过程中对于正负样本的定义方式。

      " we delve into the most basic issue in object detection: how to define positive and negative training samples, and propose an Adaptive Training Sample Selection (ATSS). "

会想起【目标检测】Anchor Free —— OneNet(不需要NMS)中同样是针对于改变定义训练过程中正负样本的问题,其定义的方式是计算每个网格对应的minimum cost,还记得计算公式为:
在这里插入图片描述
     通过计算出来的cost值的大小来判定正负样本的,最小的cost值对应的网格点即为正样本,其余均为负样本(基于FOCS,不涉及anchor的超参数)。OneNet的最大特点是在Anchor-Free方法基础上,针对一个真实框仅仅选择一个正样本,以至于消除了NMS后处理;而ATSS的最大特点是在Anchor-Based方法基础上,使得判定anchor是否为正样本的IoU阈值变成自适应阈值,实现了无痛涨点。


欢迎关注【OAOA

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值