论文Objects as Points
源码GitHub地址

CenterNet是全卷积的神经网络,不需要额外的NMS的后处理,属于one-stage的检测方法。

1、2D目标检测

通过预测目标的中心点keypoint、由于下采样带来的中心点的偏移offset及尺寸size来获取目标的bounding box。

(1)keypoint: Y ^ \hat{Y} Y^

  • 输出的为二值heatmap, Y ^ ∈ [ 0 , 1 ] W R × H R × C \hat{Y}\in[0,1]^{\frac{W}{R}\times\frac{H}{R}\times C} Y^∈[0,1]RW​×RH​×C 1为keypoint,0为background。对于detection,C为类别数。R为下采样率。文中R=4。
    对每个ground-truth keypoint p p p首先计算一个低分辨率的 p ~ = ⌊ p R ⌋ \widetilde{p}=\lfloor\frac{p}{R}\rfloor p ​=⌊Rp​⌋, p ~ \widetilde{p} p ​又作用在Gaussian核 Y x y c = e x p ( − ( x − p ~ x ) 2 + ( y − p ~ y ) 2 2 σ p 2 ) Y_{xyc}=exp(-\frac{(x-\widetilde{p}_x)^2+(y-\widetilde{p}_y)^2}{2\sigma^2_p}) Yxyc​=exp(−2σp2​(x−p ​x​)2+(y−p ​y​)2​)
    如果同一类别的高斯核有重叠,选取原则是element-wise maximum。又称为peaks。
  • Loss
    Focal Loss

(2)offset: O ^ \hat{O} O^

  • 由于多次下采样带来的目标中心的偏移, O ^ ∈ R W R × H R × 2 \hat{O}\in R^{\frac{W}{R}\times \frac{H}{R}\times 2} O^∈RRW​×RH​×2
  • L1 Loss

(3)size: S ^ \hat{S} S^

  • 预测目标的width和height。 S ^ ∈ R W R × H R × 2 \hat{S}\in R^{\frac{W}{R}\times \frac{H}{R}\times 2} S^∈RRW​×RH​×2 ,这里用的就是原始的坐标,没有进行归一化。
  • L1 Loss

(4)Bounding Box的计算

( x − w 2 + o f f s e t ( x ) , y − h 2 + o f f s e t ( y ) x + w 2 + o f f s e t ( x ) , y + h 2 + o f f s e t ( y ) ) (x-\frac{w}2+offset(x),y-\frac{h}2+offset(y)\\x+\frac{w}2+offset(x),y+\frac{h}2+offset(y)) (x−2w​+offset(x),y−2h​+offset(y)x+2w​+offset(x),y+2h​+offset(y))
x,y为keypoint的预测值,w,h为size,offset(x)和offset(y)为偏移预测。
对于keypoint,文中选取的原则是大于等于与该peaks相连的8个neighbor中的前100个。实现方法为3x3的max pooling。

def _nms(heat, kernel=3):pad = (kernel - 1) // 2hmax = nn.functional.max_pool2d(heat, (kernel, kernel), stride=1, padding=pad)keep = (hmax == heat).float()return heat * keep
def _topk(scores, K=100):batch, cat, height, width = scores.size()topk_scores, topk_inds = torch.topk(scores.view(batch, cat, -1), K)topk_inds = topk_inds % (height * width)topk_ys   = (topk_inds / width).int().float()topk_xs   = (topk_inds % width).int().float()topk_score, topk_ind = torch.topk(topk_scores.view(batch, -1), K)topk_clses = (topk_ind / K).int()topk_inds = _gather_feat(topk_inds.view(batch, -1, 1), topk_ind).view(batch, K)topk_ys = _gather_feat(topk_ys.view(batch, -1, 1), topk_ind).view(batch, K)topk_xs = _gather_feat(topk_xs.view(batch, -1, 1), topk_ind).view(batch, K)return topk_score, topk_inds, topk_clses, topk_ys, topk_xs

2、3D目标检测

(1)depth:

  • depth直接计算有困难,因此 d = 1 σ ( d ~ ) − 1 ∈ [ 0 , 1 ] R W R × H R × 1 d=\frac1{\sigma(\widetilde{d})}-1\in [0,1]R^{\frac{W}{R}\times\frac{H}{R}\times1} d=σ(d )1​−1∈[0,1]RRW​×RH​×1.
  • L1 Loss

(2)3D dimension

  • d i m ∈ R W R × H R × 3 dim\in R^{\frac{W}{R}\times\frac{H}{R}\times3} dim∈RRW​×RH​×3
  • L1 Loss

(3)orientation

  • 用一个标量来回归比较困难。所以选取用8个标量。即 o r i e n t a t i o n ∈ R W R × H R × 8 orientation\in R^{\frac{W}{R}\times\frac{H}{R}\times8} orientation∈RRW​×RH​×8,一共分了两部分方向角,一个是 [ π 6 , − 7 π 6 ] [\frac{\pi}6,-\frac{7\pi}6] [6π​,−67π​],另一个是 [ − π 6 , 7 π 6 ] [-\frac{\pi}6,\frac{7\pi}6] [−6π​,67π​],每个方向角用4个标量来表示。其中2个标量用softmax做分类,另外两个做角度回归。
  • L1 Loss

3、Human Pose部分,待补充

4、Network

(1)Backbone

detection、pose都用同一个backbone来提取特征。文中选取的Backbone有ResNet18、ResNet101、DLA34、Hourglass104。
其中ResNet18和DLA34采用来DCN(deformable convolution,可形变卷积),把每个上采样层的3x3的卷积用DCN来替换。

  • ResNet:用了3个上采样来提高输出的分辨率,三个上采样层的输出通道分别为256,128,64,在每个上采样之前加了一个3x3的DCN。上采样的卷积核初始化为bilinear interpolation。
  • DLA34:skip connection用DCN代替。同样,每个上采样层用3x3的DCN。

(2)Head

在backbone后,接3x3conv-Relu-1x1conv得到网络的输出。
其中3x3conv的channel,对于DLA34是256。

5、Training

  • input:512x512
  • output:128x128
  • data augmentation:random flip and random scaling(from 0.6 to 1.3),cropping and color jitter。(对3D检测不用data augumentation
  • optimizer:Adam
  • ResNet18/DLA34:batch_size=128,8 GPU, lr=5e-4,120epochs,learning rate dropped 10× at 90 and 120 epochs,

CenterNet做2D和3D目标检测相关推荐

  1. 3D目标检测综述:从数据集到2D和3D方法

    本文经机器之心(almosthuman2014)授权转载,禁止二次转载. 作者:Yilin Wang, Jiayi Ye 机器之心编译 编辑:Panda 目标检测一直是计算机视觉领域中一大难题.近日, ...

  2. 使用Disentangling形式的损失函数回归2D和3D目标框

    本文介绍一篇 ICCV 2019 的论文『 Disentangling Monocular 3D Object Detection』.详细信息如下: 论文链接:https://arxiv.org/ab ...

  3. OpenPCDet:点云3D目标检测开源库

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/152120636 随着自动驾驶与机器人技术的不断发展,基于点云表征的3D目标检测领域在近年来取得了 ...

  4. CVPR2020 | 阿里结构感知3D目标检测,KITTI BEV 排行榜第一!

    本文转载自机器之心. 阿里巴巴达摩院在自动驾驶 3D 物体检测方面又有新成果发布.近日,计算机视觉顶会 CVPR 2020 接收论文结果发布,达摩院一篇名为<Structure Aware Si ...

  5. AAAI 2020 Oral | 华科提出TANet:提升点云3D目标检测的稳健性

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转自机器之心. 机器之心发布 机器之心编辑部 2020 年 2 月 7 日-2 月 12 日,AAAI 2020 将于美国纽约举办.不久之前,大会官 ...

  6. Multi-Modal 3D Object Detection in Autonomous Driving: a Survey(自动驾驶中的多模态3D目标检测综述)论文笔记

    原文链接:https://arxiv.org/pdf/2106.12735.pdf 1.引言 1.1 单一传感器3D目标检测         基于图像的3D目标检测.低费用换来满意的性能.但存在遮挡. ...

  7. CVPR 2020 | 3D目标检测泛化问题研究

    3D目标检测被广泛用于自动驾驶,但在德国收集的数据训练的检测器可以在美国的道路上表现的好吗?实验证明,这种情况会精度下降严重,作者进一步发现主要是不同场景中汽车的大小差异过大导致的,通过简单的尺度归一 ...

  8. 首个实时单目3D目标检测算法:RTM3D,代码将开源

    o 点击我爱计算机视觉标星,更快获取CVML新技术 基于单目图像的3D目标检测是在输入RGB图像的情况下估计目标的3D包围框,在自动驾驶领域非常有用. 今天来自中科院沈阳自动化所等单位的学者公布论文提 ...

  9. Facebook 开源3D目标检测框架VoteNet,曾刷新两大数据集最高精度

    点击我爱计算机视觉标星,更快获取CVML新技术 VoteNet为Facebook何恺明等人于今年4月在论文Deep Hough Voting for 3D Object Detection in Po ...

最新文章

  1. Git最新版从零开始详细教程(迅速搞定~)
  2. 50 jQuery拷贝对象与多库共存
  3. 一步一步学习Ultimus - 三、系统设置
  4. C#字符串与unicode互相转换
  5. c++ 管理员身份_CATIA的管理员模式和多版本环境变量设置
  6. IT项目管理总结:第九章 项目人力资源管理
  7. iOS之深入解析Xcode 13正式版发布的40个新特性
  8. iview tabs里面放入 i-switch slot的写法
  9. [Leedcode][JAVA][第67题][二进制求和][位运算][字符串]
  10. python以垂直方式输出hello world_python3提问:垂直输出Hello World,全部代码不超过2行....
  11. m1MacBook的TensorFlow虚拟环境---pytables的安装
  12. 简单的窗体抖动托管c++
  13. 【数据结构笔记41】散列表/哈希表的性能分享
  14. 尼得科向全新的伺服技术挑战
  15. 对话系统 | (4) 任务型对话系统基础
  16. 指纹识别技术的基本原理及过程
  17. 程序员的修炼之道 从小工到小工
  18. 计算机技术与软件专业技术资格 (水平) 考试 - 报考指南
  19. Linux网卡流量限制
  20. matlab信号时序图,怎么看时序图,电路原理图(转)

热门文章

  1. 柠檬浏览器 for linux,柠檬浏览器app官网下载_柠檬浏览器最新官网下载_18183软件下载...
  2. 网络和网路互联的设计
  3. 微信小程序---文本域输入带最大字数限制
  4. 2022-11-16 AndroidS 新建产品lunch
  5. ibatis java.util.Map作为parameterClass和resultClass(转)
  6. 国产 CAE 软件研发
  7. fuchsiaos和鸿蒙os区别,谷歌Fuchsia OS和华为鸿蒙系统(HarmonyOS)没有必然联系
  8. perl中正则匹配中文字符
  9. SpringBoot Actuator
  10. RNN attention model intution