当前位置 博文首页 > DL_fan的博客:CornerNet: Detecting Objects as Paired Keypoin

    DL_fan的博客:CornerNet: Detecting Objects as Paired Keypoin

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

    CornerNet论文链接

    Hourglass Network论文链接

    一.背景

    1.anchor-base缺点         

    (1).anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.

    (2).anchor太过密集,其中很多是负样本,引入了不平衡.

    (3).anchor的计算涉及IOU增加计算复杂度.

    二.网络介绍

    1.网络结构

    网络总共有两个分支,一个分支有三个输出,主要包含heatmap,embedding,offsets.

              single hourglass module示例

    2.网络推理

    预测左上角角点heatmap,右下角角点heatmap和embedding用于匹配角点,从而形成一对, 而offsets用于最终矫正角点.

    为什么没有预测中心点?作者认为角点只需要依赖目标的两个方向,而中心点需要依赖目标的四个方向.同时采用corner pooling编码一些角点的先验信息.

    3.corner pooling

    作者认为box的角点经常超出目标,不太好定位,对于左上角角点,水平方向从右往左替换为看到的最大像素值,垂直方向从下往上替换为看到的最大像素值,在相邻点进行像素相加,从而丰富左上角角点信息.

    4.heatmap与相应focal loss(分类)

    heatmap就是角点的热力图,通道数为类别数C.

    对于角点半径周围与gt box的IOU为0.3的box的负样本,没必要完全贡献loss,因为角点附近的负样本构成的box也能挺好覆盖目标.对于处于框内的角点,loss按照高斯分布来进行分配.

    对于heatmap采用focal loss:

    pcij:预测?score

    ycij:gt heatmap

    α,β: 超参用来控制loss

    5.embedding与相应loss

    用于左上角点与右上角点的匹配,找到距离最小的也就是同一个目标的角点.

    etk:左上角点的embedding
    ebk:右下角点的embedding
    ek?:etk和ebk的平均

    对于一对匹配的角点,通过Lpull去拉得紧凑.对于不匹配的通过Lpush去分离角点.

    6.offsets与相应loss(smooth L1)

    用offests来轻微矫正角点位置,从而让检测框更加紧凑.

    x,y是原图坐标,n是下采样倍数, 这里从预测图的heatmap恢复到原图就会有精度损失,严重影响小物体,所以采用offsets进行修正.

    ok是offset,(xk,yk)是corner坐标.

    采用smoothl1loss来学习offset.

    7.loss汇总

    作者发现α和β为1或者更大的值,产生了不好的效果.

    8.缺点

    (1):缺失角点,就缺失目标

    (2):角点匹配失误,导致目标定位出现错位

    三.实验结果

    ?

    cs
    下一篇:没有了