论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)

论文原址:https://arxiv.org/abs/1901.08043
github: https://github.com/xingyizhou/ExtremeNet
摘要
本文利用一个关键点检测网络来检测目标物的最左边,最右边,顶部,底部及目标物中心五个点。如果这几个点在几何空间上对齐,则生成一个边界框。目标检测进而演变为基于外形的关键点检测问题,不需要进行区域分类及复杂的特征学习。
介绍
Top-Down方法占据目标检测中的主要地位,一些流行的目标检测算法通过直接裁剪区域或者特征,或者设置一些固定尺寸的anchor得到一些方形区域,然后,基于这些方形区域进行分类。top-down的方式也是存在一定限制的,一个方形框并不能很好的表示目标物的外形。许多目标并不是轴对齐的,如果将目标放入框中,则会包含大量干扰的背景像素。如下图所示

Top-Down方法列举了大量可能存在位置的边框,而没有真正理解目标物的视觉成分,这个过程十分占用计算量。用边界框来定位目标不是一个好方法,因为他得到的目标的细节信息很少。比如目标物的形状及位置等。
本文提出bottom-up的目标检测框架-ExtremeNet,用于检测目标物的四个极点。利用一个关键点检测网络,针对每个类别预测四个multi-peak heatmaps进而得到极点。对于每个类别又增加了一个heatmap用于预测目标的中心,其heatmap值为边框x,y方向的均值。然后基于纯几何的方法对extreme点进行组合。从每个map中得到一个点,得到四个extreme points,如果由这四个点决定产生的中心点对应的center map中的位置的值大于一个预定义的阈值,则将这四个点进行组合。本文详细罗列了O(n^4)个预测点的组合,并选择其中有效的组合方式。其中,n的设置十分小,对于COCO在GPU上的设置,一般取n<40就足够,下图为方法的大致流程。

CornerNet预测一组相对的点,然后基于嵌入式特征对这些点进行组合。本文与CornerNet存在两点不同:(1)关键点的定义(2)组合方式,角点是边界框的另一种表现形式,在top-down检测中会遇到很多问题,角点可能会经常落在没有较强特征目标物的外界。而另一方面,极点位于视觉可分,并具备连续性局部外形特征的目标物上。如最顶部的点极有可能落在人类的头部位置,车或者飞机的底部的点大概率会在轮子处。这使得极点的检测更加简单。另一点不同的是,CornerNet基于几何的方式进行组合,检测框架完全依赖于外形特征,并不进行复杂的特征学习,实验发现,基于外形特征的组合方式效果更好。
Extreme Points相比边界框,可以提供更丰富的信息,同时,extreme points也与目标物的mask有着紧密的联系。相比边界框,extreme points更好的预测目标物的mask。
Preliminaries
Extreme and center points:
代表边界框的四条边,为了标记一个框,点击左上角的点
及右下角的点
,通常这些点会位于目标物的外接,不太准确,进行调整也需要花费时间,平均下来需要花费34.5s。有人提出只标记四个极点,
构成的边界框为
,极点(x(a),y(a))是指在a(top,left,right,bottom)方向上没有其他点位于目标物上,这种方式产生的annotation的时间平均为7.2s。本文额外利用目标物的中心点
。
关键点检测利用一组全卷积的编码-解码结构针对不同类型的关键点进行预测得到一个多通道的heatmap,基于L2 损失或者Gaussian map进行一个全监督的训练。state of the art 的关键点检测模型为Hourglass 网络。对于每个通道回归得到一个大小为H,W的heatmap,训练由一个多峰值的heatmap驱动,每个关键点定义高斯核的均值,其标准差设置为固定值或者根据目标大小进行调整。在L2损失情形下,高斯heatmap可以被看作为一个回归目标,在逻辑回归中,可以看作是在positive 位置附近减少惩罚的weight map。
CornerNet:基于Hourglass Network作为backbone用于目标检测。其预测两个heatmap用于获得边界框的对角点。为了平衡正负样本的比例,设置如下训练损失。

为了提高极点子像素的精度,CornerNet对于每个角点增加了一个类别无关的偏移回归
,用于恢复在hourglass下采样过程中损失的信息。此offset map基于smooth L1损失进行训练,然后基于embeding对角点进行组合。ExtremeNet采用了CornerNet的损失及结构的思想。

ExtremeNet for Object detection:ExtremeNet基于HourglassNetwork针对每个类别预测五个heatmaps。本文参考CornerNet的训练初始化,损失及偏移预测,offset的预测是于与类别无关的,而四个极点的heatmap是类别明确的。center heatmap中不存在offset prediction.本文输出5XC的heatmaps及4x2的heatmaps用于预测offset。整体流程如下图所示,在得到四个极点后,完全基于几何原理对其进行组合。

Center Grouping:极点位于目标物的不同边上,这增加了组合的复杂度,associative embeding无法基于全局对关键点进行组合。
组合算法的输入为每个类别的5个heatmaps。一个center map及4个heatmaps。对于每个heatmap通过检测每个峰点得到其相应的关键点。峰点是像素点位置大于tp,同时是3x3像素中的局部最大点的像素,这个过程称为extractPeak。
分别从四个heatmaps中得到对应的极点,t,b,r,l,计算其中心点的位置为
,若该点所对应centermap中具有一个较高的相应(大于一定阈值tc),则将此四个极点定义为一个有效检测。本文以粗鲁的方式将所有关键点组合进行罗列(复杂读为O(n^4,n为每个坐标方向上提取的极点个数))。算法流程如下,

Ghost box suppression:对于共线的同样大小的目标物,Extremenet可能会得到一个confidence较高的假阳性检测结果。对于中间的目标存在两种情形:要么产生一个小的边界框,要么得到一个相对较大的边框将相邻目标的极点也包含在内。将这戏额fasle-positive检测框成为ghost box。这种框不多,但是在组合过程中固定存在。
本文增加了一个后处理的方法,提出了一个类似于soft NMS的方法进行处理。“ghost box”中包含许多其他的小的检测,如果包含的框的分的和超过其自身的3倍,则将概况的分数除以2。该方法只是对潜在的"Ghost"box进行的惩罚。
Edge aggregation: 极点的定义不是固定的,如果目标物边界边缘构成极点,则该边的任意一个点都可以看作是极点。因此,本文对目标物的对齐边界产生一个较弱的相应,而不是强峰值响应。但这种弱相应存在两个问题:第一:较弱的相应其值可能会低于峰值阈值,因此该极点可能会被忽略。第二:即使检测到了一个极点,其分数仍可能会比具有强响应的旋转对象的分数低。本文采用edge aggregation解决上述问题。
对于提取出局部最大点的极点,将其水平方向及垂直方向极点的分数进行聚合。将所有分数单调递减的极点进行聚合。当在聚合方向达到局部最小值的时候停止聚合。令m代表一个极点,
代表该点水平或者垂直方向上的两个分段分数。i0<0,i1>0代表两个局部最小
,
的位置。边缘聚合根据下式对关键点分数进行更新。
结果如下

实验




Reference
[1] N. Bodla, B. Singh, R. Chellappa, and L. S. Davis. Softnmsimproving object detection with one line of code. In ICCV, 2017. 5, 6
[2] Z. Cai and N. Vasconcelos. Cascade r-cnn: Delving into high quality object detection. CVPR, 2018. 7
[3] Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multiperson 2d pose estimation using part affinity fields. In CVPR,2017. 1, 3
[4] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. PAMI, 2018. 4
论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)的更多相关文章
- 论文阅读 | ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points
相关链接 论文地址:https://arxiv.org/abs/1901.08043 论文代码:https://github.com/xingyizhou/ExtremeNet 概述 ExtremeN ...
- 论文阅读笔记五十八:FoveaBox: Beyond Anchor-based Object Detector(CVPR2019)
论文原址:https://arxiv.org/abs/1904.03797 摘要 FoveaBox属于anchor-free的目标检测网络,FoveaBox直接学习可能存在的图片种可能存在的目标,这期 ...
- 论文阅读笔记五十七:FCOS: Fully Convolutional One-Stage Object Detection(CVPR2019)
论文原址:https://arxiv.org/abs/1904.01355 github: tinyurl.com/FCOSv1 摘要 本文提出了一个基于全卷积的单阶段检测网络,类似于语义分割,针对每 ...
- 论文阅读笔记五十五:DenseBox: Unifying Landmark Localization with End to End Object Detection(CVPR2015)
论文原址:https://arxiv.org/abs/1509.04874 github:https://github.com/CaptainEven/DenseBox 摘要 本文先提出了一个问题:如 ...
- 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)
论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...
- 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...
- 论文阅读笔记四十六:Feature Selective Anchor-Free Module for Single-Shot Object Detection(CVPR2019)
论文原址:https://arxiv.org/abs/1903.00621 摘要 本文提出了基于无anchor机制的特征选择模块,是一个简单高效的单阶段组件,其可以结合特征金字塔嵌入到单阶段检测器中. ...
- 论文阅读笔记五十九:Res2Net: A New Multi-scale Backbone Architecture(CVPR2019)
论文原址:https://arxiv.org/abs/1904.01169 摘要 视觉任务中多尺寸的特征表示十分重要,作为backbone的CNN的对尺寸表征能力越强,性能提升越大.目前,大多数多尺寸 ...
随机推荐
- delphi 组件安装工具开发
当一个组件的dpk文件数量较多且安装工具不顺手的时候,写一个属于自己的组件安装工具就很有必要了. 本例以 Dev Express 16.1.2 为例,设计一个组件安装工具,以便更深入理解 delphi ...
- Python之函数目录(自定义函数,内置函数,装饰器,迭代器,生成器)
1.初始函数 2.函数嵌套及作用域 3.装饰器 4.迭代器和生成器 6.内置函数 7.递归函数 8.匿名函数 9.函数相关定义 10.三元表达式.列表推导式.生成器表达式 11.函数与方法的区别
- leetcode458
原本没有思路,参考了网上的解题思路,自己独立完成了代码. int poorPigs(int buckets, int minutesToDie, int minutesToTest) { ; ; wh ...
- 关于JS正则表达式的一篇文章(转载)
原文:http://www.cnblogs.com/xujh/archive/2008/08/21/1273525.html <input onkeypress="return ...
- cygwin选择安装包选项搭建NDK开发环境/配置cygwin的root权限
9.Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包.那四个单选按钮是选择下边树的样式,默认就行,不用动.View默认是Category,建议改成full显示全部包再查,省的一些包 ...
- EF CODEFIRST WITH ORACLE 存储过程
EF CODEFIRST WITH ORACLE 解决存储过程一直没找到解决方案 所以最后也没办法还是用了最基本的解决方案 采用Oracle.ManagedDataAccess提供的ADO基础访问类 ...
- dubbo+zookeeper+dubboadmin环境搭建
4.环境搭建 4.1.zookeeper注册中心的配置安装(在windows平台下,Linux类似,见官方文档)(Redis注册中心安装,简易注册中心安装,简易监控中心安装,见官方文档) 下载zook ...
- 提示crontab command not found的解决方法
操作步骤 1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum insta ...
- C++面向对象类的实例题目十一
题目描述: 写一个程序计算三角形,正方形和圆形3种图形的面积 程序代码: #include<iostream> #include<cmath> #define PAI 3.14 ...
- 机器人自主移动的秘密:SLAM与路径规划有什么关系?(三)
博客转载自:https://www.leiphone.com/news/201612/lvDXqY82OGNqEiyl.html 雷锋网(公众号:雷锋网)按:本文作者SLAMTEC(思岚科技公号sla ...