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

1 解决的问题

体素化的方式处理点云

2 文章内容

2.1 Feature Learning Network

Voxel Partition:将3D空间D×H×W划分为D'×H'×W',假设设置的voxel的大小为vD,vH,vW,那么D'=D/vD,H'=H/vH,W'=W/vW; 假设是整数倍;

Grouping:由于距离、遮挡、目标相对姿态和不均匀采样等因素,点云在空间中是稀疏且高度不均匀的,因此分组后的体素内的点云数量是不一致的;

Random Sampling:“Directly processing all the points not only imposes increased memory/efficiency burdens on the computing platform, but also highly variable point density throughout the space might bias the detection.”于是需要控制每个voxel内包含的最大点数T,选取T的规则:(1)计算内存;(2)“decreases the imbalance of points between the voxels which reduces the sampling bias, and adds more variation to training.”

Stacked Voxel Feature Encoding:

作者使用VFE-i(cin,cout)表示第i层VFE,cin、cout分别是VFE的输入长度和输出长度,SVFE是VFE的叠加,下图是VFE结构。

经过前面步骤后,每个非空Voxel里会有多个point,Voxel可以表示为

每个voxel里的point数量不超过T,xyz是点坐标,r是反射强度。tensor为(N,35,4),N为非空体素个数

1.预处理:找出V里面的质心点(vx,vy,vz),计算其他点对质心的偏移offset,将V更新为Vin ,tensor从(N,35,4)变成了(N,35,7);

2.point-wise input:把Vin中的每个点pi^送至fully connected network(FCN)中提取特征,实际上做了个升维操作,原本pi^长度为7,升维后变成了长度为C1,自此点也就变成了特征fi,tensor也从(N,35,7)变成了(N,35,C1);

3.element-wise maxpool:经过FCN只是对每个point的操作,point之间的信息没有发生交互,所以对同一个voxel内所有fi做最大池化,选出一个locally aggregated feature f~;

4.point-wise concatenate:将3得到f~和2中的fi做简单concat获得最终的feature

于是,VFE模块的输出是

V里面的元素由原来的一个个p变成了一个f。tensor变成(N,35,2C),C=2×C1,所有非空voxel的点在FCN共享参数。

Sparse Tensor Representation:

划分后的3D空间中,90%的voxel是空的,所以输入就变成了一个稀疏的4维tensor——C×D'×H'×W',有一大部分C=0。

2.2 Convolutional Middle Layers

使用ConvMD(cin, cout, k, s, p)来表示一个M-dimension卷积操作,依次为(输入通道数,输出通道数,卷积核大小,卷积步长,padding大小),每一层middle layer都是3D卷积,BN layer和ReLU layer的组合。每一层middle layer都会聚集体素信息并且扩大感受野(跟2D卷积一个意思)。

2.3 Region Proposal Network

RPN architecture先是3个 fully 2D convolutional middle layers block,每个block的第一层会通过一个stride为2的卷积将feature map的大小减半,随着是一系列stride为1的卷积。同样的,在每次卷积之后都有BN和ReLU。类似FPN的操作,每一个block之后再上采样到同样大小之后concat得到high resolution的feature map,大小是H'/2 × W'/2 × 768。然后这个feature map分别1×1卷积得到probability score 和 regression 两个feature map。

2.4 Loss function

损失函数包含三项,前两项是cls loss(分为正样本positive和负样本negative),最后一项是reg loss。

其中,α和β是正常数平衡系数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值