当前位置 博文首页 > DL_fan的博客:CPNDet:Corner Proposal Network for Anchor-free

    DL_fan的博客:CPNDet:Corner Proposal Network for Anchor-free

    作者:[db:作者] 时间:2021-07-10 22:23

    CPNDet论文链接

    一.背景

    anchor-based方法将大量框密集分布在feature map上,在推理时,由于预设的anchor与目标差异大,召回率会偏低。而anchor-free不受anchor大小限制,在任意形状上会更加灵活,但是像CornerNet这种,先进行角点检测,将有效的角点枚举组合成大量候选预测框,容易带来大量的FP。而FCOS需要回归关键点到边界的距离,对于长宽大的物体也比较难以预测。

    ?

    二.网络介绍

    1.网络结构以及loss函数

    Stage 1: Anchor-free Proposals with Corner Keypoints

    假定每个目标都由两个关键点进行定位,先根据CornerNet输出一对左上右下的heatmap,选择top-k个左上角点以及top-k个右下角点。将有效的关键点组合成目标的候选框,关键点组合是否有效主要有两个判断:

    1. 左上右下关键点是否属于同一个类别

    2. 左上角点坐标比右上角点小

    同时作者认为cornernet那种embedding向量组合不是保证能够学习到的,在未见过的场景和目标挨得比较近时都会造成性能下降。

    Stage 2: Two-step Classification for Filtering Proposals

    由于产生heatmap的feature map较大,在角点进行组合时,虽然极大提高了召回率但同时特提升了误检率,还加大了过滤的计算量。所以先进行二分类,过滤掉80%候选框,然后在对剩下的框进行多分类。

    首先在feature map上选用7*7RoIAlign提取每个候选框的特征,在使用1个32*7*7输出二分类的分类score。

    二分类loss采用focal loss变种。

    N:正样本数量;

    IoUm:第m个候选框和所有gt box的IOU;

    p m:第m个候选区域的分类score;

    τ:IOU阈值,一般选择0.7;

    α :超参,为2,用来平滑loss函数。

    第二步对剩下的框进行多分类,用一个256*7*7输出C维向量,进行C分类,C分类loss也采用focal loss变种。

    M?:上一步过滤后的候选框;

    N?:正样本框

    IoU m,c:类别是c为第m个候选框和所有gt box的IOU;

    qm,c:类别是c,第m个候选区域的分类score;

    α,β:超参,为2,用来平滑loss函数

    2.总的loss函数

    Ldetcorner:角点定位和cornernet一样;

    Loffsetcorner:角点偏移

    Lprop:二分类fcoal loss

    Lclass:多分类fcoal loss

    3.推理阶段

    第一个阶段先使用0.2阈值,过滤掉大部分框,在对剩下的框进行多分类。在进行soft Nms即可。

    s1:角点的分类score(两个角点的平均)

    s2:多分类的score

    当两个中一个大于0.5时,才采用上述式子得出预测的类别score,在归一化为[0,1]之间。

    三.实验结果

    1.是否带二分类的实验结果对比

    2.和各种检测框架的实验结果对比

    3.速度和精度的对比

    cs
    下一篇:没有了