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.

  • 相关阅读:
    Python 安装Twisted 提示python version 2.7 required,which was not found in the registry
    Openfire Strophe开发中文乱码问题
    css div 垂直居中
    How to create custom methods for use in spring security expression language annotations
    How to check “hasRole” in Java Code with Spring Security?
    Android 显示/隐藏 应用图标
    Android 当媒体变更后,通知其他应用重新扫描
    文件上传那些事儿
    专题:点滴Javascript
    主流动画实现方式总结
  • 原文地址:https://www.cnblogs.com/VincentLee/p/14888997.html
Copyright © 2011-2022 走看看