检测点云中的线

信息处理 边缘检测 相关性 点云
2021-12-26 22:35:19

在点云中检测线的最佳解决方案是什么?Hough 变换Radon 变换、RANSAC(参见维基百科)和蛮力搜索(参见维基百科)进行比较。
哪一个对点云中点的分散最稳健?
注意:
1-问题是关于 3D 点云而不是图像。
2-点云中的点是随机分散的(完全稀疏的位置)。
3- 没有关于正在探索的对象(线)在首选方向、大小等方面的信息。
4- 需要考虑候选线周围的容差。
更新:
根据我的实验:RANSAC 很容易漏掉一些行。它有利于快速检测边缘,但是点分散的复杂性可能会产生不希望的输出。Hough 和 Radon 非常相似,我没有机会尝试 3D 点云,但是它们在 2D 情况下运行良好。提取找到的线段有困难。BFS 对于大型数据集根本不切实际。

2个回答

这真的取决于,您将如何衡量解决方案的质量?您的要求是什么,实时性,高精度?点云有多大?

您提到了解决问题的有效但奇特的基于信号处理的方法。

让我添加您没有提到的三种经典且本质上更具统计性的方法:最小二乘法、岭回归和套索。

如果你真的关心检测线,你可以做一个简化的方法。

将您的点云投影到至少两个表面上。假设将它们投影在 XY 平面和 YZ 平面上。基本上从空白画布开始,并根据一些几何标准投影每个点。因此,现在您将拥有一个有限的 2D 画布,它全是空白,但存在点。现在您可以在此画布上应用霍夫变换。

基于霍夫,你会得到线(r,θ)(r,ϕ)对于两个各自的平面。下一步实际上是关联这些线以从中识别出单个 3D 线。

就准确性而言,当数据稀疏时,hough 的得分(即强度)可以更低。但是,如果总体上所有行都是稀疏的,它将起作用。当您将非常长的线与短线进行比较时,这是一个问题。