ATSS 算法——揭秘anchor-free和anchor-based算法差异_AI之路-CSDN博客_atss算法论文:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection论文链接:https://arxiv.org/abs/1912.02424代码链接:https://github.com/sfzhang15/ATSS2018年发表的CornerNet...https://blog.csdn.net/u014380165/article/details/103795048轻松掌握 MMDetection 中常用算法(四):ATSS - 知乎文@ 0000070 摘要在 轻松掌握 MMDetection 中常用算法(三):FCOS 一文中详细说明了主流的 anchor-free 算法 FCOS,文章最后也提到了其存在两个需要结合数据集定制的超参,特别是 regress_range,而 ATSS 算法基…https://zhuanlan.zhihu.com/p/358125611mmdetection最小复刻版(七):anchor-base和anchor-free差异分析 - 知乎0 摘要论文题目: Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection 论文地址: https://arxiv.org/abs/1912.02424ATSS简单来说就是 (1) 对于anchor-fre…https://zhuanlan.zhihu.com/p/272471302

如何评价zhangshifeng最新的讨论anchor based/ free的论文? - 知乎论文: Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample…https://www.zhihu.com/question/359595879       本文更加直接的点出了正负样本的定义就是anchor-based和anchor-free方法的关键,作者基于此提出了atss,adaptive training sample selection,既可以应用在anchor-based的方法上,也可以应用在anchor-free的方法上,atss有两个超参k和anchor size,作者通过实验论证这两个超参是相当鲁棒的,比anchor的设置,IOU阈值的设置,中心采样范围的设置,以及fpn范围的设置要方便的多。atss的核心在计算离gt中心点近的k个anchor(l2距离)的IOU的均值和标准差,然后相加,用这个价值来筛选anchor,IOU的均值表示anchor的质量,标准差表明哪一层fpn的特征图适合预测gt。整体的框架是承接fcos和retinanet的。

1.Introduction

一阶段和二阶段的anchor-based算法,两者都是现在图像上平铺大量预设的anchor,然后对这些anchor进行分类和回归,最后输出这些细化后的anchor作为输出。

当前的目标检测算法由anchor-based和anchor-free组成,前者可以分为一阶段和二阶段算法,后者可以分为keypoint-based和center-based方法。在这anchor-free的方法中,keypoint-based是和标准的关键点检测的pipline是一致的,和anchor-based的检测pipline差距较大,center-based检测器和anchor-based的检测思路是相似的,它将点视为预设样本从而代替anchor。以retinanet和fcos为例说明两者之间的三个区别:1.每个位置平铺的anchor数量,retinanet在每个位置平铺多个anchor,而fcos在每个位置只有一个点。2.正负样本的定义。retinanet用IOU阈值计算正负样本,fcos利用空间和尺度约束(spatial and scale constraint)选择样本。3.回归起始状态。retinanet从预定义anchor回归检测框,fcos从点定位对象。总体来说,fcos要比retinanet的效果好。

从实验结果中可知,这两种方法的本质区别在于正负训练样本的定义导致了两者之间的差距。同时还有一个结论,在图像的每个位置上平铺多个anchor是没有必要的。

2.different analysis of anchor-based and anchor-free detection

我们关注retinanet和fcos的两个差异,正负样本定义和回归起始状态。

2.1 inconsistency removel

原始的fcos和retinanet在coco上的AP为37.1%:32.5%,fcos还进行了一些改进,比如将centerness分支移动到回归支路,使用giou,使用相应的步长对回归支路norm(在mmdet中norm on bbox),把fcos从37.1%提升到37.8%,在retinanet(A=1),指的是每个位置只有一个方形anchor的retinanet,也使用这些trick,添加GN,使用giou,限制gt box中的正样本,引入centerness和在每个fpn上引入可训练的s,如下所示,可将retinanet提升到37.8%,还有0.8%的差距。

2.2 essential difference

在这些通过改进之后,retinanet(A=1)和fcos之间只有两个区别,一个是关于检测子任务的,定义正负样本的方式,一个是关于回归子任务的,从anchor box回归还是从anchor point回归。

classification.如上图所示,左边是retinanet,右边是fcos,retinanet通过IOU阈值将不同级别的anchor划分为正负样本,IOU>p的是正样本,IOU<p是负样本,忽略其他anchor。fcos使用空间和尺度约束来划分来自不同层级的点,它先将中心采样内的点视为正样本,然后根据max(l,t,r,b)在不同的fpn层级范围中确定正负样本,从右图中上面那个p1最终不在范围就全是负样本,p2为正样本,这里要说明一点,p1,p2都是fpn层级的特征,不是输入的图像,正常是stride=8,16,32,64,128的图,因此映射回原图肯定不是点,而是具有一定区域的感受野,在上图中明显p2的感受野比p1的要大。从上图也可以看出fcos最终选的正样本要比retinanet多。

regression.确定正负样本之后,从上图中retinanet从anchor回归样本,fcos从点回归样本,retinanet用l1 loss回归,fcos用iou loss回归,east中也是iou loss.

上表中,横着看,也就是采用相同的正负样本确定形式,不同的回归方式,两者的AP是差不多一致的,但是竖着看,采用相同的回归方式,但是不同的正负样本定义形式,fcos的样本定义形式始终比IOU阈值定义要高,因此可以确定的是单阶段的anchor-based和center-based的本质区别是如何定义正负训练样本。

3.adaptive training sample selection

3.1 description

在anchor-based中的IOU阈值和anchor-free中的尺度范围(fcos)是样本选择策略中很敏感的超参,为此提出了几乎没有超参数根据对象的统计特征自动划分正负样本的atss算法。简单描述一下这个算法,假设当前图片中,一共有2个gt bbox,一共5个fpn输出层,每层都是100个anchor。

1.遍历每个gt bbox,和500个anchor都计算IOU和中心点坐标的l2距离。

2.遍历5个fpn输出层,对于每个gt bbox,都选择topk(9)个l2距离最小的anchor,则每个gt bbox都选出了9*5个候选anchor。

3.遍历每个gt bbox,将挑选出来的45个anchor所对应的IOU计算均值和标准差,然后相加,此时2个gt bbox都可以得到各自的全局预测正负样本阈值。

4.最后遍历每个gt bbox,在候选框中将IOU值低于阈值的anchor设置为负样本,其余设置为正样本。

关于这个方法的motivation如下,对于retinanet,anchor的中心越靠近物体的中心,iou越大,对于fcos,离对象中心越近的点将产生更高质量的检测,因此里对象中心越近的点是更好的候选者。什么意思呢?上面这个atss核心就是根据l2拿到每层离gt最近的9个anchor,然后把anchor的iou均值和标准差加载一起当阈值。那为什么这个iou的均值和标准的和就可以当阈值呢?

iou的均值为mg,iou的标准差为vg,一个对象的iou均值mg是对这个对象的预设anchor的质量的衡量,mg越大就表明它具有高质量的候选anchor,因此mg是iou的均值,mg说明iou值大,iou值则是非常好的正样本anchor,如图a,mg=0.312,图中level3是很高质量的anchor,图b中的mg=0.122,很明显从level1-5的anchor质量都不高,柱状图上面的标示是iou的值。此外,对象的vg是衡量哪些层是和检测该对象,标准差是衡量两级分化的指标,如果level1-5中有IOU阈值特别高的层级,那么标准差也会高,和均值之和则恰好把这个level给筛选出来,从图a中,vg=0.3,则mg+vg=0.612,则level是非常适合做该对象检测的anchor正样本的,图b中,vg=0.097很低,mg+vg=0.219,虽然anchor质量不行,但是由于比较稳定,可以筛选出不错的正样本。使用均值mg和标准vg从适当的fpn层级中为每个对象自适应的选择足够多的正样本,这样的选法还是很有道理的。

根据理论,大约16%的样本处于置信区间[mg+vg,1],尽管候选iou不是标准正态分布,但统计结果表明每个对象至少有0.2kl个正样本,k是topk,atss中超参,l是fpn的层级数,0.2*9*5=9,起码有9个。

3.2 analysis

atss对k和anchor size都是不敏感的,因为atss是需要anchor的,因此在retinanet版本中atss对anchor的设置就包括了scale和aspect ratio,一般ratios就设为1,scales也为1,但是在每个fpn的特征图上要对所有的anchor做8s的扩大,stride是总的步长,即8,16,32,64,128.

3.3 results

整体来说, atss的核心还是在自动为正负样本筛选阈值上,几乎不需要超参数,atss既可以用在retinanet上,也可以用在fcos上,mmdet是继承的retinanet版本的,需要一个1x1x8的anchor,先用l2计算距离最近的在每层上的9个anchor,再把5层的9个anchor拿出来计算均值标准差,再求和做阈值,确实合理,均值能表征anchor的质量,标准差能表征哪几层适合做正样本,这样的话就代替了fcos中的中心采样之后,计算max的落在哪个fpn层范围上来计算正负样本了,l2距离和iou都是正样本的强相关条件,这两个都好,正样本的质量完全有保证,文章还是很有意义的,鲜明的支出anchor-based和anchor-free的差异就在如何定义正负样本上。

bridging the gap between anchor-based and anchor-free detection via adaptive training sample select相关推荐

  1. Anchor Based和Anchor Free的相爱相杀与ATSS的诞生

    前言 我们都知道按照是否出现RPN可将目标检测算法分为two-stage和one-stage,其中one-stage的一个主要代表便是YOLO系列,而根据是否存在先验锚框的定义我们也可以将其分为Anc ...

  2. Anchor Based和Anchor Free

    Anchor Based和Anchor Free之间区别主要有以下两点:1.分类差异(关键正负样本定义)2.回归差异 1.分类差异: 现阶段的算法多尺度预测,即GT是由哪一个特征层和位置Anchor预 ...

  3. 【AI面试】Anchor based 、 Anchor free 和 no anchor 的辨析

    深度学习的目标检测算法,通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整(回归)区域边界,从而更准确地预测目标的真实边界框(ground-truth boundin ...

  4. 【翻译】Bridging the Gap Between Anchor-based and Anchor-free Detection

    [翻译与个人理解]Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sampl ...

  5. Bridging the Gap Between Anchor-based and Anchor-free Detection

    张士峰大佬近期发了一篇论文解读Anchor-base和Anchor-free方法间的差别,其本质在于正负样本的选取方式不同. 论文:<Bridging the Gap Between Ancho ...

  6. 转载系列【检测】| CVPR2020:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Trai

    目标检测论文阅读:Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sampl ...

  7. 【目标检测】ATSS: bridging the gap between anchor-based and anchor-free detection via ATSS (cvpr20)

    文章目录 一.背景和动机 二.方法 三.效果 一.背景和动机 目标检测在很长一段时间内都是被 anchor-based 的方法统治,后来出现了一些基于 FPN 和 Focal loss 的 ancho ...

  8. 论文阅读【检测】CVPR2020 | Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Trai

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract 一.Introduction 二.Difference Analysis of Anchor-based ...

  9. [目标检测]--CVPR2020-ATSS:Bridging the Gap Between Anchor-based and Anchor-free Detection

    论文详细解释了anchor-free与anchor-based的本质区别,此外,使用ATSS去尝试解决label assignment的问题 摘要: 近年来,anchor-based检测器一直主导着目 ...

  10. GHM(anchor based)

    https://blog.csdn.net/qq_21949357/article/details/102699367 目标检测论文阅读:GHM(anchor based) 论文链接:https:// ...

最新文章

  1. Selenium Firefox启动提示导入收藏夹
  2. 修改显卡型号软件_马甲显卡又双叕来了 怎么选知道吗?
  3. Android 显示 WebView ,加载URL 时,向webview的 header 里面传递参数
  4. mysql 5.6.10 32_安装mysql-5.6.10-win32 解压版-略有修改
  5. python换行不执行_PYTHON无法换行问题,求指点
  6. 使用 PowerShell 自动登录 Azure
  7. mysql自动去重_关于mysql自联去重的一些记录
  8. datetime对应的jdbc mysql_Java连接MySQL数据库
  9. windows下Docker的下载与安装
  10. 浪涌特性及保护电路Surgc Stop
  11. 用户调研---问卷调查
  12. 【AOP】面向切面谈恋爱(二)| 学废了AOP,他最终失去了爱情
  13. 信息系统项目管理师考试经验和心得
  14. qcc512x_qcc302x笔记之环境搭建(一)
  15. Specular mode: Specular parameter 高光模式:高光参数 Standard Shader系列7
  16. 周浩正:写给编辑人的信 编务报告书 一个实例
  17. git ssh配置文件 服务器_Linux 环境 搭建Git 服务器,并且修改SSH端口使用
  18. OPPOR9Plus系列通刷刷机包精简包_OPPOR9Plus线刷包救砖包_OPPOR9Plus纯净刷机包_OPPOR9Plus刷机教程下载
  19. 水货三星Android手机验机方法
  20. 51汇编——LCD1602显示

热门文章

  1. linux复制文件的命令是什么?
  2. 个人信息安全规范新规正式启用,值得你关注!
  3. 无法使用XXXX附加到应用程序解决办法
  4. nessus下载后更新插件问题新的解决方法2020
  5. RJ45-网口变压器及网口变压器-cpu之间的一些抗干扰防雷设计
  6. php 判断浏览器和设备
  7. chrome安装crxMouse鼠标右键手势插件后导致需要双击两次才能打开右键菜单
  8. 小程序tabBar无效
  9. typecho图片插件_Ideal ——接近Typecho完美的插件
  10. 双目相机:基于双目视觉的目标测距