论文阅读笔记 | 三维目标检测——PointPillars算法


如有错误,恳请指出。


文章目录

  • 1. 背景
  • 2. 网络结构
  • 3. 实验结果

paper:《PointPillars: Fast Encoders for Object Detection from Point Clouds》

1. 背景

PointPillars的出发点同样与SECOND一样,希望改进VoxelNet所使用3d卷积计算量太大推理速度太慢的问题。鉴于此,SECOND提出了稀疏卷积来提高普通3d卷积的推理速度,但是任然无法避免3d卷积的庞大计算量,没有从根本上解决这个问题,仍然需要使用计算昂贵的3d卷积操作。这个问题的核心本质是SECOND与VoxelNet将点云量化为三维空间上的一个个Voxel,所以3d卷积是无法避免的。

为了从根本上解决3d卷积的问题,PointPillars提出了一种新颖的量化方法(paper中写到是encoder结构,但本质上是一致的),将点云量化为二维空间上的一个个Pillars(柱),也就是取消了z轴上的bin分区,直接学习垂直列区域的点云表示。不过,这种量化方式直观上感觉会进一步量化损失的产生。


2. 网络结构

PointPillas的结构图如下所示,分为Pillar的特征提取,2d卷积操作以及最后的detection head。可以看见这里没有rpn操作,所以PointPillars属于的是one-stage,anchor-based的网络,具有速度优势,不过由于网络结构比较简单,这里就不分章节进行介绍了。
论文阅读笔记 | 三维目标检测——PointPillars算法_第1张图片

对于点云空间的xy平面进行网格划分,这里不对z轴进行切分不产生voxel,而这里的每个网格区域就是一个pillars。对于每个pillars中点具有位置特征xyz以及反射特征r,现在使用pillars的质心位置xc,yc,zc以及每个点离pillars的中心点偏移xp,yp进行特征扩充,所有原本每个点的特征dim=4,现在扩充后的特征维度dim=9。对于整个空间中用最小精度可以量化出P个pillars,每个pillars最多采用N个点,不足N用0进行填充,那么可以组成一个(D,P,N)的数据特征。为了对点特征进行编码,后续会使用MLP-BN-ReLU对D编码成C,生成(C,P,N)大小的张量,随后提取每个Pillars的局部特征,采用max pooling处理获得(C,P)大小的张量,获取到pillars-wise的特征表示。完成编码后,这些特征就会被散射回到原始的柱pillars位置来创建生成(C,H,W)的伪图像。此时的P=HxW,H和W分别表示高宽。

PointPillars通过以上操作将三维点云特征构建成xy平面上的pillar特征表示,这样就可以进行2d卷积处理,如上图的Backbone(2D CNN)所以,一个类似FPN的操作,最后对这些多尺度信息进行融合(网络结构太常见了,比较简单就不细说了),获得最后进行预测前的特征图表示。

PointPillars的anhcor尺寸设置与VoxelNet一样,也只有0°和90°两个方向。需要注意PointPillars本质上也是在xy平面上进行的2d检测(因为量化方式就直接忽视了z轴信息),所有正负样本分配时,是没有使用上框的位置高度以及尺寸高度的,这两个值是后续进回归预测的。损失部分与SECOND中一致,也使用上了SECOND对角度预测的改进。所以这里也有direction方向的分类损失,这里的detection head也包含3个部分:类别损失、位置回归损失、角度分类损失。具体见如下:
论文阅读笔记 | 三维目标检测——PointPillars算法_第2张图片

对于数据增强部分,也是copystage、单独对GT进行旋转和平移、以及对全局点进行全局旋转缩放与平移操作。和SECOND与VoxelNet类似,甚至可以说对3d点云检测的数据增强方式都是类似的。


3. 实验结果

很神奇的是,直接进行pillars量化,Pointpillars的精度确并没下降多少,甚至在不少标准上还是sota。而且,这种量化方式速度确实没话说,比SECOND快3x,逼VoxelNet快15x。
论文阅读笔记 | 三维目标检测——PointPillars算法_第3张图片

思考:

但是直觉上来说,voxel-based的量化方式保留的信息必然比pillars-based的量化方式要多,后续的损失构建以及数据增强方法基本和SECOND一样,不一样的只有是backbone的提取方式上了。那么,PointPillars这样的实验结果是否说明,3d检测的处理方法并没有充分的挖掘voxel的潜在特征(我觉得可能是64x2x400x362直接reshape为128x400x362导致信息的破坏),导致对三维空间的信息挖掘甚至没有二维信息的量化处理要有效。

那么,如何有效的对voexl-wsie特征进行合理的3d卷积处理,如何设计有效的3d卷积同时不导致太大的计算量,能否反超这种PointPillars的量化方式,这个点子不知道是否值得思考,留存,有想法的朋友可以来讨论讨论。


你可能感兴趣的:(#,三维点云论文,论文阅读,PointPillars,点云检测,自动驾驶,3d目标检测)