其中第四点(VSA模块)与第⼀阶段的区域提议是分开的两条计算线;先完成对voxel的Set Abstraction操作后,再在第⼆阶段的box refinement中融合不同的特征来更好的定位bbox。
4、VoxelSetAbstraction
PV-RCNN在3D卷积的多层的voxel特整层上对voxel进⾏t abstraction操作,⽤⼀⼩部分关键点来编码整个场景,⽤于后续的proposal refinement network。
代码都在:pcdet/models/backbones_3d/pfe/voxel_t_abstraction.py
为经过3D CNN的第K层的voxel特征的集合
为voxel在第K层中的3D坐标,Nk是第K层中⾮空的voxel
为 每个voxel 特征在对应半径内关键点的相对位置信息
最终学习到的特征结合了基于3DCNN学习到的特征和基于PointNet从voxel-wi SA中学习到的特征。
最终的公式如下:
加⼊Extended VSA的好处:
最终得到的特征具有很强的保存3D场景结构信息的能⼒:
3 Args:
4 batch_dict:
5 batch_size:
6 keypoints: (B, num_keypoints, 3)
7 multi_scale_3d_features: {
8 'x_conv4': ...
9 }
10 points: optional (N, 1 + 3 + C) [bs_idx, x, y, z, ...]
11 spatial_features: optional
12 spatial_features_stride: optional
13
14 Returns:
15 point_features: (N, C)
16 point_coords: (N, 4)
17
18 """
19 """
20 ===============================
21通过最远点采样,获取每⼀帧点云的关键点
22 ===============================
一篇作文300字23 """
24 keypoints = lf.get_sampled_points(batch_dict)
25
26 """
27 ============================
庐山多高28 Extended VSA中对BEV插值SA操作
29 ============================
30 """加州尔湾大学
31 point_features_list = []
32 if 'bev' del_cfg.FEATURES_SOURCE:
33 # 通过对BEV的特征进⾏插值获取关键点的特征数据
34 point_bev_features = lf.interpolate_from_bev_features(
摄影构图的方法
35 # 所有的关键点
36 keypoints,
37 # 将⾼度进⾏堆叠后的BEV特征图
38 batch_dict['spatial_features'],
手工简单又漂亮
39 # batch size
40 batch_dict['batch_size'],
41 # ⾼度堆叠后的BEV特征图的下采样倍数,默认是8倍
42 bev_stride=batch_dict['spatial_features_stride']
43 )
44 # 将插值得到的关键点特征存⼊列表关于运动会的口号
45 point_features_list.append(point_bev_features)
46 # batch_size
硬盘多少钱47 batch_size = batch_dict['batch_size']
48 # 取出所有关键点的xyz坐标
49 new_xyz = keypoints[:, 1:4].contiguous()
50 # 存储每帧点云关键点的个数
51 new_xyz_batch_cnt = w_zeros(batch_size).int()
52 # 获取batch中每帧点云中关键点的个数
53 for k in range(batch_size):
54 new_xyz_batch_cnt[k] = (keypoints[:, 0] == k).sum()
55
56 """
57所有SA层的配置中MLPS为1*1的卷积,DOWNSAMPLE_FACTOR该层对应的下采样倍数58
化学试题59 """
60
61 """
62 ============================
63 Extended VSA中对原始点云的操作
64 ============================
65 POOL_RADIUS为该层对应的采样半径,
66 NSAMPLE为半径内最⼤的采样点数
67 SA_LAYER:
68 raw_points: