学习笔记|Point Pillars

PointPillars是一种将点云数据转换为2D伪图像并进行3D目标检测的方法。它首先将点云数据按X,Y轴划分到网格中形成Pillars,然后用MLP编码点云信息,再通过2D卷积处理伪图像,最后由检测头生成3D框。在处理过程中,涉及随机采样、0填充以及最大池化等操作,以适应不同数量的点云数据。
摘要由CSDN通过智能技术生成

Point Pillars接受点云作为输入,估计目标的3d框,其主要由三个阶段组成。

1)将点云转换为稀疏伪图像的特征编码器网络在这里插入图片描述

 2)一个2d卷积主干,将伪图像处理成高级表示

在这里插入图片描述

 3)检测头,用于检测和回归3d框。

1.将点云转换为伪图像

1)输入点云

按照点云数据所在的X,Y轴(不考虑Z轴)将点云数据划分为一个个的网格,凡是落入到一个网格的点云数据被视为其处在一个 pillar(柱体)里,或者理解为它们构成了一个 Pillar。

每个点云用一个 D=9 维的向量表示,即 ( x , y , z , r , x c , y c , z c , x p , y p ) (x, y, z, r, x_c, y_c, z_c, x_p, y_p) (x,y,z,r,xc​,yc​,zc​,xp​,yp​)。其中 x, y, z, r 为该点云的真实三维坐标信息和反射强度; x c , y c , z c x_c, y_c, z_c xc​,yc​,zc​ 为该点云所处 Pillar中所有点的几何中心; x p , y p x_p, y_p xp​,yp​ 为 x − x c , y − y c x-x_c, y-y_c x−xc​,y−yc​ ,反应了点与几何中心的相对位置。

2)堆积 Pillars

假设每个样本中有 P 个非空的 pillars,每个 pillar 中有 N 个点云数据,那么这个样本就可以用一个 (D, P, N) 的张量表示。但是,如何保证每个 Pillar 中恰好有 N 个点云数据呢?

如果每个pillar中的点云数据数据超过 N 个,那么我们就随机采样至 N 个;如果每个pillar 中的点云数据数据少于 N 个,少于的部分我们就填充为0;于是,就很容易将点云转换成 (D, P, N) 张量格式的堆积 Pillars。

3)特征学习

假设样本中包含P个有效的pillar,每个pillar最多只能包含N个点。对于一个pillar,如果其中的点数小于N,则用0来补全;如果超过N,则随机从该pillar中选取N个点进行采样。对于每个pillar中的每个点,我们需要进行编码,包括该点的坐标、反射强度、pillar几何中心以及该点相对于pillar几何中心的位置关系。由此得到的每个点的编码长度为D。整个点云样本可以表示为一个张量,其形状为(P, N, D)。

获得点云的pillar表示后,我们使用简化版的PointNet中的SA模块(a linear layer containing Batch-Norm and ReLu) 来提取特征。首先,对每个pillar中的每个点应用多层感知机(MLP)来将每个点的编码从D维映射到C维,从而得到形状为(P, N, C)的张量。接着,对每个pillar中的点应用最大池化,得到该pillar的特征向量。这一步同时消除了张量中的N维,最终得到形状为(P, C)的特征图。

最后,将(P, C)的特征图按照pillar的位置展开成伪图像特征,将P展开为(H, W)。这样我们就获得了类似于图像的(C, H, W)形式的特征表示。
————————————————
版权声明:本文为CSDN博主「臭皮匠-hfW」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45080292/article/details/130217320


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值