anchor based机制的优缺点:
    1、优点
    ① 使用anchor机制产生密集的anchor box,使得网络可以直接在此基础上进行目标分类以及边界框回归
    ② 密集的anchor box可有效提高网络目标召回能力,对于小目标检测来说提升非常明显。
    ③ 由于加入了认为先验分布,同时在训练的时候prediction(尤其是regression)的值域变化范围实际上是比较小的,这就使得anchor-based的网络更容易训练也更加稳定

    2、缺点
    ① anchor机制中,需要设定的超参数:尺度(scale)和长宽比(aspect ratio)是比较难设计的,这需要比较强的先验知识。
    ② 冗余框非常之多:一张图像内的目标毕竟是有限的,基于每个anchor设定当量anchor box会产生大量的easy-sample,即完全不包含目标的背景框,这回造成正负样本严重不平衡问题,也是one-stage算法难以赶超two-stage算法的原因之一。使用包括two-stage的RPN和one-stage的Focal loss
    ③ 网络实质上是看不见anchor box的,在anchor box的基础上进行边界回归更像是一种在范围比较小的时候的强行记忆
    ④ 基于anchor box进行目标类别分类时,IOU阈值超参数设置也是一个问题,0.5?0.7?有同学可能也想到了CPR2018的论文cascade r-cnn,专门来讨论这个问题。感兴趣的同学可以移步到:Naiyan Wang:CVPR18 Detection文章选介(上)

    anchor free的优缺点:
    ① anchor free的优点在于其更大更灵活的解空间,摆脱了使用anchor而带来的计算量从而让检测和分割都进一步走向实时高精度;缺点就是其检测结果不稳定,需要设计更多的方法来进行re-weight。
    灵活性强,今后的硬件芯片兼容性好
    ② 无论是keypoint-based的方法(e.g. CornerNet和CenterNet)还是pixel-wise prediction的方法(e.g. FCOS),本质上都是dense prediction的方法,庞大的解空间使得简单的anchor-free的方法容易得到过多的false positive,而获得高recall但是低precision的检测结果
    ② 目前的anchor free方法,一方面通过了各种方式来进一步re-weight检测结果的质量(e.g. FCOS的centerness),另一个方面通过FPN也在一定程度上缓解了高度重合带来的影响(当然还有很多不同的筛选方法这里不多赘述)。
    ③ 至于说到正负样本极端不平衡,实际上anchor-based方法也存在,讨论度没有那么高主要是因为都是用了模型中使用了各种方式进行筛选,包括two-stage的RPN和one-stage的Focal loss
    ④ 语义模糊性,即两个物体的中心点落在了同一个网格中,这个时候,对于单尺度的anchor free来说,的确非常致命,后来引入了FPN技术,既然一个feature map容不下两个物体落在同一个网格中,那我们就用两个feature map,但是又引来了第二个问题,我们如何决定那个物体落在那个feature map上?但是虹膜识别中没有这个问题,虹膜识别不吭呢存在两个虹膜或者两个眼睛的中心点落在了同一个网格中。

    18年开始,focal loss的技术,缓解了正负样本失衡的问题

    有人认为,af对backbone的要求略大于带anchor,不确定是我们训练有误,还是的确如此。仅供参考

    anchor free由于其灵活性应该会带来很多积极的研究工作,比如cascade缓解feature representation或者reject低质量的框,同时也很有潜力结合其他任务比如segmentation、keypoint estimation等。