pointnet局限性:不能获取局部结构信息
作者提出pointnet++需要解决的问题:
- 如何生成点云的分区(需要保证每一个分区具有相似的结构,使学习算法的参数在局部共享)
- 如何通过一个局部特征学习算法抽象点云或局部特征
解决方法:
- 局部特征学习算法就是PointNet
- 分区则是选取了在最底层的欧氏空间内由质心(centroid)和尺寸(scale)描述的球形。为了保证整个点云被均匀覆盖,质心的选择应用了farthest point sampling(FPS)算法
难点:
如何确定球的尺寸,类似于如何确定CNN的卷积核尺寸。
作者主要贡献:
利用了多尺度邻域以同时实现鲁棒性和细节获取
在非均匀采样密度下的鲁棒特征学习:两个密度适应网络结构:多尺度分组(MSG)和多分辨率分组(MRG)
1、Multi-scale grouping (MSG) MSG方法如上图左,就是在每一个分组层都通过多个尺度(设置多个半径值)来确定每一个中心点的领域范围,每一个范围都经过PointNet提取特征,再将得到的多个范围的特征concatenate起来,得到一个多尺度的新特征。
2. Multi-resolution grouping (MRG) 在MSG方法中,每一个中心点都需要多个patch的选取和卷积,计算量大,所以提出了MRG方法。如上图右所示,新特征由两部分concatenate得到,左边特征向量是通过较低层即$L_{i-1}$层经过PointNet提取得到,右边特征向量是对当前层中心点对应的patch进行PointNet得到。当点云密度不均时,可以通过判断当前patch的点云密度给予左右两个特征向量不同的权重。例如,当patch中密度过小,左边特征向量中包含的点更稀疏,容易受到抽样不足的影响,因此提高右边特征向量的权重。