前言

本文首发于公众号【3D视觉工坊】,原文请见VoxelNet阅读笔记

主要思想和创新点

三维点云中目标的精确检测是许多应用中的核心问题,如自主导航、管家机器人和增强/虚拟现实等。为了将高度稀疏的激光雷达点云与区域建议网络(RPN)连接,大多数现有的工作都集中在手工制作的特征表示上,例如,鸟瞰图投影。
这项工作消除了人工特征工程对三维点云的需求,提出了VoxelNet,一种将特征提取和box预测统一为一个单阶段、端到端可训练的深度通用三维检测网络。具体来说:
1、 提出了VoxelNet,一种通用的三维检测框架,它可以从点云中同时学习区分特征表示,并以端到端的方式预测精确的三维边界框。
2、 设计了一种新的体素特征编码(VFE)层,通过将点特征与局部聚集特征相结合,实现了体素内部的点间交互,通过叠加多个VFE层可以学习复杂特征来表征局部3D形状信息。
3、 VoxelNet将点云划分为等间距的三维体素,通过叠加的VFE层对每个体素进行编码,然后三维卷积进一步聚集局部体素特征,将点云转化为高维体素表示。
4、 RPN使用体积表示并产生检测结果。这种有效的算法既有稀疏点结构的优点,又有体素网格上高效并行处理的优点。
5、 本网络主要面向RPN+点云操作,并没有建立类别级的分类,作为一个通用的面向激光雷达点云操作的RPN框架使用。

在KITTI汽车检测基准上的实验表明,VoxelNet在很大程度上优于最新的基于激光雷达的三维检测方法。此外,网络能够学习到各种几何体的物体的有效区分表示,从而在仅基于激光雷达的行人和骑自行车者的三维检测中取得令人鼓舞的结果。

网络结构

如下图所示,网络主要包括三个模块:Feature Learning Network、Convolutional Middle Layers和Region Proposal Network。
居中的图片:

针对Feature Learning Network:首先对3D点云进行体积划分,然后进行特征提取,特征提取部分主要包括一系列的VFE模块进行处理,最终输出一个4D的tensor供下Convolutional Middle Layers进行处理。
其中VFE特征编码网络结构:

针对Convolutional Middle Layers:
每个卷积中间层依次应用3D卷积、BN层和ReLU层。卷积中间层在逐渐扩展的感受野中聚集体素特征,为形状描述添加更多的信息。

针对Region Proposal Network:RPN的输入是由卷积中间层提供的特征映射。这个网络的架构如下图所示。该网络有三个完全卷积层块,每个块的第一层通过步长为2的卷积将特征映射进行下采样,紧接着是步长为1的卷积操作。每个卷积层之后,应用BN和ReLU操作。然后,将每个块的输出数据提升到一个固定的大小并进行concatanate,以构建高分辨率的特征映射,最后的RPN在该特征图上进行操作,输出概率得分图和回归图。

损失函数:由于VoxelNet主要针对region proposal任务,并不做类别判断。Loss部分主要由3D box参数和前景背景判断组成如下所示:


box参数的定义,包括长宽高、角度以及中心坐标:

实验结果

主要针对KITTI数据集中的Car、Pedestrian和Cyclist进行测试,多模型效果对比如下所示:


将检测效果映射到RGB图像:

VoxelNet:End-to-End Learning for Point Cloud Based 3D Object Detection阅读笔记相关推荐

  1. 三维目标检测论文阅读:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

    VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 理解了PointPillars这篇文章后,看这篇文章就清 ...

  2. MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION

    Paper name MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION Paper Reading No ...

  3. Mutual Graph Learning for Camouflaged Object Detection阅读笔记

    CVPR 2021 Qiang Zhai, Xin Li, Fan Yang, Chenglizhao Chen, Hong Cheng, Deng-Ping Fan https://arxiv.or ...

  4. 两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

    本文介绍一篇两阶段的3D目标检测网络:SIENet. 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Informatio ...

  5. Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences

    本文介绍一篇Waymo基于点云序列的3D物体检测网络:3D Auto Labeling,论文已收录于CVPR 2021. 这里重点是理解本文提出的 Object-centric Auto Labeli ...

  6. Learning to Track with Object Permanence阅读笔记

    Learning to Track with Object Permanence阅读笔记 (一) Tilte (二) Summary (三) Research Object (四) Problem S ...

  7. 论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记

    论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记 论文arxiv链接:Learning ...

  8. 【论文阅读】【3d目标检测】Behind the Curtain: Learning Occluded Shapes for 3D Object Detection

    论文标题:Behind the Curtain: Learning Occluded Shapes for 3D Object Detection AAAI2022 南加大 这篇文章的主题思想是认为现 ...

  9. 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...

  10. 解读Learning High-Precision Bounding Box for Rotated Object Detection via Kullback-Leibler Divergence

    解读Learning High-Precision Bounding Box for Rotated Object Detection via Kullback-Leibler Divergence ...

最新文章

  1. python 2.* 升级到python3.*的过程
  2. 歌词数据解析、歌词滚动、歌词进度控制功能的实现(基于js-base64、lyric-parser、better-scroll),以vue项目为例
  3. P4213-[模板]杜教筛(Sum)
  4. Jakarta EE贡献–入门
  5. git撤销commit到未提交状态_Git在4个阶段5种状态下的撤销操作
  6. VMware 安装LINUX系统(一)
  7. 专访UCloud徐亮:UCloud虚拟网络的演进之路
  8. python基础:集合(set)
  9. Oracle PL/SQL中使用%TYPE和%ROWTYPE的方法
  10. Openwrt常用软件模块之CWMP
  11. 如何创建自己的Cydia源
  12. vue的封装之路(二)-封装一个基于element ui的省市区级联选择器
  13. 2019年南京大学计算机研究生复试分数线,2019年南京大学研究生复试分数线
  14. 微信小程序详解wx:if elif else的用法(搭配view、block)
  15. 不理解栈和队列?知道子弹上膛和火车穿隧道就好
  16. Django中关于模板的查找顺序
  17. 关于SQL语句的例子
  18. windows无盘工作站技术
  19. R数据分析:潜变量与降维方法(主成分分析与因子分析)
  20. 使用GIT删除新增的文件

热门文章

  1. 使用gc、objgraph干掉python内存泄露与循环引用!
  2. SocketServer模块中的几种类
  3. javascript基础知识-数组
  4. (转)详解HTML网页源码的charset格式
  5. Oracle数据库中序列用法讲解(转)
  6. placeholder—Jquery插件placeholder的使用方法
  7. 数据库中数据数据初始化的好处
  8. mybatis中查询时间段内的数据(当只有一个时间字段时)
  9. 27. 使用distance和advance将容器的const_iterator转换成iterator
  10. 鸿蒙操作系统是pc还是手机,华为鸿蒙操作系统是什么?鸿蒙适用机型首曝光