PointRCNN: 点云的3D目标生成与检测

PointRCNN: 3D Object Proposal Generation and
Detection from Point Cloud

论文地址:https://arxiv.org/abs/1812.04244

代码地址:https://github.com/sshaoshuai/PointRCNN

摘要

本文提出了一种基于点云的三维目标检测方法。整个框架由两个阶段组成:第一阶段用于自下而上的3D方案生成,第二阶段用于在标准坐标系中细化方案以获得最终的检测结果。stage-1子网没有像以前的方法那样从RGB图像或投影点云到鸟瞰图或体素中生成建议,而是通过将整个场景的点云分割成前景和背景,以自下而上的方式直接从点云生成少量高质量的3D建议。第二阶段子网络将每个方案的集合点转换为规范坐标,以学习更好的局部空间特征,并结合第一阶段学习到的每个点的全局语义特征,进行精确的box细化和置信度预测。在KITTI数据集的三维检测基准上进行的大量实验表明,仅使用点云作为输入架构,其性能优于最新的方法,并且具有显著的边缘特征。

本文贡献可以概括为三个方面。

(1) 提出了一种基于自下而上点云的三维包围box方案生成算法,通过将点云分割成前景和背景,生成少量高质量的三维图像方案。从分割中得到的学习点表示不仅有利于方案的生成,而且有助于以后的box求精。
(2) 所提出的规范化三维包围box精化利用了从阶段1产生的高召回box建议,并学习在具有稳健的基于bin的损失的规范化坐标中预测box坐标精化。
(3) 提出的3D检测框架PointRCNN以显著的优势超过了最新的方法,并在截至2018年11月16日所有已发表的3D检测作品中排名第一,只使用点云作为输入测试KITTI板。
在自主驾驶中,最常用的三维传感器是激光雷达传感器,它生成三维点云来捕捉场景的三维结构。基于点云的三维目标检测的难点主要在于点云的不规则性。最先进的三维检测方法要么利用成熟的二维检测, 通过将点云投影到鸟瞰图[14,42,17]中(见图1(a))、正面图[4,38]或规则的三维体素[34,43]中的框架,它们不是最优的,并且在量化过程中遭受信息丢失。
点云三维检测的PointRCNN
在这一部分中,提出了一个两阶段的侦测架构,即PointRCNN,检查来自不规则点云的三维物体。整体结构如图2所示,包括自下而上的3D方案生成阶段和规范化的包围box细化阶段。
Bin-based 3D bounding box generation
在激光雷达坐标系中,三维边界框表示为(x,y,z,h,w,l,θ),其中(x,y,z)是对象中心位置,(h,w,l)是对象大小,θ是鸟瞰图中的对象方向。为了约束生成的3Dbox建议,提出了基于bin的回归损失估计对象的3D包围box。
为了估计物体的中心位置,如图3所示,沿着X和Z轴将每个前景点的周围区域分割成一系列离散的box。具体地说,为当前前景点的每个X轴和Z轴设置一个搜索范围S,并且每个1D搜索范围被划分为均匀长度δ的box,以表示X-Z平面上不同的对象中心(X,Z)。对于X轴和Z轴,使用基于交叉熵损失的bin分类,而不是使用平滑L1损失的直接回归,可以获得更精确和稳健的中心定位。
最终召回(IoU阈值0.5和0.7)和第一阶段的100个提案被用作评估指标,如图5所示。图中显示了基于全箱的三维包围盒回归损失的有效性。
第一阶段的子网络使用的基于全bin的损失函数比所有其他损失函数获得更高的召回率和更快的收敛速度,这得益于使用先验知识约束目标,特别是定位。基于部分bin的损失具有相似的召回率,但收敛速度慢得多。
完全和部分基于bin的损失都显著高于其他损失函数,特别是在IoU阈值为0.7时。通过改进角度回归指标,基于余弦的改进loss比基于余弦的loss具有更好的召回率。
定性结果
图6显示了在KITTI[7]数据集的测试分割上提出的PointRCNN的一些定性结果。该图像只是为了更好的可视化,PointRCNN只将点云作为输入来生成3D检测结果。
分析了每种类型的特征对细化子网络的影响,去掉其中一个并保持所有其他部分不变。所有实验共用一个固定的一级子网进行公平比较。结果显示在表4。如果不进行正则变换,细化子网络的性能会显著下降,表明将细化子网络转化为正则坐标系可以极大地消除旋转和位置变化,提高第二阶段特征学习的效率。





PointRCNN: 点云的3D目标生成与检测相关推荐

  1. 基于激光雷达点云的3D目标检测算法论文总结

    作者丨eyesighting@知乎 来源丨https://zhuanlan.zhihu.com/p/508859024 编辑丨3D视觉工坊 前言  过去很多年激光雷达的车规标准和高昂价格是阻碍其量产落 ...

  2. 基于激光雷达点云的3D目标检测算法—端到端多视图融合

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Rubicon007@知乎 来源丨https://zhuanlan.zhihu.com/p/44 ...

  3. 动手学无人驾驶(4):基于激光雷达点云数据3D目标检测

    上一篇文章<动手学无人驾驶(3):基于激光雷达3D多目标追踪>介绍了3D多目标追踪,多目标追踪里使用的传感器数据为激光雷达Lidar检测到的数据,本文就介绍如何基于激光雷达点云数据进行3D ...

  4. 3D目标检测(二)—— 直接处理点云的3D目标检测网络VoteNet、H3DNet

    前言 上次介绍了基于Point-Based方法处理点云的模块,3D目标检测(一)-- 基于Point-Based方法的PointNet点云处理系列,其中相关的模块则是构成本次要介绍的,直接在点云的基础 ...

  5. Lidar-RCNN:基于稀疏点云的3D目标检测网络(CVPR2021)

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/390322842 编辑丨3D视觉工坊 论文标题:LiDAR R-CNN: An Efficient and Univ ...

  6. 近期激光雷达点云的3D目标检测方法

    作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/370650927 编辑丨3D视觉工坊 看到的一些近期激光雷达做目标检测的论文. 1 Offboard 3D Obje ...

  7. AAAI2021论文:一个激光雷达点云的3D目标单步检测法CIA-SSD

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/345296801 ...

  8. 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)

    点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...

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

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

最新文章

  1. LOJ #2542 [PKUWC2018]随机游走 (概率期望、组合数学、子集和变换、Min-Max容斥)
  2. 相机电子快门和机械快门有什么区别
  3. Django04-1: ORM增删改查
  4. springBoot 简单优雅是实现文件上传和下载
  5. libcurl overview
  6. Tomcat配置Basic认证方案(一)
  7. 自适应采样次数的Ransac算法
  8. matplotlib 可视化 —— 移动坐标轴(中心位置)
  9. servlet学习笔记_2
  10. Java图书管理系统
  11. C语言表白流星(末尾附加下载地址)
  12. 微擎小程序PHP,微擎配置小程序教程
  13. (四十七)情景分析与压力测试——Stressed VaR
  14. 送给梨花仙子国的礼物
  15. phpcms修改了配置文件之后出现Warning: date() expects parameter 2 to be long..错误
  16. 面试:1.C#中的委托是什么?事件是一种委托吗?
  17. 发声 | 再访《Scratch少儿趣味编程》系列图书作者阿部和广访谈问题有奖征集...
  18. 开启这些隐藏功能,让你的Chrome更加强大
  19. 阿里云创世纪之盘古传奇
  20. 【ZOJ 4062】Plants vs. Zombies

热门文章

  1. pom文件中引入常用的maven仓库
  2. 2021-2027年中国室内游艺设备行业研究及前瞻分析报告
  3. pip 升级之后提示 bash: /usr/bin/pip3: No such file or directory
  4. perl: warning: Setting locale failed. Falling back to a fallback locale (“en_HK.UTF-8“).
  5. FastAI 课程学习笔记 lesson 1:宠物图片分类
  6. Qt中如何改变三角形图形项的包围盒
  7. HMM(隐马尔科夫)用于中文分词
  8. Nucleus 实时操作系统中断(下)
  9. linux CentOS7 下 Docker安装
  10. 零起点学算法01——第一个程序Hello World!