前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【开源方案共享】无序点云快速的线段分割算法

【开源方案共享】无序点云快速的线段分割算法

作者头像
点云PCL博主
发布2020-06-19 12:28:29
1.6K1
发布2020-06-19 12:28:29
举报
文章被收录于专栏:点云PCL点云PCL

作者:Xiaohu Lu, Yahui Liu, Kai Li

编译:particle

本文提出了一种基于大规模无序点云的三维线段检测算法。与传统的方法先提取三维边缘点后在拟合三维线段的算法相比,本文提出了一种基于点云分割和二维线段检测的基础上,能够快速的实现三维线段检测算法。在输入无序点云的情况下,对三维线段进行三步检测。首先,通过区域生长和区域合并将点云分割成三维平面。其次,对每个三维平面,将其所属的所有点投影到平面上形成二维图像,然后进行二维轮廓提取和最小二乘拟合得到二维线段。然后将这些二维线段重新投影到三维平面上,以获得相应的三维线段。最后,提出了一种剔除异常点和合并相邻三维线段的后处理方法。在多个公共数据集上的实验证明了该方法的有效性和鲁棒性。

更多的结果和C++源代码的公开在https://github.com/xiaohulugo/3DLineDetection

主要贡献

文章提出的方法仍然属于图像的范畴,但是针对基于图像方法的不足,提出了一种针对三维点云数据的更为快速的线段检测的方法,该方法主要包含了三个部分:

(1)点云分割:通过区域生成的和区域合并的方法,将输入的点云分割成三维平面。

(2)基于平面的三维直线的检测:对于每个点云平面,所有属于该平面的点云投影到平面上形成二维图像,然后基于二维图像进行轮廓提取和最小二乘拟合,得到每个平面的二维线段。最后将这些二维线段重影映射到三维平面上,就可以获得三维线段点云数据。

(3)后处理:通过场景的三维结构信息,去除三维平面和三维线段的异常点云,最后合并所有三维线段点云数据。

论文步骤图集

模块一点云分割,该模块主要有三个步骤

  • 点云法向量计算
  • 区域生成
  • 区域合并

模块二基于分割后平面的三维线段的提取,步骤有

  • 3D-2D的投影
  • 2D图像的线检测(检测方法是LSD参考文献【1】)
  • 2D-3D的映射

模块三后处理,噪声去除

  • 去除噪声平面点云
  • 去除噪声线段点云
  • 所有线段点云合并

实验结果与总结

本文提出并证明了一种简单有效的大规模无组织点云三维直线检测算法。该方法以点云分割和二维直线检测为基础,采用后处理方法去除异常点。与传统的基于边缘点的方法不同,该方法实现简单,速度快(10万个点云40秒)。由于我们的方法是基于点云分割的,所以我们的方法的一个失败案例是在曲面上,在曲面点云实现平面的分割效果是不尽人意的。尽管如此,该方法对于结构场景还是非常有效的。

参考文献

【1】R. G. von Gioi, J. Jakubowicz, J.-M. Morel, and G. Randall, “LSD: A fast line segment detector with a false detection control,” IEEE Transactions on Pattern Analysis and Machine Intelligence.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档