小张的voxelnet 笔记

1.背景

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

 一种one-stage 端到端的3D目标检测网络。

移除了人为特征方法,直接操作点云并提取点云的形状信息。

2.VFE介绍

1)VoxelNet将3D空间转化为等间隔的体素voxels;假设3D空间中D*H*W分别为z,y,x轴的范围。

定义每个voxel size 为vD,vH,vW,——>得到将3D空间划分为D'*H'*W'个体素。

2)分组就是把每个体素中的点分为一组;

3)随机采样就是在体素中的点数量>T时,采样固定数量T个点。

 4)如图中一个体素中含有3个点,每个点包含7个维度,则得到输入特征集Vin,

 随后输入到全连接层(包含线性层+BN层+ReLU层)中 ,获得逐点特征point-wise feature表示(各自特征)。再使用逐元素最大池化element-wise maxpooling 得到局部聚合特征。最后,逐点拼接point-wise feature和局部聚合特征,得到输出特征集。

 多个 VFE 层堆叠在一起,最终对输出的每个点进行 max 操作获得一个精确代表此体素的特征向量。

3.VoxelNet结构

特征学习层——卷积中间层——RPN层

以car检测为例:

1)特征提取层:

        3D空间划分为D'*H'*W'个体素,每个体素中包含一些点,用VEF层堆叠提取每个体素的特征,得到4Dtensor:C*D'*H'*W'.

Z,Y,X轴的范围是[−3, 1] × [−40, 40] × [0, 70.4];体素大小是vD = 0.4, vH = 0.2, vW = 0.2;得到3D空间D′ = 10, H′ = 400, W′ = 352.即10*400*352个体素。

用VEF-1(7,32)和VEF-2(32,128)堆叠,得到输出特征集为128*10*400*352

2)卷积中间层

(conv3D(Cin 输入通道,Cout 输出通道,k kernel 大小,s 步长,padding))

使用3个三维卷积:

Conv3D(128, 64, 3, (2,1,1), (1,1,1)),

Conv3D(64, 64, 3, (1,1,1), (0,1,1)),

and Conv3D(64, 64, 3, (2,1,1), (1,1,1))

——>得4Dtensor:64*2*400*352——>reshape:128*400*352

3)RPN介绍(Region Proposal Network)

——最早再Faster R-CNN中提出,用于生成proposal

RPN是由三块全卷积层组成,每块得第一层由步长为2的卷积进行特征图下采样,高宽减半,通道数不变,第二层是一个步长为1的卷积。然后每个块上采样到固定尺寸并拼接成高分辨率768*H'/2*W'/2的特征图。最后得到预测结果:

概率图:  通道数为2,代表正负anchor的概率,用softmax处理;
回归图:7个通道数*2box,代表anchor的3D信息(x,y,z,l,w,h,theta)

 4.损失函数

3D ground truth box的参数为 ({x_{c}}^{g} , {y_{c}}^{g} , {z_{c}}^{g} , l^{a} , w^{g} , h^{g} , \vartheta ^{g} )

正anchor的参数为({x_{c}}^{a} , {y_{c}}^{a} ,{z_{c}}^{a} ,l^{a}, w^{a} , h^{a} , \vartheta ^{a} ),

残差u^{*}包含7个回归值:

 

 

LOSS=交叉熵分类损失(正负样本都考虑)和L1 回归损失(回归 7 个量)

{p{i}}^{pos}是指anchor正样本(正、负 anchor:IOU<0.45为负样本,IOU>0.6 为正样本)

回归的时候输出 14 通道,但是损失函数中只对正样本的的那个 box 进行计算

 5.补充

将稀疏的点云转化为密集结构,因为RPN只能用于密集结构。

点云稀疏不均匀,用哈希表查询法检查点云中每个点对应的体素是否存在。当体素已初始化时,若体素中少于T个点,则将该点插入,否则忽略该点。当体素没有初始化时,将初始化一个新体素,将坐标储存在体素坐标缓冲区,并将点插入到这个体素位置中。???

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值