目标检测技术包括anchor-based和anchor-free两大类:
1、基于anchor-based的技术包括一个阶段和两个阶段的检测。其中一阶段的检测技术包括SSD,DSSD,RetinaNet,RefineDet,YOLOV3等,二阶段技术包括Faster-RCNN,R-FCN,FPN,Cascade R-CNN,SNIP等。一般的,两个阶段的目标检测会比一个阶段的精度要高,但一个阶段的算法速度会更快。
二步法相对于一步法有以下几个优势:
(a).二阶段的分类
(b).二阶段的回归
(c).二阶段的特征
(d).特征校准
为了能让一步法也具备二步法的这些个优势,提出了RefineDet、SRN、AlignDet等一些列检测算法。
2、 anchor-free的技术包括基于Keypoint与Segmentation两类。其中基于Keypoint技术包括CornerNet,CenterNet,CornerNet-Lite等,基于Segmentation的技术包括FSAF,FCOS,FoveaBox等。
anchor-base存在的问题:
•与锚点框相关超参 (scale、aspect ratio、IoU Threshold) 会较明显的影响最终预测效果;(尺度(scale)和长宽比( aspect ratio)是比较难设计的。这需要较强的先验知识。)
•预置的锚点大小、比例在检测差异较大物体时不够灵活;
•大量的锚点会导致运算复杂度增大,产生的参数较多;
•容易导致训练时negative与positive的比例失衡。(冗余框非常之多:一张图像内的目标毕竟是有限的,基于每个anchor设定大量anchor box会产生大量的easy-sample,即完全不包含目标的背景框。这会造成正负样本严重不平衡问题,也是one-stage算法难以赶超two-stage算法的原因之一。)
此外基于anchor box进行目标类别分类时,IOU阈值超参设置也是一个问题,0.5?0.7?有同学可能也想到了CVPR2018的论文Cascade R-CNN,专门来讨论这个问题。
anchor-base 优点:
(1)使用anchor机制产生密集的anchor box,使得网络可直接在此基础上进行目标分类及边界框坐标回归;
(2)密集的anchor box可有效提高网络目标召回能力,对于小目标检测来说提升非常明显。
Anchor-free算法的优点:
•使用类似分割的思想来解决目标检测问题;
•不需要调优与anchor相关的超参数;
•避免大量计算GT boxes和anchor boxes 之间的IoU,使得训练过程占用内存更低。
anchor-free是通过另外一种手段来解决检测问题的。同样分为两个子问题,即确定物体中心和对四条边框的预测。预测物体中心时,将中心预测融入到类别预测的 target 里面,也可以预测一个 soft 的 centerness score。对于四条边框的预测,则比较一致,都是预测该像素点到 ground truth 框的四条边距离,不过会使用一些 trick 来限制 regress 的范围。
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个距离