【论文阅读】【二维目标检测】Label Assignment四连击

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

2020 CVPR

我在另外一篇博客中介绍过了,这里就简述一下。

每一个scale的特征图给一个固定尺寸的anchor。对一个gt:1)在每个特征图中找k个中心点距离最近的anchor,并计算IoU;2)对于所有scale的特征图拿到的anchor和它们的IoU,计算IoU的mean和std,IoU在mean+std以上的anchor设置为正。

ATSS起到了根据center来确定anchor的cancidate,然后根据IoU自适应的划分正负样本。其中少了很多超参数,但划分正负样本的过程,仍然是以anchor于gt的关系。

以下三篇文章,更进一步,不再使用anchor与gt的关系,而是使用prediction与gt的关系。这就更少的引入anchor的先验,让网络能够更好的学习真正的正样本。

Probabilistic Anchor Assignment with IoU Prediction for Object Detection

2020 ECCV

这里贴一个知乎链接,讲的比较详细。

我认为,这篇文章是把训练和推理过程统一起来了。原本的检测器,在训练过程中,优化的是分类的交叉熵和box的回归loss,但在推理的时候只使用分类分数来筛选最终结果。

PAA提出了一个分类和回归的综合分数,其实相当于就是把分类和回归的loss加起来取负数。那这样,训练过程中是尽可能的降低正样本loss,在推理过程中是使用-loss来选择正样本,这样看起来就很统一。

这里就简述一下PAA对正负样本的筛选过程:
在这里插入图片描述
对于一个gt,做以下的操作:
1、Line 7:在所有scale的feature map上,取出所有的匹配最好的真值为该gt的anchor和它们的score。
2、Line 8-10:对于每个scale上的feature map上的anchor,按照score选取k个最大的,并且保留一定阈值以上的。
3、Line 12-14:用保留下来的拟合GMM,并用GMM对所有在Line10选出来的anchor预测是否是positive。

与ATSS的联系和区别:
联系:都是在每个scale上选取一定数量的anchor,然后按照统计信息来对所有anchor进行划分。
区别:ATSS是正态分布,PAA是高斯模型;ATSS是用center和IoU作为筛选条件,PAA是用综合分数。

也就是说,PAA用的是prediction,ATSS用的是anchor

另外,PAA还提出了预测IoU和score voting,这两个也不算什么创新。

AutoAssign: Differentiable Label Assignment for Dense Object Detection

旷视,2020

Autoassign这篇文章想法很新颖,做到了label也加入了端到端训练的过程。这里贴一个知乎文章,讲的非常详细。

相比于以往的每个anchor只能有positive或者negative的一种状态。本文提出,对于一个gt内部的anchor,同时赋予positive和negative的两种状态,只不过这两种状态的权重是根据由这个anchor做的的prediction的质量决定的。如果这个anchor的prediction质量好,则这个anchor作为positive的权重就大。

那么如何给出anchor的positive的权重呢,一个是根据先验的信息,就是离gt中心越近,越有可能是positive。另一个是根据box的回归loss。

negative的权重就由1-IoU来给出。

gt之外的anchor,都为negative。

知乎文章中说w+可能要被detach,但如果detach,其中有关center的参数如何训练。

OTA: Optimal Transport Assignment for Object Detection

2021 CVPR,旷视
论文地址:https://arxiv.org/abs/2103.14259

先贴个知乎链接,讲的比较详细。

使用优化的方式,来解决label的对应问题。对于一个gt,到底要分配个哪个anchor,将这个问题构建为优化问题。

对于一个gt,看作为是一个positive供应者,每个anchor作为一个接收者。对于每个gt,能供应k个positive。

对所有anchor和所有gt两两配对,可以计算一个cost,这个cost就由分类和回归的loss给出。

背景这一个类,作为negative的供应者,背景给到每个anchor的cost由prediction的分类为背景类的loss给出。

注意,背景类给出的negative的数量+所有gt给出的positive的数量要与anchor的数量相等,这样每个anchor就有一个标签了。

此时,有了anchor与(所有gt+背景)的两两配对的cost,就可以求解一个cost最小的最有配对结果。但这个求解最优解比较耗时,可以采用SinkhornIter这种近似方法。总之能拿到配对结果,配对结果就是anchor到底是positive还是negative的分配结果了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值