重磅!13篇基于Anchor free的目标检测方法
正文
感觉是回归吧,以前是没有anchor的,现在觉得还是去掉anchor(“锚”?)好,主要是灵活性强,今后硬件芯片兼容性好。
回顾一下,目标检测分单步和两步,单步法的历史中从SSD和YOLO-2开始引入锚框(anchor
box),而两步法直到Faster RCNN才开始采用“锚”的想法。
什么是锚框呢?其实就是固定 的参考框。锚框的出现,使得训练时可以预设一组不同尺度不同位置的锚框,覆盖几乎所有位置和尺度, 每个锚框负责检测与其区域交叉比(intersection over union, IOU)大于阈值的目标,这样问题就转换为"这个锚框中有没有认识的目标,目标框偏离锚框多远"的问题。
UnitBox: An Advanced Object Detection Network
Densebox
Yolo-1/(-2/3)
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
主要思想:Intersection over Union (IoU) loss function for bounding box prediction
架构
IoU loss vs l2 loss
l2 loss和IoU loss 结果比较
DenseBox: Unifying Landmark Localization and Object Detection
基本思想:直接预测目标框和目标类。
系统流水线:
1) 图像金字塔.
2) 类似编码器-解码器.
3) feature map 转换成 bounding boxes,加NMS处理。
DenseBox
DenseBox with landmark localization
You Only Look Once (YOLO) for Object Detection
检测定义为一个张量的回归问题,直接通过张量的估计得到目标框位置和类别概率。
注:之后YOLO-2/3版采用了anchor方法,这里也加在一起参考。
YOLO9000: Better, Faster, Stronger
Darknet-19: 19 convolutional layers and 5 max-pooling layers
WordTree with 9418 classes
Combining datasets using WordTree hierarchy
Bounding boxes with dimension priors and location prediction
Clustering box dimensions on VOC and COCO
结果
YOLOv3: An Incremental Improvement
Darknet-53
CornerNet: Detecting Objects as Paired Keypoints
把检测目标框变成一对关键点的问题,即左上角和右下角,这样就消除了锚框的设计麻烦。另外,采用的角点池化(corner pooling)技术帮助CNN更好地定位角点位置。 下图给出了系统流程图:CNN模型输出两个关键点的各自热图(heatmap),同时各跟一个嵌入向量。同一个目标的角点,训练后的会预测类似的嵌入。
Detect an object as a pair of bounding box corners grouped together
下图是定位的角点池化技术:每个特征图通道沿着两个方向取较大值,然后求和。
Corner pooling
“Ground-truth” heatmaps for training.
测试流程图:沙漏型的核心网络的后面跟着两个预测模块定位和聚类焦点。
定义loss函数聚类corner:push和pull
ExtremeNet: Bottom-up Object Detection by Grouping Extreme and Center Points
相关解读:ExtremeNet
主要思想:也是将目标检测变成了纯粹关键点估计问题,包括目标的4个extreme points 和1个中心点,将这几何校准的5个点组成一个目标框。
下图是系统流程图:类似CornerNet,对每个目标类,CNN网络预测5个热图,只有几何中心的热图响应足够大才会生成目标框。
The network predicts four extreme point heatmaps and one center heatmap for each category
如下是模型的测试流程图:输入图像得到5个C-通道热图,4个2-通道类别无关的偏差图(offset map)。热图是通过加权逐像素逻辑回归(logistic regression)训练得到,. 而偏差图则是由平滑L1 损失函数训练的。
下图是中心分组(Center grouping):输入是5个热图,输出则是带有可信度的目标框。
下图是边缘聚集的结果:当一个边缘的多个点都成为extreme point,可见边缘聚集使中间像素的可信度得到增大。
FSAF: Feature Selective Anchor-Free Module
相关解读:FASF
主要思想:基于特征金字塔网络(feature pyramid structure,FPN)的在线特征选择能力, 在训练时可以动态分配每个实例到最适合的特征层,在推理时能够和带锚的模块分支一起工作,最后并行地输出预测。
anchor-based method
FSAF module plugged into anchor-based detection methods
下图展示一个特征层中的实例监督信号,其中两个损失函数:分类的focal loss 和目标框回归的IoU loss 。
Supervision signals for an instance in one feature level of the anchor-free branches
在线特征选择的操作如图:每个实例通过无锚框的所有层计算出所有有效区域的分类损失和回归损失,在最小损失的那层构建该实例的监督信号。
Online feature selection mechanism
Network architecture of RetinaNet with FSAF module
FCOS: Fully Convolutional One-Stage Object Detection
相关解读:FCOS
主要思想:是分割,不需要锚框也不需要区域提议。 这样,避免了锚框在模型训练中涉及的重叠计算和性能敏感的参数设计环。
FCOS中定义了一个新损失函数“中心度(centerness)”,如下图( 红和蓝对应 1 和 0, 其他颜色位于其中)。
The network architecture of FCOS
结果
FoveaBox: Beyond Anchor-based Object Detector
主要思想:直接学习目标存在的概率和目标框的坐标位置,其中包括预测类别相关的语义图和生成类别无关的候选目标框,目标框的大小和特征金字塔的表示相关(如图所示)。
FoveaBox object detector
FoveaNet的网络结构如图,一个基于ResNet的特征金字塔网络(FPN)送入两个子网络, 一个做分类,一个做预测。
FoveaBox network architecture
结果
Region Proposal by Guided Anchoring (GA-RPN)
相关解读:GA-RPN
利用语义特征指导抛锚,称为指导性的抛锚。一起预测感兴趣目标的中心位置以及不同位置的尺度和长宽比。有代码: //github.com/open-mmlab/m.
GA-RPN
对特征金字塔的每个输出特征图,采用带有两个分支的锚框生成模块分别预测锚位置和形状。一个特征适应模块对原始特征图处理,使其更能体现锚的形状。
Anchor location target
采用多级特征,根据其尺度把真实目标(ground truth objects)提供给不同特征级,相应定义 CR, IR和OR 。
性能比较
CenterNet: Objects as Points
把目标定义成一个单点,即目标框的中心点(下图),检测器采用关键点估计找到中心点并从其关键点的特征回归其他目标特性,如大小,3D位置,朝向和姿势。
object as the center point of its bounding box
(a) Standard anchor based detection. (b) Center point based detection
下面是CenterNet的模型框图,其中数字是步进(stride)量:(a) 沙漏网络;(b) 带转置卷积的ResNet,在每个上采样层前面加了个3 × 3 可变形卷积层(deformable convolutional layer);(c) 语义分割的DLA-34 (Deep layer aggregation);(d) 修正的 DLA-34,在可变形卷积层加更多的跳线(skip connections)上采样步骤。
Model diagrams
CenterNet: Object Detection with Keypoint Triplets
相关解读:CenterNet
主要思想:基于前面提到的CornerNet,检测目标变成三个关键点的估计(a triplet of keypoints)。
架构图:一个核心网络执行级联角点池化(cascade corner pooling)和中心点池化(center pooling ),输出两个角点热图和一个中心关键点热图;和CornerNet类似,一对检测的角点和嵌入用来检测潜在目标框;然后检测的中心关键点确定最终的框位置。
CenterNet
(a) Center pooling. (b) Corner pooling. (c) Cascade corner pooling
下图给出角点池化和中心点池化的结构图。
center pooling module (a) cascade top corner pooling module (b)
CornerNet-Lite: Efficient Keypoint Based Object Detection
相关解读:CornerNet-Lite
CornerNet-Lite:CornerNet-Saccade(attention mechanism)+ CornerNet-Squeeze
CornerNet-Saccade:缩小的图像中产生的目标框,加上attention map,预测一组可能的目标位置。在每个位置附近取一个小区域,检测目标。对检测的目标位置排序,取前k个,运行NMS。
CornerNet-Saccade
模型加速:SqueezeNet/MobileNets for CornerNet-Squeeze
替换3 × 3 kernels 成 1 × 1 kernels;
减少输入通道 to 3 × 3 kernels;
下采样.
结果
Center and Scale Prediction: A Box-free Approach for Object Detection
主要思想是:目标中心点,语义抽象。
目标检测变成一个直接的中心和尺度预测。最后卷积有两个通道,一个是关于中心位置的热图,另一个是中心的尺度图。
CSP (Center and Scale Prediction) detector
包括两个成分:特征提取和检测。前者把不同分辨率的特征图连在一起,后者是卷积层和两个预测层,分别对应中心位置和尺度大小。
architecture of CSP
声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!
时间:2019-05-30 23:57 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
相关推荐:
网友评论:
最新文章
热门文章