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

Posted 晓飞的算法工程笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ExtremeNet:通过极点进行目标检测,更细致的目标区域 | CVPR 2019相关的知识,希望对你有一定的参考价值。

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\\times C$张热图,$4\\times 2$偏移值特征图,$C$为类别数,整体结构和输出如图3所示。当极点提取后,根据几何关系将他们进行组合。

Center Grouping

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

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

Ghost box suppression

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

Edge aggregation

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

  论文采用边聚合(edge aggregation)来解决这个场景,对于左右热图的局部最大点,在垂直方向进行分数聚合,而上下热图的局部最大点则在水平方向进行分数聚合。将对应方向上的单调递减分数进行聚合,直到遇到聚合方向上的局部最小点为止。假设$m$为局部最大值点,$N^{(m)}i=\\hat{Y}{m_x+i, m_y}$为水平方向的点,定义$i_0 < 0$和$0<i_1$为两边最近的局部最小值,即$N^{(m)}{i_0-1} > N{(m)}_{i_0}$和$N{(m)}{i_1} < N{(m)}_{i_1+1}$,则边聚合的高峰点值更新为$\\tilde{Y}_m=\\hat{Y}_m+\\lambda_{aggr}{\\sum}{i_1}_{i=i_0}N^{(m)}i$,其中$\\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.

以上是关于ExtremeNet:通过极点进行目标检测,更细致的目标区域 | CVPR 2019的主要内容,如果未能解决你的问题,请参考以下文章

根轨迹法的校正正目标原理和方法

论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection

总结 | 百度Paddle轻量级目标检测挑战赛

运动目标检测——光流法与opencv代码实现

DeepSort

解读通过风格迁移的浓雾天气条件下 无人机图像目标检测方法