赞
踩
参考: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是2018 ECCV oral 文章,引领基于关键点的目标检测算法,后面好多文章都是certerNet和centerNet-lite都是基于这篇文章做的优化。
把检测目标框变成一对关键点的问题,即左上角和右下角,这样就消除了锚框的设计麻烦。另外,采用的角点池化(corner pooling)技术帮助CNN更好地定位角点位置。 下图给出了系统流程图:CNN模型输出两个关键点的各自热图(heatmap),同时各跟一个嵌入向量。同一个目标的角点,训练后的神经网络会预测类似的嵌入。
下图是定位的角点池化技术:每个特征图通道沿着两个方向取最大值,然后求和。文章提出的corner pooling:
主要思想:基于特征金字塔网络(feature pyramid structure,FPN)的在线特征选择能力, 在训练时可以动态分配每个实例到最适合的特征层,在推理时能够和带锚的模块分支一起工作,最后并行地输出预测。
我看了这篇文章作者的报告,他说大家都以为他这篇文章的主要贡献在anchor-free而,实际anchor-free的概念早在yolo1就提出来了,这篇文章的主要贡献在与特征选择的设计,选择loss最小的特征。
相关解读:FCOS
arXiv: https://arxiv.org/abs/1904.01355
有基于pytorch的开源代码:
github: https://github.com/tianzhi0549/FCOS
主要思想:是分割,不需要锚框也不需要区域提议。 这样,避免了锚框在模型训练中涉及的重叠计算和性能敏感的参数设计环。
FCOS中定义了一个新损失函数“中心度(centerness)”,如下图( 红和蓝对应 1 和 0, 其他颜色位于其中)。
在分类分支引入中心度的概念:
相关解读: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
主要思想是:目标中心点,语义抽象。
目标检测变成一个直接的中心和尺度预测。最后卷积有两个通道,一个是关于中心位置的热图,另一个是中心的尺度图。
这篇文章的代码我试过,稍微改一下就能训练。但是是基于keras的,而且多卡并行一直没调好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。