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