PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特...
PointNet++的网络大体是encoder-decoder结构,encoder为下采样过程,通过多个set abstraction结构实现多层次的降采样,得到不同尺寸下的点云特征,最后一个set abstraction输出可以认为是全局特征。其中set abstraction由sampling,grouping,pointnet三个模块构成。 Decoder在分类任务中直接对全局特征采用FC得到最终分类结果。而在分割...
编码器(Encoder)使用一系列Set Abstraction(SA)模块将点云的特征进行层次化的抽象,而解码器(Decoder)使用相同数目的feature propagation对特征进行上采样。其中,SA模块由一个下采样层(Subsampling)、一个邻居查询层(Grouping)、一组用于提取特征的共享多层感知器 (MLPs),以及一个用于聚合邻居内特征的Reduction层组成. 其...
global feature直接由max pooling获得,无论是对分类还是对分割任务,都会造成巨大的信息损失 -->PointNet++的改进:hierarchical feature learning framework,通过多个set abstraction逐级降采样,获得不同规模不同层次的local-global feature 分割任务的全局特征global feature是直接复制与local feature拼接,生成discriminative featu...
对于PointNet 层,作者这里并不是直接使用原版的 PointNet[2],而是在其基础上加入了多尺度信息。原版的 PointNet 是在单尺度下进行局部特征的学习,然而当局部点云数据密度比较小时,可能由于采样的缺乏而无法学习到任何有效的特征信息。因此,作者提出在 PointNet 层基础上,对其输入进行密度自适应,主要有两种方法: ...
网络中,一个set abstraction层包括FPS降采样、球查询以及使用PointNet对邻域特征进行提取。每一层在上一层的结果基础之上,再进行FPS降采样、球查询、PointNet特征提取,每经过一个set abstraction点的数量都会减少一次。 对于分类任务而言,在最后需要进行一个全局的set abstraction,也就是以(0,0,0)(0,0,0)为中心,所...
Sampling Layer:使用Iterative Farthest Point Sampling(FPS)进行采样,从而确定每个group的中心点。 Group Layer:在group的中心点的基础上,选取candidate point形成一个group,这个group的点云数据作为PointNet的输入。 PointNet Layer:这层没啥可说的,就是上面PointNet这节的内容。
PointNet++首先通过最远点采样(FPS)进行降采样,使得采样更加均匀。然后,它使用两种方式进行grouping:ball query和K近邻。在本文中,我们更倾向于使用ball query,因为它可以更好地捕捉到点云的局部结构。 PointNet++的另一个重要改进是引入了多尺度采样(MSG)和多分辨率(MRG)来解决在边缘或者在稀疏点云处局部分割效果不...
最近的方法采用了比PointNet++中使用的方法更强的扩充。例如,KPConv[43]在训练过程中随机丢弃颜色,Point BERT[54]使用公共点重采样策略从原始点云中随机采样1024个点进行数据缩放,而RandLA Net[15]和Point Transformer[56]加载整个场景作为分割任务的输入。在本文中,我们通过加性研究量化了每次数据增强的效果。
PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特征提取(MSG、MRG),不断迭代。 对于分类问题,直接用PointNet提取全局特征,采用全连接得到每个类别评分。对于分割问题,将高维的点反距离插值得到与低维相同的点数,再特征融合,再使用PointNet提取特征 。