目标检测算法中的anchor free综述

一、anchor free 概述
1 、 先要知道anchor 是什么(这需要先了解二阶段如faster rcnn,一阶检测器如YOLO V2以后或SSD等)。
在过去,目标检测通常被建模为对候选框的分类和回归,不过,按照候选区域的产生方式不同,分为二阶段(two-step)检测和单阶段(one-step)检测,前者的候选框通过RPN(区域推荐网络)网络产生proposal,后者通在特定特征图上的每个位置产生不同大小和宽高比的先验框(anchor)。如下图:

 

2、为什么要抛弃anchor,做anchor free
1)Anchor的设置需要手动去设计(长宽比,尺度大小,以及anchor的数量),对不同数据集也需要不同的设计,相当麻烦。
2)Anchor的匹配机制使得极端尺度(特别大和特别小的object)被匹配到的频率相对于大小适中的object被匹配到的频率更低,DNN在学习的时候不太容易学习好这些极端样本。
3)Anchor的庞大数量使得存在严重的不平衡问题,这里就涉及到一个采样的过程,实际上,类似于Focal loss的策略并不稳定,而且采样中有很多坑。
4)Anchor数量巨多,需要每一个都进行IOU计算,耗费巨大的算力,降低了效率。
3、anchor free 的方向
最早可以追溯到YOLO算法,这应该是最早的anchor-free模型,而最近的anchor-free方法主要分为 基于密集预测(DenseBox) 和 基于关键点估计(CornerNet)两种。

其中关键点估计有如下模型:

  • CornerNet

  • ExtremeNet

  • CenterNet

  • CenterNet(Object as Point)

  • CSP

  • CornerNet-Lite

  • RepPoints

  • CentripetalNet

  • SaccadeNet

  • RepPointsV2

  • CPNDet


4、anchor free 的局限性
目前paper 为了达到更好看的结果,在实验上隐藏了一些细节或者有一些不公平的比较(比如骨干网络使用hourglass 对比别人的resnet等)。
5、anchor free 工程推荐
由于YOLOV5的推出,主要了解anchor free 的思想,工程应用主要可以尝试:
1)centerNet(object as point 的版本)
2)extremeNet(将回归边界框改为极值点)

posted @ 2022-06-27 18:15  海_纳百川  阅读(476)  评论(0编辑  收藏  举报
本站总访问量