https://arxiv.org/abs/1903.00621
no code
anchor在带来性能提升的同时,其自身的局限性也阻碍了模型继续优化创新,它的局限性体现在:
1.预设的anchor size是一柄双刃剑,anchor尺寸不是自由的,任意的,被束缚住尺寸的anchor有助于后续的统一,但是对于形状比较特殊的目标往往无能为力。
2.anchor的数量是十分密集的,即使我们用nms或者soft-nms去重,但是负样本的数量依然非常非常多,与正样本比例严重失衡,所以诸如RetinaNet等网络的工作都是想办法去采取合适的比例参数平衡这个差异。
3.Anchor数量巨多,需要每一个都进行IOU计算,耗费巨大的算力,降低了效率,步骤十分繁琐,而这些冗余其实是可以消灭的。
于是,很多anchor-free的方法被提起,FSAF就是其中一种。anchor-based检测方法的本质是将所有待检测的目标离散化,为每一个目标找到最适合的anchor,让这个anchor负责检测。那么在这个过程中,会有几个比较棘手的问题:
anchor-based检测方法的本质是将所有待检测的目标离散化,为每一个目标找到最适合的anchor,让这个anchor负责检测。那么在这个过程中,会有几个比较棘手的问题:
(1)heuristic-guided feature selection:主流的目标检测方法都会考虑多尺度检测。以FPN为例,一般来说,浅层特征对应小物体,深层特征对应大物体。但是这种大,小的界定是人为进行选择的,如下图所示,几乎同样角度的车的图像,长宽的差距也是相同的,但是60x60size的图像分配到了medium anchors,而50x50size和40x40size都被分到了small anchors,这种分配方式好吗,是不是最佳分配方式呢?我们不知道,换而言之,这种anchor-ground truth匹配机制是人为设置的,是否是最佳效果我们不得而知。
(2)overlap-based anchor sampling:anchor的密集采样,导致计算量提升,效率下降
FSAF的出发点是让图像中的每个目标实例自主选择最适合的特征层,这样,在feature level选择这一步骤中,就不需要再进行anchor的设置,实现了anchor-free。在训练过程中,根据loss自动选择最佳的feature level。被选择的feature level就进行后续的回归和预测。在inference阶段,FSAF可以独立预测,也可以与anchor-based方法相结合,最终的效果,作者也做了详尽的实验进行对比。
在COCO的实验结果表明,基于FSAF+ResNetXt-101的map达到44.6%,这是一个十分瞩目的结果。
ref
https://zhuanlan.zhihu.com/p/78286902