VoxelNet

background

雷达提供深度信息,可以精确定位物体并且表征形象,但是由于点云是稀疏并且3D空间的
sampling是不均匀的,因此点云具有高度可变的点密度。由此部分方式采用了手工特征,并且将点云投射到透视视图,或者将点云珊格化为3D体素网格,并且利用手工制作的特征对体素进行编码

Voxel Part:

3D空间均分为等间距体素 空间坐标z y x轴 → D H W 定义每个体素 VD VH VW
体素网格大小 D’=D/VD………

Grouping:

根据点所在的体素分组

Random Sampling:

点云数据很多,从包含超过T个点的体素中随机抽取T个点,可以减少计算量,减少体素之间点的不平衡,减少采样偏差

Sacked Voxel Feature Encoding:

堆叠体素特征编码 VFE 作者先用一个FCN层(印象中FCN指的是全卷积层,但这里指的是全连接层)提取这3个点云数据的特征,获得3个Point-wise Feature。因为这个操作是逐点运算的,并没有引入点与点之间的关系,也就是local feature。作者在此基础上引入Element-wise maxpool,获得Locally Aggregated Feature。Locally Aggregated Feature反应了这些点的一个局部关系。

作者将Point-wise Feature和Locally Aggregated Feature进行了简单的堆叠融合,作为下一个VFE层的输入。这样连续堆叠几次VFE层后,就获得更丰富的特征表示。最后,使用一个Element-wise maxpool获得最后的一个Voxel-wise Feature
• 对每一个voxel来说,对里边的所有点而言均是如下操作,这里只描述对点pi(xi, yi, zi, ri),第四维的 r i表达的是反射率
(1)计算所有点的均值,记做 ( v x , v y , v z )
(2)对于点 p i 我们采用对中心的偏移量来增大表示其坐标 p i ^ = [ x i , y i , z i , r i , x i − v x , y i − v y , z i − v z ] ,(这样表达有什么好处,实则并没有信息增加,但是却把全局特征xi,yi,zi和局部残差结合到了一起)
(3) 对每一个的 p i 通过FCN转化到特征空间,特征空间表示可以将点特征整合来描述voxel所表达的表面特性。FCN层由一个线性层,一个BN,一个RELU层组成。这样就得到了point-wise-feature。得到的特征记做 f i
(4)再通过element-wise maxpooling层,结合周围的所有的点得到locally-aggregated feature: f ~
(5)最后一步是将 f ~ 和fi结合为 fout。那么对于一个含有t个点的voxel,最终的特征我们采用集合表达方式为: V o u t = { f i o u t } i … t

这一结构比较大的作用在于
1. 既保留点的特征又结合了局部结构特征,使得其可以学习shape特征。
2. 不同voxel之间结合可以得到voxel-wise特征。类比于point-wise特征。

稀疏张量表示:这是第一部分(特征提取)的最后一个层次结构。上面的结构通过作用于每一个非空体素,每一个都唯一关联于一个体素。得到的voxel-wise-feature可以用大小为 C×D′×H′×W′表示。尽管可能会有100k个点,但是可能90%都是空的;将非空体素特征表示为稀疏张量大大降低了反向传播期间的内存使用和计算成本,并且是我们有效实现中的关键步骤。

Convolution Middle Layer

采用3D卷积的方式,采用 C o n v M D ( C i n , C o u t , k , s , p )的结构来表达,含义分别是channelin,channelout,keisize(kkk),stridesize,paddingchannel−in,channel−out,keisize(k∗k∗k),stride−size,padding。基础结构有3D卷积,BN和Relu

RPN

本文对RPN网络做一些关键性的修改。网络的整体结构如下。网路做如下描述
(1) 网路的输入是通过 Convolutional Middle Layers出来的特征图。
(2) 存在3个全卷积的block
如图,每一个block都存在两个cov2D层,通过第一个层的stride=2来使得feature map的 w , l 和 h w,l和h w,l和h变成 {w/2,l/2,h/2};在每一个CON2D后面也都会有对应的BN和RELU层。

concate

  1. 讲每一层的输出都上采样到一个统一的size(第一个block不用上采样)
  2. 映射为两个学习的目标:1. probability score map。2.regression ma

loss function

注意到上面的输出是对于socores的通道是2,分别对应中 positive和 negative的分数,而后的regression map存在14维,那是因为对于每一个回归的Bbox都用7维来表示:(xcg,ycg,zcg,lg,wg,hg,θg),也即是中心位置+长宽高+yaw轴。这里另外两个旋转轴没有加入是默认为0,原因是地面水平。(假设加入进去是不是可以更好的定位物体,感觉是个不错的方向)。同理,我们假设预测的anchor位置为:(xca,yca,zca,la,wa,ha,θa)。因此我们可

猜你喜欢

转载自blog.csdn.net/weixin_45769992/article/details/129780530