ATSS与SASM

ATSS与SASM

动态设置IOU阈值以划分正负样本。

ATSS

论文题目 :Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

论文地址https://arxiv.org/pdf/1912.02424.pdf

论文出处 :2020’CVPR

代码实现 : https://github.com/sfzhang15/ATSS

Idea

  • 指出anchor-free和一阶段anchor-based方法的根本差异主要来源于正负样本的选择
  • 提出ATSS( Adaptive Training Sample Selection)方法来根据对象的统计特征自动选择正负样本

Detail

RetinaNet与FCOS

RetinaNet 网络结构是目前主流的一阶段anchor-based目标检测网络结构,我在之前的组会中有介绍过。

FCOS沿用了主流网络结构 RetinaNet,使其具备公平对比的特性,在几乎没有修改情况下,性能可以超越 RetinaNet

区别:

(1)每个位置平铺的anchor数目不同。 RetinaNet每个位置会平铺几个anchor box而FCOS每个位置只会设定一个anchor point(anchor free 却 center-based)。

(2)正负样本的定义方式不同。 RetinaNet根据IOU来选择正负样本,FCOS则利用空间和尺度约束来选择样本。

(3) 回归的起始状态不同。 RetinaNet从预定义的anchor处回归边界框,而FCOS则从预定义的point上定位目标。

(4) Trick。FCOS论文中提出了一些通用trick,可以有效提升性能。

作者首先对两大主流算法进行深入公平对比分析,希望能找到性能差异的根本原因:

因为 FCOS 算法性能优于 RetinaNet,并且其额外引入了许多 trick,为了公平对比,将 FCOS 所提 trick 也迁移到 RetinaNet 中,并且设置 RetinaNet 的 anchor 个数为 1,结果如上所示。可以看出即使所有 trick 都加上 RetinaNet 依然差了 0.8 mAP。

排除上述因素后,两个算法的区别是:

  • 分类分支上,正负样本的定义方式不同

  • 回归分支上,回归的起始状态不同

Essential Difference

Classification

RetinaNet使用IoU阈值(θp{\theta_p},θg{\theta_g})来区分正负anchor bbox,处于中间的全部忽略。

FCOS使用空间尺寸和尺寸限制来区分正负anchor point,正样本首先必须在GT box内,其次需要是GT尺寸对应的层,其余均为负样本。

Regression

RetinaNet预测4个偏移值对anchor box进行调整输出,而FCOS则预测4个相对于anchor point值对anchor box进行调整输出

对上述差异进行交叉实验做对比:

发现相同的正负样本定义下的RetinaNet和FCOS性能几乎一样,不同的定义方法性能差异较大,而回归初始状态对性能影响不大。所以,基本可以确定正负样本的确定方法是影响性能的重要一环。

ATSS(Adaptive Training Sample Selection)

论文提出ATSS方法,该方法根据目标的相关统计特征,计算自适应阈值进行正负样本的选择。

论文提出ATSS方法,该方法根据目标的相关统计特征自动进行正负样本的选择,具体逻辑如算法1所示。对于每个GT box g,首先在每个特征层找到中心点最近的k个候选anchor boxes(非预测结果),计算候选box与GT间的IoU Dg,计算IoU的均值mg和标准差vg,得到IoU阈值tg=mg+vg,最后选择阈值大于tg的box作为最后的输出。如果anchor box对应多个GT,则选择IoU最大的GT。

Result

应用在RetinaNet与FCOS上的实验结果(COCO数据集):

SASM

论文题目 :Shape-Adaptive Selection and Measurement for Oriented Object Detection

论文地址https://www.aaai.org/AAAI22Papers/AAAI-2171.HouL.pdf?ref=https://githubhelp.com

论文出处 :2022’AAAI

代码实现 : https://github.com/houliping/SASM

Idea

提出了一种新的动态选择(SA-S)策略和动态评估(SA-M)策略,选择正负样本

Detail

SA-S

SA-S的做法很容易理解,效仿ATSS,根据物体的形状动态调整每个object的IoU阈值

根据物体长宽比设计了一个关于阈值的递减函数f(γi){ f(γi) },长宽比越大,IoU越小。

论文中的公式 μ 就是计算出的均值, σ 就是计算出来的标准差。

γi{γi} 是目标的纵横比,长边比短边。

w{w}是一个超参数(w{w} 越大,函数曲线越平滑,就更能表示纵横比更大的目标)

SA-M

一般来说,做完动态选择(SA-M)策略之后,所有的正样本都会一视同仁。但作者认为,正样本之间也有质量上的区别的。以anchor-free的样本为例(即点),假如这5个点都被分配为了正样本点,但是位于位于物体中心的点比物体中心的点更能代表物体的特性。因此我们根据点相对于物体的距离对于选中的正样本点做了质量上的区分。对于anchor-based方法,点用anchor的中心点代表。

第j个样本点与第i个目标中心点的距离计算:

这样综合了点相对物体中心和边界的距离,离中心越近,边界越远,代表质量越好

正样本点的质量计算为:

Qij=eΔdij{Q_{ij}=e^{-\Delta d_{ij}}}

该质量权重后续运用在计算Loss函数中:

Result

作者基于RepPoint(anchor-free)和S2A-Net(anchor-based)模型在HRSC2016上进行了实验,效果显著。