Objects as Points:CenterNet 无锚检测算法的理解
Posted 游客26024
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objects as Points:CenterNet 无锚检测算法的理解相关的知识,希望对你有一定的参考价值。
论文 Object as Points
论文地址:https://arxiv.org/pdf/1904.07850.pdf
简介
- 问题
在2018年,大多数成功的目标检测算法都是通过枚举无穷潜在的目标框,这样会加大计算成本。CenterNet(无锚检测算法)的提出缓解了这一问题。
- 主要贡献
使用MS COCO数据集
- ResNet 18+upsample+deformable convolution: 28.1 AP/142 FPS
- DLA 34+upsample+deformable convolution: 37.4 AP/52 FPS
- Hourglass104:45.1%/ 1.4FPS(test)
- 用于3D检测
- 用于人体姿态检测
流程图
首先输入一张3*512*512
的图片;再传入骨干网络(ResNet残差网络、Stacked Hourglass Network堆叠沙漏网络、DLA深度聚合网络)
提取到特征图,接着传入检测头网络,最后将特征图分为三大部分输出(HeatMap热力图部分也是置信度:80(COCO类别)*128(特征图的大小)*128、WH目标的宽高部分:2(W\\H)*128*128、XY中心点的偏移量部分:2(X\\Y)*128*128)
用于计算损失进行训练。
骨干网络
1.ResNet(残差网络)
这个网络不用多说,是2015年何凯明提出的(记忆中),特别经典,用于解决网络在回传时发生的梯度消失的问题。
2.Stack Hourglass Network(堆叠沙漏网络)
首先堆叠沙漏网络的由来:由于以前的网络通常使用最后一层的卷积层特征,这样会造成信息的丢失。因为网络的每层卷积提取的是不同的特征,例如提取人脸的特征,可能第一层卷积提取的特征是人脸轮廓的特征,第二层和第三层、第四层等卷积层提取鼻子或眼睛、嘴巴等特征。
其次,使用堆叠沙漏网络将各个不同卷积层的特征进行融合,进而缓解信息丢失的问题。
最后,由下图可得,堆叠沙漏网络可由Pre(卷积层) 与多个kps模块与Inters(中间监督卷积层)组成。其中最重要的部分为KPS模块,此思想是借用的残差模块skip的思想。
3.DLA(Deep Layer Aggregation 深度聚合网络)
要了解深度聚合网络必须得明白语义融合
与空间融合
语义融合:通道间的融合,提升模型的分类能力。
空间融合:尺度与分辨率的融合,提升模型的定位能力。
- FPN则是空间融合(特征融合时采用像素点相加而非通道相加)。
- DensNet则是语义融合,此思想也是借鉴残差模块的skip(将每层特征都去做了skip)
- 而DLA则是集合了FPN与DensNet的思想,如下图,其中一个
红色框
代表一个树形结构,红色框中的绿色节点
代表树的根节点。橘黄色的箭头,代表前一个根节点与后一个根节点的特征融合,其余的与一般网络结构无二。
损失函数
以上是关于Objects as Points:CenterNet 无锚检测算法的理解的主要内容,如果未能解决你的问题,请参考以下文章
[论文理解] CornerNet: Detecting Objects as Paired Keypoints
CenterNet:Objects as Points代码解析 :CenterNetsrclib rainsctdet
论文阅读Objects as Points 又 CenterNet | 目标检测
论文阅读Objects as Points 又名 CenterNet | 目标检测