链接:https://www.zhihu.com/question/356551927/answer/926659692
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1.目标检测算法一般可分为anchor-based、anchor-free、两者融合类,区别就在于有没有利用anchor提取候选目标框。
A. anchor-based类算法代表是fasterRCNN、SSD、YoloV2/V3等
B. anchor-free类算法代表是CornerNet、ExtremeNet、CenterNet、FCOS等
C.融合anchor-based和anchor-free分支的方法:FSAF、SFace、GA-RPN等
FSAF-既有根据先验设定的anchor-based分支,也有anchor-free分支增强对异常ratio目标的检测能力
2.anchor(也被称为anchor box)是在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。在推理时生成的特征图上由这些anchor滑动提取n个候选矩形框再做进一步的分类和回归(详细叙述请参考提出anchor思想的fasterRCNN一文)。也就是传统目标检测算法中,在图像金字塔上使用的那个m*n的滑窗。只不过传统方法中特征图是不同尺度的,滑窗一般是固定大小的;而类似于fasterRCNN算法中特征图是固定的,anchor是多尺度的。
三种典型的目标检测框架流程图
3.Yolo算法一共有三个版本,YoloV1可以算作anchor-free类;YoloV2开始引入anchor,YoloV3也使用了anchor。
4.anchor-free类算法归纳:
A.基于多关键点联合表达的方法
a.CornerNet/CornerNet-lite:左上角点+右下角点
b.ExtremeNet:上下左右4个极值点+中心点
c.CenterNet:Keypoint Triplets for Object Detection:左上角点+右下角点+中心点
d.RepPoints:9个学习到的自适应跳动的采样点
e.FoveaBox:中心点+左上角点+右下角点
f.PLN:4个角点+中心点
B.基于单中心点预测的方法
a.CenterNet:Objects as Points:中心点+宽度+高度
b.CSP:中心点+高度(作者预设了目标宽高比固定,根据高度计算出宽度)
c.FCOS:中心点+到框的2个距离