赞
踩
**
**
pointnet++网络对pointnet进行了较大的改进。文章非常核心的一点就是提出了多层次特征提取结构。具体来说就是先在输入点集中选择一些点作为中心点,然后围绕每个中心点选择周围的点组成一个区域,之后每个区域作为PointNet的一个输入样本,得到一组特征,这个特征就是这个区域的特征。之后中心点不变,扩大区域,把上一步得到的那些特征作为输入送入PointNet,以此类推,这个过程就是不断的提取局部特征,然后扩大局部范围,最后得到一组全局的特征,然后进行分类。文章中还提出了多尺度的方法解决样本不均匀的问题,这些方法对于分类的精度没有贡献,但在样本很稀疏的时候的确能让模型更有鲁棒性。网络的每一组set abstraction layers主要包括3个部分:Sampling layer, Grouping layer and PointNet layer。
总述
① Sample layer:主要是对输入点进行采样,在这些点中选出若干个中心点。
②Grouping layer:是利用上一步得到的中心点将点集划分成若干个区域;
③PointNet layer:是对上述得到的每个区域进行编码,变成特征向量。
1). Sample layer
使用farthest point sampling选择N’个点,至于为什么选择使用这种方法选择点,文中提到相比于随机采样,这种方法能更好的的覆盖整个点集。具体选择多少个中心点,数量怎么确定,是由人来指定的。
2). Grouping layer
这一层使用Ball query方法生成N’个局部区域,根据论文中的意思,这里有两个变量 ,一个是每个区域中点的数量K,另一个是球的半径。这里半径应该是占主导的,会在某个半径的球内找点,上限是K。球的半径和每个区域中点的数量都是人指定的。这一步也可以使用KNN来进行,而且两者的对于结果的影响并不大。
3). PointNet layer
这一层是PointNet,接受N’×K×(d+C)的输入。输出是N’×(d+C)。需要注意的是,在输入到网络之前,会把该区域中的点变成围绕中心点的相对坐标。作者提到,这样做能够获取点与点之间的关系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。