当前位置:网站首页>Anchor Free检测器:CenterNet
Anchor Free检测器:CenterNet
2022-07-27 09:48:00 【yfy2022yfy】
2019/07/15,转载请注明
论文地址:https://arxiv.org/abs/1904.07850
源码:https://github.com/xingyizhou/CenterNet
一、摘要
目前比较成功的检测器,都是列举了极其多的潜在目标位置,然后对每一个分类,之后还要加上后处理,作者认为这种做法还是低效了。
本文中,作者把一个目标建模为一个点--目标检测框的中心点。检测器通过关键点估计,找到中心点,并回归其他属性,比如size,3D位置,方向甚至姿态。
CenterNet在MS COCO数据集上取得了最好的速度精度表现:
- 28.1%AP @142fps
- 37.4%AP @52fps
- 45.1%AP @1.4fps(多尺度测试)。
二、主要内容
1、方法介绍
本文中,作者把一个目标建模为一个点--目标检测框的中心点。检测器通过关键点估计,找到中心点,并回归其他属性,比如size,3D位置,方向甚至姿态。
目标检测就成为了标准的关键点预测问题:
- 把图片输入到全卷积网络生成heatmap,热图峰值对应目标中心;
- 根据峰值处的图片特征预测目标检测框的宽高;
另外,在中心点处输出附加预测,可以进行3d目标检测,以及多人姿态估计:
- 对于3D框估计,我们回归对象的绝对深度、三D框尺寸和对象方向
- 对于人体姿态估计,我们把二维关节点看作是中心位置+偏移量,直接回归偏移量
2、与之前基于anchor方法的对比
本文方法和基于anchor的one stage方法类似。中心点本身也可以视为一个框形状未知的anchor。
不同之处在于:
- 中心点的anchor分配只根据位置,不考虑IoU,也就没有阈值和分类;
- 一个目标只有一个正例中心点,不用NMS,而是简单的从heatmap中取峰值。
- CenterNet输出分辨率更高,输出stride=4,对比传统的stride=16。
3、输出热力图
网络输出结果是下采样stride=4。作者使用了几种全卷积编码-解码网络预测热力图:堆叠的Hourglass网络,上采样ResNet,和深层聚合DLA。
先计算热力图尺度下的GT关键点,在使用高斯核对GT点及邻近像素计算。如果高斯计算后有重叠,则每个像素使用最大值。训练时使用focal loss。
为了弥补降采样(stride=4)导致的量化误差,我们额外预测了中心点偏移量,训练时用L1 loss。
4、中心点即目标
假设目标框坐标是
. 中心点
由热力图网络输出。另外,可以回归目标框宽高
。考虑到计算量,这里只用输出的热力图来预测目标框尺寸,使用L1 loss。
作者使用一个网络来同时预测关键点、中心点偏移量、和尺度,共C+4个结果(关键点用C个热力图表示)顺带一提,中心点的值在0~1间,就是置信度。所有输出共享一个主干网,然后每一个输出会使用一个3x3卷积,ReLU和1x1卷积。

- 热力图的C表示该类别的热力图共有C个。
- 文中写了每个热力图都有n个峰值,作者设最大值100,我理解是多目标检测。
- 每个目标都有对应的中心点和框尺寸
5、检测扩展
除了输出目标检测外,该方法可以同样的形式,增加3D检测、人体姿态估计分支。


6、实验结果
(1)目标检测


大部分one-stage检测器,都进行了单尺度/多尺度的测试。
(2)3D目标检测

(3)人体姿态估计

论文引用之后还有附录,有兴趣的也可以看看。
边栏推荐
- C # set different text watermarks for each page of word
- Google Earth engine app - print the coordinates of points to the console and map, set the style and update it
- Leetcode.565. array nesting____ Violent dfs- > pruning dfs- > in situ modification
- Interview JD T5, was pressed on the ground friction, who knows what I experienced?
- 都什么年代了你还在用 Date
- LeetCode.1260. 二维网格迁移____原地暴力 / 降维+循环数组直接定位
- oracle rac 19c pdb实例当掉
- ACL2021最佳论文出炉,来自字节跳动
- Quickly apply JS to customize the effect of lunar phase change
- Nacos is used as a registration center
猜你喜欢
随机推荐
Easy to understand! Graphic go synergy principle and Practice
Explain knative cloud function framework in simple terms!
Meeting seating function of conference OA project & Implementation of meeting submission for approval
Come on, chengxujun
Nacos configuration center dynamically refreshes the data source
Understand chisel language. 27. Chisel advanced finite state machine (I) -- basic finite state machine (Moore machine)
July training (day 09) - two point search
刷题《剑指Offer》day03
省应急管理厅:广州可争取推广幼儿应急安全宣教经验
July training (day 14) - stack
Understand chisel language. 24. Chisel sequential circuit (IV) -- detailed explanation of chisel memory
并发之线程状态转换
Interview Essentials: shrimp skin server 15 consecutive questions
Esp8266 Arduino programming example - interrupt
How to restore the original version after installing Hal Library
July training (day 15) - depth first search
MOS drive in motor controller
[cloud native • Devops] master the container management tool rancher
华为交换机双上行组网Smart-link配置指南
QT | about the problem that QT creator cannot open the project and compile it









