CenterNet解析

论文 https://arxiv.org/abs/1904.07850

代码 https://github.com/xingyizhou/CenterNet

       CenterNet是在CornerNet的基础上进行延伸,CornerNet是预测目标的一对角点,而CenterNet则是预测目标的中心点和宽高。CornerNet模型最终输出heatmap、offset、embedding三个特征图,分别用于预测角点的位置和类别、下采样坐标取整导致的偏差、将属于同一目标的一对角点组合起来。对应的,CenterNet也输出三个特征图,分别为heatmap、offset、wh,其中heatmap用于预测中心点的位置和类别,offset与CornerNet中一样,wh是目标的宽和高。CornerNet中一对角点确定一个目标,且左上角点和右下角点是分开预测的,因此backbone后接了两个分支分别用于预测左上和右下角点,每个分支都会输出heatmap、offset、embedding三个特征图。而CenterNet通过中心点和宽高确定一个目标,因此backbone后只有一个分支,输出heatmap、offset、wh三个特征图。

       Centernet和anchor-based的单阶段检测方法很相似,一个center point可以看作是一个shape-agnostic anchor,但是也有一些区别:

  1. 'anchor'的分配只和位置有关,和iou无关。
  2. 每个目标只有一个positive 'anchor',因此无需NMS。
  3. 相比于之前的目标检测模型,centernet的输出分辨率更大(stride=4, 之前的stride=16),因此也无需更多的anchor。

相比于同样基于关键点检测的目标检测模型CornerNet和ExtremeNet,cornernet检测目标的top-left和bottom-right points两个点,extremenet检测目标的top-,left-,bottom-,right-most以及center points共五个点,而centernet只检测center points一个点,因此无需grouping或其它post-processing,大大提高了检测速度。

The run time improvement comes from fewer output heads and a simpler box decoding scheme. Better accuracy indicates that center points are easier to detect than corners or extreme points

作者还做了很多实验来研究各种因素和超参的影响。

  • Center Point Collision 即不同的目标的中心点重合的情况。作者统计了coco训练集,在总共860001个目标中,有614对目标中心点重合,占比不到0.1%。远小于Fast-RCNN里由不合适的region proposals造成的丢失(约2%),也远小于Faster-RCNN里由于不充足的anchor placement造成的丢失(在15个anchors和0.5的iou阈值情况下比例约为20%)。此外,715对iou>0.7的目标分配给了不同的anchor,因此对比起来,center-based assignment causes fewer collisions。
  • NMS 为了证明centernet不需要nms,作者将nms添加到预测结果上,发现对于DLA-34,AP从39.2%涨到39.7,对于Hourglass-104,AP保持在42.2%没有变动,因为对结果影响很小,作者才丢弃了NMS。
  • Regression loss 作者比较了L1 loss和Smooth L1 loss的结果,发现L1的效果比Smooth L1好很多,原因文中原话是 It yields a better accuracy at fine-scale, which the COCO evaluation metric is sensitive to. This is independently observed in keypoint regression。
  • Missed objects in anchor based detector 在RetinaNet中,将与gt box的iou>0.5的anchor作为正样本分配给该gt box,如果一个gt box和所有anchor的iou都小于0.5,则将其中iou最大的那个anchor作为正样本分配给该gt,作者统计了32,64,128,256,512五种size和0.5,1,2三种ratio下这种force assignment的数量,发现共有170220例,其中小目标里占比35.3%,中目标中占比6.3,大目标中占比12.4%,这也说明了anchor-based方法的缺陷。

 

input: (batch_size, 3, 384, 384)

backbone: 论文里有hourglass、dla、resnet,这里以最简单的resdcn_18为例。resnet18的conv_5x的输出维度为(b, 512, 12, 12),然后接三个dcn和转置卷积将维度恢复到(b, 64, 96, 96),即相对于输入下采样stride=4。最后接head网络,最终输出heatmap、wh、reg三个特征图,维度分别为(b, num_class, 96, 96)、(b, 2, 96, 96)、(b, 2, 96, 96)。

loss: heatmap、wh、reg分别采用改进的focal loss、L1 loss、L1 loss

       这里之所以不展开是因为和CornerNet都一样,其中heatmap在CornerNet中是预测角点,在CenterNet中是预测中心点,但是其定义、GT的计算、改进的focal loss都一样。相比于CornerNet,CenterNet最终的输出由预测左上、右下角点的两个分支变成了预测中心点的单分支,预测角点配对的embedding loss改为了预测bbox宽高的L1 loss,模型结构变得更简单了,因此看懂了CornerNet再看CenterNet就毫无压力了。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00000cj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值