【深度学习】【CVPR2020 Oral】ATSS

【CVPR2020】Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

摘要

anchor-free的目标检测方法受利于FPNFocal loss,作者认为基于anchor的方法和anchor-free的方法本质的不同是对于正负样本的定义。如果两类方法定义正负样本的方法相同,那么最终性能无论是从box回归还是从一个point回归并没有明显差距。本文出发点就是如何去选择正负样本。

RetinaNet和FCOS的区别:

  • anchor的个数。RetinaNet一个点有若干个anchor boxes,FCOS一个点就是一个anchor point
  • 正负样本的定义。RetinaNet根据IoU来定义正负样本,FCOS根据空间和尺度的限制。
  • 回归方式不同。

文章还有一个重要结论——不需要在图像上的每个位置平铺多个锚点来检测物体

Difference Analysis

在该部分作者主要剖析了后两个区别——正负样本定义和回归方式。

实验设置

  • 数据集:也就是coco2014数据集中,包括train里面8万和val里面的trainval35k用来训练,minival5k用来验证。
  • backbone:resnet50+FPN
  • 输入图像:短边800,长边小于等于1330
  • inference:score_thr=0.05;每一层留下1000个预测框;nms_IoU_thresh=0.6;top 100

去除不一致

在这里插入图片描述
在这里插入图片描述
(图片来源于论文FCOS)可以看出来当A=1(也就是每个位置只有一个方形锚框)时,和FCOS精度差别挺大37.1vs32.5。FCOS里面还有许多其他细节(centerness +0.3; center sampling +0.7; GIOU +0.2; normalize +0.3),这些细节可以同样用到anchor-based的方法里面,所以这样比较是不公平的,公平的比较如下图所示(没有center sampling),此时精度还差了0.8:

在这里插入图片描述

本质区别 —— 如何定义正负样本

  • 正负样本
    在这里插入图片描述
    上图是选取方式的不同。如果将RetinaNet里面anchor变成point,精度提高了0.8!

  • 回归

在这里插入图片描述
第一列是RetinaNet的精度变化,第二列是FCOS的精度变化,从上图精度变化说明回归方式的不同并不算大的影响。

ATSS

在训练时需要先定义正样本和负样本进行分类,然后使用正样本进行回归。

存在问题:之前的样本分类方法都有一些参数比如IoU阈值scale ranges

方法

  1. 对于图片的每个gt找到其候选正样本(对于每一层都选出k个中心距离gt近的anchor box),k也算参数,但后面作者证明没有关系。
  2. 计算这些anchor box和gt的IoU
  3. 计算IoU值的均值和标准差,两值相加得到阈值
  4. 将IoU大于等于阈值,中心点在gt内的作为正样本,若一个样本属于多个gt,则选IoU最大的。
  5. 所有anchor box(不是候选)剩下的都是负样本

在这里插入图片描述
对于两种情况,均值代表锚点是否适合该对象,标准差代表那一层适合这个gt。

实验

在这里插入图片描述

在这里插入图片描述
结果图片太长放不下。。。详见论文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值