【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

&Title:

&Summary

提出一种目标检测的新思路:首先通过标准的关键点估计网络来检测4个极值点和1个中心点,然后通过几何关系对提取到的关键点进行分组,一组极值点(5个)就对应一个检测结果。

使得目标检查问题转化成了一个纯粹的基于外观信息的关键点估计问题,从而巧妙地避开了区域分类和隐含特征学习。

创新点:
采用了自低向上的检测方法(Anchor-free),抛弃了传统的规则矩形框,使用五个极值点(左上,左下,右上,右下,中心点)来确定一个不规则的矩形框来检测目标物体。

与现有的目标检测模型相比,首先极值点比包围框更能反映物体信息,其次作者还提出了使用一个简单的trick就能得到一个更加细致的八边形的分割估计结果,最后如果还不满意还能结合DeepExtremeCut使用,将极值点转化为分割mask,最终的效果甚至可以和Mask R-CNN媲美。

&Research Objective

解决传统目标检测算法的局限性,并提出了提取五个极值点的anchor-free算法。

&Problem Statement

传统目标检测算法的局限性:

  • 因为形状问题(指矩形框),通常预测结果中包含了太多的无用干扰;
  • 枚举了大量不理解目标具体视觉信息的框;
  • 因为包围框本身就不能很好地代表物体本身,所以只能提很有限的信息(形状、姿势等)。

&Method(s)

本文作者基于当前目标检测存在的问题提出了通过极值点来检测目标。主要的工作原理如下图所示:
【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

  1. 首先通过Left heatmap,Top heatmap,Bottom heatmap和Right heatmap这四张热度图分别来预测四种极值点(左上,左下,右上,右下),和Centern heatmap来预测中心点。
  2. 然后将这四类极值点进行任意的组合,将组合得到的矩形框求一个中心点。
  3. 如果求得的中心点的坐标在预测的中心点的位置,说明这四个点组成的矩形框是一个检测物体。检测完毕。

上图红叉和绿勾的解释:

  • 上图红框在对极值点分组时,由四个极值点计算出可能的中心点,然后与center heatmao中的点比较,这四个点所得到的中心点是错的,也就是说四个极值点不是同一个实例的极值点。所以在判断时,它的等分就低,拒绝。
  • 绿色框的四个极值点计算出的中心点接近center heatmap对应的中心点,所以这四个点是同一个实例的极值点,故该框的等分就高,接受。

ExtremeNet整体结构:
【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points
ExtremeNet的输出通道数为:5 * C+4 * 2 。对每个类别,预测4张极值点heatmap和1张center map所以是5张。然后,对每种极值点heatmap,再预测2张offset map(分别对应XY轴方向),注意是所有类别公用的且center map没有,所以只有4x2张。

注:Center Grouping 、Ghost box suppression Center、Edge aggregation Extreme部分在后面介绍

&Evaluation

【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

&Conclusion

提出了一种基于自下而上的极端点估计的新颖目标检测框架。 我们的框架提取了四个极端点,并以纯几何方式将它们分组。 提出的框架产生了最新的检测结果,并在MSCOCO上产生了具有竞争力的实例分割结果,而没有看到任何COCO训练实例分割。

怎么理解自下而上、自上而下????
自下而上的是基于将低级的感觉输入,数据和刺激拼凑在一起的感知的形成
自上而下是通过使用高级知识,信念和上下文信息来形成的感知
或者理解为
自下而上:从具体到抽象(从低级的特征到高级的语义特征)
自上而下:从抽象到具体(从高级的语义特征到低级的特征)

&Notes

区别:

CornerNet是第一个将关键点检测用在目标检测任务上的模型。ExtremeNet与CornerNet有两处不同:

  1. 如何定义关键点:corner point通常落在物体外部,往往没有强烈的局部特征。而extreme point一半就在物体边界上,视觉上比较好辨认;
  2. 关键点分组:ExtremeNet纯粹依赖几何关系进行极值点的分组,没有隐含的特征学习,效果更好。

Center Grouping

极值点组合流程:

  1. 输入是每一个类别的5个热图即一个中心点热图和4个极值点热图

  2. 提取关键点阶段,从上文定义的四张热点图中提取出四个极值点,t, b, r, l ,通过下列公式计算出中心点:
    【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

  3. 判断 如果这个点c在中心热点图中有高响应,就认为这四个极值点是一个有效的检测,高响应的评判标准是:
    【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

然后枚举四类极值点所有可能的组合,重复上述检测方法,算法流程如下所示(O(n4)):
【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points

Center Grouping VS Associative Embedding

结果:使用关联嵌入时,AP下降了2.1%。
原因:虽然关联嵌入对于人体姿势估计和CornerNet很好用,但我们的极端点位于对象的正反面。从其极端点的优势来学习整个目标的 identity 和 appearance 可能太难了。虽然它可能适用于小型目标,在该目标中整个目标很容易适合关键点的有效接收范围,但对于中型和大型目标却无法实现。此外,极端点通常位于重叠物体之间的交点,这进一步混淆了identity feature。我们的几何分组方法可以很好地处理这些问题,因为它只需要推理appearance 。

Ghost box suppression Center

什么是Ghost box???
看下图(图源:donkey_1993):
若存在多个并排排列且大小相近的物体,则对obj_2这个目标来说,在指定center时,会有两个选择,一个是真实的目标,另一个是大一圈的ghost box。【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points
利用soft NMS来解决这种问题,若某个box所包含的所有框的分数和大于其自身的3倍,则最终分数除以2,这可以看做是一种惩罚,惩罚的对象是ghost box。

Edge aggregation Extreme

【论文笔记】:Bottom-up Object Detection by Grouping Extreme and Center Points
如上左图所示,有时候,极值点并不是唯一的,举例来说,一辆汽车,可能顶部这一条类似于水平的线上,每一个位置都有可能成为最顶部的极值点。

也就是说,若极点来自物体的垂直或水平边,则沿边缘任何一点都可被认为是极点。因此,我们的网络沿着对象的任何对齐边缘产生弱响应,而不是单一的强峰值响应。这种弱响应有两个不足:

  • 弱响应点的得分可能会小于阈值,那么极值点就会被错过
  • 即使检测到了这些极值点,它的得分将低于具有强峰值响应的稍微旋转的对象。

为了解决这个问题,提出了edge aggregation。对每一个取局部最大值得到的极值点,若是左边和右边的极值点,那么选择竖直方向进行聚合;同理,若是顶部,底部的极值点,则选择从水平方向进行分数聚合。聚合的方法为:沿着聚合方向,聚合那些单调递减的score,并在达到局部最小值的时候停止聚合。

参考