PointNet++ pytorch核心代码笔记

Motivation:

Q1: PointNet没有捕捉到由点所处的度量空间产生的局部结构,限制了其识别更为细粒度的能力和对复杂场景的通用 性。
R1: 引入了一个层次化的神经网络(hierarchical neural network),通过sampling和grouping逐步整合局部邻域,首先 在小范围中从几何结构中提取局部特征(浅层特征),然后扩大范围,在这些局部特征的基础上提取更高层次的特征, 直到提取到整个点集的全局特征。
Q2: global feature直接由max pooling获得,无论是对分类还是对分割任务,都会造成巨大的信息损失
R2: PointNet++的改进:hierarchical feature learning framework,通过多个set abstraction逐级降采样,获得不同规模不 同层次的local-global feature
Q3: 分割任务的全局特征global feature是直接复制与local feature拼接,生成discriminative feature能力有限
R3: 有限PointNet++的改进:分割任务设计了encoder-decoder结构,先降采样再上采样,使用skip connection将对应层 的local-global feature拼接

Issues of Model

how to generate the partitioning of the point set

使用邻域球来定义分区,或者也可以叫做patch,每个区域可以通过中心坐标和半径来确定。中心坐标的选取,作者使用了快速采样算 法来完成(farthest point sampling (FPS) algorithm)。而半径的选取论文中直接采用的人工确定的方法,通过划分不同的半径产生不同 层面的特征,最后将这些特征拼接起来作为中心点的特征。
how to abstract sets of points or local features through a local feature learner
这个问题的解决方案就是使用PointNet来作为特征提取器,因为PointNet首先已经被证明在segmentation任务上有良好的表现;其次,这个模型在输入数据发生变换的时候有较强的鲁棒性,它可以获取到点的高层次的抽象特征。
non-uniform sampling density
面对非均匀点云采样的问题,在稀疏点云的局部领域训练可能不能很好的挖掘到点云的局部信息,所以文中提出将不同大小的区域产 生的特征拼接起来作为中心点的特征。为此提出了两种方法:

  1. Multi-Scale Grouping(MSG) 对当前层的每个中心点,取不同radius的query ball,可以得到多个不同大小的同心球,也就是得到了多个相同中心但规模不同的局部邻 域,分别对这些局部邻域表征,并将所有表征拼接。
  2. Multi-Resolution Grouping(MRG) 当前层的中心点的局部邻域特征由两部分构成: 左边表征:对上一层set abstraction各个局部邻域(或者说中心点)的特征进行聚合产生的局部特征。 右边表征:使用一个单一的PointNet直接在局部邻域处理原始点云

在这里插入图片描述

pytorch模型主要结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值