晚期指标检测钻研以anchor-based为主,设定初始anchor,预测anchor的修改值,分为two-stage指标检测与one-stage指标检测,别离以Faster R-CNN和SSD作为代表。起初,有研究者感觉初始anchor的设定对准确率的影响很大,而且很难找到完满的预设anchor,于是开始一直得钻研anchor-free指标检测算法,意在去掉预设anchor的环节,让网络自行学习anchor的地位与形态,在速度和准确率下面都有很不错的体现。anchor-free指标检测算法分为两种,一种是DenseBox为代表的Dense Prediction类型,密集地预测的框的绝对地位,另一种则是以CornerNet为代表的Keypoint-bsaed Detection类型,以检测指标关键点为主。
  本文次要列举几种Dense Prediction类型的网络,次要波及以下网络:

  • YOLO
  • DenseBox
  • Guided Anchoring
  • FSAF
  • FCOS
  • FoveaBox
  • SAPD
  • ATSS
  • FCOSv2
  • DDBNet

YOLO


  YOLOv1是晚期的anchor-free算法,起初的系列则转型成anchor-based算法。YOLO同时对多个物体进行分类和定位,没有proposal的概念,是one-stage实时检测网络的里程碑,标准版在TitanX达到45 fps,疾速版达到150fps,但精度不迭过后的SOTA网络。

  将输出分为$S\times S$的格子,如果GT的中心点在格子中,则格子负责该GT的预测:

  • 每个格子预测$B$个bbox,每个bbox预测5个值: $x,y,w,h$和置信度,别离为中心点坐标和bbox的宽高,中心点坐标是格子边的相对值,宽高则是整图的相对值。置信度能够反馈格子是否蕴含物体以及蕴含物体的概率,定义为${\Pr}(Object)*IOU_{pred}^{truth}$,无物体则为0,有则为IOU
  • 每个格子预测$C$个类的条件概率$\Pr(Class_i|Object)$,留神这里按格子进行预测,没有按bbox进行预测

DenseBox


  DenseBox是晚期的Anchor-free指标检测算法,过后R-CNN系列在小物体的检测上有显著的瓶颈,所以作者提出DenseBox,在小物体的检测也有不错的体现。在DenseBox提出的早些工夫,驰名的Faster R-CNN呈现了,其弱小的性能主导了指标检测算法往anchor-based的方向倒退。直到FPN的呈现,Anchor-free算法的性能才有了很大的晋升,更多的工作开始波及Anchor-free畛域。目前很多Anchor-free指标检测钻研都有DenseBox的影子,所以DenseBox的设计思路还是很超前的。

  DenseBox的整体设计如图1所示,单个卷积网络同时输入多个预测框及其类别置信度,输入的特色图大小为$5\times \frac{m}{4}\times \frac{n}{4}$。假如像素$i$位于$(x_i, y_i)$,其冀望的5维向量为$\hat{t}_i=\{\hat{s}, \hat{dx^t}=x_i - x_t, \hat{dy^t}=y_i - y_t, \hat{dx^b}=x_i - x_b, \hat{dy^b}=y_i - y_b \}$,第一个为分类置信度,后四个为像素地位到指标边界的间隔,最初,将所有像素的输入转化为预测框,通过NMS解决后进行最初的输入。

Guided Anchoring


  Guided Anchoring通过在线生成anchor的形式解决惯例手工预设anchor存在的问题,可能依据生成的anchor自适应特色,在嵌入方面提供了两种施行办法,是一个很残缺的解决方案。

  Guided Anchoring首先判断指标可能呈现的地位,而后学习不同地位上的指标的形态,可依据图片特色在线学习稠密的候选anchor。然而,在线生成的anchor形态各异,固定的感触域可能不匹配其形态,所以Guided Anchoring依据anchor的形态进行自适应特征提取,而后再进行预测框精调与分类。

FSAF


  指标检测的首要问题就是尺寸变动,许多算法应用FPN以及anchor box来解决此问题。在正样本判断下面,个别先依据指标的尺寸决定预测用的FPN层,越大的指标则应用更高的FPN层,而后依据指标与anchor box的IoU进一步判断,但这样的设计会带来两个限度:拍脑袋式的特征选择以及基于IoU的anchor采样。

  为了解决上述的问题,FSAF(feature selective anchor-free)在每轮迭代中抉择最优的层进行训练优化。如图3所示,FSAF为FPN每层增加anchor-free分支,蕴含分类与回归,在训练时,依据anchor-free分支的预测后果抉择最合适的FPN层用于训练,最终的网络输入可同时综合FSAF的anchor-free分支后果以及原网络的预测后果。

FCOS


  论文提出anchor-free和proposal-free的one-stage的指标检测算法FCOS,不再须要anchor相干的的超参数,在目前风行的逐像素(per-pixel)预测办法上进行指标检测。从试验后果来看,FCOS可能与支流的检测算法相比拟,达到SOTA,为前面的大热的anchor-free办法提供了很好的参考。

  指标检测因为anchor的存在,不能进行纯逐像素地疾速预测,于是FCOS摈弃anchor,提出逐像素全卷积指标检测网络网络,总结如下:

  • 效仿后期的FCNs-based网络,如DenseBox,每个像素回归一个4D向量指代预测框绝对于以后像素地位的偏移,如图1左
  • 为了预测不同尺寸的指标,DenseBox会缩放或剪裁生成图像金字塔进行预测,而且当指标重叠时,会呈现像素不晓得负责预测哪个指标的问题,如图1右。在对问题进行钻研后,论文发现应用FPN能解决以上问题
  • 因为预测的后果会产生许多低质量的预测后果,论文采纳center-ness分支来预测以后像素与对应指标中心点的偏离状况,用来去除低质量预测后果以及进行NMS

FoveaBox


  FoveaBox同时预测每个无效地位为指标核心的可能性及其对应指标的尺寸,输入类别置信度以及用以转化指标区域的尺寸信息。作为与FCOS和FSAF同期的Anchor-free论文,FoveaBox在整体构造上也是基于DenseBox加FPN的策略,次要差异在于FoveaBox只应用指标核心区域进行预测且回归预测的是归一化后的偏移值,还有依据指标尺寸抉择FPN的多层进行训练。因为FoveaBox的整体实现计划太纯正了,与其它Anchor-free办法很像,所以始终投稿到当初才中了,作者也是相当不容易。

SAPD


  Anchor-free检测办法分为anchor-point类别和key-point类别两种,anchor-point类别尽管更快更灵便,但准确率个别比key-point类别要低,所以论文着力于钻研妨碍anchor-point类别准确率的因素,提出了SAPD(Soft Anchor-Point Detecto)。

  SAPD的外围如图3所示,别离为Soft-Weighted Anchor Points以及Soft-Selected Pyramid Levels:

  • Soft-weighted anchor points。anchor-point算法在训练时个别将满足几何关系的点设置为正样本点,其损失值权重均为1,这造成定位较不精确的点偶然分类置信度更高。实际上,不同地位的点的回归难度是不一样的,越凑近指标边缘的点的损失值权重应该越低,让网络集中于优质anchor point的学习。
  • Soft-selectedpyramid levels。anchor-point算法每轮训练会抉择特色金字塔的其中一层特色进行训练,其它层均疏忽,这在肯定水平上造成了节约。因为其余层尽管响应不如被抉择的层强,但其特色散布应该与被抉择层是相似的,所以能够赋予多层不同权重同时训练。

ATSS


  在认真比对了anchor-based和anchor-free指标检测办法后,联合试验后果,论文认为两者的性能差别次要来源于正负样本的定义,如果训练过程中应用雷同的正负样本,两者的最终性能将会相差无几,于是论文提出ATSS( Adaptive Training Sample Selection)办法。

  ATSS可能主动依据与GT的相干统计特征选择适合的anchor box作为正样本进行训练,在不带来额定计算量和参数的状况下,可能大幅晋升模型的性能,非常有用。

FCOSv2


  图2为FCOSv2中的骨干网络结构,骨干网络仍然采纳FPN,每层特色应用独特的head预测类别信息、尺寸信息以及Center-ness,整体思维根本与FCOS统一。对FCOS的小修小改,最终性能达到了50.4AP,堪称相当强劲了,在工程上能够参考其中的改良以及晋升办法。

DDBNet


  作者认为以后anchor-free办法存在两个问题,核心关键点与指标的语义不统一以及部分特色的回归有局限性。为了解决上述两个问题,作者提出了非常大胆的办法DDBNet。

  DDBNet蕴含box合成/组合模块以及语义统一模块,别离用于解决核心关键点的回归不准问题以及核心关键点与指标的语义不统一问题,后果如图2中的实线框。论文的次要奉献如下:

  • 基于anchor-free架构提出新的指标检测算法DDBNet,可能很好地解决核心关键点的回归问题以及核心关键点的语义一致性。
  • 验证了核心关键点和GT的语义一致性,可能帮忙晋升指标检测网络的收敛性。
  • DDBNet可能达到SOTA精度(45.5%),并且可能高效地拓展到其它anchor-free检测器中。




如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】