论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)

论文链接:https://arxiv.org/abs/1904.08189
github:https://github.com/Duankaiwen/CenterNet
摘要
目标检测中,基于关键点的方法经常出现大量不正确的边界框,主要是由于缺乏对相关剪裁区域的额外监督造成的。本文提出一种有效的方法,以最小的资源探索剪裁区域的视觉模式。本文提出的CenterNet是一个单阶段的关键点检测模型。CenterNet通过检测每个目标物看作是一个三个关键点,而不是一对关键点,这样做同时提高了准确率及召回率。本文还设计了另外两个模型,cascade corner pooling及center pooling,容易获得从左上角及右下角的丰富信息,同时在中间区域获得更多的识别信息。
介绍
目标检测中需要大量的anchor,是为了满足与每个ground truth有足够高的IoU值。同时,anchor与ground truth是不匹配的,不利于边界框的分类任务。为了解决anchor的缺点,基于关键点的单阶段检测CornerNet被提出。通过检测一组关键点来检测目标,进而移除了anchor,但由于其缺乏对目标全局信息的参考,仍然具有局限性。同时,每个目标由一组关键点组成,算法对边界框比较敏感,同时,无法确定哪组关键点属于同一个目标物。因此,如下图,经常会产生一些不正确的边界框。其中大部分框可以通过一些像长宽比的信息将其过滤掉。

本文改进了CornerNet,增加了一个观察每个候选区域的视觉模式的功能,进而可以判断每个边界框的正确性。CenterNet通过增加一个关键点来探索proposal中间区域(近似几何中心)的信息,本文创新点在于,如果预测的边界框与ground truth有较高的IoU,则中心关键点预测出相同类别的概率要高,反之亦然。因此,在进行inference时,当通过一组关键点产生了一个边界框,我们继续观察是否具有同类别的一个关键点落入区域的中心,即使用三个点表示目标。
为了更好的检测中心的关键点即角点,提出了两个方法来丰富中心点及角点的信息。(1)center pooling:用于预测中心关键点的分支,有利于中心获得更多目标物的中心区域,进而更易感知proposal的中心区域。通过取中心位置横向与纵向响应值的和的最大值实现此方法。(2)cascade corner pooling:增加原始的corner pooling感知内部信息的功能。结合了feature map中目标物内部及边界方向的响应值和的最大值来预测角点。经试验证实,此方法在存在feature-level 噪声的情况下更加稳定,有助于准确率及召回率的提升。
本文方法
Object Detection as Keypoint Triplets:CenterNet整体结构如下图所示,用一组角点及中心点表示每个目标物,在CornerNet的基础上增加了一个用于预测center keypoint的heatmap,同时,预测cneter keypoint的偏移,然后基于CornerNet提出的方法选择前k个候选框。

为了剔除掉不正确的边界框,利用检测到的中心点的位置并对其按如下过程进行排序操作:(1)根据其分数选择前k个关键点。(2)根据对应的偏移量将center keypoint remap至输入图中。(3)为每一个边界框定义一个中心区域,并确保中心区域存在中心关键点,同时,保证该点的类别要与边界框的类别一致。如果中心区域检测到了中心关键点,则用左上角,右下角及中心点的分数的平均值更新边界框的分数,并保存该边界框。如果未检测到中心点,则移除该边界框。
中心区域的大小影响这边界框的检测结果。比如,小中心区域,对于小的边界框具有较低的召回率,而大区域相对于大的目标造成较低的精度。因此,本文提出了尺度敏感区域用于适应不同尺寸大小的目标物。其一般会生成相对小目标较大,相对大目标较小的中心区域,假设我们需要判断一个边界框I是否需要被保留,tlx,tly代表框左上角的点,brx,bry代表框右下角的点。定义一个中心区域j,定义左上角的点的坐标为(ctlx,ctly),右下角点(cbrx,cbry)。这些参数满足如下定义。

n为奇数代表中心区域j的大小。对于边界框小于150的设置n为3,大于150的设置n为5.如下所示。

角点及中心点信息的丰富:(1)center pooling:目标物的几何中心对传递可识别的视觉模式的贡献较少,比如(人的头部包含很强的视觉模式,但几何中心大部分在人躯体的中间)。未解决这个问题,提出了center pooling用于获得丰富的可识别视觉模式。下图a介绍了center pooling的操作,首先由backbone得到一个feature map,同时判断该feature map中是否存在一个中心点。需要找到该点水平方向及垂直方向上的最大值,并将其进行相加。center pooling更有利于中心关键点的检测。(2)cascade corner pooling:角点经常超出目标物的边界,缺少局部视觉外形特征。CornerNet使用corner pooling来解决这个问题。如下图b所示。Corner pooling主要是寻找边界上的最大值进而确定角点,但这样存在一个问题就是使角点对边界框很敏感。为了让角点能获得目标物的视觉模式,本文做了改进如下图c所示,首先,沿着边界寻找边界上的最大值,然后沿着最大值的位置向里看,找到内部的最大响应值,最后将两个最大值进行相加处理。这样,角点同时获得了目标物的边界信息及视觉信息。

center pooling及cascade corner pooling可以通过在不同方向上组合不同的corner pooling来实现。二者模型如下图所示。center pooling为了获得水平方向上的最大值,依次顺序连接left pooling 及right pooling。cascade corner pooling相比于CornerNet传统的corner pooling,在top pooling之前增加了一个left pooling。

Training
输入图片尺寸为511x511,heatmap大小为128x128,训练损失如下,参数定义按照CornerNet中的。

实验





Reference
[1] S. Bell, C. Lawrence Zitnick, K. Bala, and R. Girshick. Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2874–2883, 2016.
[2] N. Bodla, B. Singh, R. Chellappa, and L. S. Davis. Softnms–improving object detection with one line of code. In Proceedings of the IEEE international conference on computer vision, pages 5561–5569, 2017.
[3] Z. Cai, Q. Fan, R. S. Feris, and N. Vasconcelos. A unified multi-scale deep convolutional neural network for fast object detection. In European conference on computer vision, pages 354–370. Springer, 2016.
[4] Z. Cai and N. Vasconcelos. Cascade r-cnn: Delving into high quality object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 6154–6162, 2018
论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)的更多相关文章
- 论文阅读笔记五十七:FCOS: Fully Convolutional One-Stage Object Detection(CVPR2019)
论文原址:https://arxiv.org/abs/1904.01355 github: tinyurl.com/FCOSv1 摘要 本文提出了一个基于全卷积的单阶段检测网络,类似于语义分割,针对每 ...
- 论文阅读笔记五十八:FoveaBox: Beyond Anchor-based Object Detector(CVPR2019)
论文原址:https://arxiv.org/abs/1904.03797 摘要 FoveaBox属于anchor-free的目标检测网络,FoveaBox直接学习可能存在的图片种可能存在的目标,这期 ...
- 论文阅读笔记六十三:DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling(CVPR2017)
论文原址:https://arxiv.org/abs/1703.10295 github:https://github.com/lachlants/denet 摘要 本文重新定义了目标检测,将其定义为 ...
- 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...
- 论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)
论文原址:https://arxiv.org/abs/1901.08043 github: https://github.com/xingyizhou/ExtremeNet 摘要 本文利用一个关键点检 ...
- 论文阅读笔记五十五: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 摘要 尽管单阶段的检测 ...
- 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...
随机推荐
- markdown生成的a标签如何在新页面打开
原始的超链接语法这样写:[超链接的名字](url) 在新窗口中打开:[超链接的名字](url?_blank) 在本窗口中打开:[超链接的名字](url?_self)默认是在本窗口中打开 但上面的说法貌 ...
- Django_rest framework 框架介绍
restful介绍 restful协议 一切皆是资源,操作只是请求方式 URL 设计 原先的URL设计方式 在url 中体现出操作行为 /books/ books /books/add/ addbo ...
- Shell 简单构建 Node web服务器
.git bash 执行代码生成: ./makeJs.sh 生成文件如下: 访问:http://127.0.0.1:3030/index.html makeJs.sh 代码如下: #create m ...
- [AH2017/HNOI2017]大佬
题目描述 人们总是难免会碰到大佬.他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场就能让周围的人吓得瑟瑟发抖,不敢言语. 你作为一个 OIER,面对这样的事情非常不开心,于 ...
- centos7下使用docker安装gitlab
环境背景: Docker化已经成为一种热门,记录一下使用docker引擎安装gitlab的过程. 测试环境: 系统 软件 依赖 CentOS 7.4 GitLab(latest) docker-ce ...
- 【菜逼从零学dp】dp专题
自己dp 太菜 基本没写过题所以就 从新来过从最简单的开始写吧 记录一下自己的历程 题目链接:牛牛与数组 dp[j,i] 表示 第j 位数 以i 结尾的 有多少个 先记录 以i结尾的 一共多少 然 ...
- Spring Boot 集成 Spring Security 实现权限认证模块
作者:王帅@CodeSheep 写在前面 关于 Spring Security Web系统的认证和权限模块也算是一个系统的基础设施了,几乎任何的互联网服务都会涉及到这方面的要求.在Java EE领 ...
- [CTSC2017]网络
[CTSC2017]网络 连一条长度为len的边,使得基环树的直径最小 结论:一定连在某条直径两个点上(否则更靠近不劣) 然后二分答案判定. dp[i]:链上一个点往下延伸的最大深度 考虑对于任意两个 ...
- Nacos环境搭建
先去下载↓↓↓↓ https://github.com/alibaba/nacos/releases 单机版 单机版主要为了测试,没啥意思,你下载一个zip包,然后解压,进入bin目录,双击 star ...
- 怎么解决docker pull拉取镜像速度过慢的问题
在我们安装了docker之后,在利用docker pull下载镜像的时候,由于国内的源会出现的问题就是速度真的很慢,可以用龟速来形容,最痛苦的是当你耐心的等待几个小时之后,出现unexpected E ...