VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 论文笔记

VoxelNet是一种端到端的3D目标检测网络,适用于点云数据。它由特征学习网络、卷积中间层和区域提议网络组成,能够有效处理非均匀分布的点云数据并实现高效的目标检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

论文链接: https://arxiv.org/abs/1711.06396

一、 Problem Statement

2017年的论文。目前大部分工作都是对3D点云使用hand-crafted 特征工程,因此效率会比较低。而最近提出来的PointNet又要求高的计算能力和内存。RPN用于目标检测,但是其要求数据是稠密且是tensor结构的。

二、 Direction

提出一个网络voxelnet,包含voxel feature encoding layer(VFE), 3D convolution 和 RPN, 对应解决上述问题。

三、 Method

先来看一下整体的框架:
在这里插入图片描述

voxelnet 主要包含三个模块:

  1. feature learning network
  2. convolutional middle layers
  3. region proposal network

1.Feature Learning Network

这个模块分为五个部分:

(1) voxel partition

这个步骤就是把点云的3D空间平均分割成一个个voxel。设置了voxel的大小。

(2) grouping

根据每个点所在的voxel进行group。因为点云的相对位置,距离等因素,每个voxel所包含的点数是不一样的。

(3) random sampling

通常雷达点数都很多,全部用于计算会有很大的开销。因此,对每个voxel里的点进行随机采样T个点,这样做的好处一个是节省计算资源,另一个就是削弱voxel点数量的不平衡。

(4) stacked voxel feature encoding

对于一个点 ( x i , y i , z i , r i ) {(x_i,y_i,z_i,r_i)} (xi,yi,zi,ri),首先进行数据增强。首先 计算一个voxel里面的中心点(local mean), ( v x , v y , v z ) (v_x,v_y,v_z) (vx,vy,vz),然后对每个点进行增强为 ( x i , y i , z i , r i , x i − v x , y i − v y , z i − v z ) (x_i,y_i,z_i,r_i,x_i-v_x,y_i-v_y,z_i-v_z) (xi,yi,zi,ri,xivx,yivy,zivz)。然后把每个点通过FCN转变进入特征空间。FCN包括a linear layer, BN, 和 ReLU。获得point-wise feature representation之后,使用element-wise Maxpooling。

(5) sparse tensor representation

就是把上面的feature 转换维度为 C C C x D ′ D' D x H ′ H' H x W ′ W' W的tensor。但是只对非空的voxels进行转换。

2. Convolutional Middle Layers

这个部分就是卷积层,用 ConvMD ( c i n , c o u t , k , s , p ) (c_{in}, c_{out}, k, s, p) (cin,cout,k,s,p) 表示, c i n c_{in} cin表示输入的通道数, c o u t c_{out} cout表示输出的通道数, k k k 是 kernel size, s s s 是 stride, p p p 是 padding。后面跟着BN 和 ReLU。

3. Region Proposal Network

在这里插入图片描述

这个网络会把卷积中间层的输出当作输入,然后输出probability score map和regression map。具体结构如上图所示。

4. Loss Function

首先这是一个anchor-based 的检测器,因此有 { a i p o s } i = 1... N p o s \{a_i^{pos}\}_{i=1...N_{pos}} {aipos}i=1...Npos { a i n e g } i = 1... N n e g \{a_i^{neg}\}_{i=1...N_{neg}} {aineg}i=1...Nneg 两种anchor。
然后把ground truth 变为了 ( x c g , y c g , z c g , l g , w g , h g , θ g ) (x_c^g, y_c^g, z_c^g, l^g, w^g, h^g, \theta^g) (xcg,ycg,zcg,lg,wg,hg,θg),分别代表中心点位置,长宽高和yaw_rotation。
网络回归的结果是7个参数,分别为: △ x , △ y , △ z , △ l , △ w , △ h , △ θ \triangle x, \triangle y, \triangle z, \triangle l, \triangle w, \triangle h, \triangle \theta x,y,z,l,w,h,θ
它们的转换关系为:
△ x = x c g − x c a d a , △ y = y c g − y c a d a △ z = z c g − z c a d a , △ l = l o g ( l g l a ) △ w = l o g ( w g w a ) , △ h = l o g ( h g h a ) △ θ = θ g − θ a \triangle x = \frac{x_c^g - x_c^a}{d^a}, \qquad \triangle y = \frac{y_c^g - y_c^a}{d^a} \\ \triangle z = \frac{z_c^g - z_c^a}{d^a}, \qquad \triangle l = log(\frac{l^g}{l^a}) \\ \triangle w = log(\frac{w^g}{w^a}), \qquad \triangle h = log(\frac{h^g}{h^a}) \\ \triangle \theta = \theta^g - \theta^a x=daxcgxca,y=daycgycaz=dazcgzca,l=log(lalg)w=log(wawg),h=log(hahg)θ=θgθa
其中 d a = ( l a ) 2 + ( w a ) 2 d^a=\sqrt{(l^a)^2 + (w^a)^2} da=(la)2+(wa)2

现在来看一下整体的loss:

L = α 1 N p o s ∑ i L c l s ( p i p o s , 1 ) + β 1 N n e g ∑ i L c l s ( p i n e g , 0 ) + 1 N p o s ∑ i L r e g ( u i , u i ∗ ) L = \alpha \frac{1}{N_{pos}}\sum_iL_{cls}(p_i^{pos}, 1) + \beta \frac{1}{N_{neg}} \sum_iL_{cls}(p_i^{neg}, 0) + \frac{1}{N_{pos}}\sum_iL_{reg}(u_i, u_i^*) L=αNpos1iLcls(pipos,1)+βNneg1iLcls(pineg,0)+Npos1iLreg(ui,ui)

分为两个部分,一个是分类,一个是回归。分类用的是binary cross entropy, 回归用的是smooth-L1 loss。上式子中 p i p o s , p i n e g p_i^{pos}, p_i^{neg} pipos,pineg分别代表对anchor的softmax output。

5. Data Augmentation

三个数据增强方式:

  1. 将 3D box 绕 Z 轴旋转一定角度,然后 xyz 施加随机范围内的偏移量。
  2. 对所有的点云施加全局的缩放效果。
  3. 对所有点云施加全局的旋转效果。

四、Conclusion

作者提出了一个end-to-end的点云处理网络模型。

Reference

局的缩放效果。
3. 对所有点云施加全局的旋转效果。

四、Conclusion

作者提出了一个end-to-end的点云处理网络模型。

Reference

  1. https://www.zhihu.com/search?type=content&q=voxelnet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值