open3d:随机采样一致性分割平面

1、背景介绍

随机采样一致性算法(RANSACRandom Sample Consensus)是一种迭代的参数估计算法,主要用于从包含大量噪声数据的样本中估计模型参数。其核心思想是通过随机采样和模型验证来找到数据中最符合模型假设的点。因此,只要事先给定要提取的参数模型,即可从点云中分割出对应点云模型。如下图所示,为使用RANSAC从点云中分割平面模型的案例,整体上比较理想。

2、算法原理介绍

RANSAC 算法步骤:

  • 初始化:设置最大迭代次数 max_iterations 和内点阈值 distance_threshold。
  • 随机采样:从数据集中随机选择最小数量的样本点来拟合模型(例如,拟合平面需要三个点)。
  • 模型估计:使用选定的样本点计算模型参数(例如,平面的方程)。
  • 模型验证:计算所有数据点到模型的距离,将距离小于 distance_threshold 的点标记为内点。
  • 评估模型:计算内点的数量,如果内点数量超过预定的阈值并且模型质量优于之前的模型,则更新最佳模型。
  • 重复:重复上述步骤,直到达到最大迭代次数或者找到最优模型。

根据上述步骤可知,其实RANSAC算法原理比较简单,其仅与最大迭代次数 max_iterations 和内点阈值 distance_threshold相关。

3、代码展示

本程序基于pycharm开发平台,使用open3d库,基于python语言进行编程。源代码下载链接:

https://download.csdn.net/download/qq_32867925/89549364

其中分割代码块如下:

python 复制代码
 plane_model, inliers = segment_plane(distance_threshold=0.01,
                                                       ransac_n=3,
                                                       num_iterations=1000)

3.1 TLS点云分割

地面激光点云数据TLS,其扫描一典型平面结构构造物,其分割结果如下图所示。可以发现,对于平面结果明显的构造物,分割结果比较理想。

|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
| | |
| 地面点云 | RANSAC分割结果 |

3.2 室内点云分割

人工室内墙面、地板、屋顶、房梁为典型的平面结构,一典型的室内点云如下,使用ransac分割结果,可以发现分割结果理想,将所有平面分割出来,效果比较理想。

|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
| | |
| 室内点云 | RANSAC分割结果 |

4、总结

介绍了open3d中ransac进行平面分割,并给出了分割效果。

相关推荐
charlee4412 天前
最小二乘问题详解22:抗差估计与增量式SFM的工程稳健实现
ransac·光束法平差·外点剔除·增量式sfm·抗差估计
杀生丸学AI21 天前
【动态重建】SparseCam4D:基于稀疏相机实现时空一致的4D重建技术
数码相机·aigc·扩散模型·图像编辑·视觉大模型·点云分割
杀生丸学AI21 天前
【三维重建】Neural Gabor Splatting:基于神经Gabor的增强型3DGS(高频表面重建)
3d·aigc·扩散模型·视觉大模型·点云分割·高斯泼溅·空间智能
杀生丸学AI2 个月前
【世界模型】WorldWarp:异步视频扩散的3D重建
3d·aigc·扩散模型·视觉大模型·世界模型·点云分割·高斯泼溅
charlee442 个月前
最小二乘问题详解14:鲁棒估计与5点算法求解本质矩阵
ransac·对极几何·本质矩阵·5点算法·ceres优化
杀生丸学AI3 个月前
【点云分割】SNAP:面向任意点云的任意分割
aigc·扩散模型·视觉大模型·点云分割·lora微调·空间智能
点云SLAM4 个月前
点云数据分割算法之-聚合层次聚类(AHC)平面识别
聚类·slam·点云数据处理·点云分割·平面识别·聚合层次聚类·有序点云数据
qq_317620315 个月前
04-cloudcompare算法处理
点云分割·点云滤波·八叉树索引·点云重采样