Anchor-free的目标检测文章

    xiaoxiao2023-10-30  161

    参考: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

    贡献点:把回归的的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),同时各跟一个嵌入向量。同一个目标的角点,训练后的神经网络会预测类似的嵌入。

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

    FSAF: Feature Selective Anchor-Free Module

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

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

    FCOS: Fully Convolutional One-Stage Object Detection

    相关解读:FCOS

    arXiv: https://arxiv.org/abs/1904.01355

    有基于pytorch的开源代码:

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

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

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

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

    CenterNet: Object Detection with Keypoint Triplets

    相关解读:CenterNet

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

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

     

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

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

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

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

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

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

    最新回复(0)