PV-RCNN论文和逐代码解析(二)

更新时间:2023-07-10 00:59:03 阅读: 评论:0

其中第四点(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:

本文发布于:2023-07-10 00:59:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1075041.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:特征   关键点   采样   插值
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图