PointPillars 论文翻译(持续更新)

原文链接
PointPillars

2 PoinPillars Network

PointPillars接受点云作为输入,并估算面向汽车,行人和骑自行车的人的3D框。

它包括三个主要阶段(图2):
(1)一种特征编码器网络,可将点云转换为稀疏伪图像;
(2)2D卷积主干网络用于将伪图像处理为高级表示;
(3)检测头,该检测头可检测并回归3D box

2.1 Pointcloud to PseudoImage

要应用2D卷积架构,我们首先将点云转换为伪图像

我们用 l 表示点云中的一个具有坐标x,y,z和反射强度的点。

第一步,将点云离散到x-y平面中的均匀间隔的网格中,从而创建一组支柱 P \mathcal{P} P ,具有 ∣ P ∣ = B \left | \mathcal{P} \right | = B P=B

请注意,支柱是在z方向上具有无限空间范围的体素,因此不需要超参数来控制z维度的分类。

将每个支柱中的点都用r,xc,yc,zc,xp和yp增强,其中r时反射率,c下标表示到支柱中所有点的算术平均值的距离,p下标表示从支柱x,y中心的偏移量。

现在,增强的激光雷达点 l ^ \hat{l} l^的维度D=9。

尽管我们聚焦于激光雷达点云,其他点云例如radar或RGB-D,可以通过改变每个点的增强方式来使用PointPillars。

[分段]

由于点云的稀疏性,该组支柱将大部分为空,而非空支柱通常将在其中拥有很少的点。

例如,使用来自HDL-64E Velodyne激光雷达,在KITTI中0.16*0.16平方米的箱子,点云具有6k-9k非空柱,通常使用的范围为约97%的稀疏度。

利用这种稀疏性,对每个样本的非空柱数量§和每个柱的点数量(N)施加限制,创建一个大小为(D, P, N)的稠密张量。

如果样本或支柱容纳的数据太多,则将数据随机采样。 相反,如果样本或支柱的数据太少而无法填充张量,则将使用零填充。

[分段]

接下来,我们使用PointNet的简化版本,其中,对于每个点,都应用线性层,然后是Batch-Norm [10]和ReLU [19],以生成一个(C,P,N)大小的张量。

接下来是对通道的最大操作,以创建大小为(C,P)的输出张量。 请注意,可以将线性层公式化为张量上的1x1卷积,从而实现非常有效的计算。

编码后,特征散布回原始支柱位置,以创建大小为(C,H,W)的伪图像,其中H和W表示画布的高度和宽度。

请注意,我们选择使用支柱而不是体素,这允许我们跳过[33]的卷积中间层中代价很高的3D卷积。

2.1 Backbone

我们使用类似于[33]的骨干,其结构如图2所示。骨干网有两个子网络:一个自顶向下的网络以越来越小的空间分辨率产生特征,另一个网络执行自顶向下的特征的上采样和拼接。自上而下的主干可以用一系列块块(S, L, F)来描述。

猜你喜欢

转载自blog.csdn.net/lb5482464/article/details/126171742