PointPillars理解

点云学习系列文章目录

PointPillars: Fast Encoders for Object Detection from Point Clouds

文章目录

  • 点云学习系列文章目录
  • 前言
    • PointPillars网络将三维点云划分为一簇簇柱(pillars),然后对这些柱(pillars)进行操作的新颖编码器。编码后的特征可以与任何标准的二维卷积检测架构一起使用。
  • 一、PointPillars主体框架
  • 二、细节讲解
    • 1.伪图像
    • 2.BackBone(主干网络)
    • 3.检测头Detection Head
  • 二、损失函数
  • 三、性能指标

在阅读文献后,整理笔记如下

前言

PointPillars网络将三维点云划分为一簇簇柱(pillars),然后对这些柱(pillars)进行操作的新颖编码器。编码后的特征可以与任何标准的二维卷积检测架构一起使用。

一、PointPillars主体框架

它包括了三个主要阶段:
(1)Pillar Feature Net:将点云转化为稀疏伪图像的特征编码器网络;
(2)Backbone(2D CNN):一个将伪图像处理为高级表示的2D 卷积主干;
(3)Detection Head(SSD):一个检测和回归3D框的检测头。

PointPillars理解_第1张图片 图1:pointpillar网络结构

二、细节讲解

经过上述的描述,是不是一脸懵?什么是伪图像、主干(Backbone)、检测头(detection head)。接下来部分我们逐一讲解

1.伪图像

伪图像的由来步骤:
1.沿着z轴方向,将三维空间中点云离散成x-y平面内均匀分布的网格中,形成一组Pillars(柱状体)和对应的索引向量(类似于二维图像的索引方式),引入索引向量解决了点云无序性的问题。
2.对步骤1生成的Pillars使用简易版的PointNet,对于每个点,使用线性层,其次是BatchNorm and ReLU ,生成一规格为(C; P; N)的向量。之后对N个通道进行最大操作来生成一个规格为(C; P)的输出向量。
3.将步骤1中生成的索引向量和步骤2学习得到的(C;P)规格的特征向量融合,形成Pseudo Image(伪图像)。
PointPillars理解_第2张图片图2:pillar fearture net结构
注意
(1)步骤1之后原始点云中的点(x,y,z,r)被拓展为(x,y,z,r,xc, yc, zc, xp,yp),即4维度升到9维度,并且索引向量的提出解决了点云数据中的无序性问题。
x,y,z:表示空间中的xyz轴坐标。
r:反射强度
下标c表示到pillar中所有点的算术平均值的距离
下标p 表示离pillar中心x,y的偏移
(2)由于点云的稀疏性绝大部分的pillars是空的,并且非空pillars通常也没几个点。作者是如何解决的呢?
作者通过加强对每一样本(P)中非空pillars的数量和每一pilliar(N)中的点数的限制,创建一个(D,P,N)的密集向量,来减少稀疏性。
(3)如何限制pillar中的点数?
如果有太多点则随机采样;点太少,则进行零补充。

2.BackBone(主干网络)

Backbone有两个子网络:一个自上而下的下采样网络,来产生越来越小的空间分辨率特征,第二个网络执行上采样和级联特征。输出的特征被检测头用于预测物体的3D框。
PointPillars理解_第3张图片图3:Backbone(2D CNN)结构

3.检测头Detection Head

使用单次检测器 (SSD)来进行3D目标检测。用2D交并比 (IoU)将先验框与真实情况匹配。边界框的高度和标高没用于匹配,高度和标高成为额外的回归目标。

二、损失函数

笔者在这里偷个懒,直接贴图啦
PointPillars理解_第4张图片

三、性能指标

PointPillars理解_第5张图片
表1:在KITTI测试BEV检测基准结果

PointPillars理解_第6张图片表2:在KITTI测试3D检测基准结果
表3表 3. KITTI 测试平均方向相似度 (AOS) 检测基准的结果。 SubCNN 是性能最好的仅图像方法,而 AVOD-FPN、SECOND 和 PointPillars 是唯一可以预测方向的 3D 对象检测器。

你可能感兴趣的:(计算机视觉,深度学习,cnn)