点云采样分类
点云采样的方法有很多种,常见的有均匀采样,几何采样,随机采样,格点采样等。下面介绍一些常见的采样方法。
格点采样
格点采样,就是把三维空间用格点离散化,然后在每个格点里采样一个点。具体方法如下:
1. 创建格点:如中间图所示,计算点云的包围盒,然后把包围盒离散成小格子。格子的长宽高可以用户设定,也可以通过设定包围盒三个方向的格点数来求得。
2. 每个小格子包含了若干个点,取离格子中心点最近的点为采样点,如右图所示。
格点采样的特点:
1. 效率非常高
2. 采样点分布比较均匀,但是均匀性没有均价采样高
3. 可以通过格点的尺寸控制点间距
4. 不能精确控制采样点个数
均匀采样
均匀采样的方法有很多,并且有一定的方法来评估采样的均匀性。这里介绍一种简单的均匀采样方法,最远点采样。具体方法如下:
输入点云记为C,采样点集记为S,S初始化为空集。
1. 随机采样一个种子点Seed,放入S。如图1所示。
2. 每次采样一个点,放入S。采样的方法是,在集合C-S里,找一点距离集合S距离最远的点。其中点到集合的距离为,这点到集合里所有点距最小的距离。如图2-6所示,采样点S的数量分别为2,4,10,20,100.
最远点采样的特点:
1. 采样点分布均匀
2. 算法时间复杂度有些高,因为每次采样一个点,都要计算集合到集合之间的距离。可以采用分治的方法来提高效率。
3. 采样点一般先分布在边界附近,这个性质在有些地方是有用的,比如图元检测里面的点采样。
几何采样
几何采样,在点云曲率越大的地方,采样点个数越多。下面介绍一种简单的几何采样方法,具体方法如下:
输入是一个点云,目标采样数S,采样均匀性U
1. 点云曲率计算比较耗时,这里我们采用了一个简单方法,来近似达到曲率的效果:给每个点计算K邻域,然后计算点到邻域点的法线夹角值。曲率越大的地方,这个夹角值就越大。
2. 设置一个角度阈值,比如5度。点的邻域夹角值大于这个阈值的点,被放入几何特征区域G。这样点云就分成了两部分,几何特征区域G和其它区域。
3. 均匀采样几何特征区域G和其它区域,采样数分别为S * (1 - U),S * U。
下图是一个均匀采样和几何采样的比较图,这个采样方法的特点:
1. 几何特征越明显的区域,采样点个数分布越多
2. 计算效率高
3. 采样点局部分布是均匀的
4. 稳定性高:通过几何特征区域的划分,使得采样结果抗噪性更强
有兴趣的读者,欢迎参考视频版本
网友评论