ExtremeNet:通过极点进行目标检测,更细致的目标区域 | CVPR 2019

401 阅读5分钟

ExtremeNet检测目标的四个极点,然后以几何的方式将其组合起来进行目标检测,性能与其它传统形式的检测算法相当。ExtremeNet的检测方法十分独特,但是包含了较多的后处理方法,所以有很大的改进空间,感兴趣可以去看看论文实验中的错误分析部分

来源:晓飞的算法工程笔记 公众号

论文: Bottom-up Object Detection by Grouping Extreme and Center Points

Introduction


  在目标检测中,常用的方法将目标定义为矩形框,这通常会带来大量妨碍检测的背景信息。为此,论文提出ExtremeNet,通过检测目标的四个极点进行目标定位,如图1所示。整体算法基于CornerNet的思想进行改进,使用五张热图分别预测目标的四个极点以及中心区域,将不同热图的极点进行组合,通过组合的几何中心在中心点热图上的值判断组合是否符合要求。另外,ExtremeNet检测的极点能够配合DEXTR网络进行目标分割信息的预测。

ExtremeNet for Object detection


  ExtremeNet使用HourglassNet进行类可知的关键点检测,遵循CornerNet的训练步骤、损失函数和偏移值预测,其中偏移值的预测是类不可知的,中心点不包含偏移值。主干网络共输出5×C5\times C张热图,4×24\times 2偏移值特征图,CC为类别数,整体结构和输出如图3所示。当极点提取后,根据几何关系将他们进行组合。

Center Grouping

  极点位于目标的不同方向,组合时会十分复杂,论文认为像CornerNet那样采用embedding向量进行组合会缺乏全局信息,所以提出了Center Grouping进行极点组合。

  Center Grouping的流程如算法1所示,首先获取四个极点热图上的高峰点,高峰点需满足两点:1) 其值需大于阈值τp\tau_p 2) 为局部最大值,高峰点的值需大于周围八个点,获取高峰点的过程称为ExtrectPeak。在得到各个热图上的高峰点后,遍历各高峰点的组合,对于满足几何关系的高峰点组合(tt,bb,rr,ll),计算其几何中心点c=(lx+tx2,ty+by2)c=(\frac{l_x+t_x}{2}, \frac{t_y+b_y}{2}),如果几何中心点的值满足Y^cx,cy(c)τc\hat{Y}^{(c)}_{c_x, c_y} \ge \tau_c,则认为该高峰点组合符合要求。

Ghost box suppression

  在三个大小相同的目标等距分布的情况下,Center Grouping可能会出现高置信度的误判。此时,中间的目标可能有两种情况,一是正确的预测,二是错误地与隔壁的物体合并输出,论文称第二种情况的预测框为ghost框。为了解决这种情况,论文增加了soft-NMS后处理方法,如果某个预测框的内包含的预测框的置信度之和大于其三倍,则将其置信度除以二,然后再进行NMS操作。

Edge aggregation

  极点有时不是唯一的,如果目标存在水平或垂直的边界,则边上所有的点都是极点,而网络对这种边界上的点的预测值会较小,可能导致极点的漏检。

  论文采用边聚合(edge aggregation)来解决这个场景,对于左右热图的局部最大点,在垂直方向进行分数聚合,而上下热图的局部最大点则在水平方向进行分数聚合。将对应方向上的单调递减分数进行聚合,直到遇到聚合方向上的局部最小点为止。假设mm为局部最大值点,Ni(m)=Y^mx+i,myN^{(m)}_i=\hat{Y}_{m_x+i, m_y}为水平方向的点,定义i0<0i_0 < 00<i10<i_1为两边最近的局部最小值,即Ni01(m)>Ni0(m)N^{(m)}_{i_0-1} > N^{(m)}_{i_0}Ni1(m)<Ni1+1(m)N^{(m)}_{i_1} < N^{(m)}_{i_1+1},则边聚合的高峰点值更新为Y~m=Y^m+λaggri=i0i1Ni(m)\tilde{Y}_m=\hat{Y}_m+\lambda_{aggr}{\sum}^{i_1}_{i=i_0}N^{(m)}_i,其中λaggr\lambda_{aggr}为聚合权重,设置为0.1,整体效果如图4。

Extreme Instance Segmentation

  极点比bbox包含更多的目标信息,毕竟多了两倍的标注信息(8 vs 4)。基于四个极点和bbox,论文提出简单的方法来获取目标的mask信息,首先以极点为中心扩展出1/4 bbox边界长度的线,如果线超过bbox则截断,然后将四条线首尾连接得到八边形,如图1所示。最后使用DEXTR(Deep Extreme Cut)方法进一步获取mask信息,DEXTR网络能够将极点信息转化成分割信息,这里直接将八边形截图输入到预训练的DEXTR网络中。

Experiments


  各模块的对比实验,另外论文对ExtremeNet进行了错误分析,将各模块的输出替换为GT,最终能达到到86.0AP。

  与其它SOTA方法进行对比。

  实例分割效果。

Conclusion


  ExtremeNet检测目标的四个极点,然后以几何的方式将其组合起来进行目标检测,性能与其它传统形式的检测算法相当。ExtremeNet的检测方法十分独特,但是包含了较多的后处理方法,所以有很大的改进空间,感兴趣可以去看看论文实验中的错误分析部分。



如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.