Anchor-free的目标检测文章

参考:https://mp.weixin.qq.com/s/eOGkafUE6papKHCpbYrwqQ

一个同行大神的总结:https://blog.csdn.net/qiu931110/article/details/89430747

原文名为:重磅!13篇基于Anchor free的目标检测方法,这里我只介绍我觉得比较有用的文章和算法

13篇基于Anchor free的目标检测论文列表,后面是我赛筛选其中比较重要的部分,内容没做太多改动。

  • UnitBox: An Advanced Object Detection Network

  • Densebox

  • Yolo-1

  • CornerNet

  • ExtremeNet

  • FSAF: Feature Selective Anchor-Free

  • FCOS: Fully Convolutional One-Stage

  • FoveaBox

  • Center and Scale Prediction: A Box-free Approach for Object Detection

  • Region Proposal by Guided Anchoring(GA-RPN)

  • CenterNet: Objects as Points

  • CenterNet: Keypoint Triplets for Object Detection

  • CornerNet-Lite: Efficient Keypoint Based Object Detection

 UnitBox: An Advanced Object Detection Network

Anchor-free的目标检测文章_第1张图片

贡献点:把回归的的loss从smoothL1改成IOU loss,我记得它的motivation比较哲理性:我们的目标和我们的行动应该一致,既然我们看性能时是看通过IOU计算,那我们loss应该直接和IOU相关。

CornerNet: Detecting Objects as Paired Keypoints

CornerNet是2018 ECCV oral 文章,引领基于关键点的目标检测算法,后面好多文章都是certerNet和centerNet-lite都是基于这篇文章做的优化。

把检测目标框变成一对关键点的问题,即左上角和右下角,这样就消除了锚框的设计麻烦。另外,采用的角点池化(corner pooling)技术帮助CNN更好地定位角点位置。 下图给出了系统流程图:CNN模型输出两个关键点的各自热图(heatmap),同时各跟一个嵌入向量。同一个目标的角点,训练后的神经网络会预测类似的嵌入。

Anchor-free的目标检测文章_第2张图片

下图是定位的角点池化技术:每个特征图通道沿着两个方向取最大值,然后求和。文章提出的corner pooling:

Anchor-free的目标检测文章_第3张图片

FSAF: Feature Selective Anchor-Free Module

主要思想:基于特征金字塔网络(feature pyramid structure,FPN)的在线特征选择能力, 在训练时可以动态分配每个实例到最适合的特征层,在推理时能够和带锚的模块分支一起工作,最后并行地输出预测。

Anchor-free的目标检测文章_第4张图片

我看了这篇文章作者的报告,他说大家都以为他这篇文章的主要贡献在anchor-free而,实际anchor-free的概念早在yolo1就提出来了,这篇文章的主要贡献在与特征选择的设计,选择loss最小的特征。

FCOS: Fully Convolutional One-Stage Object Detection

相关解读:FCOS

arXivhttps://arxiv.org/abs/1904.01355

有基于pytorch的开源代码:

github: https://github.com/tianzhi0549/FCOS

主要思想:是分割,不需要锚框也不需要区域提议。 这样,避免了锚框在模型训练中涉及的重叠计算和性能敏感的参数设计环。

FCOS中定义了一个新损失函数“中心度(centerness)”,如下图( 红和蓝对应 1 和 0, 其他颜色位于其中)。

在分类分支引入中心度的概念:

Anchor-free的目标检测文章_第5张图片

Anchor-free的目标检测文章_第6张图片

CenterNet: Object Detection with Keypoint Triplets

相关解读:CenterNet

主要思想:基于前面提到的CornerNet,检测目标变成三个关键点的估计(a triplet of keypoints)。

架构图:一个核心网络执行级联角点池化(cascade corner pooling)和中心点池化(center pooling ),输出两个角点热图和一个中心关键点热图;和CornerNet类似,一对检测的角点和嵌入用来检测潜在目标框;然后检测的中心关键点确定最终的框位置。

 Anchor-free的目标检测文章_第7张图片

基于pytorch开源代码:github:https://github.com/Duankaiwen/CenterNet

论文链接:https://arxiv.org/abs/1904.08189

Center and Scale Prediction: A Box-free Approach for Object Detection

主要思想是:目标中心点,语义抽象。

目标检测变成一个直接的中心和尺度预测。最后卷积有两个通道,一个是关于中心位置的热图,另一个是中心的尺度图。

Anchor-free的目标检测文章_第8张图片

这篇文章的代码我试过,稍微改一下就能训练。但是是基于keras的,而且多卡并行一直没调好。

你可能感兴趣的:(目标检测)