Bottom-up Object Detection by Grouping Extreme and Center Points 解读

 

本文(Exterme Net)是基于Corner Net做的,预测四个物体的极值点(上,下,左,右)和中心点,通过遍历各个极值点的组合(top, left, bottom, right),计算中心点是否被检测到,以此确定物体位置的方法。方法比较直观,相对Corner Net的优点是物体的极值点在物体上,更能够代表物体信息,而且Exterme Net不包含embedding部分,直接通过预测的五个点的几何关系判断是否属于同一物体。

一、网络结构

Eexterme Net的网络结构就是照搬的Center Net的网络结构,backbone还是Hourglass-Net,而且训练和测试阶段的图片输入尺寸,输出heat map下采样尺度(s=4),参数设置都是一样的;不同的是网络输出没有了embedding的那个支路,点的offset预测也只是针对四个极值点,不包括中心点的偏移预测,具体的网络输入如下:

5*C heatmap:(4个极值点 + 1个中心点)*C个类别

4*2 offset: 各个类别共享的4个极值点的偏移量(因为下采样s=4,取整运算造成的竞速损失)

二、Center Grouping

判断是否属于同一物体:

如果四个极值点的中心 (l+r)/2, (t,b)/2和网络预测的中心点重合的话,就当成一个物体输出。

可以看出需要遍历各种极值点的组合,复杂度为O(n^4),还是相当耗时的,文章说对于coco数据集,n<40,而且该方法可以用GPU加速,要比优化之后的O(n^2)的算法在GPU上还要快,但还是比较耗时。

网络如何输出极值点与中心点的集合?

首先Heatmap的输出取值为(0,1)

极值点:如果heatmap上某一点的响应值大于0.1,而且要比周围的八个点都要高,则为一个Peak,找到heatmap的所有Peak。

中心点:计算四个极值点的中心,如果该点的heatmap值大于0.1,则找到了一个物体,输出结果,

具体计算过程如下:

三、错误情况

Ghost box suppression

如果三个相同的物体,横着排成一列,那个用本文的方法,就会出现歧义容易出现FP

  1. box1:中间物体的小框
  2. box2:包含三个物体的大框

这两个框中心点都在第二个物体上,而计算极值点的几何中心时,都会作为结果输出,就会造成错误,不过文章说这种情况出现的比较少。

解决方法:

类似soft-nms,记大框分数为X,里面包含的小框分数为Yi

if 3X < ∑Yi     X=X/2

从后面的实验结果看,效果提升不大,0.3%

Edge aggregation

对于边缘水平或者垂直的物体,找四个极值点的时候可能会比较分散,各个水平(垂直)的位置都会有响应,因为都是物体的极值点,这就造成的大家的响应都不高,容易造成FN,文章提出一种聚合的方法,将相应通过水平和垂直的方向进行聚合,具体方法如下:

四、实验结果

测试时间为322ms(3.1FPS),其中inference耗时168ms,前后处理(NMS)耗时130ms,如果去掉edge aggregation,提速到4.1FPS。

Ablation study

中心点预测比较准确,极值点一般

在mutil scale下(5个scale)精度超过了所有 one stage,但是和two stage还是有差距;

在single scale下精度比Corner Net还要低一点,但是其中APsmall更高。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值