当前位置:网站首页>PointPillars: Fast Encoders for Object Detection from Point Clouds 阅读笔记
PointPillars: Fast Encoders for Object Detection from Point Clouds 阅读笔记
2022-07-26 20:00:00 【byzy】
原文链接:https://arxiv.org/pdf/1812.05784.pdf
1 引言
PointPillars是端到端学习方法,仅需要2D卷积。性能可达SotA(甚至超过部分基于激光雷达+图像的方法),且速度快。
2 网络
由3个部分组成:特征编码器(将点云转化为伪图像)、2D卷积主干(将伪图像处理为高级表达)、检测头(检测和回归3D边界框)。

2.1 点云到伪图像
先将点云在
平面离散化为等大小的网格,得到柱体集合。然后使用柱体内所有点的中心坐标
和与柱体中心的偏移量
增强所有点,则包含原来的坐标和反射强度
,所有点都有
个维度。
为便于后面处理,设置
为每个点云的非空体素数,
每个柱体内的点数。如果一个柱体内的点大于
,则随机采样柱体内的点;如果一个柱体内的点少于
,则进行零填充。这样得到
维度的张量。
然后使用简化的PointNet处理每个柱体内的点,即使用线性层(
卷积)+BN+ReLU将各点维度变为
(此时张量为
维度),再沿通道维度最大池化,得到
维度的张量。最后将各特征还原到原来的柱体位置,生成
的伪图像。
2.2 主干
包含两个子网络,一个自上而下提取特征(2D卷积+BN+ReLU),一个上采样各层特征(转置2D卷积+BN+ReLU)并拼接。
2.3 检测头
使用Single Shot Detector (SSD)的设置。使用2D边界框的IoU来匹配预测和真实边界框。边界框的高度和提升值为额外的回归量。
3 实施细节
3.2 损失函数
损失函数与SECOND相同(具体公式见这篇综述的附录D(2)(a))。
由于角度定位损失不能区分翻转180°的边界框,将角度空间离散化并使用softmax分类损失
,来学习朝向。
总的损失

其中
为正锚框的数量。
4 实验设置
4.1 数据集
KITTI。由于在图像可见的物体才有标注,故仅使用能投射到图像的激光雷达点。对汽车和行人/自行车分别训练网络。
4.2 设置
使用与VoxelNet相同的锚框设置和匹配策略。每个锚框由长宽高和
坐标描述,且包含0°和90°两个朝向。与真实边界框有最高IoU的锚框,以及IoU高于正阈值的锚框视为正锚框,而小于负阈值的锚框视为负锚框。其余锚框在计算损失时被忽略。
推断时,使用轴对齐的非最大抑制(NMS),重叠阈值为0.5。该方法比旋转NMS更快,且性能相近。
对不同的类别物体,统计数据集中的相关量得到锚框的尺寸、高度值和正负匹配阈值。
4.3 数据增广
使用复制粘贴增广方法,即在其余帧随机采样3D边界框,将其中的点粘贴到当前帧。然后进一步将所有边界框随机旋转小角度并随机平移小距离。
此外,还将所有点云沿
轴径向翻转,再全局旋转、缩放,并小距离平移。
边栏推荐
- leetcode 哈希表类
- Build Prometheus automatic monitoring and alarm system from scratch
- 2022 pole technology communication - anmou technology opens a new chapter of commercialization
- Kotlin - coroutinebuilder
- 7-year-old boy playing chess too fast? The robot actually broke its finger
- Auto.js 旋转图标
- 人脸识别、指纹识别都弱爆了?五角大楼研发远距离心跳识别
- The 50 Smartest Companies in the world announced that Chinese manufacturers account for nearly half, and Huawei ranks first
- 【面试必刷101】动态规划1
- opencv dnn部署onnx模型
猜你喜欢

81.(cesium之家)cesium修改灰色背景(默认蓝色)

Solve the horizontal segmentation of iBGP and BGP routing principles

CentOS7关于Oracle RAC 11GR2部署磁盘分区问题

St table, weighted and search set

Use Baidu PaddlePaddle easydl to complete garbage classification

拦截器、、

APP自动化测试框架搭建(八)--ATX Server2多设备集群环境搭建

BGP routing black hole and anti ring

LeetCode链表问题——19.删除链表的倒数第N个节点(一题一文学会链表)

【问题篇】浏览器get请求带token
随机推荐
易基因|宏病毒组测序技术介绍
如何查看你使用的pytorch是否为GPU版本
Houdini 笔记2
884. 两句话中的不常见单词-哈希表
Leetcode-300 longest increasing subsequence
How to praise others gracefully? Try these methods
全球最聪明50家公司公布:中国厂商占据近半,华为名列第一
How to check whether the pytorch you are using is a GPU version
Chat software project development 2
BGP--边界网关协议
培训软件测试能不能就业
Bean注入和生命周期
tkinter使用wpf控件
LCP 11. 期望个数统计
Buu brush inscription 2
Single core A7 plays with face recognition, and NXP "crossover processor" plays a new trick!
Kotlin - coroutinebuilder
Shell function, system function, basename [string / pathname] [suffix] can be understood as taking the file name in the path, dirname file absolute path, and user-defined function
Discussion on loan agreement mode with NFT as collateral
Buu brush inscription 4