anchor free 目标检测_ATSS:缩小目标检测Anchor-free和Anchor-based方法的差异

32ababf80342680830a88418e7ab44a3.png

《Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection》论文解读

本文收录于CVPR2020。

论文链接:https://arxiv.org/abs/1912.02424

源码链接:https://github.com/sfzhang15/ATSS

本文贡献:

1. 指出anchor-based和anchor-free方法的主要区别在于正负样本的选取方式。

2. 提出一种基于统计的Adaptive Training Sample Selection(ATSS)方法,来自动的选取正负样本。

3. 讨论了每个location是否有必要设置多个anchor。


Difference Analysis of Anchor-based and Anchor-free Detection

这里主要在分析anchor-based 和 anchor-free检测方法的区别。本文使用anchor-based来表示anchor-based方法,使用FCOS来表示anchor-free方法。

首先给出了RetinanNet和FCOS的比较,并将RetinaNet与FCOS的策略统一,如下表所示。

44f89333bd2a207800924ad10b444ea6.png

其中RetinaNet(#A=1)表示每个location仅设置一个anchor(为了和FCOS保持一致)。发现尽管设置了一样的策略,两者仍有0.8%的差距,那么差距有何而来?

本文分析了两点可能的原因:(1)分类,即如何选取正负样本; (2)回归,即对anchor回归还是对一个中心点回归。

分类:两者分类的区别如下图所示。

f02629e828112cb026fceb2ac754a962.png

在RetinaNet中,正样本是指anchor与gt的IOU大于一定阈值,负样本是指IOU小于一定阈值;而在FCOS中,首先将在gt内的中心点定义为候选正样本,然后根据FPN不同层设置的scale阈值从这些候选样本中选出最终的正样本。

回归:两者回归目标的区别如下图所示。

44b4f846b08820c2e7369974aef2128c.png

其中RetinaNet的回归目标是4个值,包括anchor中心点的偏移和长宽的伸缩;而FCOS的回归值则是中心点与上下左右边界的距离。

在了解两者的分类和回归的区别之后,我们来看下表。

c886d9ed030e8d317d17187cfae94f80.png

其中纵向表示正负样本选取方式的比较,横向表示回归目标的比较。可以很明显的发现,两者结果的差距主要来自于分类的差距。

Adaptive Training Sample Selection

由于上一部分分析了对于目标检测来说,如何选取正负样本将会极大的影响最后的检测效果。因此本文提出了一种新的正负样本选取方式,这种方法几乎不会引入额外的超参数并且更加鲁棒。

具体算法流程如下所示。

e368e0cffadd9bb9841b5b9b962e051b.png

很容易理解,主要就是在每个FPN层选取离gt框中心点最近的

个anchor,之后对所有选取的anchor与gt计算IOU,同时计算IOU均值
和方差
,最后保留IOU大于
均值加方差(
的并且 中心点在gt之内的anchor作为正样本。

这种划分方法有以下几个意义:

1. 自动调整正负样本选取方式。比如当出现高方差的时候,往往意味着有一个FPN层出现了较高的IOU,说明该层非常适合这个物体的预测,因此最终的正样本都出自该层;而出现低方差的时候,说明有多个FPN层适合预测这个物体,因此会在多个层选取正样本。如下图Figure3的分布情况。

3a8873d39a4eb5c32b6635edb6f1555d.png

2. 限制anchor的中心点在gt之内。因为中心点在gt之外的anchor往往属于poor candidates。

3. 基于统计的方法来划分正负样本。使得每个物体都有相对固定数量的正样本,大致为

个,而之前的方法会使得大物体具有更多的正样本。

4. 几乎无超参数。唯一的超参数就是

,并且后续试验证明了,网络的效果对
的取值并不敏感。

根据下表可以发现,anchor-based和anchor-free的方法加上ATSS策略之后,效果都有明显的提升,这也证明了ATSS策略的有效性。

f108b1d9b4a2f64a71be86468d885744.png

作者还做了一个实验,来验证

的选取对结果的影响。

96add5a72b8a09b23cfdd30086a33ec5.png

根据实验结果,

在取[7-17]的时候,网络的效果几乎没有什么变化。除了在
取到特别小(
)以及特别大(
)的时候,效果会有下降。作者解释原因是说,
在取较大值的时候会引入太多的低质量anchor,所以效果会有轻微的下降;而
在取较小值的时候,正样本candidate anchor数量太少,会有统计不稳定(statistical instability)的现象,因此效果会产生较大的下降。

最后作者还研究了在ATSS策略下,设置不同的anchor scale和ratio对结果的影响。

b7bb3aeafd77a6168e74c36c5da7c57b.png

可以明显发现,结果都很稳定,这也说明了ATSS策略的鲁棒性。

Comparison

由于之前讨论的情况全是在一个location设置单个anchor,因此这部分的主要目的是比较在一个location设置多个anchor的结果。

02aaecc345372ba31269da45b4b6f43d.png

发现在引入ATSS策略后,设置anchor数量与结果没有明显的关系。

总结:

1. 本文讨论了anchor-based和anchor-free方法差异的本质原因。

2. 在不引入额外cost的情况下,设计了一种新的正负样本选取方式ATSS,该策略几乎没有超参数,同时具有较强的鲁棒性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Anchor-basedAnchor-free是两种不同的目标检测方法Anchor-based方法使用预定义的anchor框来匹配真实的目标框,通过回归和分类来检测目标。这种方法包括Faster R-CNN、RetinaNet和YOLO等。而Anchor-free方法则不使用预定义的anchor框,而是通过回归目标的中心点和宽高来检测目标。这种方法包括FCOS、ATSS和CornerNet等。Anchor-free方法相比于Anchor-based方法更简单和灵活,但可能存在召回率或定位精度低的问题。Anchor-free方法的优点是不需要预设anchor,只需要对不同尺度的特征图的目标中心点和宽高进行回归,减少了耗时和算力,并且可以避免一些由于anchor设置不合理导致的漏检或重复检测问题。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Anchor based and Anchor free(无锚VS有锚)【总结】](https://blog.csdn.net/qq_44029998/article/details/129561783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Anchor Base 和 Anchor Free](https://blog.csdn.net/Lc_001/article/details/129436513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值