购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第二节
基于栅格的大尺度噪声删除

大尺度噪声包含两部分,一部分是那些悬浮在主体点云周围且偏离主体点云的稀疏点,另一部分是距离主体点云中心较远且小而密集的点。对于大尺度噪声,这里采用栅格划分的方式进行删除。

一、栅格划分

对于点云 P ,其大尺度噪声采用栅格划分的方式删除。首先,将点云 P 中所有数据点的三维坐标点存到一个一维数组中,并构造一个与坐标轴平行的长方体包围盒,但要确保包围到点云的所有数据点。假设该长方体包围盒中点的最大和最小坐标分别为{ x max y max z max }和{ x min y min z min },长方体栅格的长度为 L 。其次,根据数据点的密度将长方体包围盒划分成多个小立方体栅格,那么小立方体栅格在 x y z 三个方向的个数 Sum x Sum y Sum z 为:

对于点云 P 中的某一确定点 p i x p i y p i z p i ),( x p i y p i z p i )表示点 p i 的三维坐标,那么,点 p i 所在小立方体栅格在 x y z 轴三个方向的索引号( I x pi I y pi I z pi )为:

二、大尺度噪声删除

基于以上的栅格划分结果,接下来判断每个栅格内的数据点数以删除大尺度噪声,具体步骤如下:

步骤1:假设栅格化后点云 P 的小立方体栅格总数为 Sum 个,栅格的集合为 R ={ R 1 R 2 ,…, R Sum },其中 Sum=Sum x ×Sum y ×Sum z ,并定义栅格内点数大于给定阈值的栅格为有点栅格,点数小于等于给定阈值的栅格为无点栅格。

步骤2:取第 i 个小立方体栅格 R i i= 1,2,…, Sum ),并判断该栅格内的数据点数,如果 R i 为无点栅格,则根据栅格内点的索引号( I x pk I y pk I z pk )删除 R i 内的所有数据点,这些删除的点就是悬浮在点云周围的散乱稀疏的大尺度噪声点。

步骤3:如果栅格 R i 为有点栅格,则以 R i 为中心查看其周围的小立方体栅格内的数据点数;如果某个栅格有点栅格,则以该栅格为中心查看其周围栅格内的数据点数。

步骤4:继续依次把周围的有点栅格作为中心,查看其周围栅格,直到查看完所有栅格为止,以此找出与栅格 R i 属于同一片点云的所有相邻栅格。

步骤5:取下一个与 R i 不属于同一片点云的栅格 R j j =1,2,…, Sum ), j i ,重复类似步骤2到步骤4的过程,即可找到与栅格 R j 属于同一片点云的所有相邻栅格。

步骤6:继续取下一个与 R i R j 都不属于同一片点云的栅格 R k k= 1,2,…, Sum k j i ),重复类似步骤2到步骤4的过程,一直这样执行下去,直到将所有栅格都划分到相应的某片点云中为止,以此将点云 P 划分成 S 片点云{ P 1 P 2 ,…, P s }。

步骤7:计算每一片点云中有点栅格的数目,从而可以从 S 片点云中找出含有点栅格数目最多的那一片点云,那么,该片点云即为主体点云,其余的点云均为距离主体点云中心较远且小而密集的大尺度噪声点,要删除掉。

通过以上步骤即可实现点云中的大尺度噪声删除,接下来,采用特征加权FCM算法删除点云中的小尺度噪声。 lR0VuuXVcPtDPeuwAzhTCyiWziQIGj7Q0NDghhdVBpp0j5z9e3JAg4pC1S+IDqX4

点击中间区域
呼出菜单
上一章
目录
下一章
×