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

    Center Grouping

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

      Center Grouping的流程如算法1所示,首先获取四个极点热图上的高峰点,高峰点需满足两点:1) 其值需大于阈值$ au_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 au_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}$,则边聚合的高峰点值更新为$ ilde{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.

  • 相关阅读:
    js的同步和异步
    事件三
    事件2
    JS作用域题
    游戏之乐
    NSTimer(2)
    NSTimer
    理解 Objective-C Runtime
    iOS系统安全机制概览
    Which is the best of GCD, NSThread or NSOperationQueue?
  • 原文地址:https://www.cnblogs.com/VincentLee/p/14888997.html
Copyright © 2011-2022 走看看