【三维目标检测】Pointpillars(一)
PointPillars是一种基于体素的三维目标检测算法,发表在CVPR2019《PointPillars: Fast Encoders for Object Detection from Point Clouds》。它的主要思想是把三维点云转换成2D伪图像以便用2D目标检测的方式进行目标检测。PointPillars在配置为Intel i7 CPU和1080ti GPU上的预测速度为62Hz,在无人驾驶领域中常常能够使用上它,是一个落地且应用广泛的一个3D快速目标检测网络。
1 源码与输入数据
源码采用的是mmdetection3d框架中的second模型。mmdetection3d安装和调试验证可参考本博客之前的专栏,里面有详细介绍。
数据采用的是kitti,为了快速进行算法调试、训练、评估和验证,以及快速下载,我制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:minikitti数据集-深度学习文档类资源-CSDN下载。
下载的数据包含4个部分,即激光雷达数据velodyne、图像数据image_2、校准数据calib和标注数据label_2。如果需要对应的ImageSets,请下载:train_val_testforminikitti-深度学习文档类资源-CSDN下载,将下载的文件夹重名为ImageSets即可。
关于KITTI各个部分的介绍请分别参考以下内容:
KITTI数据集简介(一) — 激光雷达数据_Coding的叶子的博客-CSDN博客_雷达数据集
KITTI数据集简介(二) — 标注数据label_2_Coding的叶子的博客-CSDN博客_kitti数据集标注
KITTI数据集简介(三) — 图像数据image_2_Coding的叶子的博客-CSDN博客
KITTI数据集简介(四) — 图像数据calib_Coding的叶子的博客-CSDN博客
数据预处理部分可以参考Voxelnet的数据处理方式加以理解:【三维目标检测】VoxelNet(二):数据处理_Coding的叶子的博客-CSDN博客。
2 mmdetection3d kitti数据处理
mmdetection3d kitti (持续更新)_Coding的叶子的博客-CSDN博客
python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti
3 Pointpillars简介
Pointpillars本质上是一种基于体素的三维目标检测方法。pillar英文的意思是柱子、柱状物的意思。在pointpillars模型中,体素由一系列柱状网格组成,在Z方向上仅仅只有一个体素,整体相当于一个柱子。在Z方向上只有一个体素,这样便于将三维数据直接转换为二维数据来处理。Pointpillars主要几个关键点如下:
(1)输入的点云数据维度为Nx4,这四个维度分别是坐标和反射强度,x、y、z、r。将输入点云划分成柱状体素,然后将各个体素中点云的坐标减去体素中点云坐标,得到cx、cy、cz。将各个体素中点云的坐标减去体素自身的中心坐标,得到vcx、vcy、vcz。这样输入点云的特征是由x、y、z、r、cx、cy、cz、vcx、vcy、vcz组成的10维特征。
(2)通过PFN层,将点云特征直接投影到体素的XOY平面,将三维点云数据转换为二维数据进行处理。
(3)通过SECOND FPN主干网络进行特征提取。
4 模型结构、推理过程
模型详细结构及推理过程请参考下一篇博客:【三维目标检测】Pointpillars(二)_Coding的叶子的博客-CSDN博客。
5 【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_三维点云深度学习
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
【三维目标检测】Pointpillars(一)相关推荐
- 自动驾驶系统进阶与项目实战(十)基于PointPillars的点云三维目标检测和TensorRT实战(1)
自动驾驶系统进阶与项目实战(十)基于PointPillars的点云三维目标检测和TensorRT实战(1) 发表于CVPR2019的PointPillars是目前比较受业内认可的激光雷达三维检测算法, ...
- 【三维目标检测】Pointpillars(二)
本文为博主原创文章,未经博主允许不得转载. 本文为专栏<python三维点云从基础到深度学习>系列文章,地址为"https://blog.csdn.net/suiyingy/ar ...
- ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测
ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测 STD: Sparse-to-Dense 3D Object Detector for Point Cloud 论文链 ...
- 点云 3D 目标检测 - PointPillars(CVPR 2019)
点云 3D 目标检测 - PointPillars(CVPR 2019) 摘要 1. 导言 1.1 相关工作 1.1.1 使用CNNs进行目标检测 1.1.2 激光雷达点云中的目标检测 1.2 贡献 ...
- 单目三维目标检测之CaDDN论文阅读
文章目录 CaDDN: Categorical Depth Distribution Network for Monocular 3D Object Detection 作者和机构信息: Abstra ...
- 三维目标检测论文阅读: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这篇文章后,看这篇文章就清 ...
- 三维目标检测之ROS可视化
实验室有一个镭神C16的激光雷达,最近在我这,想拿来玩一玩.本意是做一个实时的检测,通过ROS获取激光雷达的激光点云,用pointpillars模型来进行实时的三维目标检测任务.但是镭神c16这一个激 ...
- SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud(CVPR2021)三维目标检测
Wu Zheng Weiliang Tang Li Jiang Chi-Wing Fu The Chinese University of Hong Kong [paper] [code] 文章目录 ...
- CVPR2020论文解读:3D Object Detection三维目标检测
CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...
最新文章
- 技术图文:Python的属性装饰器详解
- Leetcode 347. Top K Frequent Elements--python1行解法,Java 11ms解法
- linux下缓存命中测试,linux为什么报表缓存缓存未命中?_linux_开发99编程知识库...
- 代码 | 一天一点代码坏味道(1)
- Facebook押注VS Code
- 56 FI配置-财务会计-固定资产-资产数据传输-定义历史数据传输的抵销科目
- r语言pls分析_零基础学习R语言分析GEO
- 哈尔滨工程大学微型计算机原理与接口技术,哈尔滨工程大学微机原理与接口技术第2-3讲.ppt...
- Echarts数据可视化series-graph关系图,开发全解+完美注释
- layout_gravity和gravity的区别
- JAVA格式化输出字串
- 漏洞修复:Insecure Transport: HSTS not Set
- opencv-视频处理--画感兴趣区域(ROI)
- Python 整型、浮点型、字符串型、布尔型转换,基础运算符
- 微信网页PC端登录扫二维码登录
- Dilated Convolution —— 空洞卷积(膨胀卷积)
- C#窗体程序随电脑分辨率自动调整大小
- Android系统设置settings应用学习(二)--源代码解析
- 正交最小二乘法求解NARMAX
- 深入理解Linux修改hostname(原文作者:潇湘隐者)