CornerNet: Detecting Objects as Paired Keypoints

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):角点匹配失误,导致目标定位出现错位

三.实验结果

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值