用于语义场景标注的网络(FP的最后两个全连接层之后紧接的是丢弃率为0.5的暂弃层): SA(1024,0.1,[32,32,64])\to\\SA(256,0.2,[64,64,128])\to\\SA(64,0.4,[128,128,256])\to\\SA(16,0.8,[256,256,512])\to\\FP(256,256)\to FP(256,256)\to FP(256,128)\to\\FP(128,128,128,128...
l1_xyz, l1_points, l1_indices = pointnet_sa_module(l0_xyz, l0_points, npoint=512, radius=0.2, nsample=32, mlp=[64,64,128], mlp2=None, group_all=False, is_training=is_training, bn_decay=bn_decay, scope='layer1', use_nchw=True) #al2_xyz, l2_points, l2_indices= pointnet_s...
本文深入探讨了PointNet++,作为PointNet的改进版本,其论文主页可参考链接。对比两者网络结构,主要区别在于PointNet++的引入了set abstraction(SA)块,以及分割网络中的上采样的插值操作(interpolate)。SA块由sampling layer、grouping layer和pointnet layer构成,接下来我们将分部分进行详细介绍。在PointNet++的...
其中,SA模块由一个下采样层(Subsampling)、一个邻居查询层(Grouping)、一组用于提取特征的共享多层感知器 (MLPs),以及一个用于聚合邻居内特征的Reduction层组成. 其中Grouping, MLPs, 以及Rduction层组合可表示为: 其中 是Reduction层(例如max-pooling),它从点 的邻居 中聚合特征。 , , 分别为第 层的输入坐标,...
分支4:SA(256,512,1024) 分支1和分支2被连接并被输入到分支4。分支3和分支4的输出然后被连接并输入到FC(512,0.5)→FC(256,0.5)→FC(K)用于分类。 用于语义场景标记的网络(FP中最后两个完全连接的层之后是丢弃(drop)率为0.5的dropout层): SA(1024,0.1,[32,32,64])→SA(256,0.2,[64,64,128])→SA...
SA(set abstraction)层的解释: 1. 改进特征提取方法:pointnet++使用了分层抽取特征的思想,把每一次叫做set abstraction。分为三部分:采样层、分组层、特征提取层。首先来看采样层,为了从稠密的点云中抽取出一些相对较为重要的中心点,采用FPS(farthest point sampling)最远点采样法,这些点并不一定具有语义信息。当然也...
InvResMLP和SA之间有三个区别。(1) 增加了输入和输出之间的残差连接,以缓解消失梯度问题[13],尤其是当网络深入时。(2) 引入可分离MLP以减少计算并加强逐点特征提取。虽然原始SA块中的所有3层MLP都是根据邻域特征计算的,但InvResMLP将MLP分离为根据邻域特征(在分组层和归约层之间)计算的单层和点特征(归约后)的...
之前在第3.2节中,每个抽象层次都包含单个尺度的分组和特征提取。在PointNet++中,每个抽象层次提取多个尺度的局部模式,并根据局部点密度进行智能组合。在对局部区域进行分组和组合不同尺度的特征方面,我们提出了两种类型的密度自适应层,如下所示。 图3:(a)多尺度分组(MSG);(b) 多分辨率分组(MRG)。
通过进一步观察,点集通常以不同的密度进行采样,这大大降低了在均匀密度上训练的网络的性能,我们提出了新的集学习层来自适应地组合来自多个尺度的特征。实验表明,我们的网络称为pointnet++,能够高效、稳健地学习深层点集特征。特别是,在3D点云的挑战性基准上获得了显著优于现有技术的结果。 1引言 我们感兴趣的是分析...
SA层 参数:降采样点的数量(npoints),邻域半径(radii),邻域内点的数量(nsample),MLP 输⼊:xyz,features 计算过程如下: new_xyz_idx = FPS(xyz, npoints) #使⽤FPS选出降采样点的下标,记作new_xyz_idx new_xyz = gather(xyz, new_xyz_idx) #根据下标选出降采样的点,记作new_xyz idx = ball_quer...