点云降采样知识点总结
1. 点云深度学习中的新下采样方法 (CSDN)
现在比较常见的下采样算法有:farthest point sampling(PointNet++,ShellNet)、random sampling(RandLA-Net)、grid sampling(KPConv,Grid-GCN)等。它们各有特点:
- farthest point sampling(FPS):采样点分布均匀,时间复杂度高 (Farthest Point Sampling in 3D Object Detection) ((FPS)算法核心思想解析) (Fast Marching farthest point sampling) (图解点云深度学习中FPS--最远点采样算法)
- grid sampling(GS):采样点分布较为均匀,时间复杂度一般,采样点个数具有不确定性
- random sampling(RS):采样点分布具有随机性,时间复杂度低
(1) Adaptive Hierarchical Down-Sampling (CVPR2020) (arxiv)
- a. Critical Points Layer (CPL)
- b. Weighted Critical Points Layer (WCPL)
(2) Adaptive Sampling (CVPR2020) (arxiv)
首先利用FPS进行采样,然后根据利用KNN获取邻域点,之后对k个邻域点进行自适应加权(attention的思想,权重的计算是直接对每个点应用MLP),求取加权平均值即为新的关键点。这种方式提升了对噪声点的鲁棒性,同时将邻域的几何空间特征引入到了采样过程中。
2. LiDAR 360 点云重采样方法 (LiDAR 360)
- 最小点间距(默认,默认为“0.0000”):用户需要设置两点之间的最小点间距,这样采样后的点云任意两个点之间空间三维的最小距离不会小于该值。设置的值越大,保留的点越少。
- 采样率(默认为“99.99%”):需要用户设置保留点数的百分比,在此模式下,LiDAR360会随机的保留指定的点数。保留的点数 = 总点数 * 采样率。该参数的取值范围为0 - 100%,设置的值越小,保留的点越少。
- 八叉树(Octree)(默认为21):该模式允许用户选择一种“八叉树”的细分级别,在这个级别上,对于每个八叉树的细胞中,将会保留最接近于八叉树细胞中心的位置点。范围:1~21。设置的值越小,保留的点越少。
3. MATLAB 点云降采样方法 (pcdownsample)
ptCloudOut = pcdownsample(ptCloudIn,'random',percentage)
random 返回具有随机采样且不替换的降采样点云。百分比输入指定要返回到输出的输入部分。 (可以动态调整采样率,输出特定点数N的采样数据)ptCloudOut = pcdownsample(ptCloudIn,'gridAverage',gridStep)
gridAverage 使用网格过滤器返回下采样点云。gridStep
输入指定一个3D box的大小。(迭代采样间隔,可以获得>=最小采样点数N的采样结果)ptCloudOut = pcdownsample(ptCloudIn,'nonuniformGridSample',maxNumPoints)
nonuniformGridSample 使用非均匀盒网格滤波器返回下采样点云。必须在网格框中设置最大点数,maxNumPoints
最小设置为6. (参数maxNumPoints
从最小值6开始累加,找到输出的采样点云数为目标个数N时停止迭代,导出结果)
4. 通过其他聚类算法实现点云降采样 (scikit-learn)
- K-Means (K-Means聚类算法(一):算法思路(zhihu))
- 用人话讲明白快速聚类kmeans (zhihu)
- 点云聚类 (Tophat 观察 / PointCloudTutorial)
- 回波强度约束下的无人机LiDAR点云K-means聚类滤波 (地球信息科学学报)
- K-Means聚类算法原理与实现 (前端矿场)
5. DBSCAN algorithm identifies the dense region
- DBSCAN algorithm identifies the dense region by grouping together data points that are closed to each other based on distance measurement.
- DBSCAN Clustering Algorithm in Machine Learning (kdnuggets)
- Clustering with DBSCAN, Clearly Explained!!! (youtube)
- DBSCAN Algorithm Clustering in Python (section)
6. Random Sample Consensus (RANSAC) algorithm
- Parallel-RANSAC (github)
- Parallel RANSAC: Speeding up plane extraction in RGBD image sequences using GPU
7. GeometryHub
- 点云采样的方法有很多种,常见的有均匀采样,几何采样,随机采样,格点采样等。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭