《A New Effective Parallel Plane Segmentation Method for Point Cloud Based on Dimension Reduction Co》

近期阅读文章《A New Effective Parallel Plane Segmentation Method for Point Cloud Based on Dimension Reduction Correction》翻译成中文就是:基于降维校正的点云并行平面分割新方法

该文章其中两个作者的邮箱:[email protected][email protected]。是上海交大的两位学者,在看文献的时候给他们发过邮件,但很遗憾没有得到回复,有可能毕业了吧。

摘要中介绍到,平面分割在点云处理过程中占有非常重要的作用。特别地,分割平行平面然后再计算平行平面间距在实际工程应用中也有很大的作用。论文提出的算法首先估计平行平面的法向量,然后在二维部分来矫正这个法向量。最后,根据这个法向量来获取平面方程。

论文中先假设,两个平面互相平行,或者非常接近于互相平行。算法的核心思想是先分割出第一个平面,然后再分割出跟第一个平面平行的第二个平面。然后,根据分割第二个平面中的误差来更新第一个平面的几何方程。
文中的原话如下:
在这里插入图片描述
点云预处理
点云预处理过程包括下采样操作、离群点去除和预分割操作。
作者认为不同的三维扫描设备以及不同的扫描方式会导致得到的点云具有复杂的空间分布。运用下采样操作可以减少设备和扫描方法的影响。与此同时,下采样不损害点云的空间结构,但减少了点的数量,因此会提高运算速率(点少了,计算的肯定更快了)。他们用了体素滤波的方法实现了这一操作,PCL里面有实现。
离群点会干扰算法的准确性和有效性,所以在预处理过程中也是有必要去除的。
点云预处理中最后一小步就是点云预分割,所谓预分割,本人理解来看,就是先从点云中大致把包含平行平面的区域分割出来,免得受到其他点的干扰,不好操作。简单来说,其实就是先选个ROI区域,或者写个算法自动找到这个ROI区域。
原文如下:
在这里插入图片描述
第二步,获取估计的法向
作者认为,要先分割出一个平面,然后把这个平面的法向作为预先估算值。即便在预处理之后,还是会存在一些干扰点,但是RANSAC算法还是能够分割出空间中包含点最多的那个平面,包含点最多的平面当然就是最大的那个平面。RANSAC算法就可以把这个平面给提取出来,得到该平面的法向量N0。

第三步,分割两个平面
算法由一个平面的法向作为开始,最后得到两个平行平面的方程。先将点云的维度降至二维,然后再优化这个法向。
1.首先选一个平面Sk,该平面的法向Nk与第二步中所获得的法向N0垂直,说白了就是选一个与两个平行平面垂直的平面。那其实可以将点云做刚体变换。
2.根据N0,可以将点云旋转平移至其新的法向指向x轴或者y轴,那么与这对平行平面垂直的平面就可以是XOY平面了。那这个XOY平面的法向就是z轴方向的单位向量(0,0,1)。
3.经过刚体变换后,这对平行平面与XOY平面垂直,那么点云在XOY平面上的投影就是一对平行线了。既然点云上的点投影到XOY平面了,那这些点的Z值都为0,问题就变得更简单了一些,降维的目的达到了。
4.论文中提到,随后就可以用最小二乘法直接拟合得到两条平行线的方程。不太理解这一步怎么直接用最小二乘法就直接得到了。
5.与得到的这对平行线垂直的方向的单位向量就是新的法向量N1,作者认为这个N1比N0更准确。其实N1和N0是很接近的。
6.那根据这个N1,又可以将点云进行刚体变换,使之与XOY平面更加垂直,然后再次向XOY平面投影。根据投影的点又可以进行(4)中所说的用最小二乘法拟合得到两条平行线的新方程。如此迭代几次,就可以得到一个非常准确的法向量。
注:众所周知,使用PCA算法可以得到点云中每个点的法向和曲率。那既然可以得到三维点的法向,自然也可以得到二维点的法向。所以可以不用最小二乘法拟合得到两条平行线的方程,直接用PCA算法,通过求解投影到XOY上的二维点的协方差矩阵,特征值对应的特征向量就是法向和切向。

7.根据这个法向量和原点可以计算得到两个平行平面的方程。这一点实在没懂,这个原点是什么原点,怎么就能得到平行平面的方程。
(5)(6)(7)很关键,原文如下:
在这里插入图片描述
根据得到的两个平行平面方程,计算出其间距。

猜你喜欢

转载自blog.csdn.net/dyk4ever/article/details/128858795