ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【PointPillars:工业界中一种三维点云检测对象的快速编码方法】

2022-02-06 19:00:17  阅读:318  来源: 互联网

标签:编码方法 卷积 PointPillars 张量 检测 点云 3D


PointPillars:工业界中一种三维点云检测对象的快速编码方法

前言

在3D点云的目标检测中,一般有以下几种处理:
(1 : 3D卷积。缺点比较明显:计算量较大,导致网络的推理速度较慢。
(2 : 投影到前视图或者鸟瞰图,转化为二维的问题。 虽然时间较快,但是点云的稀疏性让卷积网络效率低,不实用。
(3 : 直接对点云进行特征提取(得益于Point)。像VoxelNet直接对点云进行操作,用体素去容纳一系列的点云数据,提取特征。再用3D卷积去转化张量,用RPN回归最终的对象。
PointPillars就是对VoxelNet的改进,因为三维卷积太过于耗时,所以重新提出了一个适合点云的编码器。学习点云的柱子(pillar)上的特性,从而为对象预测面向3D的框。速度比较快,精度较高。

优势

PointPillars有几个优点。

  1. 通过学习特征,而不是依赖于固定的编码器,点柱可以利用点云所表示的完整信息。
  2. 通过在柱子而不是体素上操作,就不需要手动调整垂直方向的bin。
  3. 支柱是高效的,因为所有的关键操作都可以制定出来作为二维卷积,在GPU上计算非常有效。

算法分析

PointPillars直接以点云为输入,能够预测有方向的3D边框。主要分为三部分:

  1. Pillars Feature Net
  2. Backbone(2D CNN)
  3. Detection Head(SSD)

在这里插入图片描述

Pillars Feature Net

论文提出了一个新的概念pillar。我们知道点云中的每个点都可以这样表示:

l = (x, y, z, r). r表示反射率

  1. 作为第一步,点云被离散成x-y平面上的一个均匀间隔的网格,在网格上创建pillar。值得注意的是不需要一个超参数来控制z维度,其实就相当于一个高度不限的体素。

    另外再增加参数增强每个点的特征。

    l θ = ( x , y , z , r , x c , y c , z c , x p , y p ) l_{\theta} = (x,y,z,r,x_{c},y_{c},z_{c},x_{p},y_{p}) lθ​=(x,y,z,r,xc​,yc​,zc​,xp​,yp​)
    c下标表示到柱中所有点的算术平均值的距离,p下标表示距离柱x、y中心的偏移量。增强的激光雷达点l现在是D=9维.

  2. 由于点云是稀疏的,所以对每个样本的非空支柱数(P=H*W)和每个支柱中的点数(N)施加限制,来创建大小为(D,P,N)的张量张量。如柱状体中的数据太多,则进行随机采样,如数据太少,则用0进行填充。

  3. 对张量化的点云提取特征,(即对每个点都运用线性层+BN层+ReLU层),来生成一个(C,P,N)的张量,再对于通道上使用最大池化操作,输出一个(C,P)的张量。

  4. 将张量化为C,H,W)的伪图像。

Backbone(2D CNN)

在这里插入图片描述
骨干网络包括两个分支。一个是自上而下的网络,生成分辨率越来越小的特征。第二个反卷积做上采样拼接将不同尺度特征信息融合,最后生成(6C,H/2, W/2)的张量。

Detection Head(SSD)

使用SSD的头执行3D目标检测,通过先验框和真实框的2DIoU来分配标签。

Loss Function

在这里插入图片描述
上式为回归损失,其中含gt上标代表真实框,含a上标代表先验框。

分类损失采用Focal loss

L c l s = − α ( 1 − P α ) γ l o g P α L_{cls} = -\alpha(1-P^{\alpha})^{\gamma }logP^{\alpha} Lcls​=−α(1−Pα)γlogPα
其中 α = 0.25 , γ = 2 \alpha = 0.25, \gamma=2 α=0.25,γ=2

还有个方向损失: l d i r l_{dir} ldir​.----在离散方向使用一个softmax分类损失,学习航向角。

.注意:回归损失中虽然有角度的损失,但是不能区分+— π \pi π,也就是识别朝向的问题,所以需要 l d i r l_{dir} ldir​。

故总的损失为:
在这里插入图片描述

参考:
PointPillars 学习笔记
三维目标检测论文阅读
PointPillar:利用伪图像高效实现3D目标检测
论文阅读|点云3D目标检测之PointPillars
论文+代码阅读PointPillars

标签:编码方法,卷积,PointPillars,张量,检测,点云,3D
来源: https://blog.csdn.net/qingliange/article/details/122799692

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有