RandLA-Net
参考:https://zhuanlan.zhihu.com/p/110514163?from_voters_page=true
背景
现阶段很多方法在三维目标识别和语义分割等任务上,仍然局限于非常小的点云上。比如PointNet在处理SDIS数据集都会对数据集进行预处理,将点云切成1mx1m的小点云块。而当切割成比较小块的点云块时,是可能损失整体的几何结构的,而当点云块切割过大时,又会使得算法消耗时间剧增。
解决的问题
当前阻碍大多数方法直接处理大场景的主要原因有三点:
- 这些网络常用的点采样方法计算成本过高或者内存消耗过大;
- 大多数的局部特征学习通常依赖于计算昂贵的核化或者图构造,无法处理大量的点;
- 特征提取的感受野有限,难以高效准确地学习到大场景点云中复杂的几何结构信息。
模型介绍
现阶段点云采样方法介绍
具体详细介绍:https://blog.csdn.net/weixin_41485242/article/details/107150963
- Heuristic Sampling
- Faster Point Sampling(FPS): 每次采样都选择离已经采样得到的k-1个点距离最远的点,可以很好保证采样后的点具有较好的覆盖率。但是FPS的复杂度是n^2,时间复杂度过高,不适合用来处理大场景点云。
- Inverse Density Importance Sampling(IDIS): 根据每个点的密度来对其重新排序,尽可能保留密度较低的地方的点,虽然时间复杂度是n,但是IDIS对于噪音也越敏感。
- Random Sampling(RS): 随机降采样均匀从输入的N个点选择K个点,每个点具有相同的被选中的概率,时间复杂度极低。
Learning-based Sampling
- Generator-based Sampling(GS): 通过学习生成一个子集来近似表征原始的点云,但是在推理阶段,为了将生成的子集与原始集进行匹配,通常会使用FPS,导致额外的计算。
- Continue Relaxation based Sampling(CRS):
Local Feature Aggregation
因此论文提出了一个新的模型架构,即随机采样互补的局部特征聚合模块,主要包含三个子模块:局部孔径编码(LocSE),attentive pooling,扩张残差块(dilated residual block)。
-
局部空间编码(Local Spatial Encoding)
此模块用于对输入的点云进行三维坐标信息进行编码操作,使得相对应的点特征提取到局部特征信息,更有利与网络学习点云信息的局部特征。 -
首先采用KNN算法进行邻近点的提取;
-
对每一组以 p i p_i pi
-
Attentive Pooling
此模块用来将上述单元输出的领域点的特征集进行聚合。现在大多数算法通常采用max/mean/sum pooling来硬性整合相邻特征,导致大部分信息丢失。因此论文采用attentive机制来学习局部特征。 -
Dilated Residual Block
考虑到输入点云会被持续大幅度的降采样,因此增加每个点的感受野是非常必要的,因为这样能更大程度上保留输入点云的几何空间信息。论文将多个LocSE和Attentive Pooling单元进行堆叠形成一个扩展的dilated residual block。
如下图所示,当经过第一轮的L/A之后,点云的点的数量变成N,每一个点拥有K个邻近点的信息,而在经过第二次L/A之后,通过LocSE的再次信息聚合,剩下的点也就是有了K*K的邻近点信息。